dsh-plugin-tool-management 0.20.2 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -1
- package/README.md +4 -1
- package/README_EN.md +4 -1
- package/docs/update.md +3 -1
- package/lib/client.js +225 -54
- package/lib/compat/capability-specs.js +60 -1
- package/lib/compat/host-contracts.js +72 -0
- package/lib/compat/host-probe.js +59 -0
- package/lib/compat/host-roots.js +1 -1
- package/lib/compat/probe.js +84 -13
- package/lib/context-inject-frame.js +134 -26
- package/lib/context-inject.js +12 -9
- package/lib/http-api.js +3 -2
- package/lib/http-fence.js +26 -1
- package/lib/index.js +5 -2
- package/lib/mcp/manager.js +6 -1
- package/lib/mcp/state-section.js +75 -34
- package/lib/memories/constants.js +39 -7
- package/lib/memories/projection.js +18 -18
- package/lib/memories/service.js +8 -7
- package/lib/memories/snapshot.js +27 -17
- package/lib/ops/compat.js +64 -2
- package/lib/ops/memory.js +2 -2
- package/lib/ops/prompts.js +30 -2
- package/lib/request-gate.js +5 -4
- package/lib/skills/catalog.js +2 -2
- package/lib/subagents/catalog.js +4 -4
- package/lib/subagents/child-preset.js +120 -0
- package/lib/subagents/persona-parse.js +9 -9
- package/lib/subagents/run-provider.js +218 -62
- package/lib/subagents/tool-filter.js +12 -12
- package/lib/subagents/tools.js +29 -22
- package/lib/tools/deps.js +4 -4
- package/lib/tools/mcp.js +34 -34
- package/lib/tools/memory.js +34 -34
- package/lib/tools/prompt.js +5 -5
- package/lib/tools/remove.js +17 -17
- package/lib/tools/scene.js +66 -66
- package/lib/tools/skills.js +21 -21
- package/lib/tools/subagent.js +13 -13
- package/lib/tools/table.js +2 -2
- package/package.json +25 -24
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,65 @@
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## [0.21.0] - 2026-10-17
|
|
14
|
+
|
|
15
|
+
适配 DSH 0.2.1-rc.2。
|
|
16
|
+
|
|
17
|
+
### 新增
|
|
18
|
+
|
|
19
|
+
- **提示词页显示共享的全局指令文件**:`~/.agents/AGENTS.md` 也在被注入,改这里没生效时能看出是那一份在说话。
|
|
20
|
+
- **兼容页功能总览新增四条宿主契约行**:子智能体人设委派、子代理工具限制、子代理创建时序、Web 连接准入 —— 这几项缺了不抛错、只是功能少一半,升级后第一眼可见。
|
|
21
|
+
- **兼容页新增「裸模块解析」一块**:列出插件按裸名 require 的四个官方包(MCP 客户端 / 人设 / AGENTS.md / 技能目录)与各自守住的契约标识,官方撤包或改契约从此在界面上可见,不再只有命令行能看见。
|
|
22
|
+
- **兼容页功能总览的依据写实**:子智能体与提示词两行改报「依赖的宿主模块在场」,不再用一句恒真的「无降级上报」糊过去。
|
|
23
|
+
|
|
24
|
+
### 修复
|
|
25
|
+
|
|
26
|
+
- **人设的工具限制不再慢一步**:改为在子代理创建时就施加,首轮工具调用前已生效。
|
|
27
|
+
- **面板可以挂在反向代理子路径下**:请求地址按页面地址解析,不再固定写死根路径。
|
|
28
|
+
- **带工具限制的 fork 委派会明确报错**,不再静默放宽权限。
|
|
29
|
+
- **Web 版鉴权补上调用方身份**:只有本机所有者身份的请求才会被受理。
|
|
30
|
+
|
|
31
|
+
### 变更
|
|
32
|
+
|
|
33
|
+
- **插件依赖与兼容范围对齐 DSH 0.2.1-rc.2**:兼容范围按代设上界,跨 minor 升级需同步适配。
|
|
34
|
+
- **doctor 不再把 `connection.admit` 误报成缺失**:该包不是插件依赖,静态检查改从宿主安装读取;宿主安装也取不到时如实报「只能对活宿主查」,而不是编一个「缺失」。
|
|
35
|
+
- **子智能体临时预设改为引用计数**:同一组合复用定义,失败时释放,不再在预设库里堆积。
|
|
36
|
+
- **允许追问的回执改说结算通知**:完成后会收到一条带着最终产出的通知。
|
|
37
|
+
- **子代理嵌套深度的注释修正为官方默认 1**。
|
|
38
|
+
- **注入到模型的模板文案改成英文**:板块标题、取代声明、补充说明、清空 / 截断 / 未列出这些提示;提示词正文首行改用官方的 `Instructions from:` 写法。场景名与说明、记忆正文、备注、`AGENTS.md` 等你自己写的内容仍原样注入。
|
|
39
|
+
- **模型侧的工具输出与报错也改英文**:工具回执、校验失败与警告一律英文;面板文案仍中英双语,你自己写的名称与正文原样。
|
|
40
|
+
- **技能、MCP、子智能体三个注入了工具名的板块补上触发条件**:写清什么时候该查这张表、什么时候该走带人设的委派;并说明取正文的工具被关掉、服务器未连接、人设不可调用时该怎么读。技能块首句补一句定义(技能是按需加载的任务指令集)。
|
|
41
|
+
- **场景块补一句定义**:说明记忆、提示词、工具与人设都已按当前场景筛过,不再只给场景名与说明。
|
|
42
|
+
- **MCP 段常驻,并补上第三档状态**:只要有一台该说的 server 就发,不因没有备注而省略;「连着但工具全被停掉」标成 `no tools enabled here`,不再与「没配过」混为一谈;说明行仍按内容发,超过上限时点名 `mcp_manager_list`。
|
|
43
|
+
- **记忆段的截断态改成给模型读的文案**:截断标记不再是一句 HTML 注释,未注入清单不再带字节数;真截断时不再声称「这是全部」。
|
|
44
|
+
- **「已清空」通知按原因分叉**:官方接管时说明是官方在送、旧内容作废;用户关掉或子会话不适用时说明这里不发送。
|
|
45
|
+
- **注入的首份内容不再带「取代」声明**:「同一类内容以最新一份为准」只在替换旧消息时发,「只列了启用的技能」这类边界陈述每份都发。
|
|
46
|
+
- **提示词块补一句效力声明**:说明这些规则要遵循、你在对话里说的优先。
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## [0.20.3] - 2026-10-17
|
|
51
|
+
|
|
52
|
+
界面与官方对齐一批:焦点环、圆角、等宽字体改用官方 token;修好 MCP 连接失败时状态灯不红、新建记忆弹窗误关丢内容。
|
|
53
|
+
|
|
54
|
+
### 新增
|
|
55
|
+
|
|
56
|
+
- **场景编辑器里「新建记忆」误关不丢内容**:30 秒内重开能填回。
|
|
57
|
+
|
|
58
|
+
### 修复
|
|
59
|
+
|
|
60
|
+
- **MCP 连接失败时状态灯是灰的**,与「未加载」分不出来。
|
|
61
|
+
- **焦点环会盖掉宿主「不要轮廓」的设定**(#18)。
|
|
62
|
+
|
|
63
|
+
### 变更
|
|
64
|
+
|
|
65
|
+
- **焦点环改用官方的色与宽**,鼠标点击不出环、键盘才出。
|
|
66
|
+
- **MCP 状态灯加载中改黄色**。
|
|
67
|
+
- **分组头计数只留数字**,不再带「个服务 / 项」这类量词。
|
|
68
|
+
- **圆角与等宽字体改用官方 token**。
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
13
72
|
## [0.20.2] - 2026-10-16
|
|
14
73
|
|
|
15
74
|
界面降噪一批:行尾动作收进 ⋯、没在用的分组默认折叠、会话整行可点勾选;修好折叠卡片要点两次才展开与 npm 包带上演示视频。
|
|
@@ -83,7 +142,7 @@
|
|
|
83
142
|
|
|
84
143
|
---
|
|
85
144
|
|
|
86
|
-
## [0.20.0] -2026-10-12
|
|
145
|
+
## [0.20.0] - 2026-10-12
|
|
87
146
|
|
|
88
147
|
修好技能回收站「目录」块的批量永久删除;记忆回收站与其它回收站统一。回收站每条可点开「详情」只读预览内容,另有一批界面打磨;`scene_manager_save` 补齐模型工具表方案 / 快捷提示词 / MCP 备注三处绑定,`prompt_manager_apply` 可取消应用。
|
|
89
148
|
|
package/README.md
CHANGED
|
@@ -147,6 +147,7 @@ dsh plugin --profile web add dsh-plugin-tool-management@latest
|
|
|
147
147
|
- **「取消应用」一步回到链起点**,不是只退一步:这一串应用 / 取消往复开始之前是什么样就恢复成什么样(起点没有 `AGENTS.md` 就把文件删掉);中途每一份内容都留在 `__last-applied__/AGENTS.md.bak-*`(保留 5 代),随时能再应用回来。
|
|
148
148
|
- **两类不能直接删**:**被场景绑定的**、以及**当前应用的那一份**(后者先点开关「取消应用」就能删);首次打开时自动生成的那份没「应用」过,可以直接删。删除一律进回收站。
|
|
149
149
|
- **快捷提示词**(同页第二段):存一段常用的话,`/` 里点一下就原样贴进输入框;场景可以绑定一组(进入只启用勾的那几条、退出按进场景前还原,也可选「无」)。
|
|
150
|
+
- **共享的全局指令也能看见**:`~/.agents/AGENTS.md` 与别的 agent 工具共用、也在被注入;它存在时提示词页会标出来(只读,改它要去改那个文件)。
|
|
150
151
|
|
|
151
152
|
### 历史会话
|
|
152
153
|
|
|
@@ -157,10 +158,11 @@ dsh plugin --profile web add dsh-plugin-tool-management@latest
|
|
|
157
158
|
### 宿主兼容
|
|
158
159
|
|
|
159
160
|
- **「兼容」页**:宿主版本、能力可用数、每个动作走原生 / 适配 / 不可用、降级项与原因;三个写入口:访问令牌、注入设置、模型工具表。
|
|
161
|
+
- **兼容页功能总览**:一行一个功能点,宿主契约四条(子智能体人设委派 / 工具限制 / 创建时序 / Web 准入)与「裸模块解析」四包都列在这里,升级后哪一处悄悄不工作一眼可见。
|
|
160
162
|
- **命令行**:`node scripts/doctor.mjs`(体检)、`node scripts/host-deps.mjs --fix`(依赖对齐)。
|
|
161
163
|
- **压制型预设**(`minimal` 这类)下本插件的注入默认停用,可在「兼容」页按域强制打开。
|
|
162
164
|
- **关掉「技能」「提示词」的勾选 = 连宿主那份一起停**(这两域在标准预设下由官方送);其余三域勾选完全生效。
|
|
163
|
-
- **注入长什么样**:每个域一条 `<system-reminder
|
|
165
|
+
- **注入长什么样**:每个域一条 `<system-reminder>` —— 英文模板(`# Current …` 等板块标题 + 一句"以本份为准")包着你自己的内容,名称、说明、备注、正文一律原样注入;正文里的 `</system-reminder>` 会被转义。
|
|
164
166
|
|
|
165
167
|
---
|
|
166
168
|
|
|
@@ -211,6 +213,7 @@ dsh plugin --profile web add dsh-plugin-tool-management@latest
|
|
|
211
213
|
| 重复 MCP 页签 | 删 `cordis.patch.yml` 里的旧 loader 行后重启。 |
|
|
212
214
|
| 改坏配置 DSH 起不来 | 从 `~/.dsh/tool-management/backups/` 取最近的 `cordis.patch.yml.<层级>.bak-<时间戳>` 覆盖回去(每份 patch 各留 5 份)。 |
|
|
213
215
|
| 升级 DSH 后动作不可用 | 设置 → 工具 → **兼容** 看原因;`doctor.mjs` → `host-deps.mjs --fix`。 |
|
|
216
|
+
| 升级 DSH 后装不上 / 提示 peer 不符 | 兼容范围逐代带上界(当前一代到 `<0.2.2`),跨 minor 升级要等插件同步适配(装新宿主前先升插件)。 |
|
|
214
217
|
| 模型调不到某条工具 | 「兼容」页的**模型工具表**看它是不是被关了(出厂默认关着 19 条);面板和脚本不受影响。 |
|
|
215
218
|
| `approval=never` 还要确认吗 | 不弹卡,直接放行并记日志;想问回来切回「工作区内修改」。 |
|
|
216
219
|
| `subagent_manager_run` 报 provider 不可用 | 对应 provider 没注册:`spawn`(默认)/ `fork`(`inherit`)分别挂 `@deepseek-ai/dsh-subagent-spawn-in-process` / `-fork-in-process` 后重启。 |
|
package/README_EN.md
CHANGED
|
@@ -145,6 +145,7 @@ For the desktop app, swap `web` for `desktop` and end with "remind me to restart
|
|
|
145
145
|
- **"Un-apply" goes back to the start of the chain, not one step**: it restores whatever was there before this run of apply / un-apply began (deleting the file if there was none); every intermediate version stays in `__last-applied__/AGENTS.md.bak-*` (5 generations), so it can be applied again.
|
|
146
146
|
- **Two kinds cannot be deleted directly**: a scene-bound preset, and the one currently applied (un-apply it first). The copy auto-created on first open was never applied and can be deleted. Deletes always go to the recycle bin.
|
|
147
147
|
- **Quick prompts** (the second section on the same page): save a piece of text you keep typing, then hit `/` and click it to paste it in; a scene can bind a set of them (only the ticked ones are on while the scene is entered, restored on exit, or pick "None").
|
|
148
|
+
- **The shared global instruction file is visible too**: `~/.agents/AGENTS.md` is shared with other agent tools and is also injected; when it exists the page says so (read-only — edit that file to change it).
|
|
148
149
|
|
|
149
150
|
### Archived sessions
|
|
150
151
|
|
|
@@ -155,10 +156,11 @@ For the desktop app, swap `web` for `desktop` and end with "remind me to restart
|
|
|
155
156
|
### Host compatibility
|
|
156
157
|
|
|
157
158
|
- **Host tab**: host version, usable capability count, per-action routing (native / adapter / unavailable), degradations and reasons; three write entries: access token, injection settings, model tool table.
|
|
159
|
+
- **Compatibility page overview**: one row per feature point. The four host contracts (subagent persona delegation / tool restriction / creation ordering / Web admission) and the "bare module resolution" block all live there — a feature that silently stops working after a host upgrade shows up at a glance.
|
|
158
160
|
- **Command line**: `node scripts/doctor.mjs` (health check), `node scripts/host-deps.mjs --fix` (align dependencies).
|
|
159
161
|
- Under a **suppressing preset** such as `minimal`, this plugin's injection is off by default; the Host tab can force any domain back on.
|
|
160
162
|
- Unchecking "Skills" or "Prompt" really stops them — under standard presets the host delivers those two itself; the other three domains follow the checkbox exactly.
|
|
161
|
-
- **What the injection looks like**: one `<system-reminder>` per domain — `#
|
|
163
|
+
- **What the injection looks like**: one `<system-reminder>` per domain — an English frame (`# Current …` headings plus a "this one wins" line) around your own content: names, descriptions, notes and bodies are injected verbatim; a `</system-reminder>` inside the body is escaped.
|
|
162
164
|
|
|
163
165
|
---
|
|
164
166
|
|
|
@@ -208,6 +210,7 @@ The six recycle bins each own one directory under `trash/`: `{skills,memories,su
|
|
|
208
210
|
| Duplicate MCP tabs | Remove the stale loader row from `cordis.patch.yml`, restart. |
|
|
209
211
|
| Broken config, DSH won't boot | Restore the newest `cordis.patch.yml.<level>.bak-<timestamp>` from `~/.dsh/tool-management/backups/` (5 per patch file). |
|
|
210
212
|
| Action stopped working after a DSH upgrade | Settings → Tools → **Host** for the reason; `doctor.mjs` → `host-deps.mjs --fix`. |
|
|
213
|
+
| Won't install / peer mismatch after a DSH upgrade | Each generation has its own upper bound (the current one stops below 0.2.2); a minor upgrade needs a matching plugin release (upgrade the plugin before the host). |
|
|
211
214
|
| The model cannot call a tool it should have | Check the **Model tool table** on the Host tab — 19 tools ship switched off. The panel and scripts are unaffected either way. |
|
|
212
215
|
| Still asked to confirm with `approval=never`? | No card appears — straight through with a log line. Switch back to "workspace write" to get the questions again. |
|
|
213
216
|
| `subagent_manager_run` reports provider unavailable | The provider is not registered: `spawn` (default) / `fork` (`inherit`) come from `@deepseek-ai/dsh-subagent-spawn-in-process` / `-fork-in-process` — mount and restart. |
|
package/docs/update.md
CHANGED
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
| 版本 | 发布 | 主题 |
|
|
6
6
|
| ------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| [0.21.0](../CHANGELOG.md#0210---2026-10-17) | 2026-10-17 | 适配 DSH 0.2.1-rc.2:人设工具限制提到创建时生效、面板可挂反代子路径、Web 鉴权补调用方身份、提示词页显示 ~/.agents/AGENTS.md;兼容页补四条宿主契约行与「裸模块解析」一块;注入模板文案改英文(自己的内容原样注入) |
|
|
8
|
+
| [0.20.3](../CHANGELOG.md#0203---2026-10-17) | 2026-10-17 | 界面与官方对齐一批(焦点环、圆角、等宽字体);修好 MCP 连接失败状态灯不红、新建记忆弹窗误关丢内容、焦点环盖掉宿主「不要轮廓」设定(#18) |
|
|
7
9
|
| [0.20.2](../CHANGELOG.md#0202---2026-10-16) | 2026-10-16 | 界面降噪一批:行尾动作收进 ⋯、没在用的分组默认折叠、会话整行可点勾选;修好折叠卡片要点两次才展开与 npm 包带上演示视频 |
|
|
8
10
|
| [0.20.1](../CHANGELOG.md#0201---2026-10-16) | 2026-10-16 | 修好技能状态文件出错时全线停用等三处;新增五个域的删除 / 回收站工具;MCP 支持粘贴补丁片段导入;创建技能可带附件;弹窗误关不再丢内容;一批排版与文案收短 |
|
|
9
|
-
| [0.20.0](../CHANGELOG.md#0200---2026-10-
|
|
11
|
+
| [0.20.0](../CHANGELOG.md#0200---2026-10-12) | 2026-10-12 | 回收站每条能点开「详情」只读预览删除的内容 + MCP 导出可选目录并支持预览;修好下拉菜单悬停无高亮、横幅按钮只有下半截能点、浅色下场景编辑器四组没分块、容器边框深浅不一、技能来源「永久删除」后下一轮又回来;界面打磨一批(令牌弹窗、批量键上移页头、人设改称子智能体) |
|
|
10
12
|
| [0.19.1](../CHANGELOG.md#0191---2026-10-10) | 2026-10-10 | 提示词预设补上「取消应用」(回到开始应用之前的状态,那时没有文件就连文件一起删掉),删除保护与回收站一并修好;回收站新增保留期自动清理与批量永久删除 |
|
|
11
13
|
| [0.19.0](../CHANGELOG.md#0190---2026-10-07) | 2026-10-07 | 子智能体人设可标「允许追问」+ 修好自 0.15.0 起不可用的 `subagent_manager_run` + 子代理不再把自己当成主代理 + 人设表单「高级选项」重排(模型来源与模型只从目录里选)与模型框变窄修好 + 注入框架不再点名被工具限制砍掉的工具 + 「工具限制」候选修好并分「插件工具 / 官方工具 / 其他工具」三段 |
|
|
12
14
|
| [0.18.5](../CHANGELOG.md#0185---2026-10-05) | 2026-10-05 | 会话导出分三档累进(仅正文 → 正文 + 工具 → 正文 + 工具 + 思考,工具结果有上限并明说截断)+ 导出弹窗放大到 720×760、字段压成三行把位置还给会话列表 + 导入会话可以从已登记工作区里挑 / 浏览文件夹 + 修好归档列表每行「恢复」必弹「操作失败」(其实已经恢复了)与导出的正文里混着思考 |
|