DeepSeek Harness 插件

ouli-1242/dsh-plugin-tool-management

Star 数 ★ 34 下载量(近 30 天) 7,668 分类 工具与能力 收录于 2026-09-15 npm dsh-plugin-tool-management

一个设置面板,统一管理 MCP、技能、记忆、子智能体、提示词和归档会话;可自定义搭配场景,一个场景即可切换整个环境;Agent也能帮你操作这个插件。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-plugin-tool-management

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

dsh plugin --profile web add github:ouli-1242/dsh-plugin-tool-management

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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

DeepSeek Harness 的 MCP、技能、子智能体、提示词、记忆与归档会话,都收在一个面板里。把它们配成一套,就是场景——点一下整套切换,退出按快照还原。

dsh plugin --profile web add dsh-plugin-tool-management@latest      # 浏览器版
dsh plugin --profile desktop add dsh-plugin-tool-management@latest  # 桌面版

装完浏览器硬刷新(Cmd/Ctrl+Shift+R)或重启桌面应用,打开 设置 → 工具管理。桌面版先打开过一次应用并完全退出,再执行命令;装到的不是最新版,多半是镜像延迟或 pnpm 的 minimumReleaseAge,改用确切版本号(@0.X.X)即可绕开。


核心亮点

演示

播放器起不来(登录态偶发被浏览器 CSP 拦)?点此直接看同一个文件。

画面里每个界面都是真机截图,没有重画的 UI。

背景音乐:Kevin MacLeod「Limit 70」,CC BY 4.0。

界面

场景 MCP
技能 子智能体
提示词 记忆
会话 兼容

三种作用域

默认每个对话各一份设置。在兼容页 → 生效层级切换一次,整个面板和模型工具都跟着这一层走:

全部全局 按工作区 按会话(默认)
谁共用一套 所有对话 同一工作区的对话 每个对话各自一份
适合 一个人一台机器,处处一致 一个项目一套环境 同一项目并行不同任务
切走会丢吗 — 不删记录,调回来即恢复 不删记录,调回来即恢复

面板顶部那条选择器可以切到某个对话或工作区,直接看它自己的那份设置;锁着的时候解锁口也在那一行。同一层里,每个开关按 本层改过 > 进入的场景 > 创建时快照 > 全局 取最上面有话说的一层。

场景在三种粒度下都能用。按会话时,A 对话进「编程」、B 对话留在「写作」,各自的 MCP、技能、人设互不干扰。

功能

让 Agent 管这个插件

六个域共 26 条模型工具:列清单、读正文、新建、修改、删除、启停、进出场景、应用提示词、派子智能体。

  • 默认只发 6 条(约 1.6k token/轮),其余 20 条关着。关掉不是藏起来,是根本没进 schema——模型看不到,也调不到。
  • 按层生效:模型默认只改当前这一层,回执会说清写的是哪一层;带 scope: "global" 才动全局。
  • 写操作有确认卡:停机、删除、开关落到机器级等都会先问一句;恢复动作(重启 / 还原 / 取消应用)不拦。
  • 逐条可开关:兼容页的「模型工具表」按层调整,26 条全开约 6.2k token/轮;可以按任务存成不同方案,跟场景一起切。

兼容页

不只是版本号:

  • 体检:宿主版本、这一轮实际加载的插件版本、每个动作走原生 / 适配 / 不可用及原因。升级后哪一处悄悄失效,一眼看到。
  • 访问令牌:设置 / 关闭 / 修改 / 删除;写操作与明文密钥都走它。
  • 生效层级:全部全局 / 按工作区 / 按会话,一键切。
  • 注入:六个域各自开关、极简模式兜底注入、斜杠命令两段入口、侧栏入口。
  • 模型工具表:26 条逐条可见性,按层保存方案。
  • 维护:清理旧备份、功能总览、最近改动。
内容 位置
MCP 定义 ~/.dsh/cordis.patch.yml(插件只写它;改前自动备份)
技能策略 / 自定义目录 ~/.dsh/tool-management/skills-state.json
技能 / 记忆 / 人设 / 预设 ~/.dsh/tool-management/{skills,memories,subagents,prompts}/
记忆索引 / 场景 / 档案 ~/.dsh/tool-management/memories-index.json
回收站(技能 / 记忆 / 人设 / 预设 / 场景) ~/.dsh/tool-management/trash/<域>-trash/
归档账本 / 保留期 ~/.dsh/tool-management/history-*.json
MCP 侧车(停用表 / 已知工具 / 备注 / 设置) ~/.dsh/tool-management/mcp-*.json
注入设置(六个域开关) ~/.dsh/tool-management/inject-settings.json
模型工具表 / 作用域覆盖 ~/.dsh/tool-management/tool-table.json · scope-overrides.json
运行日志 / patch 备份 ~/.dsh/tool-management/tool-management.log · backups/
  • 只写自己的文件:不动技能源文件;MCP 只改 cordis.patch.yml,每份 patch 各留 5 份备份。
  • 令牌:设置后所有写操作与明文密钥都要 x-dsh-token;浏览器读写走 cookie,明文查看仍要令牌。
  • 进程级边界靠令牌:写接口默认由宿主的浏览器鉴权把关;宿主栅栏缺席时退回只查回环地址的本地判定,本机其它进程即可直连——配了访问令牌才有进程级这道门。
  • 磁盘上是明文:打码只发生在界面。MCP 的 env / headers 与插件的 token 在 patch 文件里始终明文,备份也不加密、不轮转。令牌门禁管不到磁盘读取,防线是文件权限。
  • 删除可找回:技能 / 记忆 / 人设 / 提示词 / 场景的删除都进回收站(会话永久删除除外),可设保留期自动清理(默认永久保留)。

常见问题

现象 解决
装完没有页面 硬刷新浏览器;还不行就重启 DSH。
模型调不到某条工具 兼容页 →「模型工具表」,先选对当前对话 / 工作区(出厂默认关着 20 条)。面板和脚本不受影响。
升级 DSH 后动作不可用 兼容页看降级原因;node scripts/doctor.mjs,再 node scripts/host-deps.mjs --fix。
版本对不上 只适配 DSH 0.2.1(>=0.2.1-rc.2 <0.2.2),跨代升级要等插件同步适配。
重复 MCP 页签 删掉 cordis.patch.yml 里的旧 loader 行,再重启。
改坏配置 DSH 起不来 从 ~/.dsh/tool-management/backups/ 取最近的 cordis.patch.yml.*.bak-* 覆盖回去。

完整排查手册见 docs/TROUBLESHOOTING.md。

文档

文档 什么时候看
故障排查 装完没页面、重复页签、升级后动作不可用、侧车损坏
架构 内容怎么进模型、同一个开关为什么两个对话不一样、改完落到哪个文件
兼容矩阵 各 DSH 版本的能力矩阵(已验证 / 未实测 / 不可用)
更新日志 · 版本概要 每一版改了什么

开发

npm install
npm run build        # tsc + 同步客户端
npm test             # 构建 + i18n + 契约测试
npm run doctor       # 宿主兼容体检

lib/ 不入版本库,克隆后先 npm run build;改完重启 dsh web 才生效。运行时依赖只有 fflate 与 js-yaml(惰性加载),@deepseek-ai/* 一律用宿主那份。

许可证

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

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