ChatDev

2026-02-05

ai

懂得生命真谛的人,可以使短促的生命延长。——西塞罗

ChatDev 2.0(DevAll):零代码编排多智能体,开发“一切”的平台

当多智能体协作从“帮我写个模块”走向“帮我完成一条完整的业务链路”,你需要的就不仅是一个大模型,而是一套能把角色、工具、流程与回放串成体系的“编排平台”。OpenBMB 的 ChatDev 2.0(代号 DevAll)正是这样一款零代码的多智能体协作平台:你无需编程,只用可视化工作流与少量配置,就能快速定义角色、串联工具、执行任务,覆盖从数据可视化、3D 生成,到游戏开发、深度研究、教学视频等丰富场景。

  • 仓库:OpenBMB/ChatDev
  • 简述:ChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration
  • 许可:Apache 2.0
  • 技术栈:后端 FastAPI + Python(uv 管理),前端 Vite + Vue 3,工作流与运行时模块化组织

本文根据项目 README 与文档梳理 ChatDev 2.0 的定位、功能与上手方法,并提供可直接复制的命令与配置示例。


ChatDev 从 1.0 到 2.0:从“虚拟软件公司”到“零代码编排平台”

  • ChatDev 1.0(Legacy):以“虚拟软件公司”范式自动化软件生命周期(如 CEO/CTO/程序员等角色参与设计、编码、测试与文档),强调沟通式协作与增量开发模式。目前保存在 chatdev1.0 分支,持续维护。
  • ChatDev 2.0(DevAll):演化为“零代码多智能体平台”,通过简单配置即可定义智能体、绑定工具、构建工作流并执行,适用于开发之外的更多复杂场景(数据分析、3D、研究、教学等)。

项目在 2026 年 1 月正式发布 2.0(DevAll),同时保留了多智能体协作的研究成果(如 MacNet、Puppeteer 式演进编排等),并提供了丰富的示例工作流。


快速上手:环境、安装与运行

先准备运行环境:

  • OS:macOS / Linux / WSL / Windows
  • Python:3.12+
  • Node.js:18+
  • 包管理:uv(Python 依赖)

安装依赖与启动服务:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 后端依赖(Python,uv 管理)
uv sync

# 前端依赖(Vite + Vue 3)
cd frontend && npm install

# 启动后端(项目根目录)
uv run python server_main.py --port 6400 --reload

# 启动前端(另一个终端)
cd frontend
VITE_API_BASE_URL=http://localhost:6400 npm run dev
# Web 控制台地址:http://localhost:5173

提示:

  • 如果前端无法连接后端,可能是默认端口被占用。后端改成 --port 6401,前端对应设置 VITE_API_BASE_URL=http://localhost:6401 即可。

配置模型密钥:

  • 在项目根创建 .env 文件,设置 API_KEYBASE_URL 为你的 LLM 服务商信息
  • YAML 配置里可使用 ${VAR} 引用(例如 ${API_KEY}

Web Console 的体验:可视化工作流 + 实时日志 + 人在回路

DevAll 的网页端提供三大核心模块:

  • Tutorial:内置的图文教程与文档,帮助你快速了解平台与工作流的用法
  • Workflow:可视化画布,用拖拽与参数配置定义多智能体系统,设置节点、上下文流与工具绑定
  • Launch:启动与监控工作流,实时查看日志与中间产物,并进行人类反馈(Human-in-the-loop)

这样的体验让“构建—编排—执行—观察—反馈”成为统一的闭环。


用 Python SDK 做自动化:批处理与脚本化执行

除了 Web Console,DevAll 也提供轻量 Python SDK,以脚本方式执行工作流、读取结果。

1
2
3
4
5
6
7
8
9
10
11
12
from runtime.sdk import run_workflow

# Execute a workflow and get the final node message
result = run_workflow(
yaml_file="yaml_instance/demo.yaml",
task_prompt="Summarize the attached document in one sentence.",
attachments=["/path/to/document.pdf"],
variables={"API_KEY": "sk-xxxx"} # Override .env variables if needed
)

if result.final_message:
print(f"Output: {result.final_message.text_content()}")

这非常适合做批处理:把输入文件批量喂给工作流,自动获取最终节点的消息与产物。


Tooling 模块:Function vs MCP,两种工具绑定方式

DevAll 的工具绑定支持两种模式:

  • Function Tooling:调用项目内的 Python 函数(自动生成 JSON Schema,支持上下文注入)
  • MCP Tooling:连接外部 MCP 工具生态(如 FastMCP、Claude Desktop 等),HTTP 或本地 stdio 两种模式

典型的工具配置片段如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
nodes:
- id: solve
type: agent
config:
provider: openai
model: gpt-4o-mini
prompt_template: solver
tooling:
type: function
config:
tools:
- name: describe_available_files
- name: load_file
auto_load: true
timeout: 20

对比总结(摘自文档):

  • 部署:Function 为后端同进程本地函数;MCP 可远程 HTTP 或本地进程(stdio)
  • Schema:Function 来自类型注解与 ParamMeta;MCP 来自服务端 JSON Schema
  • 上下文:Function 自动注入 _context(附件/工作区);MCP 依赖服务实现
  • 典型用途:Function 适合文件 I/O、本地脚本、内部 API;MCP 适合浏览器、数据库代理等第三方工具

安全提示:

  • Function 在后端进程内执行,应遵循最小权限原则,避免执行未验证的命令
  • MCP 的本地模式会拉起外部进程,请约束命令与环境变量,使用超时与日志判断服务就绪;涉及附件或工作区变更的工具,要遵循附件生命周期避免泄漏

所有可运行的工作流配置存放在 yaml_instance/。官方提供了多个类目与示例,覆盖常见需求:

  • 数据可视化:data_visualization_basic.yamldata_visualization_enhanced.yaml
  • 3D 生成(需 Blender 与 blender-mcp):blender_3d_builder_simple.yamlblender_3d_builder_hub.yamlblender_scientific_illustration.yaml
  • 游戏开发:GameDev_v1.yamlChatDev_v1.yaml
  • 深度研究:deep_research_v1.yaml
  • 教学视频(需 uv add manim):teach_video.yaml

使用方法(在 Launch 标签页):

  1. Select:选择工作流
  2. Upload:上传必要文件(如数据分析的 .csv
  3. Prompt:写下你的需求(如“可视化销售趋势”“设计一个贪吃蛇游戏”)

工程结构与二次开发:模块化的可扩展性

如果你要进行二次开发或扩展新能力(节点、工具或提供商),项目结构清晰:

  • Core Systems:server/(FastAPI 后端),runtime/(智能体抽象与工具执行)
  • Orchestration:workflow/(多智能体逻辑),entity/(配置��动)
  • Frontend:frontend/(Vue 3 Web Console)
  • Extensibility:functions/(自定义 Python 工具)

参考文档(用户指南与模块说明),可按需添加新节点或扩展工具,形成“场景化工作流”的模板库。


与代理生态的关联:研究成果与编排方法

ChatDev 团队在多智能体协作方面提供了多个研究与实践成果:

  • MacNet:用有向无环图组织语言交互,实现千智能体以内的可扩展协作(macnet 分支)
  • Puppeteer 式演进编排:通过可学习的中心编排器优化多智能体协作路径(puppeteer 分支)
  • 经验共学(ECL/IER):在系列任务中积累与传播“捷径经验”,提升泛化与效率

这些方法逐步融入平台与分支,供不同组织结构与任务类型使用与复用。


实战建议:把 DevAll 变成你的“多智能体工作台”

  • 从“示例工作流”起步:挑一个最贴近需求的模板(如数据可视化或深度研究),在 Launch 中跑通
  • 逐步“定制工作流”:在 Workflow 画布里替换模型与工具,加入你自己的 Function 或 MCP 工具
  • 用 SDK 做批处理:把常见任务脚本化,利用 run_workflow 做批量输入/输出
  • 规范你的 .env 与变量引用:把密钥与基础配置集中管理,YAML 中统一用 ${VAR} 引用
  • 工具安全与附件生命周期:修改工作区的工具要遵循生命周期文档,避免产物泄漏与状态错乱

结语:让“能协作的智能体”真正跑起来

ChatDev 2.0 把多智能体从“概念与论文”落到“可视化、可编排、可复用”的平台形态。它不要求你写复杂代码,也不把协作模式绑死;你可以通过工作流画布、工具绑定与 SDK,把具体业务流程交给智能体们协作完成,再由你在 Launch 中进行监督与微调。
无论你是做数据分析、科研、生成式设计,还是希望以更低成本实现“端到端的自动化链路”,DevAll 都是一块强有力的基座。

  • 仓库与文档:OpenBMB/ChatDev
  • 论文与分支:MacNet、Puppeteer 等研究方向已有分支与示例
  • 工作流模板:yaml_instance/ 中的各类场景
  • 平台入口:后端与前端启动后,Web Console 即可操作

试着用一个你熟悉的小场景跑起来,感受一下“零代码多智能体编排”的爽感。