@desplega.ai/agent-swarm 1.141.0 → 1.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +30 -231
  2. package/dist/{acp-adapter-nymf4qqx.js → acp-adapter-qhzzpz4b.js} +304 -21
  3. package/dist/{actions-g062r5pe.js → actions-6s03jvk8.js} +7 -7
  4. package/dist/{app-y2gfznm7.js → app-zej2afh5.js} +4 -4
  5. package/dist/{assistant-7b1vz5qy.js → assistant-42xa0m4e.js} +15 -13
  6. package/dist/{boot-reembed-zwt66k10.js → boot-reembed-vx4fkhgd.js} +5 -5
  7. package/dist/{boot-reembed-c7ezxtjj.js → boot-reembed-we49a2kr.js} +6 -6
  8. package/dist/{boot-scrub-logs-q2hq46vf.js → boot-scrub-logs-zefgmq2b.js} +3 -3
  9. package/dist/{claude-adapter-jw7k5x7m.js → claude-adapter-nm0essg1.js} +9 -8
  10. package/dist/{cli-xnsxc136.js → cli-2z3qhdg0.js} +1 -1
  11. package/dist/{cli-gchvp5qh.js → cli-4kj5adw0.js} +2 -2
  12. package/dist/{cli-0ejv5tq1.js → cli-63erbyda.js} +2 -2
  13. package/dist/{cli-ks1x39f4.js → cli-6garengg.js} +5 -5
  14. package/dist/{cli-68n7t6am.js → cli-7pnwg2vx.js} +271 -105
  15. package/dist/{cli-wqs1rz1c.js → cli-8e1r79yq.js} +3 -3
  16. package/dist/{cli-e6wan0s7.js → cli-9bnajfes.js} +1 -1
  17. package/dist/{cli-xeckvc7v.js → cli-9zjf3ahs.js} +318 -316
  18. package/dist/{cli-dr5tcz68.js → cli-b4g3p5y2.js} +1 -1
  19. package/dist/{cli-hgwjr0wx.js → cli-bdyxycq6.js} +34 -124
  20. package/dist/{cli-sebnvgzq.js → cli-cppy3dz4.js} +3 -3
  21. package/dist/{cli-spx3gtdd.js → cli-dcn5dc6j.js} +2 -2
  22. package/dist/cli-dgnj0zcc.js +40 -0
  23. package/dist/{cli-2dycsvxt.js → cli-ewvk4ceg.js} +7 -4
  24. package/dist/{cli-z0f80e8e.js → cli-hgkw1x1k.js} +1 -1
  25. package/dist/{cli-fzwndvcp.js → cli-jdtvfcyw.js} +2 -2
  26. package/dist/{cli-fewd407e.js → cli-jmkqrhpm.js} +1 -1
  27. package/dist/{cli-b4e7hnqh.js → cli-m4dadbv4.js} +1 -1
  28. package/dist/{cli-gwaxg2pw.js → cli-mjf432kq.js} +4 -3
  29. package/dist/{cli-sa6p8nqc.js → cli-mvsztzgn.js} +352 -16
  30. package/dist/{cli-169dk2km.js → cli-qe636hdh.js} +2 -2
  31. package/dist/{cli-1smbv79b.js → cli-qjwdtyxn.js} +15 -8
  32. package/dist/{cli-d2epf5ae.js → cli-r3bxcgrj.js} +1 -1
  33. package/dist/{cli-bbj8e2ws.js → cli-s9y6zv37.js} +2 -2
  34. package/dist/cli-sshnjch3.js +888 -0
  35. package/dist/{cli-tzzvqbww.js → cli-tpa83vxb.js} +1 -1
  36. package/dist/{cli-tbkvywy2.js → cli-vn8s7wtf.js} +1 -1
  37. package/dist/{cli-9kz7k41f.js → cli-vr2nfxtt.js} +946 -609
  38. package/dist/{cli-bmjg0n8y.js → cli-wrfhh2qz.js} +1 -1
  39. package/dist/{cli-ae7g0pp7.js → cli-wtyyc7ev.js} +242 -12
  40. package/dist/{cli-ktajvfc1.js → cli-wvdvxjep.js} +2 -810
  41. package/dist/cli-y89t4nca.js +67 -0
  42. package/dist/{cli-wqkg9vgk.js → cli-z6nsjrh1.js} +3 -3
  43. package/dist/{cli-0z1cjytc.js → cli-zxrec1gh.js} +237 -75
  44. package/dist/cli.js +33 -17
  45. package/dist/{codex-adapter-em9hjrrg.js → codex-adapter-zvh2pgah.js} +6 -4
  46. package/dist/{codex-hook-7eb9d1d5.js → codex-hook-79p3xs7j.js} +2 -0
  47. package/dist/{codex-session-runner-mtav6xyd.js → codex-session-runner-bs8tsjx5.js} +54 -26
  48. package/dist/{commands-1tw7002f.js → commands-c73m6m2j.js} +3 -3
  49. package/dist/{db-xvs6h6sy.js → db-n2bgwkr3.js} +11 -3
  50. package/dist/{google-generative-ai-gzb1jgd4.js → google-generative-ai-nnw57f3t.js} +2 -2
  51. package/dist/{google-vertex-k21hxh4n.js → google-vertex-rxwnws1y.js} +2 -2
  52. package/dist/{handlers-x3tfy39f.js → handlers-s768yzzt.js} +19 -20
  53. package/dist/{hook-1d9m6edx.js → hook-m950r3r8.js} +5 -5
  54. package/dist/{hook-7ga5tttv.js → hook-xn3pevet.js} +6 -6
  55. package/dist/{http-vmmy7mdd.js → http-5rqpbf9g.js} +1309 -343
  56. package/dist/{index-khs88v9c.js → index-ag4bxqkp.js} +15 -14
  57. package/dist/{index-gcebknc7.js → index-d9f3yqc5.js} +18 -14
  58. package/dist/{index-zktsxh13.js → index-qgvkk4mz.js} +1746 -14
  59. package/dist/{index-v0m6fre7.js → index-vb4b1nts.js} +15 -13
  60. package/dist/{keepalive-n30kyw2p.js → keepalive-sc7pvszh.js} +5 -5
  61. package/dist/{lead-zha0ntzq.js → lead-5zcqts8e.js} +30 -28
  62. package/dist/{maintenance-y0a823n0.js → maintenance-45j327y6.js} +6 -6
  63. package/dist/{oauth-refresh-sweep-tp81bvd0.js → oauth-refresh-sweep-xrydav2q.js} +4 -4
  64. package/dist/{onboard-kqzbksgg.js → onboard-972xcrsh.js} +103 -11
  65. package/dist/{otel-impl-bgseftwt.js → otel-impl-q0mt4sy8.js} +14 -4
  66. package/dist/{pi-mono-adapter-ncpmv3qw.js → pi-mono-adapter-9tb0c3jh.js} +2 -2
  67. package/dist/{pricing-refresh-1tv644rp.js → pricing-refresh-s7n1nec8.js} +5 -5
  68. package/dist/{rbac-roles-pyh65xw7.js → rbac-roles-hpph0s5w.js} +4 -4
  69. package/dist/{rbac-roles-nbqjqb3h.js → rbac-roles-vxy05wcn.js} +3 -3
  70. package/dist/{render-v2-bz6wnfqp.js → render-v2-8vk0y1js.js} +4 -4
  71. package/dist/{seed-pricing-4kamyke2.js → seed-pricing-an8qdaxz.js} +4 -4
  72. package/dist/{setup-ks1rgmvn.js → setup-frgenxn8.js} +2 -2
  73. package/dist/{worker-tgq76zn6.js → worker-0w9fdwds.js} +30 -28
  74. package/openapi.json +882 -2
  75. package/package.json +7 -4
  76. package/src/be/automation-preflight.test.ts +319 -0
  77. package/src/be/automation-preflight.ts +418 -0
  78. package/src/be/db.ts +161 -4
  79. package/src/be/migrations/141_scheduled_task_automation_preflight.sql +135 -0
  80. package/src/be/migrations/142_workflow_automation_preflight.sql +62 -0
  81. package/src/be/migrations/144_slack_relay_obligations.sql +44 -0
  82. package/src/be/models-catalog.ts +4 -3
  83. package/src/be/seed/registry.ts +9 -1
  84. package/src/be/seed/schedules-seeder.ts +247 -0
  85. package/src/be/seed/workflows-seeder.ts +237 -0
  86. package/src/be/swarm-config-guard.ts +43 -0
  87. package/src/cli.tsx +14 -1
  88. package/src/commands/codex-session-runner.ts +65 -45
  89. package/src/commands/identity-refresh.ts +101 -0
  90. package/src/commands/onboard/compose-generator.ts +7 -3
  91. package/src/commands/onboard/non-interactive.ts +24 -0
  92. package/src/commands/onboard/presets.ts +54 -0
  93. package/src/commands/onboard/types.ts +3 -0
  94. package/src/commands/onboard.tsx +29 -7
  95. package/src/commands/provider-credentials.ts +29 -1
  96. package/src/commands/runner.ts +215 -59
  97. package/src/hooks/codex-hook.ts +4 -6
  98. package/src/http/agents.ts +102 -4
  99. package/src/http/pages-public.ts +12 -3
  100. package/src/http/schedules.ts +10 -0
  101. package/src/http/script-runs.ts +6 -6
  102. package/src/http/status.ts +109 -51
  103. package/src/http/workflows.ts +18 -0
  104. package/src/otel-impl.ts +14 -0
  105. package/src/otel.ts +8 -0
  106. package/src/providers/acp-adapter.ts +252 -18
  107. package/src/providers/acp-swarm-events.ts +16 -2
  108. package/src/providers/acp-target-catalog.ts +60 -0
  109. package/src/providers/acp-targets.ts +101 -7
  110. package/src/providers/claude-adapter.ts +44 -35
  111. package/src/providers/codex-adapter.ts +859 -277
  112. package/src/providers/codex-app-server.ts +419 -0
  113. package/src/providers/pricing-sources.md +3 -0
  114. package/src/providers/types.ts +6 -1
  115. package/src/scheduler/scheduler.ts +88 -2
  116. package/src/script-workflows/capability-bridge.ts +245 -0
  117. package/src/script-workflows/executor.ts +383 -54
  118. package/src/script-workflows/guest-ctx.ts +49 -0
  119. package/src/script-workflows/harness.ts +75 -93
  120. package/src/script-workflows/supervisor.ts +2 -2
  121. package/src/script-workflows/swarm-capabilities.ts +13 -0
  122. package/src/script-workflows/workflow-ctx.ts +41 -12
  123. package/src/scripts-runtime/executors/native.ts +34 -26
  124. package/src/slack/ack.ts +106 -19
  125. package/src/slack/assistant.ts +18 -10
  126. package/src/slack/handlers.test.ts +172 -5
  127. package/src/slack/handlers.ts +11 -20
  128. package/src/slack/reaction-shortcode.ts +45 -0
  129. package/src/slack/responses.ts +26 -6
  130. package/src/slack/watcher.ts +125 -92
  131. package/src/tests/acp-adapter.test.ts +367 -6
  132. package/src/tests/acp-dashboard-runtime.test.ts +6 -0
  133. package/src/tests/acp-swarm-events.test.ts +4 -1
  134. package/src/tests/agents-harness-provider.test.ts +71 -0
  135. package/src/tests/agents-list-model-display.test.ts +14 -0
  136. package/src/tests/codex-adapter-otel.test.ts +31 -36
  137. package/src/tests/codex-adapter.test.ts +624 -197
  138. package/src/tests/codex-app-server.test.ts +208 -0
  139. package/src/tests/codex-steering-hook.test.ts +16 -0
  140. package/src/tests/codex-subprocess-steering.test.ts +109 -0
  141. package/src/tests/credential-status-api.test.ts +51 -0
  142. package/src/tests/db-query.test.ts +39 -23
  143. package/src/tests/env-flag.test.ts +75 -0
  144. package/src/tests/fixtures/codex-deferred-queue-runner.ts +37 -0
  145. package/src/tests/fixtures/codex-session-runner.ts +40 -0
  146. package/src/tests/fixtures/fake-codex-app-server.ts +100 -0
  147. package/src/tests/fixtures/runner-identity-refresh.ts +178 -0
  148. package/src/tests/identity-refresh.test.ts +145 -0
  149. package/src/tests/models-catalog.test.ts +2 -1
  150. package/src/tests/onboard-compose.test.ts +48 -0
  151. package/src/tests/onboard-non-interactive.test.ts +87 -1
  152. package/src/tests/profile-default-refresh.test.ts +125 -0
  153. package/src/tests/provider-process-group.test.ts +105 -0
  154. package/src/tests/runner-identity-refresh.test.ts +105 -0
  155. package/src/tests/sandboxed-process.test.ts +73 -0
  156. package/src/tests/schedule-target-type.test.ts +355 -1
  157. package/src/tests/script-connections.test.ts +4 -0
  158. package/src/tests/script-executor-conformance.test.ts +20 -9
  159. package/src/tests/script-workflow-capability-bridge.test.ts +201 -0
  160. package/src/tests/script-workflows-runtime-e2e.test.ts +363 -3
  161. package/src/tests/seed-registry.test.ts +54 -0
  162. package/src/tests/seed-schedules.test.ts +121 -0
  163. package/src/tests/seed-workflows.test.ts +134 -0
  164. package/src/tests/slack-reaction-config.test.ts +399 -0
  165. package/src/tests/slack-relay-obligations.test.ts +175 -0
  166. package/src/tests/slack-thread-buffer.test.ts +7 -3
  167. package/src/tests/slack-watcher.test.ts +172 -2
  168. package/src/tests/status.test.ts +85 -1
  169. package/src/tests/steering-core.test.ts +5 -8
  170. package/src/tests/steering-transport.test.ts +98 -7
  171. package/src/tests/ui-e2e-ingest-payload.test.ts +257 -0
  172. package/src/tests/ui-e2e-publish-plan.test.ts +250 -0
  173. package/src/tests/ui-logs-parser.test.ts +402 -0
  174. package/src/tests/vendored-openapi.test.ts +3 -4
  175. package/src/tests/workflow-ctx.test.ts +12 -30
  176. package/src/tests/workflow-engine-v2.test.ts +92 -0
  177. package/src/tests/workflow-executors.test.ts +5 -8
  178. package/src/tests/workflow-http-v2.test.ts +72 -3
  179. package/src/tests/workflow-template-prompt-injection.test.ts +111 -0
  180. package/src/tests/workflow-triggers-v2.test.ts +31 -0
  181. package/src/tools/workflows/create-workflow.ts +1 -1
  182. package/src/types.ts +78 -11
  183. package/src/utils/process-group.ts +92 -0
  184. package/src/utils/sandboxed-process.ts +51 -6
  185. package/src/workflows/engine.ts +39 -1
  186. package/src/workflows/executors/script.ts +23 -14
  187. package/src/workflows/index.ts +19 -1
  188. package/src/workflows/triggers.ts +25 -0
  189. package/src/workflows/version.ts +3 -0
  190. package/templates/schedules/daily-blocker-digest/config.json +2 -1
  191. package/templates/schedules/daily-blocker-digest/content.md +3 -1
  192. package/templates/schedules/daily-compounding-reflection/config.json +3 -5
  193. package/templates/schedules/daily-compounding-reflection/content.md +4 -1
  194. package/templates/schedules/daily-hn-briefing/config.json +2 -1
  195. package/templates/schedules/daily-hn-briefing/content.md +6 -4
  196. package/templates/schedules/daily-status-report/config.json +14 -0
  197. package/templates/schedules/daily-status-report/content.md +80 -0
  198. package/templates/schedules/daily-workflow-health-audit/config.json +2 -1
  199. package/templates/schedules/daily-workflow-health-audit/content.md +3 -1
  200. package/templates/schedules/gtm-weekly-review/config.json +2 -1
  201. package/templates/schedules/gtm-weekly-review/content.md +32 -12
  202. package/templates/schedules/weekly-code-health-reports/config.json +2 -1
  203. package/templates/schedules/weekly-code-health-reports/content.md +12 -10
  204. package/templates/schedules/weekly-dependabot-triage/config.json +2 -1
  205. package/templates/schedules/weekly-dependabot-triage/content.md +5 -3
  206. package/templates/schedules/weekly-dora-metrics/config.json +2 -1
  207. package/templates/schedules/weekly-dora-metrics/content.md +12 -10
  208. package/templates/schedules/weekly-harness-upgrade-check/config.json +14 -0
  209. package/templates/schedules/weekly-harness-upgrade-check/content.md +81 -0
  210. package/templates/skills/artifacts/content.md +1 -1
  211. package/templates/workflows/alerts-triage/config.json +14 -0
  212. package/templates/workflows/alerts-triage/content.md +17 -0
  213. package/templates/workflows/autopilot/config.json +1 -0
  214. package/templates/workflows/autopilot/content.md +3 -52
  215. package/templates/workflows/claude-code-changelog-watch/config.json +14 -0
  216. package/templates/workflows/claude-code-changelog-watch/content.md +11 -0
  217. package/templates/workflows/competitor-radar/config.json +14 -0
  218. package/templates/workflows/competitor-radar/content.md +7 -0
  219. package/templates/workflows/docs-site-releases/config.json +14 -0
  220. package/templates/workflows/docs-site-releases/content.md +12 -0
  221. package/templates/workflows/gsc-topic-miner/config.json +14 -0
  222. package/templates/workflows/gsc-topic-miner/content.md +7 -0
  223. package/templates/workflows/linear-drain-loop/config.json +2 -4
  224. package/templates/workflows/linear-drain-loop/content.md +5 -35
  225. package/templates/workflows/llm-safe-release-context/config.json +1 -0
  226. package/templates/workflows/llm-safe-release-context/content.md +4 -2
  227. package/templates/workflows/pr-review-status-sweep/config.json +14 -0
  228. package/templates/workflows/pr-review-status-sweep/content.md +10 -0
  229. package/templates/workflows/ralph-loop/config.json +1 -0
  230. package/templates/workflows/ralph-loop/content.md +3 -33
  231. package/tsconfig.json +1 -0
  232. package/dist/{cli-s9gpxh9q.js → cli-w2jy8x2r.js} +3 -3
package/README.md CHANGED
@@ -1,60 +1,21 @@
1
- <p align="center">
2
- <a href="https://github.com/desplega-ai/agent-swarm/stargazers"><img src="https://img.shields.io/github/stars/desplega-ai/agent-swarm?style=flat-square&color=yellow" alt="GitHub Stars"></a>
3
- <a href="https://github.com/desplega-ai/agent-swarm/blob/main/LICENSE"><img src="https://img.shields.io/github/license/desplega-ai/agent-swarm?style=flat-square" alt="MIT License"></a>
4
- <a href="https://github.com/desplega-ai/agent-swarm/pulls"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square" alt="PRs Welcome"></a>
5
- </p>
6
-
7
- <p align="center">
8
- <b>An engine to make your company AI Native</b><br/>
9
- <sub>Built by <a href="https://desplega.sh">desplega.sh</a> — by builders, for builders.</sub>
10
- </p>
1
+ <p align="center"><a href="https://github.com/desplega-ai/agent-swarm/stargazers"><img src="https://img.shields.io/github/stars/desplega-ai/agent-swarm?style=flat-square&color=yellow" alt="GitHub Stars"></a> <a href="https://github.com/desplega-ai/agent-swarm/blob/main/LICENSE"><img src="https://img.shields.io/github/license/desplega-ai/agent-swarm?style=flat-square" alt="MIT License"></a> <a href="https://github.com/desplega-ai/agent-swarm/pulls"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen?style=flat-square" alt="PRs Welcome"></a></p>
2
+ <p align="center"><b>An engine to make your company AI Native</b><br/><sub>Built by <a href="https://desplega.sh">desplega.sh</a>.</sub></p>
11
3
 
12
4
  > [!TIP]
13
5
  > **This repo evolves every single day.** [Watch now →](https://github.com/desplega-ai/agent-swarm/subscription)
6
+ <p align="center"><video src="https://github.com/user-attachments/assets/e220712e-c54d-4f46-b059-bac04639d229" controls muted playsinline width="720"></video></p>
7
+ <p align="center"><sub>▸ <a href="./assets/agent-swarm.mp4">daily evolution</a> · <a href="./assets/agent-swarm-slack-to-pr.mp4">slack → pr</a> · <a href="./assets/video-source">Making of</a></sub></p>
8
+ <p align="center"><a href="https://agent-swarm.dev"><img src="https://img.shields.io/badge/Website-agent--swarm.dev-000?style=for-the-badge" alt="Website"></a> <a href="https://docs.agent-swarm.dev"><img src="https://img.shields.io/badge/Docs-docs.agent--swarm.dev-amber?style=for-the-badge" alt="Docs"></a> <a href="https://app.agent-swarm.dev"><img src="https://img.shields.io/badge/Dashboard-app.agent--swarm.dev-blue?style=for-the-badge" alt="Dashboard"></a> <a href="https://discord.gg/KZgfyyDVZa"><img src="https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join Discord"></a> <a href="https://x.com/desplegalabs"><img src="https://img.shields.io/badge/𝕏-@desplegalabs-000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X"></a> <a href="https://www.linkedin.com/company/desplega-labs/"><img src="https://img.shields.io/badge/LinkedIn-Desplega%20Labs-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white" alt="Desplega Labs on LinkedIn"></a></p>
14
9
 
15
- <p align="center">
16
- <video src="https://github.com/user-attachments/assets/e220712e-c54d-4f46-b059-bac04639d229" controls muted playsinline width="720"></video>
17
- </p>
18
- <p align="center">
19
- <sub>▸ <a href="./assets/agent-swarm.mp4">daily evolution</a> · <a href="./assets/agent-swarm-slack-to-pr.mp4">slack → pr</a> · <a href="./assets/video-source">Making of</a></sub>
20
- </p>
21
-
22
- <p align="center">
23
- <a href="https://agent-swarm.dev">
24
- <img src="https://img.shields.io/badge/Website-agent--swarm.dev-000?style=for-the-badge" alt="Website">
25
- </a>
26
- <a href="https://docs.agent-swarm.dev">
27
- <img src="https://img.shields.io/badge/Docs-docs.agent--swarm.dev-amber?style=for-the-badge" alt="Docs">
28
- </a>
29
- <a href="https://app.agent-swarm.dev">
30
- <img src="https://img.shields.io/badge/Dashboard-app.agent--swarm.dev-blue?style=for-the-badge" alt="Dashboard">
31
- </a>
32
- <a href="https://discord.gg/KZgfyyDVZa">
33
- <img src="https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join Discord">
34
- </a>
35
- <a href="https://x.com/desplegalabs">
36
- <img src="https://img.shields.io/badge/𝕏-@desplegalabs-000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X">
37
- </a>
38
- <a href="https://www.linkedin.com/company/desplega-labs/">
39
- <img src="https://img.shields.io/badge/LinkedIn-Desplega%20Labs-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white" alt="Desplega Labs on LinkedIn">
40
- </a>
41
- </p>
42
-
43
- > **agent-swarm.dev is an open-source operating system for AI work: a lead agent breaks goals into tasks, routes them to specialized workers such as Claude Code or Codex, runs each worker in an isolated container, and preserves shared memory, tools, schedules, and review gates so delegated work compounds across sessions.**
44
-
45
- > AI-Native · Compounds · Presence · Harness & LLM-Agnostic · Your Infra · Your Memory ·
46
-
47
- ## What it does
48
-
49
- agent-swarm.dev runs a team of AI agents that coordinate autonomously. A **lead agent** receives tasks (from Slack, GitHub, GitLab, Linear, Jira, email, or the API), breaks them down, and delegates to **worker agents** running in isolated environments (Docker). Workers execute tasks, ship solutions, and write their learnings back to a shared memory so the whole swarm gets smarter every session.
10
+ 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.
50
11
 
51
- You can run agents for Marketing, Product, UX, Engineering, Support, Operations, HR, Finance, or any role you can think of. A centralized Lead coordinates them, and they share the learnings horizontally. That's the true difference between [*AI First*](https://www.pleasedontdeploy.com/i/197193364/ai-first) and [*AI Native*](https://www.pleasedontdeploy.com/i/197193364/third-the-ai-native-metamorphosis).
12
+ ## What you get
52
13
 
53
- agent-swarm.dev is the shared cloud brain and muscle that makes your whole company better every day.
54
-
55
- Sometimes humans are the blocker. We can help you. Contact us [contact@desplega.sh](mailto:contact@desplega.sh).
56
-
57
- Learn more in the [architecture overview](https://docs.agent-swarm.dev/docs/architecture/overview).
14
+ - A lead agent that receives work from Slack, repositories, issue trackers, email, or the API
15
+ - Workers in isolated Docker containers with development environments
16
+ - Memory and identity that persist across sessions
17
+ - Workflows, schedules, scripts, and apps for recurring work
18
+ - Your choice of harness and models: Claude Code, Codex, pi, opencode, Devin, or ACP agents
58
19
 
59
20
  ```mermaid
60
21
  flowchart LR
@@ -94,208 +55,46 @@ flowchart LR
94
55
  WORKERS --> OUT
95
56
  ```
96
57
 
97
- ## Known Use Cases
98
-
99
- Use cases that are used daily by ourselves and others.
100
- Each playbook contains: the agents, the tools & skills, and workflows & schedules behind it. **[Browse all playbooks →](https://docs.agent-swarm.dev/docs/playbooks)**
101
-
102
- - **[Feature Development](https://docs.agent-swarm.dev/docs/playbooks/feature-development)** — Integrated with Linear and GitHub to take feature requests from Slack and turn them into pull requests.
103
- - **[Lead Prospecting](https://docs.agent-swarm.dev/docs/playbooks/lead-prospecting)** — Integrate your prospecting tools with the swarm and let agents handle outreach, scheduling, and follow-up.
104
- - **[Content Generation](https://docs.agent-swarm.dev/docs/playbooks/content-generation)** — Generate engagement tools, blog posts, manage social media presence, update your website, and more.
105
- - **[UX Command Center](https://docs.agent-swarm.dev/docs/playbooks/ux-command-center)** — Agents that keep your product usable: record agentic sessions, enforce your design system, and mine user logs to detect and propose UX improvements.
106
- - **[Proactive Customer Support](https://docs.agent-swarm.dev/docs/playbooks/proactive-customer-support)** — Agents that oversee your top accounts, prepare scheduled reports, and leverage everything they know about your platform to keep those accounts up to date.
107
- - **[Code Health & Alert Management](https://docs.agent-swarm.dev/docs/playbooks/code-health-alert-management)** — Datadog, New Relic, Sentry, or any alerting tool can kick off fixes or new proposals. Monitor code health and propose improvements weekly, daily, or hourly.
108
- - **[Reports from Multiple Sources](https://docs.agent-swarm.dev/docs/playbooks/reports-multiple-sources)** — Integrate your data warehouse to generate tailored reports and answer the key questions your team has, with fresh data. Your BI tool may be a thing of the past.
109
- - **[Self-Documenting & Release Reports](https://docs.agent-swarm.dev/docs/playbooks/self-documenting-release-reports)** — Update your docs and use frameworks like [Remotion](https://www.remotion.dev/), [qa-use](https://github.com/qa-use/qa-use), and [browser-use](https://github.com/browser-use/browser-use) to generate release videos and rich documentation in seconds, at the cadence you need.
110
- - Do you have a cool playbook to share? Send us a PR!
111
-
112
- > **The patterns that compound.** Five recipes show up in nearly every playbook — they're how the swarm stays reliable as it scales:
113
- > **[Litmus Tests](https://docs.agent-swarm.dev/docs/playbooks/patterns/litmus-tests)** (LLM-as-judge quality gates) ·
114
- > **[Drain Loops](https://docs.agent-swarm.dev/docs/playbooks/patterns/drain-loops)** (one ticket → a chain of reviewable PRs) ·
115
- > **[HITL Gates](https://docs.agent-swarm.dev/docs/playbooks/patterns/hitl-gates)** (pause for human approval on irreversible steps) ·
116
- > **[Per-Customer Working Directories](https://docs.agent-swarm.dev/docs/playbooks/patterns/per-customer-working-directories)** (context that compounds per account) ·
117
- > **[No-op Workflows](https://docs.agent-swarm.dev/docs/playbooks/patterns/no-op-workflows)** (skip silently when nothing changed).
118
- > **[See all patterns →](https://docs.agent-swarm.dev/docs/playbooks/patterns)**
119
-
120
- Check [our templates](https://templates.agent-swarm.dev) for a quick start.
121
-
122
- ## Highlights
123
-
124
- - **Lead/worker orchestration in Docker** — isolated dev environments, priority queues, pause/resume across deploys, and API-side alerts when claimable work stops being picked up. [Architecture →](https://docs.agent-swarm.dev/docs/architecture/overview)
125
- - **Compounding memory & persistent identity** — agents explicitly capture reusable learnings with `memory-store`, remember past sessions, and evolve their own persona, expertise, and notes, with ratcheting file budgets and visible recovery when local edits exceed prompt limits. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [Agents →](https://docs.agent-swarm.dev/docs/architecture/agents)
126
- - **Hybrid + graph-linked memory recall** — memory retrieval can blend vector and full-text ranking, expand through linked memories, surface usefulness readouts, and let agents correct an existing memory without losing its ID or history. [Memory →](https://docs.agent-swarm.dev/docs/architecture/memory) · [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools#memory-tools)
127
- - **Multi-channel inputs** — Slack, GitHub, GitLab, email, WhatsApp, Linear, Jira, and the HTTP API all create tasks. [Integrations](#integrations)
128
- - **Slack operations and persistent thread trees** — lead agents can create, populate, and archive channels, while conversations can opt in to one editable task tree with streamed outcome cards and explicit Block Kit messages. [Slack guide →](https://docs.agent-swarm.dev/docs/integrations/slack)
129
- - **Workflow engine with Human-in-the-Loop** — DAG-based automation with approval gates, retries, structured I/O, and `foreach` fan-out that rejoins child agent tasks deterministically. [Workflows →](https://docs.agent-swarm.dev/docs/concepts/workflows)
130
- - **Scheduled & recurring tasks** — cron-based automation for standing work, with schedules that can target agent tasks, workflows, or catalog scripts. [Scheduling →](https://docs.agent-swarm.dev/docs/concepts/scheduling)
131
- - **Mid-run task steering** — add context at the next turn boundary, request an immediate interrupt where the harness supports it, or degrade safely to a follow-up task. [Task steering →](https://docs.agent-swarm.dev/docs/guides/task-steering)
132
- - **Operator configuration UI** — tune non-secret feature flags, limits, integration toggles, and runtime defaults from Settings → Configuration, with source and restart-required indicators. [Configuration →](https://docs.agent-swarm.dev/docs/ui/configuration)
133
- - **Asset namespaces** — group tasks, workflows, schedules, pages, apps, scripts, and mapped files under canonical shared or personal keys, with inheritance, subtree filtering, audited moves, and cross-entity discovery. [Asset namespaces →](https://docs.agent-swarm.dev/docs/guides/asset-namespaces)
134
- - **Persistent shared files via agent-fs** — co-deploy agent-fs for shared task attachments, previews, and search; `store-progress` verifies attachment pointers before changing task state, late provisioning or config reloads activate the provider without an API restart, and tenant-authenticated control planes can invite shared-org members without receiving the bootstrap key. [Co-deployment guide →](https://docs.agent-swarm.dev/docs/guides/agent-fs-co-deployment)
135
- - **Durable script workflows** — launch background script runs, inspect their journals, and track them from the dashboard when a one-shot `script-run` is too small. [Guide →](https://docs.agent-swarm.dev/docs/guides/script-workflow-runs)
136
- - **Scripts-only MCP mode (code-mode)** — reduce the external MCP surface to eight script tools while retaining the full swarm SDK through `script-run`, cutting tool-schema context for capable coordinator models. [Guide →](https://docs.agent-swarm.dev/docs/guides/scripts-only-mode)
137
- - **Scripts as external APIs** — expose a saved script as a public `POST /api/x/script/<id>` endpoint with optional bearer auth, typed input validation, and per-endpoint usage tracking. [Guide →](https://docs.agent-swarm.dev/docs/guides/scripts-external-apis)
138
- - **Typed script API connections** — lead-managed OpenAPI, GraphQL, and MCP connections generate `ctx.api.*` / `ctx.mcp.*` clients for scripts, with credential bindings and OAuth-backed auth kept server-side. [Guide →](https://docs.agent-swarm.dev/docs/guides/script-connections)
139
- - **Swarm Apps** — agents build versioned, schema-backed dashboard apps with reusable UI elements, named queries and actions, per-user settings, RBAC, history, and safe rollback. Models can also sync source-backed rows through owner-scoped script connections. [Apps API →](https://docs.agent-swarm.dev/docs/api-reference/apps)
140
- - **E2B-backed eval harness** — run a scenario × harness-config matrix against real swarm stacks, capture transcripts/artifacts, and grade outcomes with deterministic checks plus LLM or agentic judges. [Guide →](https://docs.agent-swarm.dev/docs/guides/evals-harness)
141
- - **Harness & LLM agnostic** — run with Claude Code, Claude Bridge, OpenAI Codex, pi-mono (Anthropic, OpenRouter, or Amazon Bedrock), Devin, Claude Managed Agents, raw LLMs, opencode, or any [Agent Client Protocol](https://agentclientprotocol.com) agent via the generic `acp` provider. The dashboard model picker follows a live models.dev catalog (with a bundled snapshot fallback), and the direct Claude catalog includes Fable 5.1 and Mythos 5.1. Route every OpenRouter-backed harness, workflow, and summarizer through an OpenAI-compatible gateway with `OPENROUTER_BASE_URL`. Tasks, schedules, and workflow agent-task nodes can use portable `modelTier` intent (`smol`, `regular`, `smart`, `ultra`), and operators can set per-agent reasoning effort (`off` → `max`, where supported) without changing task payloads. [Compare providers →](https://docs.agent-swarm.dev/docs/guides/provider-capability-matrix) · [Harness config →](https://docs.agent-swarm.dev/docs/guides/harness-configuration) · [Add a new provider →](https://docs.agent-swarm.dev/docs/guides/harness-providers)
142
- - **Published release artifacts** — every release publishes multi-architecture API, full-worker, and slim-worker images alongside versioned E2B templates, the npm CLI package, and the Helm chart. [Artifact inventory →](https://docs.agent-swarm.dev/docs/guides/published-artifacts)
143
- - **OpenTelemetry traces plus OTLP cost/token metrics** — export API + worker traces and finalized session cost/token counters through the same OTLP pipeline for dashboarding in SigNoz, Datadog, Tempo, or another compatible backend. [Observability →](https://docs.agent-swarm.dev/docs/guides/observability-opentelemetry)
144
- - **Follow-up continuity across all harnesses** — child tasks inherit a bounded prior-task context preamble built from the task chain, so continuity survives restarts and works the same across every provider. [Task lifecycle →](https://docs.agent-swarm.dev/docs/concepts/task-lifecycle)
145
- - **Skills & MCP servers** — reusable procedural knowledge, bundled skill reference files, and per-agent MCP servers with scope cascade. [MCP tools →](https://docs.agent-swarm.dev/docs/reference/mcp-tools)
146
- - **External tool-router access** — the `x` command and `swarm_x` MCP tool let humans and agents execute approved third-party routes such as Composio without baking bespoke MCP servers first. [CLI →](https://docs.agent-swarm.dev/docs/reference/cli) · [Composio →](https://docs.agent-swarm.dev/docs/integrations/composio)
147
- - **Config-driven metrics dashboards** — define read-only SQL widgets, version them, and render them in the dashboard without shipping custom frontend code. [Metrics API →](https://docs.agent-swarm.dev/docs/api-reference/stats)
148
- - **DB-backed pages** — agents publish HTML or JSON pages (reports, dashboards, action specs) via `create_page`, remove stale pages with `delete-page`, and share them with public / authed / password modes, version history, view counters, diff helpers, and PDF export. [MCP tools → Pages](https://docs.agent-swarm.dev/docs/reference/mcp-tools#pages-tools)
149
- - **KV store** — Redis-like namespaced key/value store with auto-scoped context (Slack thread / PR / Linear issue / page). [MCP tools → KV](https://docs.agent-swarm.dev/docs/reference/mcp-tools#kv-tools)
150
- - **Real-time, themeable dashboard + task attachments** — monitor agents, tasks, per-user usage costs, and inter-agent chat; choose from built-in light/dark themes; filter tasks by requester; create tasks with uploaded files; and preview attachments inline above session prompts. [app.agent-swarm.dev →](https://app.agent-swarm.dev)
151
-
152
58
  ## Quick Start
153
59
 
154
- Need help? Contact us at [contact@desplega.sh](mailto:contact@desplega.sh).
155
-
156
- **Prerequisites:** [Docker](https://docker.com) and one supported harness credential. Claude remains the default, or choose one of these install-time mappings:
157
-
158
- | Provider | `HARNESS_PROVIDER` | Credential/configuration |
159
- | --- | --- | --- |
160
- | Claude Code | `claude` | `CLAUDE_CODE_OAUTH_TOKEN` or `ANTHROPIC_API_KEY` |
161
- | OpenAI | `codex` | `OPENAI_API_KEY` |
162
- | OpenRouter | `pi` | `OPENROUTER_API_KEY` and a `MODEL_OVERRIDE` |
163
- | AWS Bedrock (alpha) | `pi` | `AWS_REGION`, a Bedrock `MODEL_OVERRIDE`, and AWS credentials or profile |
164
-
165
- Alpha: session summaries, memory rating, spend tracking and model tiers may be missing on Bedrock. See [model providers and gateways](https://docs.agent-swarm.dev/docs/guides/provider-auth/model-gateways) and [what each provider supports](https://docs.agent-swarm.dev/docs/guides/harness-configuration#supported-providers).
166
-
167
- The fastest way is the onboarding wizard — it collects credentials, picks presets, and generates a working `docker-compose.yml`:
60
+ Give your coding agent the operator skill for Docker Compose or Kubernetes:
168
61
 
169
62
  ```bash
170
- bunx @desplega.ai/agent-swarm onboard
171
- npx @desplega.ai/agent-swarm onboard
63
+ npx skills add desplega-ai/agent-swarm
172
64
  ```
173
65
 
174
- Prefer manual setup? Clone and run with Docker Compose:
66
+ Or use the examples directly:
175
67
 
176
68
  ```bash
177
- git clone https://github.com/desplega-ai/agent-swarm.git
178
- cd agent-swarm
179
- cp .env.docker.example .env
180
- # edit .env — set API_KEY, HARNESS_PROVIDER, and one credential set from the table above
69
+ git clone https://github.com/desplega-ai/agent-swarm.git && cd agent-swarm
70
+ cp .env.docker.example .env # Set API_KEY, a harness credential, and all eight agent UUIDs.
71
+ openssl rand -base64 32 > encryption_key
72
+ chmod 600 .env encryption_key
181
73
  docker compose -f docker-compose.example.yml --env-file .env up -d
182
74
  ```
183
75
 
184
- The API runs on port `3013`, with interactive docs at `http://localhost:3013/docs` and an OpenAPI 3.1 spec at `http://localhost:3013/openapi.json`.
185
-
186
- <details>
187
- <summary><strong>Other setups</strong></summary>
188
-
189
- - **Local API + Docker workers** — run the API on your host, workers in Docker. See [Getting Started](https://docs.agent-swarm.dev/docs/getting-started).
190
- - **Claude Code as the lead agent** — `bunx @desplega.ai/agent-swarm connect` (or `npx @desplega.ai/agent-swarm connect`), then tell Claude Code to register as the lead.
191
-
192
- </details>
193
-
194
- ## How It Works
195
-
196
- ```
197
- You (Slack / GitHub / Email / CLI)
198
- |
199
- Lead Agent ←→ MCP API Server ←→ SQLite DB
200
- |
201
- ┌────┼────┐
202
- Worker Worker Worker
203
- (Docker containers with full dev environments)
204
- ```
205
-
206
- 1. A task arrives via Slack DM, GitHub @mention, email, or the API.
207
- 2. The lead plans and delegates subtasks to workers.
208
- 3. Workers execute in isolated Docker containers (git, Node.js, Python, etc.).
209
- 4. Progress streams to the dashboard, Slack threads, or the API.
210
- 5. Results ship back out as PRs, custom pages, issue replies, or Slack messages.
211
- 6. Session learnings are extracted and become memory for future tasks.
212
-
213
- More detail in the [task lifecycle docs](https://docs.agent-swarm.dev/docs/concepts/task-lifecycle).
76
+ Read the [Compose checklist](./skills/agent-swarm/references/compose.md) before starting. API: http://localhost:3013, with `/docs` and `/openapi.json`. [Dashboard](https://app.agent-swarm.dev): connect it to your API.
77
+ Kubernetes: [install the OCI Helm chart](./charts/agent-swarm/README.md).
214
78
 
215
79
  ## Integrations
216
80
 
217
- Missing one? Ask the swarm to build it.
218
-
219
- | Integration | What it does | Setup |
220
- |---|---|---|
221
- | **Slack** | DM or @mention the bot to create tasks; workers reply in threads | [Guide](https://docs.agent-swarm.dev/docs/integrations/slack) |
222
- | **GitHub App** | @mention or assign the bot on issues/PRs; CI failures create follow-up tasks | [Guide](https://docs.agent-swarm.dev/docs/integrations/github) |
223
- | **GitLab** | Same model as GitHub — webhooks on issues/MRs, `glab` preinstalled in workers | [Guide](https://docs.agent-swarm.dev/docs/integrations/gitlab) |
224
- | **AgentMail** | Give each agent an inbox; emails become tasks or lead messages | [Guide](https://docs.agent-swarm.dev/docs/integrations/agentmail) |
225
- | **Kapso (WhatsApp)** | Native inbound WhatsApp webhook routing; agents reply over WhatsApp with MCP tools or the `kapso-whatsapp` skill | [Guide](https://docs.agent-swarm.dev/docs/integrations/kapso) |
226
- | **Composio** | Route approved third-party app operations through `agent-swarm x composio ...` or the `swarm_x` MCP tool | [Guide](https://docs.agent-swarm.dev/docs/integrations/composio) |
227
- | **Linear** | Bidirectional ticket sync via OAuth + webhooks | [Guide](https://docs.agent-swarm.dev/docs/integrations/linear) |
228
- | **Jira Cloud** | OAuth 3LO ticket sync — assignee/comment events create tasks; lifecycle posts comments back | [Guide](https://docs.agent-swarm.dev/docs/integrations/jira) |
229
- | **Sentry** | Workers can triage Sentry issues with the `/investigate-sentry-issue` command | [Guide](https://docs.agent-swarm.dev/docs/integrations/sentry) |
230
- | **Devin** | Devin can be a node in your swarm — keep your existing configuration | [Guide](https://docs.agent-swarm.dev/docs/guides/harness-configuration#supported-providers) |
231
-
232
- ## Dashboard
233
-
234
- Real-time monitoring of agents, tasks, and inter-agent chat. The task list can be filtered by requester, including **Me** and **Unattributed**, while keeping the selection in the page URL. Session titles can be renamed inline, and agent profiles can search hundreds of Lucide icons, pick a color, and retain deterministic defaults when no customization is set. Use the hosted version at [app.agent-swarm.dev](https://app.agent-swarm.dev), or run locally:
235
-
236
- ```bash
237
- cd apps/ui && bun install && bun run dev
238
- ```
239
-
240
- Opens at `http://localhost:5274`.
241
-
242
- ## [CLI](https://docs.agent-swarm.dev/docs/reference/cli)
81
+ Slack · GitHub · GitLab · Linear · Jira · AgentMail · WhatsApp (Kapso) · Composio · Sentry · Devin. [Integration guides](https://docs.agent-swarm.dev/docs/integrations).
243
82
 
244
- ```bash
245
- bunx @desplega.ai/agent-swarm <command>
246
- npx @desplega.ai/agent-swarm <command>
247
- ```
248
-
249
- | Command | Description |
250
- |---------|-------------|
251
- | `onboard` | Set up a new swarm from scratch (Docker Compose wizard) |
252
- | `connect` | Connect this project to an existing swarm |
253
- | `api` | Start the API + MCP HTTP server |
254
- | `worker` | Run a worker agent |
255
- | `lead` | Run a lead agent |
256
- | `e2b` | Build E2B templates and launch/manage grouped API + lead + worker swarms |
257
- | `x` | Execute approved external routes such as Composio |
258
- | `docs` | Open documentation (`--open` to launch in browser) |
259
-
260
- ## Deployment
261
-
262
- For production deployments (Docker Compose with multiple workers, systemd for the API, graceful shutdown, integration config), see [DEPLOYMENT.md](./DEPLOYMENT.md) and the [deployment guide](https://docs.agent-swarm.dev/docs/guides/deployment).
263
-
264
- ## Documentation
83
+ ## Learn more
265
84
 
266
- Everything lives at **[docs.agent-swarm.dev](https://docs.agent-swarm.dev)**. Good starting points:
267
-
268
- - [Getting Started](https://docs.agent-swarm.dev/docs/getting-started) — install, configure, and run your first task
269
- - [Architecture overview](https://docs.agent-swarm.dev/docs/architecture/overview) — how the swarm is wired together
270
- - [Playbooks](https://docs.agent-swarm.dev/docs/playbooks) — eight production flows we use to run Desplega, plus the patterns behind them
271
- - [CLI reference](https://docs.agent-swarm.dev/docs/reference/cli) and [Environment variables](https://docs.agent-swarm.dev/docs/reference/environment-variables)
272
- - [API reference](https://docs.agent-swarm.dev/docs/api-reference) — every HTTP endpoint
85
+ - [Getting started](https://docs.agent-swarm.dev/docs/getting-started) · [Architecture](https://docs.agent-swarm.dev/docs/architecture/overview) · [Playbooks](https://docs.agent-swarm.dev/docs/playbooks) · [CLI](https://docs.agent-swarm.dev/docs/reference/cli) · [API reference](https://docs.agent-swarm.dev/docs/api-reference)
86
+ - [Agent templates](https://templates.agent-swarm.dev)
87
+ - Help: [contact@desplega.sh](mailto:contact@desplega.sh) · [Discord](https://discord.gg/KZgfyyDVZa)
273
88
 
274
89
  ## Contributing
275
90
 
276
- We love contributions! Whether it's bug reports, feature requests, docs improvements, or code all are welcome.
277
-
278
- See [CONTRIBUTING.md](./CONTRIBUTING.md) to get started. The quickest way to contribute:
279
-
280
- 1. Fork the repo
281
- 2. Create a branch (`git checkout -b my-feature`)
282
- 3. Make your changes
283
- 4. Open a PR
284
-
285
- Join our [Discord](https://discord.gg/KZgfyyDVZa) if you have questions or want to discuss ideas.
286
-
287
- > Are you an agent? Go to [agent-swarm.dev/skill.md](https://www.agent-swarm.dev/skill.md).
91
+ Read [CONTRIBUTING.md](./CONTRIBUTING.md), fork the repository, create a branch, and open a PR. Discuss ideas on [Discord](https://discord.gg/KZgfyyDVZa).
92
+ > Are you an agent? Run `npx skills add desplega-ai/agent-swarm` or read the [operator skill](./skills/agent-swarm/SKILL.md).
288
93
 
289
94
  ## Star History
290
95
 
291
- <picture>
292
- <source media="(prefers-color-scheme: dark)" srcset="./assets/star-history-dark.svg" />
293
- <source media="(prefers-color-scheme: light)" srcset="./assets/star-history-light.svg" />
294
- <img alt="Star History Chart" src="./assets/star-history-light.svg" />
295
- </picture>
296
-
297
- The charts are generated from timestamped GitHub stargazer data and refreshed weekly through a reviewable pull request.
96
+ <picture><source media="(prefers-color-scheme: dark)" srcset="./assets/star-history-dark.svg" /> <source media="(prefers-color-scheme: light)" srcset="./assets/star-history-light.svg" /> <img alt="Star History Chart" src="./assets/star-history-light.svg" /></picture>
298
97
 
299
98
  ## License
300
99
 
301
- [MIT](./LICENSE) 2025-2026 [desplega.sh](https://desplega.sh)
100
+ [MIT](./LICENSE) · 2025-2026 [desplega.sh](https://desplega.sh)