SuperAPI AI 工具集

visual-test

测试与质量

查看项目

更新于 10-16 07:20

技能介绍

用途:在修改 Script Kit GPUI 的 Rust UI 代码后,建立“改代码、构建、截图、读图验证、调整、重复”的紧密反馈闭环,用于焦点指示器、颜色、布局、阴影、间距等需要视觉确认的改动。

主要能力:应用从 stdin 读取 JSON 命令;通过命名管道(mkfifo)配合持久文件描述符 exec 3>"$PIPE" 可连续发送多条命令。支持 show(显示窗口,应用默认隐藏)、setFilter(设置过滤文本)、captureWindow(按窗口标题子串截取窗口,空字符串匹配任意窗口,小于 100x100 的窗口自动跳过)、simulateKey(模拟 tab、方向键、enter、escape、带 shift/cmd 修饰键等)。

使用方式:cargo build 构建;创建命名管道并启动 ./target/debug/script-kit-gpui < "$PIPE" 重定向日志到文件;用 exec 3>"$PIPE" 保持管道打开后经 fd 3 发送命令;截图路径须为绝对路径并用 $(pwd)/ 前缀;截图后读取 PNG 目视验证。可用环境变量 SCRIPT_KIT_AI_LOG=1 启用精简日志;测试 setup card 时需 unset VERCEL_AI_GATEWAY_API_KEY、ANTHROPIC_API_KEY、OPENAI_API_KEY。时序建议:启动 3s,show/setFilter/captureWindow 后各 1s,simulateKey(Tab 打开新视图)1.5s,焦点变化 0.5s。

注意事项:首次必须先发 {"type":"show"},否则窗口隐藏导致截图空白或缺失;不要用 echo > "$PIPE",否则管道在首次写入后关闭、应用退出;SimulateKey 不经过 GPUI 事件系统,而是经 main.rs 的 handle_setup_key / 视图更新逻辑直接派发;Tab 需在 app_impl.rs 的 cx.intercept_keystrokes() 中拦截;系统截图工具被禁止,须使用 captureWindow;应用静默失败时查看 /tmp/sk-test-stdout.log。已有测试示例 tests/smoke/test-setup-card-focus.sh 覆盖 setup card 焦点指示与 Tab/Shift+Tab/方向键导航。更多信息暂未提供,价格、平台与收费情况暂未提供。