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)即可绕开。
核心亮点
| 一键换场景 每个场景存一份完整档案:MCP、技能、子智能体、记忆、快捷提示词、提示词预设、模型工具表。进入即整套切换,退出按快照还原。 |
在对话里控制 打 / 打开「工具」段:进出场景、启停六个域,点一下直接生效。菜单不关,输入框也不留命令字。 |
三种作用域 全部全局 / 按工作区 / 按会话。默认每个对话各一份设置——同一个项目里的两个对话,可以同时跑两套环境。 |
| Agent 反向控制 26 条模型工具覆盖六个域:列、读、建、改、删、启停、进场景、派子智能体。写操作弹确认卡;关掉的工具不在 schema 里,模型完全看不到。 |
兼容页是总控台 版本与能力体检、访问令牌、生效层级、六个域的注入开关、模型工具表、侧栏入口,都在这一页。 |
一个面板,八个页签 场景 / MCP / 技能 / 子智能体 / 提示词 / 记忆 / 会话 / 兼容,不再在六处设置之间来回找。 |
演示
播放器起不来(登录态偶发被浏览器 CSP 拦)?点此直接看同一个文件。
画面里每个界面都是真机截图,没有重画的 UI。
背景音乐:Kevin MacLeod「Limit 70」,CC BY 4.0。
界面
![]() 场景 |
![]() MCP |
![]() 技能 |
![]() 子智能体 |
![]() 提示词 |
![]() 记忆 |
![]() 会话 |
![]() 兼容 |
三种作用域
默认每个对话各一份设置。在兼容页 → 生效层级切换一次,整个面板和模型工具都跟着这一层走:
| 全部全局 | 按工作区 | 按会话(默认) | |
|---|---|---|---|
| 谁共用一套 | 所有对话 | 同一工作区的对话 | 每个对话各自一份 |
| 适合 | 一个人一台机器,处处一致 | 一个项目一套环境 | 同一项目并行不同任务 |
| 切走会丢吗 | — | 不删记录,调回来即恢复 | 不删记录,调回来即恢复 |
面板顶部那条选择器可以切到某个对话或工作区,直接看它自己的那份设置;锁着的时候解锁口也在那一行。同一层里,每个开关按 本层改过 > 进入的场景 > 创建时快照 > 全局 取最上面有话说的一层。
场景在三种粒度下都能用。按会话时,A 对话进「编程」、B 对话留在「写作」,各自的 MCP、技能、人设互不干扰。
功能
| 页签 | 做什么 |
|---|---|
| 场景 | 把整套环境存成档案,一键进入 / 退出;可锁定防误改,可绑定提示词预设与模型工具表方案;删除时连同记忆进回收站。 |
| MCP | 增删改服务器、逐工具开关、给模型写备注;没在跑也能看上次见过的工具清单;导入导出,改前自动备份。 |
| 技能 | 按来源分组,启停 / 移除 / 导入 / 编辑;同名技能标出谁在生效,外部目录只读。 |
| 子智能体 | 一个人设一个 .md,可派活、限工具、选模型;跑完只回结果,不占你的会话记录。 |
| 提示词 | 多套 AGENTS.md 一键应用 / 取消应用,保留 5 代备份;快捷提示词从 / 直接贴进输入框。 |
| 记忆 | 场景即分组,.md 正文自动进上下文;导入导出、回收站、注入预算。 |
| 会话 | 按项目分组归档,可搜索、批量恢复;能导入 Claude Code / Cursor / Codex 的记录,导出 Markdown / JSONL。 |
| 兼容 | 版本与能力体检、访问令牌、生效层级、注入开关、模型工具表、侧栏入口、清理旧备份。 |
让 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








No comments yet. Be the first to write one.