← 返回
未分类

Milestone Execution

多阶段任务执行器 - 用户控制节奏,AI在独立工作会话中逐阶段执行任务。每个 milestone 完成后暂停汇报,用户确认后再继续下一阶段。
多阶段任务执行器 – 用户控制节奏,AI 在独立工作会话中逐阶段执行任务。每个里程碑完成后暂停汇报,用户确认后继续下一阶段。
siesta-0402 siesta-0402 来源
未分类 clawhub v3.0.1 1 版本 99778.8 Key: 无需
★ 1
Stars
📥 431
下载
💾 0
安装
1
版本
#latest

概述

Milestone Execution v3.0

核心理念: 用户控制节奏,AI 在单一独立工作会话中逐阶段执行任务。


架构

┌─────────────────────────────────────────────────────┐
│  主会话(控制层)                                     │
│  • 接收用户指令:"开始"、"继续"、"停下"等             │
│  • 运行 exec 执行 milestone-executor 脚本             │
│  • 脚本自动 spawn 工作会话、管理状态                  │
└──────────────────────┬──────────────────────────────┘
                       │ sessions_send / sessions_yield
┌──────────────────────▼──────────────────────────────┐
│  工作会话(执行层)- 单一会话执行所有 milestone        │
│  • 执行当前 milestone                                 │
│  • 完成后 sessions_yield 暂停等待主会话指令           │
└─────────────────────────────────────────────────────┘

用户指令与脚本行为

用户指令主会话行为
--------------------
开始 [任务描述]运行 `milestone-executor start "任务" "m1\m2\m3"`
继续运行 milestone-executor continue
停下运行 milestone-executor stop
汇报运行 milestone-executor status
retry运行 milestone-executor retry
skip运行 milestone-executor skip
rollback运行 milestone-executor rollback
修改 [内容]运行 milestone-executor modify "内容"
恢复运行 milestone-executor recover

执行脚本

milestone-executor 是核心脚本,负责:

  1. 状态文件管理(.milestone-state.json
  2. 调用 sessions_spawn 启动工作会话
  3. 调用 sessions_send 向工作会话发指令
  4. 返回 JSON 格式的状态给主会话

工作会话行为(必须严格遵循)

工作会话启动后进入里程碑执行循环

1. 读取 .milestone-state.json 获取当前 milestone
2. 执行当前 milestone(调用工具、修改文件等)
3. 更新状态文件(status: running → completed)
4. 生成汇报,调用 sessions_send 发送到主会话
5. 调用 sessions_yield() 暂停
6. 等待主会话通过 sessions_send 发来指令
7. 根据指令决定下一步:
   - "continue" → 执行下一个 milestone(回到步骤2)
   - "retry" → 重新执行当前 milestone(回到步骤2)
   - "skip" → 跳过当前,执行下一个(回到步骤2)
   - "rollback" → 恢复到上一个完成的 milestone(更新状态文件,回到步骤2)
   - "modify: ..." → 更新任务方向(更新状态文件,回到步骤2)
   - "stop" → 清理状态,永久暂停
8. 所有 milestone 完成后:
   - 生成最终汇报
   - 调用 sessions_send 发送到主会话
   - 永久暂停(sessions_yield)

状态文件

// .milestone-state.json
{
  "task": "任务名称",
  "totalMilestones": 3,
  "currentMilestone": 2,
  "workSessionKey": "agent:main:xxxxx",
  "milestones": [
    { "id": 1, "status": "completed", "output": "完成内容", "duration": "2m30s" },
    { "id": 2, "status": "pending", "task": "第二个 milestone", "dependsOn": [1] }
  ],
  "createdAt": "2026-04-06T05:00:00+08:00",
  "lastUpdated": "2026-04-06T05:05:00+08:00"
}

汇报格式

Milestone 完成时

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 Milestone {n}/{total} 完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ 已完成:
   • [具体完成内容]

📁 输出文件:
   • [相关文件]

⏱️ 用时:{duration}

🎯 整体进度:
   [{bar}] {percent}%
   Milestone 1: ✅
   Milestone 2: ✅
   Milestone 3: 🔄 即将开始
   Milestone 4: ⏳ 等待中
   Milestone 5: ⏳ 等待中

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
→ "继续" 执行下一阶段
→ "retry" 重试当前
→ "skip" 跳过当前
→ "rollback" 回滚
→ "修改 X" 调整当前方向
→ "停止" 结束任务
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

任务全部完成

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 任务完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📜 Milestone 历史:
   [1] ✅ 阶段1 - {time}
   [2] ✅ 阶段2 - {time}

总用时:{total_duration}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

并行 Milestone

对于完全独立的 milestone(如同时修改前端和后端):

检测到可并行的 milestone:
  • Milestone 2 - 独立(用户模块)
  • Milestone 4 - 独立(管理后台)

是否并行执行?[是/否/仅Milestone X]

并行执行时:

  • 两个 milestone 同时在各自的工作会话中运行
  • 都完成后统一汇报
  • 一个失败不影响另一个

崩溃恢复

当工作会话异常中断时:

  1. 检测到 .milestone-state.json 存在但 workSessionKey 指向的会话已不存在
  2. 主会话询问用户:"检测到上次任务中断,是否恢复?"
  3. 用户说"恢复" → 从状态文件读取状态,用 milestone-executor recover 重建工作会话
  4. 继续执行当前 milestone

实现要点(强制规则)

  1. 单一会话:所有 milestone 在同一个工作会话中执行
  2. sessions_yield:每个 milestone 完成后必须调用 sessions_yield() 暂停
  3. sessions_send:通过 sessions_send 与主会话通信
  4. 状态持久化.milestone-state.json 保存进度
  5. 工作会话永不自发结束:除非收到 "stop" 指令或所有 milestone 完成

注意事项

  • 工作会话是独立的,有自己的上下文
  • 状态文件用于崩溃恢复
  • 汇报推送到主会话(当前 chat)
  • 不要在主会话直接执行任务,全部委托给工作会话
  • 绝对规则:一个任务 = 一个工作会话 = 多个 milestone

版本历史

共 1 个版本

  • v3.0.1 当前
    2026-05-03 10:30 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Agent Browser

rez0
用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。
★ 834 📥 304,800
ai-agent

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,097 📥 824,686
ai-agent

Find Skills

guipi888
场景驱动+关键词双模式技能发现工具。当用户用自然语言描述场景/需求(如"我想做一个海报""帮我分析股票"),或明确说"安装技能/find skills/找个skill"时,自动从官方内置、本地已安装、SkillHub、虾评、GitHub、C
★ 1,460 📥 512,310