OtoDock 实战教程:把 Claude Code 和 Codex 变成一支协作 AI 团队
你是不是也有这样的困扰——本地跑着一个 Claude Code 终端,同事也跑着一个 Codex,每个人都在各自的窗口里和 AI 对话,但任务一多就乱套了:谁在做什么?哪些代码已经被改过了?能不能让多个 AI Agent 像真正的团队成员一样协作?
OtoDock 就是解决这个问题的。它是一个自托管平台,把 Claude Code 和 Codex 包装成真正的”团队 Agent”——有实时仪表盘、多 Agent 会议室、计划任务、安全沙箱,所有数据跑在你自己的服务器上。
OtoDock 是谁
OtoDock 由开发者 Dimitris Mourtzis 创建,项目地址在 github.com/OtoDock/oto-dock。它使用 FSL-1.1-Apache-2.0 许可证(公平源码),两年后自动转为 Apache 2.0。目前版本 1.1.0。
它的核心思路很直接:你已经在为 Claude Code 或 ChatGPT/Codex 付费了,为什么不把这些订阅用得更充分?OtoDock 在你自己控制的服务器上运行真正的 Claude Code 和 Codex 进程作为引擎,然后在外面包一层协作层——仪表盘、安全模型、自动化、多 Agent 会议。
快速部署
OtoDock 推荐用 Docker Compose 部署:
mkdir otodock && cd otodock curl -fsSLO https://raw.githubusercontent.com/OtoDock/oto-dock/main/docker-compose.yml echo "POSTGRES_PASSWORD=$(openssl rand -hex 24)" > .env docker compose up -d
启动后访问 http://localhost:8400,设置向导会引导你创建管理员账户。几分钟后就能在聊天界面中和第一个 Agent 对话。
如果需要让别人从其他地址访问,在 .env 中设置 DASHBOARD_PUBLIC_URL 即可。所有可配置项都在 config.env.example 中有文档说明。
也支持裸机部署(Debian/Ubuntu):
git clone https://github.com/OtoDock/oto-dock.git && cd oto-dock scripts/dev-setup.sh # 加 --service 参数可安装 systemd 服务
核心功能一览
1. 多 Agent 协作会议室
这是 OtoDock 最亮眼的功能。你可以把不同专长的 Agent 放进同一个”会议室”——比如一个负责后端、一个负责前端、一个负责测试——它们在同一轮讨论中并行回答,由协调者 Agent 引导流程,最终收敛成一个方案。你可以旁观看整个过程,也可以随时加入讨论。
每个 Agent 在会议室里有独立的身份和成本追踪,所有对话流式可见:推理过程、每次工具调用、文件变更的增删 diff、计划和待办清单的实时状态。
2. 自动化与计划任务
Agent 在标签页关闭后依然可以工作。你可以设置基于时间间隔的计划——每 17 小时、每 3 天——每次运行都会保存为一个完整对话,随时可以打开继续。也支持 Webhook 触发:当你在 GitHub 上推送代码时,自动唤起 Agent 执行代码审查或部署流程。
通知系统分四个严重级别,最高级别的危险告警不会被遗漏。
3. 安全模型
每个服务端 Agent 运行在独立的内核沙箱中,默认网络隔离——你需要逐项授权才能让 Agent 访问特定文件夹或服务。支持 SSO/OIDC、双因素认证、基于角色的权限控制、加密凭据存储、范围限定的 API Key,以及按用户/按 Agent 的预算控制。
关键设计:用户的 Claude 或 ChatGPT 订阅由每个人自己连接(也可以由管理员共享 API Key),凭据保存在你自己控制的硬件上,不会离开你的网络。
4. 文档与 MCP 扩展
Agent 可以生成真正的 Word、Excel、PowerPoint 和 PDF 文件——带格式、表格和图表的文档直接在对话中打开,支持实时协作编辑。图像生成也内置支持。
扩展 Agent 能力通过 MCP 协议:从社区目录(github.com/OtoDock/community-mcps)一键安装浏览器、GitHub、Notion 等 MCP 工具。也支持本地模型接入(Ollama)。
实际使用场景
场景一:代码审查自动化
设置一个定时任务,每天凌晨自动拉取团队 PR,由 Codex Agent 执行代码审查,结果生成一份嵌入代码注释的 PDF 报告。
场景二:多 Agent 前端重构
前端专精和后端专精的两个 Agent 进入会议室,协调者指出重构目标和约束——它们并行分析代码结构,输出影响分析报告和重构计划,最后收敛成一个完整的实现方案。
场景三:安全隔离的外部访问
给外部贡献者开放一个受限 Agent,只能访问 /incoming/ 目录和 GitHub Issues API,凭据和会话数据跑在你自己的服务器上,不经过任何第三方。
与直接使用 CLI 的对比
| 维度 | 直接使用 Claude Code CLI | 使用 OtoDock |
|---|---|---|
| 多 Agent 协作 | 不支持,只能开多个终端 | 内置会议室,多 Agent 并行讨论 |
| 计划任务 | 不支持 | 时间间隔 + Webhook 双模式 |
| 安全沙箱 | 取决于运行环境 | 内核沙箱 + 默认网络隔离 |
| 协作编辑 | 无 | 文档实时编辑 |
| 历史记录 | 终端日志 | 完整对话回放 |
| 团队共享 | 每人各自配置 | 统一仪表盘 + SSO |
值得注意的细节
- OtoDock 使用 FSL-1.1-Apache-2.0 许可证,免费自托管最多 5 个用户。它不是传统意义上的”开源许可证”(不属于 OSI 批准的开源许可证列表),但源码完全可见、可修改、可重新分发(非商业竞争用途)。
- 每个版本发布两年后自动转为 Apache 2.0 许可证。
- 项目正在积极开发中,路线图包含:远程机器支持(在用户自己的笔记本上运行 Agent)、实时终端视图、电话应答 Agent、Android App,以及 Google Workspace/Slack/Linear/Microsoft 365 集成。
- 所有平台状态存储在 PostgreSQL 中,Docker 镜像从 GHCR 拉取。
开始使用
mkdir otodock && cd otodock curl -fsSLO https://raw.githubusercontent.com/OtoDock/oto-dock/main/docker-compose.yml echo "POSTGRES_PASSWORD=$(openssl rand -hex 24)" > .env docker compose up -d
打开 http://localhost:8400,完成设置向导,然后用你的 Claude Code 或 ChatGPT 订阅连接第一个 Agent。剩下的就是告诉它你想做什么了。
相关链接