ChatDev 2.0 Docker Compose 一键部署教程:前后端双容器 + 环境变量配置避坑全清单
2026/9/18 12:53:57 网站建设 项目流程

ChatDev 2.0 Docker Compose 一键部署教程:前后端双容器 + 环境变量配置避坑全清单

【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/Dennis_Huang/ChatDev

ChatDev 2.0 是一个 LLM 驱动的多智能体协作开发平台(Dev All through LLM-powered Multi-Agent Collaboration),可以用可视化工作流编排多个 AI Agent 完成软件开发、深度研究、游戏制作等任务。本文带你用Docker Compose 一键部署ChatDev 2.0 的前后端双容器服务,并附上一份环境变量配置避坑全清单,让你一次配通、少踩 90% 的坑。🐳

一、部署架构:前后端双容器是怎么分工的

ChatDev 2.0 的容器化方案由 compose.yml 定义,共两个服务:

服务基础镜像端口作用
backendpython:3.12-slim6400FastAPI 后端 + 工作流执行引擎
frontendnode:24-alpine5173Vite 开发服务器(带热更新)

后端的 Dockerfile 采用多阶段构建:builder 阶段用uv安装依赖,runtime 阶段只拷贝虚拟环境和运行库,镜像更小、构建更快。前端则由 frontend/Dockerfile 先装node_modules(利用缓存层),再启动npm run dev热更新服务。

二、准备工作:拉取仓库与前置条件

只需两个前置条件:

  1. 已安装 Docker 和 Docker Compose;
  2. 拉取项目代码:
git clone https://gitcode.com/Dennis_Huang/ChatDev cd ChatDev

💡 注意:项目内置了示例配置 .env.example,部署前必须把它复制为根目录下的.env文件——compose.ymlenv_file同时引用了.env和 .env.docker,缺少.env容器起不来。

三、一键启动:三步完成部署 🚀

第 1 步:创建并填写环境变量

cp .env.example .env

打开.env,填入你的大模型服务信息(核心只有两行):

BASE_URL=https://api.openai.com/v1 API_KEY=sk-your-key

BASE_URL兼容 OpenAI、Gemini、Ollama、LM Studio 等多种服务,按需替换即可。

第 2 步:构建并启动双容器

docker compose up --build

首次构建会拉取镜像并安装依赖,耐心等待即可。compose.yml里已配置restart: unless-stopped,容器崩溃会自动拉起。

第 3 步:访问验证

  • 前端 Web 控制台:http://localhost:5173
  • 后端 API:http://localhost:6400

四、环境变量配置避坑全清单 ⚠️

这是新手最容易翻车的部分。两个配置文件分工明确,建议对照下表逐项检查:

变量所在文件作用避坑要点
BASE_URL/API_KEY.env大模型鉴权,必填不填 Key 容器能启动,但 Agent 一调用模型就报错
VITE_API_BASE_URL.env.docker前端请求后端地址必须保持http://backend:6400(容器内服务名),改成localhost是最高频错误 ❌
CORS_ALLOW_ORIGINS.env.docker允许的跨域来源已预置http://localhost:5173,若自定义了前端端口需同步修改
FRONTEND_PORT.env.docker宿主机映射端口默认 5173,被占用时改为如8080:5173形式,同时更新CORS_ALLOW_ORIGINS
BACKEND_BIND.env.docker后端监听地址容器内需保持0.0.0.0,否则外部访问不到 6400 端口
SERPER_DEV_API_KEY/JINA_API_KEY.env(可选)联网搜索/阅读工具不配置不影响核心功能,工作流用到搜索工具时再开

🔑 一句话记忆:.env管"模型怎么调",.env.docker管"容器之间怎么连"

VITE_API_BASE_URL之所以关键,是因为前端构建时会读取它作为 API 基地址(见 frontend/vite.config.js),它决定浏览器发出的请求能否到达后端容器。

五、双容器细节:热更新与卷挂载

compose.yml为两个容器都做了目录挂载,方便本地开发:

  • 后端:项目根目录挂载到/app,修改 Python 源码后重启容器即生效;
  • 前端:frontend/挂载到容器内,并额外挂载了匿名的node_modules卷——这一笔能防止宿主机目录覆盖容器内的依赖,是前端容器能正常启动的关键,改动 compose.yml 时别删掉这一行。

启动后你会看到chatdev_backendchatdev_frontend两个容器,日志中后端显示Starting DevAll Workflow Server on 0.0.0.0:6400即代表就绪(入口为 server_main.py)。

六、常见问题快速排查 🔧

症状原因与解法
浏览器打开 5173 一直转圈 / 接口 404VITE_API_BASE_URL被改成了localhost:6400,改回http://backend:6400后重新构建
页面能开但 Agent 调用模型失败.envAPI_KEY未填或BASE_URL与服务商不匹配;用docker compose logs backend查看报错
端口被占用修改.env.dockerFRONTEND_PORTCORS_ALLOW_ORIGINS;后端端口冲突时同时改compose.yml6400:6400的左侧映射
构建慢 / 中断多阶段构建依赖缓存层,确认网络能拉取python:3.12-slimnode:24-alpine基础镜像
改配置不生效环境变量改动需docker compose down && docker compose up --build重新启动才生效

日常运维只需几条命令:docker compose ps查看状态、docker compose logs -f跟踪日志、docker compose down停止清理。

写在最后

按本文步骤操作,你只需要3 条命令 + 2 个配置文件就能让 ChatDev 2.0 在你的机器上跑起来:cp .env.example .env→ 填 Key →docker compose up --build。部署完成后,进入http://localhost:5173即可体验拖拽式编排多智能体工作流。更多节点与配置说明,可参考官方文档 docs/user_guide/zh/index.md 与示例工作流 yaml_instance/。

【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/Dennis_Huang/ChatDev

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询