dsh-agent-skills
Browse, enable, disable, and manage Agent Skills from Claude Code, Codex, OpenCode, Gemini, and custom directories in the DSH settings panel.
Install
dsh plugin --profile web add dsh-agent-skills
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-agent-skills





在 DeepSeek Harness 的设置页中查看、启停和管理本地 Agent Skills。
功能
- 自动扫描
~/.agents/skills、~/.claude/skills、~/.codex/skills、~/.config/opencode/skills和~/.gemini/skills - 支持自定义技能目录
- 按目录或单个技能启停
- 搜索、查看描述并监听技能文件变化
- 不修改原始
SKILL.md
安装
npm(推荐)
dsh plugin --profile web add dsh-agent-skills
安装后打开「设置 → Agent Skills」,点击「开启接管 DSH 技能」,再点击「重启 DSH」。
兼容性:dsh0.1.x(含 0.1.7-rc)与0.2.0-rc.1起的 0.2.x 都可以用。
DSH 插件市场
在「设置 → 插件市场」中搜索 Agent Skills,或查看 DSH 插件市场。
GitHub
dsh plugin --profile web add github:minivv/dsh-agent-skills
Git 安装可能需要授权 pnpm 执行构建脚本。
使用
1. 在「设置 → Agent Skills」中检查自动发现的目录,或点击「+ 添加目录」。
2. 使用目录和技能开关控制可用技能。
3. 出现技能变更提示后,点击「刷新页面」。
4. 修改技能文件后,点击「重新扫描」或等待自动刷新。
点击「取消接管」并重启 DSH,可恢复 DSH 原来的技能来源。
设置保存在 $DSH_HOME/agent-skills/state.json。
技能格式
skills/ ├── my-skill/ │ └── SKILL.md └── another-skill.md
SKILL.md 需要 YAML frontmatter,name 使用小写 kebab-case:
--- name: my-skill description: Explain when this skill should be used. --- # Instructions
卸载
先在设置页点击「取消接管」和「重启 DSH」,再运行:
dsh plugin --profile web remove dsh-agent-skills
如果设置页无法打开,先恢复 DSH 技能来源:
DSH_INSTALL_ROOT="$(npm root -g)/@deepseek-ai/dsh" \ node ~/.dsh/profiles/web/node_modules/dsh-agent-skills/scripts/uninstall-preset.mjs dsh plugin --profile web remove dsh-agent-skills
开发
要求 Node.js 20+。
npm install npm run typecheck npm run build npm test npm pack --dry-run
兼容性
同一个版本同时支持 DSH 的两条发布线(0.1.5-rc. 与 0.1.6-alpha.,以及更早的 0.1.0-rc.*):
- wire codec 同时提供旧版读取的
schema和新版要求的create(),客户端与宿主两面共用同一张描述表; - 宿主提供的
@deepseek-ai/*依赖按名字解析,peerDependencies只是兼容区间声明,不会把旧版依赖装进你的 profile。
「开启接管 DSH 技能」会自动识别 preset 的三种历史布局,不需要手动指定路径:
DSH 版本 · preset 文件位置
早期(config/agent-presets) · <@deepseek-ai/dsh>/config/agent-presets/<id>/agent.cordis.yml
0.1.0 ~ 0.1.6-alpha(dsh-agent-presets 包) · <@deepseek-ai/dsh-agent-presets>/presets/<id>/agent.cordis.yml
0.1.7-rc.2 起(dsh-web-app 包) · <@deepseek-ai/dsh-web-app>/presets/<id>.patch.yml
其他行为约定:
- preset 包的解析始终优先「正在使用的那份」:升级 DSH 后常见的
dsh-agent-presets残留即使与dsh-web-app同级共存,也不会被误选中改写; - Windows 与 POSIX 同等支持,路径比较统一按平台归一化后判定;
- 接管只改写
skill-filesystem行的name,preset 行自带的config(例如cordispreset 的customSkillDirs)保持原样,并且仍会被接管后的 provider 扫描; - 不含
skill-filesystem行的 preset(如minimal)不会被改动; - 「接管」需要改写 DSH 安装目录中的 preset 文件。若 DSH 把运行时封装在只读归档里(例如 Electron 桌面版的
app.asar),设置页会直接说明当前安装不支持接管,而不是在点击后报错;这类安装请改用 npm 安装的 dsh,或等待桌面版适配。
DSH 升级到新发布线后无需重新安装插件;只有 DSH 重新安装/升级覆盖 preset 文件时会丢失技能接管,重新点一次「开启接管 DSH 技能」即可。
注意
- 技能名必须匹配
[a-z0-9]+(?:-[a-z0-9]+)* - DSH 升级后如果开关失效,重新开启接管并重启 DSH
链接
相关插件
- dsh-activity-bell —— 侧边栏活动铃铛:会话跑完后铃铛显示红色角标,点一下把工作区列表换成按天分组的最近活动列表,没看过的完成项带绿点。
License
[MIT](./LICENSE)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::14,最后更新 2026-10-29