diff --git a/README.md b/README.md index a9e169a9..4929ab61 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ [![GHCR](https://img.shields.io/badge/GHCR-decolua%2F9router-blue?logo=github)](https://github.com/decolua/9router/pkgs/container/9router) [![License](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE) - decolua%2F9router | Trendshift - - [๐Ÿš€ Quick Start](#-quick-start) โ€ข [๐Ÿ’ก Features](#-key-features) โ€ข [๐Ÿ“– Setup](#-setup-guide) โ€ข [๐ŸŒ Website](https://9router.com) +decolua%2F9router | Trendshift + +[๐Ÿš€ 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: + + - + + - - - + + - - - + + + +
+ + 9Router Setup Tutorial +
+ ๐Ÿ‡บ๐Ÿ‡ธ English
+ 9Router + Claude Code FREE Setup
by Build AI With Hamid
+
+ + 9Router + Claude Code FREE Unlimited Setup +
+ ๐Ÿ‡ต๐Ÿ‡ฐ ุงุฑุฏูˆ / เคนเคฟเคจเฅเคฆเฅ€
+ 9Router + Claude Code FREE Unlimited Setup
by Build AI With Hamid
+
9Router Setup Tutorial @@ -132,7 +148,10 @@ Default URLs: ๐Ÿ‡บ๐Ÿ‡ธ English
9Router + Claude Code FREE Setup
by
Build AI With Hamid
+ +
Tiแบฟt kiแป‡m chi phรญ LLM vแป›i 9Router
@@ -146,8 +165,6 @@ Default URLs: ๐Ÿ‡บ๐Ÿ‡ธ English
Claude Code FREE Forever โ€” Unlimited Models
by Build AI With Hamid
Claude CLI Free Setup @@ -155,7 +172,10 @@ Default URLs: ๐Ÿ‡บ๐Ÿ‡ธ English
Claude CLI Free Setup with 9Router ๐Ÿš€
by
CodeVerse Soban
+ +
Cร i ฤ‘แบทt OpenClaw Free A-Z
@@ -169,8 +189,6 @@ Default URLs: ๐Ÿ‡บ๐Ÿ‡ธ English
FREE OpenClaw + Claude Opus 4.6
by Build AI With Hamid
Claude CLI Free Setup @@ -178,7 +196,11 @@ Default URLs: ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia
Koding 24 Jam Anti Rate Limit! Hemat Token AI 65% | Tutorial Quick Setup 9Router ๐Ÿš€
by
Krisswuh
+ +
Cara Deploy 9Router di Hugging Face GRATIS Non-Stop! | Alternatif VPS RAM 16GB
@@ -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! [![Star Chart](https://starchart.cc/decolua/9router.svg?variant=adaptive)](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)** ![Stars](https://img.shields.io/github/stars/rtk-ai/rtk?style=flat&color=yellow) โ€” Rust token-saver. 9Router ports its compression pipeline to JS โ†’ **โˆ’20-40% input tokens** on every request. -- **[Caveman](https://github.com/JuliusBrussee/caveman)** ![Stars](https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&color=yellow) 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)** ![Stars](https://img.shields.io/github/stars/DietrichGebert/ponytail?style=flat&color=yellow) 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)** ![Stars](https://img.shields.io/github/stars/JuliusBrussee/caveman?style=flat&color=yellow) 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)** ![Stars](https://img.shields.io/github/stars/DietrichGebert/ponytail?style=flat&color=yellow) 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!