OpenSwarm
Claude Code多智能体编排框架,Worker/Reviewer配对编程,自动处理Linear
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Claude Code多智能体编排框架,Worker/Reviewer配对编程,自动处理Linear
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:OpenSwarm Web 仪表盘,实时展示代理状态、任务进度与成本统计
想象一下:凌晨两点,你的 Linear 项目管理工具里堆了 8 个待办 Bug。作为开发者,你不仅要写代码,还要 review、测试、写文档——一个人根本顾不过来。
现在有这样一个「AI 团队」:一个 Worker 负责写代码,一个 Reviewer 负责审查代码质量,一个 Documenter 负责写文档。三个角色并行协作,有问题自动重试,完成了直接推送到你的代码仓库。整个过程不需要你盯屏,只需要在 Discord 发一条指令就够了。
这就是 OpenSwarm——一个基于 Claude Code CLI 的自主式多智能体编排框架。
OpenSwarm 由开发者 unohee 创建并维护,GitHub 目前已获得 807 颗星,被标注为 AI Agents、Claude Code、Multi-Agent、DevOps 等多个热门方向的主题标签。项目采用 GPL-3.0 开源协议,使用纯 TypeScript 构建,依赖 Node.js >= 22 运行时。
从功能定位上看,OpenSwarm 填补了一个关键空白:虽然 Claude Code 本身是一个强大的 AI 编程工具,但它本质上是单人工作流。OpenSwarm 围绕 Claude Code 构建了一层多智能体协作编排层,让多个 AI Agent 能够像真实团队一样分工协作。
README 中提到了 SWE-bench Lite 的实测结果:使用混合模式(前端模型负责诊断 + 轻量模型负责实现)成功解决了 3/3 个之前单独轻量模型均无法解决的复杂实例,同时成本远低于纯前沿模型方案。
src/
├── adapters/ # 多后端适配器层
│ ├── claude.ts # Claude Code CLI 适配器(核心)
│ ├── codex.ts # OpenAI Codex CLI 适配器
│ ├── openrouter.ts # OpenRouter API 适配器(原生 Agentic Loop)
│ ├── gpt.ts # OpenAI GPT OAuth 适配器
│ ├── local.ts # Ollama / llama.cpp 本地模型适配器
│ ├── lmstudio.ts # LM Studio 适配器
│ ├── agenticLoop.ts # 自定义工具循环(OpenRouter 专用)
│ └── tools.ts # 工具定义(read/search/edit/bash + 验证守卫)
├── agents/ # 智能体角色
│ ├── worker.ts # Worker:执行实际编程任务
│ ├── reviewer.ts # Reviewer:代码质量审查(含 Pre-Check 快速验证)
│ ├── tester.ts # Tester:自动化测试角色
│ ├── documenter.ts # Documenter:文档编写角色
│ ├── auditor.ts # Auditor:合规审计角色
│ ├── pairPipeline.ts # 核心流水线编排(47KB,47906 字符)
│ ├── agentPair.ts # 配对会话管理
│ └── pipelineGuards.ts # 流水线守卫(安全边界)
├── orchestration/ # 任务编排
│ ├── decisionEngine.ts # 决策引擎(任务优先级)
│ ├── taskScheduler.ts # 任务调度
│ └── workflow.ts # 工作流定义
├── memory/ # 持久化认知记忆
│ ├── memoryCore.ts # 核心:LanceDB + Xenova 本地嵌入
│ ├── memoryOps.ts # 记忆操作(修订、格式化、后台任务)
│ └── repoKnowledge.ts # 仓库知识管理
├── discord/ # Discord 集成
├── linear/ # Linear 项目管理集成
└── registry/ # 代码实体注册表 + BS 模式检测
OpenSwarm 的适配器层是架构中最精华的部分。它定义了一个统一的 CliAdapter 接口,所有 AI 后端(Claude Code、Codex、GPT、OpenRouter、本地模型)都实现这个接口,通过统一的 run() 方法调用 AI 模型执行任务。
这个设计的精妙之处在于:无论底层用的是 Claude Code CLI 还是 OpenRouter API,上层的 Worker/Reviewer/Tester 等 Agent 角色完全不需要改动代码。 切换后端只需要在 config.yaml 里改一行 adapter: claude → adapter: openrouter,整个系统就切换到了另一个模型。
值得注意的是,src/adapters/openrouter.ts 不只是简单调用 OpenRouter 的 Chat Completions API,而是实现了完整的自研 Agentic Tool Loop:内置 read/search/edit/bash 工具 + 验证守卫、启用 ZDR(data_collection: deny)保护隐私、自动应用 Anthropic Prompt Caching。这意味着 OpenSwarm 在 OpenRouter 上跑的是自己的工具调用循环,保持了跨后端行为的一致性。
src/agents/pairPipeline.ts(47906字符)是项目最大的文件,也是核心编排逻辑。其工作流程为:
Reviewer 特别设计了一个两阶段审查:Pre-Check 用 Haiku 模型做快速质量评估(confidence 0-3),成本极低;Deep Review 用 Sonnet/Opus 做深度审查,确保代码质量。配置支持自动升级机制:如果 Worker 连续失败 N 次,自动切换到更强的模型(escalateModel)。
src/memory/memoryCore.ts 使用 LanceDB(本地向量数据库)+ Xenova/multilingual-e5-base(本地 Embedding 模型,768维,无需 GPU)实现持久化记忆。任务结果存储到向量数据库,下次处理同一仓库时 AI 会从记忆中召回相关历史上下文。TTL 机制(journal 14天、repo map 30天)+ 永久保留哨兵。这个设计让 OpenSwarm 具备了跨会话的持续学习能力。
项目提供了完整的 多阶段 Dockerfile + docker-compose.yml,这是最推荐的部署方式:
启动命令:
docker compose up -d
Web 仪表盘暴露在宿主机 3847 端口(容器内 3847 → 宿主机 3002)。
npm install -g @intrect/openswarm
openswarm
无配置文件时直接进入 TUI 聊天界面,支持 Chat/Projects/Tasks/Stuck/Logs 五个标签页。

图2:OpenSwarm 终端 TUI 界面,按 Tab 切换 Chat/Projects/Tasks/Stuck/Logs 五个标签页
状态栏实时显示当前 Provider · Model · 消息数 · 累计成本。
| 维度 | 评分 | 说明 |
|---|---|---|
| 代码质量 | ★★★★☆ | 完整 TypeScript 类型系统,Vitest 单元测试覆盖 CLI 解析、适配器、配对流水线 |
| 文档质量 | ★★★★★ | README 超 2 万字符,详细架构图、命令速查表、SWE-bench 基准结果 |
| 测试覆盖 | ★★★★☆ | CI 流程包含 lint + typecheck + build |
| 安全实践 | ★★★★☆ | 非 root 用户运行、no-new-privileges、ZDR 隐私保护 |
Node.js >= 22 的门槛:项目硬性要求 Node.js 22,这对很多已经在用 LTS 18/20 的团队来说意味着需要额外维护一个运行时环境。
复杂配置的学习曲线:完整部署需要配置 Discord Bot、Linear API、Claude Code 认证、GitHub CLI 等多个外部依赖。新手从下载到跑起来需要跨越不少配置障碍。
记忆系统的向量检索精度:本地 Embedding 模型(Xenova/multilingual-e5-base)虽然免去了 API 调用成本,但对代码语义理解场景,检索精度可能不如商业模型。
OpenSwarm 代表的趋势是 「AI 编程工具的团队协作化」。在 Claude Code、Copilot 等工具解决了「一个人与 AI 协作写代码」的问题之后,OpenSwarm 进一步探索了「多个 AI Agent 分工协作处理复杂任务」的可能性。其混合模式(前沿模型诊断 + 轻量模型实现)在 SWE-bench 上的结果暗示了一个重要的成本优化方向。
此外,OpenSwarm 的多后端适配器架构具有参考价值。通过统一的接口抽象,它实现了 Worker/Reviewer 与具体 AI 模型的解耦——这为未来快速切换到更新更强的模型提供了便利。