Multi-Agent Task Framework
选择任务类型,配置参数,让多个 AI Agent 协作完成
任务类型
任务详情
参与者
主持人
参与者
Agent
选择一个 Agent 查看详情
Skill
选择一个 Skill 查看详情
History
选择一个报告查看详情
Settings
运行时配置,修改后立即生效
Agent 调用
Discussion 讨论流程
启用讨论中的用户确认环节
关闭后全程自动运行
CLI 工具
API Keys
配置后创建 Agent 时可选 API 模式直接调用云端模型,无需本地 CLI。
Multi-Agent Task Framework
让多个本地 AI CLI 工具围绕一个话题展开结构化协作,由主持人协调控场,最终收敛出最优方案。
任务类型
Discussion - 多角色讨论
开题 - 信息收集(循环至充分,最多 3 轮)- N 轮讨论 - 方案提交 - 交叉投票 - 主持人最终裁决
Research - 信息调研
定题 - 多轮调研(标注置信度)- 交叉验证(互相质疑)- 整合报告
Requirement - 需求实现
需求评审 - 技术设计 - 实现规划 - 验收评审(测试+产品双重验收)
快速部署
项目是纯 Python + 单文件前端,零构建依赖。需要本地安装至少一个 AI CLI 工具作为 agent 后端。
1. 环境准备
# Python 3.10+
pip install pyyaml rich fastapi uvicorn
# 至少安装一个 AI CLI(agent 通过 subprocess 调用)
# Claude Code(推荐)
npm install -g @anthropic-ai/claude-code
# 或其他支持 -p (print mode) 的 CLI
2. 启动服务
# 克隆项目
git clone <repo-url> && cd multi-agents
# 启动 Web Dashboard(默认端口 8765)
python web.py
# 指定端口
python web.py --port 8080
# 纯 CLI 模式(不启动 Web)
python discuss.py "你的话题"
3. 配置 Agent
每个 Agent 是 config/agents/ 下的一个 YAML 文件,也可以通过 Web UI 的 Agents 页面管理。
# config/agents/my-agent.yaml
name: "我的 Agent"
cli: "claude" # CLI 工具名(claude / qodercli)
model: "claude-opus-4-6" # 模型名
args: ["-p"] # CLI 参数,-p = print mode
system_prompt: |
你是一个...
color: "#3b82f6" # 头像颜色
roles: ["participant"] # participant / moderator
skills: ["code-review"] # 可选,引用 config/skills/ 中的 slug
4. 配置 Skill(可选)
Skill 是可复用的 prompt 模板片段,挂载到 Agent 上增强其专业能力。
# config/skills/code-review.yaml
name: "代码审查"
description: "代码质量审查和改进建议能力"
category: "engineering"
tags: ["code", "review"]
prompt_fragment: |
你具备专业的代码审查能力:
- 能识别设计模式违反、性能问题和安全漏洞
- 善于提出具体的改进建议
项目结构
multi-agents/
discuss.py # CLI 入口
web.py # Web 入口(FastAPI + WebSocket)
engine.py # 讨论引擎
requirement.py # 需求实现引擎
research.py # 信息调研引擎
adapter.py # CLI 适配器
reporter.py # 报告生成
static/
index.html # 单文件前端(零构建)
config/
agents/ # Agent YAML 配置
skills/ # Skill YAML 配置
presets/ # 预设组合
output/ # 任务报告输出
支持的 CLI
任何提供 -p(print mode)的 AI CLI 工具均可接入。当前内置支持:
- claude - Claude Code CLI(Anthropic)
- qodercli - Qoder CLI(通义)
新增 CLI 只需在 adapter.py 的 call() 方法中添加参数拼接分支。
核心依赖
fastapi+uvicorn- Web 服务pyyaml- 配置解析rich- CLI 终端美化marked.js- 前端 Markdown 渲染(CDN)