What “Local-First” Actually Means for AI Tools
Most AI infrastructure is cloud-first by default. Your requests hit a third-party proxy, your usage data sits in someone else's database, and you are one broken service away from your entire workflow going dark.
Local-first means the opposite. The proxy runs on your machine. The data stays on your machine. You own the logs. You own the routing decisions. Nothing phones home unless you explicitly opt in.
For AI workflows, this matters for three reasons:
Data sovereignty
Every request you make to Claude, GPT-4o, or Gemini passes through the proxy. Prompts, responses, token counts, cost data. All of it lives in a SQLite database at ~/.relayplane/data.db. No cloud vendor is holding your usage patterns. You can grep it, query it, back it up, or delete it any time.
Zero dependency on third-party uptime
Cloud AI proxies go down. When they do, your agents stop. With RelayPlane, the only thing between your code and the AI provider is a process running on localhost. If it fails, the built-in circuit breaker passes requests directly through. Your workflow keeps running.
No account required to start
The free tier is fully local. No email signup, no credit card, no dashboard login. Install, run, done.
How RelayPlane Fits Into Your Existing AI Workflow
Here is the part that makes this actually useful: you do not need to change your tools.
Claude Code, Cursor, Continue, Aider, any OpenAI-compatible client already knows how to use a custom base URL. You set one environment variable, and every AI call your tools make routes through RelayPlane automatically. No plugins, no wrappers, no custom SDK.
For OpenAI-compatible tools:
For Anthropic-compatible tools:
That is the entire integration. RelayPlane intercepts the request, applies your routing rules, forwards to the provider, and tracks the cost. Your tool never knows it is there.
This is why it works with Claude Code, Cursor, Continue, Aider, and any other coding agent that lets you set a base URL. They all speak the same API format. RelayPlane speaks it back.
What You Get Once It's Running
Complexity-based routing
Not every task needs Opus. A simple status check or file read does not need the same model as a complex code review. RelayPlane lets you define routing rules by complexity tier: simple tasks go to a cheaper, faster model; complex tasks escalate to the best available. You configure it once in the dashboard. The routing happens automatically on every request after that.
Cost tracking at localhost:4100
Open your browser to http://localhost:4100 and you get a dashboard showing model breakdown, provider status, recent runs, and how your routing rules are performing. No login. No cloud sync required. All data is local.
Budget enforcement
Set daily or per-request spend limits. If a runaway agent loop starts hammering the API, RelayPlane blocks, warns, or downgrades the model before the bill explodes. Anomaly detection catches cost spikes and token explosions automatically.
MIT licensed. Open source.
The proxy is open source under MIT. You can read the code, fork it, self-host it, do whatever you want with it. No vendor lock-in, no license fees for local use.
Quick Setup (3 Steps)
From zero to running in under 2 minutes.
Install globally via npm
npm install -g @relayplane/proxy
Initialize and start the proxy
relayplane init relayplane start
The proxy starts on port 4100. You will see confirmation in the terminal.
Point your AI tools at it
export OPENAI_BASE_URL=http://localhost:4100 # or for Anthropic tools: export ANTHROPIC_BASE_URL=http://localhost:4100
Then open your dashboard at http://localhost:4100. You are live.
To make it permanent (auto-start on boot):
relayplane autostart
Set it once. It runs forever.
Who This Is For
If you run AI agents locally, use Cursor or Continue for coding, or manage multiple AI tool subscriptions, RelayPlane gives you visibility and control you do not have right now.
You are not getting cost data from Claude Code or Cursor. You are not seeing which model handled which request. You do not know if a simple formatting task cost the same as a complex refactor. RelayPlane fixes that with no changes to your existing tools.