dsh-ssh-tui 0.8.4-rc.1 → 0.8.4-rc.2
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 +65 -13
- package/README.en.md +4 -3
- package/docs/release-notes-0.8.4-rc.2.md +72 -0
- package/docs/release-notes-0.8.4.md +145 -0
- package/lib/doctor.js +41 -4
- package/lib/doctor.js.map +1 -1
- package/lib/i18n/en.js +6 -1
- package/lib/i18n/en.js.map +1 -1
- package/lib/i18n/zh.js +6 -1
- package/lib/i18n/zh.js.map +1 -1
- package/lib/preset-rows.js +70 -19
- package/lib/preset-rows.js.map +1 -1
- package/lib/terminal-input.js +13 -3
- package/lib/terminal-input.js.map +1 -1
- package/lib/tui.js +160 -15
- package/lib/tui.js.map +1 -1
- package/lib/types/doctor.d.ts +13 -1
- package/lib/types/preset-rows.d.ts +22 -7
- package/lib/types/tui.d.ts +32 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,9 +10,61 @@
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## 0.8.4 — 未发布(稳定候选)
|
|
14
|
+
|
|
15
|
+
发版说明:[`docs/release-notes-0.8.4.md`](docs/release-notes-0.8.4.md)。
|
|
16
|
+
|
|
17
|
+
**正式 `0.8.4` 尚未 tag、GitHub Release 或 npm publish。** RC.2 由维护线单独准备,不能将准备提交视作已发布。 `0.8.4-rc.1` 是已发布候选;
|
|
18
|
+
RC.1 之后,`release/0.8.4` 维护分支又合入了 FI1、WIN-CI1.H3、APPR.BP1 和 DOC.R1 四项修复,
|
|
19
|
+
因此 Stable runtime 与 RC.1 **不相同**,`lib/` 也不能再声称与 RC.1 逐字节一致。兼容范围未变;
|
|
20
|
+
本线不包含 `main` 上的 W-4 Completion 或 W-5 Search Screen。`0.8.4-rc.2` 必须有独立的版本、tarball、哈希、CI、升级和人工验收收据;不得复用 RC.1 或此前 Stable 的发布证据。
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- **FI1 — 首次安装的 Agent Plane 自动补齐**:首次向导保存后、以及旧/不完整 profile 启动时,
|
|
25
|
+
只补缺失的工具行;写入前保留备份,不覆盖已存在的行,重复执行保持幂等。若行已写入但当前进程
|
|
26
|
+
尚未组合它们,会明确提示重启,而不是把“已保存”误报成“已生效”。
|
|
27
|
+
- **WIN-CI1.H3 — RTT 探针的 drain 不再吞掉按住的 Esc**:liveness/RTT 探针在输入过滤器仍扣着
|
|
28
|
+
可能是光标应答开头的单字节时,不再 `reset()` 丢弃它,而是重新安排释放;若后续应答到达则合并为
|
|
29
|
+
应答,若没有到达则按原本的 hold 规则交还为键入。切开的应答仍不会被当成 Esc。
|
|
30
|
+
- **APPR.BP1 — AI Reviewer 传递真实授权 Session**:Reviewer 的 `GenerateOptions` 增加授权 Agent 的
|
|
31
|
+
`sessionId`;同一 Session 的复核共享身份,不同 Session / 子 Agent 不共享。Reviewer prompt、
|
|
32
|
+
400-token budget、15 秒 deadline、reasoning effort、授权策略、缓存与 fail-closed 均未变。
|
|
33
|
+
- **DOC.R1 — `/doctor` 路由清单纳入已注册 Adapter**:`doctorRouting()` 合并
|
|
34
|
+
`llm-pi-ai.providers` 与 `ctx.llm.listProviders()`,已注册的 `deepseek-official` 不再被误报为
|
|
35
|
+
“不在已配置路由里”;第三方 Provider 缺失、非法模型和子代理不同族仍会告警。注册/配置只表示
|
|
36
|
+
路由存在,不表示网络或 API 调用成功;官方模型目录的实时校验仍为 **OPEN**。
|
|
37
|
+
|
|
38
|
+
### Docs
|
|
39
|
+
|
|
40
|
+
- 修正稳定候选说明:不再把 0.8.4 写成 RC.1 的无变化转正,也不再复用 RC.1 的测试数、tarball
|
|
41
|
+
文件数、哈希或升级冒烟收据。RC.2 必须生成并绑定自己的收据。
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## 0.8.4-rc.2 — Input, First-install & Diagnostics Fix Candidate
|
|
45
|
+
|
|
46
|
+
发版说明:[`docs/release-notes-0.8.4-rc.2.md`](docs/release-notes-0.8.4-rc.2.md)。
|
|
47
|
+
|
|
48
|
+
**相对于已发布的 0.8.4-rc.1,本候选包含 FI1、WIN-CI1.H3、APPR.BP1、DOC.R1 四项维护修复。**
|
|
49
|
+
候选使用与 `release/0.8.4` 相同的产品源代码,仅在隔离分支更新版本号、锁文件和材料。
|
|
50
|
+
没有合入 W-4/W-5,也没有纳入 PR #8 的 InputReader 调整或 PR #9 的诊断插桩。
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- **首次安装代理平面**:只补齐缺失的 `tool-ask-user` / `present` 组合行,先备份、提示重启,冷启动与重复运行幂等。
|
|
55
|
+
- **RTT/存活探测丢 Esc**:`TerminalInputPump.drain()` 不再通过 `filter.reset()` 静默丢弃已暂存的输入。
|
|
56
|
+
- **审批 Reviewer Session**:直接模型调用携带请求授权的 Agent Session ID,保留 400-token、15 秒、fail-closed 等现行限制。
|
|
57
|
+
- **官方 Provider 诊断误报**:`/doctor` 将已注册 Adapter 与 `llm-pi-ai.providers` 配置合并去重;网络可用性与官方模型目录校验不在本轮承诺内。
|
|
58
|
+
|
|
59
|
+
### Release Gate
|
|
60
|
+
|
|
61
|
+
- `0.8.4-rc.2` 只允许在独立发布授权后使用 npm `next`,不得改动 `latest`。
|
|
62
|
+
- 必须在候选精确 SHA 上通过四条 CI;真实 npm tarball、从 `0.8.4-rc.1` 和 `0.8.3` 的升级冒烟、Windows Terminal/conhost 人工 H-1~H-11 均须重新取证。
|
|
63
|
+
- 本 CHANGELOG 条目不是 tag、GitHub Release 或 npm 发布回执;最终 Gate 未通过前不得发布。
|
|
64
|
+
|
|
13
65
|
## 0.8.4-rc.1 — 2026-10-17(候选版,只上 `next`)
|
|
14
66
|
|
|
15
|
-
发版说明:[`docs/release-notes-0.8.4-rc.1.md`](release-notes-0.8.4-rc.1.md)。
|
|
67
|
+
发版说明:[`docs/release-notes-0.8.4-rc.1.md`](docs/release-notes-0.8.4-rc.1.md)。
|
|
16
68
|
**输入归属 + 发布安全门的候选版。** 与 0.8.3 相比**有 runtime 行为变化**(下列 Fixed / Changed);
|
|
17
69
|
发布准备这一轮只为兼容加了一处垫片(见 Changed 的第三条),没有别的 runtime 改动。`latest` 仍为 `0.8.3`。
|
|
18
70
|
|
|
@@ -80,7 +132,7 @@
|
|
|
80
132
|
|
|
81
133
|
## 0.8.3 — 2026-10-13(`latest` + `next`)
|
|
82
134
|
|
|
83
|
-
发版说明:[`docs/release-notes-0.8.3.md`](release-notes-0.8.3.md)。
|
|
135
|
+
发版说明:[`docs/release-notes-0.8.3.md`](docs/release-notes-0.8.3.md)。
|
|
84
136
|
**紧急修复**:三个缺陷都是 0.8.2 把首启向导改成 Screen 时引入的,全部在"首次安装 / `/setup`"这条路上。
|
|
85
137
|
|
|
86
138
|
### Fixed
|
|
@@ -104,8 +156,8 @@
|
|
|
104
156
|
|
|
105
157
|
## 0.8.2 — 2026-10-05(`latest` + `next`)
|
|
106
158
|
|
|
107
|
-
发版说明:[`docs/release-notes-0.8.2.md`](release-notes-0.8.2.md);候选版说明保留在
|
|
108
|
-
[`docs/release-notes-0.8.2-rc.1.md`](release-notes-0.8.2-rc.1.md)。
|
|
159
|
+
发版说明:[`docs/release-notes-0.8.2.md`](docs/release-notes-0.8.2.md);候选版说明保留在
|
|
160
|
+
[`docs/release-notes-0.8.2-rc.1.md`](docs/release-notes-0.8.2-rc.1.md)。
|
|
109
161
|
本版由 **0.8.2-rc.1**(2026-10-04,只上 `next`)沉淀一周后转正,**内容与候选版相同**,
|
|
110
162
|
下列变更即候选版以来累积的全部变更。
|
|
111
163
|
|
|
@@ -113,8 +165,8 @@
|
|
|
113
165
|
> have not changed. —— `dsh-ssh-tui` 现在以 DSH Relay 为产品名展示;包名与安装命令没有变化。
|
|
114
166
|
|
|
115
167
|
B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过最终审计,本节汇总用户能看到的
|
|
116
|
-
部分。详细证据与冻结记录见 [`docs/checkpoints.md`](checkpoints.md) 与
|
|
117
|
-
[`docs/decisions/b2-architecture-decisions.md`](decisions/b2-architecture-decisions.md) §20。
|
|
168
|
+
部分。详细证据与冻结记录见 [`docs/checkpoints.md`](docs/checkpoints.md) 与
|
|
169
|
+
[`docs/decisions/b2-architecture-decisions.md`](docs/decisions/b2-architecture-decisions.md) §20。
|
|
118
170
|
|
|
119
171
|
### Added
|
|
120
172
|
|
|
@@ -134,7 +186,7 @@ B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过
|
|
|
134
186
|
### Changed
|
|
135
187
|
|
|
136
188
|
- **反馈分流**:控制面的确认去页脚(echo,最低优先级,直到下一次输入),警告/失败去身份行(notice),
|
|
137
|
-
只有会改变历史的事实才进转写([`docs/checkpoints.md`](checkpoints.md) B2.3b)。
|
|
189
|
+
只有会改变历史的事实才进转写([`docs/checkpoints.md`](docs/checkpoints.md) B2.3b)。
|
|
138
190
|
- **`/copy` 语法**:`/copy` 或 `/copy reply` 复制模型最后一条回复(默认);`/copy highlight` 复制焦点卡片;
|
|
139
191
|
`/copy error` 复制最新的错误/诊断行。复制键保留"取不到焦点就退回回复"的语义。
|
|
140
192
|
- **工作区在方向键后的停留**:resume 进来不再从窗口中间开始滚动,直接停在最新内容。
|
|
@@ -178,9 +230,9 @@ B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过
|
|
|
178
230
|
|
|
179
231
|
### Docs
|
|
180
232
|
|
|
181
|
-
- [`docs/release.md`](release.md) 新增"发布前人工门槛":Windows 实机清单、fresh-home 首启探针命令、
|
|
233
|
+
- [`docs/release.md`](docs/release.md) 新增"发布前人工门槛":Windows 实机清单、fresh-home 首启探针命令、
|
|
182
234
|
以及 `npm run freeze` / `npm run bench` 两条发版自检。
|
|
183
|
-
- [`docs/decisions/b2-architecture-decisions.md`](decisions/b2-architecture-decisions.md) §20 记录 B2 冻结:
|
|
235
|
+
- [`docs/decisions/b2-architecture-decisions.md`](docs/decisions/b2-architecture-decisions.md) §20 记录 B2 冻结:
|
|
184
236
|
八条不变量、七条退役路径、以及"表示的分类必须与它包裹的行一致"这条规则。
|
|
185
237
|
|
|
186
238
|
### Internal
|
|
@@ -214,13 +266,13 @@ B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过
|
|
|
214
266
|
- **0.8.2-rc.1 → 0.8.2 无代码变更**:转正只改版本号与发版材料,包内 `lib/` 与候选版逐字节相同
|
|
215
267
|
(候选版沉淀期间未收到新的回归报告)。
|
|
216
268
|
- Windows / ConPTY **实机人工验收已完成**(2026-10-03,维护者逐条走过 12 项清单,结论见
|
|
217
|
-
[`docs/checkpoints.md`](checkpoints.md)「Windows 实机轮」):可自动化的部分由 `verify-batch --home
|
|
269
|
+
[`docs/checkpoints.md`](docs/checkpoints.md)「Windows 实机轮」):可自动化的部分由 `verify-batch --home
|
|
218
270
|
<dir>` 覆盖(12 PASS · 2 SKIP · 0 FAIL),**没有自动化、只能人眼的两目(输入法组合、多行中文粘贴)
|
|
219
271
|
已确认通过**。两处 `SKIP` 是覆盖边界、不是通过:ConPTY 自己回 `CSI 6n`,"慢链路"与"静默但没断连"
|
|
220
272
|
这两个形状它扮演不了(这两个形状在 Linux 腿上真跑)。
|
|
221
273
|
- fresh-home 首启有两条探针覆盖(`scripts/tui-setup-probe.mjs` 断言向导自动出现 + 第二次启动不再出现;
|
|
222
274
|
`scripts/probe-onboarding.mjs` 供工作区探针识别"这是首启"并 `SKIP:` 而不是误报),命令在
|
|
223
|
-
[`docs/release.md`](release.md)。只读 pnpm store 的沙箱建不出 home,那是环境限制,不是覆盖缺口。
|
|
275
|
+
[`docs/release.md`](docs/release.md)。只读 pnpm store 的沙箱建不出 home,那是环境限制,不是覆盖缺口。
|
|
224
276
|
- ~~`scripts/tui-drop-probe.mjs` 约 1/7 概率因自身的 `/status` 重试竞态误报~~ —— **本版已修**:
|
|
225
277
|
改为一次请求在飞、按每次请求的输出判定、并按"当前是否真有 Screen"决定关闭,连跑 20 次无失败。
|
|
226
278
|
- 打包:`npm pack --dry-run` 实测 **243 个文件 / 1.4 MB(tarball)/ 解包 4.2 MB**,CHANGELOG 随包发布;
|
|
@@ -230,7 +282,7 @@ B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过
|
|
|
230
282
|
|
|
231
283
|
## 0.8.1 — 2026-09-30(`latest` + `next`)
|
|
232
284
|
|
|
233
|
-
发版说明:[`docs/release-notes-0.8.1.md`](release-notes-0.8.1.md)。
|
|
285
|
+
发版说明:[`docs/release-notes-0.8.1.md`](docs/release-notes-0.8.1.md)。
|
|
234
286
|
|
|
235
287
|
### Fixed
|
|
236
288
|
|
|
@@ -246,5 +298,5 @@ B2("what deserves to exist")的六个阶段 B2.1 – B2.6 已完成并通过
|
|
|
246
298
|
|
|
247
299
|
## 0.8.0 — 2026-09-29(`next`,随后提升为 `latest`)
|
|
248
300
|
|
|
249
|
-
发版说明:[`docs/release-notes-0.8.0.md`](release-notes-0.8.0.md)。基线切到上游 `0.2.0-rc` 线
|
|
301
|
+
发版说明:[`docs/release-notes-0.8.0.md`](docs/release-notes-0.8.0.md)。基线切到上游 `0.2.0-rc` 线
|
|
250
302
|
(桌面版 Harness 的基线),兼容窗口与 CI 腿随之上移。
|
package/README.en.md
CHANGED
|
@@ -82,11 +82,12 @@ dsh --profile tui
|
|
|
82
82
|
Current `dsh` requires `--profile` (`dsh plugin add …` errors without it).
|
|
83
83
|
Swap `tui` for another profile name.
|
|
84
84
|
|
|
85
|
-
**Which host line?** `0.8.
|
|
85
|
+
**Which host line?** `0.8.4` is an **unpublished stable candidate** on `release/0.8.4`; `0.8.4-rc.1` was its published `next` candidate. The candidate supports the `0.2.0-rc` line (the desktop harness's baseline) as well as `0.2.1-rc.2` (upstream `next`). The `0.1.7` line was dropped in 0.8.4-rc.1 and is refused by the launcher's version check, as is everything older. **0.1.5 and older hosts are no longer supported as of 0.8.0.**
|
|
86
86
|
|
|
87
|
-
**
|
|
87
|
+
**Stable updates must use `@latest`.** `dsh plugin` forwards the rest of the line to
|
|
88
88
|
pnpm in the profile directory. A bare `add dsh-ssh-tui` keeps the version
|
|
89
|
-
already pinned in `pnpm-lock.yaml` (often 0.3.7).
|
|
89
|
+
already pinned in `pnpm-lock.yaml` (often 0.3.7). RC testers should use `@next`
|
|
90
|
+
or an exact `-rc.N` version instead; `@latest` stays on the stable channel. Do not put `--profile`
|
|
90
91
|
after `add`: `dsh plugin add --profile tui add dsh-ssh-tui` is not valid.
|
|
91
92
|
Remove with `dsh plugin --profile tui remove dsh-ssh-tui`.
|
|
92
93
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# 0.8.4-rc.2 — First-install, Input & Doctor Reliability Candidate
|
|
2
|
+
|
|
3
|
+
> **发布通道:仅 npm `next`,不得触及 `latest`。**
|
|
4
|
+
> 此文档是候选版的发版说明;它本身不表示已经创建 Tag、GitHub Release 或完成 npm 发布。
|
|
5
|
+
> 候选来源:从 `release/0.8.4@127617b99101820ff548f6fa8b61f319b5084d24` 切出的独立发行准备分支。
|
|
6
|
+
>
|
|
7
|
+
> DSH Relay 仍使用 npm 包名 `dsh-ssh-tui`,没有改名、没有存储格式迁移。
|
|
8
|
+
|
|
9
|
+
## 为什么需要 RC.2
|
|
10
|
+
|
|
11
|
+
`0.8.4-rc.1`(2026-10-17)已经作为 prerelease 发布;它提供 Reader → Router → Owner 输入归属整理,以及首次安装向导、工作区粘贴和发布 tarball 的 CI 门禁。
|
|
12
|
+
|
|
13
|
+
此后维护分支进行了四项**实际运行时修复**,因此 RC.2 **不是** RC.1 的无变化重打包,不能沿用 RC.1 的字节、哈希、测试或人工验收收据。
|
|
14
|
+
|
|
15
|
+
## RC.1 之后的修复
|
|
16
|
+
|
|
17
|
+
### FI1 — First-install Agent Plane Repair
|
|
18
|
+
|
|
19
|
+
全新安装或旧的不完整 Profile 可能缺少 `tool-ask-user` 与 `present` 的 Agent Plane 组合行。TUI 现在能检测并定向补齐缺失项,写前备份、不覆盖已存在行、重复启动幂等。已写入但本进程尚未组合的工具会明确提示**重启才生效**,不把保存成功误报为运行时就绪。
|
|
20
|
+
|
|
21
|
+
### WIN-CI1.H3 — RTT Probe 不再丢弃 Esc
|
|
22
|
+
|
|
23
|
+
Launcher 的 `TerminalInputPump.drain()` 原先会把正在等待判别的 ESC 通过 `filter.reset()` 丢弃:用户按下 Esc 后,恰逢 RTT/存活探测,`/view` 选择器可能无法取消。现在保留暂存字节、重新安排释放;完整或分片的光标应答仍由过滤器识别,不以强制转发半截应答换取按键恢复。
|
|
24
|
+
|
|
25
|
+
### APPR.BP1 — Reviewer 绑定授权 Session
|
|
26
|
+
|
|
27
|
+
AI Reviewer 的直接 `llm.stream()` 调用携带 `request.agent.session.id`,保留同一会话身份、隔离不同 Agent Session 和子代理。Reviewer prompt、400-token 输出预算、15 秒 deadline、`reasoningEffort: off`、授权策略、缓存与 fail-closed 保持原样。未对完整真实线上审批延迟作保证。
|
|
28
|
+
|
|
29
|
+
### DOC.R1 — 官方 Provider 路由诊断
|
|
30
|
+
|
|
31
|
+
`/doctor` 的路由事实来自 `llm-pi-ai.providers` 与实际注册的 `ctx.llm.listProviders()` 的并集。官方 `deepseek-official` 已注册时不再被误报为“既未注册也未配置”,仍保留第三方非法模型与子代理不同族警告。**注册不等于联网调用成功**,官方模型目录的实时成员校验仍为 OPEN。
|
|
32
|
+
|
|
33
|
+
## 未纳入本候选
|
|
34
|
+
|
|
35
|
+
- W-4 Completion / W-5 Search Screen(`main` 开发线),未进入 `release/0.8.4`;
|
|
36
|
+
- PR #8 的独立 InputReader 粘贴尾部 Esc 边界修复(慢粘贴 payload ESC 语义权衡仍未收口);
|
|
37
|
+
- PR #9 的 Host/Relay 诊断插桩;
|
|
38
|
+
- 官方模型目录实时校验、Reviewer 延迟预算重设计,以及其他未获授权的兼容范围变化。
|
|
39
|
+
|
|
40
|
+
## 兼容范围
|
|
41
|
+
|
|
42
|
+
与 RC.1 一致:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
>=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
默认宿主开发线为 `0.2.1-rc.2`,兼容测试仍覆盖 `0.2.0-rc.1` / `0.2.0-rc.2`。0.1.7 及更旧宿主不在本候选支持范围内。
|
|
49
|
+
|
|
50
|
+
## 发布前证据门槛
|
|
51
|
+
|
|
52
|
+
以下证据**必须绑定最终候选 Commit 与其 tarball**,不能沿用 RC.1 或 Stable 的旧收据:
|
|
53
|
+
|
|
54
|
+
| Gate | 必需结果 |
|
|
55
|
+
|---|---|
|
|
56
|
+
| 源码与包身份 | `package.json` 和 lockfile 同为 `0.8.4-rc.2`;候选 Git SHA 冻结 |
|
|
57
|
+
| 四条 CI | Linux 三线及 Windows `test-windows` 全部 SUCCESS |
|
|
58
|
+
| 三道阻塞门 | Fresh-home 向导、Paste Probe、Packed Artifact 在默认 Linux 和 Windows 真实执行 |
|
|
59
|
+
| 产物可重复性 | 干净构建、`npm pack` 文件清单、bytes、shasum、integrity 与候选 SHA 对应 |
|
|
60
|
+
| 升级验证 | `upgrade-smoke --from 0.8.4-rc.1 --pack`;并核对 `0.8.3 → RC.2` |
|
|
61
|
+
| Windows 人工 | 真正 Windows Terminal / conhost、IME、中文粘贴、复制、重连、首次安装,H-1~H-11 逐项 PASS |
|
|
62
|
+
| 最终发布许可 | 维护者明确授权 Tag / GitHub prerelease / `npm publish --tag next` |
|
|
63
|
+
|
|
64
|
+
本文件不预先给出未生成的 RC.2 tarball 哈希、文件数或 CI 成功结论,人工 Gate 亦不得由 ConPTY 自动探针代替。
|
|
65
|
+
|
|
66
|
+
## 安装与发布通道
|
|
67
|
+
|
|
68
|
+
在 RC.2 正式发布之前,registry 的可用版本请以实际 packument 为准;既有历史记录中 `latest` 为 `0.8.3`,`next` 为 `0.8.4-rc.1`。
|
|
69
|
+
|
|
70
|
+
获得正式 RC.2 发布授权后,候选用户才能通过 `dsh plugin --profile tui add dsh-ssh-tui@0.8.4-rc.2` 或更新后的 `@next` 安装。正式 `0.8.4` 发布另走 `latest`,不在这次候选动作范围内。
|
|
71
|
+
|
|
72
|
+
历史候选记录:[0.8.4-rc.1](release-notes-0.8.4-rc.1.md)。正式稳定版准备说明:[0.8.4](release-notes-0.8.4.md)。
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# 0.8.4 — Input Ownership & Release Hardening (Stable Candidate, Unpublished)
|
|
2
|
+
|
|
3
|
+
> **状态:正式 `0.8.4` 尚未发布。** 本文件记录其 Stable 候选准备(当时包版本是 `0.8.4`);独立
|
|
4
|
+
> `0.8.4-rc.2` 候选的说明见 [`release-notes-0.8.4-rc.2.md`](release-notes-0.8.4-rc.2.md)。正式版仍没有
|
|
5
|
+
> `v0.8.4` tag、GitHub Release 或 npm publish。`0.8.4-rc.1` 是 2026-10-17 已发布的候选版,其历史记录保留在
|
|
6
|
+
> [`release-notes-0.8.4-rc.1.md`](release-notes-0.8.4-rc.1.md),不因本轮材料修正而改写。
|
|
7
|
+
>
|
|
8
|
+
> 自 RC.1 之后,`release/0.8.4` 维护分支合入了四项修复(FI1、WIN-CI1.H3、APPR.BP1、DOC.R1)。
|
|
9
|
+
> 因此 Stable runtime 与 RC.1 **不相同**,也不能再声称 `lib/` 与 RC.1 tarball 逐字节一致。
|
|
10
|
+
> `0.8.4-rc.2` 必须拥有独立的版本、tarball、哈希、CI、升级冒烟及人工验收收据;RC.1 的旧收据
|
|
11
|
+
> 不能转用为新候选的发布证据。
|
|
12
|
+
>
|
|
13
|
+
> `dsh-ssh-tui` 现在以 **DSH Relay** 为产品名展示;npm 包名与安装命令没有变化。
|
|
14
|
+
|
|
15
|
+
## 版本状态
|
|
16
|
+
|
|
17
|
+
- `0.8.4-rc.1` 的 annotated tag 是 `a2645c9134646f83d8a5db758743476285f9840b`,其指向的提交是
|
|
18
|
+
`0e1342a9f4a7cbb922971891e9b26a311a7c7026`(2026-10-17)。
|
|
19
|
+
- 本轮材料核对时的候选代码基线为 `release/0.8.4` 的
|
|
20
|
+
`e1eccf42495d31a5212acafc8589bd8758f63f3c`(2026-10-24);本材料修正只改文档,不改变代码或版本。
|
|
21
|
+
该基线从 RC.1 发布提交之后继续维护,包含下列四项修复。
|
|
22
|
+
- 当前没有 `v0.8.4` tag、GitHub Release 或 `0.8.4` npm 包;`latest` / `next` 仍以上一次 RC.1
|
|
23
|
+
发布记录为准,不能把本候选写成已经发布。
|
|
24
|
+
- Stable 维护线的发版来源是 `release/0.8.4`,不是 `main`。`main` 上的 W-4 Completion 或
|
|
25
|
+
W-5 Search Screen 不属于本线,不得混入本候选。
|
|
26
|
+
- `0.8.4-rc.2` 已进入独立候选准备,不等于已发布版本。新 RC 必须使用自己的版本号、候选 SHA、
|
|
27
|
+
CI 四条腿和升级冒烟收据;正式 tag 必须指向经过测试的精确候选 SHA。
|
|
28
|
+
|
|
29
|
+
## 本版包含(RC.1 之后)
|
|
30
|
+
|
|
31
|
+
### FI1 — 首次安装的 Agent Plane 自动补齐
|
|
32
|
+
|
|
33
|
+
首次向导保存后、以及旧或不完整 profile 启动时,TUI 只补当前组合缺少的 Agent Plane 工具行;
|
|
34
|
+
已存在的行不重复写入,写入前保留备份,重复启动保持幂等。若行已经写入但当前进程尚未组合它们,
|
|
35
|
+
界面会明确提示重启,而不是把“已保存”误报成“已生效”。这不是安装钩子,也不会把所有缺失行
|
|
36
|
+
无条件重写。
|
|
37
|
+
|
|
38
|
+
### WIN-CI1.H3 — RTT 探针的 Drain 不再丢弃按住的 Esc
|
|
39
|
+
|
|
40
|
+
RTT/liveness 探针开始时,输入过滤器可能正扣着一个单字节,因为它还可能是光标应答 `CSI ... R`
|
|
41
|
+
的开头。`TerminalInputPump.drain()` 不再重置过滤器并丢掉这个字节,而是保留它并重新安排释放:
|
|
42
|
+
如果后续应答到达,字节合并为应答;如果窗口结束仍不完整,就按原有规则交还为键入。切开的应答
|
|
43
|
+
仍不会被误认成 Escape。
|
|
44
|
+
|
|
45
|
+
### APPR.BP1 — AI Reviewer 传递真实授权 Session
|
|
46
|
+
|
|
47
|
+
Reviewer 的 `GenerateOptions` 现在携带授权 Agent 的真实 `sessionId`。同一 Session 的复核共享
|
|
48
|
+
身份,不同 Session 或子 Agent 不共享。Reviewer prompt、400-token budget、15 秒 deadline、
|
|
49
|
+
reasoning effort、授权策略、缓存与 fail-closed 行为均未改变;该修复不写入用户对话记录。
|
|
50
|
+
|
|
51
|
+
### DOC.R1 — `/doctor` 纳入已注册 Adapter
|
|
52
|
+
|
|
53
|
+
`doctorRouting()` 保留 `llm-pi-ai.providers`,并合并 `ctx.llm.listProviders()` 返回的实际注册
|
|
54
|
+
Adapter ID,去重后用于路由自洽性检查。已注册的 `deepseek-official` 不再被误报为“不在已配置
|
|
55
|
+
路由里”;第三方 Provider 缺失、已配置 Provider 的非法模型、以及子代理跨 Provider Family
|
|
56
|
+
仍会继续告警。LLM 服务缺失或 `listProviders()` 抛错时回退到已配置集合,`/doctor` 不会崩溃。
|
|
57
|
+
|
|
58
|
+
“已注册或已配置”只表示路由存在,**不表示网络或 API 调用成功**。官方模型目录的实时校验仍是
|
|
59
|
+
**OPEN**:`routeModels` 为空时继续按“目录未知”处理,不会伪造 Model Missing。
|
|
60
|
+
|
|
61
|
+
## 兼容性
|
|
62
|
+
|
|
63
|
+
声明窗口与 `0.8.4-rc.1` 相同,没有新增兼容声明:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
>=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
- `0.2.1-rc.2` 仍是默认开发线。
|
|
70
|
+
- `0.2.0-rc.1` / `0.2.0-rc.2` 继续保留兼容表态与 CI 腿。
|
|
71
|
+
- `0.1.7` 线自 `0.8.4-rc.1` 起为 `incompatible`。
|
|
72
|
+
- `0.1.5` 及更早从 `0.8.0` 起不再支持。
|
|
73
|
+
|
|
74
|
+
## 验证记录
|
|
75
|
+
|
|
76
|
+
以下是当前 `release/0.8.4@e1eccf4` 候选代码的本地/CI 收据,不是未来 RC.2 的收据:
|
|
77
|
+
|
|
78
|
+
- `npm run build`:通过。
|
|
79
|
+
- `npm run typecheck`:通过。
|
|
80
|
+
- `npm test`:**1540 项,1536 通过,0 失败,4 跳过**。
|
|
81
|
+
- `npm run freeze` / `npm run freeze:input`:通过。
|
|
82
|
+
- `npm run bench`:五个动作均为增量绘制,0 次整屏清屏。
|
|
83
|
+
- `npm run bench:report -- --check`:通过。
|
|
84
|
+
- `scripts/artifact-smoke.mjs`:当前候选 tarball 通过;包清单 **251 files**。精确 tarball
|
|
85
|
+
bytes、shasum 和 integrity 必须由获授权的 RC.2 重新生成后记录,本文件不沿用旧值。
|
|
86
|
+
- 当前 `release/0.8.4` 的 Push CI **40057666773**:四条腿全部 success。
|
|
87
|
+
- `scripts/upgrade-smoke.mjs --from 0.8.4-rc.1 --to <current-candidate.tgz>`:通过
|
|
88
|
+
(manifest、bundle 入口、凭据与会话存储均保留)。这是当前候选 tarball 的验证,不是 RC.2 的
|
|
89
|
+
升级收据;RC.2 必须重新执行并绑定自己的 tarball。
|
|
90
|
+
- 清理构建的 `lib/` 与 RC.1 tarball **不再是**逐字节相同;本候选明确不引用旧版的
|
|
91
|
+
`228 个文件逐字节一致` 收据。
|
|
92
|
+
|
|
93
|
+
Windows Terminal、conhost、IME 中文输入、多行中文粘贴、鼠标复制与 SSH 恢复仍按
|
|
94
|
+
[`release.md`](release.md) 的人工验收清单执行;本轮未实际人工执行的项目保持 **PENDING**,
|
|
95
|
+
不引用旧版本结果冒充本版验收。自动化 PASS 不是人工 Gate PASS。
|
|
96
|
+
|
|
97
|
+
## 已知限制
|
|
98
|
+
|
|
99
|
+
- **官方模型目录校验仍 OPEN**:`/doctor` 可以看到已注册的官方 Provider,但尚未异步读取
|
|
100
|
+
`llm.listModels('deepseek-official')` 来校验官方模型成员;自定义官方 Catalog 缺少所选模型时
|
|
101
|
+
仍可能漏诊。
|
|
102
|
+
- **过滤框对非 BMP 字符的限制(未修)**:picker 的过滤框仍以 `text.length === 1` 判单字符,
|
|
103
|
+
`'🚀'.length === 2`,因此星平面字符在过滤框中会被丢弃。Composer、借用字段与向导字段正常。
|
|
104
|
+
- **陈旧 `lib/` 的打包风险(未修)**:`tsc` 不清理旧输出,`prepack` 也不跑 `clean`;发布必须从
|
|
105
|
+
干净树构建。`artifact-smoke` 的清单检查是纪律证据,但脚本本身不阻止脏树打包。
|
|
106
|
+
- **时间敏感的 Windows 单元测试**:`session-list.test.mjs` 中 150ms mock 竞速用例在慢跑器上可能
|
|
107
|
+
失败;这是测试 oracle 问题,不是产品行为,本版未修。
|
|
108
|
+
- **ConPTY 无法覆盖的帧级断言**:ConPTY 会重写行寻址并自行插入清屏,逐行寻址/不清屏类检查在
|
|
109
|
+
Windows 上标记为 `NOT_MEASURED`;功能断言照常执行。
|
|
110
|
+
- **发布后 registry 比对仍是人工步骤**:发布前自动化 pack → 清单 → 安装 → 探针;发布后从
|
|
111
|
+
registry 取回 tarball、核对 shasum/integrity 与 `lib/` 仍按 `docs/release.md` 执行。
|
|
112
|
+
|
|
113
|
+
## 安装
|
|
114
|
+
|
|
115
|
+
### 当前 registry 事实(2026-10-24 核对)
|
|
116
|
+
|
|
117
|
+
- `@latest` **存在**,当前指向 **`0.8.3`**。
|
|
118
|
+
- `@next` **存在**,当前指向 **`0.8.4-rc.1`**。
|
|
119
|
+
- `0.8.4-rc.1` 已发布。
|
|
120
|
+
- `0.8.4` **尚未发布**,不在 registry 的 versions 中。
|
|
121
|
+
|
|
122
|
+
因此 `@latest` 本身是可用的稳定通道;只是它还**没有**指向 `0.8.4`。不能把“`0.8.4` 尚未发布”
|
|
123
|
+
写成“`@latest` 不可用”。
|
|
124
|
+
|
|
125
|
+
已发布版本可按通道安装:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# 当前稳定版(0.8.3)
|
|
129
|
+
dsh plugin --profile tui add dsh-ssh-tui@latest
|
|
130
|
+
|
|
131
|
+
# 已发布的候选版(0.8.4-rc.1)
|
|
132
|
+
dsh plugin --profile tui add dsh-ssh-tui@0.8.4-rc.1
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 候选版与正式版的发布通道
|
|
136
|
+
|
|
137
|
+
- **`0.8.4-rc.2` 获授权发布后,只能使用 `next`**:`npm publish --tag next`。测试者使用
|
|
138
|
+
`dsh-ssh-tui@next` 或精确的 `dsh-ssh-tui@0.8.4-rc.2`;`latest` 继续留给正式稳定版。
|
|
139
|
+
- **正式 `0.8.4` 获授权发布后,使用 `latest`**:`npm publish --tag latest`,安装命令为
|
|
140
|
+
`dsh-ssh-tui@latest`。
|
|
141
|
+
- 正式版发布时是否把 `next` 同步到 `0.8.4`,要按当时的候选占用情况另行决定(例如是否已有更新的
|
|
142
|
+
RC 占用 `next`);本文不预先把 `next` 指向未来的正式版。
|
|
143
|
+
|
|
144
|
+
`0.8.4` 当前不能通过 `@latest` 安装,是因为它还没有发布,不是因为 `@latest` 通道不存在。
|
|
145
|
+
配置、凭据和会话记录不需要迁移;但不要从本文件推断尚未发生的发布。
|
package/lib/doctor.js
CHANGED
|
@@ -71,21 +71,49 @@ export function doctorChecks(facts) {
|
|
|
71
71
|
const generation = facts.generation ?? 'legacy';
|
|
72
72
|
if (generation === 'forms') {
|
|
73
73
|
const missing = analysis.parseable ? missingRosterRows(analysis.rows, rosterRows(generation)) : [];
|
|
74
|
+
const toolsKnown = facts.services.askUserTool !== undefined || facts.services.presentTool !== undefined;
|
|
75
|
+
const toolsMissing = [
|
|
76
|
+
...(facts.services.askUserTool === false ? ['ask_user_question'] : []),
|
|
77
|
+
...(facts.services.presentTool === false ? ['present'] : []),
|
|
78
|
+
];
|
|
79
|
+
// A tool a bundle already registered does not need a profile row. Only the
|
|
80
|
+
// rows whose tools are genuinely absent are reported or repaired.
|
|
81
|
+
const missingTools = toolsKnown
|
|
82
|
+
? missing.filter(row => row.id === 'tool-ask-user'
|
|
83
|
+
? facts.services.askUserTool === false
|
|
84
|
+
: facts.services.presentTool === false)
|
|
85
|
+
: missing;
|
|
74
86
|
if (!analysis.parseable) {
|
|
75
87
|
checks.push({ id: 'agent-plane', status: 'warn', summary: t('doctor.forms.unknown'), details: [] });
|
|
76
88
|
}
|
|
77
|
-
else if (
|
|
89
|
+
else if (toolsKnown && toolsMissing.length === 0) {
|
|
90
|
+
// Both tools are registered, whether the profile patch spells them or a
|
|
91
|
+
// bundle supplied them. There is nothing to repair.
|
|
78
92
|
checks.push({ id: 'agent-plane', status: 'ok', summary: t('doctor.forms.ok'), details: [] });
|
|
79
93
|
}
|
|
80
|
-
else {
|
|
94
|
+
else if (missingTools.length > 0) {
|
|
81
95
|
checks.push({
|
|
82
96
|
id: 'agent-plane',
|
|
83
97
|
status: 'warn',
|
|
84
98
|
summary: t('doctor.forms.warn'),
|
|
85
|
-
details:
|
|
99
|
+
details: missingTools.map(row => t('doctor.detail.missingRow', { id: row.id })),
|
|
86
100
|
fixable: true,
|
|
87
101
|
});
|
|
88
102
|
}
|
|
103
|
+
else if (toolsKnown && toolsMissing.length > 0) {
|
|
104
|
+
// The row is in the patch but the running composition never registered
|
|
105
|
+
// the tool. Adding the row again would only mount a duplicate; report the
|
|
106
|
+
// gap instead of turning a write into a claim of readiness.
|
|
107
|
+
checks.push({
|
|
108
|
+
id: 'agent-plane',
|
|
109
|
+
status: 'fail',
|
|
110
|
+
summary: t('doctor.forms.notActive', { missing: toolsMissing.join(', ') }),
|
|
111
|
+
details: toolsMissing.map(id => t('doctor.detail.unregisteredTool', { id })),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
checks.push({ id: 'agent-plane', status: 'ok', summary: t('doctor.forms.ok'), details: [] });
|
|
116
|
+
}
|
|
89
117
|
}
|
|
90
118
|
else if (facts.services.roster) {
|
|
91
119
|
checks.push({ id: 'roster', status: 'ok', summary: t('doctor.roster.ok'), details: [] });
|
|
@@ -388,7 +416,16 @@ export function rowsToRepair(facts) {
|
|
|
388
416
|
// base composes the agent process-wide, and the three rows a terminal profile
|
|
389
417
|
// owns are the ones the patch text either declares or does not.
|
|
390
418
|
if (generation === 'forms') {
|
|
391
|
-
|
|
419
|
+
const missing = missingRosterRows(facts.patch.analysis.rows, rosterRows(generation));
|
|
420
|
+
// A tool the running composition already registered must not be mounted
|
|
421
|
+
// again: another copy would fail the loader ("service ... has been
|
|
422
|
+
// registered") or shadow the row the bundle supplied. Old snapshots do not
|
|
423
|
+
// carry these facts, so their textual behaviour is preserved.
|
|
424
|
+
const toolsKnown = facts.services.askUserTool !== undefined || facts.services.presentTool !== undefined;
|
|
425
|
+
if (!toolsKnown)
|
|
426
|
+
return missing;
|
|
427
|
+
return missing.filter(row => (row.id === 'tool-ask-user' && facts.services.askUserTool === false)
|
|
428
|
+
|| (row.id === 'present' && facts.services.presentTool === false));
|
|
392
429
|
}
|
|
393
430
|
const missing = missingRosterRows(facts.patch.analysis.rows);
|
|
394
431
|
return missing.filter(row => (row.id === ROSTER_ROWS[0]?.id && !facts.services.roster)
|
package/lib/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/lib/i18n/en.js
CHANGED
|
@@ -326,6 +326,8 @@ export const en = {
|
|
|
326
326
|
'doctor.forms.ok': 'the agent plane is ready: persona (the host default), ask_user_question and present are all there',
|
|
327
327
|
'doctor.forms.warn': 'this host composes its agent process-wide, so the profile mounts these rows itself (/doctor --fix writes them)',
|
|
328
328
|
'doctor.forms.unknown': 'the patch does not parse, so the agent-plane rows cannot be judged',
|
|
329
|
+
'doctor.forms.notActive': 'the profile declares the agent-plane rows, but the running composition is missing {missing}; the rows are already present, so adding them again would not help',
|
|
330
|
+
'doctor.detail.unregisteredTool': 'declared but not registered: {id}',
|
|
329
331
|
'doctor.duplicates.ok': 'no row is mounted twice',
|
|
330
332
|
'doctor.duplicates.fail': '{count} rows are mounted twice: the second mount fails with "service has been registered"',
|
|
331
333
|
'doctor.bundle.ok': 'the profile layer and the bundle layer mount no row twice',
|
|
@@ -338,7 +340,7 @@ export const en = {
|
|
|
338
340
|
'doctor.scope.fail': '{count} copies of @deepseek-ai/dsh-scope found: preset composition refuses an unscoped context',
|
|
339
341
|
'doctor.routing.ok': 'the default route and the subagent model are self-consistent',
|
|
340
342
|
'doctor.routing.warn': '{count} routing self-consistency problems',
|
|
341
|
-
'doctor.routing.providerMissing': 'the default provider {provider} is
|
|
343
|
+
'doctor.routing.providerMissing': 'the default provider {provider} is neither registered nor configured (registered or configured: {routes})',
|
|
342
344
|
'doctor.routing.modelMissing': 'the model {model} is not in the {provider} route model list',
|
|
343
345
|
'doctor.routing.subMismatch': 'the subagent model {model} is not the same family as its parent route {provider}',
|
|
344
346
|
'doctor.fixHint': 'fix: /doctor --fix (backs up before writing)',
|
|
@@ -584,6 +586,9 @@ export const en = {
|
|
|
584
586
|
'onboard.settingsMissing': 'settings service unavailable; custom provider was not saved.',
|
|
585
587
|
'onboard.providerSaved': 'Provider {id} saved → {path}',
|
|
586
588
|
'onboard.customDone': 'Saved {id} / {model}. Other providers keep their models and keys; /provider switches on the next request.',
|
|
589
|
+
'onboard.agentPlaneAdded': 'The profile patch was missing agent-plane rows; added the missing rows to {path}. This session still runs without them — restart the TUI to compose them: dsh --profile {profile}',
|
|
590
|
+
'onboard.agentPlaneRestart': 'The agent-plane rows are in {path}, but this session did not compose them; restart the TUI: dsh --profile {profile}. If they are still missing, run /doctor.',
|
|
591
|
+
'onboard.agentPlaneFailed': 'Could not repair the agent-plane rows: {error}. This session still lacks the agent tools; fix {path}, then run /doctor --fix.',
|
|
587
592
|
'onboard.saveFailed': 'Failed to save config: {error}',
|
|
588
593
|
'onboard.credSaved': '{env} saved → {path}',
|
|
589
594
|
'onboard.envShadowWin': 'Environment variable {env} already wins; overwrote via setx + env.cmd. Open a new terminal.',
|