A local-first terminal CLI for chat, caps, and coding tasks.
Relay is a terminal chat and coding assistant that keeps credentials and the usage ledger on your machine, reserves worst-case cost before any network call, and fails closed when a request could breach your budget.
Local-first Rust CLI for OpenRouter (default: meta/muse-spark-1.3). Full manual in docs/RELEAY_README.md.
Control plane
One boundary for every model call.
Interactive REPL and sessions
Multi-turn chat with session switching, turn history, and live token streaming. Starts in manual mode: reads allowed, edits and commands need approval.
Reservation-based caps
Conservative worst-case cost is reserved before network I/O. If a request could breach daily or monthly caps, it fails closed with zero network requests.
Bounded coding loops
Model requests tools under deterministic policy. File reads and patches use capability directories; shell keeps your host privileges and is never OS-sandboxed.
Local repo intelligence
Bounded repository context from a local embedder plus one-hop import and symbol relationships. Cached in SQLite with explicit relay index build and search.
Scoped sub-agents
Delegate to directory-scoped children with their own total budget. They can read and patch, never run shell; the parent handles approvals.
Patch journal and recovery
relay undo restores journaled file contents. Unfinished tool calls surface as outcome_unknown on startup and are never blindly re-executed.
Quick start
One terminal for questions, caps, and coding tasks.
relayLaunch the interactive terminal chat and coding REPL.
relay ask "Explain this Rust error"Single streamed question with session memory.
relay do "Investigate failing tests"Bounded non-interactive task; use chat for approvals.
relay usageInspect today's and this month's spend.
relay cap showView configured hard budget limits.
Command reference
Scriptable, then auditable.
Streamed query. Supports --continue, --no-stream, --no-memory, --show-context.
Coding task. Supports --max-turns, --budget-usd, --model.
Roll back files modified by a session using the patch journal.
Spend by day and month, plus per-task and context estimates.
View or update hard daily and monthly budget caps.
Build or query the local vector and symbol index.
Enterprise
Free for developers. Serious about team spend.
Free, forever
- Fully open source
- Terminal chat, ask/do/undo, usage and cap commands
- Local-first: your keys, your ledger, your machine
- No telemetry, no account required
Enterprise & Teams
Running AI coding tools across a team? We help engineering organizations audit, cap, and cut AI API spend — and we're building Relay's team tier with design partners.
- AI spend audits and optimization engagements
- Org-wide caps and visibility (in development)
- Design-partner access to the commercial roadmap
Copilot boundary
Relay governs the call. Your coding tool does the work.
Relay is not another coding agent and does not replace your editor or copilot. It is the local, provider-neutral boundary that meters each request, applies policy, and records the result before handing control back to the tool you already use.