一键安装脚本会检查 Docker 与 Compose v2,缺 Bun 时会自动安装;手动 Compose 部署前需复制 .env.docker.example 并设置 API_KEY 与对应 HARNESS_PROVIDER 的凭据,还要生成 encryption_key;API 默认通过隧道对外公开(由 API key 保护),想只留本地需加 --no-tunnel。
agent-swarm
desplega-aiMIT活跃维护把多个 AI 编码代理组织成可协作的团队,统一调度与运行时管理,让 Claude Code 等代理像公司部门一样分工干活。
Your Company Agentic Operating System
curl -fsSL https://agent-swarm.dev/install.sh | bash自托管建议至少 4 vCPU、8 GB 内存、40 GB 空闲磁盘,升级后需清理旧 Docker 镜像;README 未提及 GPU 或显存要求。
自托管的 AI 公司操作系统,由 lead agent 把目标拆给 Claude Code 等 worker 执行
把多个 AI 编码代理组织成可协作的团队,统一调度与运行时管理,让 Claude Code 等代理像公司部门一样分工干活。
核心能力
- lead agent 接收 Slack、仓库、工单、邮件或 API 的任务并分派
- worker 跑在隔离 Docker 容器里,带开发环境
- 记忆与身份跨会话持久化,含向量检索与引用评分
- 支持延迟任务,等被观察任务出结果或到截止时间再唤醒
- 可接 Claude Code、Codex、Cursor、Grok 等多种 harness 与模型
容易踩的坑
- v2.10.0最新正式版2026-11-10 · 2026-11-10 03:10 UTC
Install & Run
npm:
npx @desplega.ai/[email protected] # or install globally npm i -g @desplega.ai/[email protected]bun:
bunx @desplega.ai/[email protected] # or install globally bun i -g @desplega.ai/[email protected]Docker:
# Server docker pull ghcr.io/desplega-ai/agent-swarm:2.10.0 # Worker docker pull ghcr.io/desplega-ai/agent-swarm-worker:2.10.0 # Dashboard docker pull ghcr.io/desplega-ai/agent-swarm-ui:2.10.0E2B templates:
# API agent-swarm-api-2-10-0 agent-swarm-api-latest # Worker / lead runtime agent-swarm-worker-2-10-0 agent-swarm-worker-latestagent-fs
Ships agent-fs 0.18.24 (bumped from 0.18.23).
agent-swarm pins agent-fs via the chart image tag and npm packages
@desplega.ai/agent-fsand@desplega.ai/agent-fs-just-bash; each agent-fs release needs achore(deps): bump agent-fs pinsPR here.
What's Changed
- chore(docker): bump amp (2026-11-09) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2906
- docs: add support knowledge conflict review guide by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2907
- feat(ui-spec): script card actions with content-pinned allowlist by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2894
- feat(models): model groups schema, REST CRUD and seeded tier groups by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2850
- docs: remove external platform article link by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2909
- docs: put the PR description rule where outside contributors read first by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2916
- docs: restore valid platform article link by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2918
- ci: comment on fork PRs whose description fails the PR Body check by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2915
- fix(specs): resumable, shared TLC runs in heartbeat run-props.sh by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2921
- fix(specs): key the run-props verdict cache on the root module by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2923
- fix(memory): review tasks stop recalling other review tasks' task_completion memories by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2924
- fix: detect GitLab remotes by hostname by @ZedingZhang in https://github.com/desplega-ai/agent-swarm/pull/2919
- fix(slack): preserve code during mrkdwn conversion by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2910
- feat(runtime): add built-in Kubernetes pool provider by @tarasyarema in https://github.com/desplega-ai/agent-swarm/pull/2908
- fix(chat-sdk): preserve spaces at message boundaries (fixes #2879) by @IG-ABHINAV in https://github.com/desplega-ai/agent-swarm/pull/2888
- fix: generate bearer, user and session tokens without modulo bias by @Guilherme-M-Mateus in https://github.com/desplega-ai/agent-swarm/pull/2882
- fix(acp): normalize ACP_TARGET values by @ZedingZhang in https://github.com/desplega-ai/agent-swarm/pull/2920
- fix(memory): demote only memories rated wrong by default by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2922
- feat(github): require a trusted sender for mention and review tasks by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2891
- feat(ui): enable Kubernetes runtime pools by @tarasyarema in https://github.com/desplega-ai/agent-swarm/pull/2929
- docs(specs): sync TLA+ specs with main (workflows) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2931
- fix: preserve event wait subscriptions when a run resumes by @ZedingZhang in https://github.com/desplega-ai/agent-swarm/pull/2928
- test(ui): wait for the lazy task preview body instead of 20 ms by @desplega-bot in https://github.com/desple
- v2.9.12026-11-09 · 2026-11-09 02:59 UTC
查看更新说明
Install & Run
npm:
npx @desplega.ai/[email protected] # or install globally npm i -g @desplega.ai/[email protected]bun:
bunx @desplega.ai/[email protected] # or install globally bun i -g @desplega.ai/[email protected]Docker:
# Server docker pull ghcr.io/desplega-ai/agent-swarm:2.9.1 # Worker docker pull ghcr.io/desplega-ai/agent-swarm-worker:2.9.1 # Dashboard docker pull ghcr.io/desplega-ai/agent-swarm-ui:2.9.1E2B templates:
# API agent-swarm-api-2-9-1 agent-swarm-api-latest # Worker / lead runtime agent-swarm-worker-2-9-1 agent-swarm-worker-latestagent-fs
Ships agent-fs 0.18.23.
agent-swarm pins agent-fs via the chart image tag and npm packages
@desplega.ai/agent-fsand@desplega.ai/agent-fs-just-bash; each agent-fs release needs achore(deps): bump agent-fs pinsPR here.
What's Changed
- chore(docker): bump amp, qwen (2026-11-08) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2874
- fix(ui): keep chart axis labels apart and Home rows readable on phones by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2871
- feat(providers): capture reasoning text for claude, codex and pi by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2869
- fix: clear inherited System One test defaults by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2872
- fix(slack): keep a reload during the boot Slack start from 500ing by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2873
- fix: bound heartbeat TLC memory and auto workers by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2875
- docs(specs): sync TLA+ specs with main (heartbeat) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2878
- fix(ci): accept fork PRs in Slack Visuals Publish validation by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2877
- chore(docker): bump amp (2026-11-08) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2886
- feat(apps): add the PageFrame component and fix three app-component gaps by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2884
- fix(ci): ride out GitHub release 504s when fetching gitleaks by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2885
- feat(runtime-pools): opt-in Docker isolation keys for provisioned workers by @tarasyarema in https://github.com/desplega-ai/agent-swarm/pull/2881
- feat(tasks): first-class json-render UI specs on task output by @fuvidani in https://github.com/desplega-ai/agent-swarm/pull/2876
- fix: keep human thread replies independent of worker routing requirements by @swarn-maxi-bot in https://github.com/desplega-ai/agent-swarm/pull/2628
- feat: show current provider limits and observed window usage by @tarasyarema in https://github.com/desplega-ai/agent-swarm/pull/2870
- feat(apps): let an app.action step start a SessionThread session by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2889
- fix: isolate Slack approval test environment by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2895
- fix(workflows): mark a superseded step task superseded once its retry is queued by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2892
- feat(ui): subscription cards with quota meters on Usage by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2890
- fix(ui): show task cards in the link preview split screen by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2887
- fix(extensions): allow db-query in sql-admin-only for sessions with no task row by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2897
- feat(session-logs): store per-line reasoning counts on session_logs by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2893
- fix(usage): attribute pre-307 sessions to the
- v2.9.02026-11-08 · 2026-11-08 03:06 UTC
查看更新说明
Install & Run
npm:
npx @desplega.ai/[email protected] # or install globally npm i -g @desplega.ai/[email protected]bun:
bunx @desplega.ai/[email protected] # or install globally bun i -g @desplega.ai/[email protected]Docker:
# Server docker pull ghcr.io/desplega-ai/agent-swarm:2.9.0 # Worker docker pull ghcr.io/desplega-ai/agent-swarm-worker:2.9.0 # Dashboard docker pull ghcr.io/desplega-ai/agent-swarm-ui:2.9.0E2B templates:
# API agent-swarm-api-2-9-0 agent-swarm-api-latest # Worker / lead runtime agent-swarm-worker-2-9-0 agent-swarm-worker-latestagent-fs
Ships agent-fs 0.18.23 (bumped from 0.18.22).
agent-swarm pins agent-fs via the chart image tag and npm packages
@desplega.ai/agent-fsand@desplega.ai/agent-fs-just-bash; each agent-fs release needs achore(deps): bump agent-fs pinsPR here.
What's Changed
- docs(skills): systemDefault skill seed patches (2026-11-07) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2828
- docs(specs): sync TLA+ specs with main (heartbeat) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2832
- test(ui): unmount the Toaster before unregistering happy-dom by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2839
- docs: make the AI operations governance guide lead answer-first by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2830
- chore(docker): bump claude-code, opencode, amp, copilot, qwen (2026-11-07) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2831
- docs: correct team collaboration secrets claim by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2829
- test(savings): pin the script route test clock and tick after today's runs by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2822
- test(savings): pin the fleet read's day slices and id tie-break by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2814
- feat(hitl): mark the Slack approval card resolved in place by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2840
- fix: validate Slack tree stall threshold by @ZedingZhang in https://github.com/desplega-ai/agent-swarm/pull/2817
- fix(multi-runtime): fall back to the default stale threshold on invalid env values by @Oscar-Williams in https://github.com/desplega-ai/agent-swarm/pull/2821
- fix(heartbeat): fall back to the default resume-generation limit on invalid values by @RClaudiuM in https://github.com/desplega-ai/agent-swarm/pull/2837
- docs: inherit configured decision provider in workflow skill by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2841
- perf(db-query): reuse worker children instead of spawning per query by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2813
- perf(scrubber): selective, load-paced boot re-scrub sweep with forward-only mode by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2811
- feat(apps): add the SessionThread component and app-page steering source by @AsLogd in https://github.com/desplega-ai/agent-swarm/pull/2760
- chore(docker): bump amp (2026-11-07) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2842
- fix(heartbeat): fall back to the default stall threshold on invalid values by @RClaudiuM in https://github.com/desplega-ai/agent-swarm/pull/2838
- fix(tasks): fall back to the default eligibility scan cap on invalid values by @RClaudiuM in https://github.com/desplega-ai/agent-swarm/pull/2836
- fix: preserve keyed write retries after a slow first attempt by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2820
- feat(github): GitHub Enterprise Server support via GITHUB_URL by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2808
- feat(extensions): add sql-admin-only template gating db-query by task creator role by @desplega-
- v2.8.32026-11-07 · 2026-11-07 02:55 UTC
查看更新说明
Install & Run
npm:
npx @desplega.ai/[email protected] # or install globally npm i -g @desplega.ai/[email protected]bun:
bunx @desplega.ai/[email protected] # or install globally bun i -g @desplega.ai/[email protected]Docker:
# Server docker pull ghcr.io/desplega-ai/agent-swarm:2.8.3 # Worker docker pull ghcr.io/desplega-ai/agent-swarm-worker:2.8.3 # Dashboard docker pull ghcr.io/desplega-ai/agent-swarm-ui:2.8.3E2B templates:
# API agent-swarm-api-2-8-3 agent-swarm-api-latest # Worker / lead runtime agent-swarm-worker-2-8-3 agent-swarm-worker-latestagent-fs
Ships agent-fs 0.18.22.
agent-swarm pins agent-fs via the chart image tag and npm packages
@desplega.ai/agent-fsand@desplega.ai/agent-fs-just-bash; each agent-fs release needs achore(deps): bump agent-fs pinsPR here.
What's Changed
- feat(savings): daily rollup for workflow savings and a Saved (30d) list column by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2772
- docs(skills): systemDefault skill seed patches (2026-11-06) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2785
- docs(playbooks): lead small-company workflows with what Agent Swarm does by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2786
- docs(task-lifecycle): pin grace timer runs from resume creation by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2787
- chore(docker): bump codex, amp, grok, kiro, qwen, copilot (2026-11-06) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2788
- test: settle config cleanup and wait for async star toast by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2782
- fix(scrubber): redact a whole vendor secret when a structural rule matches inside it by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2783
- fix(opencode): catalog entry for openrouter gateway model ids by @mandreev-dev in https://github.com/desplega-ai/agent-swarm/pull/2784
- feat(slack): name every person in multi-person threads and treat outsiders as untrusted by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2767
- fix(slack): unforgeable author lines and userTeam on every requester lookup by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2771
- chore(deps): bump context-mode to 2.1.4 by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2789
- feat(savings): price scripts and show the saving on script pages by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2776
- feat(savings): show a schedule's saving in the rail, header and list by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2777
- feat(savings): fleet savings page at /usage/savings by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2779
- fix(dreaming): send triage docs once, label partial cost, carry skill routes forward by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2792
- fix(scrubber): anchor the gitleaks true|false|null allowlist as a whole by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2796
- feat(savings): workflow totals with components by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2780
- fix(docker): revert context-mode to 1.0.169 and fail the build on an engines mismatch by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2806
- feat(scripts): retry helper, method-aware fetch retries, bridge retries by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2790
- feat(tasks): link a task to a registered repo from the Create task dialog by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2804
- fix(savings): answer the fleet savings summary and job lists in a few statements by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2809
- fi
- v2.8.22026-11-06 · 2026-11-06 03:02 UTC
查看更新说明
Install & Run
npm:
npx @desplega.ai/[email protected] # or install globally npm i -g @desplega.ai/[email protected]bun:
bunx @desplega.ai/[email protected] # or install globally bun i -g @desplega.ai/[email protected]Docker:
# Server docker pull ghcr.io/desplega-ai/agent-swarm:2.8.2 # Worker docker pull ghcr.io/desplega-ai/agent-swarm-worker:2.8.2 # Dashboard docker pull ghcr.io/desplega-ai/agent-swarm-ui:2.8.2E2B templates:
# API agent-swarm-api-2-8-2 agent-swarm-api-latest # Worker / lead runtime agent-swarm-worker-2-8-2 agent-swarm-worker-latestagent-fs
Ships agent-fs 0.18.22 (bumped from 0.18.18).
agent-swarm pins agent-fs via the chart image tag and npm packages
@desplega.ai/agent-fsand@desplega.ai/agent-fs-just-bash; each agent-fs release needs achore(deps): bump agent-fs pinsPR here.
What's Changed
- perf(workflows): scope definition cleanup to deleted runs by @ZedingZhang in https://github.com/desplega-ai/agent-swarm/pull/2740
- fix(seed): let template updates land on workflows whose only change is a setting by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2757
- docs: fix step replay claim in worker recovery guide by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2758
- docs: lead the AI operating model guide with Agent Swarm's fit by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2759
- test(db-client): drop the wall-clock cap from the busy crowd test by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2752
- fix(trackers): require admin auth to start Linear/Jira OAuth by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2756
- feat(models): fall back to the next model profile on provider errors by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2736
- fix(feedback): reject endpoint URLs that include credentials by @itsgintoki in https://github.com/desplega-ai/agent-swarm/pull/2755
- docs: add a local TEI Compose option to the operator skill by @tarasyarema in https://github.com/desplega-ai/agent-swarm/pull/2751
- fix(chat): prevent splitChatMessage from looping on a surrogate pair at a tiny limit by @Goldloli in https://github.com/desplega-ai/agent-swarm/pull/2753
- fix(comb): treat 0.0.0.0 as unreachable in browser reachability checks by @itsgintoki in https://github.com/desplega-ai/agent-swarm/pull/2754
- docs: add AI operations governance guide for small companies by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2742
- fix: parse YAML block scalar skill descriptions by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2763
- feat(ui): app icons and agent avatars from a link or an agent-fs file by @AsLogd in https://github.com/desplega-ai/agent-swarm/pull/2729
- docs: add small tech team operating model guide by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2744
- chore(deps): bump agent-fs pins to 0.18.22 by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2761
- chore(docker): bump amp (2026-11-05) by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2762
- fix: preserve indented skill metadata and keep chomping by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2764
- feat(ui): agent-fs style markdown on every Streamdown surface by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2765
- fix(ui): markdown snippets share the github Monaco theme by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2766
- fix(ci): deploy when newer main commits skip the docker-and-deploy trigger by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2773
- feat(apps): Chart component, Metric sparkline and a sidebar app shell by @desplega-bot in https://github.com/desplega-ai/agent-swarm/pull/2769
- feat(workflows): saving in
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
[!TIP] This repo evolves every single day. Watch now →
agent-swarm.dev is an open-source operating system for AI work. A lead agent delegates goals to workers such as Claude Code or Codex. Isolated containers, shared memory, tools, schedules, and review gates preserve work across sessions.
What you get
- A lead agent that receives work from Slack, repositories, issue trackers, email, or the API
- Schema-validated task results for callers that need structured JSON output
- Deferred tasks that wake when all or any watched tasks reach an outcome, or a deadline arrives
- Inline tool-result images in task logs, with previews that open at full size
- Dashboard file attachments by paste, drag-and-drop, or file picker
- Workers in isolated Docker containers with development environments
- Memory and identity that persist across sessions, with citation ratings and self-rating hints enabled by default
- Workflows, schedules, scripts, and apps for recurring work
- Extensions for trusted TypeScript hooks, installed as agent-owned inert drafts and activated by a trusted lead, operator, or dashboard user
- Realtime rooms for shared page state, presence, and live channels
- Your choice of harness and models: Claude Code, Codex, pi, opencode, Cursor, Amp, Grok, fx, Devin, or ACP agents
flowchart LR
subgraph IN["Tasks come in"]
direction TB
S["Slack"]
G["GitHub / GitLab"]
E["Email"]
A["API / CLI"]
end
LEAD(["Lead Agent<br/>plans & delegates"])
subgraph WORKERS["Workers in Docker"]
direction TB
W1["Worker"]
W2["Worker"]
W3["Worker"]
end
subgraph BRAIN["Persistent brain"]
direction TB
MEM["Memory<br/>(vector search)"]
ID["Identity<br/>(SOUL, CLAUDE.md)"]
end
subgraph OUT["Work ships"]
direction TB
PR["Pull Requests"]
REPLY["Slack replies"]
EMAIL["Email replies"]
end
IN --> LEAD --> WORKERS
WORKERS -->|reads context| BRAIN
WORKERS -->|writes learnings| BRAIN
WORKERS --> OUT
Quick Start
Give your coding agent the operator skill for Docker Compose or Kubernetes:
npx skills add desplega-ai/agent-swarm
Or install it as a plugin in your harness:
| Harness | Command |
|---|---|
| Claude Code | /plugin marketplace add desplega-ai/agent-swarm then /plugin install agent-swarm@agent-swarm |
| Codex | codex plugin marketplace add desplega-ai/agent-swarm && codex plugin add agent-swarm@agent-swarm (or use npx skills above) |
| Cursor | /add-plugin desplega-ai/agent-swarm |
| Gemini CLI | gemini extensions install https://github.com/desplega-ai/agent-swarm |
| Antigravity / Factory Droid | droid plugin marketplace add https://github.com/desplega-ai/agent-swarm then droid plugin install agent-swarm@agent-swarm |
| OpenCode, pi, Devin, Kimi, others | npx skills add desplega-ai/agent-swarm |
The plugin's privacy and terms links describe the Agent Swarm website and Cloud service. The self-hosted software remains covered by the MIT License.
Or self-host. docker-compose.example.yml is the reference deployment: deploy every agent in it by default (1 lead and 11 workers on the official templates), and remove agents only when you have a reason to.
Plan for at least 4 vCPU, 8 GB RAM and 40 GB of free disk, and prune old Docker images after upgrades. See Host requirements & disk cleanup.
The one-shot installer checks Docker and Compose v2, installs Bun when missing, runs agent-swarm onboard --yes --preset full (every official template; it runs one coder where the example runs two), and prints the dashboard /setup link:
curl -fsSL https://agent-swarm.dev/install.sh | bash
The raw GitHub URL (https://raw.githubusercontent.com/desplega-ai/agent-swarm/main/install.sh) serves the same script. The API is public through a tunnel by default, protected by the API key. Add bash -s -- --no-tunnel to keep it local.
No server yet? Deploy the Railway template in one click:
Or deploy one on any VPS: paste deploy/cloud-init.yaml as the user data of a new 4 vCPU / 8 GB Ubuntu server (Hetzner, DigitalOcean, Lightsail, Vultr). It installs Docker and Caddy, serves the API over HTTPS on <ip>.sslip.io or your domain, and shows the /setup link to root at login. To look first, try it for an hour on E2B; that trial deletes its data when the sandboxes stop.
Or use the examples directly:
git clone https://github.com/desplega-ai/agent-swarm.git && cd agent-swarm
cp .env.docker.example .env # Set API_KEY and the credential for your HARNESS_PROVIDER.
openssl rand -base64 32 > encryption_key
chmod 600 .env encryption_key
docker compose -f docker-compose.example.yml --env-file .env up -d
Agent ID variables are optional. Each container generates a UUID on first boot and keeps it in its personal volume, so identity survives restarts. Pin *_AGENT_ID in .env only to keep an existing identity or to survive removing volumes.
Read the Compose checklist before starting. API: http://localhost:3013, with /docs and /openapi.json.
Next, open the dashboard and connect it to your API with API_KEY. A new install lands on /setup, a guided first run that covers providers, agents, memory, integrations, and a first task.
Kubernetes: install the OCI Helm chart.
Integrations
Slack · GitHub · GitLab · Azure DevOps · Linear · Jira · AgentMail · WhatsApp (Kapso) · Telegram, Teams and Discord (Chat SDK) · Composio · Sentry · Devin · Serply search. Integration guides.
AgentMail archives verified inbound deliveries before acknowledging them and retains the archive for 30 days, including mail excluded from task routing. See the contact inbox triage runbook for retention, coverage limits, and rollout instructions.
Learn more
- Getting started · Architecture · Playbooks · CLI · API reference
- Orchestration patterns — Five patterns for delegating, fanning out, gating on humans, retrying, and persisting multi-step agent work
- Agent templates
- Public ranking: opt in with Get ranked (Settings → Configuration → Branding) to rank your install by tokens used on agent-swarm.dev/ranking. It shows at the next hourly refresh. Token totals are public and exact; telemetry, the organization name and website must be set.
- Help: [email protected] · Discord
Contributing
Read CONTRIBUTING.md, fork the repository, create a branch, and open a PR. Discuss ideas on Discord.
Are you an agent? Run
npx skills add desplega-ai/agent-swarmor read the operator skill.
Star History
License
MIT · 2025-2026 desplega.sh
Feature defaults
Fresh deployments enable Slack thread renderer v2, queued Slack steering to the lead,
task steering, multi-runtime workers, RBAC, and task-tool preloading. Hybrid memory
search and graph expansion are also enabled. Explicit environment/config overrides
remain supported; see the environment reference.
When upgrading older workers, keep MULTI_RUNTIME_ENABLED=false until they support
runtime identities. Slack delegation rendering remains opt-in, and database retention
continues to default to dry-run.