dsh-tui 验收清单(Release 前,真实 Windows Terminal 执行)
August 14, 2026 · View on GitHub
目的:你在真实终端把关键流程过一遍,确认「暂定稳定」后即可发布 (推送 → 普通合 main → bump → npm publish,见
docs/release-runbook.md)。 前置:DHS host 在本机http://127.0.0.1:3080运行、有可用模型 key。 每项通过后打[x]。异常即停止并回报,不回滚已共享历史。
0. 启动
- 在本仓库根目录执行(任选其一,若全局安装则
dsh-tui):node bin/tui.js - 预期:顶栏 logo banner + HUD(模型/上下文/token/成本)出现,输入框可输入。
- banner 与 HUD 正常
- 输入框闪烁光标,可输入
1. 对话与流式渲染
- 发送一条含 Markdown 代码块/列表/加粗的长回复请求,观察流式打字效果与回车后落定排版。
- 连发数条产生较长历史,确认历史长时输入框与 HUD 仍稳定(不顶飞、不闪跳)。
- 流式逐字/按批渲染不卡死
- 长历史下 follow-tail:默认跟随,PgUp/PgDn 翻页,End 回底
- 长历史下输入框/HUD 行数稳定
2. 输入与补全(Claude Code / vim 心智)
i/ 直接输入进入 insert;ESC→normal(保留草稿)、再ESC→清空整框。- 输入
@后目录下钻文件名,Tab/↑↓轮换,Enter插入@"path"(含空格自动引号)。 - 输入
/命中命令(如/status)出现命令面板,Tab/Enter 选择执行。 - 输入
!开头非空字符串后 Enter,走 shell 命令路径(receive「运行 shell 命令」)。 - insert 模式按
↑/↓召回最近发的消息。
-
@文件补全(目录下钻 + 选择 + 插入) -
/命令面板与执行 -
!shell 路径 - insert 时 ↑/↓ 历史召回
- 双击 ESC / ESC+ESC 清空行为正确
3. 审批与问询(本轮重点改动)
- 触发一个非白名单工具(如
run_code试读高开销操作),确认审批卡片弹出:y= 允许一次;Y= 本会话允许;n= 拒绝。- 重点验证新「模态锁定」:审批挂起时打字不会进输入框;
ESC/Ctrl+C可退出/中断。 acceptEdits档下编辑工具自动放行;bypass 默认不可进入,只有配置allowBypassPermissions: true后才全放行。
- 让 host 发一次
question/requested(提问型交互),确认出现选择面板;↑/↓选择、Enter逐题确认,Esc/n安全拒绝,按键不漏进输入框。
- y / Y / n 三态可用
- 审批期打字不进输入框(模态锁定,
a495a3c) - acceptEdits 自动放行;bypass 默认隐藏、显式开启后才可用
- 问询面板可选择/拒绝,回合不阻塞且按键不漏入输入框
4. 快捷键与稳定性
Ctrl+C:运行中→中断;空闲→800ms 内双按退出。Ctrl+L清屏(不清历史)。/status显示会话 ID/模型/上下文/模式。?帮助面板开关;Esc关。Ctrl+O工具卡三态(collapsed/expanded/hidden)循环。
- Ctrl+C 中断与双按退出
- Ctrl+L 清屏
- /status、? 帮助
- Ctrl+O 工具卡
5. 优雅退出
- 正常退出后确认:无残留临时文件(仓库根不应新增
six-points.md等烟测产物);进程干净退出无栈错。
- 无残留文件、无异常退出
判定
- 全部
[x]→ 判定「暂定稳定」,可执行docs/release-runbook.md发布流程。 - 任一失败 → 记下可复现步骤,回报后我修复(独立 commit,可单独 revert),复测通过再发布。