A reasoning runtime for software, devices, and machines.

Arbiter turns events into stateful, supervised actions. Route work, consult durable memory, execute tools, and observe every decision from one open-source runtime.

01Events

One reasoning layer for any system

Route software events, device signals, and direct requests into the same agent runtime through a small HTTP surface.

02Control

Runtime-level supervision

An advisor model the executor cannot bypass. CONTINUE / REDIRECT / HALT is enforced before a final response ships.

03Memory

Memory that ranks

Tiered retrieval with reranking — a higher-accuracy path and a low-latency path. Pick the tier per call.

04Deploy

Local, cloud, or hybrid

Run models at the edge, route harder decisions to cloud providers, and keep credentials and operational context off constrained devices.

Interactive · TUI$ arbiter

A multi-pane terminal you live in.

Persistent panes for chat, memory, fleet, and tool tail — visible at the same time, not behind subcommands. Background loops stream into a tail pane while you keep typing in the foreground.

  • Vim-style motions, fuzzy command palette, no mouse needed.
  • Independent conversations per pane.
  • Session restore per cwd.
agent · session titlestatus/stats
streamed model output, tool-call summaries, /cmd
results, system messages …
[3 tool calls…]
user input here, multi-line if it wraps
esc interrupt · pgup/dn scroll · /agents · /help
One-shot · scriptable$ arbiter --send "…"

Pipe-friendly for any workflow.

Send a single turn from a shell, get the answer on stdout, exit. Drops cleanly into Make targets, git hooks, CI steps — anywhere you already shell out.

  • Same agents and memory as the TUI.
  • Streams tokens to stdout; exit code reflects the gate.
  • Cron-friendly — no terminal needed.
arbiter --send "audit auth flow" --agent index
Reviewing the login handler…
Two race conditions in /login:
1. session token written before validation.
2. logout race on concurrent refresh.
gate: continue ✓ · $0.0021 · exit 0
Server · HTTP + SSE$ arbiter --api

The API any client can consume.

Multi-tenant reasoning server on :8080. Ingest events, orchestrate direct requests, manage agents and memory, and stream every decision over SSE.

  • OpenAPI 3.1 spec, versioned at /v1/.
  • Pluggable billing via ARBITER_BILLING_URL.
  • Cancellable requests via /v1/requests/:id/cancel.
arbiter ↗ POST /v1/orchestrate
agent: index message: "audit auth flow"
request_receivedreq_8s3z
stream_startindex · depth 1
tool_call/parallel (3 children)
tool_call/mem read (consulted 4)
gateverdict: continue ✓
doneok=true · 1.4s · $0.0021
Open source

Build from source. Ship from the terminal.

The runtime is open source — clone, build, run. Or grab a pre-built native binary. The TUI, one-shot CLI, and HTTP server all share the same agents, memory, and event model.

Read the docs