dsh-plugin-tool-management 0.9.1 → 0.11.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 +119 -1
- package/README.md +227 -201
- package/README_EN.md +227 -199
- package/docs/images/1-EN.png +0 -0
- package/docs/images/1.png +0 -0
- package/docs/images/2-EN.png +0 -0
- package/docs/images/2.png +0 -0
- package/docs/images/3-EN.png +0 -0
- package/docs/images/3.png +0 -0
- package/docs/images/4-EN.png +0 -0
- package/docs/images/4.png +0 -0
- package/docs/images/5-EN.png +0 -0
- package/docs/images/5.png +0 -0
- package/docs/images/6-EN.png +0 -0
- package/docs/images/6.png +0 -0
- package/docs/images/7-EN.png +0 -0
- package/docs/images/7.png +0 -0
- package/docs/images/8-EN.png +0 -0
- package/docs/images/8.png +0 -0
- package/docs/update.md +144 -12
- package/lib/client.js +8437 -5929
- package/lib/compat/preset-reach.js +1 -10
- package/lib/compat/probe.js +158 -25
- package/lib/context-inject.js +396 -53
- package/lib/host-names.js +12 -0
- package/lib/http-fence.js +35 -15
- package/lib/hub.js +31 -3
- package/lib/imports/parsers.js +15 -9
- package/lib/imports/upload.js +43 -4
- package/lib/index.js +940 -3765
- package/lib/mcp/loader-token.js +238 -0
- package/lib/mcp/manager.js +1681 -0
- package/lib/mcp/override-blocks.js +20 -9
- package/lib/mcp/patch-yaml.js +351 -0
- package/lib/mcp/secret-guard.js +145 -0
- package/lib/mcp/state-section.js +64 -21
- package/lib/{rules → memories}/archive-engine.js +65 -10
- package/lib/{rules → memories}/archive.js +6 -7
- package/lib/memories/constants.js +128 -0
- package/lib/memories/index-io.js +330 -0
- package/lib/memories/projection.js +280 -0
- package/lib/memories/service.js +686 -0
- package/lib/memories/snapshot.js +672 -0
- package/lib/ops/candidates.js +64 -0
- package/lib/ops/compat.js +136 -0
- package/lib/ops/ctx.js +9 -0
- package/lib/ops/memory.js +678 -0
- package/lib/ops/prompts.js +107 -0
- package/lib/ops/scene-records.js +460 -0
- package/lib/ops/scene-sync.js +17 -0
- package/lib/ops/sessions.js +603 -0
- package/lib/ops/trash.js +140 -0
- package/lib/paths.js +103 -0
- package/lib/prompts/preset-id.js +49 -0
- package/lib/{agents-md → prompts}/service.js +1 -1
- package/lib/request-gate.js +320 -0
- package/lib/scene-prompt-sync.js +4 -4
- package/lib/scenes/candidates.js +344 -0
- package/lib/{history → sessions}/bridge.js +22 -5
- package/lib/sessions/history.js +323 -0
- package/lib/{history → sessions}/tombstone.js +1 -2
- package/lib/{history → sessions}/workspace.js +92 -24
- package/lib/skills/catalog.js +6 -9
- package/lib/skills/core.js +79 -43
- package/lib/skills/readonly-discovery.js +4 -1
- package/lib/skills/service.js +98 -13
- package/lib/subagents/catalog.js +31 -15
- package/lib/subagents/service.js +506 -89
- package/lib/subagents/tools.js +29 -4
- package/lib/tools/deps.js +8 -0
- package/lib/tools/mcp.js +110 -0
- package/lib/tools/memory.js +87 -0
- package/lib/tools/prompt.js +70 -0
- package/lib/tools/skills.js +139 -0
- package/lib/tools/subagent.js +40 -0
- package/package.json +105 -102
- package/lib/agents-md/preset-id.js +0 -49
- package/lib/history/projcache.js +0 -335
- package/lib/rules/service.js +0 -2971
package/docs/update.md
CHANGED
|
@@ -2,24 +2,156 @@
|
|
|
2
2
|
|
|
3
3
|
每个版本大致改了什么——想知道「升上去会变什么」看这里就够了。逐条细节见 [Changelog](../CHANGELOG.md),功能说明见 [README](../README.md) / [README_EN](../README_EN.md)。
|
|
4
4
|
|
|
5
|
-
| 版本
|
|
6
|
-
|
|
7
|
-
| [0.
|
|
8
|
-
| [0.
|
|
9
|
-
| [0.
|
|
10
|
-
| [0.
|
|
11
|
-
| [0.
|
|
12
|
-
| [0.
|
|
13
|
-
| [0.
|
|
14
|
-
| [0.
|
|
15
|
-
| [0.
|
|
5
|
+
| 版本 | 发布 | 主题 |
|
|
6
|
+
| ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| [0.11.0](#0110---2026-09-20) | 2026-09-20 | 访问令牌卡片重构(可设置 / 关闭 / 修改 / 删除)+ 没解锁时锁住输入框 + 令牌安全修复 + 批量启停可撤销 + 兼容页清理旧备份 + 两页可搜索 + 体检改为真调 + 一批凭据与数据损坏修复 + 搜索与列表提速 |
|
|
8
|
+
| [0.10.0](#0100---2026-09-18) | 2026-09-18 | 注入框架改 markdown(动作句加粗前置)+ 注入采纳统计 + 人设角色框 / inherit / catalogDepth + 场景锁定补齐模型侧 + 记忆删除全走回收站 + 错误码全量双语 |
|
|
9
|
+
| [0.9.1](#091---2026-09-17) | 2026-09-17 | 注入实况 + 场景内开关同步档案 + 全选统一 + 退出场景卡死修复 |
|
|
10
|
+
| [0.9.0](#090---2026-09-16) | 2026-09-16 | 注入改走上下文通道(极简可注入)+ 五域各自注入 + 场景接管一致性修复 |
|
|
11
|
+
| [0.8.5](#085---2026-09-16) | 2026-09-16 | 历史页标签统一 + 目录存在即可重新登记 + 场景 MCP 备注 + 新增三域默认不启动 |
|
|
12
|
+
| [0.8.0](#080---2026-09-15) | 2026-09-15 | 场景锁定 + 子智能体开关 + 四域导出 |
|
|
13
|
+
| [0.7.0](#070---2026-09-15) | 2026-09-15 | 回收站全量 + 预设注入可见性 + 密钥令牌化 |
|
|
14
|
+
| [0.6.0](#060---2026-09-14) | 2026-09-14 | 宿主兼容体检 + 兼容页 |
|
|
15
|
+
| [0.5.1](#051---2026-09-13) | 2026-09-13 | 场景档案默认不勾选 + 场景页排版重做 |
|
|
16
|
+
| [0.5.0](#050---2026-09-13) | 2026-09-13 | 数据目录统一 + 场景显式化 + 界面重做 |
|
|
17
|
+
| [0.2.0](#020---2026-09-12) | 2026-09-12 | 五域合并进一个「工具」面板 |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 0.11.0 - 2026-09-20
|
|
22
|
+
|
|
23
|
+
- **访问令牌那块整个重排了,按作用域拆成两块**:「访问令牌」只管本次启动(状态胶囊 + 解锁框),「令牌管理」只管配置文件 —— 设置/修改、保护开关、删除、清除令牌四行静态清单,位置尺寸统一。所有写配置的操作都在弹窗里完成(要输一次令牌确认),页面不再有会展开收起的东西;成功就是弹窗收起 + 状态行更新,失败错误显示在弹窗内。
|
|
24
|
+
|
|
25
|
+
- **访问令牌能设置、能关掉、能改、也能彻底删掉了**:关掉只是"暂时不生效",令牌留在配置里,随时开回来不用重填。
|
|
26
|
+
|
|
27
|
+
- **关闭 / 修改 / 删除令牌都要当场再输一次当前令牌**:解锁过不算,三个销毁方向同一套就地确认。
|
|
28
|
+
|
|
29
|
+
- **用环境变量提供令牌的用户**:以前「保护开关」会把开着的保护显示成"开启保护"、找不到关闭入口 —— 现在方向按实际生效状态判断;文件里没有令牌值时「删除令牌」也不再显示。
|
|
30
|
+
|
|
31
|
+
- **两处残留清理**:宿主没配令牌但浏览器里记着旧令牌时,现在有「清除令牌」入口;别处触发"去填令牌"时,会先收起弹窗再聚焦解锁框。
|
|
32
|
+
|
|
33
|
+
- **「令牌未验证」的橙色横幅能手动关掉了**:它以前层级压过一切、会盖住宿主设置窗口;现在降到弹窗之下、带关闭键,关掉后本次锁态期间不再弹,解锁后再锁照常回来。
|
|
34
|
+
|
|
35
|
+
- **堵上一个令牌漏洞**:解锁一次后「清除令牌 + 强刷新」,对话照样能发 —— 宿主侧"本次启动验过"的记号只挂不清。现在清除令牌会把这个记号一并摘掉,必须重新填对令牌才能继续对话;其它标签页里残留的旧令牌也同步作废。
|
|
36
|
+
|
|
37
|
+
- **令牌开着、本次启动还没解锁时,输入框锁住、无法对话**:对话不经过插件的 HTTP 门禁,此前配了令牌没填也照样能聊、注入照样进上下文。现在这种情况输入框直接锁住并说明去哪填,填对后立刻恢复。
|
|
38
|
+
|
|
39
|
+
- **兼容页能清理旧备份了**:每份备份都是整份配置的副本、凭据在里面是明文。逐层级选删除份数,弹窗内二次确认,只删备份、不碰当前配置。
|
|
40
|
+
|
|
41
|
+
- **批量启停可以撤销了**:改完出现一条不会自动消失的提示,点「撤销」按操作前的状态写回。
|
|
42
|
+
|
|
43
|
+
- **提示词页与子智能体页能搜了**:一个输入框按名称 / 描述过滤,无命中说「没有匹配的…」。
|
|
44
|
+
|
|
45
|
+
- **兼容体检改为真调一次**:归档 / 解档 / 批量 / 删除与会话 detach / announce 各用一个哨兵 id 真调,调不通就降级并说清原因。
|
|
46
|
+
|
|
47
|
+
- **打码的密钥不会被「保存」写坏**:以前改完保存会把打码值当真值写回,真密钥永久丢失;现在用原值顶替,没原值就拒绝保存。
|
|
48
|
+
|
|
49
|
+
- **「设置令牌」不再可能把 DSH 写坏到起不来**:`config:` 形状认不出来就拒绝改写,不再插入重复键。
|
|
50
|
+
|
|
51
|
+
- **记忆索引损坏不再静默清空配置**:坏文件留存、拒绝写入并说明怎么办。
|
|
52
|
+
|
|
53
|
+
- **一批静默失败现在会明说**:子代理工具没注册上(子智能体页黄条)、记忆正文读不到(记忆页告警条)、开关没写进去、批量归档部分失败、导出撞名跳过。
|
|
54
|
+
|
|
55
|
+
- **几处会丢东西的坑**:编辑 MCP 服务器不再把 URL 里的凭据写成占位串;导出会话不再覆盖同名文件;MCP 重启中断不再把服务器留在停用态。
|
|
56
|
+
|
|
57
|
+
- **导入文件不再让设置面板变空白**;**详情弹窗不再被晚到的响应搅乱**;**「显示密钥」真的能显示明文了**。
|
|
58
|
+
|
|
59
|
+
- **令牌提示统一成一句话**,不再几秒后自己消失,且在弹窗里也看得见。
|
|
60
|
+
|
|
61
|
+
- **锁定场景补上一个绕开方式**:清空启用集合会让模型侧的锁定判据失效,现在会被拒绝。
|
|
62
|
+
|
|
63
|
+
- **场景名末尾带空格或点会被当场拦下**(界面与宿主此前两套校验、已经分叉)。
|
|
64
|
+
|
|
65
|
+
- **搜索与列表变快了**:六页搜索改成停手约 200ms 才过滤,列表只在数据或搜索词真变了才重算;会话批量删除不再逐条重扫全部会话。
|
|
66
|
+
|
|
67
|
+
- **导出与超大请求体加了边界**:单文件 32 MB / 合计 256 MB,超了明确报错;注定超限的上传在开始读之前就拒掉。
|
|
68
|
+
|
|
69
|
+
- **键盘可达与「减少动态效果」**:导入拖拽区变成真按钮、工具页签补上方向键切换;系统开了减少动态效果后,开关 / 拖拽区 / 预算条不再有过渡。
|
|
70
|
+
|
|
71
|
+
- **没配访问令牌时,查看明文密钥不再要求令牌**:此前点「显示密钥」只有一句"缺少访问令牌",跳到兼容页也没有任何可填的东西。有令牌(含"关掉保护")时照旧要带对的。
|
|
72
|
+
|
|
73
|
+
- **「注入」设置块不再因为没填令牌而整块消失**:读设置不再按写操作门禁(写仍然要令牌),所以不必先填令牌、也不必刷新页面。
|
|
74
|
+
|
|
75
|
+
- **技能 / 子智能体 / 记忆三页会显示场景与锁定横幅了**:此前服务端标了、界面读不到。顺带修掉一个更实的:记忆页的写控件在场景锁定时**从没被禁用**过。
|
|
76
|
+
|
|
77
|
+
- **场景锁定期间不再显示「改动会同步写进场景档案」那条长提示**:开关都是灰的,那句话没有落点,还与锁定横幅并排矛盾。
|
|
78
|
+
|
|
79
|
+
- **批量启停的撤销条改成琥珀色**:边框、提示句都染成告警色,更容易看见。
|
|
80
|
+
|
|
81
|
+
- **文档与实现对齐**:README 补上此前没写的边界(锁定到底冻结哪些、会话删除不进回收站、密钥在磁盘上始终是明文等)。
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 0.10.0 - 2026-09-18
|
|
86
|
+
|
|
87
|
+
- **「注入实况」显示每个域的采纳统计**:「注入 N 次 · 调用 M 次 · 采纳 K 次」,勾了开关但模型从没伸手一眼可见;节头并标注本进程观测到的工具调用数,区分「模型没用」与「统计没接上」。
|
|
88
|
+
|
|
89
|
+
- **人设可配「目录注入」(`catalogDepth`)**:控制常驻人设目录注入到哪一层会话(默认只在顶层),不限制子代理继续嵌套。
|
|
90
|
+
|
|
91
|
+
- **人设子代理支持 `inherit`**:继承本次会话**已完成**的轮次(本轮内委派仍要写全任务);贴合人设的任务从此一律走 `subagent_manager_run`,官方 `subagent` / `subagent_fork` 只在没人设贴合或需要后台任务时用。
|
|
92
|
+
|
|
93
|
+
- **人设新增「输出要求」字段(`output:`)**:一行一条硬要求,单独成节写进子代理系统提示词,并约束父代理的 `task` 只给目标与上下文、不规定做法。
|
|
94
|
+
|
|
95
|
+
- **注入框架重排为 markdown 四级结构**:`##` 标题 + 加粗动作句前置 + 补充动作行 + 取代声明,五域同一副骨架;场景记忆与子智能体引导语同步重写(给判据、给优先级、补触发条件),正文重复标题与「已清空」通知的插件前缀一并去掉。
|
|
96
|
+
|
|
97
|
+
- **提示词注入不再「裸送」**:与其余四域同款框架且整条包进 `<system-reminder>`(正文里的闭合标记会转义),界面显示来源文件与载入状态,模型侧正文带「来源:」行。
|
|
98
|
+
|
|
99
|
+
- **关掉「技能」或「提示词」的勾选,官方那条注入一起停**(此前只停本插件自己);其余三域勾选完全生效。
|
|
100
|
+
|
|
101
|
+
- **子代理会话不再注入场景记忆**(只在顶层注入),子代理上下文收敛为「角色 + 任务」,需要时用 `memory_manager_*` 自取。
|
|
102
|
+
|
|
103
|
+
- **人设进子代理系统提示词时带角色框**:`# 角色:名` 标题 + 授权/边界一行 + `## 角色定义` 围栏,不含 `description`,人设文件本身不用改。
|
|
104
|
+
|
|
105
|
+
- **MCP 列表改为全局在前、同级按名排序**,页面、场景档案勾选器与模型侧清单三处同序。
|
|
106
|
+
|
|
107
|
+
- **人设目录的注入判据定为「深度 < `catalogDepth`」**;「注入实况」两档状态改称「已注入 / 不在本会话注入」,无正文行不再画展开箭头。
|
|
108
|
+
|
|
109
|
+
- **五个管理工具的描述回指上下文里的注入块**,目录与工具互相指路。
|
|
110
|
+
|
|
111
|
+
- **全部服务端错误码补齐双语词条**(此前 15 码无词条,英文界面回退中文原文);目录选择器与技能详情 frontmatter 标签同样改走词典。
|
|
112
|
+
|
|
113
|
+
- **README 安全段补充**:栅栏降级面、`dir-list` 暴露面、HTTP 状态码以 `body.ok` 为准、裸 API 退出场景不清启用集。
|
|
114
|
+
|
|
115
|
+
- **文档更正**:人设「默认停用」(此前写成自动启用)、场景接管期间「应用 = 改绑该场景」(此前写会被拒绝)、「四域开关同步档案」更正为三域(并更正 0.9.1 条目同句)、密钥打码字形改为与实现一致。
|
|
116
|
+
|
|
117
|
+
- **场景锁定补齐模型侧**:`mcp_manager_add` / `skill_manager_create` / `memory_manager_write` / `prompt_manager_apply` 四个工具此前绕过守卫,锁定期间仍可调用。
|
|
118
|
+
|
|
119
|
+
- **记忆怎么删都进回收站**:形态转换与改名此前直接删旧文件(bundle 连附件一起),现在先入回收站再删。
|
|
120
|
+
|
|
121
|
+
- **`mcpm-tools-refresh` 要求令牌**:它会临时启停服务器并写两次补丁,此前漏在写操作门清单外。
|
|
122
|
+
|
|
123
|
+
- **子代理结果不再混入思考块**;「没有正文」按收尾原因分档说明,不再一律报「无输出」。
|
|
124
|
+
|
|
125
|
+
- **人设正文与名字里的 `{{…}}` 不再让子代理启动失败**。
|
|
126
|
+
|
|
127
|
+
- **子会话里调委派工具不再被本插件拦下**(不再向官方传 `maxDepth`,人设列表也不再按深度过滤)。
|
|
128
|
+
|
|
129
|
+
- **MCP 状态不再把「连不上」报成「可用」**:可用性只认当前真实注册的工具数;曾连上、当前不可用的如实标注。
|
|
130
|
+
|
|
131
|
+
- **场景里手动关掉的技能目录 / MCP 服务器,退出场景后正常还原**(快照全量记录进场景前状态)。
|
|
132
|
+
|
|
133
|
+
- **覆盖导入失败自动回滚**;编辑 MCP 服务器保留手写的 `toolCallTimeoutMs`;整台停用时「上次运行时」工具行不再标「已启用」。
|
|
134
|
+
|
|
135
|
+
- **场景进行中改 MCP serverName 或人设名,退出场景恢复正常还原**;重启等待窗口内的并发启用不再被快照覆盖。
|
|
136
|
+
|
|
137
|
+
- **记忆描述含独立 `---` 行不再截断**(此类多行描述改用引号标量序列化)。
|
|
138
|
+
|
|
139
|
+
- **提示词页「应用」失败现在会显示错误**;手工编辑 memories-index.json 的场景描述会触发注入重算。
|
|
140
|
+
|
|
141
|
+
- **兼容页「注入实况」的说明不再截断、节头不再错位**;技能页页头按钮窄栏自动收档,「全选」不再折行。
|
|
142
|
+
|
|
143
|
+
- **访问令牌比较改为常量时间**(双侧 sha256 + timingSafeEqual)。
|
|
144
|
+
|
|
145
|
+
- **测试与开发工具**:补 parseModeState 透传契约断言;client-render 夹具对齐现行响应形状;check-i18n 修复行首键漏对账;`preview-memory-note` / `preview-compat` 修到可跑。
|
|
146
|
+
|
|
147
|
+
- **六个管理页的启用项排到列表前面**:MCP / 技能 / 子智能体 / 提示词 / 记忆 / 场景,开着的浮在上面、停用后落回原位(两半内部保持原顺序,不是按名重排;提示词页没有开关,按「生效中」排)。拨开关引起的换位有 180ms 过渡,搜索 / 筛选 / 折叠与轮询刷新引起的位移不做动画,「减少动态效果」下直接落位。
|
|
16
148
|
|
|
17
149
|
---
|
|
18
150
|
|
|
19
151
|
## 0.9.1 - 2026-09-17
|
|
20
152
|
|
|
21
153
|
- **兼容页新增「注入实况」**:直接看最近活跃会话里模型**实际收到**的五域文本,并分清「在上下文中 / 未投递 / 官方注入 / 已关闭」——勾了开关却没送到时一眼可见。
|
|
22
|
-
- **场景里也能直接开关了**(未锁定时):MCP
|
|
154
|
+
- **场景里也能直接开关了**(未锁定时):MCP、技能、子智能体照常改——**改动会同步写进这个场景的档案**,当下生效、下次进这个场景也照样生效,退出仍按进场景前的状态还原;只有**锁定**才冻结。
|
|
23
155
|
- **「全选」统一成二合一**:所有全选按钮都是「全选」↔ 点完变「取消全选」,不再并列两个;技能管理页、记忆管理页、记忆的每个场景卡片补上了缺的批量开关。
|
|
24
156
|
- **技能管理页每个来源(目录)卡片也有批量开关**,点「全选」或卡片上的来源开关都会顺带把这张卡片展开——批量结果就在下面,不然点完只剩按钮改了字。
|
|
25
157
|
- **人设也严格「退出即还原」**:场景里手动打开的人设,退出时会回到进场景前的状态(场景中新建的不受影响)。
|