OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  ChatDev — 模拟虚拟软件公司的 Agent 框架

ChatDev — 模拟虚拟软件公司的 Agent 框架

 
  redis ·  2026-01-29 02:57:25 · 11 次点击  · 0 条评论  

ChatDev 2.0 - DevAll

DevAll Logo

一个零代码多智能体平台,用于开发万物

English | 简体中文

【📚 开发者 | 👥 贡献者|⭐️ ChatDev 1.0 (旧版)

📖 概述

ChatDev 已从一个专门用于软件开发的多智能体系统,演变为一个全面的多智能体编排平台。

  • ChatDev 2.0 (DevAll) 是一个用于“开发万物”的零代码多智能体平台。它使用户能够通过简单配置快速构建和执行定制的多智能体系统。无需编码——用户可以定义智能体、工作流和任务,以编排复杂场景,如数据可视化、3D 生成和深度研究。
  • ChatDev 1.0 (旧版) 作为一个虚拟软件公司运行。它利用各种智能体(如 CEO、CTO、程序员)参与专门的功能研讨会,以自动化整个软件开发生命周期——包括设计、编码、测试和文档编写。它作为通信智能体协作的基础范式。

🎉 新闻

2026年1月7日:🚀 我们很高兴地宣布 ChatDev 2.0 (DevAll) 正式发布! 此版本引入了一个零代码多智能体编排平台。经典的 ChatDev (v1.x) 已移至 chatdev1.0 分支进行维护。关于 ChatDev 2.0 的更多详情,请参阅我们的官方帖子

旧闻 • 2025年9月24日:🎉 我们的论文 [Multi-Agent Collaboration via Evolving Orchestration](https://arxiv.org/abs/2505.19591) 已被 NeurIPS 2025 接收。实现可在本仓库的 `puppeteer` 分支中找到。 • 2025年5月26日:🎉 我们提出了一种新颖的木偶师风格范式,用于基于大语言模型的智能体之间的多智能体协作。通过利用经过强化学习优化的可学习中央编排器,我们的方法动态激活和排序智能体,以构建高效、上下文感知的推理路径。这种方法不仅提高了推理质量,还降低了计算成本,实现了复杂任务中可扩展和自适应的多智能体合作。参见我们的论文 [Multi-Agent Collaboration via Evolving Orchestration](https://arxiv.org/abs/2505.19591)。

• 2024年6月25日:🎉 为了促进 LLM 驱动的多智能体协作🤖🤖 及相关领域的发展,ChatDev 团队策划了一系列开创性论文📄,以[开源](https://github.com/OpenBMB/ChatDev/tree/main/MultiAgentEbook)交互式电子书📚 形式呈现。现在您可以在[电子书网站](https://thinkwee.top/multiagent_ebook)上探索最新进展,并下载[论文列表](https://github.com/OpenBMB/ChatDev/blob/main/MultiAgentEbook/papers.csv)。

• 2024年6月12日:我们引入了多智能体协作网络 (MacNet) 🎉,它利用有向无环图通过语言交互🤖🤖 促进智能体之间有效的面向任务的协作。MacNet 支持跨各种拓扑结构以及超过一千个智能体的协作,而不会超出上下文限制。MacNet 功能更全面、可扩展性更强,可被视为 ChatDev 链式拓扑的更高级版本。我们的预印本论文可在 [https://arxiv.org/abs/2406.07155](https://arxiv.org/abs/2406.07155) 获取。该技术已整合到 [macnet](https://github.com/OpenBMB/ChatDev/tree/macnet) 分支中,增强了对多样化组织结构的支持,并提供了超越软件开发(例如逻辑推理、数据分析、故事生成等)的更丰富解决方案。

• 2024年5月7日,我们引入了“迭代经验精炼”(IER),这是一种新颖的方法,其中指导者和助手智能体增强面向捷径的经验,以高效适应新任务。这种方法涵盖了一系列任务中的经验获取、利用、传播和消除,使过程更短、更高效。我们的预印本论文可在 https://arxiv.org/abs/2405.04219 获取,该技术将很快整合到 ChatDev 中。

• 2024年1月25日:我们已将经验协同学习模块集成到 ChatDev 中。请参阅[经验协同学习指南](wiki.md#co-tracking)。 • 2023年12月28日:我们提出了经验协同学习,这是一种创新方法,其中指导者和助手智能体积累面向捷径的经验,以有效解决新任务,减少重复错误并提高效率。查看我们的预印本论文 https://arxiv.org/abs/2312.17025,该技术将很快集成到 ChatDev 中。

• 2023年11月15日:我们推出了 ChatDev 作为 SaaS 平台,使软件开发人员和创新企业家能够以极低的成本高效构建软件,并降低入门门槛。在 https://chatdev.modelbest.cn/ 试用。

• 2023年11月2日:ChatDev 现在支持一项新功能:增量开发,允许智能体在现有代码基础上进行开发。尝试 ```--config "incremental" --path "[source_code_directory_path]"``` 来启动它。

• 2023年10月26日:ChatDev 现在支持 Docker 以安全执行(感谢 [ManindraDeMel](https://github.com/ManindraDeMel) 的贡献)。请参阅 [Docker 启动指南](wiki.md#docker-start)。

• 2023年9月25日:**Git** 模式现已可用,使程序员 能够使用 Git 进行版本控制。要启用此功能,只需在 ``ChatChainConfig.json`` 中将 ``"git_management"`` 设置为 ``"True"``。参见[指南](wiki.md#git-mode)。

• 2023年9月20日:**人机交互**模式现已可用!您可以通过扮演评审员 的角色并向程序员 提出建议来参与 ChatDev 团队;尝试 ``python3 run.py --task [description_of_your_idea] --config "Human"``。参见[指南](wiki.md#human-agent-interaction) 和[示例](WareHouse/Gomoku_HumanAgentInteraction_20230920135038)。

• 2023年9月1日:**艺术**模式现已可用!您可以激活设计师智能体 来生成软件中使用的图像;尝试 ``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

📦 安装

  1. 后端依赖 (由 uv 管理的 Python):
    bash uv sync

  2. 前端依赖 (Vite + Vue 3):
    bash cd frontend && npm install

🔑 配置

  • 环境变量:
    bash cp .env.example .env
  • 模型密钥: 在 .env 中为您的 LLM 提供商设置 API_KEYBASE_URL
  • YAML 占位符: 在配置文件中使用 ${VAR}(例如,${API_KEY})来引用这些变量。

⚡️ 运行应用

使用 Makefile (推荐)

同时启动后端和前端:

make dev

然后在 http://localhost:5173 访问 Web 控制台。

手动命令

  1. 启动后端:
    bash # 从项目根目录运行 uv run python server_main.py --port 6400 --reload
    > 如果输出文件(例如,GameDev)触发重启,请移除 --reload,因为这可能会中断任务并丢失进度。

  2. 启动前端:
    bash cd frontend VITE_API_BASE_URL=http://localhost:6400 npm run dev
    > 然后在 http://localhost:5173 访问 Web 控制台。

    💡 提示: 如果前端无法连接到后端,可能是默认端口 6400 已被占用。
    请将两个服务切换到可用端口,例如:

    • 后端: 使用 --port 6401 启动
    • 前端: 设置 VITE_API_BASE_URL=http://localhost:6401

实用命令

  • 帮助命令:
    bash make help

  • 同步 YAML 工作流到前端:
    bash make sync
    yaml_instance/ 中的所有工作流文件上传到数据库。

  • 验证所有 YAML 工作流:
    bash make validate-yamls
    检查所有 YAML 文件的语法和模式错误。

🐳 使用 Docker 运行

或者,您可以使用 Docker Compose 运行整个应用程序。此方法简化了依赖管理并提供了统一的环境。

  1. 先决条件:

    • 已安装 DockerDocker Compose
    • 确保项目根目录中有 .env 文件用于存放您的 API 密钥。
  2. 构建并运行:
    bash # 从项目根目录 docker compose up --build

  3. 访问:

    • 后端: http://localhost:6400
    • 前端: http://localhost:5173

如果服务崩溃,它们将自动重启,并且本地文件更改将在容器内反映,以实现实时开发。


💡 如何使用

🖥️ Web 控制台

DevAll 界面为构建和执行提供了无缝体验

  • 教程: 平台内集成了全面的分步指南和文档,帮助您快速上手。

  • 工作流: 一个可视化画布,用于设计您的多智能体系统。配置节点参数、定义上下文流,并通过拖放轻松编排复杂的智能体交互。

  • 启动: 启动工作流、监控实时日志、检查中间产物,并提供人在环反馈。

🧰 Python SDK

对于自动化和批处理,请使用我们轻量级的 Python SDK 以编程方式执行工作流并直接获取结果。

from runtime.sdk import run_workflow

# 执行工作流并获取最终节点消息
result = run_workflow(
    yaml_file="yaml_instance/demo.yaml",
    task_prompt="用一句话总结所附文档。",
    attachments=["/path/to/document.pdf"],
    variables={"API_KEY": "sk-xxxx"} # 如果需要,覆盖 .env 变量
)

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

⚙️ 面向开发者

如需进行二次开发和扩展,请继续阅读本节。

使用新的节点、提供者和工具扩展 DevAll。
项目采用模块化结构组织:
* 核心系统: server/ 托管 FastAPI 后端,而 runtime/ 管理智能体抽象和工具执行。
* 编排: workflow/ 处理多智能体逻辑,由 entity/ 中的配置驱动。
* 前端: frontend/ 包含 Vue 3 Web 控制台。
* 可扩展性: functions/ 是放置自定义 Python 工具的地方。

相关参考文档:
* 入门指南: 开始指南
* 核心模块: 工作流编写记忆工具


🌟 精选工作流

我们为常见场景提供了健壮的开箱即用模板。所有可运行的工作流配置都位于 yaml_instance/ 中。
* 演示: 名为 demo_*.yaml 的文件展示了特定功能或模块。
* 实现: 直接命名的文件(例如 ChatDev_v1.yaml)是完整的内部或重新创建的工作流。如下所示:

📋 工作流集合

类别 工作流 案例
📈 数据可视化 data_visualization_basic.yaml
data_visualization_enhanced.yaml

提示: "为我的大型房地产交易数据集创建 4-6 个高质量的 PNG 图表。"
🛠️ 3D 生成
(需要 Blenderblender-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 的智能体 RL 领域的最新进展"
🎓 教学视频 teach_video.yaml (运行此工作流前请先运行命令 uv add manim)
提示: "讲一下什么是凸优化"

💡 使用指南

对于这些实现,您可以使用 启动 选项卡来执行它们。
1. 选择: 在 启动 选项卡中选择一个工作流。
2. 上传: 如果需要,上传必要的文件(例如,用于数据分析的 .csv)。
3. 提示: 输入您的请求(例如,"可视化销售趋势""设计一个贪吃蛇游戏")。


🤝 贡献

我们欢迎社区的贡献!无论您是修复错误、添加新的工作流模板,还是分享由 DevAll 产生的高质量案例/产物,我们都非常感谢您的帮助。欢迎

11 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 22 ms
Developed with Cursor