DeepSeek Harness 插件

SLin-code/dsh-skill-manager

Star 数 ★ 1 分类 技能包 收录于 2026-08-27

在 DSH Web 设置中查看本地 Skills,并编辑自动调用与 /name 调用策略;内置和软链接条目保持只读。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:SLin-code/dsh-skill-manager

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English

一个面向 DeepSeek Harness Web 的轻量、本地、安全优先的 Skill 管理插件。

DSH Skill Manager 在每个 Skill 列表行中显示调用开关

能做什么

  • 列出当前 DSH 会话和项目实际生效的本地 Skills。
  • 按名称、描述、来源、Provider 和路径搜索。
  • 展开列表行时才加载指令正文。
  • 查看来源、Provider 和解析后的文件路径。
  • 在每个列表行内直接控制自动调用和 /name 调用。
  • 内置、软链接、运行时和非文件型 Skill 保持只读。

插件有意不包含安装、删除、新建、同步或 Skill 市场功能;它只管理 DSH 已发现 Skill 的调用策略。

安装

需要 Node.js ^22.19.0 || >=24.0.0,以及兼容 0.1.0-rc.7 或 0.1.1-rc.2 SDK 系列的 DSH Web profile。

直接从 GitHub 安装:

dsh plugin --profile web add github:SLin-code/dsh-skill-manager

仓库包含已验证的 Host 与浏览器 bundle,因此安装时不需要执行依赖构建脚本。

重启 dsh web,打开设置 → 插件 → Skill Manager,并选中一个会话。卸载命令:

dsh plugin --profile web remove dsh-skill-manager

本地开发安装:

npm install
npm run typecheck
npm test
npm run build
dsh plugin --profile web add .

安全模型

浏览器只提交当前 sessionId、准确的 Skill 名称和两个调用布尔值,不提交文件路径。每次操作时,Host 都通过官方 ctx.sessions 和 ctx.skills 服务重新解析会话项目目录与最终生效的 Skill。

修改路由只接受本机回环、同源请求。写入前,Host 会重新校验 YAML frontmatter 和 Skill 身份,拒绝内置与软链接条目,获取跨进程锁,并在同目录执行原子替换;正文及 YAML 注释会尽量保持不变。

两个标准 frontmatter 字段是:

disable-model-invocation: false
user-invocable: true

架构

这是一个独立的双端 DSH 插件仓库:

  • cordis.patch.yml 向选定 profile 插入一个插件条目。
  • src/index.ts 是 Host 端,注册本机 API 路由。
  • src/client/index.tsx 是浏览器端,通过官方 Settings slot 注册界面。
  • package.json 中的 dsh.bundle.patch 与 dsh.client 连接两端,无需修改 DSH 源码。

开发验证

npm run typecheck
npm test
npm run build
npm pack --dry-run

许可证

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。