SuperAPI AI 工具集

tui-verify-change

测试与质量

查看项目

更新于 10-16 07:17

技能介绍

用途:验证对 Warp 无头 TUI 前端(crates/warp_tui 以及 crates/warpui_core/src/elements/tui 中的 cell-grid 元素库)的改动,方式是真正运行它并读回实际渲染屏幕。适用于改动了用户可见或可交互内容:TUI 元素/布局、crates/warp_tui 中的视图/屏幕(transcript、input、零状态、登录占位等)、TUI 快捷键或渲染/行为。仅 GUI 改动不适用,应走 GUI 验证路径。

运行环境:本地开发检出直接运行 ./script/run-tui,会构建 warp_tui 并在可用时选择内部 local 通道,否则回退到 warp-tui-oss;本地通常不设置 WARP_API_KEY,通过交互式设备授权登录或已登录。云端无头运行器没有浏览器做设备授权,依赖环境中已有的 WARP_API_KEY 非交互登录,但仍优先用 ./script/run-tui;未登录界面(登录占位、纯元素/布局)无需登录。

构建:cd <warp-repo-root> 后运行 CARGO_BUILD_JOBS=2 cargo build -p warp_tui --bin warp-tui-oss,建议小 job 数避免 OOM。

tmux 驱动:用 tmux new-session -d -s tuicheck -x 120 -y 40 './target/debug/warp-tui-oss' 启动并指定尺寸,sleep 后 tmux capture-pane -t tuicheck -p 读取渲染文本(加 -e 含颜色/样式转义),用 tmux send-keys 发送输入和特殊键,结束用 tmux kill-session。若无 tmux 不阻塞验证:本地可直接在真实终端运行,云端可用 script -qe -c './target/debug/warp-tui-oss' /tmp/tui.log 等 PTY 包装捕获输出。

迭代与检查:增量重建约 10 秒,编辑→构建→重启会话→capture-pane 对比,自行 grep/扫描捕获内容并对比前后。

注意事项:debug 构建可能出现绑定校验 panic(退出码 101),可改用 --release 构建(cargo build --release -p warp_tui --bin warp-tui-oss)或在启动后轮询捕获首帧。capture-pane 会读取备用屏幕;启动时 TUI 发出终端探测,需等约 0.5–1 秒;Ctrl-C 在登录占位一次退出,实时会话需约 1 秒内按两次。

截图与视频:用 asciinema rec --overwrite -c "./target/debug/warp-tui-oss" /tmp/tui.cast 在 tmux 内录制,agg --cols 120 --rows 40 /tmp/tui.cast /tmp/tui.gif 渲染,再用 ffmpeg 转 H.264/yuv420p +faststart 的 MP4 并抽帧。另建议按 tui-testing 添加渲染为行的单元测试,与现场验证互补。