OpenSwarm
将开发工单编排为经审核与验证的代码变更。
这个 Agent 能做什么,适合哪些场景?
OpenSwarm 是一个以 TypeScript 和 Node.js 22+ 构建的自主开发任务编排器,可通过 TUI、CLI、Discord 和 Web Dashboard 操作。它从 Linear 或内置 SQLite 工单追踪器获取任务,由 DecisionEngine 筛选并交给 PairPipeline 中的 Worker、Reviewer,以及可选 Tester 和 Documenter 阶段。执行可使用 Codex、OpenAI GPT、OpenRouter、Atlas Cloud、Ollama、LM Studio,或作为可选后备的 Claude Code CLI。它还提供代码实体注册表、BS Detector、LanceDB 长期记忆和按仓库回忆的知识循环。对于团队采用,它更适合愿意配置模型凭据、项目目录和验证命令,并希望把工单处理、审查和 CI 修复纳入同一自托管工具链的开发团队。
AutonomousRunner 按心跳从 Linear 获取工单,DecisionEngine 按范围、优先级和限额过滤任务,projectMapper 解析项目路径后调用 PairPipeline.run()。Worker 通过配置的 adapter 修改代码,Reviewer 输出 APPROVE、REVISE 或 REJECT,并可循环多次;可选 Tester 和 Documenter 随后执行。openswarm review 审查工作树,openswarm review --max 将代码库拆成区域交给 reviewer 子代理,并输出审计报告、可选 Linear 工单、JSON 判定或 SARIF;--fix 在隔离沙箱中修复并在复审和确定性验证通过后发布 PR。openswarm fix 自动识别 npm、Cargo 或 Python 检查,按失败文件分组修复并重复运行检查。Code Registry 将函数、类和类型写入 SQLite/FTS5,openswarm check --bs 扫描坏代码模式;完成的任务还会写入 LanceDB,以便后续同仓库任务通过 search_memory 和提示词回忆。
- 维护 Linear 工单的工程团队,希望按计划自动挑选任务、实施修改、复审并把结果回写工单状态。
- 需要在 GitHub Actions 中把 PR 审查作为合并门禁的团队,可使用仓库提供的 composite action、JSON 判定或 SARIF 输出。
- 面对 lint、typecheck、build 或 test 失败的多语言仓库维护者,希望用 `openswarm fix` 按轮次修复并重复验证。
- 使用 Discord 管理开发工作的团队,可通过 `!dev`、`!tasks`、`!auto` 和 `!provider` 调度任务、查看状态和切换提供商。
- 想在本机 Ollama 或 LM Studio 上运行代码工作流,同时保留 OpenRouter、Codex 或 GPT 路由选择的开发者。
这个 Agent 有哪些优点和局限?
- 将 Linear/本地工单、Worker/Reviewer 流水线、可选测试与文档阶段整合在同一 CLI 和 daemon 中。
- 提供多种执行后端,包括 OpenRouter 任意模型、ChatGPT OAuth 的 codex-responses、本地 Ollama/LM Studio,以及 Claude Code CLI 后备路径。
- `review --max --fix` 具有区域化审查、依赖闭包分组、隔离沙箱、复审和确定性验证门槛。
- 代码注册表、风险与测试映射、BS Detector,以及 LanceDB 的仓库知识回忆,覆盖了单次任务之外的代码库上下文。
- 运行全功能自主模式需要 Node.js 22+、原生模块构建条件、模型认证,并视集成情况需要 Linear、Discord 或 GitHub CLI。
- Claude Code 仅作为需显式选择的 `claude -p` 后备路径;不会自动回退到它。
- Linux 确定性验证依赖 bubblewrap,且不可用时会失败关闭;GitHub Actions 和 Docker 可能需要额外系统配置。
- `review --max --fix` 只有在所有区域复审通过且受信任的确定性检查通过后才发布 PR,因此不适合只想无门槛直接写入的流程。
如何安装或部署这个 Agent?
需要 Node.js 22+、至少一个已配置的 LLM 提供商,以及 better-sqlite3 与 @lancedb/lancedb 所需的原生构建环境。安装并完成首次配置:npm install -g @intrect/openswarmopenswarm initopenswarm doctoropenswarmopenswarm init 可配置 ChatGPT OAuth、OpenRouter、GPT、Ollama、LM Studio 或已认证的 claude CLI;若手动配置,至少先执行 openswarm auth login,或为 OpenRouter 设置 OPENROUTER_API_KEY。自主模式可额外配置 Linear OAuth/API key 和 Discord bot 凭据。
如何使用这个 Agent?
在要管理的仓库目录运行 openswarm init,让向导写入 config.yaml 与 .env,然后用 openswarm start 启动后台 daemon,或用 openswarm run "Fix the bug" -p ~/my-project 执行单个任务。要在不启动 daemon 时运行完整流水线,可使用 openswarm exec "Run tests" --local --pipeline。审查当前改动使用 openswarm review;自动修复检测到的检查失败使用 openswarm fix。openswarm dash 打开端口 3847 的仪表盘。
这个 Agent 与同类方案有什么区别?
提供商选择上,codex-responses 使用 ChatGPT OAuth 和原生 Responses API 循环;codex 委托外部 Codex CLI;openrouter 运行自身的代理工具循环并支持任意 OpenRouter 模型;local/lmstudio 面向本地模型;Claude Code 是显式启用的 CLI 后备方案。