A multi-agent runtime in a single native binary.
Local-first; network optional.
About
·
Download
·
Documentation
·
Contributing
Run multi-agent workflows on your machine — interactive TUI, one-shot CLI, or HTTP+SSE — with hard tool allowlists and a shared streaming event bus.
curl -fsSL https://arbiter.run/install.sh | sh
arbiter # open the TUILinux binaries, source builds, Ollama, --send, and --api are in
getting-started/local.
| Mode | Command | For |
|---|---|---|
| Interactive | arbiter |
Multi-pane TUI, global conversation store |
| One-shot | arbiter --send <agent> "..." |
Scripts, cron, CI |
| Server | arbiter --api |
HTTP+SSE API, tenant-isolated, A2A v1.0 |
One binary. Shared storage under ~/.arbiter/. Provider keys (OpenRouter, Ollama, …) are the only external dependency for model calls.
- Own the harness. Orchestrate specialists, durable memory, and tool use without duct-taping a chat CLI to someone else's API. The runtime stays thin; agent behavior lives in constitutions (JSON: model, role, rules, tool allowlist).
- Hard limits, not prompt suggestions. Every agent's tool surface is an allowlist checked at dispatch.
- One event model everywhere. The orchestration loop streams the same SSE-shaped events the TUI already consumes. API clients get that stream over the wire; durable request logs make reconnect and replay possible.
- Realtime reasoning. Webhooks, queues, firmware, and sensors can
POST /v1/events; declare a glob per agent and Arbiter routes matching events there.
docs/getting-started— first agent replydocs/philosophy— why Arbiter is shaped this waydocs/api/— HTTP API, tenants, SSE, MCP, A2A, memorydocs/cli/—--init,--send,--api, env varsdocs/tui/— panes, keybindings, themes, sessionsROADMAP.md— phased plan toward 1.0 readinessCHANGELOG.md·CONTRIBUTING.md·SECURITY.md
Arbiter is experimental. The event surface, agent constitutions, and HTTP shape may change. /exec is unsandboxed by default; treat it accordingly.
Licensed under the Apache License 2.0.
