前言¶
在 DeepSeek Harness(DSH)里跑智能体时,Agent Skills 往往分散在项目目录与用户目录两处:项目内常见 <projectRoot>/.dsh/skills,用户级则在 $DSH_HOME/skills(未设置 DSH_HOME 时为 ~/.dsh/skills)。手工维护 SKILL.md、从 GitHub 拉取公开技能、核对格式与启用方式,容易打断日常开发节奏。
下面介绍社区插件 dsh-skills-manager(维护者 Aero123421,分类为客户端)。它把列表、预览、创建、编辑、删除、启用/禁用、校验,以及从 GitHub 安装与更新,集中到 DSH Web 侧栏的 SKILLS 入口,同时覆盖项目与用户两套根目录。
这是什么¶
dsh-skills-manager 是 DSH 的 Web 客户端插件:在左侧边栏增加 SKILLS 管理界面,对接上述两个 skills 根目录。实现为无构建步骤的 Host/Client JavaScript,依赖固定的 yaml 与官方 skills@1.7.4;CLI 仅在用户明确发起「分阶段安装」时使用,不作为任意 shell 执行器。
插件在 SkillHub 目录页 可查,源码与文档在 GitHub:Aero123421/dsh-skills-manager。当前资料中的版本号为 v0.5.0,许可证 MIT。
环境与依赖¶
使用前需满足:
- 已安装 DeepSeek Harness(
dsh),且使用带web的 profile(安装命令中带--profile web)。 - Node.js 版本为
^22.20.0或>=24.0.0(与插件内固定的 skills CLI 要求一致)。
核心功能¶
侧栏管理与双作用域¶
从 SKILLS 打开管理页;界面语言跟随 DSH 语言设置(资料中写明支持日语、英语,具体以你当前 DSH 配置为准)。可先输入项目路径并 打开;在支持目录选择的环境下可使用 Host 提供的参照按钮。
- 项目:
<projectRoot>/.dsh/skills - 用户:
$DSH_HOME/skills(未设置则为~/.dsh/skills)
列表支持按名称、说明搜索;点选条目可查看步骤正文、保存位置与调用相关设置。
创建、编辑与并发控制¶
通过 新建/编辑 修改 frontmatter 与正文,可做形式校验并保存。新建不会静默覆盖同名技能;更新、切换、删除仅在与当前加载版本一致时执行。若返回冲突(HTTP 409),需核对内容后重新加载再操作。
与 Agent 相关的元数据方面:资料写明支持 disable-model-invocation(控制是否由模型调用)、user-invocable(斜杠命令);未知的 metadata 与注释会保留。
未保存草稿会按项目与格式写入浏览器本地存储;保存或明确丢弃后清除。存储不可用或空间不足时无法保留。
安装技能¶
安装技能 提供两类入口:
- 本地文件夹:指定 DSH Host 上的目录(含
SKILL.md)或单个.md文件;会复制同捆资源,且不覆盖已有安装目标。 - npx skills:粘贴
npx skills add形式命令,预览公开 GitHub 源上的候选技能后勾选安装。
npx skills 侧当前为官方 CLI 的 子集:主要支持 add 与公开 GitHub 源;支持 --skill / -s(可多选、'*')、--copy、-y / --yes,以及 #ref 指定 Git 引用。-g / --global 仅在界面已选 用户 作用域时接受。不支持把命令当作 shell 管道执行;本地路径应走本地文件夹标签页。
预览 token 有效期为 10 分钟;部分名称冲突时成功与失败分项展示,整批并非单一事务。
从 GitHub 更新已安装技能¶
对已安装的 文件夹形式 技能,可在详情中使用 从 GitHub 更新(与顶部列表刷新不同)。流程为:确认来源并勾选信任 → 确认更新 → 查看当前/目标提交与文件差异 → 应用更新。应用前会备份整包旧内容与来源信息。
v0.5.0 起从 GitHub 安装会记录来源 URL、提交与 bundle 基准哈希;更新时按同名、同来源再取,不会擅自把固定 SHA 改成最新分支。v0.4.0 及更早安装或手工放置的技能可能没有来源记录,需首次手动输入 owner/repo 或公开 GitHub 仓库/tree URL。本地正文、同捆文件或权限有改动时,需确认 备份本地变更后替换;无自动合并。
可选配置与 Host API¶
可通过 cordis.patch.yml 的 patch 行覆盖插件配置(dsh profile 的 patch 层或 --patch):
- id: dsh-skills-manager
config:
allowUserWrite: true # false 时 user 作用域只读
allowRemoteInstall: true # false 时禁止 GitHub 拉取/更新(本地操作仍可用)
maxBodyBytes: 262144 # 单个 skill 正文上限(字节)
Host 在已认证的 /api 通道上提供 list、get、save、remove、validate、setInvocation、install 及远程安装、GitHub 更新相关路由;插件还可选附带 Agent 工具 skills_manager_list、skills_manager_read、skills_manager_validate。具体路由与 JSON 形态见仓库 README 的 API 小节。
技能目录格式(扫描规则)¶
每个 root 仅扫描一层:
- 目录:
<root>/<name>/SKILL.md(可有references/、scripts/、assets/) - 扁平:
<root>/<name>.md
frontmatter 至少包含 name、description;更完整的约定见 DSH 的 dsh-skill-filesystem 文档。
安装与启用¶
安装命令须使用 README 原文形式(github: 为 dsh plugin 接受的 pnpm add 风格):
# 安装 main 最新
dsh plugin --profile web add github:Aero123421/dsh-skills-manager
# 固定版本(需要可复现时)
dsh plugin --profile web add github:Aero123421/dsh-skills-manager#v0.5.0
安装后重启 DSH,或依赖 HMR 重载,左侧应出现 SKILLS。
在对话中也可通过 Agent 的 plugin_manager 调用 install_bundle,target 设为 github:Aero123421/dsh-skills-manager(或带 #v0.5.0)。
更新与卸载¶
资料提醒:若仍在 v0.2.0 及更早版本,请先备份技能再升级;v0.3.0 起改进了保存原子性、同名识别与更新冲突检测,但不会自动修复旧版已损坏的内容。
dsh plugin --profile web remove dsh-skills-manager
dsh plugin --profile web add github:Aero123421/dsh-skills-manager#v0.5.0
dsh plugin --profile web remove dsh-skills-manager
典型用法示例¶
用 npx skills 从公开仓库安装¶
- 在管理页选择 项目 或 用户 作为安装目标。
- 打开 安装技能 → npx skills,粘贴命令。
- 勾选信任来源,点击 预览技能。
- 勾选需要的候选(初始未全选),确认安装。
示例命令(来自 README):
npx skills add vercel-labs/agent-skills
npx skills add vercel-labs/agent-skills --skill web-design-guidelines
npx -y skills@1.7.4 add https://github.com/vercel-labs/agent-skills --skill web-design-guidelines
vercel-labs/agent-skills
https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
官方 CLI 完整语法见 Vercel Labs skills 文档;本插件按 DSH 校验与保存路径做了适配与子集实现。
从 GitHub 更新文件夹技能¶
- 打开已安装的文件夹技能,点击 从 GitHub 更新。
- 确认来源并勾选信任,点击 确认更新。
- 查看提交与
SKILL.md等差异。 - 点击 应用更新(会先备份再替换)。
备份与来源元数据存放在各 root 下的 skills-manager/<name>/(项目为 .dsh/skills-manager/,用户为 $DSH_HOME/skills-manager/ 或 ~/.dsh/skills-manager/),不参与技能扫描。备份不会自动清理;单技能超过 10 次或 256MiB 的更新会被拒绝,需自行整理。
适用场景与注意¶
适合谁:经常在 DSH Web 界面开发、需要统一维护项目级与用户级 Agent Skills,并希望用图形界面完成校验、安装公开 GitHub 技能与跟踪更新的开发者。
安全与权限:README 说明该插件面向「已认证的 DSH 使用者以 Host 所有者身份管理本地文件」,并非多用户沙箱隔离;项目路径由使用者显式指定。插件以当前 dsh 进程权限读写文件;安装前请自行审阅 源码与许可证,并在生产或共享 Host 上按需关闭 allowRemoteInstall 或 allowUserWrite。
生态说明:DSH 社区插件目录由 SkillHub 等站点收录,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的产品思路,本文仅基于公开 README 与 package 信息整理。
结尾¶
若你希望在 DSH 侧栏完成 Skills 的全生命周期管理,而不是反复手改目录与命令行,dsh-skills-manager 把项目与用户两套根目录、本地安装与 GitHub 预览/更新放在同一套 UI 里。进一步细节、截图与 API 列表请以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/Aero123421/dsh-skills-manager
- GitHub:https://github.com/Aero123421/dsh-skills-manager