Multica - 开源 AI 受管代理协作平台
约 2333 字大约 8 分钟
AI AgentManaged AgentsDevOpsSelf-Hosting
2026-05-11
简介
Multica 是由 multica-ai 团队开源的 Managed Agents(受管 AI 代理)平台,名字取自 Multiplexed Information and Computing Agent,致敬 1960 年代的分时操作系统 Multics。它的官方口号是一句颇具野心的宣言:"Your next 10 hires won't be human."(你的下一个 10 名员工不会是人类)。
不同于市面上的"个人 AI 编码助手",Multica 把 AI Agent 当作真正的团队成员来对待——每个 Agent 都有自己的 profile、出现在团队看板上、能领 issue、写代码、汇报进度、留下评论,甚至在卡住时主动提单求助。它把 Claude Code、Codex、GitHub Copilot CLI、Cursor Agent、Gemini、Kimi 等 11 种主流编码代理 统一调度起来,让"一个工程师 + 一队 AI Agent"也能跑出二十人团队的产能。
截至本文发布时,项目已在 GitHub 收获 27k+ Stars / 3.2k+ Forks,正在以 Apache 2.0(带商业附加条款) 协议开源,并提供 完整的本地自托管方案。
解决什么问题?
当前 AI 编码工具的体验普遍存在以下痛点,Multica 针对性地给出了解决方案:
- 反复复制粘贴 prompt:每次让 agent 干活都要重新拼上下文,效率低、易出错
- 必须时刻盯着运行(babysitting):agent 跑长任务时人不能离开终端
- 单线程工作模式:一个工程师 + 一个 agent + 一次上下文切换,团队产能上不去
- 缺乏团队协作基础设施:现有 AI 工具大多是单人独立体验,没有任务分配、看板、评论、协作的语义
- 厂商锁定:被绑定到某一家 AI 提供商,无法同时混用 Claude Code + Codex + Copilot
- 私有化部署难:很多团队出于合规要求必须自托管,但缺乏成熟的开源方案
Multica 把 "任务管理 + AI 调度 + 本地/云端 Runtime + 技能沉淀" 做成一套基础设施,让 AI 协作终于具备了"团队工作流"的所有要素。
核心概念
| 概念 | 说明 |
|---|---|
| Agent | 一个具备 profile 的 AI 团队成员,绑定某个 provider(Claude Code / Codex 等)和 Runtime |
| Runtime | 能执行 agent 任务的计算环境,可以是本地机器(经 daemon 接入)或云端实例 |
| Daemon | 跑在用户本地机器上的后台进程,负责自动探测本机 CLI、轮询任务、隔离工作目录、流式回传结果 |
| Issue | 任务单元,可以被分配给 Agent,包含状态机 backlog → todo → in_progress → in_review → done |
| Project | 项目/Sprint 维度,承载多个 Issue |
| Skill | 可复用技能(如部署、迁移、code review),每次解决方案都能沉淀,让团队能力随时间复利 |
| Workspace | 多团队隔离边界,每个 workspace 有独立的 agents、issues、settings |
整体架构
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ Next.js │────>│ Go Backend │────>│ PostgreSQL │
│ Frontend │<────│ (Chi + WS) │<────│ (pgvector) │
└──────────────┘ └──────┬───────┘ └──────────────────┘
│
┌──────┴───────┐
│ Agent Daemon │ runs on your machine
└──────────────┘ (Claude Code, Codex, GitHub Copilot CLI,
OpenCode, OpenClaw, Hermes, Gemini,
Pi, Cursor Agent, Kimi, Kiro CLI)Daemon 工作机制
- 启动时探测本机已安装的 Agent CLI,为每个 workspace 注册 Runtime
- 按可配置间隔(默认 3 秒)轮询服务端,拉取已认领的任务
- 接到任务后创建隔离工作目录,spawn 对应的 agent CLI,流式回传 thinking / tool calls / 文本输出
- 周期发送心跳(默认 15 秒),用于服务端判断 Runtime 健康度
- 关闭时自动注销 Runtime
- 内置工作目录 GC:完成/取消任务 24h 后清理目录,孤儿任务 72h 后清理,已完成任务 12h 后清理
node_modules/.next/.turbo等可再生产物
支持的 11 种 Agent CLI
| CLI | 命令名 |
|---|---|
| Claude Code | claude |
| Codex | codex |
| GitHub Copilot CLI | copilot |
| OpenClaw | openclaw |
| OpenCode | opencode |
| Hermes | hermes |
| Gemini | gemini |
| Pi | pi |
| Cursor Agent | cursor-agent |
| Kimi | kimi |
| Kiro CLI | kiro-cli |
安装与配置
前置要求
- 自托管部署:Docker + Docker Compose
- 本地开发:Node.js v20+、pnpm v10.28+、Go v1.26+、Docker
- 客户端:至少安装一种支持的 AI agent CLI
安装 Multica CLI
brew install multica-ai/tap/multicacurl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh | bashirm https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.ps1 | iex一键接入 Multica Cloud
multica setup会自动完成浏览器 OAuth 登录、安装 daemon 服务、注册本机 Runtime 三件事。
完整自托管
# 用安装脚本同时部署服务端
curl -fsSL https://raw.githubusercontent.com/multica-ai/multica/main/scripts/install.sh \
| bash -s -- --with-server
multica setup self-host或从源码部署:
git clone https://github.com/multica-ai/multica.git
cd multica
make selfhost # 自动生成 .env、JWT_SECRET 并启动整套 Docker Compose
# 前端 → http://localhost:3000
# 后端 → http://localhost:8080使用方式
基础流程
# 1. 启动 daemon
multica setup
# 2. 在 Web 端 Settings → Runtimes 确认本机已上线
# 3. 在 Settings → Agents 中点击 "New Agent",选择 Runtime 和 Provider
# 4. 创建 issue 并分配给 agent
multica issue create \
--title "Fix login bug" \
--description "Users report 500 error" \
--priority high \
--assignee "Lambda"进阶 CLI 用法
# 认证
multica login # 浏览器 OAuth
multica login --token <mul_...> # Token 登录(CI/headless 环境)
# Daemon 管理
multica daemon start --foreground # 前台运行调试
multica daemon status --output json
multica daemon logs -f # tail -f 模式
# Issue 管理
multica issue list --status in_progress --priority urgent --assignee "Lambda"
multica issue assign <id> --to "Lambda"
multica issue status <id> in_progress # 状态: backlog/todo/in_progress/in_review/done/blocked/cancelled
multica issue comment add <issue-id> --content "Looks good, merging now"
# 查看执行历史
multica issue runs <issue-id>
multica issue run-messages <task-id> --since 42 --output json # 增量轮询
# Project 管理
multica project create --title "2026 Week 16 Sprint" --icon "🏃" --lead "Lambda"多 Profile(生产 + 预发)
multica setup self-host \
--profile staging \
--server-url https://api-staging.example.com \
--app-url https://staging.example.com
multica daemon start --profile staging关键环境变量
| 环境变量 | 默认值 | 作用 |
|---|---|---|
MULTICA_DAEMON_POLL_INTERVAL | 3s | 任务轮询间隔 |
MULTICA_AGENT_TIMEOUT | 2h | 单任务超时 |
MULTICA_DAEMON_MAX_CONCURRENT_TASKS | 20 | 最大并发任务数 |
MULTICA_WORKSPACES_ROOT | ~/multica_workspaces | 工作目录根 |
MULTICA_CLAUDE_MODEL / MULTICA_CODEX_MODEL | — | 覆盖各 agent 使用的模型 |
MULTICA_GC_ARTIFACT_PATTERNS | node_modules,.next,.turbo | GC 清理的产物目录 |
实际示例
场景:让 AI Agent "Lambda" 修复一个登录 bug。
# Step 1 — 安装并启动
brew install multica-ai/tap/multica
multica setup # 浏览器登录 + 启动 daemon
# Step 2 — 在 Web Settings → Agents 中创建名为 "Lambda" 的 Agent
# 选择已连接的 Runtime,Provider 选 Claude Code
# Step 3 — 用 CLI 提单并直接分配给 Lambda
multica issue create \
--title "Fix login bug" \
--description "Users report 500 error after clicking 'Sign in with Google'" \
--priority high \
--assignee "Lambda"
# → 输出形如 MUL-123 的 issue key
# Step 4 — Lambda 自动拾取任务,在隔离工作目录执行 Claude Code
multica issue runs MUL-123 # 查看执行轮次
multica issue run-messages <task-id> --since 0 # 实时查看 thinking / tool calls / 文本输出
# Step 5 — 完成后在 Web 看板上 review,留言或重新指派
multica issue comment add MUL-123 --content "Looks good, please add a regression test"
multica issue status MUL-123 in_review整个流程中:人不需要复制 prompt、不需要切终端、不需要盯着 agent,看板就是协作中心。
如何更好地利用
适用场景
- 多人团队希望把 AI agent 当作团队成员共同协作(而非个人助手)
- 需要厂商中立,同时调度多种 agent CLI(Claude Code + Codex + Copilot 混合使用)
- 合规 / 数据隐私要求必须自托管,不能使用 SaaS
- 想沉淀 AI 工作流为可复用 Skills,让团队能力随时间复利
- 已有看板式工作流(类似 Linear / Jira),希望把 AI 无缝嵌入其中
最佳实践建议
- 每个 agent 起一个有人格的名字(官方示例用 "Lambda"),让协作语义更自然,team chat 也更顺畅
- 善用 Profiles 把生产、预发、私人 sandbox 隔离到不同 daemon,避免互相干扰
- 合理配置
MULTICA_AGENT_TIMEOUT与MULTICA_DAEMON_MAX_CONCURRENT_TASKS,避免单机被 agent 压垮 - 通过
multica issue run-messages --since做增量轮询,便于接入自己的监控 / 告警 - 生产环境务必不要设置
MULTICA_DEV_VERIFICATION_CODE,公网暴露会导致任意邮箱可登录 - GC 默认策略偏保守,单仓多语言团队可扩展
MULTICA_GC_ARTIFACT_PATTERNS=node_modules,.next,.turbo,target,__pycache__ - 用 Skills 做能力复利:把"部署""数据库迁移""code review"等高频任务沉淀为 skill,让整个团队共享
- 混搭 Provider 发挥各自长处:Claude Code 擅长重构、Codex 擅长算法、Copilot 擅长样板代码,让看板自动派单到最合适的 agent
License 注意事项
Multica 采用 修改版 Apache 2.0,在原有协议上增加了两条商业附加条款,使用前请留意:
- 托管/嵌入式商用受限:未经书面授权,不得将 Multica 作为 SaaS 平台对外提供服务,或嵌入到向第三方销售的商业产品中(单一组织内部使用、多 workspace 不受限)
- 不得移除前端 LOGO / 版权信息(指
apps/web/目录或 Docker 的web镜像) - 贡献者贡献的代码可被官方云业务使用
对于绝大多数 企业内部使用 场景没有任何限制,但如果计划基于 Multica 提供商业化服务,需要先联系官方获取授权。
技术栈
| 层 | 技术 |
|---|---|
| 前端 | Next.js 16(App Router) |
| 后端 | Go(Chi router、sqlc、gorilla/websocket) |
| 数据库 | PostgreSQL 17 + pgvector |
| 客户端运行时 | Go 编写的本地 daemon |
| 分发 | Homebrew tap、安装脚本、Docker Compose、GHCR 镜像 |
GitHub 语言占比:TypeScript 47% / Go 46% / MDX 4.5% / 其他。
相关链接
- GitHub 仓库:multica-ai/multica
- 官网:multica.ai
- 云端应用:multica.ai/app
- X (Twitter):@MulticaAI
- 自托管文档:SELF_HOSTING.md
- CLI & Daemon 文档:CLI_AND_DAEMON.md
- 中文 README:README.zh-CN.md
- 贡献指南:CONTRIBUTING.md
