MBE 任务生命周期管理指南

🎯 功能概述

完整的任务生命周期管理,从问题发现到代码修改、提交、部署的全流程自动化。


🔄 生命周期阶段

┌─────────────────────────────────────────────────────────────────────┐
│                          任务生命周期                                 │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  1. CREATED (创建)                                                   │
│     ↓                                                               │
│  2. PENDING (待审批) ───────────────────────────────────────────────│
│     ↓ [人工审批]                                                    │
│  3. APPROVED (已批准)                                                │
│     ↓                                                               │
│  4. EXECUTING (执行中) ← AI 代码修改                                │
│     ↓                                                               │
│  5. CODE_MODIFIED (代码已修改)                                       │
│     ↓                                                               │
│  6. COMMITTED (已提交 Git) ← 自动 Git commit                        │
│     ↓                                                               │
│  7. DEV_DEPLOYED (开发版已部署) ← 自动部署                          │
│     ↓ [开发测试]                                                    │
│  8. DEV_TESTED (开发测试通过)                                        │
│     ↓                                                               │
│  9. PROD_PENDING (待生产部署) ← 等待手动确认                        │
│     ↓ [手动确认]                                                    │
│ 10. PROD_DEPLOYED (生产版已部署)                                     │
│     ↓                                                               │
│ 11. COMPLETED (完成) ✅                                              │
│                                                                      │
│ 异常路径:                                                            │
│  - FAILED (失败) ❌                                                  │
│  - ROLLBACK (已回滚) ⏪                                              │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

📊 Web UI

任务审批页面

http://localhost:8000/admin/tasks

功能:

  • 查看待审批任务
  • 批准/拒绝任务
  • 生成新任务
  • 去重任务
  • 执行并部署 ← 新增

生命周期管理页面

http://localhost:8000/admin/lifecycle

功能:

  • 实时查看执行进度(自动刷新 5 秒)
  • 查看 Git 提交信息
  • 查看部署状态
  • 手动部署到生产
  • 回滚任务
  • 查看执行日志

🚀 执行流程

方式1: Web UI(推荐)

  1. 查看和批准任务

    访问: http://localhost:8000/admin/tasks
    
    1. 查看待审批任务
    2. 点击 "详情" 查看任务内容
    3. 点击 "批准" 或批量选中后 "批准选中"
    
  2. 执行任务

    点击 "🚀 执行并部署" 按钮
    
    系统将自动:
    - 执行 AI 代码修改
    - 提交到 Git
    - 部署到开发环境
    - 跳转到生命周期页面
    
  3. 监控进度

    访问: http://localhost:8000/admin/lifecycle
    
    页面会每 5 秒自动刷新:
    - 显示执行进度百分比
    - 显示当前阶段
    - 显示执行日志
    - 显示 Git 提交信息
    
  4. 部署到生产

    在生命周期页面:
    
    1. 确认开发版测试通过
    2. 点击 "🚀 部署到生产"
    3. 确认部署
    

方式2: API 调用

# 1. 执行任务(含 Git 提交和开发部署)
curl -X POST http://localhost:8000/api/feedback/auto/tasks/execute-with-lifecycle \
  -H "Content-Type: application/json" \
  -d '{"task_ids": ["task_xxx"], "auto_commit": true, "auto_deploy_dev": true}'

# 2. 查看执行进度
curl http://localhost:8000/api/feedback/auto/lifecycle/task_xxx

# 3. 部署到生产
curl -X POST http://localhost:8000/api/feedback/auto/lifecycle/task_xxx/deploy-prod

# 4. 回滚任务
curl -X POST "http://localhost:8000/api/feedback/auto/lifecycle/task_xxx/rollback?reason=测试失败"

⚙️ 执行选项

执行配置

选项 默认值 说明
auto_commit true 自动提交到 Git
auto_deploy_dev true 自动部署开发版
auto_deploy_prod false 自动部署生产版(建议手动)

部署策略

┌─────────────────────────────────────────────────────┐
│                   部署策略                           │
├─────────────────────────────────────────────────────┤
│                                                      │
│  推荐流程:                                           │
│                                                      │
│  1. 执行 AI 修改      → 自动                        │
│  2. Git 提交          → 自动                        │
│  3. 部署开发版        → 自动                        │
│  4. 开发环境测试      → 手动验证                    │
│  5. 部署生产版        → 手动确认                    │
│                                                      │
│  原因: 生产环境部署需要谨慎,建议在开发环境        │
│        充分测试后再手动部署到生产环境               │
│                                                      │
└─────────────────────────────────────────────────────┘

📝 执行日志

日志内容

每个阶段都会记录:

  • 时间戳
  • 阶段名称
  • 执行消息
  • 详细信息(可选)
  • 成功/失败状态

日志示例

2026-01-28 15:30:00 [executing] 开始执行 AI 代码修改
2026-01-28 15:30:15 [code_modified] 修改了 3 个文件
2026-01-28 15:30:20 [committed] 已提交到分支: fix/task_abc123
2026-01-28 15:30:25 [dev_deployed] 已部署到开发环境
2026-01-28 15:30:30 [prod_pending] 等待手动部署生产版

🛡️ 安全措施

人工把关点

  1. 任务审批 - 必须人工批准才能执行
  2. 生产部署 - 默认需要手动确认
  3. 回滚机制 - 支持标记回滚

自动检查

  1. 任务状态验证 - 只有已批准的任务才能执行
  2. 部署状态验证 - 只有特定状态才能部署生产
  3. 去重机制 - 防止重复任务

🔧 API 端点

生命周期管理

端点 方法 说明
/api/feedback/auto/lifecycle GET 获取所有生命周期状态
/api/feedback/auto/lifecycle/{task_id} GET 获取单个任务进度
/api/feedback/auto/tasks/execute-with-lifecycle POST 执行任务并跟踪生命周期
/api/feedback/auto/lifecycle/{task_id}/deploy-prod POST 部署到生产
/api/feedback/auto/lifecycle/{task_id}/rollback POST 回滚任务

响应示例

{
  "success": true,
  "task_id": "task_abc123",
  "current_stage": "dev_deployed",
  "progress_percent": 80,
  "stages_completed": ["created", "pending", "approved", "executing", "code_modified", "committed"],
  "latest_logs": [
    {
      "timestamp": "2026-01-28T15:30:25",
      "stage": "dev_deployed",
      "message": "已部署到开发环境",
      "success": true
    }
  ],
  "git_info": {
    "branch": "fix/task_abc123",
    "commit": "a1b2c3d4"
  },
  "deploy_info": {
    "dev_time": "2026-01-28T15:30:25",
    "prod_time": null
  }
}

📅 周期管理建议

日常运行周期

┌─────────────────────────────────────────────────────┐
│                   每日周期                           │
├─────────────────────────────────────────────────────┤
│                                                      │
│  上午 9:00 - 查看前一天生产监控报告                 │
│            - 审批新生成的任务                        │
│                                                      │
│  上午 10:00 - 执行已批准任务                         │
│             - 部署到开发环境                         │
│                                                      │
│  下午 14:00 - 验证开发环境修复效果                   │
│             - 标记测试通过的任务                     │
│                                                      │
│  下午 16:00 - 部署到生产环境                         │
│             - 监控生产效果                           │
│                                                      │
│  晚上 22:00 - 生产监控脚本自动运行                   │
│             - 生成第二天的任务                       │
│                                                      │
└─────────────────────────────────────────────────────┘

自动化配置

# 建议的定时任务配置
# crontab 或 docker-compose

# 生产监控 - 每小时
0 * * * * python scripts/production_monitor.py --hours 1

# 开发环境同步 - 每天早上
0 9 * * * python scripts/sync_prod_to_dev.py

# 报告生成 - 每天凌晨
0 0 * * * python scripts/generate_daily_report.py

❓ 常见问题

Q: 执行后看不到进度?

A: 访问 http://localhost:8000/admin/lifecycle 查看,页面会自动刷新。

Q: 生产部署失败了怎么办?

A: 点击 "回滚" 标记任务,然后手动处理回滚操作(如 git revert)。

Q: 如何只执行不提交?

A: 使用 API 调用,设置 auto_commit: false

Q: 多个任务可以并行执行吗?

A: 是的,后台会依次执行,页面可以同时看到所有进行中的任务。


🎉 快速开始

  1. 打开任务审批页面

    http://localhost:8000/admin/tasks
    
  2. 批准任务

  3. 点击 "🚀 执行并部署"

  4. 在生命周期页面查看进度

    http://localhost:8000/admin/lifecycle
    
  5. 测试通过后,点击 "🚀 部署到生产"


完整的任务生命周期管理系统已就绪! 🎉