DodoRouter
Get Started
Open source · Works with Claude Code & any AI tool

See real traffic while you build your harness.

DodoRouter sits between your AI tools and the model providers. Every prompt the model actually received, every token, every dollar — live in a dashboard, so you tune your master prompt with evidence instead of guesswork.

This is the product: your AI's real traffic, live — one setting change away.

Two-minute setup

One setting change.
Total visibility.

Point Claude Code, your agent, or any AI tool at DodoRouter instead of the model provider directly. The tool works exactly as before — but now every call flows through a dashboard you watch while you build.

  • Change the base_url in your tool's settings — no code required
  • Works with Claude Code, OpenCode, and anything OpenAI- or Anthropic-compatible
  • See exactly what your master prompt becomes by the time it reaches the model

Automatic fallback

When a provider fails,
your harness doesn't.

Rate limits, outages, overloaded models, context overflows — the chain absorbs them all. The request silently reroutes to the next provider and your playbook keeps running: no failed client demo, no broken automation, no error page.

Primary Fallback Last resort
Build your chain

Seeing is just the beginning

Everything between your tools and the model — visible, adjustable, and resilient while it runs.

The flight recorder

You wrote the master prompt. Now see what the model actually got.

Every request opens into the full picture: the conversation, the raw request and response, the headers, and exactly how much context the model received. When an output surprises you — too generic, off-brand, suddenly worse — the reason is on screen, not in your imagination.

  • Verify your 30-page master prompt arrived intact — every run
  • Cost and cache-hit analytics per model and provider
  • Live — new requests appear as they happen

Context-overflow rerouting

Master prompts are getting huge. Never hit the wall.

A 30-page business brain plus a long conversation will outgrow some model's window — and every provider reports it differently. DodoRouter knows each dialect, reacts to the real signal, and reroutes to a model with room. Your harness grows without artificial ceilings.

  • Per-provider overflow detection, maintained for you
  • Optional skip-fallback toggle when you'd rather fail fast
  • One standardized error if the whole chain is too small

Replay & compare

Tune your harness with evidence, not vibes.

Could a cheaper model run your playbook just as well? Take any real request and re-run it against a different provider or model — the answers render side by side, diffed, with tokens and cost compared. Your actual prompts are the benchmark.

  • Replay against any provider key you hold
  • Diff view highlights what actually changed
  • Replays never pollute your request stats

Rewire in production

Change everything. Redeploy nothing.

Swap models, reorder providers, tune reasoning effort — from the dashboard, effective on the very next request. Your tools keep one URL; the routing behind it is yours to remix at any hour, without touching a config or waiting on a deploy.

  • Per-step model, key, reasoning effort, temperature
  • Takes effect instantly, no deploys or restarts
  • Client-sent options always win when present

Subscriptions as keys

Run your playbooks on plans you already pay for.

Claude Max, ChatGPT Pro, Kimi Code, z.ai Coding — those subscriptions carry serious model quota. DodoRouter treats them as first-class provider keys (sign in with a device code, no token copy-pasting) so your harness burns subscription quota first and falls back to pay-as-you-go API keys only when it runs dry.

  • Connect with a device-code login, not a pasted token
  • Mix subscription and API keys in one chain
  • Key health tracked — quota-dry keys flagged automatically

Mid-stream failure recovery

The stream dies. The sentence doesn't.

The cruelest failure mode: a provider drops the connection halfway through a streamed answer, with tool calls in flight. DodoRouter catches the dropped stream, re-issues the request on the next step in your chain, and keeps streaming to your tool.

  • No broken half-answers in your playbook output
  • Tool-call state carried across providers
  • Logged as a fallback, so you can see it happened
OpenAI OpenAI
Anthropic Anthropic
MoonshotAI Moonshot
Z.ai z.ai
DeepSeek DeepSeek
Gemini Google
Grok xAI
Mistral Mistral
+ More soon

Providers

Any model.
One endpoint.

Route across OpenAI, Anthropic, Google, DeepSeek, Moonshot, and more through a single URL. Test your harness against new models the day they launch — without changing your tools.

GPT-5.5 Opus 4.7 GLM-5.1

Observability

Know what every playbook costs to run.

Per-request cost, token usage, cache savings, and latency — for every run of every playbook. Prove the ROI of your AI operations with numbers, not anecdotes.

Request Analytics

Last 7 days · all routers

Live

Total Requests

89,241

+23.4%

Success Rate

99.8%

47 fallbacks recovered

Avg Latency

312ms

-12% vs last week

Total Spend

$84.12

28.4M tokens

Request Volume

Success Fallback
MonTueWedThuFriSatSun

Pricing

Free while in beta

You bring your own provider keys — DodoRouter never marks up your tokens. Use the hosted instance or self-host the open-source release.

Self-hosted

Open source

Run it on your own box. Your keys and logs never leave your infra.

  • Everything in Hosted
  • Single-binary Elixir release
  • Hot upgrades — updates without dropping requests
  • MIT licensed
View on GitHub

FAQ

Questions, answered

I'm an operator, not a developer. Is this for me?

Yes. If you can paste a URL into a settings field, you can use DodoRouter. Claude Code, OpenCode, and most AI tools let you set a custom base URL — point it at DodoRouter and everything you do becomes visible in the dashboard. No code required.

How does this help me build a better master prompt or harness?

You stop guessing. Every run shows you the exact context the model received, what it returned, what it cost, and how much was cached. When output quality drifts, you see why — and when you tweak your prompt, you see the effect on the very next run.

Will my tools still work the same?

Yes. DodoRouter is a transparent proxy — same APIs, same streaming, same tool calls. Change the base URL from api.openai.com to api.dodorouter.com and your tool behaves exactly as before, just observed.

What does it cost?

DodoRouter is free while in beta — no credit card, no request caps, bring your own provider keys. It's also open source, so you can self-host it any time.

What providers do you support?

OpenAI, Anthropic, Google (Gemini), DeepSeek, Moonshot, z.ai, xAI (Grok), and Mistral. We're adding more every month. If you need a specific provider, let us know.

Stop building blind.
Start seeing.

Create a router, point your tools at it, and watch your first real request two minutes from now. Free while in beta — no credit card required.