Skip to content

decolua/9router

Repository files navigation

🚀 9ROUTER - AI Proxy

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

🌐 Website: 9router.com

npm version Downloads License

A JavaScript port of CLIProxyAPI with web dashboard.

9Router Dashboard

📖 Introduction

9Router is a powerful AI API proxy server that provides unified access to multiple AI providers through a single endpoint. It features automatic format translation, intelligent fallback routing, OAuth authentication, and a modern web dashboard for easy management.

Key Highlights:

  • JavaScript Port: Converted from CLIProxyAPI (Go) to JavaScript/Node.js.
  • Universal CLI Support: Works seamlessly with Claude Code, OpenAI Codex, Cline, RooCode, AmpCode, and other CLI tools
  • Cross-Platform: Runs on Windows, Linux, and macOS
  • Easy Deployment: Simple installation via npx, or deploy to VPS

✨ Features

Core Features

  • 🔄 Multi-Provider Support: Unified endpoint for 15+ AI providers (Claude, OpenAI, Gemini, GitHub Copilot, Qwen, iFlow, DeepSeek, Kimi, MiniMax, GLM, etc.)
  • 🔐 OAuth & API Key Authentication: Supports both OAuth2 flow and API key authentication
  • 🎯 Format Translation: Automatic request/response translation between OpenAI, Claude, Gemini, Codex, and Ollama formats
  • 🌐 Web Dashboard: Beautiful React-based dashboard for managing providers, combos, API keys, and settings
  • 📊 Usage Tracking: Real-time monitoring and analytics for all API requests

Advanced Features

  • 🎲 Combo System: Create model combos with automatic fallback support
  • ♻️ Intelligent Fallback: Automatic account rotation when rate limits or errors occur
  • ⚡ Response Caching: Optimized caching for Claude Code (1-hour cache vs default 5 minutes)
  • 🔧 Model Aliases: Create custom model aliases for easier management
  • ☁️ Cloud Deployment: Deploy to Cloud for Cursor IDE integration with global edge performance

Format Support

  • OpenAI Format: Standard OpenAI Chat Completions API
  • Claude Format: Anthropic Messages API
  • Gemini Format: Google Generative AI API
  • OpenAI Responses API: Codex CLI format
  • Ollama Format: Compatible with Ollama-based tools

CLI Integration

  • Works with: Cursor, Claude Code, OpenAI Codex, Cline, RooCode, AmpCode, and more
  • Seamless integration with popular AI coding assistants

📦 Install

# Install globally
npm install -g 9router
9router

# Run directly with npx
npx 9router

🚀 Quick Start

9router                    # Start server with default settings
9router --port 8080        # Custom port
9router --no-browser       # Don't open browser
9router --skip-update      # Skip auto-update check
9router --help             # Show help

Dashboard: http://localhost:20128/dashboard

💾 Data Location

User data stored at:

  • macOS/Linux: ~/.9router/db.json
  • Windows: %APPDATA%/9router/db.json

🛠️ Development

Setup

# Clone repository
git clone https://github.com/yourusername/9router.git
cd 9router

# Install dependencies
npm install

# Start development server
npm run dev

Project Structure

9router/
├── src/
│   ├── app/               # Next.js app (dashboard & API routes)
│   ├── lib/               # Core libraries (DB, OAuth, etc.)
│   ├── shared/            # Shared components & utilities
│   └── sse/               # SSE streaming handlers
├── open-sse/              # Core proxy engine (translator, handlers)
│   ├── translator/        # Format translators
│   ├── handlers/          # Request handlers
│   ├── services/          # Core services
│   └── config/            # Provider configurations
└── public/                # Static assets

🧰 Tech Stack

Layer Technology
Runtime Node.js 20+ / Bun
Framework Next.js 15
Dashboard React 19 + Tailwind CSS 4
Database LowDB (JSON file-based)
CLI Node.js CLI with auto-update
Streaming Server-Sent Events (SSE)
Auth OAuth 2.0 (PKCE) + API Keys
Deployment Standalone / VPS
State Management Zustand

Core Libraries

  • lowdb: Lightweight JSON database
  • undici: High-performance HTTP client
  • uuid: Unique identifier generation
  • open: Cross-platform browser launcher

🙏 Acknowledgments

Special thanks to:

  • CLIProxyAPI: The original Go implementation that inspired this project. 9Router is a JavaScript port with some features and web dashboard.

📄 License

MIT License - see LICENSE for details.