Back to home@jasonguide

dsh-skills-hub

一个多 Agent 平台的 Skills 统一管理插件(DeepSeek Harness 插件),可以在DSH中统一管理codex、claude code、PI、OpenCode、Hermes、Openclaw等平台的Skills技能

Stars
0
Language
JavaScript
Created
Aug 28, 2026
Updated
Aug 28, 2026
GitHub repo

Introduction

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
    

Option 1: One-click install script (recommended)

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