dsh-plugin-tool-management 0.13.0 → 0.15.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +560 -474
  2. package/README.md +91 -123
  3. package/README_EN.md +99 -126
  4. package/docs/images/1-EN.png +0 -0
  5. package/docs/images/1.png +0 -0
  6. package/docs/images/2-EN.png +0 -0
  7. package/docs/images/2.png +0 -0
  8. package/docs/images/3-EN.png +0 -0
  9. package/docs/images/3.png +0 -0
  10. package/docs/images/4-EN.png +0 -0
  11. package/docs/images/4.png +0 -0
  12. package/docs/images/5-EN.png +0 -0
  13. package/docs/images/5.png +0 -0
  14. package/docs/images/6-EN.png +0 -0
  15. package/docs/images/6.png +0 -0
  16. package/docs/images/7-EN.png +0 -0
  17. package/docs/images/7.png +0 -0
  18. package/docs/images/8-EN.png +0 -0
  19. package/docs/images/8.png +0 -0
  20. package/docs/update.md +391 -337
  21. package/lib/audit-log.js +157 -0
  22. package/lib/client.js +4204 -2454
  23. package/lib/compat/patch-dialect.js +3 -1
  24. package/lib/compat/preset-reach.js +43 -9
  25. package/lib/compat/probe.js +149 -7
  26. package/lib/context-inject.js +91 -35
  27. package/lib/index.js +479 -114
  28. package/lib/mcp/loader-token.js +53 -28
  29. package/lib/mcp/manager.js +149 -21
  30. package/lib/mcp/secret-guard.js +21 -0
  31. package/lib/mcp/state-section.js +13 -11
  32. package/lib/memories/archive-engine.js +70 -2
  33. package/lib/memories/archive.js +8 -1
  34. package/lib/memories/constants.js +72 -8
  35. package/lib/memories/index-io.js +7 -1
  36. package/lib/memories/projection.js +67 -31
  37. package/lib/memories/service.js +17 -2
  38. package/lib/memories/snapshot.js +113 -22
  39. package/lib/op-registry.js +26 -6
  40. package/lib/ops/candidates.js +11 -0
  41. package/lib/ops/compat.js +113 -31
  42. package/lib/ops/scene-records.js +34 -0
  43. package/lib/ops/scene-sync.js +12 -1
  44. package/lib/ops/sessions.js +24 -9
  45. package/lib/ops/snapshot.js +596 -0
  46. package/lib/prompts/service.js +25 -2
  47. package/lib/scenes/candidates.js +66 -5
  48. package/lib/sessions/bridge.js +5 -0
  49. package/lib/sessions/workspace.js +17 -5
  50. package/lib/skills/core.js +105 -3
  51. package/lib/skills/service.js +34 -2
  52. package/lib/subagents/service.js +37 -4
  53. package/lib/subagents/tools.js +11 -4
  54. package/lib/tools/deps.js +16 -1
  55. package/lib/tools/mcp.js +291 -50
  56. package/lib/tools/memory.js +131 -80
  57. package/lib/tools/prompt.js +27 -13
  58. package/lib/tools/scene.js +351 -0
  59. package/lib/tools/skills.js +93 -17
  60. package/lib/tools/subagent.js +56 -45
  61. package/lib/tools/table.js +208 -15
  62. package/package.json +24 -20
package/docs/update.md CHANGED
@@ -1,337 +1,391 @@
1
- # 版本更新概要
2
-
3
- 每个版本大致改了什么——想知道「升上去会变什么」看这里就够了。逐条细节见 [Changelog](../CHANGELOG.md),功能说明见 [README](../README.md) / [README_EN](../README_EN.md)。
4
-
5
- | 版本 | 发布 | 主题 |
6
- | ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
7
- | [0.13.0](#0130---2026-09-23) | 2026-09-23 | 模型多五个管理工具 + 所有写操作都要用户点头 + 工具表可关(省 token)+ 进场景前先看一眼会改什么 + 悬空引用体检 + 注入实况改为只数当前这段对话 + 技能正文一步读到 + 记忆页显示体积 + 门禁清单合成登记表 + 自定义目录的技能修好
8
- | [0.12.1](#0121---2026-09-22) | 2026-09-22 | 子智能体列表行:人设名与描述分行 + 客户端类型检查进门禁 + 四个注入上限抬高 |
9
- | [0.12.0](#0120---2026-09-20) | 2026-09-20 | 兼容页「功能总览」+ 停用工具真的从模型工具表消失 + 补丁写入前做解析校验(拦"写坏 DSH")+ doctor 三项新检查(挂载心跳 / 裸模块名 / 版本栅栏)+ 删除入口先不切换 + 投影缓存屏障与删除前置检查加固 + 关域拦截顺序钉死 |
10
- | [0.11.0](#0110---2026-09-20) | 2026-09-20 | 访问令牌卡片重构(可设置 / 关闭 / 修改 / 删除)+ 没解锁时锁住输入框 + 令牌安全修复 + 批量启停可撤销 + 兼容页清理旧备份 + 两页可搜索 + 体检改为真调 + 一批凭据与数据损坏修复 + 搜索与列表提速 |
11
- | [0.10.0](#0100---2026-09-18) | 2026-09-18 | 注入框架改 markdown(动作句加粗前置)+ 注入采纳统计 + 人设角色框 / inherit / catalogDepth + 场景锁定补齐模型侧 + 记忆删除全走回收站 + 错误码全量双语 |
12
- | [0.9.1](#091---2026-09-17) | 2026-09-17 | 注入实况 + 场景内开关同步档案 + 全选统一 + 退出场景卡死修复 |
13
- | [0.9.0](#090---2026-09-16) | 2026-09-16 | 注入改走上下文通道(极简可注入)+ 五域各自注入 + 场景接管一致性修复 |
14
- | [0.8.5](#085---2026-09-16) | 2026-09-16 | 历史页标签统一 + 目录存在即可重新登记 + 场景 MCP 备注 + 新增三域默认不启动 |
15
- | [0.8.0](#080---2026-09-15) | 2026-09-15 | 场景锁定 + 子智能体开关 + 四域导出 |
16
- | [0.7.0](#070---2026-09-15) | 2026-09-15 | 回收站全量 + 预设注入可见性 + 密钥令牌化 |
17
- | [0.6.0](#060---2026-09-14) | 2026-09-14 | 宿主兼容体检 + 兼容页 |
18
- | [0.5.1](#051---2026-09-13) | 2026-09-13 | 场景档案默认不勾选 + 场景页排版重做 |
19
- | [0.5.0](#050---2026-09-13) | 2026-09-13 | 数据目录统一 + 场景显式化 + 界面重做 |
20
- | [0.2.0](#020---2026-09-12) | 2026-09-12 | 五域合并进一个「工具」面板 |
21
-
22
- ---
23
-
24
- ## 0.13.0 - 2026-09-23
25
-
26
- - **模型能管的比以前多了五个**:以前它看得到一份记忆、看得到一个人设,却开关不了也改不了(技能与 MCP 那两域早就能全操作)。现在记忆的启停与修改、人设的启停与新建修改都补上了。提示词按裁定只留「应用」。
27
-
28
- - **所有会改东西的工具都写明了"要用户开口或先同意"**。以前只有两个工具有这句话,其余靠确认门兜 —— 而那个门是可以关掉的(设置里关掉记忆确认,或会话走「完全权限」预设)。顺带把工具说明删瘦了一圈:这些文字每次请求都要发给模型,八个改过的存量工具加起来从 2,047 → 1,980 字节,**加了上面那句还净降 67**。
29
-
30
- - **点「进入场景」会先弹一张卡**:说清这次会启用/停用哪几台 MCP 服务器、哪几个工具、哪几个技能目录与技能、哪几个人设,以及记忆范围收窄到哪一场景;末尾再补两行"进入后是什么样"——**启用 N 台 MCP**、**启用 N 条记忆**(含公共基线与全局)。不想看这张卡就点「不再显示」(场景页右上角有「关闭提醒 / 开启提醒」可以随时改回来);卡上只有「确认进入」与「不再显示」两颗按钮,关掉卡片用右上角的「关闭」。只有**真的会变**的才列:没在跑的服务器不会被写成「停用 N 个工具」,技能也只显示名字(不再带 `custom-…` 那串机器名)。
31
-
32
- - **改名留下的"悬空引用"有地方说了**:档案里存的是服务器名、技能名、人设名,场景记录里存的是预设 id。你把「代码审查」改名「复核员」,档案里那行还是旧名 —— 界面看着还绑着,委派时按新名找不到。现在场景页顶部会有一条黄横幅说清"哪一条指向谁、那个谁不在了"。只数出来、不自动改。
33
-
34
- - **读技能正文少了一步**:新工具按名字一次给到正文和路径,而且按与目录同一套规则挑副本 —— 同名几份时读到的就是真正生效的那一份,不会读到被覆盖的影子。
35
-
36
- - **工具说明可以关掉不发**:工具表每一轮请求都随工具发一遍,20 个工具的说明合计约 3,500 token,这一轮用不上也照付。兼容页新增「模型工具表」,逐个勾选(也能按域全关),关掉的**整份不进请求**——这是唯一真省钱的办法,默认一个都不关。关掉之后模型调不到它,**但插件面板一切照旧**(关掉 `mcp_manager_add` 之后 MCP 页照样能加服务器)。
37
-
38
- - **有一个工具会自动让位**:技能那条「按名字读正文」在会话里已经有官方 `skill` 工具时不再下发——两份干的是同一件事。极简模式没有官方那件,我们的照旧留着。只影响那个会话的工具表,能力不减(管理视角的"读一个被关掉的技能"在面板里做)。
39
-
40
- - **注入实况那三个数改成只数「最近这一段对话」**:以前是开机以来一路累加,用一下午之后「注入 8 次 · 从未调用」讲的是"今天这台机器",而你打开面板问的是"眼前这段里模型用没用"。现在每段对话各记一本账,换一段重新数。
41
-
42
- - **记忆页每行显示正文体积**:记忆是唯一直接进上下文、直接吃预算的那一域(每个场景段 128 KiB),以前看不出哪条大。
43
-
44
- - **场景描述能写到 300 字了**(原来 60),输入框下面那句提示删掉了 —— 卡片上那行本来就用省略号截,60 卡的是"能存多少",给的理由说的却是"显示多少"。四个注入上限也重新校准:记忆段 256 → 128 KiB;技能 / 子智能体 / MCP 三条目录都收到 50;MCP 备注 200 → 300 字。
45
-
46
- - **界面补了四处小东西**:新增 MCP 服务器的弹窗能顺手写备注了;MCP 备注、人设描述、技能描述、记忆描述五处输入加了「当前 / 总字数」(分母就是模型实际能读到的长度);场景页加了搜索框;`/` 聚焦搜索框、Esc 清空它(只挂在插件自己那块 UI 上,不抢宿主的快捷键)。
47
-
48
- - **门禁那几份清单合成了一张登记表**:哪些 op 要令牌、哪些在场景锁定时不许动、哪些改完要同步进场景档案……原来是五份各自抄写的名字清单,加一个新 op 得记得挨个补,这事已经漏过四次(后果不是报错,是"没配令牌也能改"或者"锁定的场景还能改")。现在每个 op 只登记一次,那五份清单都从它生成,派生结果与改之前**逐条相同**。启动时还会反查一遍登记表,有 op 没登记、有登记留着但 op 早改名了,都在兼容页挂提示。
49
-
50
- - **自定义技能目录里的技能能调动了**:以前列表里看得到、也标着"已启用",模型一调却报"没有这个技能"。原因是两处用了不同的来源清单 —— 取正文时只查那五个固定目录,你添加的自定义目录永远落空。
51
-
52
- - **「采纳」这个数改准了**:以前你把某个域关掉之后模型去调它的工具,照样记一次采纳 —— 因为「××已清空」那条通知也带着域标记,被当成了"正文在眼前",第三列其实是第二列的复印件。现在通知不算正文了,「调用 − 采纳」才有得读。
53
-
54
- - **README 里有一处说错了,已改**:原文说子智能体那两个工具"依赖宿主挂载 provider 包,缺席时不注册、界面也不提示"。实际是注册不受影响,要到**调用的那一刻**才报"子代理服务未挂载";而真的注册失败时,界面上**是**有提示的。
55
-
56
- ---
57
-
58
- ## 0.12.1 - 2026-09-22
59
-
60
- - **子智能体页的列表行改了版式**:人设名与描述分成两行。以前名字和描述挤在同一横排里、右边还压着开关和两颗按钮,名字只剩两三个字符宽(显示成 `co...`);现在名字独占一行、装不下才按省略号截断(悬停看全名)。
61
-
62
- - **客户端的类型检查进了门禁**:`typecheck:client` 以前只是定义在那里、没有任何地方调用,而且是红的。修掉后并进了 `npm test` 与发布前置 —— 客户端改动不再只有语法检查这一道网。
63
-
64
- - **四个注入上限抬高了**:记忆段预算 64 KiB → 256 KiB;技能目录 50 条 → 60 条;子智能体 40 条 → 60 条;MCP 50 条 → 60 条。描述截断窗口没动(技能与官方同源,抬成两套会让同一技能在不同预设下长度不一致)。提示词域也没动。
65
-
66
- ---
67
-
68
- ## 0.12.0 - 2026-09-20
69
-
70
- - **兼容页多了一块「功能总览」**:一行一个功能点,第一行就是「插件是否完整挂载」;状态是装配层 + 宿主能力层 + 你当前配置的合成结果(正常 / 降级 / 未启用 / 受令牌限制 / 部分生效 / 不可用),点一行跳到对应页签。它回答的是"现在到底哪一项能用、为什么不能用"。
71
-
72
- - **停用的 MCP 工具真的从模型可见的工具表里消失了**:以前「停用」只在调用时拦截,模型照样看得见这个名字,还会去调、然后被拒。现在按 agent 逐个摘掉;重新启用后恢复可见。
73
-
74
- - **改写宿主配置前先自检一次**:复刻官方解析补丁的那套 YAML 方言,写入前判一次产物。只有"改前能解析、改后不能解析"(=我们的改动弄坏了)才拒绝写入并保留原文件与备份;复刻过期或依赖缺失一律照写 + 上报(不拿能力换保守)。这条正是针对"写坏 `cordis.patch.yml` → DSH 起不来"那类事故。
75
-
76
- - **发行物自带的那段 `!!js` 表达式包了兜底**:它在每次启动被官方求值、且那条链上没有任何保护;现在出错只返回 false,不会把启动流程拖垮。
77
-
78
- - **宿主补上原生删除入口时先不切换**:改为上报 + 继续走本插件自有完整序列(级联子会话 + spill + 记账 + 缓存行)。切换要等人工核对过原生语义 —— 那段代码今天不可达,不可事前验证的代码不写。
79
-
80
- - **删除的前置检查补齐了**:转录清理需要的两个接口(会话头部读取、持久化 `locate()`)以前排在破坏性步骤之后,缺了会留下"转录还在、记账已清"的半删态;现在和别的检查一样,动手之前先确认。
81
-
82
- - **关掉技能 / 提示词域后,官方那条注入真的停了**:此前拦不拦得住看启动时的注册先后,可能没拦住;现在位置固定,不再看运气。
83
-
84
- - **投影缓存删除屏障的三处缺陷修掉**:第三方也包装同一份缓存时旧屏障会"退役了还被复用"(墓碑拦截静默失效、缓存行可能复活)、复用前不校验、首次使用抛错会留半个包装器。现在退役即摘出、复用先验证、出错就恢复原方法并上报。
85
-
86
- - **兼容页显示与真实能力对齐**:删除动作的可用性判定以前把本机可用的删除显示成不可用;身份锚点以前在 dev 布局下会比出假的「同一份模块」(界面 ok、doctor 说不一致)。两处都改成与服务端/doctor 同一份依据。
87
-
88
- - **几处"静默降级"改成看得见**:技能 provider 与注入通道装配失败(以前只落 console)、工作区实体快照写不进去、关域拦截因注册顺序变化而失效 —— 现在都会出现在兼容页的降级项里。
89
-
90
- - **doctor 多了三项检查**:运行时裸模块名是否仍被宿主暴露;插件挂载心跳(含 12 个 inject 服务名,插件没挂上时唯一的线索);宿主版本与本插件验证过的版本不一致时显式提示。
91
-
92
- ---
93
-
94
- ## 0.11.0 - 2026-09-20
95
-
96
- - **访问令牌那块整个重排了,按作用域拆成两块**:「访问令牌」只管本次启动(状态胶囊 + 解锁框),「令牌管理」只管配置文件 —— 设置/修改、保护开关、删除、清除令牌四行静态清单,位置尺寸统一。所有写配置的操作都在弹窗里完成(要输一次令牌确认),页面不再有会展开收起的东西;成功就是弹窗收起 + 状态行更新,失败错误显示在弹窗内。
97
-
98
- - **访问令牌能设置、能关掉、能改、也能彻底删掉了**:关掉只是"暂时不生效",令牌留在配置里,随时开回来不用重填。
99
-
100
- - **关闭 / 修改 / 删除令牌都要当场再输一次当前令牌**:解锁过不算,三个销毁方向同一套就地确认。
101
-
102
- - **用环境变量提供令牌的用户**:以前「保护开关」会把开着的保护显示成"开启保护"、找不到关闭入口 —— 现在方向按实际生效状态判断;文件里没有令牌值时「删除令牌」也不再显示。
103
-
104
- - **两处残留清理**:宿主没配令牌但浏览器里记着旧令牌时,现在有「清除令牌」入口;别处触发"去填令牌"时,会先收起弹窗再聚焦解锁框。
105
-
106
- - **「令牌未验证」的橙色横幅能手动关掉了**:它以前层级压过一切、会盖住宿主设置窗口;现在降到弹窗之下、带关闭键,关掉后本次锁态期间不再弹,解锁后再锁照常回来。
107
-
108
- - **堵上一个令牌漏洞**:解锁一次后「清除令牌 + 强刷新」,对话照样能发 —— 宿主侧"本次启动验过"的记号只挂不清。现在清除令牌会把这个记号一并摘掉,必须重新填对令牌才能继续对话;其它标签页里残留的旧令牌也同步作废。
109
-
110
- - **令牌开着、本次启动还没解锁时,输入框锁住、无法对话**:对话不经过插件的 HTTP 门禁,此前配了令牌没填也照样能聊、注入照样进上下文。现在这种情况输入框直接锁住并说明去哪填,填对后立刻恢复。
111
-
112
- - **兼容页能清理旧备份了**:每份备份都是整份配置的副本、凭据在里面是明文。逐层级选删除份数,弹窗内二次确认,只删备份、不碰当前配置。
113
-
114
- - **批量启停可以撤销了**:改完出现一条不会自动消失的提示,点「撤销」按操作前的状态写回。
115
-
116
- - **提示词页与子智能体页能搜了**:一个输入框按名称 / 描述过滤,无命中说「没有匹配的…」。
117
-
118
- - **兼容体检改为真调一次**:归档 / 解档 / 批量 / 删除与会话 detach / announce 各用一个哨兵 id 真调,调不通就降级并说清原因。
119
-
120
- - **打码的密钥不会被「保存」写坏**:以前改完保存会把打码值当真值写回,真密钥永久丢失;现在用原值顶替,没原值就拒绝保存。
121
-
122
- - **「设置令牌」不再可能把 DSH 写坏到起不来**:`config:` 形状认不出来就拒绝改写,不再插入重复键。
123
-
124
- - **记忆索引损坏不再静默清空配置**:坏文件留存、拒绝写入并说明怎么办。
125
-
126
- - **一批静默失败现在会明说**:子代理工具没注册上(子智能体页黄条)、记忆正文读不到(记忆页告警条)、开关没写进去、批量归档部分失败、导出撞名跳过。
127
-
128
- - **几处会丢东西的坑**:编辑 MCP 服务器不再把 URL 里的凭据写成占位串;导出会话不再覆盖同名文件;MCP 重启中断不再把服务器留在停用态。
129
-
130
- - **导入文件不再让设置面板变空白**;**详情弹窗不再被晚到的响应搅乱**;**「显示密钥」真的能显示明文了**。
131
-
132
- - **令牌提示统一成一句话**,不再几秒后自己消失,且在弹窗里也看得见。
133
-
134
- - **锁定场景补上一个绕开方式**:清空启用集合会让模型侧的锁定判据失效,现在会被拒绝。
135
-
136
- - **场景名末尾带空格或点会被当场拦下**(界面与宿主此前两套校验、已经分叉)。
137
-
138
- - **搜索与列表变快了**:六页搜索改成停手约 200ms 才过滤,列表只在数据或搜索词真变了才重算;会话批量删除不再逐条重扫全部会话。
139
-
140
- - **导出与超大请求体加了边界**:单文件 32 MB / 合计 256 MB,超了明确报错;注定超限的上传在开始读之前就拒掉。
141
-
142
- - **键盘可达与「减少动态效果」**:导入拖拽区变成真按钮、工具页签补上方向键切换;系统开了减少动态效果后,开关 / 拖拽区 / 预算条不再有过渡。
143
-
144
- - **没配访问令牌时,查看明文密钥不再要求令牌**:此前点「显示密钥」只有一句"缺少访问令牌",跳到兼容页也没有任何可填的东西。有令牌(含"关掉保护")时照旧要带对的。
145
-
146
- - **「注入」设置块不再因为没填令牌而整块消失**:读设置不再按写操作门禁(写仍然要令牌),所以不必先填令牌、也不必刷新页面。
147
-
148
- - **技能 / 子智能体 / 记忆三页会显示场景与锁定横幅了**:此前服务端标了、界面读不到。顺带修掉一个更实的:记忆页的写控件在场景锁定时**从没被禁用**过。
149
-
150
- - **场景锁定期间不再显示「改动会同步写进场景档案」那条长提示**:开关都是灰的,那句话没有落点,还与锁定横幅并排矛盾。
151
-
152
- - **批量启停的撤销条改成琥珀色**:边框、提示句都染成告警色,更容易看见。
153
-
154
- - **文档与实现对齐**:README 补上此前没写的边界(锁定到底冻结哪些、会话删除不进回收站、密钥在磁盘上始终是明文等)。
155
-
156
- ---
157
-
158
- ## 0.10.0 - 2026-09-18
159
-
160
- - **「注入实况」显示每个域的采纳统计**:「注入 N 次 · 调用 M 次 · 采纳 K 次」,勾了开关但模型从没伸手一眼可见;节头并标注本进程观测到的工具调用数,区分「模型没用」与「统计没接上」。
161
-
162
- - **人设可配「目录注入」(`catalogDepth`)**:控制常驻人设目录注入到哪一层会话(默认只在顶层),不限制子代理继续嵌套。
163
-
164
- - **人设子代理支持 `inherit`**:继承本次会话**已完成**的轮次(本轮内委派仍要写全任务);贴合人设的任务从此一律走 `subagent_manager_run`,官方 `subagent` / `subagent_fork` 只在没人设贴合或需要后台任务时用。
165
-
166
- - **人设新增「输出要求」字段(`output:`)**:一行一条硬要求,单独成节写进子代理系统提示词,并约束父代理的 `task` 只给目标与上下文、不规定做法。
167
-
168
- - **注入框架重排为 markdown 四级结构**:`##` 标题 + 加粗动作句前置 + 补充动作行 + 取代声明,五域同一副骨架;场景记忆与子智能体引导语同步重写(给判据、给优先级、补触发条件),正文重复标题与「已清空」通知的插件前缀一并去掉。
169
-
170
- - **提示词注入不再「裸送」**:与其余四域同款框架且整条包进 `<system-reminder>`(正文里的闭合标记会转义),界面显示来源文件与载入状态,模型侧正文带「来源:」行。
171
-
172
- - **关掉「技能」或「提示词」的勾选,官方那条注入一起停**(此前只停本插件自己);其余三域勾选完全生效。
173
-
174
- - **子代理会话不再注入场景记忆**(只在顶层注入),子代理上下文收敛为「角色 + 任务」,需要时用 `memory_manager_*` 自取。
175
-
176
- - **人设进子代理系统提示词时带角色框**:`# 角色:名` 标题 + 授权/边界一行 + `## 角色定义` 围栏,不含 `description`,人设文件本身不用改。
177
-
178
- - **MCP 列表改为全局在前、同级按名排序**,页面、场景档案勾选器与模型侧清单三处同序。
179
-
180
- - **人设目录的注入判据定为「深度 < `catalogDepth`」**;「注入实况」两档状态改称「已注入 / 不在本会话注入」,无正文行不再画展开箭头。
181
-
182
- - **五个管理工具的描述回指上下文里的注入块**,目录与工具互相指路。
183
-
184
- - **全部服务端错误码补齐双语词条**(此前 15 码无词条,英文界面回退中文原文);目录选择器与技能详情 frontmatter 标签同样改走词典。
185
-
186
- - **README 安全段补充**:栅栏降级面、`dir-list` 暴露面、HTTP 状态码以 `body.ok` 为准、裸 API 退出场景不清启用集。
187
-
188
- - **文档更正**:人设「默认停用」(此前写成自动启用)、场景接管期间「应用 = 改绑该场景」(此前写会被拒绝)、「四域开关同步档案」更正为三域(并更正 0.9.1 条目同句)、密钥打码字形改为与实现一致。
189
-
190
- - **场景锁定补齐模型侧**:`mcp_manager_add` / `skill_manager_create` / `memory_manager_write` / `prompt_manager_apply` 四个工具此前绕过守卫,锁定期间仍可调用。
191
-
192
- - **记忆怎么删都进回收站**:形态转换与改名此前直接删旧文件(bundle 连附件一起),现在先入回收站再删。
193
-
194
- - **`mcpm-tools-refresh` 要求令牌**:它会临时启停服务器并写两次补丁,此前漏在写操作门清单外。
195
-
196
- - **子代理结果不再混入思考块**;「没有正文」按收尾原因分档说明,不再一律报「无输出」。
197
-
198
- - **人设正文与名字里的 `{{…}}` 不再让子代理启动失败**。
199
-
200
- - **子会话里调委派工具不再被本插件拦下**(不再向官方传 `maxDepth`,人设列表也不再按深度过滤)。
201
-
202
- - **MCP 状态不再把「连不上」报成「可用」**:可用性只认当前真实注册的工具数;曾连上、当前不可用的如实标注。
203
-
204
- - **场景里手动关掉的技能目录 / MCP 服务器,退出场景后正常还原**(快照全量记录进场景前状态)。
205
-
206
- - **覆盖导入失败自动回滚**;编辑 MCP 服务器保留手写的 `toolCallTimeoutMs`;整台停用时「上次运行时」工具行不再标「已启用」。
207
-
208
- - **场景进行中改 MCP serverName 或人设名,退出场景恢复正常还原**;重启等待窗口内的并发启用不再被快照覆盖。
209
-
210
- - **记忆描述含独立 `---` 行不再截断**(此类多行描述改用引号标量序列化)。
211
-
212
- - **提示词页「应用」失败现在会显示错误**;手工编辑 memories-index.json 的场景描述会触发注入重算。
213
-
214
- - **兼容页「注入实况」的说明不再截断、节头不再错位**;技能页页头按钮窄栏自动收档,「全选」不再折行。
215
-
216
- - **访问令牌比较改为常量时间**(双侧 sha256 + timingSafeEqual)。
217
-
218
- - **测试与开发工具**:补 parseModeState 透传契约断言;client-render 夹具对齐现行响应形状;check-i18n 修复行首键漏对账;`preview-memory-note` / `preview-compat` 修到可跑。
219
-
220
- - **六个管理页的启用项排到列表前面**:MCP / 技能 / 子智能体 / 提示词 / 记忆 / 场景,开着的浮在上面、停用后落回原位(两半内部保持原顺序,不是按名重排;提示词页没有开关,按「生效中」排)。拨开关引起的换位有 180ms 过渡,搜索 / 筛选 / 折叠与轮询刷新引起的位移不做动画,「减少动态效果」下直接落位。
221
-
222
- ---
223
-
224
- ## 0.9.1 - 2026-09-17
225
-
226
- - **兼容页新增「注入实况」**:直接看最近活跃会话里模型**实际收到**的五域文本,并分清「在上下文中 / 未投递 / 官方注入 / 已关闭」——勾了开关却没送到时一眼可见。
227
- - **场景里也能直接开关了**(未锁定时):MCP、技能、子智能体照常改——**改动会同步写进这个场景的档案**,当下生效、下次进这个场景也照样生效,退出仍按进场景前的状态还原;只有**锁定**才冻结。
228
- - **「全选」统一成二合一**:所有全选按钮都是「全选」↔ 点完变「取消全选」,不再并列两个;技能管理页、记忆管理页、记忆的每个场景卡片补上了缺的批量开关。
229
- - **技能管理页每个来源(目录)卡片也有批量开关**,点「全选」或卡片上的来源开关都会顺带把这张卡片展开——批量结果就在下面,不然点完只剩按钮改了字。
230
- - **人设也严格「退出即还原」**:场景里手动打开的人设,退出时会回到进场景前的状态(场景中新建的不受影响)。
231
- - **bundle 记忆会显示带了几个附件**:记忆行上多一颗「N 个附件」标签(一个都没有的也显示,灰色),鼠标停上去能看到总量与文件名,点一下直接打开编辑弹窗并跳到附件区。
232
- - **技能目录卡片上的「移除来源」改成一个垃圾桶图标**:它是低频的破坏性操作,却和「全选」并排、还带红框,四个字一挡上去整行看着就不协调;鼠标停上去会说明后果,点下去照旧弹确认框。
233
- - **按钮位置**:MCP 页的「全部启用 / 全部停用」移到页头动作栏;会话页的「全选」移到「导出会话」旁。
234
- - **修复:退出场景失败、卡在场景里**(报错里出现「技能来源 project-dsh:… 启用失败」):项目级来源的解析依赖那个工作区还在活动会话里,退出时早关了 → 报错中断,于是再也退不出来;现在按 key 前缀解析,真恢复不了的只跳过并警告。
235
- - **修复:场景里打开技能,档案不跟着变**:开关的参数里没有「开 / 关」(方向写在操作名里),同步逻辑却去读那个不存在的字段,于是所有「打开」都被当成「关闭」、开关白点;现在按操作名判方向,档案没写成时页面也会如实提示。
236
- - **修复:被同名技能覆盖的副本被勾进了场景档案**(技能页显示「未启动」、档案却说它开着):现在这种技能进不了档案,编辑档案时那一行也不可勾选,历史残留一并清掉;结构不完整的技能同样跳过(以前会让整个场景进不去)。
237
- - **修复:场景档案的 MCP / 技能 / 子智能体段全勾满了还显示「全选」**;顺带把并列的「全选 + 清空」收敛成一个按钮。
238
- - **修复:刷新按钮点完「像没点」、而且一刷新整行还会跳**:按钮宽度改为按更宽的那份文案固定(和「全选」同一套做法);MCP / 提示词 / 会话三页的刷新从来不立起加载标记,所以只有刚进页面那一下能看到「刷新中…」,现在手动刷新会真的切过去。
239
- - **修复:flat 记忆的描述和「已启用」之间空了一大截**(窄侧栏下空标签行仍占行间距),现在那行不占位置了。
240
- - **修复:MCP 工具描述的「展开」按钮出现得莫名其妙**:以前按字符数猜(超过 120 字就出按钮),两行放得下的短描述也出按钮、点了没反应;现在按"真的被裁到两行"显示。
241
-
242
- ---
243
-
244
- ## 0.9.0 - 2026-09-16
245
-
246
- - **注入改走「上下文注入」,极简这类预设也压不掉了**:记忆 / MCP 清单 / 子智能体目录 / 提示词此前是系统提示词段,persona `complete` 的预设(极简)会把它们整段压掉,模型什么都看不到。现在改走官方自己用的那条通道(每步请求前注入一条消息)、内容没变不重发;**极简这类预设下默认不注入**(跟随预设),到「兼容」页的「注入」块可以打开「极简模式也注入」,并按域勾选你要注入的。
247
- - **每个域一条自己的注入**:五个域各发各的消息、轨迹里各自一行(行名就是自己的名字);只改一个域只重发那一条,某域被关掉或清空时单独发一条「已清空」,旧目录不会继续被当成现状。
248
- - **提示词与技能目录也进了注入通道**:官方那两条行在极简下没挂、此前用户没得选;现在官方挂得到就让官方送、挂不到才由插件兜底,任何预设下都看得到且不会出现两份。场景提示词与 `~/.dsh/AGENTS.md` 合并为一个「提示词」域。
249
- - **域名与顺序**:`记忆` 改叫 **场景和记忆**、`全局提示词` 改叫 **提示词**;从左到右 场景和记忆 → MCP → 技能 → 子智能体 → 提示词。
250
- - **子智能体"高级选项"的三个坑一起修**:候选数据不自动拉、已启用模式的名单进不去、停用后再启用清空勾选;现在点行首(名字 + 状态)即可展开 / 收起名单,右侧按钮仍只管启用 / 停用。
251
- - **「预设注入边界」三处口径纠正**:子智能体列改答"人设目录到不到得了模型"(极简 + 打开注入 = 绿);技能 / 提示词列以官方为准(官方那条行挂着就是绿的);MCP 列按提示词平面作答(被压制即红框)。
252
- - **每个场景块恒有一行加粗的「场景说明:」**:没填描述就给默认句,光秃秃的 `## 场景:X` 模型读不懂。
253
- - **场景内的「开关」统一收归档案**(四域同口径):MCP / 技能 / 来源 / 子智能体的开关在场景里一律禁用,去档案编辑器里改(模型侧同名工具也拒绝);**改档案立即生效**,不用退出再进一次。
254
- - **人设域与 MCP / 技能进场景按档案勾选集全量对齐**:勾了开、没勾关(整段没建 = 全关),退出按进场景前的状态精确还原。
255
- - **修复:场景里「应用」能绕过场景绑定**(你实测的「显示 A、实际注入 B」):现在只有场景绑定的那份可「重新应用」,删除保护改成引用清单,AGENTS.md 被手改时两页都标出「文件里不是它」。
256
- - **修复:场景名与记忆名相同会把整个场景「吃掉」**:现在统一为「**根下的一级目录恒为场景**」;另修「进场景被关掉的人设退出没开回来」「场景退出后 MCP 行还显示已运行」。
257
- - **修复:「N 个工具」不算停用工具**(有停用时显示 `可用/总数`);工具全停用的服务器不再进段。
258
- - **技能同名重复现在看得见了**:`skill_manager_list` 标出 `shadowed by <root>` 与 `preferred`——同名组里只有一份生效,启用被覆盖的那份会回 OK 却无效,现在会直接说明。
259
- - **AGENTS.md 预设库会记住「最近一次应用的是哪份」**:手改一次全局文件之后也能答出「来自预设 X(此后文件有变)」。
260
- - **备注终于可读,路径也给了**:`mcp_manager_list` 输出每台服务器的备注(模型侧字段 `user-hint`);`skill_manager_list` / `prompt_manager_list` 补源文件路径;未运行的 MCP 服务器也有工具描述(按「上次运行时」缓存),描述超两行默认折叠。
261
- - **四个列表工具默认只列生效的条目**(`all=true` 看全量);**工具描述精简 37%**。
262
- - **参考信息段排版 + MCP 详情页标签化**:场景上提到 `##`、条目挂在各自场景下,名称恒为标题、显式描述进括号,bundle 补附件目录与文件名,正文文件 `SKILL.md` → `<名>.md`(旧数据只读兼容);运行状态挪到 MCP 详情页标题右侧做成彩色标签。
263
- - **数据全部收进 `tool-management/`,名字按域对齐**(`agents-md/` → `prompts/`、`agents/` → `subagents/`、`rules-index.json` → `memories-index.json`、`state.json` → `skills-state.json` 等);**升级自动搬**(只搬不删、绝不覆盖、失败下次再试)。
264
- - **四个工具族改名(破坏性)**:`agentsmd_*` → `prompt_manager_*`、`rule_manager_*` → `memory_manager_*`、`skill_mcp_manager_*` → `mcp_manager_*`、`subagent_list/run` → `subagent_manager_list/run`;提示词、工作流或文档里点名过旧名的要一起改。
265
-
266
- ---
267
-
268
- ## 0.8.5 - 2026-09-16
269
-
270
- - **新增技能 / 子智能体 / MCP 一律默认不启动**:创建与导入都不自动开启,由你手动打开(三域同口径)。
271
- - 历史页「已移除」标签红灰两色统一为灰色(此前红色 = 从未登记、灰色 = 曾登记被移除,区分无实际意义)。
272
- - 目录真实存在但没有「重新登记」按钮的问题修复:只要磁盘目录在,就能一键重新登记(带 stat 缓存,同一目录只探一次盘)。
273
- - 目录已删除的工作区组补明确状态:组头显示「⚠ 目录已不存在」,悬停说明原因与处理方式(会话仍可恢复/删除)。
274
- - peer 依赖去掉 semver 上界:宿主跨 minor 升级不再挡住插件安装,兼容性由运行时能力探测兜底。
275
- - 系统提示词注入段文案优化:子智能体段明确"人设是可用选项而非唯一可选",并补充委派机制说明;场景记忆段加固定引导语(常驻参考知识)。
276
- - 新增场景级 MCP 备注:场景档案的 MCP 段可为勾选的服务器写专属备注,进入场景覆盖全局备注、退出恢复原备注;MCP 备注前缀统一为「备注:」。
277
- - 未运行的 MCP 服务器现在也能看到工具数和勾选工具(按「最后见过的工具名」记录兜底)。
278
- - 场景档案 MCP 编辑改为固定尺寸弹窗:第一栏备注、第二栏工具勾选,「选工具」并入「编辑」。
279
- - 从未运行过的服务器:编辑弹窗里点「启动服务器读取工具」即可读取工具名单(读完后自动恢复原启停状态)。
280
-
281
- ## 0.8.0 - 2026-09-15
282
-
283
- - **场景锁定**:锁住后 MCP / 技能 / 子智能体 / 记忆 / 提示词整体只读(勾没勾的都不能动);未启动不能上锁,锁定中关不掉也切不走。
284
- - **子智能体开关**:默认只把启用的人设注入上下文;启动场景时档案勾选的人设自动启用,退出按快照精确停回。
285
- - **四个管理域补上导出**(技能 / 子智能体 / 提示词 / 记忆):导出弹窗分组折叠、默认不勾选、固定尺寸;记忆按场景分组、技能按来源文件夹分组。
286
- - **导入入口统一**:提示词补上与技能页同源的拖拽弹窗;四个导入弹窗一律「文件要求」清单。
287
- - **删除场景 = 连它下面的全部记忆一起进回收站**(含未启用与 bundle 附件),恢复时整条按原路径放回。
288
- - **场景名、人设名现在可以改**(改名连带目录搬迁与绑定同步)。
289
- - **提示词预设支持描述**:只显示在插件界面里,存 `meta.json`,绝不写进 AGENTS.md。
290
- - 子智能体人设目录与 MCP 服务器备注进入系统提示词(模型知道有哪些人设可委派、哪些 server 可用)。
291
- - 修复:进/退模式报 EPERM、开关要点两次(Windows 文件占用时 rename 自动重试)。
292
- - 修复:退出场景模式后 MCP 服务器级与技能目录不回滚(快照字段在读盘时被剥掉)。
293
- - 技能回收站重做:弹窗内上下两块(目录 / 技能)、各占一半、各自滚动;「删除记录」与「永久删除」统一为红色。
294
- - MCP 新增默认级别改为全局;「Profile 级」改名「应用级」,全局排在上面。
295
- - 界面统一化:按钮四级语义、弹窗固定尺寸只允许列表层滚动、命名统一「新增 / 导入 / 导出 + 页名」。
296
-
297
- ## 0.7.0 - 2026-09-15
298
-
299
- - 回收站扩到子智能体 / 场景 / 提示词预设(删除都进回收站,可恢复)。
300
- - 子智能体工具限制按 Agent 预设(每预设一份白/黑名单)。
301
- - 兼容页「预设注入边界」五列标签(绿/红/灰框)。
302
- - 明文密钥改为一律要令牌(没配 `token` 就不给明文)。
303
- - MCP「整理补丁」重新上线(删多余启停块,状态不变)。
304
-
305
- ## 0.6.0 - 2026-09-14
306
-
307
- - 新增「兼容」页(第 8 栏)+ doctor/host-deps 脚本。
308
- - 兼容判定从源码文本比对改为模块实体 + 能力探测。
309
- - 归档会话不再丢工作区归属(登记被删后重建分组 + 一键重新登记)。
310
- - 技能来源权限语义修正(默认来源必须读取但技能可删)。
311
- - 场景可绑提示词预设,切换场景直接改写 AGENTS.md(关掉自动恢复)。
312
- - 场景启用改单选,新场景默认不启动。
313
-
314
- ## 0.5.1 - 2026-09-13
315
-
316
- - 场景档案弹窗新加段默认不勾选。
317
- - 档案「记忆」段只列本场景的记忆。
318
- - 场景页排版重做(卡片只留名字+描述+动作)。
319
- - 保留场景「全局」不再出现在场景页与档案弹窗。
320
-
321
- ## 0.5.0 - 2026-09-13
322
-
323
- - 数据全部收进 `~/.dsh/tool-management/`(旧位置自动搬入)。
324
- - 场景升级为显式记录;根层裸 `.md` 不再注入。
325
- - 新增「导入技能」来源 + 「移除来源」操作。
326
- - 场景档案新增第 4 段「记忆」。
327
- - 修掉三个真故障:整页白屏、导出静默丢失、Skills 页锁死。
328
- - 斜杠命令全部下线。
329
-
330
- ## 0.2.0 - 2026-09-12
331
-
332
- - 五域合并进一个「工具」面板:MCP / Skills / AGENTS.md 预设 / History。
333
- - MCP 工具级启停、重启只重连、密钥打码、补丁备份。
334
- - Skills 接入 ~/.agents / ~/.codex / ~/.claude + 自定义目录。
335
- - History 按项目分组、批量操作、保留期清理、对话导入导出。
336
-
337
- > 0.1.1 / 0.1.2 / 0.1.3 无独立记录(仅 git tag)。
1
+ # 版本更新概要
2
+
3
+ 每个版本大致改了什么——想知道「升上去会变什么」看这里就够了。逐条细节见 [Changelog](../CHANGELOG.md),功能说明见 [README](../README.md) / [README_EN](../README_EN.md)。
4
+
5
+ | 版本 | 发布 | 主题 |
6
+ | ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
7
+ | [0.15.0](#0150---2026-09-28) | 2026-09-28 | 适配 DSH 0.1.7-rc.2:修好 MCP 列表与注入 + 预设边界与极简兜底注入 + 会话标题 + 设置令牌 + host-deps / doctor;新增 MCP 导入导出、配置体检、最近改动流水、场景绑工具表方案、整机迁移快照;功能总览英文补齐、兼容页收弹窗与界面打磨 |
8
+ | [0.14.0](#0140---2026-09-23) | 2026-09-23 | 场景与记忆分家(共 20 条工具)+ 模型能进入 / 退出场景 + 场景档案对模型可见、改档案会报出被挤掉的项 + 注入只写"现在是什么"(省 21.9%)+ 十五条工具出厂默认关(每轮实发 5 条 ≈1,090)+ 工具表可存方案一键换回 + 人设思考强度 + 改 MCP 配置不碰明文凭据 + 提示词「生效中」修好 |
9
+ | [0.13.0](#0130---2026-09-23) | 2026-09-23 | 模型多五个管理工具 + 所有写操作都要用户点头 + 工具表可关(省 token)+ 进场景前先看一眼会改什么 + 悬空引用体检 + 注入实况改为只数当前这段对话 + 技能正文一步读到 + 记忆页显示体积 + 门禁清单合成登记表 + 自定义目录的技能修好
10
+ | [0.12.1](#0121---2026-09-22) | 2026-09-22 | 子智能体列表行:人设名与描述分行 + 客户端类型检查进门禁 + 四个注入上限抬高 |
11
+ | [0.12.0](#0120---2026-09-20) | 2026-09-20 | 兼容页「功能总览」+ 停用工具真的从模型工具表消失 + 补丁写入前做解析校验(拦"写坏 DSH")+ doctor 三项新检查(挂载心跳 / 裸模块名 / 版本栅栏)+ 删除入口先不切换 + 投影缓存屏障与删除前置检查加固 + 关域拦截顺序钉死 |
12
+ | [0.11.0](#0110---2026-09-20) | 2026-09-20 | 访问令牌卡片重构(可设置 / 关闭 / 修改 / 删除)+ 没解锁时锁住输入框 + 令牌安全修复 + 批量启停可撤销 + 兼容页清理旧备份 + 两页可搜索 + 体检改为真调 + 一批凭据与数据损坏修复 + 搜索与列表提速 |
13
+ | [0.10.0](#0100---2026-09-18) | 2026-09-18 | 注入框架改 markdown(动作句加粗前置)+ 注入采纳统计 + 人设角色框 / inherit / catalogDepth + 场景锁定补齐模型侧 + 记忆删除全走回收站 + 错误码全量双语 |
14
+ | [0.9.1](#091---2026-09-17) | 2026-09-17 | 注入实况 + 场景内开关同步档案 + 全选统一 + 退出场景卡死修复 |
15
+ | [0.9.0](#090---2026-09-16) | 2026-09-16 | 注入改走上下文通道(极简可注入)+ 五域各自注入 + 场景接管一致性修复 |
16
+ | [0.8.5](#085---2026-09-16) | 2026-09-16 | 历史页标签统一 + 目录存在即可重新登记 + 场景 MCP 备注 + 新增三域默认不启动 |
17
+ | [0.8.0](#080---2026-09-15) | 2026-09-15 | 场景锁定 + 子智能体开关 + 四域导出 |
18
+ | [0.7.0](#070---2026-09-15) | 2026-09-15 | 回收站全量 + 预设注入可见性 + 密钥令牌化 |
19
+ | [0.6.0](#060---2026-09-14) | 2026-09-14 | 宿主兼容体检 + 兼容页 |
20
+ | [0.5.1](#051---2026-09-13) | 2026-09-13 | 场景档案默认不勾选 + 场景页排版重做 |
21
+ | [0.5.0](#050---2026-09-13) | 2026-09-13 | 数据目录统一 + 场景显式化 + 界面重做 |
22
+ | [0.2.0](#020---2026-09-12) | 2026-09-12 | 五域合并进一个「工具」面板 |
23
+
24
+ ---
25
+
26
+ ## 0.15.0 - 2026-09-28
27
+
28
+ - **适配 DSH 0.1.7-rc.2,升级咬人的几处全修好**:MCP 列表与注入失效(官方改了 `prepareDocument()` 返回语义,插件读错文件)、预设边界整片「无法判断」与极简下技能 / 提示词不注入(名册 `read` 改名 `readDocument`)、「设置令牌」失效(改写进 profile 补丁的覆盖条目)、host-deps / doctor 找不到宿主(发现序列加 npx 缓存扫描)、技能页误报已删目录。兼容探测表补上「设置文档路径」「预设名册读取面」两块契约面,健康行常显实际观测值;主目录推导加自检,异常才上报。
29
+
30
+ - **会话列表修好了**:标题一直显示成 ID 长串(读标题的调用不符官方契约、报错被静默吞掉,其实从没读到过);现在真实标题恢复显示(2026-09-28 用户反馈)。
31
+
32
+ - **功能总览在英文界面补齐翻译**:行名与说明改由客户端词典出句、服务端只传数值,对不上回退中文原文(2026-09-28 用户反馈)。
33
+
34
+ - **功能总览的黄色只留给功能出问题**:停用类两行恒为绿色「正常」,停了多少写进说明;顺带修好锁定场景的灰胶囊标签与「注入域开关」6/5 的分母。
35
+
36
+ - **访问令牌卡片改了两句文案**:没令牌时不说吓人的话;「找不到加载器行」改成按用户能做的动作说。「判断不了」统一改成「无法判断」。
37
+
38
+ - **版本声明对齐**:peer 范围改 `^0.1.5-rc.2 || ^0.1.7-rc.2`,已验证版本升到 0.1.7-rc.2;0.1.7 新增的原生恢复入口由探测自动启用。
39
+
40
+ - **五件增量功能一并进来**:
41
+ - **MCP 页「导入」/「导出」**:社区 JSON 粘进来一次建齐,重名与净化在预览里说清;导出顶上写明含明文凭据。服务端零改动。
42
+ - **MCP 配置体检**:每行一枚状态点,查命令、URL、字段形状、名字撞车;改了配置旧结果作废。
43
+ - **「最近改动」流水**:谁、什么时候、动了哪条,三方来源各标各的;只记对象名不记参数内容,可按域筛、可清空,时间恒显「月-日 时:分」。
44
+ - **场景能绑一份模型工具表方案**:进场景换工具表省 token,退出还原;绑定入口在「修改场景」表单,改启用中场景立即生效。
45
+ - **整机迁移快照**:一个目录带走全部(MCP 默认打码),导入先预览、勾选域再执行。
46
+
47
+ - **兼容页与界面打磨**:「最近改动」「整机迁移」「注入实况」收进顶部按钮 + 弹窗(「最近改动」固定尺寸、只滚列表,可清空记录);「预设注入边界」与子智能体高级选项的行名改成标准 / PTC / 极简 / 创造模式;场景档案改 2×2 网格四段同屏(更名「子智能体集」「记忆集」);兼容页留白收紧。
48
+
49
+ ---
50
+
51
+ ## 0.14.0 - 2026-09-23
52
+
53
+ - **场景和记忆分家了**:工具上是两族(记忆 4 条、场景 3 条 —— `_list` 查、`_switch` 进入 / 退出、`_save` 建与改),注入上是两段(「场景」讲当前启用的是哪个、它是什么;「记忆」讲各场景下的条目)。好处有两个:能**单独关掉记忆段**而保留场景说明;模型终于能查场景、配场景、进 / 退场景。注意写档案**不会**让场景生效 —— 生效要进入它。
54
+
55
+ - **模型能进入 / 退出场景**(`scene_manager_switch`):以前它看得到场景、却只能说一句"请你到界面上点"。现在你说"切到写作场景",它就能按该场景的档案把 MCP / 技能 / 人设整套拨到位、注入收窄成这个场景的记忆、把绑定的提示词写进 `AGENTS.md`;退出按进场景前的快照还原。它改的是整个运行时环境(和你在界面上点那一下同一条路径),所以**默认要你确认**。
56
+
57
+ - **改场景档案之前,模型能先看到现在勾了什么**:`scene_manager_list` 列出每个场景的档案、绑的预设、锁没锁、几条记忆。保存是**整段替换**,以前它想"再加一台服务器"就会把你原来勾的**静默挤掉**、回执还写着成功;现在回执会列出被挤掉的项(`mcp 4 项 → 2 项(-B、-C)`)。
58
+
59
+ - **注入的套话全削了,只留"现在是什么"**:把四次实际注入摊开量过 —— 四个板块 823 token/轮,**真正的内容只占 46%**,其余是"我是谁、什么时候看我、以我为准"。于是六个板块开头那句加粗的"什么时候该想起我"全删(它们是指令,不是当前情况)、机制解释删、四种措辞的权威声明并成一句。现在 **643 token/轮(省 180,−21.9%)**。层级也理清:板块 `#` / 场景 `##` / 条目 `-`,一眼看得出主次。
60
+
61
+ - **工具改名并合并:还是 20 条,但每族只管一件事**。五个「新建」并成 `_save`(有则改、无则建),六个域的开关统一叫 `_switch`,场景自成一族。**旧名不留别名**(别名要常驻每轮请求)。你以前"关掉了某条工具"的设置会自动搬到新名字上,包括存下的方案。
62
+
63
+ - **十五条工具出厂就是关着的**:每轮真正发出去的只剩 **5 条 ≈1,090** token(整表 ≈3,769)。关的是三个「保存」、提示词两条、三个目录查询、`memory_manager_read`、场景三条与三个启停开关 —— 判据是**这些信息或动作常态下由注入段和面板承担**,平时用不到模型自己伸手。**`mcp_manager_switch` 留着**("这台先给我关了"最常用)。代价摆明:注入的目录只列当前可用的,所以"没开的服务器 / 被同名覆盖的技能 / 没进上下文的记忆正文"在会话里查不到,模型也不再替你拨那三个启停。这条默认**只在你从没动过那一页时生效**,存过的选择不会被更新盖掉;「兼容」页可逐条打开。
64
+
65
+ - **工具表的开关能成批存下来、一键换回**:「模型工具表」合计行右侧多了**「保存方案」/「恢复方案」**。存的时候起个名字,以后点一下就整套换回,不用挨个点二十个框。**名字不能重复**(保存永不覆盖已有那份)。清单第一条永远是**出厂默认**,它不写在文件里、也就删不掉;自己存的方案可以在同一个弹窗里删。每行都写着"开着几条 · 一轮大约多少 token"。
66
+
67
+ - **MCP 与技能补了几处模型侧能力**:改一台已配置的服务器(只改 URL 就只给 URL,其余字段与密钥原样保住)、只停某个工具、顺手写备注;技能能整目录启停、能改本插件自己写的那份。
68
+
69
+ - **人设多了「思考强度」**:在高级选项里与「模型」并排。档位是模型自己声明的,所以换模型要重新选;选了新模型之后旧档位若不在新清单里,会**自动清掉并告诉你**(留着下一次委派会被直接拒)。**指定了模型时留空不会沿用主会话那一档**,而是回落到该模型自己的默认。
70
+
71
+ - **提示词页的「生效中」修好了**:场景接管时,模型拿到的清单以前报"文件里是它"、界面报"场景绑的那份",同一件事两个答案。现在两边同源,清单里还会标出"文件里是它、但基线由场景驱动"这种真实状态。
72
+
73
+ - **几处显示毛病**:记忆正文改成代码块包住(正文里手写的 `#` 以前会渲染成大标题、盖过场景分组);子智能体高级选项折叠后的摘要固定排两行(不再把「高级选项」挤成竖排);提示词预设的描述框补上字数上限。
74
+
75
+ - **给模型的话对齐了事实,指的路都能走通**:应用提示词的回执以前说"下个会话生效",实际**下一轮就生效**(模型会白劝你重开会话);场景保存的参数说明还引用着已被删掉的"注入后模型会照办"那句,改成了如实说明去向;工具描述与回执不再点名出厂默认关掉的工具(改用中性说法,或按开关在不在分叉——只在你真开了那条工具时才点名它);两条清单工具的描述也对齐了各自真实给的东西。新增一条契约测试,把"描述点名被关工具"这类静默毛病挡在构建里。
76
+ ---
77
+
78
+ ## 0.13.0 - 2026-09-23
79
+
80
+ - **模型能管的比以前多了五个**:以前它看得到一份记忆、看得到一个人设,却开关不了也改不了(技能与 MCP 那两域早就能全操作)。现在记忆的启停与修改、人设的启停与新建修改都补上了。提示词按裁定只留「应用」。
81
+
82
+ - **所有会改东西的工具都写明了"要用户开口或先同意"**。以前只有两个工具有这句话,其余靠确认门兜 —— 而那个门是可以关掉的(设置里关掉记忆确认,或会话走「完全权限」预设)。顺带把工具说明删瘦了一圈:这些文字每次请求都要发给模型,八个改过的存量工具加起来从 2,047 → 1,980 字节,**加了上面那句还净降 67**。
83
+
84
+ - **点「进入场景」会先弹一张卡**:说清这次会启用/停用哪几台 MCP 服务器、哪几个工具、哪几个技能目录与技能、哪几个人设,以及记忆范围收窄到哪一场景;末尾再补两行"进入后是什么样"——**启用 N 台 MCP**、**启用 N 条记忆**(含公共基线与全局)。不想看这张卡就点「不再显示」(场景页右上角有「关闭提醒 / 开启提醒」可以随时改回来);卡上只有「确认进入」与「不再显示」两颗按钮,关掉卡片用右上角的「关闭」。只有**真的会变**的才列:没在跑的服务器不会被写成「停用 N 个工具」,技能也只显示名字(不再带 `custom-…` 那串机器名)。
85
+
86
+ - **改名留下的"悬空引用"有地方说了**:档案里存的是服务器名、技能名、人设名,场景记录里存的是预设 id。你把「代码审查」改名「复核员」,档案里那行还是旧名 —— 界面看着还绑着,委派时按新名找不到。现在场景页顶部会有一条黄横幅说清"哪一条指向谁、那个谁不在了"。只数出来、不自动改。
87
+
88
+ - **读技能正文少了一步**:新工具按名字一次给到正文和路径,而且按与目录同一套规则挑副本 —— 同名几份时读到的就是真正生效的那一份,不会读到被覆盖的影子。
89
+
90
+ - **工具说明可以关掉不发**:工具表每一轮请求都随工具发一遍,20 个工具的说明合计约 3,500 token,这一轮用不上也照付。兼容页新增「模型工具表」,逐个勾选(也能按域全关),关掉的**整份不进请求**——这是唯一真省钱的办法,默认一个都不关。关掉之后模型调不到它,**但插件面板一切照旧**(关掉 `mcp_manager_add` 之后 MCP 页照样能加服务器)。
91
+
92
+ - **有一个工具会自动让位**:技能那条「按名字读正文」在会话里已经有官方 `skill` 工具时不再下发——两份干的是同一件事。极简模式没有官方那件,我们的照旧留着。只影响那个会话的工具表,能力不减(管理视角的"读一个被关掉的技能"在面板里做)。
93
+
94
+ - **注入实况那三个数改成只数「最近这一段对话」**:以前是开机以来一路累加,用一下午之后「注入 8 次 · 从未调用」讲的是"今天这台机器",而你打开面板问的是"眼前这段里模型用没用"。现在每段对话各记一本账,换一段重新数。
95
+
96
+ - **记忆页每行显示正文体积**:记忆是唯一直接进上下文、直接吃预算的那一域(每个场景段 128 KiB),以前看不出哪条大。
97
+
98
+ - **场景描述能写到 300 字了**(原来 60),输入框下面那句提示删掉了 —— 卡片上那行本来就用省略号截,60 卡的是"能存多少",给的理由说的却是"显示多少"。四个注入上限也重新校准:记忆段 256 → 128 KiB;技能 / 子智能体 / MCP 三条目录都收到 50;MCP 备注 200 → 300 字。
99
+
100
+ - **界面补了四处小东西**:新增 MCP 服务器的弹窗能顺手写备注了;MCP 备注、人设描述、技能描述、记忆描述五处输入加了「当前 / 总字数」(分母就是模型实际能读到的长度);场景页加了搜索框;`/` 聚焦搜索框、Esc 清空它(只挂在插件自己那块 UI 上,不抢宿主的快捷键)。
101
+
102
+ - **门禁那几份清单合成了一张登记表**:哪些 op 要令牌、哪些在场景锁定时不许动、哪些改完要同步进场景档案……原来是五份各自抄写的名字清单,加一个新 op 得记得挨个补,这事已经漏过四次(后果不是报错,是"没配令牌也能改"或者"锁定的场景还能改")。现在每个 op 只登记一次,那五份清单都从它生成,派生结果与改之前**逐条相同**。启动时还会反查一遍登记表,有 op 没登记、有登记留着但 op 早改名了,都在兼容页挂提示。
103
+
104
+ - **自定义技能目录里的技能能调动了**:以前列表里看得到、也标着"已启用",模型一调却报"没有这个技能"。原因是两处用了不同的来源清单 —— 取正文时只查那五个固定目录,你添加的自定义目录永远落空。
105
+
106
+ - **「采纳」这个数改准了**:以前你把某个域关掉之后模型去调它的工具,照样记一次采纳 —— 因为「××已清空」那条通知也带着域标记,被当成了"正文在眼前",第三列其实是第二列的复印件。现在通知不算正文了,「调用 − 采纳」才有得读。
107
+
108
+ - **README 里有一处说错了,已改**:原文说子智能体那两个工具"依赖宿主挂载 provider 包,缺席时不注册、界面也不提示"。实际是注册不受影响,要到**调用的那一刻**才报"子代理服务未挂载";而真的注册失败时,界面上**是**有提示的。
109
+
110
+ ---
111
+
112
+ ## 0.12.1 - 2026-09-22
113
+
114
+ - **子智能体页的列表行改了版式**:人设名与描述分成两行。以前名字和描述挤在同一横排里、右边还压着开关和两颗按钮,名字只剩两三个字符宽(显示成 `co...`);现在名字独占一行、装不下才按省略号截断(悬停看全名)。
115
+
116
+ - **客户端的类型检查进了门禁**:`typecheck:client` 以前只是定义在那里、没有任何地方调用,而且是红的。修掉后并进了 `npm test` 与发布前置 —— 客户端改动不再只有语法检查这一道网。
117
+
118
+ - **四个注入上限抬高了**:记忆段预算 64 KiB → 256 KiB;技能目录 50 条 → 60 条;子智能体 40 条 → 60 条;MCP 50 条 → 60 条。描述截断窗口没动(技能与官方同源,抬成两套会让同一技能在不同预设下长度不一致)。提示词域也没动。
119
+
120
+ ---
121
+
122
+ ## 0.12.0 - 2026-09-20
123
+
124
+ - **兼容页多了一块「功能总览」**:一行一个功能点,第一行就是「插件是否完整挂载」;状态是装配层 + 宿主能力层 + 你当前配置的合成结果(正常 / 降级 / 未启用 / 受令牌限制 / 部分生效 / 不可用),点一行跳到对应页签。它回答的是"现在到底哪一项能用、为什么不能用"。
125
+
126
+ - **停用的 MCP 工具真的从模型可见的工具表里消失了**:以前「停用」只在调用时拦截,模型照样看得见这个名字,还会去调、然后被拒。现在按 agent 逐个摘掉;重新启用后恢复可见。
127
+
128
+ - **改写宿主配置前先自检一次**:复刻官方解析补丁的那套 YAML 方言,写入前判一次产物。只有"改前能解析、改后不能解析"(=我们的改动弄坏了)才拒绝写入并保留原文件与备份;复刻过期或依赖缺失一律照写 + 上报(不拿能力换保守)。这条正是针对"写坏 `cordis.patch.yml` → DSH 起不来"那类事故。
129
+
130
+ - **发行物自带的那段 `!!js` 表达式包了兜底**:它在每次启动被官方求值、且那条链上没有任何保护;现在出错只返回 false,不会把启动流程拖垮。
131
+
132
+ - **宿主补上原生删除入口时先不切换**:改为上报 + 继续走本插件自有完整序列(级联子会话 + spill + 记账 + 缓存行)。切换要等人工核对过原生语义 —— 那段代码今天不可达,不可事前验证的代码不写。
133
+
134
+ - **删除的前置检查补齐了**:转录清理需要的两个接口(会话头部读取、持久化 `locate()`)以前排在破坏性步骤之后,缺了会留下"转录还在、记账已清"的半删态;现在和别的检查一样,动手之前先确认。
135
+
136
+ - **关掉技能 / 提示词域后,官方那条注入真的停了**:此前拦不拦得住看启动时的注册先后,可能没拦住;现在位置固定,不再看运气。
137
+
138
+ - **投影缓存删除屏障的三处缺陷修掉**:第三方也包装同一份缓存时旧屏障会"退役了还被复用"(墓碑拦截静默失效、缓存行可能复活)、复用前不校验、首次使用抛错会留半个包装器。现在退役即摘出、复用先验证、出错就恢复原方法并上报。
139
+
140
+ - **兼容页显示与真实能力对齐**:删除动作的可用性判定以前把本机可用的删除显示成不可用;身份锚点以前在 dev 布局下会比出假的「同一份模块」(界面 ok、doctor 说不一致)。两处都改成与服务端/doctor 同一份依据。
141
+
142
+ - **几处"静默降级"改成看得见**:技能 provider 与注入通道装配失败(以前只落 console)、工作区实体快照写不进去、关域拦截因注册顺序变化而失效 —— 现在都会出现在兼容页的降级项里。
143
+
144
+ - **doctor 多了三项检查**:运行时裸模块名是否仍被宿主暴露;插件挂载心跳(含 12 个 inject 服务名,插件没挂上时唯一的线索);宿主版本与本插件验证过的版本不一致时显式提示。
145
+
146
+ ---
147
+
148
+ ## 0.11.0 - 2026-09-20
149
+
150
+ - **访问令牌那块整个重排了,按作用域拆成两块**:「访问令牌」只管本次启动(状态胶囊 + 解锁框),「令牌管理」只管配置文件 —— 设置/修改、保护开关、删除、清除令牌四行静态清单,位置尺寸统一。所有写配置的操作都在弹窗里完成(要输一次令牌确认),页面不再有会展开收起的东西;成功就是弹窗收起 + 状态行更新,失败错误显示在弹窗内。
151
+
152
+ - **访问令牌能设置、能关掉、能改、也能彻底删掉了**:关掉只是"暂时不生效",令牌留在配置里,随时开回来不用重填。
153
+
154
+ - **关闭 / 修改 / 删除令牌都要当场再输一次当前令牌**:解锁过不算,三个销毁方向同一套就地确认。
155
+
156
+ - **用环境变量提供令牌的用户**:以前「保护开关」会把开着的保护显示成"开启保护"、找不到关闭入口 —— 现在方向按实际生效状态判断;文件里没有令牌值时「删除令牌」也不再显示。
157
+
158
+ - **两处残留清理**:宿主没配令牌但浏览器里记着旧令牌时,现在有「清除令牌」入口;别处触发"去填令牌"时,会先收起弹窗再聚焦解锁框。
159
+
160
+ - **「令牌未验证」的橙色横幅能手动关掉了**:它以前层级压过一切、会盖住宿主设置窗口;现在降到弹窗之下、带关闭键,关掉后本次锁态期间不再弹,解锁后再锁照常回来。
161
+
162
+ - **堵上一个令牌漏洞**:解锁一次后「清除令牌 + 强刷新」,对话照样能发 —— 宿主侧"本次启动验过"的记号只挂不清。现在清除令牌会把这个记号一并摘掉,必须重新填对令牌才能继续对话;其它标签页里残留的旧令牌也同步作废。
163
+
164
+ - **令牌开着、本次启动还没解锁时,输入框锁住、无法对话**:对话不经过插件的 HTTP 门禁,此前配了令牌没填也照样能聊、注入照样进上下文。现在这种情况输入框直接锁住并说明去哪填,填对后立刻恢复。
165
+
166
+ - **兼容页能清理旧备份了**:每份备份都是整份配置的副本、凭据在里面是明文。逐层级选删除份数,弹窗内二次确认,只删备份、不碰当前配置。
167
+
168
+ - **批量启停可以撤销了**:改完出现一条不会自动消失的提示,点「撤销」按操作前的状态写回。
169
+
170
+ - **提示词页与子智能体页能搜了**:一个输入框按名称 / 描述过滤,无命中说「没有匹配的…」。
171
+
172
+ - **兼容体检改为真调一次**:归档 / 解档 / 批量 / 删除与会话 detach / announce 各用一个哨兵 id 真调,调不通就降级并说清原因。
173
+
174
+ - **打码的密钥不会被「保存」写坏**:以前改完保存会把打码值当真值写回,真密钥永久丢失;现在用原值顶替,没原值就拒绝保存。
175
+
176
+ - **「设置令牌」不再可能把 DSH 写坏到起不来**:`config:` 形状认不出来就拒绝改写,不再插入重复键。
177
+
178
+ - **记忆索引损坏不再静默清空配置**:坏文件留存、拒绝写入并说明怎么办。
179
+
180
+ - **一批静默失败现在会明说**:子代理工具没注册上(子智能体页黄条)、记忆正文读不到(记忆页告警条)、开关没写进去、批量归档部分失败、导出撞名跳过。
181
+
182
+ - **几处会丢东西的坑**:编辑 MCP 服务器不再把 URL 里的凭据写成占位串;导出会话不再覆盖同名文件;MCP 重启中断不再把服务器留在停用态。
183
+
184
+ - **导入文件不再让设置面板变空白**;**详情弹窗不再被晚到的响应搅乱**;**「显示密钥」真的能显示明文了**。
185
+
186
+ - **令牌提示统一成一句话**,不再几秒后自己消失,且在弹窗里也看得见。
187
+
188
+ - **锁定场景补上一个绕开方式**:清空启用集合会让模型侧的锁定判据失效,现在会被拒绝。
189
+
190
+ - **场景名末尾带空格或点会被当场拦下**(界面与宿主此前两套校验、已经分叉)。
191
+
192
+ - **搜索与列表变快了**:六页搜索改成停手约 200ms 才过滤,列表只在数据或搜索词真变了才重算;会话批量删除不再逐条重扫全部会话。
193
+
194
+ - **导出与超大请求体加了边界**:单文件 32 MB / 合计 256 MB,超了明确报错;注定超限的上传在开始读之前就拒掉。
195
+
196
+ - **键盘可达与「减少动态效果」**:导入拖拽区变成真按钮、工具页签补上方向键切换;系统开了减少动态效果后,开关 / 拖拽区 / 预算条不再有过渡。
197
+
198
+ - **没配访问令牌时,查看明文密钥不再要求令牌**:此前点「显示密钥」只有一句"缺少访问令牌",跳到兼容页也没有任何可填的东西。有令牌(含"关掉保护")时照旧要带对的。
199
+
200
+ - **「注入」设置块不再因为没填令牌而整块消失**:读设置不再按写操作门禁(写仍然要令牌),所以不必先填令牌、也不必刷新页面。
201
+
202
+ - **技能 / 子智能体 / 记忆三页会显示场景与锁定横幅了**:此前服务端标了、界面读不到。顺带修掉一个更实的:记忆页的写控件在场景锁定时**从没被禁用**过。
203
+
204
+ - **场景锁定期间不再显示「改动会同步写进场景档案」那条长提示**:开关都是灰的,那句话没有落点,还与锁定横幅并排矛盾。
205
+
206
+ - **批量启停的撤销条改成琥珀色**:边框、提示句都染成告警色,更容易看见。
207
+
208
+ - **文档与实现对齐**:README 补上此前没写的边界(锁定到底冻结哪些、会话删除不进回收站、密钥在磁盘上始终是明文等)。
209
+
210
+ ---
211
+
212
+ ## 0.10.0 - 2026-09-18
213
+
214
+ - **「注入实况」显示每个域的采纳统计**:「注入 N 次 · 调用 M 次 · 采纳 K 次」,勾了开关但模型从没伸手一眼可见;节头并标注本进程观测到的工具调用数,区分「模型没用」与「统计没接上」。
215
+
216
+ - **人设可配「目录注入」(`catalogDepth`)**:控制常驻人设目录注入到哪一层会话(默认只在顶层),不限制子代理继续嵌套。
217
+
218
+ - **人设子代理支持 `inherit`**:继承本次会话**已完成**的轮次(本轮内委派仍要写全任务);贴合人设的任务从此一律走 `subagent_manager_run`,官方 `subagent` / `subagent_fork` 只在没人设贴合或需要后台任务时用。
219
+
220
+ - **人设新增「输出要求」字段(`output:`)**:一行一条硬要求,单独成节写进子代理系统提示词,并约束父代理的 `task` 只给目标与上下文、不规定做法。
221
+
222
+ - **注入框架重排为 markdown 四级结构**:`##` 标题 + 加粗动作句前置 + 补充动作行 + 取代声明,五域同一副骨架;场景记忆与子智能体引导语同步重写(给判据、给优先级、补触发条件),正文重复标题与「已清空」通知的插件前缀一并去掉。
223
+
224
+ - **提示词注入不再「裸送」**:与其余四域同款框架且整条包进 `<system-reminder>`(正文里的闭合标记会转义),界面显示来源文件与载入状态,模型侧正文带「来源:」行。
225
+
226
+ - **关掉「技能」或「提示词」的勾选,官方那条注入一起停**(此前只停本插件自己);其余三域勾选完全生效。
227
+
228
+ - **子代理会话不再注入场景记忆**(只在顶层注入),子代理上下文收敛为「角色 + 任务」,需要时用 `memory_manager_*` 自取。
229
+
230
+ - **人设进子代理系统提示词时带角色框**:`# 角色:名` 标题 + 授权/边界一行 + `## 角色定义` 围栏,不含 `description`,人设文件本身不用改。
231
+
232
+ - **MCP 列表改为全局在前、同级按名排序**,页面、场景档案勾选器与模型侧清单三处同序。
233
+
234
+ - **人设目录的注入判据定为「深度 < `catalogDepth`」**;「注入实况」两档状态改称「已注入 / 不在本会话注入」,无正文行不再画展开箭头。
235
+
236
+ - **五个管理工具的描述回指上下文里的注入块**,目录与工具互相指路。
237
+
238
+ - **全部服务端错误码补齐双语词条**(此前 15 码无词条,英文界面回退中文原文);目录选择器与技能详情 frontmatter 标签同样改走词典。
239
+
240
+ - **README 安全段补充**:栅栏降级面、`dir-list` 暴露面、HTTP 状态码以 `body.ok` 为准、裸 API 退出场景不清启用集。
241
+
242
+ - **文档更正**:人设「默认停用」(此前写成自动启用)、场景接管期间「应用 = 改绑该场景」(此前写会被拒绝)、「四域开关同步档案」更正为三域(并更正 0.9.1 条目同句)、密钥打码字形改为与实现一致。
243
+
244
+ - **场景锁定补齐模型侧**:`mcp_manager_add` / `skill_manager_create` / `memory_manager_write` / `prompt_manager_apply` 四个工具此前绕过守卫,锁定期间仍可调用。
245
+
246
+ - **记忆怎么删都进回收站**:形态转换与改名此前直接删旧文件(bundle 连附件一起),现在先入回收站再删。
247
+
248
+ - **`mcpm-tools-refresh` 要求令牌**:它会临时启停服务器并写两次补丁,此前漏在写操作门清单外。
249
+
250
+ - **子代理结果不再混入思考块**;「没有正文」按收尾原因分档说明,不再一律报「无输出」。
251
+
252
+ - **人设正文与名字里的 `{{…}}` 不再让子代理启动失败**。
253
+
254
+ - **子会话里调委派工具不再被本插件拦下**(不再向官方传 `maxDepth`,人设列表也不再按深度过滤)。
255
+
256
+ - **MCP 状态不再把「连不上」报成「可用」**:可用性只认当前真实注册的工具数;曾连上、当前不可用的如实标注。
257
+
258
+ - **场景里手动关掉的技能目录 / MCP 服务器,退出场景后正常还原**(快照全量记录进场景前状态)。
259
+
260
+ - **覆盖导入失败自动回滚**;编辑 MCP 服务器保留手写的 `toolCallTimeoutMs`;整台停用时「上次运行时」工具行不再标「已启用」。
261
+
262
+ - **场景进行中改 MCP serverName 或人设名,退出场景恢复正常还原**;重启等待窗口内的并发启用不再被快照覆盖。
263
+
264
+ - **记忆描述含独立 `---` 行不再截断**(此类多行描述改用引号标量序列化)。
265
+
266
+ - **提示词页「应用」失败现在会显示错误**;手工编辑 memories-index.json 的场景描述会触发注入重算。
267
+
268
+ - **兼容页「注入实况」的说明不再截断、节头不再错位**;技能页页头按钮窄栏自动收档,「全选」不再折行。
269
+
270
+ - **访问令牌比较改为常量时间**(双侧 sha256 + timingSafeEqual)。
271
+
272
+ - **测试与开发工具**:补 parseModeState 透传契约断言;client-render 夹具对齐现行响应形状;check-i18n 修复行首键漏对账;`preview-memory-note` / `preview-compat` 修到可跑。
273
+
274
+ - **六个管理页的启用项排到列表前面**:MCP / 技能 / 子智能体 / 提示词 / 记忆 / 场景,开着的浮在上面、停用后落回原位(两半内部保持原顺序,不是按名重排;提示词页没有开关,按「生效中」排)。拨开关引起的换位有 180ms 过渡,搜索 / 筛选 / 折叠与轮询刷新引起的位移不做动画,「减少动态效果」下直接落位。
275
+
276
+ ---
277
+
278
+ ## 0.9.1 - 2026-09-17
279
+
280
+ - **兼容页新增「注入实况」**:直接看最近活跃会话里模型**实际收到**的五域文本,并分清「在上下文中 / 未投递 / 官方注入 / 已关闭」——勾了开关却没送到时一眼可见。
281
+ - **场景里也能直接开关了**(未锁定时):MCP、技能、子智能体照常改——**改动会同步写进这个场景的档案**,当下生效、下次进这个场景也照样生效,退出仍按进场景前的状态还原;只有**锁定**才冻结。
282
+ - **「全选」统一成二合一**:所有全选按钮都是「全选」↔ 点完变「取消全选」,不再并列两个;技能管理页、记忆管理页、记忆的每个场景卡片补上了缺的批量开关。
283
+ - **技能管理页每个来源(目录)卡片也有批量开关**,点「全选」或卡片上的来源开关都会顺带把这张卡片展开——批量结果就在下面,不然点完只剩按钮改了字。
284
+ - **人设也严格「退出即还原」**:场景里手动打开的人设,退出时会回到进场景前的状态(场景中新建的不受影响)。
285
+ - **bundle 记忆会显示带了几个附件**:记忆行上多一颗「N 个附件」标签(一个都没有的也显示,灰色),鼠标停上去能看到总量与文件名,点一下直接打开编辑弹窗并跳到附件区。
286
+ - **技能目录卡片上的「移除来源」改成一个垃圾桶图标**:它是低频的破坏性操作,却和「全选」并排、还带红框,四个字一挡上去整行看着就不协调;鼠标停上去会说明后果,点下去照旧弹确认框。
287
+ - **按钮位置**:MCP 页的「全部启用 / 全部停用」移到页头动作栏;会话页的「全选」移到「导出会话」旁。
288
+ - **修复:退出场景失败、卡在场景里**(报错里出现「技能来源 project-dsh:… 启用失败」):项目级来源的解析依赖那个工作区还在活动会话里,退出时早关了 → 报错中断,于是再也退不出来;现在按 key 前缀解析,真恢复不了的只跳过并警告。
289
+ - **修复:场景里打开技能,档案不跟着变**:开关的参数里没有「开 / 关」(方向写在操作名里),同步逻辑却去读那个不存在的字段,于是所有「打开」都被当成「关闭」、开关白点;现在按操作名判方向,档案没写成时页面也会如实提示。
290
+ - **修复:被同名技能覆盖的副本被勾进了场景档案**(技能页显示「未启动」、档案却说它开着):现在这种技能进不了档案,编辑档案时那一行也不可勾选,历史残留一并清掉;结构不完整的技能同样跳过(以前会让整个场景进不去)。
291
+ - **修复:场景档案的 MCP / 技能 / 子智能体段全勾满了还显示「全选」**;顺带把并列的「全选 + 清空」收敛成一个按钮。
292
+ - **修复:刷新按钮点完「像没点」、而且一刷新整行还会跳**:按钮宽度改为按更宽的那份文案固定(和「全选」同一套做法);MCP / 提示词 / 会话三页的刷新从来不立起加载标记,所以只有刚进页面那一下能看到「刷新中…」,现在手动刷新会真的切过去。
293
+ - **修复:flat 记忆的描述和「已启用」之间空了一大截**(窄侧栏下空标签行仍占行间距),现在那行不占位置了。
294
+ - **修复:MCP 工具描述的「展开」按钮出现得莫名其妙**:以前按字符数猜(超过 120 字就出按钮),两行放得下的短描述也出按钮、点了没反应;现在按"真的被裁到两行"显示。
295
+
296
+ ---
297
+
298
+ ## 0.9.0 - 2026-09-16
299
+
300
+ - **注入改走「上下文注入」,极简这类预设也压不掉了**:记忆 / MCP 清单 / 子智能体目录 / 提示词此前是系统提示词段,persona `complete` 的预设(极简)会把它们整段压掉,模型什么都看不到。现在改走官方自己用的那条通道(每步请求前注入一条消息)、内容没变不重发;**极简这类预设下默认不注入**(跟随预设),到「兼容」页的「注入」块可以打开「极简模式也注入」,并按域勾选你要注入的。
301
+ - **每个域一条自己的注入**:五个域各发各的消息、轨迹里各自一行(行名就是自己的名字);只改一个域只重发那一条,某域被关掉或清空时单独发一条「已清空」,旧目录不会继续被当成现状。
302
+ - **提示词与技能目录也进了注入通道**:官方那两条行在极简下没挂、此前用户没得选;现在官方挂得到就让官方送、挂不到才由插件兜底,任何预设下都看得到且不会出现两份。场景提示词与 `~/.dsh/AGENTS.md` 合并为一个「提示词」域。
303
+ - **域名与顺序**:`记忆` 改叫 **场景和记忆**、`全局提示词` 改叫 **提示词**;从左到右 场景和记忆 → MCP → 技能 → 子智能体 → 提示词。
304
+ - **子智能体"高级选项"的三个坑一起修**:候选数据不自动拉、已启用模式的名单进不去、停用后再启用清空勾选;现在点行首(名字 + 状态)即可展开 / 收起名单,右侧按钮仍只管启用 / 停用。
305
+ - **「预设注入边界」三处口径纠正**:子智能体列改答"人设目录到不到得了模型"(极简 + 打开注入 = 绿);技能 / 提示词列以官方为准(官方那条行挂着就是绿的);MCP 列按提示词平面作答(被压制即红框)。
306
+ - **每个场景块恒有一行加粗的「场景说明:」**:没填描述就给默认句,光秃秃的 `## 场景:X` 模型读不懂。
307
+ - **场景内的「开关」统一收归档案**(四域同口径):MCP / 技能 / 来源 / 子智能体的开关在场景里一律禁用,去档案编辑器里改(模型侧同名工具也拒绝);**改档案立即生效**,不用退出再进一次。
308
+ - **人设域与 MCP / 技能进场景按档案勾选集全量对齐**:勾了开、没勾关(整段没建 = 全关),退出按进场景前的状态精确还原。
309
+ - **修复:场景里「应用」能绕过场景绑定**(你实测的「显示 A、实际注入 B」):现在只有场景绑定的那份可「重新应用」,删除保护改成引用清单,AGENTS.md 被手改时两页都标出「文件里不是它」。
310
+ - **修复:场景名与记忆名相同会把整个场景「吃掉」**:现在统一为「**根下的一级目录恒为场景**」;另修「进场景被关掉的人设退出没开回来」「场景退出后 MCP 行还显示已运行」。
311
+ - **修复:「N 个工具」不算停用工具**(有停用时显示 `可用/总数`);工具全停用的服务器不再进段。
312
+ - **技能同名重复现在看得见了**:`skill_manager_list` 标出 `shadowed by <root>` 与 `preferred`——同名组里只有一份生效,启用被覆盖的那份会回 OK 却无效,现在会直接说明。
313
+ - **AGENTS.md 预设库会记住「最近一次应用的是哪份」**:手改一次全局文件之后也能答出「来自预设 X(此后文件有变)」。
314
+ - **备注终于可读,路径也给了**:`mcp_manager_list` 输出每台服务器的备注(模型侧字段 `user-hint`);`skill_manager_list` / `prompt_manager_list` 补源文件路径;未运行的 MCP 服务器也有工具描述(按「上次运行时」缓存),描述超两行默认折叠。
315
+ - **四个列表工具默认只列生效的条目**(`all=true` 看全量);**工具描述精简 37%**。
316
+ - **参考信息段排版 + MCP 详情页标签化**:场景上提到 `##`、条目挂在各自场景下,名称恒为标题、显式描述进括号,bundle 补附件目录与文件名,正文文件 `SKILL.md` → `<名>.md`(旧数据只读兼容);运行状态挪到 MCP 详情页标题右侧做成彩色标签。
317
+ - **数据全部收进 `tool-management/`,名字按域对齐**(`agents-md/` → `prompts/`、`agents/` → `subagents/`、`rules-index.json` → `memories-index.json`、`state.json` → `skills-state.json` 等);**升级自动搬**(只搬不删、绝不覆盖、失败下次再试)。
318
+ - **四个工具族改名(破坏性)**:`agentsmd_*` → `prompt_manager_*`、`rule_manager_*` → `memory_manager_*`、`skill_mcp_manager_*` → `mcp_manager_*`、`subagent_list/run` → `subagent_manager_list/run`;提示词、工作流或文档里点名过旧名的要一起改。
319
+
320
+ ---
321
+
322
+ ## 0.8.5 - 2026-09-16
323
+
324
+ - **新增技能 / 子智能体 / MCP 一律默认不启动**:创建与导入都不自动开启,由你手动打开(三域同口径)。
325
+ - 历史页「已移除」标签红灰两色统一为灰色(此前红色 = 从未登记、灰色 = 曾登记被移除,区分无实际意义)。
326
+ - 目录真实存在但没有「重新登记」按钮的问题修复:只要磁盘目录在,就能一键重新登记(带 stat 缓存,同一目录只探一次盘)。
327
+ - 目录已删除的工作区组补明确状态:组头显示「⚠ 目录已不存在」,悬停说明原因与处理方式(会话仍可恢复/删除)。
328
+ - peer 依赖去掉 semver 上界:宿主跨 minor 升级不再挡住插件安装,兼容性由运行时能力探测兜底。
329
+ - 系统提示词注入段文案优化:子智能体段明确"人设是可用选项而非唯一可选",并补充委派机制说明;场景记忆段加固定引导语(常驻参考知识)。
330
+ - 新增场景级 MCP 备注:场景档案的 MCP 段可为勾选的服务器写专属备注,进入场景覆盖全局备注、退出恢复原备注;MCP 备注前缀统一为「备注:」。
331
+ - 未运行的 MCP 服务器现在也能看到工具数和勾选工具(按「最后见过的工具名」记录兜底)。
332
+ - 场景档案 MCP 编辑改为固定尺寸弹窗:第一栏备注、第二栏工具勾选,「选工具」并入「编辑」。
333
+ - 从未运行过的服务器:编辑弹窗里点「启动服务器读取工具」即可读取工具名单(读完后自动恢复原启停状态)。
334
+
335
+ ## 0.8.0 - 2026-09-15
336
+
337
+ - **场景锁定**:锁住后 MCP / 技能 / 子智能体 / 记忆 / 提示词整体只读(勾没勾的都不能动);未启动不能上锁,锁定中关不掉也切不走。
338
+ - **子智能体开关**:默认只把启用的人设注入上下文;启动场景时档案勾选的人设自动启用,退出按快照精确停回。
339
+ - **四个管理域补上导出**(技能 / 子智能体 / 提示词 / 记忆):导出弹窗分组折叠、默认不勾选、固定尺寸;记忆按场景分组、技能按来源文件夹分组。
340
+ - **导入入口统一**:提示词补上与技能页同源的拖拽弹窗;四个导入弹窗一律「文件要求」清单。
341
+ - **删除场景 = 连它下面的全部记忆一起进回收站**(含未启用与 bundle 附件),恢复时整条按原路径放回。
342
+ - **场景名、人设名现在可以改**(改名连带目录搬迁与绑定同步)。
343
+ - **提示词预设支持描述**:只显示在插件界面里,存 `meta.json`,绝不写进 AGENTS.md。
344
+ - 子智能体人设目录与 MCP 服务器备注进入系统提示词(模型知道有哪些人设可委派、哪些 server 可用)。
345
+ - 修复:进/退模式报 EPERM、开关要点两次(Windows 文件占用时 rename 自动重试)。
346
+ - 修复:退出场景模式后 MCP 服务器级与技能目录不回滚(快照字段在读盘时被剥掉)。
347
+ - 技能回收站重做:弹窗内上下两块(目录 / 技能)、各占一半、各自滚动;「删除记录」与「永久删除」统一为红色。
348
+ - MCP 新增默认级别改为全局;「Profile 级」改名「应用级」,全局排在上面。
349
+ - 界面统一化:按钮四级语义、弹窗固定尺寸只允许列表层滚动、命名统一「新增 / 导入 / 导出 + 页名」。
350
+
351
+ ## 0.7.0 - 2026-09-15
352
+
353
+ - 回收站扩到子智能体 / 场景 / 提示词预设(删除都进回收站,可恢复)。
354
+ - 子智能体工具限制按 Agent 预设(每预设一份白/黑名单)。
355
+ - 兼容页「预设注入边界」五列标签(绿/红/灰框)。
356
+ - 明文密钥改为一律要令牌(没配 `token` 就不给明文)。
357
+ - MCP「整理补丁」重新上线(删多余启停块,状态不变)。
358
+
359
+ ## 0.6.0 - 2026-09-14
360
+
361
+ - 新增「兼容」页(第 8 栏)+ doctor/host-deps 脚本。
362
+ - 兼容判定从源码文本比对改为模块实体 + 能力探测。
363
+ - 归档会话不再丢工作区归属(登记被删后重建分组 + 一键重新登记)。
364
+ - 技能来源权限语义修正(默认来源必须读取但技能可删)。
365
+ - 场景可绑提示词预设,切换场景直接改写 AGENTS.md(关掉自动恢复)。
366
+ - 场景启用改单选,新场景默认不启动。
367
+
368
+ ## 0.5.1 - 2026-09-13
369
+
370
+ - 场景档案弹窗新加段默认不勾选。
371
+ - 档案「记忆」段只列本场景的记忆。
372
+ - 场景页排版重做(卡片只留名字+描述+动作)。
373
+ - 保留场景「全局」不再出现在场景页与档案弹窗。
374
+
375
+ ## 0.5.0 - 2026-09-13
376
+
377
+ - 数据全部收进 `~/.dsh/tool-management/`(旧位置自动搬入)。
378
+ - 场景升级为显式记录;根层裸 `.md` 不再注入。
379
+ - 新增「导入技能」来源 + 「移除来源」操作。
380
+ - 场景档案新增第 4 段「记忆」。
381
+ - 修掉三个真故障:整页白屏、导出静默丢失、Skills 页锁死。
382
+ - 斜杠命令全部下线。
383
+
384
+ ## 0.2.0 - 2026-09-12
385
+
386
+ - 五域合并进一个「工具」面板:MCP / Skills / AGENTS.md 预设 / History。
387
+ - MCP 工具级启停、重启只重连、密钥打码、补丁备份。
388
+ - Skills 接入 ~/.agents / ~/.codex / ~/.claude + 自定义目录。
389
+ - History 按项目分组、批量操作、保留期清理、对话导入导出。
390
+
391
+ > 0.1.1 / 0.1.2 / 0.1.3 无独立记录(仅 git tag)。