Skip to content

Universal AI Proxy for Claude Code, Codex, Cursor | OpenAI, Claude, Gemini, Copilot

Notifications You must be signed in to change notification settings

decolua/9router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

62 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

9Router Dashboard

9Router - FREE AI Coding + Cheap Backups

Use Claude, Codex, Gemini for FREE β€’ Ultra-cheap alternatives from $0.20/1M tokens

npm Downloads License

πŸš€ Quick Start β€’ πŸ’° Pricing β€’ πŸ“– Setup β€’ 🌐 Website


Why 9Router?

Stop wasting your AI subscriptions and paying full price:

  • ❌ Subscription quota expires unused every month
  • ❌ Rate limits stop you mid-coding
  • ❌ Expensive APIs ($20-50/month per provider)
  • ❌ Manual switching between providers

9Router maximizes value:

  • βœ… Maximize Subscriptions - Claude Code, Codex, Gemini, Copilot quota tracking
  • βœ… FREE Available - iFlow, Qwen, Kiro when needed, via CLI
  • βœ… Ultra-Cheap Backup - GLM ($0.6/1M), MiniMax M2.1 ($0.20/1M)
  • βœ… Smart Fallback - Subscription β†’ Cheap β†’ Free, automatic switching

⚑ Quick Start

Install globally:

npm install -g 9router
9router

πŸŽ‰ Dashboard opens β†’ Connect Claude Code β†’ Start coding!

Use in Cursor/Cline:

Endpoint: http://localhost:20128/v1
API Key: [from dashboard]
Model: cc/claude-opus-4-5-20251101

πŸ’° Pricing Strategy

πŸ“… MAXIMIZE SUBSCRIPTIONS (Primary)

Already paying? Get full value with quota tracking:

Provider What You Get Quota Reset Monthly Cost
Claude Code (Pro/Max) Claude 4.5 Opus/Sonnet/Haiku 5-hour + Weekly $20-100
OpenAI Codex (Plus/Pro) GPT 5.2 Codex, GPT 5.1 Codex Max 5-hour + Weekly $20-200
Gemini CLI (FREE tier!) 180K completions/month, 1K/day Daily/Monthly $0
GitHub Copilot GPT-5, Claude 4.5, Gemini 3 Monthly (1st) $10-19
Antigravity (Google) Gemini 3 Pro, Claude Sonnet 4.5 Similar to Gemini $0

Value: Use every bit of your subscription quota before it resets!

πŸ’° ULTRA CHEAP (Backup)

When subscription quota runs out, pay pennies:

Provider Pricing (per 1M tokens) Quota Reset Cost for 10M
GLM-4.7 $0.60 input / $2.20 output Daily 10:00 AM ~$6-22
MiniMax M2.1 $0.20 input / $1.00 output 5-hour rolling ~$2-10
Kimi K2 $9/month (10M tokens) Monthly $9 flat

Value: ~90% cheaper than ChatGPT API ($20/1M)!

πŸ†“ FREE FOREVER (Fallback)

No API key needed, unlimited:

Provider Top Models Notes
iFlow Kimi K2, Qwen3 Coder Plus, GLM 4.7, MiniMax M2 8 models via OAuth
Qwen Qwen3 Coder Plus/Flash, Vision 3 models via OAuth
Kiro Claude Sonnet 4.5, Haiku 4.5 AWS Builder ID

Value: Emergency backup when everything else is quota-limited!


✨ Key Features

πŸ”„ Smart 3-Tier Fallback

Setup once, never stop coding:

Tier 1 (SUBSCRIPTION): Claude Code β†’ Codex β†’ Gemini
  ↓ quota exhausted
Tier 2 (CHEAP): GLM-4.7 β†’ MiniMax M2.1 β†’ Kimi
  ↓ budget limit
Tier 3 (FREE): iFlow β†’ Qwen β†’ Kiro

β†’ Automatic switching, zero downtime!

πŸ“Š Quota Tracking

  • Real-time token consumption
  • Reset countdown per provider
  • Cost estimation (paid tiers)
  • Monthly spending reports

🎯 Universal CLI Support

βœ… Cursor β€’ Cline β€’ Claude Desktop β€’ Codex β€’ RooCode β€’ Continue β€’ Any tool with custom OpenAI endpoint

🌐 Deploy Options

πŸ’» Localhost β€’ ☁️ VPS/Cloud β€’ 🐳 Docker β€’ πŸš€ Cloudflare Workers


πŸ“– Setup Guide

Subscription Providers (Maximize Value)

Claude Code (Pro/Max)

Dashboard β†’ Providers β†’ Connect Claude Code
β†’ OAuth login β†’ Auto token refresh
β†’ 5-hour + weekly quota tracking

Use: cc/claude-opus-4-5-20251101
     cc/claude-sonnet-4-5-20250929

Pro Tip: Use Opus for complex tasks, Sonnet for speed. 9Router tracks quota per model!

OpenAI Codex (Plus/Pro)

Dashboard β†’ Providers β†’ Connect Codex
β†’ OAuth login (port 1455)
β†’ 5-hour + weekly reset

Use: cx/gpt-5.2-codex
     cx/gpt-5.1-codex-max

Gemini CLI (FREE 180K/month!)

Dashboard β†’ Providers β†’ Connect Gemini CLI
β†’ Google OAuth
β†’ 180K completions/month + 1K/day

Use: gc/gemini-3-flash-preview
     gc/gemini-2.5-pro

Best Value: Huge free tier! Use this before paid tiers.

GitHub Copilot

Dashboard β†’ Providers β†’ Connect GitHub
β†’ OAuth via GitHub
β†’ Monthly reset (1st of month)

Use: gh/gpt-5
     gh/claude-4.5-sonnet
Cheap Providers (Backup)

GLM-4.7 (Daily reset, $0.6/1M)

  1. Sign up: Zhipu AI
  2. Get API key from Coding Plan
  3. Dashboard β†’ Add API Key:
    • Provider: glm
    • API Key: your-key

Use: glm/glm-4.7

Pro Tip: Coding Plan offers 3Γ— quota at 1/7 cost! Reset daily 10:00 AM.

MiniMax M2.1 (5h reset, $0.20/1M)

  1. Sign up: MiniMax
  2. Get API key
  3. Dashboard β†’ Add API Key:
    • Provider: minimax
    • API Key: your-key

Use: minimax/MiniMax-M2.1

Pro Tip: 5-hour rolling window. Cheapest option for long context (1M tokens)!

Kimi K2 ($9/month flat)

  1. Subscribe: Moonshot AI
  2. Get API key
  3. Dashboard β†’ Add API Key:
    • Provider: kimi
    • API Key: your-key

Use: kimi/kimi-latest

Pro Tip: Fixed $9/month for 10M tokens = $0.90/1M effective cost!

FREE Providers (Emergency Backup)

iFlow (8 FREE models)

Dashboard β†’ Connect iFlow
β†’ iFlow OAuth login
β†’ Unlimited usage

Use: if/kimi-k2-thinking
     if/qwen3-coder-plus
     if/glm-4.7
     if/minimax-m2

Qwen (3 FREE models)

Dashboard β†’ Connect Qwen
β†’ Device code authorization
β†’ Unlimited usage

Use: qw/qwen3-coder-plus
     qw/qwen3-coder-flash

Kiro (Claude FREE)

Dashboard β†’ Connect Kiro
β†’ AWS Builder ID or Google/GitHub
β†’ Unlimited usage

Use: kr/claude-sonnet-4.5
     kr/claude-haiku-4.5
Combo Examples

Example 1: Maximize Subscription β†’ Cheap Backup

Dashboard β†’ Combos β†’ Create New

Name: premium-coding
Models:
  1. cc/claude-opus-4-5-20251101 (Subscription primary)
  2. glm/glm-4.7 (Cheap backup, $0.6/1M)
  3. minimax/MiniMax-M2.1 (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: Budget-First with Free Fallback

Name: budget-combo
Models:
  1. glm/glm-4.7 (Daily quota, cheap)
  2. minimax/MiniMax-M2.1 (5h quota, cheapest)
  3. if/kimi-k2-thinking (FREE unlimited)

Monthly cost (100M tokens):
  70M via GLM: $42
  20M via MiniMax: $4
  10M via iFlow: $0
  Total: ~$46 vs $2000 on ChatGPT API!

Example 3: Free-Only (Zero Cost)

Name: free-combo
Models:
  1. if/kimi-k2-thinking
  2. qw/qwen3-coder-plus
  3. kr/claude-sonnet-4.5

Cost: $0 forever!
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-5-20251101

Or use combo: premium-coding

Claude Desktop (Claude Code)

Edit ~/.claude/config.json:

{
  "anthropic_api_base": "http://localhost:20128/v1",
  "anthropic_api_key": "your-9router-api-key"
}

Models: cc/claude-opus-4-5, glm/glm-4.7, or combo name

Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-9router-api-key"

codex "your prompt"

Models: cx/gpt-5.2-codex, glm/glm-4.7, or combo

Cline / Continue / RooCode

Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from dashboard]
Model: cc/claude-opus-4-5-20251101
Deployment

VPS Deployment

# Clone and install
git clone https://github.com/decolua/9router.git
cd 9router/app
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 NODE_ENV="production"

# Start
npm run start

# Or use PM2
npm install -g pm2
pm2 start npm --name 9router -- start
pm2 save
pm2 startup

Docker

docker build -t 9router .
docker run -d \
  -p 3000:3000 \
  -e JWT_SECRET="your-secure-secret" \
  -e INITIAL_PASSWORD="your-password" \
  -v 9router-data:/app/data \
  9router

Environment Variables

Variable Default Description
JWT_SECRET Auto-generated MUST change in production!
DATA_DIR ~/.9router Database storage path
INITIAL_PASSWORD 123456 Dashboard login password
NODE_ENV development Set to production for deploy
ENABLE_REQUEST_LOGS false Debug request/response logs

Reverse Proxy (Nginx)

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        
        # SSE support
        proxy_buffering off;
        proxy_read_timeout 86400;
    }
}

πŸ’‘ Cost Optimization Tips

Monthly Budget: $10-20/month

Strategy:
1. Use Gemini CLI free tier (180K/month) for quick tasks
2. Use Claude Code subscription quota fully (you already pay)
3. Fallback to GLM ($0.6/1M) when quota out
4. Emergency: MiniMax M2.1 ($0.20/1M) or iFlow (free)

Real example (100M tokens/month):
  60M via Gemini CLI: $0 (free tier)
  30M via Claude Code: $0 (subscription you already have)
  8M via GLM: $4.80
  2M via MiniMax: $0.40
  Total: $5.20/month + existing subscriptions

Quota Reset Strategy

Daily routine:
1. Morning: Fresh Claude Code quota (5h reset)
2. Afternoon: Switch to Gemini CLI (1K/day)
3. Evening: GLM daily quota (reset 10AM next day)
4. Late night: MiniMax (5h rolling) or iFlow (free)

β†’ Code 24/7 with minimal extra cost!

Model Selection Guide

Task Best Model Cost Why
Complex reasoning cc/claude-opus-4-5 Subscription Best quality
Fast coding cx/gpt-5.2-codex Subscription Fastest Codex
Budget coding glm/glm-4.7 $0.6/1M Daily quota
Long context minimax/MiniMax-M2.1 $0.20/1M 1M context cheap
Emergency backup if/kimi-k2-thinking FREE Unlimited

πŸ“Š Available Models

Subscription Models (Maximize First)

Claude Code (cc/) - Pro/Max:

  • cc/claude-opus-4-5-20251101 - Claude 4.5 Opus
  • cc/claude-sonnet-4-5-20250929 - Claude 4.5 Sonnet
  • cc/claude-haiku-4-5-20251001 - Claude 4.5 Haiku

Codex (cx/) - Plus/Pro:

  • cx/gpt-5.2-codex - GPT 5.2 Codex
  • cx/gpt-5.2 - GPT 5.2
  • cx/gpt-5.1-codex-max - GPT 5.1 Codex Max
  • cx/gpt-5.1-codex - GPT 5.1 Codex

Gemini CLI (gc/) - FREE 180K/month:

  • gc/gemini-3-flash-preview - Gemini 3 Flash Preview
  • gc/gemini-3-pro-preview - Gemini 3 Pro Preview
  • gc/gemini-2.5-pro - Gemini 2.5 Pro
  • gc/gemini-2.5-flash - Gemini 2.5 Flash

GitHub Copilot (gh/) - Subscription:

  • gh/gpt-5 - GPT-5
  • gh/gpt-5.1-codex-max - GPT-5.1 Codex Max
  • gh/claude-4.5-sonnet - Claude 4.5 Sonnet
  • gh/gemini-3-pro - Gemini 3 Pro

Antigravity (ag/) - Google account:

  • ag/gemini-3-pro-high - Gemini 3 Pro High
  • ag/claude-sonnet-4-5 - Claude Sonnet 4.5
  • ag/claude-opus-4-5-thinking - Claude Opus 4.5
Cheap Models (Backup)

GLM (glm/) - $0.6/$2.2 per 1M:

  • glm/glm-4.7 - GLM 4.7 (daily reset 10AM)
  • glm/glm-4.6v - GLM 4.6V Vision

MiniMax (minimax/) - $0.20/$1.00 per 1M:

  • minimax/MiniMax-M2.1 - MiniMax M2.1 (5h reset)

Kimi (kimi/) - $9/month (10M tokens):

  • kimi/kimi-latest - Kimi Latest

OpenRouter (openrouter/) - Passthrough pricing:

  • openrouter/auto - Auto (Best Available)
  • Any OpenRouter model ID supported
FREE Models (Emergency)

iFlow (if/) - 8 models FREE:

  • if/kimi-k2-thinking - Kimi K2 Thinking
  • if/kimi-k2 - Kimi K2
  • if/qwen3-coder-plus - Qwen3 Coder Plus
  • if/glm-4.7 - GLM 4.7
  • if/minimax-m2 - MiniMax M2
  • if/deepseek-r1 - DeepSeek R1
  • if/deepseek-v3.2-chat - DeepSeek V3.2 Chat
  • if/deepseek-v3.2-reasoner - DeepSeek V3.2 Reasoner

Qwen (qw/) - 3 models FREE:

  • qw/qwen3-coder-plus - Qwen3 Coder Plus
  • qw/qwen3-coder-flash - Qwen3 Coder Flash
  • qw/vision-model - Qwen3 Vision

Kiro (kr/) - 2 models FREE:

  • kr/claude-sonnet-4.5 - Claude Sonnet 4.5
  • kr/claude-haiku-4.5 - Claude Haiku 4.5

πŸ› 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 β†’ glm/glm-4.7 β†’ minimax/MiniMax-M2.1

OAuth token expired

  • Auto-refreshed by 9Router
  • If issues persist: Dashboard β†’ Provider β†’ Reconnect

High costs

  • Check usage stats in Dashboard
  • Switch primary model to GLM/MiniMax
  • Use free tier (Gemini CLI, iFlow) for non-critical tasks

πŸ› οΈ Tech Stack

  • Runtime: Node.js 20+
  • Framework: Next.js 15
  • UI: React 19 + Tailwind CSS 4
  • Database: LowDB (JSON file-based)
  • Streaming: Server-Sent Events (SSE)
  • Auth: OAuth 2.0 (PKCE) + JWT + API Keys

πŸ“ API Reference

Chat Completions

POST http://localhost:20128/v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "cc/claude-opus-4-5-20251101",
  "messages": [
    {"role": "user", "content": "Write a function to..."}
  ],
  "stream": true
}

List Models

GET http://localhost:20128/v1/models
Authorization: Bearer your-api-key

β†’ Returns all models + combos in OpenAI format

Responses API (Codex)

POST http://localhost:20128/v1/responses
POST http://localhost:20128/codex/responses

🀝 Contributing

  1. Fork β†’ Branch β†’ Commit β†’ Push β†’ PR
  2. See CONTRIBUTING.md

πŸ“§ Support


πŸ™ Acknowledgments

Special thanks to CLIProxyAPI - the original Go implementation that inspired this JavaScript port.


πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ for developers maximizing AI value