Use the AI coding client you like with the backend you want.
Swobu is a local router for AI coding clients. Point Claude Code, Codex CLI, Continue, or another OpenAI/Anthropic-compatible client at Swobu, then route traffic to OpenAI, Anthropic, OpenRouter, AWS Bedrock, Ollama, ChatGPT, or a custom backend.
The client is not the brain. Swobu is early. Expect sharp edges.
curl -fsSL https://swobu.com/install.sh | sh
swobuThe installer uses GitHub release artifacts (checksums.txt verified).
If a release artifact is not available yet, install from source:
go install github.com/swobuforge/swobu/cmd/swobu@master
swobuCheck health:
swobu statusStop Swobu:
swobu downRun Swobu:
swobuIn the cockpit:
- Create or select a workspace.
- Choose a backend provider.
- Configure base URL and auth.
- Copy the local endpoint shown by Swobu.
- Point your AI client at that endpoint.
Typical OpenAI-style client config:
OPENAI_BASE_URL=http://127.0.0.1:7926/v1
OPENAI_API_KEY=swobuAnthropic-style clients use the corresponding Swobu-supported Anthropic surface.
Exact environment variables depend on the client.
AI coding clients are becoming frontends.
But each client still tends to carry assumptions about provider choice, API shape, streaming behavior, auth handling, model names, and error shape.
That breaks down when you want to:
- keep your preferred client
- switch model backends
- route local and hosted models through one boundary
- compare backends from the same client experience
- inspect local traffic health
- avoid rewriting workflow glue every week
Swobu standardizes the boundary, not the tool.
Swobu is beta. These surfaces are the current focus.
- Claude Code
- Codex CLI
- Continue
- OpenAI-compatible clients
- Anthropic-compatible clients
- OpenAI
- Anthropic
- OpenRouter
- AWS Bedrock
- Ollama
- ChatGPT
- Custom OpenAI-compatible backends
OpenAI-style:
/v1/chat/completions/v1/responses/v1/completions
Anthropic-style:
/v1/messages
- Server-Sent Events
- WebSocket
- compatibility varies by client and backend
- some clients require client-specific environment variables
- provider-reported token/cache fields are not uniform
- release installer support is currently Linux/macOS (
amd64/arm64)
Swobu includes a local terminal cockpit for setup and operation.
Use it to:
- create, rename, and delete workspaces
- choose backend/provider per workspace
- configure routing and auth references
- inspect readiness and health
- inspect traffic outcomes
- open help and feedback actions
Cockpit is the primary local operator surface.
swobu # launch cockpit
swobu daemon # run daemon in foreground
swobu status # inspect daemon health
swobu down # stop daemon
swobu telemetry status # inspect telemetry setting
swobu telemetry on # enable telemetry
swobu telemetry off # disable telemetry
swobu version # print versionHelp:
swobu --help
swobu daemon --help
swobu status --helpRun the daemon directly:
swobu daemonUse an explicit config path:
swobu daemon --config /path/to/swobu.yamlCheck from scripts or CI:
swobu statusHealth semantics:
- exit
0: healthy - exit
1: running but uninitialized or degraded - exit
2: daemon not reachable
Shutdown:
swobu downLatest master:
go run github.com/swobuforge/swobu/cmd/swobu@master --helpInstall from source:
go install github.com/swobuforge/swobu/cmd/swobu@master
swobu --helpUse this when you want source behavior instead of the install-script channel.
Swobu is:
- a local AI compatibility layer
- a protocol shim
- a client/backend boundary
- a local operator cockpit
- a way to hot-swap LLM backends behind existing AI clients
Swobu is not currently:
- an SDK
- a hosted model marketplace
- a new AI client
- an observability platform
- a prompt management system
- a managed enterprise gateway
Swobu is local-first.
By default, Swobu:
- binds to loopback
- keeps control on your machine
- does not send prompts, completions, or auth material through default telemetry
Telemetry can be turned off:
swobu telemetry offTelemetry details:
Local-first is not offline-only.
If you configure a hosted backend, AI requests still go to that backend.
Near-term focus:
- deeper client profiles
- deeper backend profiles
- better config generation
- better compatibility diagnostics
- clearer error translation
- stronger streaming support
- safer local defaults
- easier backend hot-swapping
Goal:
Make it boring to connect any supported AI client to the backend you choose.
Contributions are welcome.
Swobu uses a Contributor License Agreement.
By submitting a pull request or other contribution, you agree to the terms in CLA.md. This allows Swobu to maintain, sublicense, dual-license, and relicense contributions in the future.
Why a CLA?
Swobu is AGPL-licensed, and may also offer commercial licensing for teams that cannot use AGPL software. The CLA preserves that option while keeping the public repo open. Contributors keep ownership of their contributions.
Read CONTRIBUTING.md before opening a pull request.
Do not report security vulnerabilities in public issues.
See SECURITY.md.
For commercial licensing and additional permissions:
contact@swobu.com
Swobu is released under AGPL-3.0-only.
See LICENSE.

