oswarm.ai MIT LICENSE PRE-RELEASE SELF-HOSTED

  Open-source agent orchestration

Run the swarm.
Own the stack.

Open Swarm is an open-source platform for running swarms of AI agents on infrastructure you control — one platform that scales from a laptop to a Kubernetes cluster. Bring any agent harness, any model, your own keys. Your data stays home.

RUNS Claude Code Codex CLI Gemini CLI Cline CrewAI + your harness
5
Agent harnesses
40+
Model providers
300+
Connectors in catalog
30+
App manifests
MIT
Licensed, forever
/the-gap

Agentic AI shouldn't force a choice between capability and control.

Hosted agent platforms are powerful — and they come with their models, their cloud, and their data terms. Open Swarm closes that gap for businesses and individuals alike: the same swarm-scale automation, on hardware and accounts you own.

Hosted agent platforms

  • Their model, or nothing — routing you elsewhere is against their margin
  • Your tokens and data held in their cloud
  • Integrations live in their walled garden
  • Pricing, quotas, and deprecations you don't control
  • Regulated data can't legally live there at all

Open Swarm

  • Any harness, any model — vendors compete for every call
  • Your keys, encrypted per user, on your machine
  • Connectors run on your accounts, tokens never leave home
  • MIT-licensed source — fork it, audit it, keep it
  • Self-hosted end to end — laptop, server, or your own cluster
/day-one

At home: ten minutes to a private swarm that knows your stuff.

Point it at your life and it connects immediately — lights, thermostats, calendars, inboxes, files, money — into one encrypted store on your own hardware. Then wire anything to anything: a signal from one connector can drive actions across all the rest, and none of it leaves your house.

  automations/millionaire-alarm.yaml
# a cross-domain rule: money watches, house celebrates
when:
  finance.net-worth: above $1,000,000   # your own bank link
then:
  - home.lights: flash              # every room, on and off
  - notify.text: "go look at the app"
  - notify.call: voice announcement
  - notify.email: milestone recap
Connect

Your accounts, your OAuth

Sign in to your own Google, SmartThings, bank, and social accounts. Tokens are encrypted per user on your machine — no third party in the middle.

Combine

Rules across domains

The finance bot watches the number; the home bot owns the lights; notifications fan out. Data, devices, and workflows compose — connect, don't code.

Keep it

Private by default

Everything lands in a per-user encrypted store you host. Nothing posts, sends, or dials without passing your approval gate first.

Applications — built on the framework, some of the 30+ in the repo

Assistantone conversation over every app — type or talk
Emailinbox triage and daily summaries
Home & IoTdevices, scenes, schedules
Financeaccounts and net worth, read-only
Contentpost ideas mined from trends and news
Vidsgenerate short videos, ready to publish
Socialwhole campaigns, scheduled — posted only on your approval
Careertalks through your stories, finds the gaps, turns them into accomplishments with backing — then tailors the resume to every posting
Tradingideas → monitored strategies, paper or real — see below
Shoppingbest price, deep-linked cart — you place the order
Storageyour files across every cloud
Study coachrecord a lecture → notes, slides, tracked assignments — see its story below
+ operations, security, presentations, news, and more →
app spotlight — intelligent trading

Paper or real. Talk an idea through with the assistant and it becomes a monitored strategy: backtest it just by describing it, wire it into the signals already flowing through your swarm, and run it paper-first. Going live is a deliberate double opt-in — every position watched, one kill switch to halt everything.

On the builder's own monitored book: about 4%/month over the market on average. Your results are your own — nothing here is financial advice.

app spotlight — shopping

You place the order. Add things to your cart in chat; the swarm hunts the best price and deep-links the filled cart into Walmart or Amazon. It never holds your payment details and never buys on its own — the last click is always yours.

/platform

The framework is what's possible. Every layer stays swappable.

Two things live here: the framework — the rails below — and the applications built on top of it, like the ones above. Open Swarm doesn't compete with agent frameworks or model vendors — it wraps them. Neutrality is the product: best-of-breed gets re-decided on every call, and no single vendor can hold your workflows hostage.

Any harness, side by side

Claude Code, Codex CLI, Gemini CLI, Cline, and CrewAI run as first-class runtimes behind one interface. A single ticket can flow across vendors — one bot drafts, another reviews, a third documents — sharing one workspace.

Any model, hosted or local

40+ providers wired in — Anthropic, OpenAI, Google, Bedrock, Groq, Cerebras, Mistral, and more — plus fully local inference via Ollama, LM Studio, and LiteLLM. Bring your own keys, or run models that never touch the internet.

Connect, don't code

A connector marketplace with hundreds of definitions and a live-proven core — Gmail, GitHub, Slack, Jira, LinkedIn, and more. OAuth per user, tokens encrypted at rest, capabilities scoped per bot. Adding a provider is configuration, not a rewrite.

Workflows with approval gates

Declare ticket types and multi-stage pipelines in a manifest, or draw them in Workflow Studio. Stages can require an explicit human approval before anything posts, sends, or changes production. The human stays in the loop by design.

Enterprise-grade security

OIDC single sign-on, database-enforced row-level security on every tenant table, AES-256-GCM per-user token encryption, and a token broker so bots receive short-lived scoped credentials — never the master key.

Every call on the ledger

Each LLM call is metered per bot, per provider, per model, per ticket — real cost accounting in your own Postgres. And Token Chase captures calls as replayable frames, so cheaper model-and-harness lanes can be graded against the original for equivalence before you switch.

/the-glue

At work: the glue between the systems you already bought.

Open Swarm doesn't ask your team to switch tools. It sits between the pieces, and any component can be subbed out or integrated — a model, a harness, a connector, an entire workflow engine.

system of record

The ticket stays where it lives

Jira, ServiceNow, or your own queue. Nobody migrates anything — the source of truth stays the source of truth.

open swarm

An internal bot does the job

A swarm bot picks the ticket up, pulls context through your connectors and runbook RAG, does the work on your infrastructure, and passes your approval gates.

back to the source

The answer lands in the ticket

Resolution, artifacts, and the cost of producing them post back to the original ticket. Your team never left their tool.

A workflow step can be anything. Another workflow engine. An external process. A different vendor's agent. A human approval. The swarm genuinely doesn't care what a step runs — the wrapper owns the integration, so every part stays replaceable and no single vendor ever holds the whole.

another workflow engine an external process another vendor's agent a human approval that legacy script nobody rewrites
/architecture

A control plane that orchestrates. Bot nodes that execute.

The separation is strict: the controller routes tickets, phases, and approvals — it never calls an LLM. Bot nodes own all model execution, each running its own harness against its own provider, collaborating over a Redis mesh.

Swarm controllercockpit · queue manager · ticket routing · approval gates · cost ledger
NEVER CALLS AN LLM
redis mesh — streams · heartbeats · bot-to-bot collaboration
bot-node
claude-code
provider anthropic
bot-node
codex-cli
provider openai
bot-node
gemini-cli
provider google
bot-node
crewai
provider ollama · local
postgres — tickets · agents · per-call cost ledger chromadb — RAG corpus · swarm memory one imageBOT_RUNTIME decides controller or node

One ticket, many vendors. Because every harness sits behind the same interface, a single piece of work can move across them — a Codex bot drafts, a Claude bot reviews, a Gemini bot writes the runbook — with every call metered and every artifact in one shared workspace. No other orchestrator treats the harness itself as a swappable layer.

/cockpit

Real software you can click, not a deck.

Unretouched screens from the current pre-release build. It still wears the project's working name in the chrome — the rebrand hasn't reached the app yet, and we'd rather show you that than restage a screenshot.

Ops dashboard: API health, scheduler ready, 186 active tickets, 8 active runs, a process-flow snapshot across intake, routing, dispatch, execution and closed, and a health registry listing agents as busy or idle
The runtime, under load. A ticket's whole lifecycle — intake, routing, dispatch, execution, closed — beside a live registry of every agent, busy or idle.
Workflow Studio canvas showing a twelve-node, thirteen-edge graph: start, normalize intake, plan ticket, await build approval, route specialist, parallel split, execute work, verify deliverable, review outcome
A workflow, and a gate. Twelve nodes, thirteen edges — with Await Build Approval sitting in the middle. Nothing reaches production without a human.
Bot Forge with a live swarm injection badge, a three-step describe, pack-and-build, inject-live explainer, a bot card waiting to be injected, and 37 bots in the live swarm
Describe a bot; it joins the swarm. The Forge interviews you, packs a persona, manifest, and tools, then injects it into the running swarm — no redeploy.
World Intelligence surface: tracked tickers with a bias-aware sentiment breakdown across political and economic axes and by outlet kind, plus a note that outlet ratings are seed placeholders
Bias-aware — and it admits its limits. Sentiment split by political axis, economic axis, and outlet kind. Read the fine print: it tells you the outlet ratings are seed placeholders.
The cockpit connector marketplace: a searchable catalog of 1,306 connectors with per-user credentials, risk filters, and live counts
The connector marketplace. 1,306 catalog entries — 306 hand-audited, the rest imported from OpenAPI definitions. Credentials stay user-owned. (Booted with no model connected — hence the banner.)
Connector cards showing each provider's auth model, risk rating, and exact read and write capabilities
Governance, per connector. Each one declares its auth model, its risk, and exactly what it can read or write — and those capabilities are scoped per bot.
/scale

The same platform, from one laptop to your cluster.

One Docker image boots as controller or bot node. What changes between a laptop demo and a datacenter deployment is the substrate — never the platform. And we label what's shipped versus what's ahead, because honest engineering is a feature.

Shipped

Laptop

One command via Docker Compose: controller, Postgres, Redis, ChromaDB, and bot nodes on localhost. A zero-keys demo mode boots the full stack with no accounts at all — kick the tires before you connect anything.

Shipped

Server

The same compose stack on a box you own, with OIDC sign-on, per-user isolation, and edge nodes that enlist remote machines into the mesh. Multiple users, one accountable swarm.

In progress

Kubernetes

K8s manifests for the full stack ship in the repo today. The scale-out path — agent work as Argo Workflows batch jobs, GitOps delivery, in-cluster model serving so data never leaves the datacenter — is designed and being proven out.

/security

Built like the data is yours. Because it is.

Self-hosting isn't a deployment detail — it's the security model. Nothing leaves your infrastructure unless a workflow you approved sends it.

Keys encrypted per user

Connector tokens and API keys are encrypted at rest with AES-256-GCM, keyed to the individual user. A token broker hands bots short-lived, single-user credentials — the master key never leaves the controller.

Isolation enforced by the database

Row-level security is live across every tenant table and forced on — the application runs as a least-privilege role, so one user's data is invisible to another even if application code gets it wrong.

Single sign-on, opt-in routes

OIDC authentication against your identity provider — Keycloak works out of the box. Anything that touches files, personas, or model execution is auth-gated; a mock-auth mode keeps local development friction-free.

Humans approve outward actions

Agents draft; you decide. Nothing posts to social, sends an email, or changes a production system without an explicit approval step in the workflow. Autonomy where it's safe, a gate where it isn't.

/developers

A cradle for your harness, outside the hosted walls.

Vendor CLIs are brilliant and boxed in. Open Swarm gives them a neutral runtime: run them side by side on your own hardware, where they inherit your connectors, your security controls, your cost ledger — and collaborate over the mesh. Add a module; the platform does the rest.

Add an app

One YAML manifest, zero forks — about ten minutes

An app declares its bots, personas, tools, ticket types, and UI surface in a single manifest. Hot-load it into a running swarm — no redeploy. The core stays undifferentiated; the manifest is the DNA.

Add a harness

Two methods and a factory entry

A harness adapter implements run() and an optional health check; CLI-spawn harnesses inherit shared subprocess plumbing from a base class. The Gemini CLI harness landed as one ~300-line adapter.

Add a connector

A spec, not a service

Connectors are declarative specs with per-user brokered auth. Import them from OpenAPI definitions in bulk, scope their capabilities per bot, and let every app you build reuse them.

Or just describe it

Bot Forge builds bots by conversation

Describe a business process in plain language and the Forge interviews you, then packs a complete single-purpose bot — persona, manifest, tools, knowledge base — and registers it into the live swarm.

swarm-apps/support-triage.yaml
# a working app, one manifest
name: support-triage
ticketTypes:
  - id: support-triage
    workflow:
      workerBot: triage-bot
bots:
  - id: triage-bot
    harnessType: claude-code   # or codex-cli, gemini-cli…
    persona: personas/triage.yaml
connectors: [zendesk, slack]
ui:
  ribbon: { tab: Support }

# hot-load into the running swarm
POST /api/swarm/apps/load

The premise, proven

Little Monsters — the study coach in the app list above — accelerates learning for students with learning disabilities, and it was built by students with disabilities; a dyslexic teenage girl led it. Record a lecture and it becomes notes, slides, and flashcards; assignments track themselves; ask a question and get help — on a laptop or a phone.

And because it's a packed bot, it's boxed in: the deterministic persona framework locks down cheating — it tutors, explains, and quizzes, but it won't do the work for the student. That was this platform's founding premise: building an app that's scalable, secure, and safe should be easy enough that anyone with a real problem can do it. The manifest declared her app; the platform carried the auth, the isolation, the bots, and the UI. Yours gets the same rails.

/mission
Mission

Close the gap between agentic AI and the people it works for — make swarm-scale automation something you run, not something you rent.

Vision

Any individual or business can operate enterprise-grade agent swarms on infrastructure they control — laptop to datacenter — with no vendor able to hold their data, keys, or workflows hostage.

Values

Ownership first

Your keys, your data, your hardware. Every design decision starts from the premise that the user — not the platform, not a vendor — owns the substrate. If a feature requires surrendering that, it doesn't ship.

Neutrality is the product

We don't bet your workflows on one framework or one model. Harnesses and providers stay interchangeable, so best-of-breed is re-decided on every call — and vendors compete for your work.

Honest engineering

Docs describe what's built; the roadmap says what isn't. Shipped, in-progress, and planned are labeled — on this page too. Overclaiming is a bug.

Open by default

MIT-licensed, source-first, grassroots. No pricing page, no sales funnel, no enterprise edition holding the good parts back. Free means free.

Human in the loop

Swarms draft, analyze, and prepare; people approve what leaves the building. Autonomy is earned per workflow, never assumed.

/built-vs-roadmap

What's real today. What we're building next.

Shipped and working

  • Five harnesses behind one interface, mixed within a single ticket
  • 40+ model providers, including fully local via Ollama / LM Studio / LiteLLM
  • Connector marketplace — 300+ curated specs, OAuth broker, live-proven core
  • 30+ app manifests — email, social, storage, presentations, finance, ops, and more
  • Row-level security live on every tenant table; per-user AES-256-GCM token encryption
  • Per-call cost ledger in Postgres — every bot, provider, model, ticket
  • Workflow manifests + Studio with staged human-approval gates
  • Bot Forge — pack and hot-load a new bot by conversation
  • Token Chase — LLM calls captured as replayable frames, variants graded for equivalence, real estimated-vs-actual savings
  • Edge nodes — remote machines join the mesh over A2A and take tasks, proven on real hardware
  • Kubernetes deploy path — manifests and a setup script for the full stack ship in the repo

On the roadmap

  • Token Chase auto-routing — the replay corpus records every graded variant today; learning a selection policy from it and re-routing future calls to the cheapest equivalent lane automatically is what's next
  • Argo batch scale-out — the incident pipeline already ships as an Argo WorkflowTemplate plus a namespace-per-tenant manifest, both schema-valid against the live Argo CRDs; running them needs the one-shot batch entrypoint, GitOps delivery, and Terraform
  • Multi-organization tenancy — multi-user isolation is DB-enforced and live-proven today; realm-per-tenant is designed
  • Packaged all-local profile — local models run today via Ollama; the documented one-command all-local stack with benchmarks is ahead
  • Production A2A gateway — edge nodes are live today; third-party vendors' agents joining over the wire is the target

The evidence wall: every claim in the shipped column maps to a machine-generated live proof in the repo, re-run nightly with a 26-hour freshness cap — a capability without fresh proof loses its score. The roadmap lives next to the code with today-vs-target status per item. If this page and the repo ever disagree, the repo wins.

A note from the builder

Open Swarm is pre-release, and today it's one engineer's personal project. Where it honestly stands: better than most of what you can rent, and not yet what it becomes when a community pitches in from every side. The foundation is solid — a real platform with real nightly proofs, not a demo — and the whole point of shipping it open is that it doesn't have to stay a one-person effort.

Your first swarm is about ten minutes away.

Clone the repo, bring the stack up, open the cockpit. The zero-keys demo mode means you can watch the swarm work before connecting a single account. When you're ready, plug in your own keys — they stay yours.

The repository opens at public launch. Open Swarm is pre-release and MIT-licensed — when the source lands, it lands free, with every claim on this page backed by a live proof that regenerates nightly.

  quickstart
$ git clone github.com/emeraldcoastsystemsgroup/openswarm
$ cd openswarm && docker compose up -d
 cockpit at http://localhost:35457