ChatDev 2.0 (DevAll) 技术指南:从零搭建零代码多智能体编排平台 ChatDev 2.0 (DevAll) 技术指南从零搭建零代码多智能体编排平台【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/GitHub_Trending/ch/ChatDev本文基于 ChatDev 2.0又名 DevAll仓库的中文 README 编写系统讲解这个“用于开发一切的零代码多智能体平台”的完整落地路径环境准备、后端/前端启动、Docker 部署、LLM 密钥与 YAML 占位符配置、Web 控制台三大功能模块、Python SDK 编程接口以及面向二次开发者的模块化架构与开箱即用工作流模板。读完本文你可以独立完成平台的安装与运行理解server_main.py、Makefile、compose.yml与runtime/sdk.py背后的实现机制并能选择合适的工作流模板完成数据可视化、3D 生成、游戏开发、深度研究等实战任务。1. 项目概览从软件开发到“开发一切”ChatDev 已经从一个专门的软件开发多智能体系统演变为一个全面的多智能体编排平台。当前仓库包含两条主线ChatDev 2.0DevAll当前main分支的主体。它是一个零代码多智能体平台通过简单的 YAML 配置即可定义智能体、工作流和任务无需编写代码即可编排数据可视化、3D 生成、深度调研等复杂场景。ChatDev 1.0经典版以“虚拟软件公司”模式运行——CEO、CTO、程序员等智能体通过功能研讨会协作覆盖设计、编码、测试、文档编写等完整软件开发生命周期是沟通型智能体协作的基石范式现维护于独立的chatdev1.0分支。从新闻时间线可以看出这条演进脉络2023 年的虚拟软件公司与预印本论文arXiv:2307.079242024 年 6 月推出基于 DAG 拓扑、可支持上千智能体协作的 MacNetarXiv:2406.07155再到 2026 年 1 月 ChatDev 2.0 正式发布把整套多智能体协作能力沉淀为可视化、零代码的编排平台。2. 快速开始2.1 环境要求按 README 的声明部署前需确认以下环境操作系统macOS / Linux / WSL / WindowsPython3.12 及以上。从 pyproject.toml 可见精确约束为requires-python 3.12,3.13即当前仅支持 Python 3.12 系列Node.js18 及以上前端为 Vite Vue 3包管理器uv 管理 Python 依赖2.2 安装依赖后端依赖由uv管理在项目根目录执行uv syncuv sync会根据 pyproject.toml 与uv.lock安装全部后端依赖包括 FastAPI、uvicorn、pydantic、OpenAI SDK、mcp/fastmcp、mem0ai、faiss-cpu等覆盖了 LLM 调用、工具执行、向量记忆等核心能力。前端依赖单独安装在frontend/目录cd frontend npm install2.3 启动应用方式一Makefile推荐一条命令同时拉起前后端make dev然后访问 Web 控制台http://localhost:5173。从 Makefile 源码看dev目标通过$(MAKE) -j2 server client并行执行两个子任务server目标后台运行uv run python server_main.py --port 6400client目标则在frontend/下注入VITE_API_BASE_URLhttp://localhost:6400后执行npm run dev。因此 Makefile 方式实际上已经帮你处理了前端到后端的 API 地址配置。方式二手动命令启动后端从项目根目录运行uv run python server_main.py --port 6400 --reloadserver_main.py 提供完整的命令行参数可通过--help或make help查看参数默认值说明--host0.0.0.0监听地址--port8000监听端口示例中显式指定 6400--log-levelinfo可选debug/info/warning/error/critical--reload关闭启用开发期自动重载--reload-dir服务端源码目录列表可多次指定自定义监控目录--reload-exclude内置排除 glob可多次指定排除特定路径模式其中--reload的实现值得注意源码中定义了RELOAD_SOURCE_DIRS仅监听check、entity、functions、runtime、server、workflow等服务端 Python 源码目录并默认排除WareHouse、logs、data、temp、node_modules。这样做的目的是避免智能体运行期间在WareHouse/下生成的产物文件触发 uvicorn 重载、把执行到一半的工作流打断源码注释中明确对应 issue #569。此外main()会在启动前调用ensure_schema_registry_populated()填充节点 Schema 注册表并以wswsproto启动 uvicorn 支持 WebSocket 推送。启动前端cd frontend VITE_API_BASE_URLhttp://localhost:6400 npm run dev 端口冲突提示如果前端无法连接后端可能是默认端口6400已被占用。请将前后端同时切换到空闲端口例如后端加--port 6401前端设置VITE_API_BASE_URLhttp://localhost:6401。2.4 常用维护命令make help # 显示全部 Makefile 命令及说明 make sync # 将 yaml_instance/ 中的工作流同步到前端数据库 make validate-yamls # 校验所有 YAML 工作流的语法与 schema从 Makefile 看sync实际执行uv run python tools/sync_vuegraphs.py把yaml_instance/下所有工作流文件上传到数据库供 Web 控制台的 Launch 页面选择validate-yamls执行uv run python tools/validate_all_yamls.py检查所有 YAML 文件的语法与 schema 错误。其底层与 check/check.py 中的load_config/check_config是同一套校验逻辑先做 Schema 校验validate_design再做工作流结构检查check_workflow_structure最后确认节点类型已在注册表中登记。此外 Makefile 还提供了质量检查入口make check-backend会串联执行backend-testsuv run pytest -v与backend-lintuvx ruff check .测试用例位于 tests 目录。3. 使用 Docker 运行不希望在本地装 Python/Node 环境时可以用 Docker Compose 一键部署。前置条件已安装 Docker 与 Docker Compose且项目根目录存在配置 API Key 的.env文件。# 在项目根目录执行 docker compose up --build服务地址后端http://localhost:6400前端http://localhost:5173结合 compose.yml 可以看到具体编排细节backend基于根目录 Dockerfile 的runtime构建目标容器名chatdev_backend映射6400:6400端口加载.env与.env.docker并设置restart: unless-stopped——服务异常退出后会自动重启frontend基于 frontend/Dockerfile 的dev构建目标端口映射为${FRONTEND_PORT:-5173}:5173即可通过环境变量FRONTEND_PORT自定义前端端口两个服务都把当前目录挂载进容器.: /app、./frontend: /app本地文件的修改会同步映射到容器中便于实时开发前端通过depends_on确保后端先启动。4. 配置环境变量与 YAML 占位符平台采用“环境变量 占位符”的配置模型环境变量在项目根目录创建.env文件模型密钥在.env中设置API_KEY和BASE_URL对应该 LLM 提供商YAML 占位符在工作流配置中使用${VAR}如${API_KEY}引用这些变量。源码层面的对应关系非常直接utils/env_loader.py 中的load_dotenv_file()负责在进程内一次性解析.env跳过空行与注释、按首个拆分键值、去除引号并以os.environ.setdefault写入避免覆盖已有环境值utils/vars_resolver.py 中的PlaceholderResolver在嵌套结构里递归解析${VAR}占位符支持vars段内的变量互引用含循环引用检测SDK 入口run_workflow的variables参数会经由 check/check.py 的load_config合并进 YAML 的vars段实现“运行时覆盖默认值”的能力。5. 如何使用5.1 Web 控制台DevAll 界面为构建和执行提供了三个核心页面教程Tutorial平台内置全面的分步指南和文档帮助快速上手。工作流Workflow可视化画布通过拖拽配置节点参数、定义上下文流并编排复杂的智能体交互。运行Launch启动工作流、监控实时日志、检查中间产物并提供人机协同反馈。页面背后的技术支撑来自frontend/src/pages/下的WorkflowView.vue、WorkflowWorkbench.vue、LaunchView.vue等组件配合 server/routes/websocket.py 与 server/services/websocket_manager.py 实现的 WebSocket 实时推送将节点状态、stdout/stderr 与工件事件实时回传到界面。5.2 Python SDK对于自动化和批量处理场景仓库提供了轻量级 Python SDK可直接在代码中编排任务并获取结果from runtime.sdk import run_workflow # 执行工作流并获取最后一条节点消息 result run_workflow( yaml_fileyaml_instance/demo.yaml, task_prompt用一句话总结附件文档。, attachments[/path/to/document.pdf], variables{API_KEY: sk-xxxx} # 如果需要可覆盖 .env 中的变量 ) if result.final_message: print(fOutput: {result.final_message.text_content()})深入 runtime/sdk.py 的run_workflow实现可以了解它的完整参数与执行链路yaml_file工作流路径。绝对路径直接使用相对路径若不存在会回退到yaml_instance/目录server/settings.py中定义的YAML_DIR下查找task_prompt任务提示词。与attachments同时为空时会抛出ValidationErrorattachments附件文件列表。SDK 会把它们放入本次 Session 的WareHouse/session/code_workspace/attachments/目录经TaskInputBuilder组装为多模态输入session_name会话名。缺省时自动生成sdk_yaml文件名_时间戳variables运行时变量覆盖.env中的同名变量log_level日志级别取值来自entity.enums.LogLevel返回值WorkflowRunResult包含final_message最后一条节点消息与meta_infoWorkflowMetaInfo含session_name、yaml_file、log_id、各节点outputs、token_usage及产物目录output_dir。执行链路为load_config加载并校验 YAML →GraphConfig.from_definition构建图配置产物根目录固定为WareHouse/→GraphContext建立运行上下文 →GraphExecutor.execute_graph驱动 DAG 执行 → 取最终输出消息。整个过程不需要启动 Web 服务。除仓库内 SDK 外官方还发布了 PyPI 包chatdev0.1.0便于在独立 Python 环境中直接运行 YAML 工作流编排并执行多智能体任务安装详情与版本说明见 PyPI 页面。6. 给开发者模块化架构如果你打算进行二次开发和扩展可以从节点、Provider 与工具三个方向增强 DevAll。项目的模块化结构如下模块职责server/FastAPI 后端承载路由server/routes/与运行服务server/services/runtime/智能体抽象与工具执行runtime/node/agent/providers/封装 OpenAI、Gemini 等 LLM Providerruntime/node/executor/提供 agent/human/python/subgraph 等各类节点执行器workflow/多智能体编排层DAG/循环执行器、拓扑构建、子图加载entity/工作流配置模型与 Schema节点/边的配置定义位于entity/configs/frontend/Vue 3 Web 控制台functions/自定义 Python 工具的挂载点与 Web UI 的交互链路可以概括为Web UI / CLI 调用server_main.py暴露的 FastAPI 接口 →WorkflowRunService校验 YAML、创建 Session、准备code_workspace/attachments/→workflow/层调度 DAG 执行 → WebSocket 推送状态、日志、工件事件结构化日志写入logs/运行资产保存在WareHouse/session/。进一步开发的参考文档均在仓库内相对路径以仓库根目录为起点快速开始Start Guide核心模块工作流编排 Workflow Authoring、Memory 与 Tooling其中工作流文档详细说明了 YAML 结构、节点类型、Provider/边条件与设计模板导出Memory 文档覆盖simple/file/blackboard等内置存储与嵌入配置Tooling 文档则解释 Function/MCP 两种工具模式与内置函数清单。7. 推荐工作流模板所有可运行的工作流配置位于 yaml_instance 目录分两类示例Demos以demo_*.yaml命名展示特定功能或模块如demo_function_call.yaml、demo_file_memory.yaml、demo_mcp.yaml、demo_dynamic_tree.yaml等实现Implementations直接命名的完整流程如ChatDev_v1.yaml、MACNet_v1.yaml是可直接投产的自研或复刻流程。7.1 工作流合集类别工作流提示词示例数据可视化data_visualization_basic.yaml、data_visualization_enhanced.yamlCreate 4–6 high-quality PNG charts for my large real-estate transactions dataset.3D 场景生成需要 Blender 和 blender-mcpblender_3d_builder_simple.yaml、blender_3d_builder_hub.yaml、blender_scientific_illustration.yamlPlease build a Christmas tree.游戏开发GameDev_v1.yaml、ChatDev_v1.yamlPlease help me design and develop a Tank Battle game.深度研究deep_research_v1.yamlResearch about recent advances in the field of LLM-based agent RL教学视频运行前需uv add manimteach_video.yaml讲一下什么是凸优化这些模板与仓库案例一一对应yaml_instance/subgraphs/下还提供react_agent.yaml、reflexion_loop.yaml、article_discuss.yaml等可复用子图。3D 生成类工作流依赖外部 Blender 环境与 blender-mcp 工具teach_video.yaml依赖 manim 动画库README 明确要求在运行前先执行uv add manim将其纳入依赖。7.2 使用步骤对上述实现类工作流使用Launch标签页执行选择在 Launch 标签页选择一个工作流上传如需要上传相关文件例如数据分析用的.csv提示输入你的请求例如“可视化销售趋势”或“设计一个贪吃蛇游戏”。8. 版本演进与学术脉络附录ChatDev 系列的演进与一篇篇公开研究紧密对应README 的引用区列出了核心论文ChatDevarXiv:2307.07924沟通型智能体的软件开发范式即 1.0 版本的理论基础Experiential Co-LearningarXiv:2312.17025指导者与助手智能体积累捷径导向经验的共同学习MacNetarXiv:2406.07155基于 DAG 的语言交互协作网络支持千级智能体规模代码位于macnet分支IAgentsarXiv:2406.14928信息不对称下的协作智能体Evolving OrchestrationarXiv:2505.19591NeurIPS 2025通过强化学习优化中央编排器动态激活与排列智能体的“木偶戏”范式实现位于puppeteer分支。这些研究构成了 ChatDev 2.0 编排平台的能力底色从固定链式拓扑1.0到通用 DAGMacNet再到可视化零代码编排DevAll协作拓扑的表达能力持续扩展。9. 小结与延伸阅读本文覆盖了 ChatDev 2.0 的完整落地路径uv syncnpm install完成依赖安装make dev或docker compose up --build完成部署.env${VAR}占位符完成模型配置Web 控制台完成可视化编排与运行监控runtime/sdk.py的run_workflow完成程序化调用。后续深入可按角色选择入口使用侧优先阅读 Web UI 快速入门 与 工作流编排扩展侧则结合 FIELD_SPECS 规范、节点类型详解 与 Tooling 模块 理解自定义节点与工具的注册机制。项目采用 Apache-2.0 许可欢迎通过 Issue 或 Pull Request 参与贡献——无论是修复 Bug、新增工作流模板还是分享由 DevAll 生成的优质案例。【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/GitHub_Trending/ch/ChatDev创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考