mcpField
P
PlaywrightGen

PlaywrightGen

远程服务
playwrightgen.com开发工具0今天更新

关于 PlaywrightGen

PlaywrightGen 是面向需要经审核的 Playwright 测试和可追溯运行证据的团队的 MCP 服务。它将已批准的需求和测试用例关联到经过验证的自动化,以及团队自有 CI 提供的有限结果摘要。

主要功能

  1. 01起草并批准带版本的需求
  2. 02将测试用例关联到需求
  3. 03生成并验证 Playwright 自动化
  4. 04在实时页面上验证测试
  5. 05记录 CI 运行证据并分享证明链接

适用场景

  1. 01将已约定的行为转化为经审核的测试
  2. 02在实际应用页面验证自动化
  3. 03为发布决策分享签名证据

MCP 相关

其 16 个 MCP 工具允许 Agent 读取已批准的测试意图、访问自动化和近期失败记录、在实时页面验证测试,并提交草案供审核。服务端可以提出工作,但不能批准、接受、分享或删除。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://playwrightgen.com/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://playwrightgen.com/api/mcp需要授权

工具

详细介绍

PlaywrightGen

根据你的真实页面编写 Playwright 测试,持续运行直至通过,并将其保留为经人工批准的证据。

现已上线:playwrightgen.com。

编写 Playwright 测试不再是难事——每个编辑器都有助手可以代劳。但它们都不会保留审计、发布决策或客户真正想知道的信息:约定了什么行为、由谁约定、在哪个版本,以及最近一次运行证明了什么。这份记录就是本产品的核心。

工作原理

两种入口,一条链路。

免费工具无需账号。描述要测试的内容,粘贴公开 URL,PlaywrightGen 就会读取页面,根据页面真实的无障碍树编写测试,在远程浏览器中运行,并修复失败的步骤,直到测试通过。你会得到可用代码和证明代码有效的运行记录,并附上签名,确保日后将其导入工作区时证据依然有效。在此之前,不会声称任何内容已被永久记录。

工作区会将这些内容转化为记录:

  1. 起草、审查并批准一项需求。批准后会写入一个不可变版本。
  2. 测试用例包含目标、步骤和预期结果,以同样的方式获批,并链接到其验证的需求。
  3. 自动化根据获批的测试用例版本生成,依据确定性规则进行验证,在真实页面上验证通过,之后由人工批准——绝不由生成器或 Agent 批准。
  4. 运行证据来自你自己的 CI。测试在你的运行器上、针对你的环境运行,使用你的机密信息;系统只会接收有限的结果摘要。测试标题中的 [pwg:...] 标记用于将结果关联到它所证明的获批版本。
  5. 证明链接可将结果分享给团队之外的人:任何人都能打开的签名 URL,附带验收签名和可下载文件,供其留存。

链路上的每项声明都会注明来源。没有通过测试的需求会明确说明;被跳过的运行会说明它未证明任何内容;范围受限的报告会说明未覆盖的内容和程度。

如何确保可信

  • 提示词是请求;验证器是规则。 提示词作出的每项承诺背后都有确定性检查:不允许聚焦测试、不允许固定等待、不允许在文件中存放凭据、不允许向非被测应用地址发出请求,也不允许使用浏览器测试不该调用的 Node 能力。
  • 修复不得削弱测试。 让失败断言通过的最快办法就是删除它,因此,如果修复检查的内容少于原测试,系统会拒绝该修复。
  • 职责分离。 提议者不能批准自己提出的内容;MCP 服务可以提出建议并发送代码,但没有批准、接受、分享或删除的权限。测试会通过读取导入图来强制执行这一规则。
  • 每个 AI 功能都经过评估。 npm run evals 会根据结构化输出对每个提示词进行确定性评分,并将运行结果与人工认可的基准进行比较。

面向 Agent(MCP)

PlaywrightGen 是一个 MCP 服务,因此 Claude Code、Cursor 或 Copilot 可以读取获批的意图,而不必猜测:共有 16 个工具,涵盖需求、测试用例、获批的自动化、近期故障、在真实页面上编写并验证测试,以及提交草案供审查。Agent 获得的权限与其所用令牌所属用户的权限完全相同。

在本地运行

npm install
npm run dev

然后运行 npm run test:run 执行测试套件,再运行 npm run typecheck、npm run lint 和 npm run build。集成测试需要将 TEST_DATABASE_URL 指向一个专用数据库;如果目标看起来像生产环境,测试会拒绝运行。

基于 Next.js、TypeScript、PostgreSQL(Prisma)、Clerk、Tailwind、Playwright、OpenAI 和 Stripe 构建。

环境

运行时:

  • DATABASE_URL — 应用使用的 PostgreSQL。
  • DIRECT_URL — 可选的直连地址,迁移命令优先使用该地址。
  • TEST_DATABASE_URL — 集成测试使用的独立数据库。绝不会回退使用上述任一地址。
  • NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY、CLERK_SECRET_KEY、 CLERK_WEBHOOK_SIGNING_SECRET
  • OPENAI_API_KEY — 仅限服务端使用。不同功能可覆盖模型,例如 OPENAI_REQUIREMENT_REVIEW_MODEL 和 OPENAI_FAILURE_ANALYSIS_MODEL。
  • UPSTASH_REDIS_REST_URL、UPSTASH_REDIS_REST_TOKEN — AI 每分钟和每日使用额度。
  • RUNNER_INGEST_SECRET — 用于签署实时运行回执,因此回执可证明运行的是那份确切代码。
  • BROWSERLESS_API_KEY — 免费工具和验证流程使用的远程浏览器。
  • EXAMPLE_EVIDENCE_PROJECT_ID — 可选:将证据公开发布到 /proof/example 的唯一项目。

GitHub 集成(每个环境使用独立值):

  • GITHUB_APP_ID、GITHUB_APP_PRIVATE_KEY、GITHUB_APP_SLUG、 GITHUB_APP_CLIENT_ID、GITHUB_APP_CLIENT_SECRET、GITHUB_WEBHOOK_SECRET
  • GITHUB_SETUP_STATE_SECRET — 至少 32 个字符,且不能与任何其他密钥相同。
  • NEXT_PUBLIC_APP_URL — GitHub 回调返回的确切源站。

App 受权限上限约束,每次安装时都会检查,超出上限则拒绝安装:metadata: read、contents: read 和 write、pull_requests: read 和 write、issues: read。contents: write 用于创建包含已批准测试代码的拉取请求;pull-requests: write 用于在拉取请求中留下证据说明;issues: read 用于根据工单起草需求。用户令牌和安装令牌均为临时令牌,绝不会记录或存储。

Clerk webhook 应发送到 /api/webhooks/clerk,并在本地和部署环境中设置 CLERK_WEBHOOK_SIGNING_SECRET,订阅以下事件:

  • user.created、user.updated、user.deleted
  • organization.created、organization.updated、organization.deleted
  • organizationMembership.created、organizationMembership.updated、 organizationMembership.deleted

本地接收 webhook 需要通过安全隧道连接到本地应用。切勿将 webhook 密钥写入文档或源代码管理系统。

运维

协调一个 Clerk 组织,默认执行试运行:

npm run clerk:reconcile -- --organization-id org_example
# or
npm run clerk:reconcile -- --slug workspace-slug

查看试运行的计数后,添加 --apply。该命令绝不会扫描所有组织。

数据库:

npm run prisma:format
npm run prisma:validate
npm run prisma:generate
npm run prisma:migrate:dev
npm run test:database

切勿提交凭据、密钥、.env 或 .env.local。切勿将开发迁移或重置命令指向生产环境。

工作记录

  • docs/ROADMAP.md — 已交付内容、后续计划,以及有意未实现的内容。
  • docs/DECISIONS.md — 架构决策及各自的原因。
  • docs/ARCHITECTURE.md、docs/PRODUCTION_READINESS.md — 系统架构以及生产部署前的检查关卡。
  • examples/ci-proof — 用于端到端验证 CI 流程的一次性仓库。

评论

支持 Markdown

第一次接触 MCP?

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

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