关于 PlaywrightGen
PlaywrightGen 是面向需要经审核的 Playwright 测试和可追溯运行证据的团队的 MCP 服务。它将已批准的需求和测试用例关联到经过验证的自动化,以及团队自有 CI 提供的有限结果摘要。
主要功能
- 01起草并批准带版本的需求
- 02将测试用例关联到需求
- 03生成并验证 Playwright 自动化
- 04在实时页面上验证测试
- 05记录 CI 运行证据并分享证明链接
适用场景
- 01将已约定的行为转化为经审核的测试
- 02在实际应用页面验证自动化
- 03为发布决策分享签名证据
MCP 相关
其 16 个 MCP 工具允许 Agent 读取已批准的测试意图、访问自动化和近期失败记录、在实时页面验证测试,并提交草案供审核。服务端可以提出工作,但不能批准、接受、分享或删除。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://playwrightgen.com/api/mcpclaude mcp add --transport http com-playwrightgen-playwrightgen https://playwrightgen.com/api/mcp{"mcpServers":{"com-playwrightgen-playwrightgen":{"type":"http","url":"https://playwrightgen.com/api/mcp"}}}在 Cursor 中打开{"servers":{"com-playwrightgen-playwrightgen":{"type":"http","url":"https://playwrightgen.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-playwrightgen-playwrightgen":{"type":"http","url":"https://playwrightgen.com/api/mcp"}}}{"mcpServers":{"com-playwrightgen-playwrightgen":{"serverUrl":"https://playwrightgen.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://playwrightgen.com/api/mcp需要授权工具
详细介绍
PlaywrightGen
根据你的真实页面编写 Playwright 测试,持续运行直至通过,并将其保留为经人工批准的证据。
现已上线:playwrightgen.com。
编写 Playwright 测试不再是难事——每个编辑器都有助手可以代劳。但它们都不会保留审计、发布决策或客户真正想知道的信息:约定了什么行为、由谁约定、在哪个版本,以及最近一次运行证明了什么。这份记录就是本产品的核心。
工作原理
两种入口,一条链路。
免费工具无需账号。描述要测试的内容,粘贴公开 URL,PlaywrightGen 就会读取页面,根据页面真实的无障碍树编写测试,在远程浏览器中运行,并修复失败的步骤,直到测试通过。你会得到可用代码和证明代码有效的运行记录,并附上签名,确保日后将其导入工作区时证据依然有效。在此之前,不会声称任何内容已被永久记录。
工作区会将这些内容转化为记录:
- 起草、审查并批准一项需求。批准后会写入一个不可变版本。
- 测试用例包含目标、步骤和预期结果,以同样的方式获批,并链接到其验证的需求。
- 自动化根据获批的测试用例版本生成,依据确定性规则进行验证,在真实页面上验证通过,之后由人工批准——绝不由生成器或 Agent 批准。
- 运行证据来自你自己的 CI。测试在你的运行器上、针对你的环境运行,使用你的机密信息;系统只会接收有限的结果摘要。测试标题中的
[pwg:...]标记用于将结果关联到它所证明的获批版本。 - 证明链接可将结果分享给团队之外的人:任何人都能打开的签名 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_SECRETOPENAI_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_SECRETGITHUB_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.deletedorganization.created、organization.updated、organization.deletedorganizationMembership.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 流程的一次性仓库。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。