SuperAPI AI 工具集

senpi-qa

测试与质量

查看项目

更新于 10-15 20:13

技能介绍

用途:对 senpi 编码代理(packages/{ai,agent,coding-agent,tui})做手工 QA,通过真实 CLI 驱动验证用户可见行为,而非只读代码或信任单元测试。修改上述包后必须运行。

主要能力与分道(channel):

  • Channel 1 远程 RPC(scripts/rpc-drive.mjs):驱动 --mode rpc,get_state 往返不发 API 调用,--prompt 驱动真实回合并捕获事件流。
  • Channel 2 TUI 冒烟(scripts/tui-smoke.mjs):在真实伪终端启动交互 TUI,验证渲染与按键进入 composer,使用 node-pty(Windows 用 ConPTY)或 POSIX 下 tmux 回退。仅证明启动/渲染/输入。
  • Channel 3 模拟循环(scripts/mock-loop.mjs):启动本地伪模型服务器,经隔离 models.json 的 baseUrl 覆盖驱动真实回合,零 token、确定性;覆盖 openai-completions、anthropic-messages、openai-responses 三种线格式;--with-tool 验证模型→bash 工具→最终文本;--with-mcp-tool 验证 MCP 代理;--scenario 可注入 transient-recover、budget-exhaust、long-retry-after 错误/重试场景。
  • Channel 4 CLI 冒烟(scripts/cli-smoke.mjs):离线检查 --help、--version、--list-models、未知参数处理。
  • Channel 5 PTY(scripts/pty-drive.mjs):驱动 @earendil-works/pi-pty 运行时(支撑 bash/bash_output/bash_input/bash_resize/kill_bash),覆盖后台行监视、stdin 控制、屏幕快照与 resize 重排、注册表清理。

用法:设置(一次)node scripts/devenv-setup.mjs,再用 node .agents/skills/senpi-qa/scripts/lib/common.mjs --self-check 确认。各通道命令从仓库根运行,例如: node .agents/skills/senpi-qa/scripts/rpc-drive.mjs --self-test node .agents/skills/senpi-qa/scripts/mock-loop.mjs --self-test --api anthropic-messages node .agents/skills/senpi-qa/scripts/mock-loop.mjs --with-tool --api openai-responses node .agents/skills/senpi-qa/scripts/pty-drive.mjs --self-test --force-pipe 多数通道支持 --evidence <slug>,把产物写入 local-ignore/qa-evidence/<日期>-<slug>/。

限制与规则:隔离强制——通过 SENPI_CODING_AGENT_DIR / SENPI_CODING_AGENT_SESSION_DIR 指向临时沙箱并设 PI_OFFLINE=1,不得写入真实 ~/.senpi;不得读取或修改真实凭据(auth.json 快照 sha256 校验不变);确定性循环用模拟服务器,真实提供商仅用于最终冒烟且只能用现有认证;本技能不修改 src/,只验证不修复;捕获的产物即证据,无产物即视为未做 QA,证据不得提交。参考资料见 references/ 下 rpc-protocol.md、tui-driving.md、mock-loop.md、credential-injection.md、env-vars.md。