# 更新记录 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/):加功能升次版本号,只修 bug 升修订号。 ## 1.2.2 — 2026-10-20 ### 变更 - **「分步骤」的说明重写成 5 条硬规则**,补上之前漏掉的三件事。原来是 6 条,只说了「列计划、一路做完、计划外怎么处理」,没说「该查什么资料」「发现别的问题怎么办」「走错路怎么拐弯」。 - **有匹配的技能先加载**:任务正好是某个技能的活(代码审查、诊断 bug、架构选型、测试先行等)就先加载它、照它的要求做;没有明显匹配的**不要硬套**——技能不是必选项,挪个按钮也去翻 `code-review` 只会更慢。 - **顺手发现的问题最多提一条**:读到「该优化但不在这次需求里」的地方,写一行「顺带发现:…,要不要一起做?」,等你回答;提不出就写「顺带发现:无」。范围限死在这轮正在改的文件和它的测试——不为这个专门全项目扫一遍。 - **计划变了要先说**:原方案走不通、或多了件必须做的事,先写一句「调整:原打算 X,改成 Y,因为 Z」再继续。原来只说「一路做完」,模型遇到走不通的路会闷头把错方案做完。 - 规则的顺序也调了:先「找技能」再「列计划之外的手续」,可撤销 / 不可撤销仍然单独一句,不跟前几条挤在一起。 ## 1.2.1 — 2026-10-20 ### 变更 - **把「分步骤」挡位加回来了**。1.2.0 当天删的(tag `v1.2.0` 指向那次删除),删完立刻回退——中间档到底该怎么做还没想清楚,但用户还打算先用着现成的这一版,等有更好的做法再换。 - 界面上恢复成「只回答 / 分步骤 / 无限制」三个按钮; - `/stepfold steps` 恢复可用(也认 `2`、`分步骤`); - 直接 revert 了 1.2.0 的提交,所以 1.1.1 的行为一字不差地回来了,旧会话日志里的 `steps` 也照常生效。 ## 1.1.1 — 2026-10-20 ### 修复 - **分步骤挡位没说清「计划外怎么办」**:原来只规定开头列 3–6 件事,执行中发现计划里没写、但必须做的事(比如装个依赖才能跑测试)没有任何规则,行为取决于模型的临场判断。现在按可逆性分成两条写进提示词: - 能撤销的(多改一个文件、多跑一次测试、下载到临时目录):先说一句「计划外多一步:要做什么、为什么」,然后接着做,**不停下来等批准**; - 不能撤销的(装全局包、改系统配置、删目录、强制推送、花钱):先停下来说明原因,等用户点头再做。 ## 1.1.0 — 2026-10-20 ### 新增 - **输入框上方的协作挡位**:`只回答` / `分步骤` / `无限制`,按会话各自记着,刷新页面、重开会话都能恢复。 - **只回答**:读文件、搜内容、看网页都放行;写文件、跑命令、装包、派子代理一律拦下来,并把「被谁挡住、下一步怎么办」说清楚。拦在宿主的工具守卫上,模型绕不过去——不是靠提示词求它别动手。 - **分步骤**:不拦任何工具,只要求每轮开头先报 3–6 件事(每条一句话,带文件名),然后一路做完。控制权是「随时打断」,不是「事前逐条批准」。 - **无限制**:和没装这个插件一样,默认值。 - 挡位状态不进插件内存,走 `/stepfold answer|steps|free` 命令(也认 `1/2/3`),折叠会话日志里的 `command/run` / `command/done` 得出当前挡位。刷新、重开、fork 都不会丢,也不会往日志里塞宿主不认识的事件。 - `test/runtime-probe.mjs`:在真实 cordis 上装真实的 `dsh-system-prompt` / `dsh-session-projection` / `dsh-tools` / `dsh-commands`,验证提示词段、命令、守卫都真进了登记表。依赖本机 dsh 安装路径,所以没进 `npm test`。 ### 修复 - **挡位按钮点了没反应**:client 半边的 `inject` 少了 `remote` / `remote.commands`,`ctx.remote.commands.execute` 是 `undefined`,真正的报错被压成一句「没切成功」。补上依赖后正常。 - **挡位按钮贴在窗口最左边**:dock 槽位铺满整个输入区宽度,改成居中并限宽。 - **命令超时会让按钮永久禁用**:加 5 秒兜底,超时提示「宿主没回应」。 - **分步骤的提示词埋在几千行工具说明中间**:排序号从 5050 挪到 550,和宿主自己的 PLAN_POLICY(500)同层;文案从建议口吻改成硬性要求。 ## 1.0.0 — 2026-10-20 首个版本。每段过程步骤默认只显示最近 5 步,末尾一条横条写着「显示全部 N 步(还有 M 步)」,点一下展开;再点收起。纯 DOM 实现,用 CSS 的 `:nth-last-child` 藏步骤,不碰宿主的 React 树。