diff --git a/README.md b/README.md
index a9e169a9..4929ab61 100644
--- a/README.md
+++ b/README.md
@@ -13,11 +13,12 @@
[](https://github.com/decolua/9router/pkgs/container/9router)
[](https://github.com/decolua/9router/blob/main/LICENSE)
-
-
- [๐ Quick Start](#-quick-start) โข [๐ก Features](#-key-features) โข [๐ Setup](#-setup-guide) โข [๐ Website](https://9router.com)
+
+
+[๐ Quick Start](#-quick-start) โข [๐ก Features](#-key-features) โข [๐ Setup](#-setup-guide) โข [๐ Website](https://9router.com)
+
+[๐ป๐ณ Tiแบฟng Viแปt](./i18n/README.vi.md) โข [๐จ๐ณ ไธญๆ](./i18n/README.zh-CN.md) โข [๐ฏ๐ต ๆฅๆฌ่ช](./i18n/README.ja-JP.md) โข [๐ท๐บ ะ ัััะบะธะน](./i18n/README.ru.md)
- [๐ป๐ณ Tiแบฟng Viแปt](./i18n/README.vi.md) โข [๐จ๐ณ ไธญๆ](./i18n/README.zh-CN.md) โข [๐ฏ๐ต ๆฅๆฌ่ช](./i18n/README.ja-JP.md) โข [๐ท๐บ ะ ัััะบะธะน](./i18n/README.ru.md)
---
@@ -114,6 +115,7 @@ PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run
```
Default URLs:
+
- Dashboard: `http://localhost:20128/dashboard`
- OpenAI-compatible API: `http://localhost:20128/v1`
@@ -125,6 +127,20 @@ Default URLs:
+
+
+
+
+ ๐บ๐ธ English
+ 9Router + Claude Code FREE Setup by Build AI With Hamid
+ |
+
+
+
+
+ ๐ต๐ฐ ุงุฑุฏู / เคนเคฟเคจเฅเคฆเฅ
+ 9Router + Claude Code FREE Unlimited Setup by Build AI With Hamid
+ |
@@ -132,7 +148,10 @@ Default URLs:
๐บ๐ธ English
9Router + Claude Code FREE Setup by Build AI With Hamid
|
-
+
+ |
+
+
@@ -146,8 +165,6 @@ Default URLs:
๐บ๐ธ English
Claude Code FREE Forever โ Unlimited Models by Build AI With Hamid
|
-
-
@@ -155,7 +172,10 @@ Default URLs:
๐บ๐ธ English
Claude CLI Free Setup with 9Router ๐ by CodeVerse Soban
|
-
+
+ |
+
+
@@ -169,8 +189,6 @@ Default URLs:
๐บ๐ธ English
FREE OpenClaw + Claude Opus 4.6 by Build AI With Hamid
|
-
-
@@ -178,7 +196,11 @@ Default URLs:
๐ฎ๐ฉ Indonesia
Koding 24 Jam Anti Rate Limit! Hemat Token AI 65% | Tutorial Quick Setup 9Router ๐ by Krisswuh
|
-
+
+ |
+
+
+
@@ -186,6 +208,7 @@ Default URLs:
Cara Deploy 9Router di Hugging Face GRATIS Non-Stop! | Alternatif VPS RAM 16GB by Krisswuh
|
+
@@ -408,22 +431,22 @@ Default URLs:
## ๐ก Key Features
-| Feature | What It Does | Why It Matters |
-|---------|--------------|----------------|
-| ๐ **RTK Token Saver** ([RTK](https://github.com/rtk-ai/rtk) โญ40K) | Compress tool outputs (`git diff`, `grep`, `ls`, `tree`...) before sending to LLM | Save **20-40% input tokens** per request |
-| ๐ง **Headroom Token Saver** ([Headroom](https://github.com/chopratejas/headroom)) | Optional external `/v1/compress` proxy before provider routing | Save more context tokens without changing clients |
-| ๐ชจ **Caveman Mode** ([Caveman](https://github.com/JuliusBrussee/caveman) โญ52K) | Inject caveman-speak prompt โ LLM replies terse, technical substance preserved | Save **up to 65% output tokens** |
-| ๐ด **Ponytail** ([Ponytail](https://github.com/DietrichGebert/ponytail)) | Inject "lazy senior dev" prompt โ LLM writes minimal, YAGNI-first code (Lite/Full/Ultra) | **Fewer output tokens, less refactoring** |
-| ๐ฏ **Smart 3-Tier Fallback** | Auto-route: Subscription โ Cheap โ Free | Never stop coding, zero downtime |
-| ๐ **Real-Time Quota Tracking** | Live token count + reset countdown | Maximize subscription value |
-| ๐ **Format Translation** | OpenAI โ Claude โ Gemini โ Cursor โ Kiro โ Vertex | Works with any CLI tool |
-| ๐ฅ **Multi-Account Support** | Multiple accounts per provider | Load balancing + redundancy |
-| ๐ **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login needed |
-| ๐จ **Custom Combos** | Create unlimited model combinations | Tailor fallback to your needs |
-| ๐ **Request Logging** | Debug mode with full request/response logs | Troubleshoot issues easily |
-| ๐พ **Cloud Sync** | Sync config across devices | Same setup everywhere |
-| ๐ **Usage Analytics** | Track tokens, cost, trends over time | Optimize spending |
-| ๐ **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers | Flexible deployment options |
+| Feature | What It Does | Why It Matters |
+| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------- |
+| ๐ **RTK Token Saver** ([RTK](https://github.com/rtk-ai/rtk) โญ40K) | Compress tool outputs (`git diff`, `grep`, `ls`, `tree`...) before sending to LLM | Save **20-40% input tokens** per request |
+| ๐ง **Headroom Token Saver** ([Headroom](https://github.com/chopratejas/headroom)) | Optional external `/v1/compress` proxy before provider routing | Save more context tokens without changing clients |
+| ๐ชจ **Caveman Mode** ([Caveman](https://github.com/JuliusBrussee/caveman) โญ52K) | Inject caveman-speak prompt โ LLM replies terse, technical substance preserved | Save **up to 65% output tokens** |
+| ๐ด **Ponytail** ([Ponytail](https://github.com/DietrichGebert/ponytail)) | Inject "lazy senior dev" prompt โ LLM writes minimal, YAGNI-first code (Lite/Full/Ultra) | **Fewer output tokens, less refactoring** |
+| ๐ฏ **Smart 3-Tier Fallback** | Auto-route: Subscription โ Cheap โ Free | Never stop coding, zero downtime |
+| ๐ **Real-Time Quota Tracking** | Live token count + reset countdown | Maximize subscription value |
+| ๐ **Format Translation** | OpenAI โ Claude โ Gemini โ Cursor โ Kiro โ Vertex | Works with any CLI tool |
+| ๐ฅ **Multi-Account Support** | Multiple accounts per provider | Load balancing + redundancy |
+| ๐ **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login needed |
+| ๐จ **Custom Combos** | Create unlimited model combinations | Tailor fallback to your needs |
+| ๐ **Request Logging** | Debug mode with full request/response logs | Troubleshoot issues easily |
+| ๐พ **Cloud Sync** | Sync config across devices | Same setup everywhere |
+| ๐ **Usage Analytics** | Track tokens, cost, trends over time | Optimize spending |
+| ๐ **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers | Flexible deployment options |
๐ Feature Details
@@ -474,7 +497,7 @@ If Headroom is down or returns an error, 9Router fails open and sends the origin
### ๐ด Ponytail (Lazy Senior Dev)
-Ponytail injects a *"lazy senior dev"* system prompt into every request, biasing the LLM toward minimal, YAGNI-first code โ deletion over addition, stdlib over new deps, one-liners over abstractions. Adapted from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail).
+Ponytail injects a _"lazy senior dev"_ system prompt into every request, biasing the LLM toward minimal, YAGNI-first code โ deletion over addition, stdlib over new deps, one-liners over abstractions. Adapted from [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail).
- **Lite** โ Build what's asked, name the lazier alternative.
- **Full** โ YAGNI ladder enforced: stdlib โ native โ existing deps โ one-liner โ minimal code.
@@ -510,6 +533,7 @@ Combo: "my-coding-stack"
### ๐ Format Translation
Seamless translation between formats:
+
- **OpenAI** โ **Claude** โ **Gemini** โ **Cursor** โ **Kiro** โ **Vertex** โ **Antigravity** โ **Ollama** โ **OpenAI Responses**
- Your CLI tool sends OpenAI format โ 9Router translates โ Provider receives native format
- Works with any tool that supports custom OpenAI endpoints
@@ -563,14 +587,14 @@ Seamless translation between formats:
- Optimize your AI spending
> **๐ก IMPORTANT - Understanding Dashboard Costs:**
->
-> The "cost" displayed in Usage Analytics is **for tracking and comparison purposes only**.
+>
+> The "cost" displayed in Usage Analytics is **for tracking and comparison purposes only**.
> 9Router itself **never charges** you anything. You only pay providers directly (if using paid services).
->
-> **Example:** If your dashboard shows "$290 total cost" while using iFlow models, this represents
+>
+> **Example:** If your dashboard shows "$290 total cost" while using iFlow models, this represents
> what you would have paid using paid APIs directly. Your actual cost = **$0** (iFlow is free unlimited).
->
-> Think of it as a "savings tracker" showing how much you're saving by using free models or
+>
+> Think of it as a "savings tracker" showing how much you're saving by using free models or
> routing through 9Router!
### ๐ Deploy Anywhere
@@ -586,19 +610,19 @@ Seamless translation between formats:
## ๐ฐ Pricing at a Glance
-| Tier | Provider | Cost | Quota Reset | Best For |
-|------|----------|------|-------------|----------|
-| **๐ TOKEN SAVER** | **RTK (built-in)** | **FREE** | Always on | **Save 20-40% tokens on EVERY request** |
-| **๐ณ SUBSCRIPTION** | Claude Code (Pro/Max) | $20-200/mo | 5h + weekly | Already subscribed |
-| | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users |
-| | GitHub Copilot | $10-19/mo | Monthly | GitHub users |
-| | Cursor IDE | $20/mo | Monthly | Cursor users |
-| **๐ฐ CHEAP** | GLM-5.1 / GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
-| | MiniMax M2.7 | $0.2/1M | 5-hour rolling | Cheapest option |
-| | Kimi K2.5 | $9/mo flat | 10M tokens/mo | Predictable cost |
-| **๐ FREE** | Kiro AI | $0 | Unlimited | Claude 4.5 + GLM-5 + MiniMax free |
-| | OpenCode Free | $0 | Unlimited | No auth, auto-fetch models |
-| | Vertex AI | $300 credits | New GCP accounts | Gemini 3 Pro + DeepSeek + GLM-5 |
+| Tier | Provider | Cost | Quota Reset | Best For |
+| ------------------- | --------------------- | ------------ | ---------------- | --------------------------------------- |
+| **๐ TOKEN SAVER** | **RTK (built-in)** | **FREE** | Always on | **Save 20-40% tokens on EVERY request** |
+| **๐ณ SUBSCRIPTION** | Claude Code (Pro/Max) | $20-200/mo | 5h + weekly | Already subscribed |
+| | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users |
+| | GitHub Copilot | $10-19/mo | Monthly | GitHub users |
+| | Cursor IDE | $20/mo | Monthly | Cursor users |
+| **๐ฐ CHEAP** | GLM-5.1 / GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup |
+| | MiniMax M2.7 | $0.2/1M | 5-hour rolling | Cheapest option |
+| | Kimi K2.5 | $9/mo flat | 10M tokens/mo | Predictable cost |
+| **๐ FREE** | Kiro AI | $0 | Unlimited | Claude 4.5 + GLM-5 + MiniMax free |
+| | OpenCode Free | $0 | Unlimited | No auth, auto-fetch models |
+| | Vertex AI | $300 credits | New GCP accounts | Gemini 3 Pro + DeepSeek + GLM-5 |
**๐ก Pro Tip:** RTK + Kiro AI + OpenCode Free combo = **$0 cost + 20-40% token savings**!
@@ -619,6 +643,7 @@ Seamless translation between formats:
The dashboard shows **estimated costs** as if you were using paid APIs directly. This is **not billing** - it's a comparison tool to show your savings.
**Example Scenario:**
+
```
Dashboard Display:
โข Total Requests: 1,662
@@ -632,6 +657,7 @@ Reality Check:
```
**Payment Rules:**
+
- **Subscription providers** (Claude Code, Codex): Pay them directly via their websites
- **Cheap providers** (GLM, MiniMax): Pay them directly, 9Router just routes
- **FREE providers** (iFlow, Kiro, Qwen): Genuinely free forever, no hidden charges
@@ -646,6 +672,7 @@ Reality Check:
**Problem:** Quota expires unused, rate limits during heavy coding
**Solution:**
+
```
Combo: "maximize-claude"
1. cc/claude-opus-4-7 (use subscription fully)
@@ -661,6 +688,7 @@ vs. $20 + hitting limits = frustration
**Problem:** Can't afford subscriptions, need reliable AI coding
**Solution:**
+
```
Combo: "free-forever"
1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
@@ -676,6 +704,7 @@ Quality: Production-ready models + RTK saves 20-40% tokens
**Problem:** Deadlines, can't afford downtime
**Solution:**
+
```
Combo: "always-on"
1. cc/claude-opus-4-7 (best quality)
@@ -693,6 +722,7 @@ Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
**Problem:** Need AI assistant in messaging apps (WhatsApp, Telegram, Slack...), completely free
**Solution:**
+
```
Combo: "openclaw-free"
1. kr/claude-sonnet-4.5 (Claude 4.5 free)
@@ -713,6 +743,7 @@ Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
The dashboard tracks your token usage and displays **estimated costs** as if you were using paid APIs directly. This is **not actual billing** - it's a reference to show how much you're saving by using free models or existing subscriptions through 9Router.
**Example:**
+
- **Dashboard shows:** "$290 total cost"
- **Reality:** You're using iFlow (FREE unlimited)
- **Your actual cost:** **$0.00**
@@ -728,6 +759,7 @@ The cost display is a "savings tracker" to help you understand your usage patter
**No.** 9Router is free, open-source software that runs on your own computer. It never charges you anything.
**You only pay:**
+
- โ
**Subscription providers** (Claude Code $20/mo, Codex $20-200/mo) โ Pay them directly on their websites
- โ
**Cheap providers** (GLM, MiniMax) โ Pay them directly, 9Router just routes your requests
- โ **9Router itself** โ **Never charges anything, ever**
@@ -742,6 +774,7 @@ The cost display is a "savings tracker" to help you understand your usage patter
**Yes!** The current FREE providers (Kiro, OpenCode Free, Vertex) are genuinely free with **no hidden charges**.
These are free services offered by those respective companies:
+
- **Kiro AI**: Free unlimited Claude 4.5 + GLM-5 + MiniMax via AWS Builder ID / Google / GitHub OAuth
- **OpenCode Free**: No-auth passthrough proxy, models auto-fetched from `opencode.ai/zen/v1/models`
- **Vertex AI**: $300 free credits for new Google Cloud accounts (90 days)
@@ -749,6 +782,7 @@ These are free services offered by those respective companies:
9Router just routes your requests to them - there's no "catch" or future billing. They're truly free services, and 9Router makes them easy to use with fallback support.
**Discontinued free tiers (no longer recommended):**
+
- โ **iFlow**: Was free unlimited, now changed to paid (2026)
- โ **Qwen Code**: Free OAuth tier discontinued by Alibaba on 2026-04-15
- โ **Gemini CLI**: Still works, but using it with non-CLI tools (Claude, Codex, Cursor...) may result in account bans โ only use if you stick to Gemini CLI itself
@@ -761,17 +795,21 @@ These are free services offered by those respective companies:
**Free-First Strategy:**
1. **Start with 100% free combo:**
+
```
1. gc/gemini-3-flash (180K/month free from Google)
2. if/kimi-k2-thinking (unlimited free from iFlow)
3. qw/qwen3-coder-plus (unlimited free from Qwen)
```
+
**Cost: $0/month**
2. **Add cheap backup** only if you need it:
+
```
4. glm/glm-4.7 ($0.6/1M tokens)
```
+
**Additional cost: Only pay for what you actually use**
3. **Use subscription providers last:**
@@ -790,10 +828,12 @@ These are free services offered by those respective companies:
**Scenario:** You're on a coding sprint and blow through your quotas
**Without 9Router:**
+
- โ Hit rate limit โ Work stops โ Frustration
- โ Or: Accidentally rack up huge API bills
**With 9Router:**
+
- โ
Subscription hits limit โ Auto-fallback to cheap tier
- โ
Cheap tier gets expensive โ Auto-fallback to free tier
- โ
Never stop coding โ Predictable costs
@@ -1117,6 +1157,7 @@ pm2 startup
### Docker
Published images (multi-platform `linux/amd64` + `linux/arm64`):
+
- Docker Hub: [`decolua/9router`](https://hub.docker.com/r/decolua/9router)
- GHCR: [`ghcr.io/decolua/9router`](https://github.com/decolua/9router/pkgs/container/9router)
@@ -1144,6 +1185,7 @@ docker run -d --name 9router -p 20128:20128 \
```
**Container defaults:**
+
- `PORT=20128`
- `HOSTNAME=0.0.0.0`
@@ -1160,26 +1202,27 @@ docker pull decolua/9router:latest # update to latest
### Environment Variables
-| Variable | Default | Description |
-|----------|---------|-------------|
-| `JWT_SECRET` | Auto-generated (`~/.9router/jwt-secret`) | JWT signing secret for dashboard auth cookie (override to share across instances) |
-| `INITIAL_PASSWORD` | `123456` | First login password when no saved hash exists |
-| `DATA_DIR` | `~/.9router` | Main app data location (SQLite at `$DATA_DIR/db/data.sqlite`) |
-| `PORT` | framework default | Service port (`20128` in examples) |
-| `HOSTNAME` | framework default | Bind host (Docker defaults to `0.0.0.0`) |
-| `NODE_ENV` | runtime default | Set `production` for deploy |
-| `BASE_URL` | `http://localhost:20128` | Server-side internal base URL used by cloud sync jobs |
-| `CLOUD_URL` | `https://9router.com` | Server-side cloud sync endpoint base URL |
-| `NEXT_PUBLIC_BASE_URL` | `http://localhost:3000` | Backward-compatible/public base URL (prefer `BASE_URL` for server runtime) |
-| `NEXT_PUBLIC_CLOUD_URL` | `https://9router.com` | Backward-compatible/public cloud URL (prefer `CLOUD_URL` for server runtime) |
-| `API_KEY_SECRET` | `endpoint-proxy-api-key-secret` | HMAC secret for generated API keys |
-| `MACHINE_ID_SALT` | `endpoint-proxy-salt` | Salt for stable machine ID hashing |
-| `ENABLE_REQUEST_LOGS` | `false` | Enables request/response logs under `logs/` |
-| `AUTH_COOKIE_SECURE` | `false` | Force `Secure` auth cookie (set `true` behind HTTPS reverse proxy) |
-| `REQUIRE_API_KEY` | `false` | Enforce Bearer API key on `/v1/*` routes (recommended for internet-exposed deploys) |
-| `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY` | empty | Optional outbound proxy for upstream provider calls |
+| Variable | Default | Description |
+| ---------------------------------------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------- |
+| `JWT_SECRET` | Auto-generated (`~/.9router/jwt-secret`) | JWT signing secret for dashboard auth cookie (override to share across instances) |
+| `INITIAL_PASSWORD` | `123456` | First login password when no saved hash exists |
+| `DATA_DIR` | `~/.9router` | Main app data location (SQLite at `$DATA_DIR/db/data.sqlite`) |
+| `PORT` | framework default | Service port (`20128` in examples) |
+| `HOSTNAME` | framework default | Bind host (Docker defaults to `0.0.0.0`) |
+| `NODE_ENV` | runtime default | Set `production` for deploy |
+| `BASE_URL` | `http://localhost:20128` | Server-side internal base URL used by cloud sync jobs |
+| `CLOUD_URL` | `https://9router.com` | Server-side cloud sync endpoint base URL |
+| `NEXT_PUBLIC_BASE_URL` | `http://localhost:3000` | Backward-compatible/public base URL (prefer `BASE_URL` for server runtime) |
+| `NEXT_PUBLIC_CLOUD_URL` | `https://9router.com` | Backward-compatible/public cloud URL (prefer `CLOUD_URL` for server runtime) |
+| `API_KEY_SECRET` | `endpoint-proxy-api-key-secret` | HMAC secret for generated API keys |
+| `MACHINE_ID_SALT` | `endpoint-proxy-salt` | Salt for stable machine ID hashing |
+| `ENABLE_REQUEST_LOGS` | `false` | Enables request/response logs under `logs/` |
+| `AUTH_COOKIE_SECURE` | `false` | Force `Secure` auth cookie (set `true` behind HTTPS reverse proxy) |
+| `REQUIRE_API_KEY` | `false` | Enforce Bearer API key on `/v1/*` routes (recommended for internet-exposed deploys) |
+| `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY` | empty | Optional outbound proxy for upstream provider calls |
Notes:
+
- Lowercase proxy variables are also supported: `http_proxy`, `https_proxy`, `all_proxy`, `no_proxy`.
- `.env` is not baked into Docker image (`.dockerignore`); inject runtime config with `--env-file` or `-e`.
- On Windows, `APPDATA` can be used for local storage path resolution.
@@ -1202,6 +1245,7 @@ Notes:
View all available models
**Claude Code (`cc/`)** - Pro/Max:
+
- `cc/claude-opus-4-7`
- `cc/claude-opus-4-6`
- `cc/claude-sonnet-4-6`
@@ -1209,6 +1253,7 @@ Notes:
- `cc/claude-haiku-4-5-20251001`
**Codex (`cx/`)** - Plus/Pro:
+
- `cx/gpt-5.5`
- `cx/gpt-5.4`
- `cx/gpt-5.3-codex`
@@ -1216,6 +1261,7 @@ Notes:
- `cx/gpt-5.1-codex-max`
**GitHub Copilot (`gh/`)**:
+
- `gh/gpt-5.4`
- `gh/claude-opus-4.7`
- `gh/claude-sonnet-4.6`
@@ -1223,25 +1269,30 @@ Notes:
- `gh/grok-code-fast-1`
**Cursor (`cu/`)** - Subscription:
+
- `cu/claude-4.6-opus-max`
- `cu/claude-4.5-sonnet-thinking`
- `cu/gpt-5.3-codex`
- `cu/kimi-k2.5`
**GLM (`glm/`)** - $0.6/1M:
+
- `glm/glm-5.1`
- `glm/glm-5`
- `glm/glm-4.7`
**MiniMax (`minimax/`)** - $0.2/1M:
+
- `minimax/MiniMax-M2.7`
- `minimax/MiniMax-M2.5`
**Kimi (`kimi/`)** - $9/mo flat:
+
- `kimi/kimi-k2.5`
- `kimi/kimi-k2.5-thinking`
**Kiro (`kr/`)** - FREE unlimited:
+
- `kr/claude-sonnet-4.5`
- `kr/claude-haiku-4.5`
- `kr/glm-5`
@@ -1250,9 +1301,11 @@ Notes:
- `kr/deepseek-3.2`
**OpenCode Free (`oc/`)** - FREE no-auth:
+
- Auto-fetched from `opencode.ai/zen/v1/models`
**Vertex AI (`vertex/`)** - $300 free credits:
+
- `vertex/gemini-3.1-pro-preview`
- `vertex/gemini-3-flash-preview`
- `vertex/gemini-2.5-flash`
@@ -1266,31 +1319,38 @@ Notes:
## ๐ Troubleshooting
**"Language model did not provide messages"**
+
- Provider quota exhausted โ Check dashboard quota tracker
- Solution: Use combo fallback or switch to cheaper tier
**Rate limiting**
+
- Subscription quota out โ Fallback to GLM/MiniMax
- Add combo: `cc/claude-opus-4-7 โ glm/glm-5.1 โ kr/claude-sonnet-4.5`
**OAuth token expired**
+
- Auto-refreshed by 9Router
- If issues persist: Dashboard โ Provider โ Reconnect
**High costs**
+
- Enable RTK in Dashboard โ Endpoint settings (default ON, saves 20-40% tokens)
- Check usage stats in Dashboard
- Switch primary model to GLM/MiniMax
- Use free tier (Kiro, OpenCode Free, Vertex) for non-critical tasks
**Dashboard opens on wrong port**
+
- Set `PORT=20128` and `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
**First login not working**
+
- Check `INITIAL_PASSWORD` in `.env`
- If unset, fallback password is `123456`
**No request logs under `logs/`**
+
- Set `ENABLE_REQUEST_LOGS=true`
---
@@ -1353,8 +1413,6 @@ Thanks to all contributors who helped make 9Router better!
[](https://starchart.cc/decolua/9router)
-
-
## ๐ Forks
**[OmniRoute](https://github.com/diegosouzapw/OmniRoute)** โ A full-featured TypeScript fork of 9Router. Adds 36+ providers, 4-tier auto-fallback, multi-modal APIs (images, embeddings, audio, TTS), circuit breaker, semantic cache, LLM evaluations, and a polished dashboard. 368+ unit tests. Available via npm and Docker.
@@ -1367,8 +1425,8 @@ Built on the shoulders of giants:
- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** โ original Go implementation that inspired this JavaScript port.
- **[RTK](https://github.com/rtk-ai/rtk)**  โ Rust token-saver. 9Router ports its compression pipeline to JS โ **โ20-40% input tokens** on every request.
-- **[Caveman](https://github.com/JuliusBrussee/caveman)**  by **[@JuliusBrussee](https://github.com/JuliusBrussee)** โ viral *"why use many token when few token do trick"*. 9Router adapts its prompt โ **โ65% output tokens**.
-- **[Ponytail](https://github.com/DietrichGebert/ponytail)**  by **[@DietrichGebert](https://github.com/DietrichGebert)** โ *"lazy senior dev"* skill. 9Router injects its YAGNI-first ladder โ **fewer tokens, less code, shorter diffs**.
+- **[Caveman](https://github.com/JuliusBrussee/caveman)**  by **[@JuliusBrussee](https://github.com/JuliusBrussee)** โ viral _"why use many token when few token do trick"_. 9Router adapts its prompt โ **โ65% output tokens**.
+- **[Ponytail](https://github.com/DietrichGebert/ponytail)**  by **[@DietrichGebert](https://github.com/DietrichGebert)** โ _"lazy senior dev"_ skill. 9Router injects its YAGNI-first ladder โ **fewer tokens, less code, shorter diffs**.
Huge thanks to these authors โ without their work, 9Router's token-saving features wouldn't exist. โญ them on GitHub!