UStackUStack
Kagura icon

Kagura

Kagura 开源浏览器自动化测试工具,面向 AI 编程代理。支持 MCP(Claude Code)、HTTP API、Playwright 控制与邮件验证流程。

Kagura

Kagura 是什么?

Kagura 是一个开源测试工具,专为需要在真实浏览器中验证工作的 AI 编程代理设计。它允许代理开启浏览器会话、驱动用户流程(点击、填写表单、导航),并在发布前验证结果。

核心目的是弥合“代理编写了代码”与“代码在 UI 中实际运行”之间的差距。Kagura 提供浏览器控制、邮件流程处理(如魔法链接和 OTP),以及将捕获的操作或测试结果发布到 CI/CD 的能力。

主要特性

  • 代理一键浏览器控制:通过 CLI 命令启动浏览器自动化,专为能在编码和验证期间调用工具的 AI 代理设计。
  • 支持 MCP 和 HTTP API:通过 MCP(原生 Claude Code 集成)或 HTTP API 使用 Kagura,从而兼容不同代理运行时。
  • Playwright 驱动的浏览器操作:使用 Playwright 控制导航页面、点击流程、填写表单并捕获截图。
  • 验证流程的邮件功能:处理魔法链接、OTP 和邮件验证,避免浏览器测试在“检查收件箱”步骤卡住。
  • DOM 分析与可访问性树:提供结构化的可访问性视图,让代理理解页面结构,而非仅视觉渲染。
  • 带 CI/CD 重放的操作日志:记录操作并在 CI/CD 中重放,无需代理重写测试脚本。

如何使用 Kagura

  1. 安装 CLI:站点显示 npm install -g @kagura-run/cli
  2. 启动测试工具:运行一条命令,为你的 AI 编程代理启动浏览器控制。
  3. 连接代理:配置代理通过 MCP 配置(Claude Code 集成)或 HTTP API 使用 Kagura。
  4. 运行流程并收集证据:让代理导航、与 UI 交互并捕获截图;使用记录的操作作为测试运行基础。
  5. 发布到 CI/CD:测试设计为自动发布,以便在每次推送时运行,如站点所述。

使用场景

  • 代码生成后的 UI 验证:代理进行更改后,使用 Kagura 点击关键 UI 路径,通过记录的交互和截图确认预期行为。
  • 依赖邮件的认证和入驻测试:对于涉及魔法链接、OTP 或邮件验证的流程,Kagura 的邮件处理功能帮助代理完成浏览器旅程。
  • 无需编写新脚本的 CI/CD 自动化回归:一次性捕获操作并在 CI/CD 中重放,实现站点所述的每次推送可重复运行。
  • 代理驱动的可访问性 QA:使用结构化可访问性树,让代理以更结构化的方式推理页面元素和操作。
  • 多编码代理的工具集成:使用 Claude Code 时采用 MCP,或使用 HTTP API 让 Codex、Cursor 或其他支持 curl 的代理驱动浏览器测试。

常见问题

  • Kagura 支持 Claude Code 吗? 是的。站点指出 Kagura 与 Claude Code 具有“MCP 原生”集成,只需将其添加到 MCP 配置中。

  • Kagura 能与 Claude Code 以外的代理一起使用吗? 是的。站点列出 Claude Code 的 MCP 使用方式,并提及可供 Codex 和 Cursor 等其他代理使用的 HTTP API。

  • Kagura 如何处理登录或验证流程? Kagura 包含邮件功能,支持魔法链接、OTP 和邮件验证,帮助浏览器自动化完成通常需要用户邮箱访问的步骤。

  • Kagura 生成什么测试产物? 站点描述记录操作、捕获截图,并将测试发布到 CI/CD(包括重放记录的操作)。

  • Kagura 是自托管还是云托管? 页面描述两种选项:自托管(运行在你自己的基础设施上)和 云托管(包含 CI/CD 和邮件)。

替代方案

  • 通用浏览器自动化框架(如 Playwright/Selenium)结合自定义测试代码:这些可自动化 UI 测试,但通常需要您编写和维护测试脚本,而非使用专为 AI 代理设计的测试框架。
  • 内置 UI/DOM 工具的代理框架:某些代理平台包含浏览器自动化或工具,但可能无法提供相同的邮件流程技能与 CI/CD 发布/重放工作流组合。
  • 专注测试编写的端到端测试工具:E2E 测试套件可验证应用行为,但通常以人工编写的测试用例为中心,而非专为代理驱动执行设计的录制/重放。
  • 支持 MCP 的自动化服务:如果您已高度依赖 MCP 进行代理编排,可寻找其他暴露浏览器控制的 MCP 工具,但需自行组装邮件处理和 CI/CD 发布。