# AgentFlow 全自动开发模式

> 更新：2026-05-28 | codex

## 触发方式
- 你说「自动模式，做XX」→ 启动 AgentFlow
- 正常问答不触发
- 你说「停」→ 立即停止

## 架构

```
你说"自动模式，做XX"
  │
  ├─→ 我（总指挥）初始化 project.json
  ├─→ 投递任务到 exec-bridge (:3461) → 引擎执行
  ├─→ task-monitor (:3455) 发送开始/完成卡片 + 展示实时日志
  ├─→ callback-agent (:3463) 收到完成回调
  │     ├─→ 用户身份唤醒
  │     ├─→ 写入当前阶段结果
  │     ├─→ 读取 project.json 判断下一阶段
  │     ├─→ 自动投递下一阶段到 exec-bridge
  │     └─→ 关键节点暂停等你确认
  └─→ 完成后通知你验收
```

## 核心文件
- CLI: ~/Desktop/codex-projects/agentflow/agentflow.mjs
- 模板: ~/Desktop/codex-projects/agentflow/templates/default-pipeline.json
- 项目状态: 各项目下的 project.json
- 回调服务: ~/Desktop/codex-projects/callback-agent.mjs

## 默认流水线（动画素材管线）
1. asset_audit（claude）— 检查角色图、模型、ComfyUI、脚本和输出目录
2. model_prepare（codex-cli）— 补齐/校验 SVD、Wan2.1、ControlNet、CLIP Vision 等模型
3. workflow_design（codex）— 生成 ComfyUI workflow 与动作生成策略
4. keyframe_generate（codex）— 生成关键帧或骨架序列
5. animation_generate（codex）— 调用 SVD / AnimateDiff / Wan2.1 生成动画帧
6. post_process（codex-cli）— 去背景、裁切、降采样、GIF、sprite sheet
7. quality_review（claude）— 检查帧一致性、循环效果、文件完整性和测试缺口
8. package_report（cursor）— 汇总产物路径、预览页和验收报告

## 完整 project.json 示例

```json
{
  "name": "rougelike-archer-animation",
  "goal": "从 class-archer.png 生成 idle/walk/attack/skill/death 像素动画帧并导出 sprite sheet",
  "cwd": "~/Desktop/codex-projects/rougelike-pixel-rpg",
  "status": "running",
  "current_phase": "asset_audit",
  "max_attempts_per_phase": 3,
  "max_total_phases": 10,
  "pause_on": [
    "模型下载超过 10GB",
    "需要删除文件",
    "需要部署到服务器",
    "关键视觉风格变更"
  ],
  "phases": [
    {
      "id": "asset_audit",
      "engine": "claude",
      "depends_on": [],
      "task": "检查项目角色图、ComfyUI 状态、模型目录、动画脚本和历史输出，输出缺口清单。",
      "exit_criteria": "docs/animation/asset-audit.md 存在"
    },
    {
      "id": "model_prepare",
      "engine": "codex-cli",
      "depends_on": ["asset_audit"],
      "task": "补齐并校验 SVD、Wan2.1、OpenPose ControlNet、CLIP Vision 相关模型；不得删除已有文件。",
      "exit_criteria": "模型文件存在且大小/格式校验通过"
    },
    {
      "id": "workflow_design",
      "engine": "codex",
      "depends_on": ["model_prepare"],
      "task": "设计 ComfyUI workflow，覆盖 SVD、OpenPose+IPAdapter+AnimateDiff、Wan2.1 I2V 备选路径。",
      "exit_criteria": "output/workflows/ 下生成 workflow JSON"
    },
    {
      "id": "keyframe_generate",
      "engine": "codex",
      "depends_on": ["workflow_design"],
      "task": "根据动作列表生成关键帧或 OpenPose 骨架序列。",
      "exit_criteria": "output/keyframes/ 或 output/poses/ 存在预览文件"
    },
    {
      "id": "animation_generate",
      "engine": "codex",
      "depends_on": ["keyframe_generate"],
      "task": "调用 ComfyUI 生成动画帧，优先保留可复现 workflow 和 metadata。",
      "exit_criteria": "每个动作至少存在 PNG 帧序列和 GIF"
    },
    {
      "id": "post_process",
      "engine": "codex-cli",
      "depends_on": ["animation_generate"],
      "task": "执行去背景、裁切、64x64 降采样、GIF 和 sprite sheet 导出。",
      "exit_criteria": "每个动作存在 sprite_sheet.png 与 metadata.json"
    },
    {
      "id": "quality_review",
      "engine": "claude",
      "depends_on": ["post_process"],
      "task": "只审查不改代码，检查动画循环、帧一致性、输出完整性和测试缺口，结论必须是 pass 或 retry。",
      "exit_criteria": "docs/animation/quality-review.md 存在且结论为 pass"
    },
    {
      "id": "package_report",
      "engine": "cursor",
      "depends_on": ["quality_review"],
      "task": "整理预览页、产物路径、参数和验收报告。",
      "exit_criteria": "output/animation_report/index.html 和 summary.json 存在"
    }
  ],
  "results": {}
}
```

## callback 恢复后自动推进
- exec-bridge 完成任务后回调 callback-agent (:3463)
- callback-agent 根据 taskId/session/project.json 恢复上下文
- 写入当前 phase 的结果、attempts、状态和产物摘要
- 若当前 phase 通过 exit_criteria，则查找所有依赖已满足的下一阶段
- 下一阶段会携带同业务 session 最近任务摘要重新投递到 exec-bridge
- 若命中 pause_on 或达到 max_attempts_per_phase，则停止自动推进并唤醒用户确认

## 安全规则
- max_attempts_per_phase: 3
- max_total_phases: 10
- 关键决策（技术栈/部署/成本/删除文件/大模型下载）暂停等你确认
- 敏感信息只写 {{ PLACEHOLDER }} 占位符，不写明文 Key
