본문으로 건너뛰기
J

dsh-skills-hub

jasonguide/dsh-skills-hub

크로스 플랫폼 AI Skills 통합 관리자입니다. `~/.agents/skills`를 중앙 라이브러리로 사용하고 시스템 심볼릭 링크로 같은 스킬을 Claude Code, Cursor, Codex, Gemini CLI, Trae, Windsurf 등에 한 번에 설치/제거합니다. 로컬에 설치된 플랫폼만 보여주며 로컬 스킬 디렉터리는 통합 관리하고 각 플랫폼 표시는 읽기 전용입니다. Windows/macOS/Linux 지원 DeepSeek Harness 플러그인입니다.

설치

dsh plugin --profile web add github:jasonguide/dsh-skills-hub

README

dsh-skills-hub

npm version

中文版: README.zh.md

Cross-platform AI Skills manager for the DeepSeek Harness (DSH).

Install one skill from the central skills library ~/.agents/skills into multiple agent tools (Claude Code, Cursor, Codex, Gemini CLI, Trae, Windsurf, Qoder, CodeBuddy, ...) via system symbolic links — one source of truth driving many coding agents.

One source of truth, driving many AI coding tools.

Supported Operating Systems

OSLink typePrivileges
WindowsDirectory JunctionNo admin required
macOSDirectory symlinkNo admin required
LinuxDirectory symlinkNo admin required

Zero third-party runtime dependencies (Node.js built-ins only). DSH runs on Windows / macOS / Linux, so this plugin works across all three.

Features

  • Central skills library management over ~/.agents/skills.
  • Only installed platforms are shown: 26 common agent tool directory mappings are built in; scan filters to what actually exists on this machine.
  • One-click install of any central skill into an agent platform via symbolic links (no admin rights required).
  • Uninstall semantics:
    • Link entry (pointing at the central library) → remove the link only, keep the data source.
    • Local skill (the agent tool's own real directory) → delete that platform's data source.
  • Read-only platforms (e.g. Claude Code) are shown without write actions.
  • Custom platforms: add any local skills directory in Settings, persisted to ~/.skillsmanage/config.json.
  • Local-first, no database: metadata is scanned live from the filesystem.

Screenshots

Settings → 技能中心 (Skills Hub) — the central skills library and platform cards, grouped by category; only platforms installed on this machine are shown.

管理入口

Install a central skill into a platform — a link is created pointing back to the central library:

安装新技能

Uninstall a link entry — removes the link only, the central data source stays untouched:

卸载技能

Delete a local skill — removes that platform's own data source:

删除技能

Requirements

RequirementMinimum
OSWindows / macOS / Linux
Node.js>= 20 (engines in package.json)
DSH (DeepSeek Harness)installed, dsh command on PATH
pnpminstalled (used by dsh plugin internally)

The plugin itself runs with zero runtime dependencies; Node.js is provided by the DSH host process.

Install

Prerequisites

  • DeepSeek Harness (DSH) installed, with the dsh command on PATH.

  • pnpm installed:

    npm install -g pnpm
    

Run inside the repository root:

Windows (PowerShell)

powershell -ExecutionPolicy Bypass -File scripts/install.ps1
# or
pwsh scripts/install.ps1

macOS / Linux

bash scripts/install.sh

The script runs dsh plugin --profile web add <this directory> — pnpm-installs and mounts the plugin automatically; no manual configuration.

Option 2: dsh plugin add

From local source (in the repository root):

dsh plugin --profile web add .

From npm:

dsh plugin --profile web add dsh-skills-hub

dsh plugin add automatically appends packages that declare dsh.bundle.patch to dsh.profile.bundles and applies the plugin's own cordis.patch.yml — no manual profile edits. Re-run the same command to upgrade.

Option 3: Manual (development)

# 1. Edit ~/.dsh/profiles/web/package.json
#    add to dependencies:  "dsh-skills-hub": "link:<absolute path>"
# 2. Install in the profile directory
cd ~/.dsh/profiles/web
pnpm install

After any install method, restart DSH for the plugin to take effect.

Usage

Open DSH Settings → 技能中心 (Skills Hub):

  • Platforms are grouped by category (Central / Coding / Lobster / Custom); only platforms actually installed on this machine are shown.
  • The central library card lists all available skills (data source, never deleted).
  • Each agent platform card lists its skills (badged "link" vs "local") with an install dropdown:
    • Link entry → 「卸载」(uninstall) button (removes the link only).
    • Local entry → 「删除」(delete) button (deletes that platform's data source).
  • Add custom platforms at the bottom (directory path + optional display name).

Platform Mapping

Built-in mapping (conventional directories; only platforms that exist on this machine are displayed):

CategoryPlatformSkills directoryWritable
CentralCentral library~/.agents/skillsdata source
CodingClaude Code~/.claude/skillsread-only
CodingCodex CLI~/.codex/skills✅ (excludes .system)
CodingCursor~/.cursor/skills-cursor✅
CodingGemini CLI~/.gemini/skills✅
CodingTrae~/.trae/skills✅
CodingFactory Droid~/.factory/skills✅
CodingJunie~/.junie/skills✅
CodingQwen~/.qwen/skills✅
CodingTrae CN~/.trae-cn/skills✅
CodingWindsurf~/.windsurf/skills✅
CodingQoder~/.qoder/skills✅
CodingAugment~/.augment/skills✅
CodingOpenCode~/.opencode/skills✅
CodingKiloCode~/.kilocode/skills✅
CodingOB1~/.ob1/skills✅
CodingAmp~/.amp/skills✅
CodingKiro~/.kiro/skills✅
CodingCodeBuddy~/.codebuddy/skills✅
CodingHermes~/.hermes/skills✅
CodingCopilot~/.copilot/skills✅
CodingAider~/.aider/skills✅
LobsterOpenClaw~/.openclaw/skills✅
LobsterQClaw~/.qclaw/skills✅
LobsterAutoClaw~/.openclaw-autoclaw/skills✅
LobsterWorkBuddy~/.workbuddy/skills-marketplace/skills✅

The built-in mapping lives in the PLATFORMS constant in lib/index.js — edit it to add/remove platforms, or add custom platforms in the Settings UI (persisted to ~/.skillsmanage/config.json).

Project Structure

dsh-skills-hub/
├── package.json          # plugin manifest (dsh.client / dsh.bundle.patch)
├── cordis.patch.yml      # bundle patch (insert entry, applied automatically by dsh plugin add)
├── lib/
│   ├── index.js          # Host half: node:fs symlinks + webServer routes
│   └── client.js         # Client half: settings UI (__ModuleLoader__.load)
├── scripts/
│   ├── install.ps1       # Windows one-click install script
│   └── install.sh        # macOS / Linux one-click install script
├── test/core.test.js     # unit tests (link primitives + uninstall semantics + cross-platform link type)
├── README.md             # this file (English)
├── README.zh.md          # Chinese translation
├── LICENSE
└── CHANGELOG.md

Security

  • Write endpoints accept loopback Host only (localhost / 127.0.0.1) and require a custom marker header (DNS rebinding protection).
  • Skill names are whitelisted [a-zA-Z0-9._-] (no path traversal).
  • The central library itself is never deleted; link removal never touches the data source.
  • Deleting a local real directory is an explicit user action, shown as a red 「删除」 button distinct from link 「卸载」.

License

MIT

관련 플러그인