agent-relay 1.1.0 → 1.2.3
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.
- package/.gitattributes +3 -0
- package/.nvmrc +1 -0
- package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.json +65 -0
- package/.trajectories/completed/2026-01/traj_1dviorhnkcb5.md +37 -0
- package/.trajectories/completed/2026-01/traj_1k5if5snst2e.json +65 -0
- package/.trajectories/completed/2026-01/traj_1k5if5snst2e.md +37 -0
- package/.trajectories/completed/2026-01/traj_1rp3rges5811.json +49 -0
- package/.trajectories/completed/2026-01/traj_1rp3rges5811.md +31 -0
- package/.trajectories/completed/2026-01/traj_22bhyulruouw.json +113 -0
- package/.trajectories/completed/2026-01/traj_22bhyulruouw.md +57 -0
- package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.json +53 -0
- package/.trajectories/completed/2026-01/traj_2dao7ddgnta0.md +32 -0
- package/.trajectories/completed/2026-01/traj_3t0440mjeunc.json +26 -0
- package/.trajectories/completed/2026-01/traj_3t0440mjeunc.md +6 -0
- package/.trajectories/completed/2026-01/traj_45x9494d9xnr.json +47 -0
- package/.trajectories/completed/2026-01/traj_45x9494d9xnr.md +32 -0
- package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.json +53 -0
- package/.trajectories/completed/2026-01/traj_4aa0bb77s4nh.md +32 -0
- package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.json +59 -0
- package/.trajectories/completed/2026-01/traj_5lhmzq8rxpqv.md +33 -0
- package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.json +53 -0
- package/.trajectories/completed/2026-01/traj_5vr4e9erb1fs.md +32 -0
- package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.json +48 -0
- package/.trajectories/completed/2026-01/traj_6fgiwdoklvym.md +24 -0
- package/.trajectories/completed/2026-01/traj_7ludwvz45veh.json +209 -0
- package/.trajectories/completed/2026-01/traj_7ludwvz45veh.md +97 -0
- package/.trajectories/completed/2026-01/traj_9921cuhel0pj.json +48 -0
- package/.trajectories/completed/2026-01/traj_9921cuhel0pj.md +24 -0
- package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.json +49 -0
- package/.trajectories/completed/2026-01/traj_ajs7zqfux4wc.md +23 -0
- package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.json +53 -0
- package/.trajectories/completed/2026-01/traj_cvtqhlwcq9s0.md +32 -0
- package/.trajectories/completed/2026-01/traj_cxofprm2m2en.json +49 -0
- package/.trajectories/completed/2026-01/traj_cxofprm2m2en.md +31 -0
- package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.json +26 -0
- package/.trajectories/completed/2026-01/traj_d2hhz3k0vrhn.md +6 -0
- package/.trajectories/completed/2026-01/traj_dfuvww9pege5.json +59 -0
- package/.trajectories/completed/2026-01/traj_dfuvww9pege5.md +37 -0
- package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.json +77 -0
- package/.trajectories/completed/2026-01/traj_g0fisy9h51mf.md +42 -0
- package/.trajectories/completed/2026-01/traj_gjdre5voouod.json +53 -0
- package/.trajectories/completed/2026-01/traj_gjdre5voouod.md +32 -0
- package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.json +25 -0
- package/.trajectories/completed/2026-01/traj_gtlyqtta3x8l.md +15 -0
- package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.json +101 -0
- package/.trajectories/completed/2026-01/traj_h4xijiuip3w4.md +44 -0
- package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.json +22 -0
- package/.trajectories/completed/2026-01/traj_hhxte7w4gjjx.md +5 -0
- package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.json +53 -0
- package/.trajectories/completed/2026-01/traj_hpungyhoj6v5.md +32 -0
- package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.json +25 -0
- package/.trajectories/completed/2026-01/traj_m2xkjv0w2sq7.md +15 -0
- package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.json +53 -0
- package/.trajectories/completed/2026-01/traj_noq5zbvnrdvz.md +32 -0
- package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.json +53 -0
- package/.trajectories/completed/2026-01/traj_ntbs6ppopf46.md +32 -0
- package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.json +48 -0
- package/.trajectories/completed/2026-01/traj_ozd98si6a7ns.md +24 -0
- package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.json +53 -0
- package/.trajectories/completed/2026-01/traj_prdza7a5cxp5.md +32 -0
- package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.json +77 -0
- package/.trajectories/completed/2026-01/traj_qb3twvvywfwi.md +42 -0
- package/.trajectories/completed/2026-01/traj_qft54mi7nfor.json +53 -0
- package/.trajectories/completed/2026-01/traj_qft54mi7nfor.md +32 -0
- package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.json +83 -0
- package/.trajectories/completed/2026-01/traj_qx9uhf8whhxo.md +47 -0
- package/.trajectories/completed/2026-01/traj_rd9toccj18a0.json +59 -0
- package/.trajectories/completed/2026-01/traj_rd9toccj18a0.md +37 -0
- package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.json +48 -0
- package/.trajectories/completed/2026-01/traj_rt4fiw3ecp50.md +16 -0
- package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.json +59 -0
- package/.trajectories/completed/2026-01/traj_st8j35b0hrlc.md +37 -0
- package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.json +53 -0
- package/.trajectories/completed/2026-01/traj_t1yy8m7hbuxp.md +32 -0
- package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.json +84 -0
- package/.trajectories/completed/2026-01/traj_tmux_orchestrator_analysis.md +109 -0
- package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.json +53 -0
- package/.trajectories/completed/2026-01/traj_u9n9eqasw16k.md +32 -0
- package/.trajectories/completed/2026-01/traj_v87hypnongqx.json +71 -0
- package/.trajectories/completed/2026-01/traj_v87hypnongqx.md +42 -0
- package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.json +53 -0
- package/.trajectories/completed/2026-01/traj_wkp2fgzdyinb.md +32 -0
- package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.json +20 -0
- package/.trajectories/completed/2026-01/traj_x14t8w8rn7xg.md +6 -0
- package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.json +175 -0
- package/.trajectories/completed/2026-01/traj_xnwbznkvv8ua.md +82 -0
- package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.json +47 -0
- package/.trajectories/completed/2026-01/traj_ysjc8zaeqtd3.md +32 -0
- package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.json +59 -0
- package/.trajectories/completed/2026-01/traj_yvdadtvdgnz3.md +37 -0
- package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.json +53 -0
- package/.trajectories/completed/2026-01/traj_z0vcw1wrzide.md +32 -0
- package/.trajectories/index.json +314 -0
- package/ARCHITECTURE.md +1245 -0
- package/README.md +1 -1
- package/TESTING.md +278 -0
- package/deploy/init-db.sql +5 -0
- package/deploy/scripts/setup-fly-workspaces.sh +69 -0
- package/deploy/scripts/setup-railway.sh +75 -0
- package/deploy/workspace/entrypoint-browser.sh +118 -0
- package/deploy/workspace/entrypoint.sh +348 -0
- package/deploy/workspace/git-credential-relay +111 -0
- package/dist/bridge/spawner.d.ts +53 -0
- package/dist/bridge/spawner.js +203 -19
- package/dist/bridge/types.d.ts +12 -0
- package/dist/cli/index.js +618 -5
- package/dist/cloud/api/auth.d.ts +3 -2
- package/dist/cloud/api/auth.js +10 -98
- package/dist/cloud/api/billing.js +30 -9
- package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
- package/dist/cloud/api/cli-pty-runner.js +119 -0
- package/dist/cloud/api/codex-auth-helper.d.ts +15 -0
- package/dist/cloud/api/codex-auth-helper.js +100 -0
- package/dist/cloud/api/generic-webhooks.d.ts +8 -0
- package/dist/cloud/api/generic-webhooks.js +129 -0
- package/dist/cloud/api/git.d.ts +8 -0
- package/dist/cloud/api/git.js +152 -0
- package/dist/cloud/api/github-app.d.ts +11 -0
- package/dist/cloud/api/github-app.js +189 -0
- package/dist/cloud/api/middleware/planLimits.d.ts +7 -0
- package/dist/cloud/api/middleware/planLimits.js +39 -1
- package/dist/cloud/api/monitoring.d.ts +11 -0
- package/dist/cloud/api/monitoring.js +578 -0
- package/dist/cloud/api/nango-auth.d.ts +9 -0
- package/dist/cloud/api/nango-auth.js +377 -0
- package/dist/cloud/api/onboarding.d.ts +8 -1
- package/dist/cloud/api/onboarding.js +313 -119
- package/dist/cloud/api/policy.d.ts +8 -0
- package/dist/cloud/api/policy.js +229 -0
- package/dist/cloud/api/providers.js +114 -42
- package/dist/cloud/api/repos.d.ts +1 -0
- package/dist/cloud/api/repos.js +186 -0
- package/dist/cloud/api/test-helpers.d.ts +10 -0
- package/dist/cloud/api/test-helpers.js +575 -0
- package/dist/cloud/api/webhooks.d.ts +8 -0
- package/dist/cloud/api/webhooks.js +645 -0
- package/dist/cloud/api/workspaces.js +320 -12
- package/dist/cloud/billing/plans.js +32 -19
- package/dist/cloud/billing/types.d.ts +9 -3
- package/dist/cloud/config.d.ts +9 -2
- package/dist/cloud/config.js +13 -4
- package/dist/cloud/db/drizzle.d.ts +84 -1
- package/dist/cloud/db/drizzle.js +470 -0
- package/dist/cloud/db/index.d.ts +9 -4
- package/dist/cloud/db/index.js +11 -3
- package/dist/cloud/db/schema.d.ts +3283 -556
- package/dist/cloud/db/schema.js +314 -1
- package/dist/cloud/index.d.ts +1 -0
- package/dist/cloud/index.js +2 -0
- package/dist/cloud/provisioner/index.d.ts +56 -0
- package/dist/cloud/provisioner/index.js +676 -34
- package/dist/cloud/server.d.ts +1 -0
- package/dist/cloud/server.js +362 -13
- package/dist/cloud/services/auto-scaler.d.ts +152 -0
- package/dist/cloud/services/auto-scaler.js +439 -0
- package/dist/cloud/services/capacity-manager.d.ts +148 -0
- package/dist/cloud/services/capacity-manager.js +449 -0
- package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
- package/dist/cloud/services/ci-agent-spawner.js +373 -0
- package/dist/cloud/services/index.d.ts +12 -0
- package/dist/cloud/services/index.js +15 -0
- package/dist/cloud/services/mention-handler.d.ts +65 -0
- package/dist/cloud/services/mention-handler.js +405 -0
- package/dist/cloud/services/nango.d.ts +186 -0
- package/dist/cloud/services/nango.js +344 -0
- package/dist/cloud/services/persistence.d.ts +131 -0
- package/dist/cloud/services/persistence.js +200 -0
- package/dist/cloud/services/planLimits.d.ts +37 -0
- package/dist/cloud/services/planLimits.js +86 -5
- package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
- package/dist/cloud/services/scaling-orchestrator.js +502 -0
- package/dist/cloud/services/scaling-policy.d.ts +121 -0
- package/dist/cloud/services/scaling-policy.js +415 -0
- package/dist/cloud/vault/index.js +1 -1
- package/dist/cloud/webhooks/index.d.ts +24 -0
- package/dist/cloud/webhooks/index.js +29 -0
- package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
- package/dist/cloud/webhooks/parsers/github.js +234 -0
- package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
- package/dist/cloud/webhooks/parsers/index.js +30 -0
- package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/linear.js +258 -0
- package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
- package/dist/cloud/webhooks/parsers/slack.js +214 -0
- package/dist/cloud/webhooks/responders/github.d.ts +8 -0
- package/dist/cloud/webhooks/responders/github.js +73 -0
- package/dist/cloud/webhooks/responders/index.d.ts +23 -0
- package/dist/cloud/webhooks/responders/index.js +30 -0
- package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
- package/dist/cloud/webhooks/responders/linear.js +149 -0
- package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
- package/dist/cloud/webhooks/responders/slack.js +178 -0
- package/dist/cloud/webhooks/router.d.ts +25 -0
- package/dist/cloud/webhooks/router.js +504 -0
- package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
- package/dist/cloud/webhooks/rules-engine.js +287 -0
- package/dist/cloud/webhooks/types.d.ts +186 -0
- package/dist/cloud/webhooks/types.js +8 -0
- package/dist/continuity/formatter.d.ts +51 -0
- package/dist/continuity/formatter.js +313 -0
- package/dist/continuity/handoff-store.d.ts +67 -0
- package/dist/continuity/handoff-store.js +472 -0
- package/dist/continuity/index.d.ts +45 -0
- package/dist/continuity/index.js +48 -0
- package/dist/continuity/ledger-store.d.ts +110 -0
- package/dist/continuity/ledger-store.js +500 -0
- package/dist/continuity/manager.d.ts +178 -0
- package/dist/continuity/manager.js +562 -0
- package/dist/continuity/parser.d.ts +76 -0
- package/dist/continuity/parser.js +579 -0
- package/dist/continuity/types.d.ts +180 -0
- package/dist/continuity/types.js +9 -0
- package/dist/daemon/agent-manager.d.ts +27 -0
- package/dist/daemon/agent-manager.js +107 -6
- package/dist/daemon/agent-registry.d.ts +32 -0
- package/dist/daemon/agent-registry.js +42 -2
- package/dist/daemon/api.d.ts +12 -0
- package/dist/daemon/api.js +131 -2
- package/dist/daemon/cli-auth.d.ts +67 -0
- package/dist/daemon/cli-auth.js +537 -0
- package/dist/daemon/cloud-sync.js +9 -7
- package/dist/daemon/orchestrator.js +30 -0
- package/dist/daemon/router.d.ts +5 -0
- package/dist/daemon/router.js +78 -26
- package/dist/daemon/server.d.ts +5 -0
- package/dist/daemon/server.js +9 -1
- package/dist/daemon/services/browser-testing.d.ts +88 -0
- package/dist/daemon/services/browser-testing.js +244 -0
- package/dist/daemon/services/container-spawner.d.ts +135 -0
- package/dist/daemon/services/container-spawner.js +313 -0
- package/dist/daemon/types.d.ts +5 -1
- package/dist/dashboard/out/404.html +1 -1
- package/dist/dashboard/out/_next/static/chunks/116-2502180def231162.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/699-3b1cd6618a45d259.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/724-2dae7627550ab88f.js +9 -0
- package/dist/dashboard/out/_next/static/chunks/766-1f2dd8cb7f766b0b.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/onboarding/page-3fdfa60e53f2810d.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/app/page-e6381e5a6e1fbcfd.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-3538dfe0ffe984b8.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/history/{page-b6edd4dde8d08194.js → page-abb9ab2d329f56e9.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/app/layout-c0d118c0f92d969c.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/login/page-c22d080201cbd9fb.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-67a3e98d9a43a6ed.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/page-77e9c65420a06cfb.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-b08ed1c34d14434a.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/providers/page-e88bc117ef7671c3.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/signup/page-68d34f50baa8ab6b.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
- package/dist/dashboard/out/_next/static/chunks/{main-app-5d692157a8eb1fd9.js → main-app-6e8e8d3ef4e0192a.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/{main-c2f423b9c9f4591b.js → main-ed4e1fb6f29c34cf.js} +1 -1
- package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
- package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +1 -0
- package/dist/dashboard/out/_next/static/css/7c3ae9e8617d42a5.css +1 -0
- package/dist/dashboard/out/app/onboarding.html +1 -0
- package/dist/dashboard/out/app/onboarding.txt +7 -0
- package/dist/dashboard/out/app.html +1 -14
- package/dist/dashboard/out/app.txt +2 -2
- package/dist/dashboard/out/connect-repos.html +1 -0
- package/dist/dashboard/out/connect-repos.txt +7 -0
- package/dist/dashboard/out/history.html +1 -1
- package/dist/dashboard/out/history.txt +2 -2
- package/dist/dashboard/out/index.html +1 -1
- package/dist/dashboard/out/index.txt +2 -2
- package/dist/dashboard/out/login.html +6 -0
- package/dist/dashboard/out/login.txt +7 -0
- package/dist/dashboard/out/metrics.html +1 -1
- package/dist/dashboard/out/metrics.txt +2 -2
- package/dist/dashboard/out/pricing.html +3 -3
- package/dist/dashboard/out/pricing.txt +2 -2
- package/dist/dashboard/out/providers.html +1 -0
- package/dist/dashboard/out/providers.txt +7 -0
- package/dist/dashboard/out/signup.html +6 -0
- package/dist/dashboard/out/signup.txt +7 -0
- package/dist/dashboard-server/server.js +1308 -8
- package/dist/hooks/emitter.d.ts +40 -0
- package/dist/hooks/emitter.js +63 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/registry.d.ts +173 -0
- package/dist/hooks/registry.js +476 -0
- package/dist/hooks/trajectory-hooks.d.ts +52 -0
- package/dist/hooks/trajectory-hooks.js +183 -0
- package/dist/hooks/types.d.ts +141 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/memory/adapters/index.d.ts +8 -0
- package/dist/memory/adapters/index.js +8 -0
- package/dist/memory/adapters/inmemory.d.ts +59 -0
- package/dist/memory/adapters/inmemory.js +195 -0
- package/dist/memory/adapters/supermemory.d.ts +71 -0
- package/dist/memory/adapters/supermemory.js +338 -0
- package/dist/memory/factory.d.ts +48 -0
- package/dist/memory/factory.js +143 -0
- package/dist/memory/index.d.ts +32 -0
- package/dist/memory/index.js +32 -0
- package/dist/memory/memory-hooks.d.ts +60 -0
- package/dist/memory/memory-hooks.js +313 -0
- package/dist/memory/service.d.ts +49 -0
- package/dist/memory/service.js +146 -0
- package/dist/memory/types.d.ts +195 -0
- package/dist/memory/types.js +8 -0
- package/dist/policy/agent-policy.d.ts +225 -0
- package/dist/policy/agent-policy.js +665 -0
- package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
- package/dist/policy/cloud-policy-fetcher.js +64 -0
- package/dist/resiliency/crash-insights.d.ts +156 -0
- package/dist/resiliency/crash-insights.js +492 -0
- package/dist/resiliency/gossip-health.d.ts +137 -0
- package/dist/resiliency/gossip-health.js +241 -0
- package/dist/resiliency/index.d.ts +5 -0
- package/dist/resiliency/index.js +5 -0
- package/dist/resiliency/leader-watchdog.d.ts +109 -0
- package/dist/resiliency/leader-watchdog.js +189 -0
- package/dist/resiliency/memory-monitor.d.ts +172 -0
- package/dist/resiliency/memory-monitor.js +593 -0
- package/dist/resiliency/stateless-lead.d.ts +149 -0
- package/dist/resiliency/stateless-lead.js +308 -0
- package/dist/resiliency/supervisor.d.ts +38 -0
- package/dist/resiliency/supervisor.js +122 -0
- package/dist/shared/cli-auth-config.d.ts +91 -0
- package/dist/shared/cli-auth-config.js +264 -0
- package/dist/storage/adapter.d.ts +1 -1
- package/dist/trajectory/config.d.ts +84 -0
- package/dist/trajectory/config.js +163 -0
- package/dist/trajectory/index.d.ts +8 -0
- package/dist/trajectory/index.js +8 -0
- package/dist/trajectory/integration.d.ts +292 -0
- package/dist/trajectory/integration.js +834 -0
- package/dist/utils/logger.js +1 -1
- package/dist/utils/project-namespace.d.ts +24 -0
- package/dist/utils/project-namespace.js +84 -0
- package/dist/wrapper/parser.d.ts +10 -0
- package/dist/wrapper/parser.js +100 -33
- package/dist/wrapper/pty-wrapper.d.ts +197 -16
- package/dist/wrapper/pty-wrapper.js +943 -106
- package/dist/wrapper/shared.d.ts +165 -0
- package/dist/wrapper/shared.js +270 -0
- package/dist/wrapper/tmux-wrapper.d.ts +73 -11
- package/dist/wrapper/tmux-wrapper.js +541 -120
- package/package.json +16 -16
- package/scripts/postinstall.js +60 -0
- package/test-push.txt +1 -0
- package/bin/tmux +0 -0
- package/dist/bridge/config.d.ts.map +0 -1
- package/dist/bridge/config.js.map +0 -1
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/index.js.map +0 -1
- package/dist/bridge/multi-project-client.d.ts.map +0 -1
- package/dist/bridge/multi-project-client.js.map +0 -1
- package/dist/bridge/shadow-cli.d.ts.map +0 -1
- package/dist/bridge/shadow-cli.js.map +0 -1
- package/dist/bridge/shadow-config.d.ts.map +0 -1
- package/dist/bridge/shadow-config.js.map +0 -1
- package/dist/bridge/spawner.d.ts.map +0 -1
- package/dist/bridge/spawner.js.map +0 -1
- package/dist/bridge/teams-config.d.ts.map +0 -1
- package/dist/bridge/teams-config.js.map +0 -1
- package/dist/bridge/types.d.ts.map +0 -1
- package/dist/bridge/types.js.map +0 -1
- package/dist/bridge/utils.d.ts.map +0 -1
- package/dist/bridge/utils.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cloud/api/auth.d.ts.map +0 -1
- package/dist/cloud/api/auth.js.map +0 -1
- package/dist/cloud/api/billing.d.ts.map +0 -1
- package/dist/cloud/api/billing.js.map +0 -1
- package/dist/cloud/api/coordinators.d.ts.map +0 -1
- package/dist/cloud/api/coordinators.js.map +0 -1
- package/dist/cloud/api/daemons.d.ts.map +0 -1
- package/dist/cloud/api/daemons.js.map +0 -1
- package/dist/cloud/api/middleware/planLimits.d.ts.map +0 -1
- package/dist/cloud/api/middleware/planLimits.js.map +0 -1
- package/dist/cloud/api/onboarding.d.ts.map +0 -1
- package/dist/cloud/api/onboarding.js.map +0 -1
- package/dist/cloud/api/providers.d.ts.map +0 -1
- package/dist/cloud/api/providers.js.map +0 -1
- package/dist/cloud/api/repos.d.ts.map +0 -1
- package/dist/cloud/api/repos.js.map +0 -1
- package/dist/cloud/api/teams.d.ts.map +0 -1
- package/dist/cloud/api/teams.js.map +0 -1
- package/dist/cloud/api/usage.d.ts.map +0 -1
- package/dist/cloud/api/usage.js.map +0 -1
- package/dist/cloud/api/workspaces.d.ts.map +0 -1
- package/dist/cloud/api/workspaces.js.map +0 -1
- package/dist/cloud/billing/index.d.ts.map +0 -1
- package/dist/cloud/billing/index.js.map +0 -1
- package/dist/cloud/billing/plans.d.ts.map +0 -1
- package/dist/cloud/billing/plans.js.map +0 -1
- package/dist/cloud/billing/service.d.ts.map +0 -1
- package/dist/cloud/billing/service.js.map +0 -1
- package/dist/cloud/billing/types.d.ts.map +0 -1
- package/dist/cloud/billing/types.js.map +0 -1
- package/dist/cloud/config.d.ts.map +0 -1
- package/dist/cloud/config.js.map +0 -1
- package/dist/cloud/db/drizzle.d.ts.map +0 -1
- package/dist/cloud/db/drizzle.js.map +0 -1
- package/dist/cloud/db/index.d.ts.map +0 -1
- package/dist/cloud/db/index.js.map +0 -1
- package/dist/cloud/db/schema.d.ts.map +0 -1
- package/dist/cloud/db/schema.js.map +0 -1
- package/dist/cloud/index.d.ts.map +0 -1
- package/dist/cloud/index.js.map +0 -1
- package/dist/cloud/provisioner/index.d.ts.map +0 -1
- package/dist/cloud/provisioner/index.js.map +0 -1
- package/dist/cloud/server.d.ts.map +0 -1
- package/dist/cloud/server.js.map +0 -1
- package/dist/cloud/services/coordinator.d.ts.map +0 -1
- package/dist/cloud/services/coordinator.js.map +0 -1
- package/dist/cloud/services/planLimits.d.ts.map +0 -1
- package/dist/cloud/services/planLimits.js.map +0 -1
- package/dist/cloud/vault/index.d.ts.map +0 -1
- package/dist/cloud/vault/index.js.map +0 -1
- package/dist/daemon/agent-manager.d.ts.map +0 -1
- package/dist/daemon/agent-manager.js.map +0 -1
- package/dist/daemon/agent-registry.d.ts.map +0 -1
- package/dist/daemon/agent-registry.js.map +0 -1
- package/dist/daemon/api.d.ts.map +0 -1
- package/dist/daemon/api.js.map +0 -1
- package/dist/daemon/auth.d.ts.map +0 -1
- package/dist/daemon/auth.js.map +0 -1
- package/dist/daemon/cloud-sync.d.ts.map +0 -1
- package/dist/daemon/cloud-sync.js.map +0 -1
- package/dist/daemon/connection.d.ts.map +0 -1
- package/dist/daemon/connection.js.map +0 -1
- package/dist/daemon/index.d.ts.map +0 -1
- package/dist/daemon/index.js.map +0 -1
- package/dist/daemon/orchestrator.d.ts.map +0 -1
- package/dist/daemon/orchestrator.js.map +0 -1
- package/dist/daemon/registry.d.ts.map +0 -1
- package/dist/daemon/registry.js.map +0 -1
- package/dist/daemon/router.d.ts.map +0 -1
- package/dist/daemon/router.js.map +0 -1
- package/dist/daemon/server.d.ts.map +0 -1
- package/dist/daemon/server.js.map +0 -1
- package/dist/daemon/types.d.ts.map +0 -1
- package/dist/daemon/types.js.map +0 -1
- package/dist/daemon/workspace-manager.d.ts.map +0 -1
- package/dist/daemon/workspace-manager.js.map +0 -1
- package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/layout-2433bb48965f4333.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/app/pricing/page-d80e03a5297f95b6.js +0 -1
- package/dist/dashboard/out/_next/static/chunks/webpack-a5acc2831d094776.js +0 -1
- package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +0 -1
- package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +0 -1
- package/dist/dashboard-server/metrics.d.ts.map +0 -1
- package/dist/dashboard-server/metrics.js.map +0 -1
- package/dist/dashboard-server/needs-attention.d.ts.map +0 -1
- package/dist/dashboard-server/needs-attention.js.map +0 -1
- package/dist/dashboard-server/server.d.ts.map +0 -1
- package/dist/dashboard-server/server.js.map +0 -1
- package/dist/dashboard-server/start.d.ts.map +0 -1
- package/dist/dashboard-server/start.js.map +0 -1
- package/dist/hooks/inbox-check/hook.d.ts.map +0 -1
- package/dist/hooks/inbox-check/hook.js.map +0 -1
- package/dist/hooks/inbox-check/index.d.ts.map +0 -1
- package/dist/hooks/inbox-check/index.js.map +0 -1
- package/dist/hooks/inbox-check/types.d.ts.map +0 -1
- package/dist/hooks/inbox-check/types.js.map +0 -1
- package/dist/hooks/inbox-check/utils.d.ts.map +0 -1
- package/dist/hooks/inbox-check/utils.js.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/protocol/framing.d.ts.map +0 -1
- package/dist/protocol/framing.js.map +0 -1
- package/dist/protocol/index.d.ts.map +0 -1
- package/dist/protocol/index.js.map +0 -1
- package/dist/protocol/types.d.ts.map +0 -1
- package/dist/protocol/types.js.map +0 -1
- package/dist/resiliency/context-persistence.d.ts.map +0 -1
- package/dist/resiliency/context-persistence.js.map +0 -1
- package/dist/resiliency/health-monitor.d.ts.map +0 -1
- package/dist/resiliency/health-monitor.js.map +0 -1
- package/dist/resiliency/index.d.ts.map +0 -1
- package/dist/resiliency/index.js.map +0 -1
- package/dist/resiliency/logger.d.ts.map +0 -1
- package/dist/resiliency/logger.js.map +0 -1
- package/dist/resiliency/metrics.d.ts.map +0 -1
- package/dist/resiliency/metrics.js.map +0 -1
- package/dist/resiliency/provider-context.d.ts.map +0 -1
- package/dist/resiliency/provider-context.js.map +0 -1
- package/dist/resiliency/supervisor.d.ts.map +0 -1
- package/dist/resiliency/supervisor.js.map +0 -1
- package/dist/state/agent-state.d.ts.map +0 -1
- package/dist/state/agent-state.js.map +0 -1
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/sqlite-adapter.d.ts.map +0 -1
- package/dist/storage/sqlite-adapter.js.map +0 -1
- package/dist/utils/agent-config.d.ts.map +0 -1
- package/dist/utils/agent-config.js.map +0 -1
- package/dist/utils/command-resolver.d.ts.map +0 -1
- package/dist/utils/command-resolver.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/name-generator.d.ts.map +0 -1
- package/dist/utils/name-generator.js.map +0 -1
- package/dist/utils/project-namespace.d.ts.map +0 -1
- package/dist/utils/project-namespace.js.map +0 -1
- package/dist/utils/tmux-resolver.d.ts.map +0 -1
- package/dist/utils/tmux-resolver.js.map +0 -1
- package/dist/utils/update-checker.d.ts.map +0 -1
- package/dist/utils/update-checker.js.map +0 -1
- package/dist/wrapper/client.d.ts.map +0 -1
- package/dist/wrapper/client.js.map +0 -1
- package/dist/wrapper/inbox.d.ts.map +0 -1
- package/dist/wrapper/inbox.js.map +0 -1
- package/dist/wrapper/index.d.ts.map +0 -1
- package/dist/wrapper/index.js.map +0 -1
- package/dist/wrapper/parser.d.ts.map +0 -1
- package/dist/wrapper/parser.js.map +0 -1
- package/dist/wrapper/pty-wrapper.d.ts.map +0 -1
- package/dist/wrapper/pty-wrapper.js.map +0 -1
- package/dist/wrapper/tmux-wrapper.d.ts.map +0 -1
- package/dist/wrapper/tmux-wrapper.js.map +0 -1
- package/docs/AGENTS.md +0 -513
- package/docs/ARCHITECTURE_DECISIONS.md +0 -175
- package/docs/CHANGELOG.md +0 -11
- package/docs/CLI-SIMPLIFICATION-COMPLETE.md +0 -48
- package/docs/CLOUD-ARCHITECTURE.md +0 -652
- package/docs/CLOUD-ONBOARDING-DESIGN.md +0 -1983
- package/docs/COMPETITIVE_ANALYSIS.md +0 -897
- package/docs/CONTRIBUTING.md +0 -151
- package/docs/DESIGN_BRIDGE_STAFFING.md +0 -878
- package/docs/DESIGN_V2.md +0 -1079
- package/docs/INTEGRATION-GUIDE.md +0 -926
- package/docs/MONETIZATION.md +0 -1679
- package/docs/PROPOSAL-trajectories.md +0 -1582
- package/docs/PROTOCOL.md +0 -325
- package/docs/SCALING_ANALYSIS.md +0 -280
- package/docs/TESTING_PRESENCE_FEATURES.md +0 -327
- package/docs/TMUX_IMPLEMENTATION_NOTES.md +0 -364
- package/docs/TMUX_IMPROVEMENTS.md +0 -968
- package/docs/agent-relay-snippet.md +0 -168
- package/docs/competitive-analysis-mcp-agent-mail.md +0 -389
- package/docs/dashboard-v2-plan.md +0 -179
- package/docs/guides/CLOUD.md +0 -236
- package/docs/guides/LOCAL.md +0 -535
- package/docs/guides/SELF-HOSTED.md +0 -494
- package/docs/proposals/shadow-as-subagent.md +0 -765
- package/docs/proposals/slack-bot-integration.md +0 -1457
- package/docs/removable-code-analysis.md +0 -24
- package/scripts/dev/PUBLIC_RELEASE_PLAN.md +0 -88
- package/scripts/dev/dev-team-setup.sh +0 -431
- package/scripts/e2e-test.sh +0 -119
- package/scripts/games/game-protocol.md +0 -79
- package/scripts/games/hearts-setup.sh +0 -264
- package/scripts/tictactoe-setup.sh +0 -181
- /package/dist/dashboard/out/_next/static/chunks/{117-b2cd8d6485aacf2b.js → 117-f7b8ab0809342e77.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{648-8f3f26864ce515e5.js → 648-5cc6e1921389a58a.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-0b990dbb71d72a98.js → page-53b8a69f76db17d0.js} +0 -0
- /package/dist/dashboard/out/_next/static/chunks/{fd9d1056-bf46c09eb57e019c.js → fd9d1056-609918ca7b6280bb.js} +0 -0
- /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_buildManifest.js +0 -0
- /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → wPgKJtcOmTFLpUncDg16A}/_ssgManifest.js +0 -0
|
@@ -1,897 +0,0 @@
|
|
|
1
|
-
# Multi-Agent Orchestration: Competitive Analysis
|
|
2
|
-
|
|
3
|
-
*Generated: December 2025*
|
|
4
|
-
|
|
5
|
-
## Executive Summary
|
|
6
|
-
|
|
7
|
-
This analysis evaluates 16 multi-agent orchestration tools against agent-relay. The key finding is that **most tools don't provide true real-time agent-to-agent communication** - they use sub-agent delegation, file-based polling, or shared databases instead.
|
|
8
|
-
|
|
9
|
-
**agent-relay's differentiators:**
|
|
10
|
-
- Real-time messaging via Unix Domain Socket (sub-5ms latency)
|
|
11
|
-
- Direct peer-to-peer agent communication (not just orchestrator-worker)
|
|
12
|
-
- No API key required (wraps existing CLI tools)
|
|
13
|
-
- Simple `->relay:` pattern for messaging
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Quick Comparison Matrix
|
|
18
|
-
|
|
19
|
-
| Tool | API Key? | Communication Type | Mechanism | Real-time? | Memory |
|
|
20
|
-
|------|----------|-------------------|-----------|------------|--------|
|
|
21
|
-
| **agent-relay** | No | Direct P2P | Unix socket | Yes | SQLite (pluggable) |
|
|
22
|
-
| Multiagent Chat | No | File + PTY push | Outbox → PTY write | Partial | JSONL chat log |
|
|
23
|
-
| AI Maestro | No (OAuth) | File + WebSocket | File-based queues | Partial | Built-in (code graph) |
|
|
24
|
-
| Toad | Yes | Protocol-based | ACP/A2A protocol | No | Minimal |
|
|
25
|
-
| Oh-My-OpenCode | Yes (multi) | Hierarchical | Sub-agent delegation | No | Context-based |
|
|
26
|
-
| Auto-Claude | Yes | Isolated | Git worktrees | No | Optional (Graphiti) |
|
|
27
|
-
| Maestro | Yes | Group chat + IPC | Electron IPC | Partial | Ephemeral |
|
|
28
|
-
| ACFS | Yes (multi) | File + HTTP | mcp_agent_mail | No | Hybrid (cm) |
|
|
29
|
-
| Claude-Flow | No | Hive-mind | Message bus | Yes | Built-in (AgentDB) |
|
|
30
|
-
| Vibe Kanban | Yes | Unknown | Undocumented | Unknown | Unknown |
|
|
31
|
-
| AxonFlow | Yes | Centralized | Service mesh | Partial | External (Postgres) |
|
|
32
|
-
| Mimir | Optional | Shared DB | Neo4j graph | No | Built-in (Neo4j) |
|
|
33
|
-
| Claude MPM | No | Orchestrator | Subprocess | No | Pluggable |
|
|
34
|
-
| Multi-MCP | Yes | Parallel LLM | asyncio.gather | N/A | None |
|
|
35
|
-
| Every Code | Yes | Consensus | Racing pattern | Partial | Session-based |
|
|
36
|
-
| Orc | Yes | File-based | Drums directory | No | State files |
|
|
37
|
-
| Pied Piper | Yes | Task-based | Beads labels | No | Beads |
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Tier 1: Most Relevant Competitors (Check First)
|
|
42
|
-
|
|
43
|
-
### 1. Claude-Flow (ruvnet/claude-flow)
|
|
44
|
-
**Most Similar to agent-relay**
|
|
45
|
-
|
|
46
|
-
**Communication:** Queen-led hive-mind with message bus pattern
|
|
47
|
-
- 19-file coordination system with work-stealing
|
|
48
|
-
- MCP tools for swarm orchestration
|
|
49
|
-
- Circuit breakers and distributed locking
|
|
50
|
-
|
|
51
|
-
**Key Stats:**
|
|
52
|
-
- 84.8% SWE-Bench solve rate
|
|
53
|
-
- 96x-164x memory query performance boost
|
|
54
|
-
- No API key required (hash-based embeddings)
|
|
55
|
-
|
|
56
|
-
**Pros:**
|
|
57
|
-
- Sophisticated coordination (scheduling, load balancing, fault tolerance)
|
|
58
|
-
- Built-in memory (AgentDB with HNSW indexing)
|
|
59
|
-
- 25 specialized skills + 9 RL algorithms
|
|
60
|
-
|
|
61
|
-
**Cons:**
|
|
62
|
-
- Very complex (steep learning curve)
|
|
63
|
-
- Heavy resource requirements
|
|
64
|
-
- Overkill for simple orchestration
|
|
65
|
-
|
|
66
|
-
**What We Can Learn:**
|
|
67
|
-
- Work-stealing for dynamic load balancing
|
|
68
|
-
- Circuit breaker patterns for fault tolerance
|
|
69
|
-
- Dependency graph for task ordering
|
|
70
|
-
|
|
71
|
-
**Where We're Stronger:**
|
|
72
|
-
- Simpler to understand and use
|
|
73
|
-
- Lighter weight
|
|
74
|
-
- Direct terminal integration with tmux
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
### 2. Maestro (pedramamini/Maestro)
|
|
79
|
-
**Best Desktop UI**
|
|
80
|
-
|
|
81
|
-
**Communication:** Group chat with AI moderator + Git worktrees
|
|
82
|
-
- Dual-process sessions (AI agent + terminal)
|
|
83
|
-
- Message queueing while agents busy
|
|
84
|
-
- Electron IPC for internal coordination
|
|
85
|
-
|
|
86
|
-
**Pros:**
|
|
87
|
-
- Rich desktop UI with three-panel layout
|
|
88
|
-
- Auto Run playbooks for batch processing
|
|
89
|
-
- Mobile access via Cloudflare tunnels
|
|
90
|
-
- Session discovery from existing Claude Code
|
|
91
|
-
|
|
92
|
-
**Cons:**
|
|
93
|
-
- Desktop-only (requires Electron)
|
|
94
|
-
- No persistent cross-session memory
|
|
95
|
-
- Single-agent per session limitation
|
|
96
|
-
|
|
97
|
-
**What We Can Learn:**
|
|
98
|
-
- Playbook system for automated task batching
|
|
99
|
-
- Session discovery/import from existing tools
|
|
100
|
-
- QR code + tunneling for mobile access
|
|
101
|
-
|
|
102
|
-
**Where We're Stronger:**
|
|
103
|
-
- CLI-native (no Electron overhead)
|
|
104
|
-
- True multi-agent in single project
|
|
105
|
-
- Persistent message history
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
### 3. AI Maestro (23blocks-OS/ai-maestro)
|
|
110
|
-
**Best Remote/Multi-Machine**
|
|
111
|
-
|
|
112
|
-
**Communication:** File-based messaging + WebSocket proxy
|
|
113
|
-
- Priority queues (urgent/high/normal/low)
|
|
114
|
-
- Persistent inbox/outbox per agent
|
|
115
|
-
- CLI scripts for agent-to-agent messaging
|
|
116
|
-
|
|
117
|
-
**Pros:**
|
|
118
|
-
- Excellent mobile support (Tailscale VPN)
|
|
119
|
-
- Scales to 100+ agents across machines
|
|
120
|
-
- Rich memory (code graph, semantic search)
|
|
121
|
-
- Portable agent export/import
|
|
122
|
-
|
|
123
|
-
**Cons:**
|
|
124
|
-
- File-based messaging has latency
|
|
125
|
-
- Complex setup (PM2, SSH, tmux)
|
|
126
|
-
- macOS 15+ needs daemon fixes
|
|
127
|
-
|
|
128
|
-
**What We Can Learn:**
|
|
129
|
-
- Multi-machine support architecture
|
|
130
|
-
- Agent portability (export/import)
|
|
131
|
-
- Code graph visualization
|
|
132
|
-
- Priority-based message queuing
|
|
133
|
-
|
|
134
|
-
**Where We're Stronger:**
|
|
135
|
-
- Real-time messaging (not file polling)
|
|
136
|
-
- Simpler single-machine setup
|
|
137
|
-
- No PM2/SSH complexity
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## Tier 2: Interesting Approaches
|
|
142
|
-
|
|
143
|
-
### 4. Multiagent Chat (appoly/multiagent-chat)
|
|
144
|
-
**Best Planning/Discussion Workflow**
|
|
145
|
-
|
|
146
|
-
**Communication:** File-based outbox with PTY push delivery
|
|
147
|
-
- Each agent writes to its outbox markdown file
|
|
148
|
-
- Chokidar file watcher detects changes
|
|
149
|
-
- Messages pushed to other agents via `pty.write()` or `stdin.write()`
|
|
150
|
-
- Immutable chat log in JSONL format
|
|
151
|
-
|
|
152
|
-
**Architecture:**
|
|
153
|
-
- Electron desktop app with xterm terminals
|
|
154
|
-
- node-pty for pseudo-terminal management
|
|
155
|
-
- YAML configuration for agents
|
|
156
|
-
- Two-phase workflow: Planning → Implementation
|
|
157
|
-
|
|
158
|
-
**Pros:**
|
|
159
|
-
- Nice desktop UI with live xterm terminals
|
|
160
|
-
- Works with existing CLI tools (Claude, Codex)
|
|
161
|
-
- Structured planning workflow with PLAN_FINAL.md output
|
|
162
|
-
- Peer review during implementation phase
|
|
163
|
-
- Message sequence numbering for ordering
|
|
164
|
-
- No API key required (uses local CLI auth)
|
|
165
|
-
|
|
166
|
-
**Cons:**
|
|
167
|
-
- Electron-only (desktop required)
|
|
168
|
-
- File-based messaging adds latency
|
|
169
|
-
- Node.js v23+ not supported (native module issues)
|
|
170
|
-
- Limited to discussion/planning workflow
|
|
171
|
-
- No persistent memory across sessions
|
|
172
|
-
- Push-based but not true real-time socket
|
|
173
|
-
|
|
174
|
-
**Technical Details:**
|
|
175
|
-
```yaml
|
|
176
|
-
agents:
|
|
177
|
-
- name: "Claude"
|
|
178
|
-
command: "claude"
|
|
179
|
-
args: ['--dangerously-skip-permissions']
|
|
180
|
-
use_pty: true
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**What We Can Learn:**
|
|
184
|
-
- Structured planning workflow before implementation
|
|
185
|
-
- Peer review patterns for agent collaboration
|
|
186
|
-
- xterm terminal embedding for agent visibility
|
|
187
|
-
- Message sequence numbering for ordering
|
|
188
|
-
|
|
189
|
-
**Where We're Stronger:**
|
|
190
|
-
- True real-time Unix socket (<5ms vs file I/O latency)
|
|
191
|
-
- CLI-native (no Electron overhead)
|
|
192
|
-
- Direct P2P messaging (not file-mediated)
|
|
193
|
-
- Works with Node.js v23+
|
|
194
|
-
- More flexible use cases (not just planning)
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### 5. Mimir (orneryd/Mimir)
|
|
199
|
-
**Best Memory System**
|
|
200
|
-
|
|
201
|
-
**Communication:** Indirect via shared Neo4j graph database
|
|
202
|
-
- Multi-agent locking mechanism
|
|
203
|
-
- 13 MCP tools for memory operations
|
|
204
|
-
- No direct messaging (async via DB)
|
|
205
|
-
|
|
206
|
-
**Pros:**
|
|
207
|
-
- Persistent knowledge graph
|
|
208
|
-
- Semantic search with embeddings
|
|
209
|
-
- PM/Worker/QC workflow patterns
|
|
210
|
-
- Can run offline with Ollama
|
|
211
|
-
|
|
212
|
-
**Cons:**
|
|
213
|
-
- Complex infrastructure (Docker + Neo4j)
|
|
214
|
-
- No real-time direct messaging
|
|
215
|
-
- Resource intensive
|
|
216
|
-
|
|
217
|
-
**What We Can Learn:**
|
|
218
|
-
- Knowledge graph for persistent context
|
|
219
|
-
- Multi-agent locking patterns
|
|
220
|
-
- Role-specific context filtering
|
|
221
|
-
|
|
222
|
-
**Where We're Stronger:**
|
|
223
|
-
- Real-time communication
|
|
224
|
-
- Simpler setup
|
|
225
|
-
- Direct agent-to-agent messaging
|
|
226
|
-
|
|
227
|
-
---
|
|
228
|
-
|
|
229
|
-
### 5. ACFS (Dicklesworthstone/agentic_coding_flywheel_setup)
|
|
230
|
-
**Best Developer Environment**
|
|
231
|
-
|
|
232
|
-
**Communication:** MCP HTTP server (mcp_agent_mail) + file-based state
|
|
233
|
-
- 8-tool "Dicklesworthstone stack"
|
|
234
|
-
- Named tmux session management
|
|
235
|
-
- Procedural memory across sessions
|
|
236
|
-
|
|
237
|
-
**Pros:**
|
|
238
|
-
- VPS-optimized with 30-min setup
|
|
239
|
-
- Comprehensive dev environment (30+ tools)
|
|
240
|
-
- Persistent learning via cass-memory
|
|
241
|
-
- Safety mechanisms (two-person rule)
|
|
242
|
-
|
|
243
|
-
**Cons:**
|
|
244
|
-
- VPS-only (not for local dev)
|
|
245
|
-
- Asynchronous (not real-time)
|
|
246
|
-
- Complex 11-category install
|
|
247
|
-
|
|
248
|
-
**What We Can Learn:**
|
|
249
|
-
- mcp_agent_mail patterns for messaging
|
|
250
|
-
- Procedural memory (cm) for learned patterns
|
|
251
|
-
- Safety mechanisms for dangerous commands
|
|
252
|
-
|
|
253
|
-
**Where We're Stronger:**
|
|
254
|
-
- Works locally (not VPS-only)
|
|
255
|
-
- Real-time sync
|
|
256
|
-
- Simpler setup
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
### 6. Orc (bsmith24/orc)
|
|
261
|
-
**Simplest Two-Agent System**
|
|
262
|
-
|
|
263
|
-
**Communication:** File-based "drums" directory
|
|
264
|
-
- `pm_out.txt` / `dev_out.txt` for responses
|
|
265
|
-
- `pm_in.txt` / `dev_in.txt` for input
|
|
266
|
-
- Approval tracking files
|
|
267
|
-
|
|
268
|
-
**Pros:**
|
|
269
|
-
- Dead simple architecture
|
|
270
|
-
- Clear Taskmaster/Builder separation
|
|
271
|
-
- Session persistence via state files
|
|
272
|
-
- Works with existing Claude CLI
|
|
273
|
-
|
|
274
|
-
**Cons:**
|
|
275
|
-
- Only two agents
|
|
276
|
-
- No real-time updates
|
|
277
|
-
- Manual file-watching
|
|
278
|
-
|
|
279
|
-
**What We Can Learn:**
|
|
280
|
-
- Simple file-based approach can work
|
|
281
|
-
- Clear role separation patterns
|
|
282
|
-
- Session state persistence
|
|
283
|
-
|
|
284
|
-
**Where We're Stronger:**
|
|
285
|
-
- Unlimited agents
|
|
286
|
-
- Real-time messaging
|
|
287
|
-
- Automatic message routing
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
### 7. Pied Piper (sathish316/pied-piper)
|
|
292
|
-
**Best Task-Centric Approach**
|
|
293
|
-
|
|
294
|
-
**Communication:** Beads-based task labels
|
|
295
|
-
- Label-based routing (`@ready-for-hld`, etc.)
|
|
296
|
-
- Human-in-loop approvals
|
|
297
|
-
- YAML playbook configurations
|
|
298
|
-
|
|
299
|
-
**Pros:**
|
|
300
|
-
- Integrates with Beads for task tracking
|
|
301
|
-
- Multi-model ensembles
|
|
302
|
-
- Full audit trails
|
|
303
|
-
- Customizable team configs
|
|
304
|
-
|
|
305
|
-
**Cons:**
|
|
306
|
-
- Not real-time communication
|
|
307
|
-
- Task-based (not message-based)
|
|
308
|
-
- Requires Go build
|
|
309
|
-
|
|
310
|
-
**What We Can Learn:**
|
|
311
|
-
- Beads integration patterns (we already use this!)
|
|
312
|
-
- Playbook YAML structure for teams
|
|
313
|
-
- Audit trail approaches
|
|
314
|
-
|
|
315
|
-
**Where We're Stronger:**
|
|
316
|
-
- Real-time messaging vs task handoffs
|
|
317
|
-
- Direct communication vs label routing
|
|
318
|
-
- Simpler npm install
|
|
319
|
-
|
|
320
|
-
---
|
|
321
|
-
|
|
322
|
-
## Tier 3: Different Focus
|
|
323
|
-
|
|
324
|
-
### 8. Oh-My-OpenCode
|
|
325
|
-
**Best Multi-Model Strategy**
|
|
326
|
-
|
|
327
|
-
Uses hierarchical sub-agents (Sisyphus → Oracle → Frontend Engineer → Librarian) with different models for different roles. $24k token investment in refinement.
|
|
328
|
-
|
|
329
|
-
**Best for:** Sophisticated multi-model workflows
|
|
330
|
-
**Not competing on:** Direct agent communication
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
### 9. Auto-Claude
|
|
335
|
-
**Best Parallel Isolation**
|
|
336
|
-
|
|
337
|
-
Up to 12 agents in isolated git worktrees. AI-assisted conflict resolution during merge. Optional Graphiti memory layer.
|
|
338
|
-
|
|
339
|
-
**Best for:** Autonomous parallel development
|
|
340
|
-
**Not competing on:** Agent collaboration
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
### 10. AxonFlow
|
|
345
|
-
**Best Enterprise Governance**
|
|
346
|
-
|
|
347
|
-
Policy-first with PII detection, SQL injection blocking. Multi-model routing based on cost/compliance.
|
|
348
|
-
|
|
349
|
-
**Best for:** Regulated environments
|
|
350
|
-
**Not competing on:** Developer workflow
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
### 11. Every Code (just-every/code)
|
|
355
|
-
**Best Consensus Approach**
|
|
356
|
-
|
|
357
|
-
Multiple agents compete or collaborate via `/plan` (consensus) and `/solve` (fastest wins).
|
|
358
|
-
|
|
359
|
-
**Best for:** Quick task completion
|
|
360
|
-
**Not competing on:** Persistent collaboration
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
### 12. Toad
|
|
365
|
-
**Best Terminal UI**
|
|
366
|
-
|
|
367
|
-
Beautiful TUI for 12+ different AI agents. Uses Agent Client Protocol (ACP) merged with Google's A2A.
|
|
368
|
-
|
|
369
|
-
**Best for:** Unified terminal experience
|
|
370
|
-
**Not competing on:** Multi-agent orchestration
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
### 13. Vibe Kanban
|
|
375
|
-
**Best Visual Workflow**
|
|
376
|
-
|
|
377
|
-
Kanban-style task management with agent switching. Rust + TypeScript. 6.7k stars.
|
|
378
|
-
|
|
379
|
-
**Best for:** Visual project management
|
|
380
|
-
**Not competing on:** Agent communication (undocumented)
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
|
|
384
|
-
### 14. Claude MPM
|
|
385
|
-
**Best Agent Library**
|
|
386
|
-
|
|
387
|
-
47+ specialized agents from curated repos. Intelligent routing via orchestrator.
|
|
388
|
-
|
|
389
|
-
**Best for:** Finding the right agent for a task
|
|
390
|
-
**Not competing on:** Direct agent messaging
|
|
391
|
-
|
|
392
|
-
---
|
|
393
|
-
|
|
394
|
-
### 15. Multi-MCP
|
|
395
|
-
**Not True Multi-Agent**
|
|
396
|
-
|
|
397
|
-
Just parallel LLM calls via asyncio.gather(). Useful for consensus but agents don't communicate.
|
|
398
|
-
|
|
399
|
-
---
|
|
400
|
-
|
|
401
|
-
## Communication Mechanism Comparison
|
|
402
|
-
|
|
403
|
-
### Real-Time Direct (Like agent-relay)
|
|
404
|
-
| Tool | Mechanism | Latency |
|
|
405
|
-
|------|-----------|---------|
|
|
406
|
-
| agent-relay | Unix Domain Socket | <5ms |
|
|
407
|
-
| Claude-Flow | Message Bus | Low |
|
|
408
|
-
| Maestro | Electron IPC | Low |
|
|
409
|
-
|
|
410
|
-
### File-Based Async
|
|
411
|
-
| Tool | Mechanism | Latency |
|
|
412
|
-
|------|-----------|---------|
|
|
413
|
-
| Multiagent Chat | Outbox → PTY push | ~50-100ms |
|
|
414
|
-
| AI Maestro | Priority queues | ~100ms+ |
|
|
415
|
-
| ACFS | mcp_agent_mail | ~100ms+ |
|
|
416
|
-
| Orc | Drums directory | Polling |
|
|
417
|
-
|
|
418
|
-
### Sub-Agent/Delegation
|
|
419
|
-
| Tool | Pattern |
|
|
420
|
-
|------|---------|
|
|
421
|
-
| Oh-My-OpenCode | Hierarchical (Sisyphus model) |
|
|
422
|
-
| Claude MPM | Orchestrator → specialists |
|
|
423
|
-
| Auto-Claude | Isolated worktrees |
|
|
424
|
-
|
|
425
|
-
### Shared State
|
|
426
|
-
| Tool | Mechanism |
|
|
427
|
-
|------|-----------|
|
|
428
|
-
| Mimir | Neo4j graph database |
|
|
429
|
-
| Pied Piper | Beads labels |
|
|
430
|
-
| AxonFlow | PostgreSQL + Redis |
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
## Memory Architecture Comparison
|
|
435
|
-
|
|
436
|
-
### Built-In Sophisticated
|
|
437
|
-
- **Claude-Flow:** AgentDB + 4-layer architecture + HNSW indexing
|
|
438
|
-
- **Mimir:** Neo4j knowledge graph + semantic embeddings
|
|
439
|
-
- **AI Maestro:** Code graph + conversation indexing
|
|
440
|
-
|
|
441
|
-
### Component/Pluggable
|
|
442
|
-
- **agent-relay:** SQLite (default) or memory adapter
|
|
443
|
-
- **ACFS:** cass-memory for procedural patterns
|
|
444
|
-
- **Auto-Claude:** Optional Graphiti layer
|
|
445
|
-
|
|
446
|
-
### Minimal/Session-Only
|
|
447
|
-
- **Maestro:** Ephemeral (context isolation focus)
|
|
448
|
-
- **Claude MPM:** Resume logs only
|
|
449
|
-
- **Multi-MCP:** Conversation threading
|
|
450
|
-
|
|
451
|
-
---
|
|
452
|
-
|
|
453
|
-
## Remote/Mobile Access
|
|
454
|
-
|
|
455
|
-
| Tier | Tools |
|
|
456
|
-
|------|-------|
|
|
457
|
-
| **Excellent** | AI Maestro (Tailscale VPN, mobile UI) |
|
|
458
|
-
| **Good** | Maestro (Cloudflare tunnels), Claude-Flow (Flow Nexus cloud) |
|
|
459
|
-
| **Partial** | Vibe Kanban (SSH), AxonFlow (SDKs), Mimir (Docker web) |
|
|
460
|
-
| **None** | Claude MPM, Oh-My-OpenCode, Auto-Claude, Orc |
|
|
461
|
-
|
|
462
|
-
agent-relay: **Partial** (dashboard at localhost:3888, could add remote tunneling)
|
|
463
|
-
|
|
464
|
-
---
|
|
465
|
-
|
|
466
|
-
## Recommended Priority for Investigation
|
|
467
|
-
|
|
468
|
-
### Must Study (High Priority)
|
|
469
|
-
1. **Claude-Flow** - Most sophisticated coordination, similar goals
|
|
470
|
-
2. **Maestro** - Best UX patterns, mobile access approach
|
|
471
|
-
3. **AI Maestro** - Multi-machine scaling, agent portability
|
|
472
|
-
|
|
473
|
-
### Should Study (Medium Priority)
|
|
474
|
-
4. **Multiagent Chat** - Planning workflow, peer review patterns
|
|
475
|
-
5. **Mimir** - Memory/knowledge graph patterns
|
|
476
|
-
6. **ACFS** - mcp_agent_mail patterns, procedural memory
|
|
477
|
-
7. **Pied Piper** - Already uses Beads, complementary
|
|
478
|
-
|
|
479
|
-
### Worth Knowing (Low Priority)
|
|
480
|
-
8. **Orc** - Simple file-based reference
|
|
481
|
-
9. **Every Code** - Consensus patterns
|
|
482
|
-
10. **Oh-My-OpenCode** - Multi-model strategies
|
|
483
|
-
|
|
484
|
-
---
|
|
485
|
-
|
|
486
|
-
## What agent-relay Should Learn
|
|
487
|
-
|
|
488
|
-
### From Claude-Flow
|
|
489
|
-
- [ ] Work-stealing for load balancing
|
|
490
|
-
- [ ] Circuit breaker patterns
|
|
491
|
-
- [ ] Dependency graph for task ordering
|
|
492
|
-
- [ ] HNSW indexing for fast memory queries
|
|
493
|
-
|
|
494
|
-
### From Maestro
|
|
495
|
-
- [ ] Session discovery from existing Claude Code
|
|
496
|
-
- [ ] Playbook system for automated batching
|
|
497
|
-
- [ ] Cloudflare tunneling for remote access
|
|
498
|
-
- [ ] QR code for easy mobile connection
|
|
499
|
-
|
|
500
|
-
### From AI Maestro
|
|
501
|
-
- [ ] Multi-machine agent support
|
|
502
|
-
- [ ] Agent portability (export/import)
|
|
503
|
-
- [ ] Priority-based message queuing
|
|
504
|
-
- [ ] Code graph visualization
|
|
505
|
-
|
|
506
|
-
### From Mimir
|
|
507
|
-
- [ ] Knowledge graph for persistent context
|
|
508
|
-
- [ ] Multi-agent locking mechanisms
|
|
509
|
-
- [ ] Role-specific context filtering
|
|
510
|
-
|
|
511
|
-
### From ACFS
|
|
512
|
-
- [ ] Procedural memory for learned patterns
|
|
513
|
-
- [ ] Safety mechanisms (two-person rule)
|
|
514
|
-
- [ ] Named tmux session management patterns
|
|
515
|
-
|
|
516
|
-
### From Multiagent Chat
|
|
517
|
-
- [ ] Structured planning phase before implementation
|
|
518
|
-
- [ ] Peer review workflow for agent collaboration
|
|
519
|
-
- [ ] xterm terminal embedding in dashboard
|
|
520
|
-
- [ ] Message sequence numbering for ordering
|
|
521
|
-
|
|
522
|
-
---
|
|
523
|
-
|
|
524
|
-
## Where agent-relay is Stronger
|
|
525
|
-
|
|
526
|
-
| vs Tool | Our Advantage |
|
|
527
|
-
|---------|---------------|
|
|
528
|
-
| Most competitors | True real-time messaging (<5ms) |
|
|
529
|
-
| File-based (AI Maestro, Orc, ACFS, Multiagent Chat) | No polling, instant delivery |
|
|
530
|
-
| Sub-agent (Claude MPM, Oh-My-OpenCode) | Direct P2P, not orchestrator bottleneck |
|
|
531
|
-
| Desktop (Maestro, Multiagent Chat) | CLI-native, no Electron overhead |
|
|
532
|
-
| Complex (Claude-Flow) | Simple to understand and use |
|
|
533
|
-
| VPS-only (ACFS) | Works locally |
|
|
534
|
-
| Heavy (Mimir) | Lightweight, no Neo4j required |
|
|
535
|
-
| Multiagent Chat | Node.js v23+ support, flexible use cases |
|
|
536
|
-
|
|
537
|
-
---
|
|
538
|
-
|
|
539
|
-
## Gaps to Address
|
|
540
|
-
|
|
541
|
-
### High Priority
|
|
542
|
-
1. **Remote/Mobile Access** - Most competitors have this, we don't
|
|
543
|
-
2. **Multi-Machine Support** - AI Maestro does this well
|
|
544
|
-
3. **Persistent Memory** - Claude-Flow and Mimir have sophisticated approaches
|
|
545
|
-
|
|
546
|
-
### Medium Priority
|
|
547
|
-
4. **Playbooks/Automation** - Maestro's batch processing approach
|
|
548
|
-
5. **Session Discovery** - Import existing Claude Code sessions
|
|
549
|
-
6. **Priority Queuing** - AI Maestro's urgent/high/normal/low
|
|
550
|
-
|
|
551
|
-
### Nice to Have
|
|
552
|
-
7. **Work-Stealing** - From Claude-Flow for load balancing
|
|
553
|
-
8. **Circuit Breakers** - Fault tolerance patterns
|
|
554
|
-
9. **Agent Portability** - Export/import agent state
|
|
555
|
-
|
|
556
|
-
---
|
|
557
|
-
|
|
558
|
-
## Solution Rankings by Use Case
|
|
559
|
-
|
|
560
|
-
### Overall Tier List
|
|
561
|
-
|
|
562
|
-
| Tier | Tools | Why |
|
|
563
|
-
|------|-------|-----|
|
|
564
|
-
| **S-Tier** | Claude-Flow | Most complete feature set, proven SWE-Bench results |
|
|
565
|
-
| **A-Tier** | agent-relay, Maestro, AI Maestro | Strong in specific areas, production-viable |
|
|
566
|
-
| **B-Tier** | Multiagent Chat, Mimir, ACFS | Good for specific workflows, some limitations |
|
|
567
|
-
| **C-Tier** | Orc, Pied Piper, Every Code | Niche use cases or early stage |
|
|
568
|
-
| **D-Tier** | Multi-MCP, Toad | Not true multi-agent or limited scope |
|
|
569
|
-
|
|
570
|
-
---
|
|
571
|
-
|
|
572
|
-
### Best Solution by Use Case
|
|
573
|
-
|
|
574
|
-
#### 1. Real-Time Agent Communication
|
|
575
|
-
*Need: Agents talking to each other with minimal latency*
|
|
576
|
-
|
|
577
|
-
| Rank | Tool | Latency | Notes |
|
|
578
|
-
|------|------|---------|-------|
|
|
579
|
-
| 🥇 | **agent-relay** | <5ms | Unix socket, direct P2P |
|
|
580
|
-
| 🥈 | Claude-Flow | Low | Message bus, more overhead |
|
|
581
|
-
| 🥉 | Maestro | Low | Electron IPC, desktop only |
|
|
582
|
-
| 4th | Multiagent Chat | ~50-100ms | File → PTY push |
|
|
583
|
-
| 5th | AI Maestro | ~100ms+ | File-based queues |
|
|
584
|
-
|
|
585
|
-
**Winner: agent-relay** - Fastest, simplest real-time messaging
|
|
586
|
-
|
|
587
|
-
---
|
|
588
|
-
|
|
589
|
-
#### 2. Easiest Setup / Getting Started
|
|
590
|
-
*Need: Minimal configuration, works out of the box*
|
|
591
|
-
|
|
592
|
-
| Rank | Tool | Setup Time | Requirements |
|
|
593
|
-
|------|------|------------|--------------|
|
|
594
|
-
| 🥇 | **agent-relay** | ~1 min | npm install, no config needed |
|
|
595
|
-
| 🥈 | Orc | ~2 min | Simple file-based, 2 agents only |
|
|
596
|
-
| 🥉 | Multiagent Chat | ~5 min | npm install, YAML config |
|
|
597
|
-
| 4th | Maestro | ~10 min | Electron install, desktop app |
|
|
598
|
-
| 5th | Claude-Flow | ~15 min | Complex configuration |
|
|
599
|
-
| 6th | Mimir | ~30 min | Docker + Neo4j setup |
|
|
600
|
-
| 7th | ACFS | ~30 min | VPS + 11-category install |
|
|
601
|
-
|
|
602
|
-
**Winner: agent-relay** - `npm i -g agent-relay && agent-relay up`
|
|
603
|
-
|
|
604
|
-
---
|
|
605
|
-
|
|
606
|
-
#### 3. Rich Desktop UI / Visualization
|
|
607
|
-
*Need: Visual interface for monitoring agents*
|
|
608
|
-
|
|
609
|
-
| Rank | Tool | UI Type | Features |
|
|
610
|
-
|------|------|---------|----------|
|
|
611
|
-
| 🥇 | **Maestro** | Electron | Three-panel layout, session discovery |
|
|
612
|
-
| 🥈 | **Multiagent Chat** | Electron | xterm terminals, live chat |
|
|
613
|
-
| 🥉 | Vibe Kanban | Web | Kanban boards (6.7k stars) |
|
|
614
|
-
| 4th | agent-relay | Web | Dashboard at localhost:3888 |
|
|
615
|
-
| 5th | AI Maestro | Web | Basic status dashboard |
|
|
616
|
-
| 6th | Claude-Flow | CLI | Flow Nexus (limited) |
|
|
617
|
-
|
|
618
|
-
**Winner: Maestro** - Best desktop experience with mobile access
|
|
619
|
-
|
|
620
|
-
---
|
|
621
|
-
|
|
622
|
-
#### 4. Enterprise / Production Scale
|
|
623
|
-
*Need: Governance, compliance, fault tolerance*
|
|
624
|
-
|
|
625
|
-
| Rank | Tool | Governance | Scale | Fault Tolerance |
|
|
626
|
-
|------|------|------------|-------|-----------------|
|
|
627
|
-
| 🥇 | **AxonFlow** | PII detection, policy-first | High | Service mesh |
|
|
628
|
-
| 🥈 | **Claude-Flow** | Circuit breakers | High | Work-stealing, locking |
|
|
629
|
-
| 🥉 | AI Maestro | Basic | 100+ agents | PM2 process management |
|
|
630
|
-
| 4th | agent-relay | None | Medium | SQLite persistence |
|
|
631
|
-
| 5th | Mimir | Multi-agent locking | Medium | Neo4j reliability |
|
|
632
|
-
|
|
633
|
-
**Winner: AxonFlow** - Built for regulated environments
|
|
634
|
-
|
|
635
|
-
---
|
|
636
|
-
|
|
637
|
-
#### 5. Multi-Machine / Distributed Agents
|
|
638
|
-
*Need: Agents running on different machines*
|
|
639
|
-
|
|
640
|
-
| Rank | Tool | Multi-Machine | Mobile Access |
|
|
641
|
-
|------|------|---------------|---------------|
|
|
642
|
-
| 🥇 | **AI Maestro** | Native (SSH, PM2) | Tailscale VPN |
|
|
643
|
-
| 🥈 | **Maestro** | Cloudflare tunnels | QR code pairing |
|
|
644
|
-
| 🥉 | Claude-Flow | Flow Nexus cloud | Partial |
|
|
645
|
-
| 4th | ACFS | VPS-native | SSH |
|
|
646
|
-
| 5th | agent-relay | Not yet | Dashboard only |
|
|
647
|
-
|
|
648
|
-
**Winner: AI Maestro** - Purpose-built for distributed teams
|
|
649
|
-
|
|
650
|
-
---
|
|
651
|
-
|
|
652
|
-
#### 6. Persistent Memory / Knowledge Graph
|
|
653
|
-
*Need: Agents remembering context across sessions*
|
|
654
|
-
|
|
655
|
-
| Rank | Tool | Memory Type | Sophistication |
|
|
656
|
-
|------|------|-------------|----------------|
|
|
657
|
-
| 🥇 | **Mimir** | Neo4j knowledge graph | Semantic embeddings |
|
|
658
|
-
| 🥈 | **Claude-Flow** | AgentDB + HNSW | 4-layer architecture |
|
|
659
|
-
| 🥉 | AI Maestro | Code graph + indexing | Conversation memory |
|
|
660
|
-
| 4th | ACFS | cass-memory | Procedural patterns |
|
|
661
|
-
| 5th | agent-relay | SQLite | Message history only |
|
|
662
|
-
| 6th | Multiagent Chat | JSONL | Chat log only |
|
|
663
|
-
|
|
664
|
-
**Winner: Mimir** - Full knowledge graph with semantic search
|
|
665
|
-
|
|
666
|
-
---
|
|
667
|
-
|
|
668
|
-
#### 7. Planning & Structured Workflows
|
|
669
|
-
*Need: Formal planning before implementation*
|
|
670
|
-
|
|
671
|
-
| Rank | Tool | Planning Features |
|
|
672
|
-
|------|------|-------------------|
|
|
673
|
-
| 🥇 | **Multiagent Chat** | Two-phase workflow, PLAN_FINAL.md, peer review |
|
|
674
|
-
| 🥈 | **Pied Piper** | Beads integration, playbooks, audit trails |
|
|
675
|
-
| 🥉 | **Maestro** | Auto Run playbooks, batch processing |
|
|
676
|
-
| 4th | Oh-My-OpenCode | Hierarchical refinement ($24k token investment) |
|
|
677
|
-
| 5th | agent-relay | No built-in workflow |
|
|
678
|
-
|
|
679
|
-
**Winner: Multiagent Chat** - Purpose-built for planning discussions
|
|
680
|
-
|
|
681
|
-
---
|
|
682
|
-
|
|
683
|
-
#### 8. Multi-Model Orchestration
|
|
684
|
-
*Need: Different AI models for different tasks*
|
|
685
|
-
|
|
686
|
-
| Rank | Tool | Models Supported | Routing |
|
|
687
|
-
|------|------|------------------|---------|
|
|
688
|
-
| 🥇 | **Oh-My-OpenCode** | Multiple (Sisyphus hierarchy) | Role-based |
|
|
689
|
-
| 🥈 | **AxonFlow** | Multiple | Cost/compliance routing |
|
|
690
|
-
| 🥉 | **Toad** | 12+ agents | Unified TUI |
|
|
691
|
-
| 4th | Every Code | Multiple | Consensus/racing |
|
|
692
|
-
| 5th | agent-relay | Any CLI | No routing (user choice) |
|
|
693
|
-
|
|
694
|
-
**Winner: Oh-My-OpenCode** - Sophisticated multi-model workflows
|
|
695
|
-
|
|
696
|
-
---
|
|
697
|
-
|
|
698
|
-
#### 9. CLI-Native / Lightweight
|
|
699
|
-
*Need: Terminal-first, minimal resource usage*
|
|
700
|
-
|
|
701
|
-
| Rank | Tool | Runtime | Memory Footprint |
|
|
702
|
-
|------|------|---------|------------------|
|
|
703
|
-
| 🥇 | **agent-relay** | Node.js CLI | ~50MB |
|
|
704
|
-
| 🥈 | **Orc** | Shell scripts | ~10MB |
|
|
705
|
-
| 🥉 | Claude-Flow | Node.js | ~200MB |
|
|
706
|
-
| 4th | ACFS | Node.js + tools | ~300MB |
|
|
707
|
-
| 5th | Maestro | Electron | ~500MB+ |
|
|
708
|
-
| 6th | Mimir | Docker + Neo4j | ~2GB+ |
|
|
709
|
-
|
|
710
|
-
**Winner: agent-relay** - Lightest full-featured solution
|
|
711
|
-
|
|
712
|
-
---
|
|
713
|
-
|
|
714
|
-
#### 10. Parallel Development / Isolation
|
|
715
|
-
*Need: Multiple agents working on same codebase without conflicts*
|
|
716
|
-
|
|
717
|
-
| Rank | Tool | Isolation Method |
|
|
718
|
-
|------|------|------------------|
|
|
719
|
-
| 🥇 | **Auto-Claude** | Git worktrees (up to 12 agents) |
|
|
720
|
-
| 🥈 | **Maestro** | Session isolation per worktree |
|
|
721
|
-
| 🥉 | agent-relay | tmux sessions (shared codebase) |
|
|
722
|
-
| 4th | Every Code | Racing pattern |
|
|
723
|
-
|
|
724
|
-
**Winner: Auto-Claude** - Purpose-built for parallel isolation
|
|
725
|
-
|
|
726
|
-
---
|
|
727
|
-
|
|
728
|
-
### Quick Decision Matrix
|
|
729
|
-
|
|
730
|
-
| If you need... | Use this |
|
|
731
|
-
|----------------|----------|
|
|
732
|
-
| **Fastest setup** | agent-relay |
|
|
733
|
-
| **Real-time chat between agents** | agent-relay |
|
|
734
|
-
| **Beautiful desktop UI** | Maestro or Multiagent Chat |
|
|
735
|
-
| **Agents on multiple machines** | AI Maestro |
|
|
736
|
-
| **Enterprise governance** | AxonFlow |
|
|
737
|
-
| **Persistent knowledge graph** | Mimir |
|
|
738
|
-
| **Structured planning workflow** | Multiagent Chat |
|
|
739
|
-
| **Different models for different tasks** | Oh-My-OpenCode |
|
|
740
|
-
| **Lightest resource usage** | agent-relay or Orc |
|
|
741
|
-
| **Parallel isolated development** | Auto-Claude |
|
|
742
|
-
| **Most features overall** | Claude-Flow |
|
|
743
|
-
|
|
744
|
-
---
|
|
745
|
-
|
|
746
|
-
### Where agent-relay Wins
|
|
747
|
-
|
|
748
|
-
| Use Case | Why agent-relay |
|
|
749
|
-
|----------|-----------------|
|
|
750
|
-
| **Quick prototyping** | 1-minute setup, immediate messaging |
|
|
751
|
-
| **Real-time collaboration** | <5ms latency, direct P2P |
|
|
752
|
-
| **CLI workflows** | No Electron, integrates with tmux |
|
|
753
|
-
| **Simple multi-agent** | Just works with existing Claude/Codex |
|
|
754
|
-
| **Resource-constrained** | Lightweight, no Docker/Neo4j |
|
|
755
|
-
|
|
756
|
-
### Where agent-relay Should Defer
|
|
757
|
-
|
|
758
|
-
| Use Case | Better Choice | Why |
|
|
759
|
-
|----------|---------------|-----|
|
|
760
|
-
| Enterprise compliance | AxonFlow | Policy-first, PII detection |
|
|
761
|
-
| Visual workflows | Maestro | Rich desktop UI |
|
|
762
|
-
| Multi-machine | AI Maestro | Native distributed support |
|
|
763
|
-
| Knowledge persistence | Mimir | Neo4j graph database |
|
|
764
|
-
| Planning discussions | Multiagent Chat | Structured workflow |
|
|
765
|
-
| Parallel isolation | Auto-Claude | Git worktree isolation |
|
|
766
|
-
|
|
767
|
-
---
|
|
768
|
-
|
|
769
|
-
## agent-relay as a Composable Layer
|
|
770
|
-
|
|
771
|
-
### The Integration Advantage
|
|
772
|
-
|
|
773
|
-
Most competitors try to be **complete solutions** - handling communication, memory, UI, workflows, and orchestration. agent-relay takes a different approach: **do one thing exceptionally well** (real-time messaging) and integrate with best-of-breed tools for everything else.
|
|
774
|
-
|
|
775
|
-
```
|
|
776
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
777
|
-
│ Your Agent System │
|
|
778
|
-
├─────────────────────────────────────────────────────────────┤
|
|
779
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
780
|
-
│ │ Mimir │ │ Maestro │ │ Pied Piper │ │
|
|
781
|
-
│ │ (Memory) │ │ (UI) │ │ (Workflows) │ │
|
|
782
|
-
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
|
783
|
-
│ │ │ │ │
|
|
784
|
-
│ └────────────────┼────────────────┘ │
|
|
785
|
-
│ │ │
|
|
786
|
-
│ ┌─────────▼─────────┐ │
|
|
787
|
-
│ │ agent-relay │ │
|
|
788
|
-
│ │ (Real-time P2P) │ │
|
|
789
|
-
│ │ <5ms │ │
|
|
790
|
-
│ └─────────┬─────────┘ │
|
|
791
|
-
│ │ │
|
|
792
|
-
│ ┌────────────────┼────────────────┐ │
|
|
793
|
-
│ │ │ │ │
|
|
794
|
-
│ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │
|
|
795
|
-
│ │ Claude │ │ Codex │ │ Gemini │ │
|
|
796
|
-
│ └─────────┘ └─────────┘ └─────────┘ │
|
|
797
|
-
└─────────────────────────────────────────────────────────────┘
|
|
798
|
-
```
|
|
799
|
-
|
|
800
|
-
### Composition Examples
|
|
801
|
-
|
|
802
|
-
| Combine agent-relay with... | You get... |
|
|
803
|
-
|-----------------------------|------------|
|
|
804
|
-
| **Mimir** | Real-time chat + persistent knowledge graph |
|
|
805
|
-
| **Maestro** | Real-time messaging + rich desktop UI |
|
|
806
|
-
| **Beads/Pied Piper** | Real-time chat + dependency-aware task tracking |
|
|
807
|
-
| **Auto-Claude** | Real-time coordination + isolated git worktrees |
|
|
808
|
-
| **AxonFlow** | Real-time P2P + enterprise governance layer |
|
|
809
|
-
| **ACFS** | Real-time sync + procedural memory |
|
|
810
|
-
|
|
811
|
-
### Why This Matters
|
|
812
|
-
|
|
813
|
-
**Monolithic solutions** (Claude-Flow, AI Maestro):
|
|
814
|
-
- ✅ Everything works together out of the box
|
|
815
|
-
- ❌ Locked into their choices (Neo4j, Electron, etc.)
|
|
816
|
-
- ❌ Hard to swap components
|
|
817
|
-
- ❌ Heavier resource usage
|
|
818
|
-
|
|
819
|
-
**Composable approach** (agent-relay + X):
|
|
820
|
-
- ✅ Best tool for each job
|
|
821
|
-
- ✅ Swap components as better ones emerge
|
|
822
|
-
- ✅ Lighter base footprint
|
|
823
|
-
- ✅ Works with existing infrastructure
|
|
824
|
-
- ❌ Requires integration work
|
|
825
|
-
|
|
826
|
-
### Potential Integrations Roadmap
|
|
827
|
-
|
|
828
|
-
| Integration | Benefit | Complexity |
|
|
829
|
-
|-------------|---------|------------|
|
|
830
|
-
| **Mimir adapter** | Add Neo4j memory to agent-relay | Medium |
|
|
831
|
-
| **Maestro bridge** | Use Maestro UI with relay messaging | Medium |
|
|
832
|
-
| **Beads sync** | Auto-create Beads issues from agent messages | Low (already partial) |
|
|
833
|
-
| **Cloudflare tunnel** | Remote access like Maestro | Low |
|
|
834
|
-
| **MCP server** | Expose relay as MCP tools | Low |
|
|
835
|
-
|
|
836
|
-
### Revised Tier List (as Integration Layer)
|
|
837
|
-
|
|
838
|
-
When considering agent-relay as a **messaging layer** rather than complete solution:
|
|
839
|
-
|
|
840
|
-
| Scenario | Tier |
|
|
841
|
-
|----------|------|
|
|
842
|
-
| Standalone simple multi-agent | **A-Tier** |
|
|
843
|
-
| + Mimir for memory | **S-Tier** (best of both) |
|
|
844
|
-
| + Maestro UI | **S-Tier** (best of both) |
|
|
845
|
-
| + Beads for workflows | **A-Tier** (already works) |
|
|
846
|
-
| Enterprise (+ AxonFlow governance) | **A-Tier** |
|
|
847
|
-
|
|
848
|
-
### The Unix Philosophy
|
|
849
|
-
|
|
850
|
-
agent-relay follows the Unix philosophy:
|
|
851
|
-
- **Do one thing well**: Real-time agent messaging
|
|
852
|
-
- **Work with others**: Simple patterns (`->relay:`), standard I/O
|
|
853
|
-
- **Text streams**: Messages are just text, easy to parse/transform
|
|
854
|
-
- **Composability**: Pipe into other tools, wrap other CLIs
|
|
855
|
-
|
|
856
|
-
This is why agent-relay can potentially **beat Claude-Flow** in a composed system - you get real-time messaging without the 19-file coordination complexity, then add only the features you actually need.
|
|
857
|
-
|
|
858
|
-
---
|
|
859
|
-
|
|
860
|
-
## Conclusion
|
|
861
|
-
|
|
862
|
-
agent-relay occupies a unique position: **the real-time messaging layer for multi-agent systems**.
|
|
863
|
-
|
|
864
|
-
### Standalone Value
|
|
865
|
-
- Simple, real-time, direct agent-to-agent communication
|
|
866
|
-
- No API keys required (wraps existing CLI tools)
|
|
867
|
-
- <5ms latency via Unix Domain Socket
|
|
868
|
-
- 1-minute setup
|
|
869
|
-
|
|
870
|
-
### Composable Value
|
|
871
|
-
- **Messaging primitive** that integrates with best-of-breed tools
|
|
872
|
-
- Combine with Mimir (memory), Maestro (UI), Beads (workflows)
|
|
873
|
-
- Unix philosophy: do one thing well, compose with others
|
|
874
|
-
- Lighter than monolithic solutions
|
|
875
|
-
|
|
876
|
-
### Competitive Position
|
|
877
|
-
|
|
878
|
-
| Approach | Example | agent-relay's Role |
|
|
879
|
-
|----------|---------|-------------------|
|
|
880
|
-
| Monolithic | Claude-Flow | Alternative (simpler) |
|
|
881
|
-
| File-based | AI Maestro, Orc | Replacement (faster) |
|
|
882
|
-
| Desktop-only | Maestro, Multiagent Chat | Complement (CLI layer) |
|
|
883
|
-
| Memory-focused | Mimir | Complement (add messaging) |
|
|
884
|
-
| Workflow-focused | Pied Piper | Complement (add real-time) |
|
|
885
|
-
|
|
886
|
-
### Strategic Direction
|
|
887
|
-
|
|
888
|
-
**Short-term:** Best standalone real-time messaging for simple multi-agent
|
|
889
|
-
**Long-term:** The messaging backbone that other tools integrate with
|
|
890
|
-
|
|
891
|
-
**Key opportunities:**
|
|
892
|
-
1. **MCP server** - Expose relay as MCP tools for broader integration
|
|
893
|
-
2. **Cloudflare tunnel** - Remote access like Maestro
|
|
894
|
-
3. **Mimir adapter** - Optional persistent memory
|
|
895
|
-
4. **Maestro bridge** - Use their UI with our messaging
|
|
896
|
-
|
|
897
|
-
**Biggest threat:** Claude-Flow has similar real-time capabilities with more features, but is significantly more complex. The composable approach may win in the long run as developers prefer best-of-breed components over monolithic solutions.
|