diff --git a/README.en.md b/README.en.md
new file mode 100644
index 0000000..b6cd76b
--- /dev/null
+++ b/README.en.md
@@ -0,0 +1,1444 @@
+
+

+
+ # 9Router - FREE AI Router & Token Saver
+
+ **Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**
+
+ **Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**
+
+ [](https://www.npmjs.com/package/9router)
+ [](https://www.npmjs.com/package/9router)
+ [](https://hub.docker.com/r/decolua/9router)
+ [](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)
+
+[๐ป๐ณ Tiแบฟng Viแปt](./i18n/README.vi.md) โข [๐จ๐ณ ไธญๆ](./i18n/README.zh-CN.md) โข [๐ฏ๐ต ๆฅๆฌ่ช](./i18n/README.ja-JP.md) โข [๐ท๐บ ะ ัััะบะธะน](./i18n/README.ru.md)
+
+
+
+---
+
+## ๐ค Why 9Router?
+
+**Stop wasting money, tokens and hitting limits:**
+
+- โ Subscription quota expires unused every month
+- โ Rate limits stop you mid-coding
+- โ Tool outputs (git diff, grep, ls...) burn tokens fast
+- โ Expensive APIs ($20-50/month per provider)
+- โ Manual switching between providers
+
+**9Router solves this:**
+
+- โ
**RTK Token Saver** - Auto-compress tool_result content, save 20-40% tokens per request
+- โ
**Maximize subscriptions** - Track quota, use every bit before reset
+- โ
**Auto fallback** - Subscription โ Cheap โ Free, zero downtime
+- โ
**Multi-account** - Round-robin between accounts per provider
+- โ
**Universal** - Works with Claude Code, Codex, Cursor, Cline, any CLI tool
+
+---
+
+## ๐ How It Works
+
+```
+โโโโโโโโโโโโโโโ
+โ Your CLI โ (Claude Code, Codex, OpenClaw, Cursor, Cline...)
+โ Tool โ
+โโโโโโโโฌโโโโโโโ
+ โ http://localhost:20128/v1
+ โ
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+โ 9Router (Smart Router) โ
+โ โข RTK Token Saver (cut tool_result tokens) โ
+โ โข Format translation (OpenAI โ Claude) โ
+โ โข Quota tracking โ
+โ โข Auto token refresh โ
+โโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
+ โ
+ โโโ [Tier 1: SUBSCRIPTION] Claude Code, Codex, GitHub Copilot
+ โ โ quota exhausted
+ โโโ [Tier 2: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
+ โ โ budget limit
+ โโโ [Tier 3: FREE] Kiro, OpenCode Free, Vertex ($300 credits)
+
+Result: Never stop coding, minimal cost + 20-40% token savings via RTK
+```
+
+---
+
+## โก Quick Start
+
+**1. Install globally:**
+
+```bash
+npm install -g 9router
+9router
+```
+
+๐ Dashboard opens at `http://localhost:20128`
+
+**2. Connect a FREE provider (no signup needed):**
+
+Dashboard โ Providers โ Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) โ Done!
+
+**3. Use in your CLI tool:**
+
+```
+Claude Code/Codex/OpenClaw/Cursor/Cline Settings:
+ Endpoint: http://localhost:20128/v1
+ API Key: [copy from dashboard]
+ Model: kr/claude-sonnet-4.5
+```
+
+**That's it!** Start coding with FREE AI models.
+
+**Alternative: run from source (this repository):**
+
+This repository package is private (`9router-app`), so source/Docker execution is the expected local development path.
+
+```bash
+cp .env.example .env
+npm install
+PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
+```
+
+Production mode:
+
+```bash
+npm run build
+PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start
+```
+
+Default URLs:
+
+- Dashboard: `http://localhost:20128/dashboard`
+- OpenAI-compatible API: `http://localhost:20128/v1`
+
+---
+
+## Video Guides
+
+
+
+> ๐ฌ **Made a video about 9Router?** Submit a [Pull Request](https://github.com/decolua/9router/pulls) adding your video to this section โ we'll merge it!
+
+---
+
+## ๐ ๏ธ Supported CLI Tools
+
+9Router works seamlessly with all major AI coding tools:
+
+
+
+---
+
+## ๐ Supported Providers
+
+### ๐ OAuth Providers
+
+
+
+### ๐ Free Providers
+
+
+
+
+
+ 
+ Kiro AI
+ Claude 4.5 + GLM-5 + MiniMax Unlimited FREE
+ |
+
+ 
+ OpenCode Free
+ No auth โข Auto-fetch models Unlimited FREE
+ |
+
+ 
+ Vertex AI
+ Gemini 3 Pro + GLM-5 + DeepSeek $300 credits free
+ |
+
+
+
+
+> **Note:** iFlow, Qwen and Gemini CLI free tiers were discontinued in 2026. Use Kiro / OpenCode Free / Vertex instead.
+
+### ๐ API Key Providers (40+)
+
+
+
+---
+
+## ๐ก 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 Details
+
+### ๐ RTK Token Saver
+
+Tool outputs (`git diff`, `grep`, `find`, `ls`, `tree`, log dumps...) often eat 30-50% of your prompt budget. RTK detects them and applies smart, lossless compression **before** the request hits the LLM:
+
+- **Filters:** `git-diff`, `git-status`, `grep`, `find`, `ls`, `tree`, `dedup-log`, `smart-truncate`, `read-numbered`, `search-list`
+- **Auto-detect:** No config needed โ RTK peeks the first 1KB of each `tool_result` and picks the right filter.
+- **Safe by design:** If a filter fails, throws, or makes output bigger, RTK silently keeps the original text. Errors never break your request.
+- **Universal:** Works across all formats (OpenAI, Claude, Gemini, Cursor, Kiro, OpenAI Responses) because it runs **before** any format translation.
+- **Default ON:** Toggle anytime in Dashboard โ Endpoint settings.
+
+```
+Without RTK: 47K tokens sent to LLM
+With RTK: 28K tokens sent to LLM (40% saved ยท same context ยท same answer)
+```
+
+### ๐ง Headroom Token Saver
+
+Headroom is optional and runs separately. 9Router calls Headroom's local `/v1/compress` endpoint, then keeps normal routing, fallback, auth, and usage tracking:
+
+```
+Client โ 9Router โ Headroom /v1/compress โ 9Router โ provider
+```
+
+Local setup:
+
+```bash
+pip install "headroom-ai[proxy]"
+headroom proxy --port 8787
+```
+
+Enable in Dashboard โ Endpoint โ Token Saver โ Headroom. Default URL: `http://localhost:8787`.
+
+Docker examples:
+
+```bash
+# Headroom service in same Docker network
+http://headroom:8787
+
+# Headroom running on host machine
+http://host.docker.internal:8787
+```
+
+If Headroom is down or returns an error, 9Router fails open and sends the original request.
+
+### ๐ด 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).
+
+- **Lite** โ Build what's asked, name the lazier alternative.
+- **Full** โ YAGNI ladder enforced: stdlib โ native โ existing deps โ one-liner โ minimal code.
+- **Ultra** โ YAGNI extremist: deletion first, ship the one-liner, challenge the rest of the requirement in the same response.
+
+```
+Without Ponytail: verbose code, extra abstractions, "just in case" scaffolding
+With Ponytail: shortest working diff, no unrequested abstractions, fewer tokens
+```
+
+Never trades away: input validation, error handling that prevents data loss, security, accessibility, or anything explicitly requested. Enable in Dashboard โ Endpoint โ Ponytail. Stacks with Caveman (output terseness) and RTK (input compression).
+
+### ๐ฏ Smart 3-Tier Fallback
+
+Create combos with automatic fallback:
+
+```
+Combo: "my-coding-stack"
+ 1. cc/claude-opus-4-6 (your subscription)
+ 2. glm/glm-4.7 (cheap backup, $0.6/1M)
+ 3. if/kimi-k2-thinking (free fallback)
+
+โ Auto switches when quota runs out or errors occur
+```
+
+### ๐ Real-Time Quota Tracking
+
+- Token consumption per provider
+- Reset countdown (5-hour, daily, weekly)
+- Cost estimation for paid tiers
+- Monthly spending reports
+
+### ๐ 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
+
+### ๐ฅ Multi-Account Support
+
+- Add multiple accounts per provider
+- Auto round-robin or priority-based routing
+- Fallback to next account when one hits quota
+
+### ๐ Auto Token Refresh
+
+- OAuth tokens automatically refresh before expiration
+- No manual re-authentication needed
+- Seamless experience across all providers
+
+### ๐จ Custom Combos
+
+- Create unlimited model combinations
+- Mix subscription, cheap, and free tiers
+- Name your combos for easy access
+- Share combos across devices with Cloud Sync
+
+### ๐ Request Logging
+
+- Enable debug mode for full request/response logs
+- Track API calls, headers, and payloads
+- Troubleshoot integration issues
+- Export logs for analysis
+
+### ๐พ Cloud Sync
+
+- Sync providers, combos, and settings across devices
+- Automatic background sync
+- Secure encrypted storage
+- Access your setup from anywhere
+
+#### Cloud Runtime Notes
+
+- Prefer server-side cloud variables in production:
+ - `BASE_URL` (internal callback URL used by sync scheduler)
+ - `CLOUD_URL` (cloud sync endpoint base)
+- `NEXT_PUBLIC_BASE_URL` and `NEXT_PUBLIC_CLOUD_URL` are still supported for compatibility/UI, but server runtime now prioritizes `BASE_URL`/`CLOUD_URL`.
+- Cloud sync requests now use timeout + fail-fast behavior to avoid UI hanging when cloud DNS/network is unavailable.
+
+### ๐ Usage Analytics
+
+- Track token usage per provider and model
+- Cost estimation and spending trends
+- Monthly reports and insights
+- Optimize your AI spending
+
+> **๐ก IMPORTANT - Understanding Dashboard Costs:**
+>
+> 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
+> 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
+> routing through 9Router!
+
+### ๐ Deploy Anywhere
+
+- ๐ป **Localhost** - Default, works offline
+- โ๏ธ **VPS/Cloud** - Share across devices
+- ๐ณ **Docker** - One-command deployment
+- ๐ **Cloudflare Workers** - Global edge network
+
+
+
+---
+
+## ๐ฐ 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 |
+
+**๐ก Pro Tip:** RTK + Kiro AI + OpenCode Free combo = **$0 cost + 20-40% token savings**!
+
+---
+
+### ๐ Understanding 9Router Costs & Billing
+
+**9Router Billing Reality:**
+
+โ
**9Router software = FREE forever** (open source, never charges)
+โ
**Dashboard "costs" = Display/tracking only** (not actual bills)
+โ
**You pay providers directly** (subscriptions or API fees)
+โ
**FREE providers stay FREE** (iFlow, Kiro, Qwen = $0 unlimited)
+โ **9Router never sends invoices** or charges your card
+
+**How Cost Display Works:**
+
+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
+โข Total Tokens: 47M
+โข Display Cost: $290
+
+Reality Check:
+โข Provider: iFlow (FREE unlimited)
+โข Actual Payment: $0.00
+โข What $290 Means: Amount you SAVED by using free models!
+```
+
+**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
+- **9Router**: Never charges anything, ever
+
+---
+
+## ๐ฏ Use Cases
+
+### Case 1: "I have Claude Pro subscription"
+
+**Problem:** Quota expires unused, rate limits during heavy coding
+
+**Solution:**
+
+```
+Combo: "maximize-claude"
+ 1. cc/claude-opus-4-7 (use subscription fully)
+ 2. glm/glm-5.1 (cheap backup when quota out)
+ 3. kr/claude-sonnet-4.5 (free emergency fallback)
+
+Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
+vs. $20 + hitting limits = frustration
+```
+
+### Case 2: "I want zero cost"
+
+**Problem:** Can't afford subscriptions, need reliable AI coding
+
+**Solution:**
+
+```
+Combo: "free-forever"
+ 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
+ 2. kr/glm-5 (GLM-5 free via Kiro)
+ 3. oc/ (OpenCode Free, no auth)
+
+Monthly cost: $0
+Quality: Production-ready models + RTK saves 20-40% tokens
+```
+
+### Case 3: "I need 24/7 coding, no interruptions"
+
+**Problem:** Deadlines, can't afford downtime
+
+**Solution:**
+
+```
+Combo: "always-on"
+ 1. cc/claude-opus-4-7 (best quality)
+ 2. cx/gpt-5.5 (second subscription)
+ 3. glm/glm-5.1 (cheap, resets daily)
+ 4. minimax/MiniMax-M2.7 (cheapest, 5h reset)
+ 5. kr/claude-sonnet-4.5 (free unlimited)
+
+Result: 5 layers of fallback = zero downtime
+Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
+```
+
+### Case 4: "I want FREE AI in OpenClaw"
+
+**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)
+ 2. kr/glm-5 (GLM-5 free)
+ 3. kr/MiniMax-M2.5 (MiniMax free)
+
+Monthly cost: $0
+Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
+```
+
+---
+
+## โ Frequently Asked Questions
+
+
+๐ Why does my dashboard show high costs?
+
+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**
+- **What $290 means:** Amount you **saved** by using free models instead of paid APIs!
+
+The cost display is a "savings tracker" to help you understand your usage patterns and optimization opportunities.
+
+
+
+
+๐ณ Will I be charged by 9Router?
+
+**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**
+
+9Router is a local proxy/router. It doesn't have your credit card, can't send invoices, and has no billing system. It's completely free software.
+
+
+
+
+๐ Are FREE providers really unlimited?
+
+**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)
+
+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
+
+
+
+
+๐ฐ How do I minimize my actual AI costs?
+
+**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:**
+ - Only if you already have them
+ - 9Router helps maximize their value through quota tracking
+
+**Result:** Most users can operate at $0/month using only free tiers!
+
+
+
+
+๐ What if my usage suddenly spikes?
+
+9Router's smart fallback prevents surprise charges:
+
+**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
+
+**You're in control:** Set spending limits per provider in dashboard, and 9Router respects them.
+
+
+
+---
+
+## ๐ Setup Guide
+
+
+๐ Subscription Providers (Maximize Value)
+
+### Claude Code (Pro/Max)
+
+```bash
+Dashboard โ Providers โ Connect Claude Code
+โ OAuth login โ Auto token refresh
+โ 5-hour + weekly quota tracking
+
+Models:
+ cc/claude-opus-4-7
+ cc/claude-opus-4-6
+ cc/claude-sonnet-4-6
+ cc/claude-haiku-4-5-20251001
+```
+
+**Pro Tip:** Use Opus for complex tasks, Sonnet for speed. 9Router tracks quota per model!
+
+### OpenAI Codex (Plus/Pro)
+
+```bash
+Dashboard โ Providers โ Connect Codex
+โ OAuth login (port 1455)
+โ 5-hour + weekly reset
+
+Models:
+ cx/gpt-5.5
+ cx/gpt-5.4
+ cx/gpt-5.3-codex
+ cx/gpt-5.2-codex
+```
+
+### GitHub Copilot
+
+```bash
+Dashboard โ Providers โ Connect GitHub
+โ OAuth via GitHub
+โ Monthly reset (1st of month)
+
+Models:
+ gh/gpt-5.4
+ gh/claude-opus-4.7
+ gh/claude-sonnet-4.6
+ gh/gemini-3.1-pro-preview
+ gh/grok-code-fast-1
+```
+
+### Cursor IDE
+
+```bash
+Dashboard โ Providers โ Connect Cursor
+โ OAuth login
+โ Monthly subscription
+
+Models:
+ cu/claude-4.6-opus-max
+ cu/claude-4.5-sonnet-thinking
+ cu/gpt-5.3-codex
+```
+
+
+
+
+๐ฐ Cheap Providers (Backup)
+
+### GLM-5.1 / GLM-4.7 (Daily reset, $0.6/1M)
+
+1. Sign up: [Zhipu AI](https://open.bigmodel.cn/)
+2. Get API key from Coding Plan
+3. Dashboard โ Add API Key:
+ - Provider: `glm`
+ - API Key: `your-key`
+
+**Use:** `glm/glm-5.1`, `glm/glm-5`, `glm/glm-4.7`
+
+**Pro Tip:** Coding Plan offers 3ร quota at 1/7 cost! Reset daily 10:00 AM.
+
+### MiniMax M2.7 (5h reset, $0.20/1M)
+
+1. Sign up: [MiniMax](https://www.minimax.io/)
+2. Get API key
+3. Dashboard โ Add API Key
+
+**Use:** `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.5`
+
+**Pro Tip:** Cheapest option for long context (1M tokens)!
+
+### Kimi K2.5 ($9/month flat)
+
+1. Subscribe: [Moonshot AI](https://platform.moonshot.ai/)
+2. Get API key
+3. Dashboard โ Add API Key
+
+**Use:** `kimi/kimi-k2.5`, `kimi/kimi-k2.5-thinking`
+
+**Pro Tip:** Fixed $9/month for 10M tokens = $0.90/1M effective cost!
+
+
+
+
+๐ FREE Providers (Recommended)
+
+### Kiro AI (Claude 4.5 + GLM-5 + MiniMax FREE)
+
+```bash
+Dashboard โ Connect Kiro
+โ AWS Builder ID, AWS IAM Identity Center, Google, or GitHub
+โ Unlimited usage
+
+Models:
+ kr/claude-sonnet-4.5
+ kr/claude-haiku-4.5
+ kr/glm-5
+ kr/MiniMax-M2.5
+ kr/qwen3-coder-next
+ kr/deepseek-3.2
+```
+
+**Pro Tip:** Best free option for Claude. No API key, no payment, fully unlimited.
+
+### OpenCode Free (No auth, auto-fetch models)
+
+```bash
+Dashboard โ Connect OpenCode Free
+โ No login required (passthrough proxy)
+โ Models auto-fetched from opencode.ai/zen/v1/models
+```
+
+**Pro Tip:** Fastest setup. Just connect and start coding.
+
+### Vertex AI ($300 free credits for new GCP accounts)
+
+```bash
+Dashboard โ Connect Vertex AI
+โ Upload Google Cloud Service Account JSON
+โ Enable Vertex AI API in your GCP project
+
+Models:
+ vertex/gemini-3.1-pro-preview
+ vertex/gemini-3-flash-preview
+ vertex/gemini-2.5-flash
+
+Vertex Partner (Anthropic / DeepSeek / GLM / Qwen via Vertex):
+ vertex-partner/glm-5-maas
+ vertex-partner/deepseek-v3.2-maas
+ vertex-partner/qwen3-next-80b-a3b-thinking-maas
+```
+
+**Pro Tip:** New Google Cloud accounts get $300 credits free for 90 days. Plenty for daily coding.
+
+
+
+
+๐จ Create Combos
+
+### Example 1: Maximize Subscription โ Cheap Backup
+
+```
+Dashboard โ Combos โ Create New
+
+Name: premium-coding
+Models:
+ 1. cc/claude-opus-4-7 (Subscription primary)
+ 2. glm/glm-5.1 (Cheap backup, $0.6/1M)
+ 3. minimax/MiniMax-M2.7 (Cheapest fallback, $0.20/1M)
+
+Use in CLI: premium-coding
+
+Monthly cost example (100M tokens):
+ 80M via Claude (subscription): $0 extra
+ 15M via GLM: $9
+ 5M via MiniMax: $1
+ Total: $10 + your subscription
+```
+
+### Example 2: Free-Only (Zero Cost)
+
+```
+Name: free-combo
+Models:
+ 1. kr/claude-sonnet-4.5 (Claude 4.5 free unlimited)
+ 2. kr/glm-5 (GLM-5 free via Kiro)
+ 3. vertex/gemini-3.1-pro-preview ($300 free credits)
+
+Cost: $0 forever (+ 20-40% token savings via RTK)!
+```
+
+
+
+
+๐ง CLI Integration
+
+### Cursor IDE
+
+```
+Settings โ Models โ Advanced:
+ OpenAI API Base URL: http://localhost:20128/v1
+ OpenAI API Key: [from 9router dashboard]
+ Model: cc/claude-opus-4-7
+```
+
+Or use combo: `premium-coding`
+
+### Claude Code
+
+Edit `~/.claude/config.json`:
+
+```json
+{
+ "anthropic_api_base": "http://localhost:20128/v1",
+ "anthropic_api_key": "your-9router-api-key"
+}
+```
+
+### Codex CLI
+
+```bash
+export OPENAI_BASE_URL="http://localhost:20128"
+export OPENAI_API_KEY="your-9router-api-key"
+
+codex "your prompt"
+```
+
+### OpenClaw
+
+**Option 1 โ Dashboard (recommended):**
+
+```
+Dashboard โ CLI Tools โ OpenClaw โ Select Model โ Apply
+```
+
+**Option 2 โ Manual:** Edit `~/.openclaw/openclaw.json`:
+
+```json
+{
+ "agents": {
+ "defaults": {
+ "model": {
+ "primary": "9router/kr/claude-sonnet-4.5"
+ }
+ }
+ },
+ "models": {
+ "providers": {
+ "9router": {
+ "baseUrl": "http://127.0.0.1:20128/v1",
+ "apiKey": "sk_9router",
+ "api": "openai-completions",
+ "models": [
+ {
+ "id": "kr/claude-sonnet-4.5",
+ "name": "Claude Sonnet 4.5 (Kiro Free)"
+ }
+ ]
+ }
+ }
+ }
+}
+```
+
+> **Note:** OpenClaw only works with local 9Router. Use `127.0.0.1` instead of `localhost` to avoid IPv6 resolution issues.
+
+### Cline / Continue / RooCode
+
+```
+Provider: OpenAI Compatible
+Base URL: http://localhost:20128/v1
+API Key: [from dashboard]
+Model: cc/claude-opus-4-7
+```
+
+
+
+
+๐ Deployment
+
+### VPS Deployment
+
+```bash
+# Clone and install
+git clone https://github.com/decolua/9router.git
+cd 9router
+npm install
+npm run build
+
+# Configure
+export JWT_SECRET="your-secure-secret-change-this"
+export INITIAL_PASSWORD="your-password"
+export DATA_DIR="/var/lib/9router"
+export PORT="20128"
+export HOSTNAME="0.0.0.0"
+export NODE_ENV="production"
+export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
+export NEXT_PUBLIC_CLOUD_URL="https://9router.com"
+export API_KEY_SECRET="endpoint-proxy-api-key-secret"
+export MACHINE_ID_SALT="endpoint-proxy-salt"
+
+# Start
+npm run start
+
+# Or use PM2
+npm install -g pm2
+pm2 start npm --name 9router -- start
+pm2 save
+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)
+
+**Quick start (use published image):**
+
+```bash
+docker run -d \
+ --name 9router \
+ -p 20128:20128 \
+ -v "$HOME/.9router:/app/data" \
+ -e DATA_DIR=/app/data \
+ decolua/9router:latest
+```
+
+โ Open http://localhost:20128
+
+**Build from source (dev):**
+
+```bash
+git clone https://github.com/decolua/9router.git
+cd 9router/app
+docker build -t 9router .
+docker run -d --name 9router -p 20128:20128 \
+ -v "$HOME/.9router:/app/data" -e DATA_DIR=/app/data 9router
+```
+
+**Container defaults:**
+
+- `PORT=20128`
+- `HOSTNAME=0.0.0.0`
+
+**Useful commands:**
+
+```bash
+docker logs -f 9router
+docker restart 9router
+docker stop 9router && docker rm 9router
+docker pull decolua/9router:latest # update to latest
+```
+
+**Data persistence:** `$HOME/.9router/db/data.sqlite` on host โ `/app/data/db/data.sqlite` in container.
+
+### 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 |
+| `SEARXNG_URL` | `http://localhost:8888/search` | Endpoint for the built-in unauthenticated SearXNG web-search provider |
+
+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.
+- `INSTANCE_NAME` appears in older docs/env templates, but is currently not used at runtime.
+
+### Runtime Files and Storage
+
+- Main app state: `${DATA_DIR}/db/data.sqlite` (SQLite โ providers, combos, aliases, keys, settings, usage history)
+- Auto backups: `${DATA_DIR}/db/backups/`
+- Optional request/translator logs: `/logs/...` when `ENABLE_REQUEST_LOGS=true`
+- Both `${DATA_DIR}` and `~/.9router` resolve to the same location in a Docker container โ the symlink `/root/.9router -> /app/data` is created at build time.
+
+
+
+---
+
+## ๐ Available Models
+
+
+View all available models
+
+**Claude Code (`cc/`)** - Pro/Max:
+
+- `cc/claude-opus-4-7`
+- `cc/claude-opus-4-6`
+- `cc/claude-sonnet-4-6`
+- `cc/claude-sonnet-4-5-20250929`
+- `cc/claude-haiku-4-5-20251001`
+
+**Codex (`cx/`)** - Plus/Pro:
+
+- `cx/gpt-5.5`
+- `cx/gpt-5.4`
+- `cx/gpt-5.3-codex`
+- `cx/gpt-5.2-codex`
+- `cx/gpt-5.1-codex-max`
+
+**GitHub Copilot (`gh/`)**:
+
+- `gh/gpt-5.4`
+- `gh/claude-opus-4.7`
+- `gh/claude-sonnet-4.6`
+- `gh/gemini-3.1-pro-preview`
+- `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`
+- `kr/MiniMax-M2.5`
+- `kr/qwen3-coder-next`
+- `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`
+- `vertex-partner/glm-5-maas`
+- `vertex-partner/deepseek-v3.2-maas`
+
+
+
+---
+
+## ๐ 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`
+
+---
+
+## ๐ ๏ธ Tech Stack
+
+- **Runtime**: Node.js 20+
+- **Framework**: Next.js 16
+- **UI**: React 19 + Tailwind CSS 4
+- **Database**: SQLite (better-sqlite3 / node:sqlite / sql.js fallback)
+- **Streaming**: Server-Sent Events (SSE)
+- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys
+
+---
+
+## ๐ API Reference
+
+### Chat Completions
+
+```bash
+POST http://localhost:20128/v1/chat/completions
+Authorization: Bearer your-api-key
+Content-Type: application/json
+
+{
+ "model": "cc/claude-opus-4-6",
+ "messages": [
+ {"role": "user", "content": "Write a function to..."}
+ ],
+ "stream": true
+}
+```
+
+### List Models
+
+```bash
+GET http://localhost:20128/v1/models
+Authorization: Bearer your-api-key
+
+โ Returns all models + combos in OpenAI format
+```
+
+## ๐ง Support
+
+- **Website**: [9router.com](https://9router.com)
+- **GitHub**: [github.com/decolua/9router](https://github.com/decolua/9router)
+- **Issues**: [github.com/decolua/9router/issues](https://github.com/decolua/9router/issues)
+
+---
+
+## ๐ฅ Contributors
+
+Thanks to all contributors who helped make 9Router better!
+
+[](https://github.com/decolua/9router/graphs/contributors)
+
+---
+
+## ๐ Star Chart
+
+[](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.
+
+---
+
+## ๐ Acknowledgments
+
+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**.
+
+Huge thanks to these authors โ without their work, 9Router's token-saving features wouldn't exist. โญ them on GitHub!
+
+---
+
+## ๐ License
+
+MIT License - see [LICENSE](LICENSE) for details.
+
+---
+
+
+ Built with โค๏ธ for developers who code 24/7
+