tianLee-gitter / lt-dsh-skill-manager

已收录

DSH 技能管理插件:在设置页管理 ~/.dsh/skills 的技能,支持多目录导入与 AI 名称解析(导入后可用 /name 引用)

main技能 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:tianLee-gitter/lt-dsh-skill-manager

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 c660885同步于 2026年8月18日

lt-lt-lt-dsh-skill-manager · DSH 技能管理插件

DSH Plugin License npm

DeepSeek Harness(DSH)技能管理插件:在设置 → 技能管理页面维护 ~/.dsh/skills/ 下的所有技能,支持一次选择多个目录导入,导入时由所选 AI 模型解析技能名称 (小写 kebab-case,如 nodejsmy-skill),名称与目录不一致时自动重命名目录, 导入后的技能可直接在对话框用 /name 引用。

✨ 特性

  • 技能列表:列出 ~/.dsh/skills/<dshHome>/skills)下已导入的目录束 (<name>/SKILL.md)与扁平 Markdown(<name>.md)技能,展示 namedescription、 有效性徽标与来源目录
  • 多目录导入:点击「导入技能…」可同时选择多个技能目录(每个含 SKILL.md 或顶层 .md), 浏览器读取文件后经 RPC 传输(自动跳过 .git
  • AI 名称解析:导入时可选 harness 上已配置的模型(默认 harness 默认模型)解析技能名称与 一句话描述;解析结果强制规范化为 harness 对话框 /name 语法 ^[a-z0-9]+(?:-[a-z0-9]+)*$(优先采用文档已声明的小写标识如 slug), 因此导入后即可用 /名称 直接引用;同名技能自动跳过(already-exists),不会覆盖
  • 目录自动重命名:目录名与解析出的名称不一致时,按名称重命名后写入 ~/.dsh/skills/<name>/,并重写 frontmatter 保证目录名 / name / description 一致

🚀 安装

方式 A:从 GitHub 安装

dsh plugin add github:tianLee-gitter/lt-lt-dsh-skill-manager --profile web
# 或:dsh plugin add https://github.com/tianLee-gitter/lt-lt-dsh-skill-manager.git --profile web

方式 B:从 npm 安装(预构建,免 allowBuilds 构建授权)

dsh plugin add lt-lt-lt-dsh-skill-manager --profile web

💡 如果你的 profile 名不是 web,把上面命令里的 --profile web 换成你的 profile 名。

装完重启 dsh web,浏览器刷新即可。验证:

curl -s  http://127.0.0.1:3080/plugins/lt-lt-lt-dsh-skill-manager/client.js   # client bundle(应返回 JS)
curl -sX POST http://127.0.0.1:3080/api/skillManager/list \
  -H "content-type: application/json" \
  -d '{"type":"client-request","rpcId":"probe","method":"skillManager/list","payload":{"args":{}}}'
# 应返回 {"type":"server-response",...,"result":{"ok":true,"value":{"root":"...","skills":[...]}}}

🎯 使用

  1. 打开 设置 → 技能管理
  2. 选择 AI 解析模型(默认 harness 默认模型;不选则跳过 AI 解析,回退到 frontmatter 的 name / slug / 目录名)
  3. 点击 导入技能…,一次选择多个技能目录
  4. 查看导入结果:每个技能的名称、描述、以及目录是否被重命名;失败项会给出原因 (无 SKILL.md / 同名已存在 / 名称无法规范化 / 路径不安全)

⚙️ 配置(可选)

全部配置在包内 cordis.patch.yml 插件行的 config 里:dshHome(技能根目录,默认 ~/.dsh)、 maxAiInputBytes(AI 输入截断,默认 6000)、maxAiOutputTokens(AI 输出上限,默认 300)、 aiTimeoutMs(AI 请求超时,默认 30000)。

  • 停用插件:把 cordis.patch.yml# disabled: true 行首的 # 去掉,重启 dsh web

🗑 卸载 / 🔄 更新

dsh plugin remove lt-lt-lt-dsh-skill-manager --profile web   # 卸载,然后重启 dsh web
# 更新(GitHub 源):cd <仓库目录> && git pull && dsh plugin add "$PWD" --profile web
# 更新(npm 源):dsh plugin update lt-lt-lt-dsh-skill-manager --profile web

🛟 故障排查

现象排查
设置页没有「技能管理」确认安装后重启 dsh web 并强刷浏览器(Ctrl+Shift+R)
导入报 already-exists同名技能已存在(保护机制),先删除 ~/.dsh/skills/<name> 再重导
导入的 name 非预期模型解析是尽力而为;可在 frontmatter 写 slug(如 slug: nodejs)引导,或修改 SKILL.mdname
/name 无法在对话框引出名称必须匹配 ^[a-z0-9]+(?:-[a-z0-9]+)*$(小写 kebab);导入结果里的名称均合规

📄 License

MIT

仓库信息

开发语言
TypeScript
许可证
MIT
最后更新
2026年8月17日 11:11

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。