🧪 Skills
Autonomous Project Management
自主项目管理系统 - 去中心化协调多个子代理并行工作,通过 STATE.yaml 文件实现自主决策和协调,无需中央编排器
v1.0.0
Description
name: autonomous-pm description: 自主项目管理系统 - 去中心化协调多个子代理并行工作,通过 STATE.yaml 文件实现自主决策和协调,无需中央编排器 version: "1.0.0" metadata: openclaw: requires: bins: ["node"] optionalBins: ["git"]
自主项目管理系统 (Autonomous PM)
去中心化的项目协调模式,让子代理通过共享状态文件自主工作。
✨ 核心特性
🎯 去中心化协调
- ✅ 多个子代理并行工作
- ✅ 通过 STATE.yaml 共享状态
- ✅ 无需中央编排器瓶颈
- ✅ 自文档化(所有状态持久化)
📋 STATE.yaml 协调模式
所有代理通过单一真实来源协调:
project: website-redesign
updated: 2026-03-11T14:30:00Z
tasks:
- id: homepage-hero
status: in_progress
owner: pm-frontend
started: 2026-03-11T12:00:00Z
notes: "Working on responsive layout"
- id: api-auth
status: done
owner: pm-backend
completed: 2026-03-11T14:00:00Z
output: "src/api/auth.ts"
- id: content-migration
status: blocked
owner: pm-content
blocked_by: api-auth
notes: "Waiting for new endpoint schema"
next_actions:
- "pm-content: Resume migration now that api-auth is done"
- "pm-frontend: Review hero with design team"
🚀 使用方法
1️⃣ 初始化新项目
cd /Users/xufan65/.openclaw/workspace/scripts
# 创建新项目
node project-manager.cjs my-project init
生成文件:
projects/my-project/STATE.yaml
2️⃣ 查看项目状态
node project-manager.cjs my-project status
输出示例:
📊 项目: my-project
🕐 更新: 2026-03-11T14:30:00Z
📋 任务状态:
1. 🔄 [task-001] in_progress
👤 Owner: pm-my-project
📝 实现用户认证
2. ✅ [task-002] done
👤 Owner: pm-backend
📝 API 端点完成
3. ❌ [task-003] blocked
👤 Owner: pm-content
🚫 Blocked by: task-002
🎯 下一步行动:
1. pm-content: Resume migration
3️⃣ 管理任务
开始任务
node project-manager.cjs my-project start task-001 "实现用户认证"
更新任务
node project-manager.cjs my-project update task-001 "进度: 80% 完成"
完成任务
node project-manager.cjs my-project done task-001 "认证已实现"
阻塞任务
node project-manager.cjs my-project block task-002 "task-001"
🎭 PM 代理模式
主会话 = 协调者 ONLY
工作流程:
- 新任务到达 → 检查 PROJECT_REGISTRY.md
- PM 存在 →
sessions_send(label="pm-xxx", message="[task]") - 新项目 →
sessions_spawn(label="pm-xxx", task="[task]") - PM 执行 → 更新 STATE.yaml,报告回来
- 主代理总结 → 给用户
规则:
- ✅ 主会话:最多 0-2 个工具调用(仅 spawn/send)
- ✅ PM 拥有自己的 STATE.yaml 文件
- ✅ PM 可生成子子代理进行并行子任务
- ✅ 所有状态变更提交到 git
📊 优势对比
| 传统编排器 | 自主 PM | 优势 |
|---|---|---|
| ❌ 主代理瓶颈 | ✅ 并行执行 | ⬆️ 3-5x 速度 |
| ❌ 频繁上下文切换 | ✅ 自主决策 | ⬇️ 90% 通信 |
| ❌ 手动协调 | ✅ 文件协调 | ⬇️ 95% 管理 |
| ❌ 无审计日志 | ✅ Git 历史 | ✅ 完整追溯 |
💡 关键洞察
STATE.yaml > 编排器
文件协调比消息传递更易扩展:
- ✅ 无需持续轮询
- ✅ 原生版本控制
- ✅ 跨会话持久化
Git 作为审计日志
每次更新 STATE.yaml 时提交:
git add projects/my-project/STATE.yaml
git commit -m "Update task-001: in_progress → done"
标签约定
使用 pm-{project}-{scope} 格式:
- ✅
pm-website-frontend - ✅
pm-api-backend - ✅
pm-docs-content
轻量主会话
主代理做的越少,响应越快:
- ❌ 不要: 执行任务、监控进度
- ✅ 应该: 分配任务、接收报告
🔄 工作流程示例
场景: 网站重构
1. 初始化项目
node project-manager.cjs website-redesign init
2. 用户请求
"重构认证模块并更新文档"
3. 主代理操作
// 检查注册表
if (!hasPM("auth-refactor")) {
// 生成新的 PM
sessions_spawn({
label: "pm-auth-refactor",
task: "重构认证模块并更新文档。在 STATE.yaml 中跟踪"
});
// 响应
respond("已生成 pm-auth-refactor。完成后会报告。");
}
4. PM 子代理操作
// 1. 读取 STATE.yaml
const state = readState("projects/website-redesign/STATE.yaml");
// 2. 分解任务
state.tasks = [
{ id: "refactor-auth", status: "in_progress", ... },
{ id: "update-docs", status: "pending", ... }
];
// 3. 执行任务
// ... 重构代码 ...
// 4. 更新状态
updateTask("refactor-auth", { status: "done" });
// 5. 提交到 git
git commit -am "Complete refactor-auth";
// 6. 报告完成
report("✅ 认证重构完成。文档已更新。");
📁 文件结构
projects/
├── PROJECT_REGISTRY.md # PM 注册表
├── website-redesign/
│ └── STATE.yaml # 项目状态
├── api-migration/
│ └── STATE.yaml
└── docs-update/
└── STATE.yaml
scripts/
└── project-manager.cjs # 管理脚本
🔧 高级用法
并行子任务
PM 可以生成子子代理:
// PM 子代理
sessions_spawn({
label: "pm-auth-frontend",
task: "前端认证组件"
});
sessions_spawn({
label: "pm-auth-backend",
task: "后端 API"
});
任务依赖
tasks:
- id: task-001
status: done
- id: task-002
status: blocked
blocked_by: task-001 # 等待 task-001 完成
自动解锁
完成任务时自动检查被阻塞的任务:
node project-manager.cjs my-project done task-001
输出:
✅ 任务已完成: task-001
🎯 可以开始的任务:
- task-002
🎯 最佳实践
1. 保持 STATE.yaml 简洁
- ✅ 仅记录关键信息
- ✅ 使用简短但清晰的 notes
- ❌ 避免存储大量数据
2. 定期提交
# 每次更新后提交
git add projects/*/STATE.yaml
git commit -m "Update project states"
3. 清晰的标签
- ✅
pm-{project}-{scope} - ✅ 易于识别和跟踪
- ❌ 避免模糊的标签
4. 主代理保持轻量
- ✅ 仅协调和分配
- ❌ 不要执行具体任务
🔗 相关链接
- 脚本:
scripts/project-manager.cjs - 文档:
skills/autonomous-pm/SKILL.md - 灵感: Nicholas Carlini 的自主编码代理
- OpenClaw 子代理文档
自主项目管理系统已就绪!开始你的第一个项目吧! 🚀
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!