用途:为交互式 CLI/TUI 搭建可重复的本地测试装置(harness),替代手动反复操作,用于复现带确定性输入的 CLI/TUI 缺陷、验证键盘流程/提示/中断/窗口缩放与终端布局、采集修复前后对照记录、分析启动时间与卡死或内存增长,并在需要时录制简短终端演示。
主要能力:优先复用仓库自带的测试或演示装置(package scripts、e2e 测试、demo 录制器、expect 脚本或 PTY 辅助工具);若无现成装置,可用 tmux、PTY 脚本、Node/Bun 运行时检查器或兼容 asciinema 的终端录制器临时搭建。
使用方式:先确定被测命令与最小可复现工作区,再查找现有装置;没有则以隔离终端会话和确定性环境变量启动 CLI,先捕获当前屏幕,再逐条发送文本、Enter、方向键、Escape、Ctrl-C 或调整窗口大小,等待出现明确屏幕模式或提示后再执行下一步,最后保存记录与性能产物并干净地结束会话。最小 tmux 流程示例: SESSION="cli-harness-$(date +%s)" tmux new-session -d -s "$SESSION" -- <command-under-test> tmux capture-pane -pt "$SESSION" tmux send-keys -t "$SESSION" "help" Enter tmux capture-pane -pt "$SESSION" tmux kill-session -t "$SESSION" Node CLI 可加 NODE_OPTIONS="--inspect=127.0.0.1:0",再从终端输出读取检查器地址。也可用 Python pty 脚本实现确定性等待,仅在需要时保留为可复用测试。性能方面覆盖启动回归、慢操作 CPU profile、内存泄漏堆快照对比与卡死采样。
限制与注意:优先使用确定性等待而非固定 sleep;不要向受控会话发送凭据或破坏性命令;除仓库已有测试装置外,临时装置放在 /tmp;不要硬编码其他仓库路径,应适配当前仓库脚本与运行时;除用户要求保留外,需清理 tmux 会话、临时目录、检查器进程与演示产物。其他细节暂未提供。