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(推荐)
查看和批准任务
访问: http://localhost:8000/admin/tasks 1. 查看待审批任务 2. 点击 "详情" 查看任务内容 3. 点击 "批准" 或批量选中后 "批准选中"执行任务
点击 "🚀 执行并部署" 按钮 系统将自动: - 执行 AI 代码修改 - 提交到 Git - 部署到开发环境 - 跳转到生命周期页面监控进度
访问: http://localhost:8000/admin/lifecycle 页面会每 5 秒自动刷新: - 显示执行进度百分比 - 显示当前阶段 - 显示执行日志 - 显示 Git 提交信息部署到生产
在生命周期页面: 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] 等待手动部署生产版
🛡️ 安全措施
人工把关点
- 任务审批 - 必须人工批准才能执行
- 生产部署 - 默认需要手动确认
- 回滚机制 - 支持标记回滚
自动检查
- 任务状态验证 - 只有已批准的任务才能执行
- 部署状态验证 - 只有特定状态才能部署生产
- 去重机制 - 防止重复任务
🔧 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: 是的,后台会依次执行,页面可以同时看到所有进行中的任务。
🎉 快速开始
打开任务审批页面
http://localhost:8000/admin/tasks批准任务
点击 "🚀 执行并部署"
在生命周期页面查看进度
http://localhost:8000/admin/lifecycle测试通过后,点击 "🚀 部署到生产"
完整的任务生命周期管理系统已就绪! 🎉