Bughunters 是一个由 AI 智能体组成的质量保障(QA)团队,以 npm 包形式发布,通过 npx 命令运行。其核心目标是模拟人类测试员操作应用,自动探索界面、发现缺陷,并按照配置决定是否修复、复测和发布结果。
主要角色与能力
Bughunters 由多个智能体分工协作:
- 探索者(explorer):启动应用、遍历屏幕、记录异常,并捕获控制台错误和失败请求。
- 裁判(judge):审查每条发现及其截图,决定创建 Issue、添加到已有 Issue 或附理由驳回。
- 修复者(fixer,默认关闭):在独立的 git worktree 中于分支 bughunters/fix-<issue> 上编写修复。
- 复测(retest):从修复 worktree 重新启动应用,重复流程,并对比修复前后的截图。
- 发布(publish,默认关闭):为每个已验证的修复创建 GitHub PR,为无修复的重大缺陷创建 Issue。
支持平台包括 Web(Playwright)、Electron(CDP)、iOS 与 Android(Maestro)。智能体可运行在本地 CLI(claude、codex、kimi、pi)或通过 API 密钥(OpenRouter、Vercel AI Gateway、OpenAI、Anthropic)调用模型。
使用方式
基本命令为 npx bughunters@latest <command>,建议始终加上 @latest 以避免缓存中的旧版本;若仓库的 package.json 中已列出 bughunters,则使用 npx bughunters <command>。初始化时执行 init 并配置智能体、平台、启动命令和 URL,生成 .bughunters/ 目录下的配置文件与说明文档。随后可运行探索会话,例如 npx bughunters@latest explore --steps 10 --goal "Sign in, then open the main screen"。所有文件保存在项目根目录的 .bughunters/ 文件夹中,配置与应用指南建议提交到版本库,本地运行数据位于 .bughunters/runs/ 并被 git 忽略。
适用场景
适用于 Web、Electron、iOS 或 Android 应用的自动化探索测试与回归验证,尤其适合需要快速发现界面缺陷、记录问题并生成可追踪 Issue 或 PR 的团队。首次会话可学习常规操作路径,后续会话可快速重放这些路径而无需模型参与。
限制与注意事项
需要 Node 22 或更高版本,并依赖 git 与 origin 远程仓库。使用移动端需安装 Maestro 并确保模拟器或设备可用;使用 Web 平台需按指定版本安装 Playwright 浏览器。需要知道应用在本机的启动方式和登录方式,否则无法继续。探索者无法处理一次性验证码、CAPTCHA、硬件密钥或第三方 SSO 页面,此类情况需要测试绕过方案。修复者与发布步骤默认关闭,需显式启用。不应将 Bughunters 指向生产系统,除非用户确认安全;也不应使用个人账户或无权限创建的测试用户。