mcpField
F
five46

five46

本地服务
github.com开发工具31 周前更新

关于 five46

five46 是供开发者使用的本地 AI Agent,可通过自然语言检查浏览器流程或 API,并给出通过或失败的结果。成功运行会生成独立的 Playwright 或 `node:test` 测试,也支持 CI、GitHub Action 和 MCP。

主要功能

  1. 01用自然语言检查浏览器流程和 API
  2. 02提供结果报告与失败原因假设
  3. 03生成独立的 Playwright 或 `node:test` 测试
  4. 04API 检查默认只读
  5. 05支持 CI 和 GitHub Action
  6. 06支持断言验证与重复运行

适用场景

  1. 01编写测试前检查功能
  2. 02在 PR 预览环境验证验收标准
  3. 03将成功检查转为回归测试

MCP 相关

它提供 MCP 服务,让 IDE 助手通过 MCP 工具运行 five46 检查。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sekharsdet-five46": {
"command": "npx",
"args": [
"-y",
"five46"
],
"env": {
"FIVE46_LLM_PROVIDER": "<FIVE46_LLM_PROVIDER>",
"FIVE46_LLM_API_KEY": "<FIVE46_LLM_API_KEY>",
"FIVE46_MCP_ALLOW_WRITES": "<FIVE46_MCP_ALLOW_WRITES>",
"FIVE46_MCP_ALLOW_DELETES": "<FIVE46_MCP_ALLOW_DELETES>",
"FIVE46_MCP_CONCURRENCY": "<FIVE46_MCP_CONCURRENCY>"
}
}
}
}
启动命令npx -y five46
需要配置的环境变量
FIVE46_LLM_PROVIDERLLM provider to use: openai, anthropic, gemini, groq, or bedrock
FIVE46_LLM_API_KEY密钥Your own API key for the chosen provider (for bedrock, your AWS region instead)
FIVE46_MCP_ALLOW_WRITESSet to 1 to unlock POST/PUT/PATCH for the five46_api tool (read-only by default)
FIVE46_MCP_ALLOW_DELETESSet to 1 to unlock DELETE (five46_api) and destructive-looking browser clicks (five46_test)
FIVE46_MCP_CONCURRENCYMax concurrent scenarios for story mode (default: 2 for five46_test, 3 for five46_api; hard-capped at 5)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmfive460.2.3

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要测试的实时 http(s) 或 file:// URL
goalstring否Agent 应完成的任务——`goal`/`story` 中必须且只能提供一个。目标含糊会导致 BYOK 费用实际产生,却无法进行聚焦的运行。
storystring否原始的、可能包含多个场景的用户故事/验收标准文本;将其拆分为独立目标,并以有界并发运行(参见 `concurrency` 上下文,该值通过服务器上的 FIVE46_MCP_CONCURRENCY 设置,绝不是单次调用参数)。与 `goal` 互斥——必须且只能提供一个。
headedboolean否观察它操作真实的可见浏览器,而不是无头浏览器(默认 false)
maxStepsinteger否步骤预算(默认 15,无论传入什么值,硬性上限均为 50)
storageStatePathstring否相对于已配置项目根目录的路径,指向之前由 `five46 login` 捕获的会话文件——启动时浏览器已完成身份验证

详细介绍

five46

npm version npm downloads CI license: MIT node

用通俗的英语描述预期效果。AI Agent 会使用你自己的 LLM 密钥,在真实应用或 API 上检查效果,并为你生成真正的 Playwright 测试。

five46 驱动真实浏览器完成登录、添加到购物车和结账流程,然后确认订单已提交

你刚完成一项开发,想在编写测试前确认它是否真的可用。给 five46 一个目标,例如 “登录并确认仪表盘已加载” 或 “通过 POST 创建用户,然后通过 GET 确认用户存在”。大模型(OpenAI、Anthropic、Gemini、Groq 或 AWS Bedrock,使用你的密钥)会逐步操作你的真实应用或 API。它会如实告诉你目标是否达成;如果没有,还会给出根因假设。成功运行后,会保存为独立的 Playwright(或 node:test)规格文件,这样今天的检查就会成为明天的回归测试,而且运行该测试不需要 five46 或大模型。

快速开始

npm install -g five46
npx playwright install chromium   # one-time browser download
five46 config                     # pick a provider and paste a key (Gemini's is free)
five46 doctor                     # confirms the key works
five46 test http://localhost:3000 --goal "log in as [email protected] and confirm the dashboard says Welcome back"

你会得到通过或失败的结果(以及对应的退出代码)、包含屏幕截图的报告;如果失败,还会提供根因假设;此外还会得到一个 five46-agent-*.spec.ts 文件,可将其提交并通过 npx playwright test 运行。要测试 API?使用 five46 api <base-url> --goal "..."。除非传入 --allow-writes,否则只读。

**状态:**目前仍处于早期阶段,正在积极开发中。已在数十个真实网站和 API 上完成端到端验证。

检查每个拉取请求

five46 GitHub Action 会读取拉取请求描述中的 Acceptance criteria 部分,并针对 PR 的预览部署检查每一项。它会持续更新一条 PR 评论,其中包含每项标准的判定结果、每项失败的原因,以及为每项通过的标准生成的、可直接提交的规格文件。

on: deployment_status   # Vercel, Netlify and other preview deploys
jobs:
  five46:
    if: github.event.deployment_status.state == 'success'
    runs-on: ubuntu-latest
    permissions: { contents: read, pull-requests: write }
    steps:
      - uses: sekharsdet/five46-action@v1
        with:
          url: ${{ github.event.deployment_status.target_url }}
          api-key: ${{ secrets.FIVE46_API_KEY }}

对比

five46Playwright Test Agentsplaywright codegen云端 AI 测试平台
你提供用通俗英语描述的目标或验收标准种子测试和请求,在 AI 编码工具中提供你自己的点击操作在其应用中编写的测试描述
运行位置CLI、CI、GitHub Action 或 MCP 工具在 AI 编码工具中,例如 VS Code本地,随你的点击操作运行其云端
是否旨在判定应用通过或失败是,并提供根因假设重点不在于此:它会生成和修复测试否是
API 测试支持(输出 node:test)侧重浏览器否因平台而异
是否能验证断言可以捕获故障是(--verify 变异检查)没有内置检查否因平台而异
大模型和费用使用你的密钥,支持 5 家服务商使用你的编码 Agent 的模型无订阅其服务
应用数据会发送到仅发送给你的 LLM 服务商你的编码 Agent 所用的服务商不会发送到任何地方其平台
输出普通 Playwright 或 node:test 文件普通 Playwright 文件普通 Playwright 文件通常使用其自己的运行器

你已经在 AI 编码工具中工作,并在其中扩充 Playwright 测试套件? Playwright 自带的 Agent 非常适合这种情况,尤其是用于保持现有测试通过的修复器。five46 则用于给出判定:这项功能现在是否正常运行?无论是在 CI 还是 PR 上,无论是浏览器流程还是 API,都可以使用你已经付费的大模型。更多详情请参阅 Why five46。

亮点

  • 默认安全。 API 运行只读,除非你解锁写入;除非获得许可,否则会拦截看起来具有破坏性的点击(“删除账户”)。
  • 登录凭据绝不会传给大模型。 大模型看到的是占位符,真实值会在本地填入。登录一次,即可重复使用会话。
  • 输入验收标准,输出判定结果。 --story 会将用户故事或工单拆分为独立场景,并报告每项标准的通过或失败情况。
  • 可信的规范。 --verify-clean-session 会在全新会话中重新运行规范;--verify 会修改规范中的断言,并要求这些断言失败。
  • 兼容任何当前可用的密钥。 如果你的服务提供商停用了某个模型,five46 会找到一个你的密钥可用的当前模型。你也可以通过 FIVE46_LLM_MODEL 固定模型。
  • 适配你的工具。 支持适用于 CI 的退出代码、供仪表板使用的 --report JSON、运行不稳定检测(--repeat)、视频录制,以及面向 IDE 助手的 MCP 服务。

文档

  • 配置:服务提供商、获取密钥、five46 doctor、选择模型
  • CLI 参考:所有命令和标志、登录会话、API 测试、故事模式、验证、报告
  • MCP 服务:在 IDE 内嵌的 AI 助手中使用 five46
  • 安全模型:哪些内容会离开你的设备、five46 会防护什么,以及哪些事项由你决定
  • 为何选择 five46:设计选择、完整功能列表、对比
  • 更新日志

已知限制

  • 无法遍历封闭式 shadow DOM。 mode: "closed" shadow 根中的元素不会显示在 Agent 的页面快照中(封闭式 shadow 根通常无法被外部工具访问,并非只有 five46 无法访问)。绝大多数现实中的 Web 组件使用开放式 shadow 根,均可正常使用;<iframe> 和 <frame> 内容也同样适用。
  • 浏览器模式仅支持 Chromium,暂不支持 Firefox 或 WebKit。
  • 运行本身并非确定性的。 针对同一页面执行相同目标,下次可能会采取不同路径。生成的规范是固定且可重复的产物。

参与贡献

欢迎提交问题和拉取请求。请参阅 CONTRIBUTING.md。

git clone https://github.com/sekharsdet/five46.git
cd five46
npm install
npm run build
node dist/cli.js test <url> --goal "..."
npm test

如果 five46 对你有帮助,请在 GitHub 点个 ⭐,帮助其他人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。