9router shipped 14 release events in 30 days, and the pattern is not random. This is an open source MIT-licensed router racing to sit between AI coding tools and the provider mess behind them.
The product pitch is blunt: one OpenAI-compatible local endpoint for tools like Claude Code, Codex, Cursor, Cline, Copilot, OpenClaw, Continue, and Hermes Agent. The official site frames 9router as a gateway for 60+ AI providers, with fallback across subscription, cheaper, and free provider tiers.
That matters because AI coding stacks are getting brittle. Each tool has its own auth path, quota behavior, model support, and provider assumptions. 9router is betting that developers want a control plane for that pain, not another single-provider client.
The signal: provider churn is the product
The recent releases read like a sprint through every sharp edge in AI routing. Version 0.4.12 added Xiaomi MiMo provider support and sticky round-robin combos. Version 0.4.11 added Caveman, a terse-prompt feature with UI controls. Version 0.4.10 added embedding models, Voyage AI support, and more TTS providers.
Earlier releases in the same window added Cloudflare AI, web search and fetch combos, BytePlus, Codex support for image providers, Azure OpenAI, Volcengine Ark, dynamic model fetching, and better rate-limit handling. That is not just maintenance. It is a product trying to normalize the chaos around model access, quota exhaustion, and provider-specific behavior.
ToolVitals gives 9router a shipping score of 100 and a health score of 92. Its 90-day release count is 30. The GitHub star count is 9,918. Those numbers fit the browsing evidence: the repository is public, tagged actively, and the release notes show frequent provider, fallback, quota, MITM, embedding, TTS, and dashboard work.
The most interesting feature is not any single provider. It is the combo and fallback direction. Web search and fetch combos let multiple search or fetch providers act as one virtual provider. Sticky round-robin combos point the same way. 9router is not only adding backends, it is adding policy for how traffic moves across them.
What ToolVitals cannot infer
ToolVitals can see public signals: stars, releases, score inputs, uptime-style checks, license signals, and recent release metadata. It cannot prove that 9router works well in a real team, handles every provider failure cleanly, or saves money in practice.
It also cannot judge code quality from the score alone. A 100 shipping score means the project is moving. It does not mean every change is safe, every integration is stable, or every MITM-related workflow is a good idea for your environment. Treat that part with adult supervision, especially inside locked-down companies.
The data confidence is 60, so the right reading is conservative. The release and positioning signals are strong. The long-term adoption and reliability story still needs field evidence.
How it compares
9router is much smaller than LangChain by stars, 9,918 versus 136,585, but it is shipping in the same tempo band: both show a shipping score of 100, while LangChain has 31 release events in 30 days versus 9router’s 14. That makes 9router look focused rather than sleepy.
Gemini CLI is closer in category pressure, with 103,818 stars and 16 release events in 30 days. 9router has fewer stars, but its release notes point at a different job: routing many tools and providers through one OpenAI-compatible endpoint, not being the coding agent itself.
n8n is fair-code, not OSI-approved open source, and has 187,642 stars with 50 release events in 30 days. That comparison is useful mostly as a reminder that ToolVitals separates openness from activity. 9router is OSI-approved OSS under MIT, while n8n is not.
Recommendation
If your team runs multiple AI coding tools and keeps hitting quota, auth, model, or provider-routing problems, evaluate 9router in a sandbox. The release stream says the maintainers are attacking exactly that operational layer.
Do not start by putting it in the critical path for production engineering. Start with one or two local users, one CLI, and a small provider set. If fallback and quota handling save real interruptions without creating policy headaches, then widen the test.
Sources
- https://9router.com
- https://github.com/decolua/9router
- https://github.com/decolua/9router/releases/tag/v0.4.12
- https://github.com/decolua/9router/releases/tag/v0.4.11
- https://github.com/decolua/9router/releases/tag/v0.4.10
- https://github.com/decolua/9router/releases/tag/v0.4.8
- https://github.com/decolua/9router/releases/tag/v0.4.6
- https://github.com/decolua/9router/releases/tag/v0.4.2