基于 OpenClaw + Claude Code 的多 Agent 协作框架
本项目旨在构建一个基于 OpenClaw + Claude Code 的端到端研发自动化系统,实现从需求分析到部署上线的全流程自动化。系统采用多 Agent 协作架构,支持人机协同,覆盖软件研发的完整生命周期。
支持事件驱动、定时调度、依赖完成、Webhook 等多种触发方式,灵活适配各种场景。
实时状态更新与同步,多节点状态一致性保证,支持状态快照与回滚。
多种重试策略(指数退避、线性退避),熔断器模式,错误智能分类。
10+ 专业研发角色 Agent,模拟真实研发团队分工协作。
关键节点人工审核,Web 管理界面,RESTful API + WebSocket 实时通知。
Docker 容器化,Kubernetes/KubeSphere 编排,Jenkins CI/CD 集成。
┌─────────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Web 管理台 │ │ CLI 工具 │ │ API 接口 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 工作流编排层 │
│ Workflow Orchestrator │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 步骤调度 │ │ 依赖管理 │ │ 状态追踪 │ │ 异常处理 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Agent 协作层 │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │需求分析师 │ │ PRD 设计师 │ │后端架构师 │ │前端架构师 │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ API 设计师 │ │ AI Coding │ │ 测试工程师 │ │ 部署工程师 │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 核心机制层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 任务触发机制 │ │ 状态同步机制 │ │ 异常重试机制 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 集成适配层 │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Jenkins │ │ Docker │ │ Kubernetes │ │ GitLab │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────────────────┘
| 类别 | 技术选型 |
|---|---|
| 核心语言 | Python 3.12+ |
| Web 框架 | FastAPI + Uvicorn |
| Agent 框架 | 自研 BaseAgent 抽象 |
| 状态存储 | 内存 + Redis(可选) + PostgreSQL(可选) |
| 容器化 | Docker |
| 编排部署 | Kubernetes / KubeSphere |
| CI/CD | Jenkins / GitLab CI / GitHub Actions |
| Agent 类型 | 职责描述 | 人机协同 | 输出产物 |
|---|---|---|---|
| RequirementAnalyst | 需求收集、分析和整理 | ✅ | 需求规格说明书、用户故事地图 |
| PRDDesigner | 产品需求文档设计 | ✅ | PRD 文档、功能列表 |
| BackendArchitect | 后端技术架构设计 | ✅ | 架构图、技术选型方案 |
| FrontendArchitect | 前端技术架构设计 | ✅ | 组件设计、技术栈方案 |
| APIDesigner | API 接口协议设计 | ❌ | OpenAPI 规范、接口文档 |
| AICoding | 代码自动生成 | ✅ | 源代码文件、单元测试 |
| UnitTest | 单元测试编写和执行 | ❌ | 测试报告、覆盖率报告 |
| IntegrationTest | 集成测试 | ❌ | 集成测试报告 |
| Deployment | CI/CD 和 K8S 部署 | ✅ | Docker 镜像、部署配置 |
| UIAutomation | UI 自动化验收测试 | ❌ | 自动化测试报告 |
需求收集、整理、分析
产品需求文档设计
后端技术架构设计
前端技术架构设计
API 接口协议设计
Python 代码生成
TypeScript/React 代码生成
单元测试编写和执行
集成测试验证
CI/CD 和 K8S 部署
UI 自动化测试
# 构建镜像
docker build -t autoresearch/system:latest .
# 运行容器
docker run -d -p 8000:8000 autoresearch/system:latest
# 应用部署配置
kubectl apply -f deploy/k8s/deployment.yaml
# 查看状态
kubectl get pods -l app=auto-research-system
使用 Jenkins Pipeline 实现自动化构建、测试和部署:
from src.core.task_trigger import TaskTriggerManager, TriggerType
manager = TaskTriggerManager()
await manager.start()
# 创建事件驱动触发
trigger = await manager.create_trigger(
task_id="task_001",
agent_id="agent_prd_design",
trigger_type=TriggerType.EVENT_DRIVEN,
payload={"event_type": "requirement_approved"}
)
# 发布事件触发
await manager.event_bus.publish("requirement_approved", {"task_id": "task_001"})
from src.core.state_sync import StateSynchronizer, StateStore, TaskState
store = StateStore()
sync = StateSynchronizer(store)
await sync.start()
# 同步任务状态
task_state = TaskState(
task_id="task_001",
task_type="code_generation",
status=TaskStatus.IN_PROGRESS,
assigned_agent="agent_coding",
progress=50.0,
input_data={"feature": "user_login"}
)
await sync.sync_task_state(task_state)
from src.core.retry_mechanism import RetryManager, RetryConfig, RetryStrategy
manager = RetryManager()
await manager.start_background_processor()
# 带重试执行
result = await manager.execute_with_retry(
task_id="api_call_001",
coro_func=my_async_function,
config=RetryConfig(
max_retries=5,
strategy=RetryStrategy.EXPONENTIAL_BACKOFF,
base_delay=1.0
)
)
本系统通过多 Agent 协作架构实现了端到端的研发自动化,具备以下特点:
从需求到部署的完整链路
基于 AI 的代码生成和测试
关键节点人工审核保障质量
完善的重试和容错机制
模块化设计支持快速迭代