Docs

Everything you need to drive Angi from your first chat to a paid SaaS workspace.

Quickstart

  • Sign in at /login (magic link, password, or GitHub OAuth).
  • Create or pick a workspace from the sidebar switcher.
  • Add at least one provider key in Settings → API Keys.
  • Start a chat from the New Chat button. Switch the model in the composer footer.

Swarm topologies

  • 4 engines: hierarchical, mesh, hierarchical-mesh, adaptive.
  • Adaptive auto-picks: ≤4 → mesh, ≤9 → hierarchical, ≥10 → hierarchical-mesh.
  • Cap is 15 agents per swarm. Free plan limits to 3 active.
  • Coordinate via one Supabase Realtime channel per swarm with in-payload routing.

Tools (MCP)

  • 14 default tools registered: swarm/{init,status,list,destroy}, agent/{spawn,list,kill}, memory/{store,search,list,forget}, task/{orchestrate,status,update}.
  • HTTP transport at /api/mcp/v1 — JSON-RPC 2.0 over POST.
  • stdio transport for spawning under MCP hosts (Claude Code, Cursor).

Bring your own keys

  • Each provider key is encrypted with AES-256-GCM, scoped to your row, and decrypted only inside the request that needs it.
  • Rotate by pasting a new value over the masked preview at /settings/api-keys.
  • Server falls back to platform env vars when a per-user key is absent.

Security model

  • RLS on every public table. Helpers live in a private schema so PostgREST cannot expose them.
  • Service-role key never touches the browser bundle; used only inside server routes and edge functions.
  • Stripe webhook verifies signature with createSubtleCryptoProvider before mutating workspace plan.

CLI

  • npm i -g @angi/cli (or use `pnpm --filter @angi/cli dev`).
  • angi config set-base-url https://yourdomain && angi config set-token <token>
  • angi swarm init --name demo, angi agent spawn --swarm <id> --type coder
  • angi memory search "vector index" --mode hybrid

Source on GitHub. Track development on /updates.