OpenBMB/ChatDev
GitHub: OpenBMB/ChatDev
一个基于大模型的多智能体无代码协作平台,通过可视化编排和Python SDK,让用户能快速构建并执行用于软件开发、数据分析、3D生成等复杂场景的定制化智能工作流。
Stars: 31327 | Forks: 3872
# ChatDev 2.0 - DevAll
能够利用 Git 进行版本控制。要启用此功能,只需在 ``ChatChainConfig.json`` 中将 ``"git_management"`` 设置为 ``"True"``。请参阅[指南](wiki.md#git-mode)。
并向程序员
提出建议来参与 ChatDev 团队;
尝试 ``python3 run.py --task [description_of_your_idea] --config "Human"``。请参阅[指南](wiki.md#human-agent-interaction)和[示例](WareHouse/Gomoku_HumanAgentInteraction_20230920135038)。
来生成软件中使用的图像;
尝试 ``python3 run.py --task [description_of_your_idea] --config "Art"``。请参阅[指南](wiki.md#art)和[示例](WareHouse/gomokugameArtExample_THUNLP_20230831122822)。
• 2023年8月28日:系统公开发布。
• 2023年8月17日:v1.0.0 版本准备发布。
• 2023年7月30日:用户可以自定义 ChatChain、Phase 和 Role 设置。此外,现在同时支持在线日志模式和回放模式。
• 2023年7月16日:与此项目相关的[预印本论文](https://arxiv.org/abs/2307.07924)发布。
• 2023年6月30日:ChatDev 仓库的初始版本发布。
## 🚀 快速开始
### 📋 前置条件
* **操作系统**: macOS / Linux / WSL / Windows
* **Python**: 3.12+
* **Node.js**: 18+
* **包管理器**: [uv](https://docs.astral.sh/uv/)
### 📦 安装
1. **后端依赖** (由 `uv` 管理的 Python):
uv sync
2. **前端依赖** (Vite + Vue 3):
cd frontend && npm install
### 🔑 配置
* **环境变量**:
cp .env.example .env
* **模型密钥**: 在 `.env` 中为你的 LLM 提供商设置 `API_KEY` 和 `BASE_URL`。
* **YAML 占位符**: 在配置文件中使用 `${VAR}`(例如 `${API_KEY}`)来引用这些变量。
### ⚡️ 运行应用程序
#### 使用 Makefile(推荐)
**同时启动后端和前端**:
```
make dev
```
#### 手动命令
1. **启动后端**:
# 从项目根目录运行
uv run python server_main.py --port 6400 --reload
2. **启动前端**:
cd frontend
VITE_API_BASE_URL=http://localhost:6400 npm run dev
#### 实用命令
* **帮助命令**:
make help
* **将 YAML 工作流同步到前端**:
make sync
将 `yaml_instance/` 中的所有工作流文件上传到数据库。
* **验证所有 YAML 工作流**:
make validate-yamls
检查所有 YAML 文件的语法和 schema 错误。
### 🐳 使用 Docker 运行
或者,你可以使用 Docker Compose 运行整个应用程序。这种方法简化了依赖管理并提供了一致的环境。
1. **前置条件**:
* 已安装 [Docker](https://docs.docker.com/get-docker/) 和 [Docker Compose](https://docs.docker.com/compose/install/)。
* 确保在项目根目录下有一个包含你的 API 密钥的 `.env` 文件。
2. **构建并运行**:
# 从项目根目录
docker compose up --build
3. **访问**:
* **后端**: `http://localhost:6400`
* **前端**: `http://localhost:5173`
## 💡 如何使用
### 🖥️ Web 控制台
DevAll 界面为构建和执行提供了无缝体验
* **教程**: 直接集成在平台中的全面分步指南和文档,可帮助你快速上手。
* **工作流**: 一个用于设计多智能体系统的可视化画布。配置节点参数、定义上下文流,并通过拖拽轻松编排复杂的 Agent 交互。
* **启动**: 启动工作流、监控实时日志、检查中间产物并提供人在环反馈。
### 🧰 Python SDK
对于自动化和批处理,使用我们轻量级的 Python SDK 以编程方式执行工作流并直接获取结果。
```
from runtime.sdk import run_workflow
# 执行 workflow 并获取最终节点消息
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()}")
```
## ⚙️ 开发者指南
**如需二次开发和扩展,请继续阅读本节。**
使用新的节点、提供商和工具扩展 DevAll。
项目采用模块化结构组织:
* **核心系统**: `server/` 托管 FastAPI 后端,而 `runtime/` 管理 Agent 抽象和工具执行。
* **编排**: `workflow/` 处理多智能体逻辑,由 `entity/` 中的配置驱动。
* **前端**: `frontend/` 包含 Vue 3 Web 控制台。
* **扩展性**: `functions/` 是自定义 Python 工具的存放位置。
相关参考文档:
* **入门**: [启动指南](./docs/user_guide/en/index.md)
* **核心模块**: [工作流编写](./docs/user_guide/en/workflow_authoring.md)、[记忆](./docs/user_guide/en/modules/memory.md)和[工具](./docs/user_guide/en/modules/tooling/index.md)
## 🌟 精选工作流
我们为常见场景提供了强大的开箱即用模板。所有可运行的工作流配置位于 `yaml_instance/`。
* **演示**: 名为 `demo_*.yaml` 的文件展示了特定功能或模块。
* **实现**: 直接命名(例如 `ChatDev_v1.yaml`)的文件是完整的内部或复刻工作流。如下所示:
### 📋 工作流集合
| 类别 | 工作流 | 案例 |
| :--- |:------------------------------------------------------------------------------------------------------------| :--- |
| **📈 数据可视化** | `data_visualization_basic.yaml`
`data_visualization_enhanced.yaml` |
提示词: *"为我的大型房地产交易数据集创建 4-6 个高质量的 PNG 图表。"* | | **🛠️ 3D 生成**
*(需要 [Blender](https://www.blender.org/) & [blender-mcp](https://github.com/ahujasid/blender-mcp))* | `blender_3d_builder_simple.yaml`
`blender_3d_builder_hub.yaml`
`blender_scientific_illustration.yaml` |
提示词: *"请搭建一棵圣诞树。"* | | **🎮 游戏开发** | `GameDev_v1.yaml`
`ChatDev_v1.yaml` |
提示词: *"请帮我设计并开发一个坦克大战游戏。"* | | **📚 深度研究** | `deep_research_v1.yaml` |
提示词: *"关于 LLM-based agent RL 领域近期进展的研究"* | | **🎓 教学视频** | `teach_video.yaml` (运行此工作流前请运行命令 `uv add manim`) |
提示词: *"讲一下什么是凸优化"* | ### 💡 使用指南 对于这些实现,你可以使用 **启动** 选项卡来执行它们。 1. **选择**: 在 **启动** 选项卡中选择一个工作流。 2. **上传**: 如有需要,上传必要的文件(例如用于数据分析的 `.csv`)。 3. **提示词**: 输入你的请求(例如 *"可视化销售趋势"* 或 *"设计一个贪吃蛇游戏"*)。 ## 🤝 致谢
## 🔎 引用
```
@article{chatdev,
title = {ChatDev: Communicative Agents for Software Development},
author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
journal = {arXiv preprint arXiv:2307.07924},
url = {https://arxiv.org/abs/2307.07924},
year = {2023}
}
@article{colearning,
title = {Experiential Co-Learning of Software-Developing Agents},
author = {Chen Qian and Yufan Dang and Jiahao Li and Wei Liu and Zihao Xie and Yifei Wang and Weize Chen and Cheng Yang and Xin Cong and Xiaoyin Che and Zhiyuan Liu and Maosong Sun},
journal = {arXiv preprint arXiv:2312.17025},
url = {https://arxiv.org/abs/2312.17025},
year = {2023}
}
@article{macnet,
title={Scaling Large-Language-Model-based Multi-Agent Collaboration},
author={Chen Qian and Zihao Xie and Yifei Wang and Wei Liu and Yufan Dang and Zhuoyun Du and Weize Chen and Cheng Yang and Zhiyuan Liu and Maosong Sun}
journal={arXiv preprint arXiv:2406.07155},
url = {https://arxiv.org/abs/2406.07155},
year={2024}
}
@article{iagents,
title={Autonomous Agents for Collaborative Task under Information Asymmetry},
author={Wei Liu and Chenxi Wang and Yifei Wang and Zihao Xie and Rennai Qiu and Yufan Dnag and Zhuoyun Du and Weize Chen and Cheng Yang and Chen Qian},
journal={arXiv preprint arXiv:2406.14928},
url = {https://arxiv.org/abs/2406.14928},
year={2024}
}
@article{puppeteer,
title={Multi-Agent Collaboration via Evolving Orchestration},
author={Yufan Dang and Chen Qian and Xueheng Luo and Jingru Fan and Zihao Xie and Ruijie Shi and Weize Chen and Cheng Yang and Xiaoyin Che and Ye Tian and Xuantang Xiong and Lei Han and Zhiyuan Liu and Maosong Sun},
journal={arXiv preprint arXiv:2505.19591},
url={https://arxiv.org/abs/2505.19591},
year={2025}
}
```
## 📬 联系方式
如果你有任何问题、反馈或希望取得联系,请随时通过电子邮件 [qianc62@gmail.com](mailto:qianc62@gmail.com) 与我们联系
用于开发一切的无代码多智能体平台
【📚 开发者 | 👥 主要贡献者|⭐️ ChatDev 1.0 (旧版)】
## 📖 概述 ChatDev 已从一个专门的软件开发多智能体系统演进为一个全面的多智能体编排平台。 - **ChatDev 2.0 (DevAll)** 是一个用于“开发一切”的**无代码多智能体平台**。它使用户能够通过简单的配置快速构建和执行定制化的多智能体系统。无需编码——用户可以定义 Agent、工作流和任务,以编排复杂的场景,如数据可视化、3D 生成和深度研究。 - **ChatDev 1.0 (旧版)** 作为一个**虚拟软件公司**运行。它利用各种智能 Agent(例如 CEO、CTO、程序员)参与专门的功能研讨会,以自动化整个软件开发生命周期——包括设计、编码、测试和文档编写。它作为通信 Agent 协作的基础范式。 ## 🎉 新闻 • **2026年1月7日:🚀 我们很高兴地宣布 ChatDev 2.0 (DevAll) 正式发布!** 此版本引入了一个无代码多智能体编排平台。经典的 ChatDev (v1.x) 已移至 [`chatdev1.0`](https://github.com/OpenBMB/ChatDev/tree/chatdev1.0) 分支进行维护。关于 ChatDev 2.0 的更多详情请见[我们的官方博文](https://x.com/OpenBMB/status/2008916790399701335)。旧闻
•2025年9月24日:🎉 我们的论文 [Multi-Agent Collaboration via Evolving Orchestration](https://arxiv.org/abs/2505.19591) 已被 NeurIPS 2025 录用。其实现位于本仓库的 `puppeteer` 分支中。 •2025年5月26日:🎉 我们提出了一种新的傀儡师风格范式,用于基于大型语言模型的 Agent 之间的多智能体协作。通过利用经强化学习优化的可学习中央编排器,我们的方法动态地激活和排序 Agent,以构建高效、上下文感知的推理路径。这种方法不仅提高了推理质量,还降低了计算成本,从而在复杂任务中实现可扩展且适应性强的多智能体合作。 请参阅我们的论文 [Multi-Agent Collaboration via Evolving Orchestration](https://arxiv.org/abs/2505.19591)。
* **工作流**: 一个用于设计多智能体系统的可视化画布。配置节点参数、定义上下文流,并通过拖拽轻松编排复杂的 Agent 交互。
* **启动**: 启动工作流、监控实时日志、检查中间产物并提供人在环反馈。
### 🧰 Python SDK
对于自动化和批处理,使用我们轻量级的 Python SDK 以编程方式执行工作流并直接获取结果。
```
from runtime.sdk import run_workflow
# 执行 workflow 并获取最终节点消息
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()}")
```
## ⚙️ 开发者指南
**如需二次开发和扩展,请继续阅读本节。**
使用新的节点、提供商和工具扩展 DevAll。
项目采用模块化结构组织:
* **核心系统**: `server/` 托管 FastAPI 后端,而 `runtime/` 管理 Agent 抽象和工具执行。
* **编排**: `workflow/` 处理多智能体逻辑,由 `entity/` 中的配置驱动。
* **前端**: `frontend/` 包含 Vue 3 Web 控制台。
* **扩展性**: `functions/` 是自定义 Python 工具的存放位置。
相关参考文档:
* **入门**: [启动指南](./docs/user_guide/en/index.md)
* **核心模块**: [工作流编写](./docs/user_guide/en/workflow_authoring.md)、[记忆](./docs/user_guide/en/modules/memory.md)和[工具](./docs/user_guide/en/modules/tooling/index.md)
## 🌟 精选工作流
我们为常见场景提供了强大的开箱即用模板。所有可运行的工作流配置位于 `yaml_instance/`。
* **演示**: 名为 `demo_*.yaml` 的文件展示了特定功能或模块。
* **实现**: 直接命名(例如 `ChatDev_v1.yaml`)的文件是完整的内部或复刻工作流。如下所示:
### 📋 工作流集合
| 类别 | 工作流 | 案例 |
| :--- |:------------------------------------------------------------------------------------------------------------| :--- |
| **📈 数据可视化** | `data_visualization_basic.yaml``data_visualization_enhanced.yaml` |

提示词: *"为我的大型房地产交易数据集创建 4-6 个高质量的 PNG 图表。"* | | **🛠️ 3D 生成**
*(需要 [Blender](https://www.blender.org/) & [blender-mcp](https://github.com/ahujasid/blender-mcp))* | `blender_3d_builder_simple.yaml`
`blender_3d_builder_hub.yaml`
`blender_scientific_illustration.yaml` |

提示词: *"请搭建一棵圣诞树。"* | | **🎮 游戏开发** | `GameDev_v1.yaml`
`ChatDev_v1.yaml` |

提示词: *"请帮我设计并开发一个坦克大战游戏。"* | | **📚 深度研究** | `deep_research_v1.yaml` |

提示词: *"关于 LLM-based agent RL 领域近期进展的研究"* | | **🎓 教学视频** | `teach_video.yaml` (运行此工作流前请运行命令 `uv add manim`) |

提示词: *"讲一下什么是凸优化"* | ### 💡 使用指南 对于这些实现,你可以使用 **启动** 选项卡来执行它们。 1. **选择**: 在 **启动** 选项卡中选择一个工作流。 2. **上传**: 如有需要,上传必要的文件(例如用于数据分析的 `.csv`)。 3. **提示词**: 输入你的请求(例如 *"可视化销售趋势"* 或 *"设计一个贪吃蛇游戏"*)。 ## 🤝 致谢
## 🔎 引用
```
@article{chatdev,
title = {ChatDev: Communicative Agents for Software Development},
author = {Chen Qian and Wei Liu and Hongzhang Liu and Nuo Chen and Yufan Dang and Jiahao Li and Cheng Yang and Weize Chen and Yusheng Su and Xin Cong and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun},
journal = {arXiv preprint arXiv:2307.07924},
url = {https://arxiv.org/abs/2307.07924},
year = {2023}
}
@article{colearning,
title = {Experiential Co-Learning of Software-Developing Agents},
author = {Chen Qian and Yufan Dang and Jiahao Li and Wei Liu and Zihao Xie and Yifei Wang and Weize Chen and Cheng Yang and Xin Cong and Xiaoyin Che and Zhiyuan Liu and Maosong Sun},
journal = {arXiv preprint arXiv:2312.17025},
url = {https://arxiv.org/abs/2312.17025},
year = {2023}
}
@article{macnet,
title={Scaling Large-Language-Model-based Multi-Agent Collaboration},
author={Chen Qian and Zihao Xie and Yifei Wang and Wei Liu and Yufan Dang and Zhuoyun Du and Weize Chen and Cheng Yang and Zhiyuan Liu and Maosong Sun}
journal={arXiv preprint arXiv:2406.07155},
url = {https://arxiv.org/abs/2406.07155},
year={2024}
}
@article{iagents,
title={Autonomous Agents for Collaborative Task under Information Asymmetry},
author={Wei Liu and Chenxi Wang and Yifei Wang and Zihao Xie and Rennai Qiu and Yufan Dnag and Zhuoyun Du and Weize Chen and Cheng Yang and Chen Qian},
journal={arXiv preprint arXiv:2406.14928},
url = {https://arxiv.org/abs/2406.14928},
year={2024}
}
@article{puppeteer,
title={Multi-Agent Collaboration via Evolving Orchestration},
author={Yufan Dang and Chen Qian and Xueheng Luo and Jingru Fan and Zihao Xie and Ruijie Shi and Weize Chen and Cheng Yang and Xiaoyin Che and Ye Tian and Xuantang Xiong and Lei Han and Zhiyuan Liu and Maosong Sun},
journal={arXiv preprint arXiv:2505.19591},
url={https://arxiv.org/abs/2505.19591},
year={2025}
}
```
## 📬 联系方式
如果你有任何问题、反馈或希望取得联系,请随时通过电子邮件 [qianc62@gmail.com](mailto:qianc62@gmail.com) 与我们联系标签:3D生成, AI智能体编排, AI编程, AutoGPT, ChatDev, DLL 劫持, LLM应用开发, MITM代理, OpenBMB, PyRIT, Python, 人工智能平台, 企业级AI, 低代码, 多智能体系统, 大语言模型, 工作流自动化, 数字化转型, 无后门, 智能体协作, 深度研究, 生成式AI, 索引, 自动化软件开发, 虚拟软件公司, 请求拦截, 软件开发全生命周期, 逆向工具, 零代码平台