场景:Agent 跑得太快,但你的规划流程还是手动挡?PlanWright 用控制平面把两者对齐
你的 Claude Code 三分钟写完了 500 行代码,然后呢?等着你去 PR review、写 ticket、回复 Slack 说”代码在分支里了请看看”——原本 3 分钟的执行被前后的人类流程拖成了 3 小时。这不是 Agent 不够快,是你的规划层和验收层还停留在人类速度。
PlanWright 解决的就是这个错配:它是一套 AI 编码 Agent 的控制平面(Control Plane),用 30 个原生 MCP 工具把规划、调度、执行、验收和追溯全部串起来。人类负责写 Objective(目标),Agent 自动分解、claim、执行、提交验收——每一步都有 hash-chain + Ed25519 签名的不可篡改审计日志。
跟传统项目管理工具的区别
Jira、Linear、Notion 都是给人用的——你得手动创建 ticket、指派、拖状态、写评论。PlanWright 的每一个操作都设计为通过 MCP 协议由 Agent 发起:
| 区别维度 | 传统工具 (Jira/Linear) | PlanWright |
|---|---|---|
| 操作主体 | 人类 | Agent(通过 MCP) |
| 状态流转 | 手动拖拽 | claim_objective() / request_acceptance() |
| 审计 | 修改历史 | 不可篡改 hash-chain + Ed25519 签名 |
| 验收 | PR review | 代码 + 测试结果 + 验收标准对照 |
| 目标粒度 | 单个 ticket | 分层:Initiative → Objective → Agent Run |
快速上手:从 0 到第一个 Agent 目标
1. 连接 MCP
最推荐的方式是通过 Claude Code 直接添加:
claude mcp add planwright https://mcp.planwright.tools/mcp
浏览器会自动打开 GitHub OAuth 登录,登录即完成授权。对于 CI/CD 环境,在 Settings → MCP Tokens 生成静态 Token 即可。
2. 创建一个 Objective
人是控制平面的「规划者」——你只需要写清楚目标:
planwright_create_objective \
title="为博客系统添加 OAuth 登录(Google + GitHub)" \
description="用户可以用 Google 账号或 GitHub 账号直接登录,无需注册新密码" \
acceptanceCriteria="• 用户点击'使用 Google 登录'可完成认证\n• 用户点击'使用 GitHub 登录'可完成认证\n• 已有密码用户仍可正常登录\n• 登录失败时有清晰的错误提示" \
priority=2 \
strategic_focus='{"category":"user_experience","impact":"high"}'
关键区别:你写的是完成时要达到的状态,不是实施步骤。”让用户能用 Google 登录” 而不是 “安装 NextAuth 并配置 provider”——Agent 自己来决定怎么实现。
3. Agent 自动处理
Agent 通过 list_objectives(lane="scheduled") 看到可认领的目标,用 claim_objective() 认领后开始工作:
planwright_claim_objective \ objectiveId="550e8400-e29b-41d4-a716-446655440000" \ agentKind="claude-code"
认领后 Agent 会:
append_plan()提交分解计划record_diff()记录变更摘要和测试结果submit_test_run()提交验收标准验证request_acceptance()将目标移至验收队列
4. 人类审批
所有 Agent 完成的 Objective 进入 acceptance 车道,你通过 Web 界面 Review:对比代码变更、检查测试覆盖、确认验收标准——然后一键 approve,Objective 进入 done 状态。每一步都记录了签名,你可以随时追溯”哪个 Agent 在什么时间改了哪些文件、基于什么决策”。
30 个 MCP 工具的工作流体系
PlanWright 的 30 个 MCP 工具分 5 组,覆盖完整的 Agent 协作生命周期:
会话设置与上下文(Setup & Context)
Agent 启动后先设置项目上下文:planwright_set_repo 绑定当前仓库,list_context_files 读取 CLAUDE.md、架构文档、规格文件,push_context_file 上传更新。这些工具确保 Agent 永远不会”空降”到代码库——它知道项目的上下文边界。
目标与队列(Objectives)
五个车道(Backlog → Scheduled → In Progress → Acceptance → Done)完整对应 Agent 生命周期。create_objective 写入待办,schedule_objective 排入执行队列,list_objectives 让 Agent 或人类随时查看各车道状态。
Agent 执行工作流(Agent Workflow)
这一组是 PlanWright 的核心创新:
claim_objective:Agent 认领任务,锁定防止重复append_plan:Agent 提交分解方案,人类检查方向是否正确check_alignment:漂移检测——Agent 当前工作是否偏离原始目标record_diff:提交代码变更摘要和测试结果request_acceptance:请求人类验收
其中 check_alignment 尤其重要——当 Agent 在 500 行代码后偏离了原始目标(比如在”加 OAuth 登录”的 Objective 下开始重构样式),工具会标记漂移提醒人类介入。
丰富与分类(Enrichment & Classification)
list_unenriched 和 list_unclassified 帮助人类发现缺少战略分类或摘要的目标——适合周期性复盘。
审计与追溯
每个状态变更都产生一条 hash-chain + Ed25519 签名的审计记录。你可以随时回答”谁、在什么时候、基于什么决策、做了什么”——这对需要合规或审计的场景非常重要。
真实工作流:一个 Feature 从想法到上线
假设你想在项目中增加一个”PDF 导出”功能:
- 规划:在 PlanWright Web 界面写 Objective——”用户可以将报表以 PDF 格式导出”
- 调度:将 Objective 从 Backlog 移到 Scheduled
- Agent 认领:Claude Code 通过
list_objectives(lane="scheduled")看到新目标,调用claim_objective()认领 - 分解:Agent 调用
append_plan()提交计划——”安装 puppeteer → 创建导出路由 → 编写 PDF 模板 → 添加下载按钮” - 执行:Agent 逐项执行,每完成一个步骤调用
record_diff()更新进度 - 验证:Agent 调用
submit_test_run()提交测试结果和验收标准对照 - 验收:你收到通知,打开 PlanWright 看到 Agent 提交的代码 diff、测试覆盖、实现说明——确认后 approve
- 完成:Objective 进入 Done,hash-chain 记录完整链条
整个过程你只需要做两件事:写目标、审结果。中间的分解、执行、验证全部由 Agent 完成。
为什么叫”控制平面”?
控制平面(Control Plane)这个概念来自网络和 Kubernetes——数据平面处理实际流量,控制平面做决策和编排。PlanWright 把同样的思想引入 Agent 工作流:
- 数据平面:Agent 写代码、跑测试、做重构——实际的开发工作
- 控制平面:PlanWright 管 Objective 应该谁做、做到什么程度、做完怎么验证、变更什么后果
两者分离后,你不需要在 Agent 的工作流里插入手动门控——门控在控制平面系统性定义,Agent 在数据平面不受阻碍地执行,但每次跨车道操作都经过控制平面的审计和授权。
免费版够用吗?
PlanWright 有 Free、Team($15/月)、Business($39/月)三档。Free 版支持:
- 1 个 workspace
- 无限 Objective
- 完整 MCP 工具集
- OAuth GitHub 登录
- 标准审计追溯
对个人开发者和小团队完全够用。Team 版增加无限 workspace 和团队成员管理,Business 版增加 SAML SSO 和高级审计。
相关链接: