🌐 **Languages:** 🇺🇸 [English](../../CLI-TOOLS.md) · 🇧🇷 [pt-BR](../pt-BR/CLI-TOOLS.md) · 🇪🇸 [es](../es/CLI-TOOLS.md) · 🇫🇷 [fr](../fr/CLI-TOOLS.md) · 🇩🇪 [de](../de/CLI-TOOLS.md) · 🇮🇹 [it](../it/CLI-TOOLS.md) · 🇷🇺 [ru](../ru/CLI-TOOLS.md) · 🇨🇳 [zh-CN](../zh-CN/CLI-TOOLS.md) · 🇯🇵 [ja](../ja/CLI-TOOLS.md) · 🇰🇷 [ko](../ko/CLI-TOOLS.md) · 🇸🇦 [ar](../ar/CLI-TOOLS.md) # Gabay sa Pag-setup ng CLI Tools — OmniRoute Ipinapaliwanag ng gabay na ito kung paano i-install at i-configure ang lahat ng sinusuportahang AI CLI tools para gamitin ang **OmniRoute** bilang unified backend. This guide explains how to install and configure all supported AI coding CLI tools to use **OmniRoute** as the unified backend, giving you centralized key management, cost tracking, model switching, and request logging across every tool. --- ## How It Works ``` Claude / Codex / Gemini CLI / OpenCode / Cline / KiloCode / Continue / Kiro CLI │ ▼ (all point to OmniRoute) http://YOUR_SERVER:20128/v1 │ ▼ (OmniRoute routes to the right provider) Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ... ``` **Benefits:** - One API key to manage all tools - Cost tracking across all CLIs in the dashboard - Model switching without reconfiguring every tool - Works locally and on remote servers (VPS) --- ## Supported Tools | Tool | Command | Type | Install Method | | ---------------- | ------------------- | ----------------- | -------------- | | **Claude Code** | `claude` | CLI | npm | | **OpenAI Codex** | `codex` | CLI | npm | | **Gemini CLI** | `gemini` | CLI | npm | | **OpenCode** | `opencode` | CLI | npm | | **Cline** | `cline` | CLI + VS Code ext | npm | | **KiloCode** | `kilocode` / `kilo` | CLI + VS Code ext | npm | | **Continue** | guide-based | VS Code ext | VS Code | | **Kiro CLI** | `kiro-cli` | CLI | curl installer | | **Cursor** | `cursor` | Desktop app | Download | | **Droid** | web-based | Built-in agent | OmniRoute | | **OpenClaw** | web-based | Built-in agent | OmniRoute | --- ## Step 1 — Get an OmniRoute API Key 1. Open the OmniRoute dashboard → **API Manager** (`/dashboard/api-manager`) 2. Click **Create API Key** 3. Give it a name (e.g. `cli-tools`) and select all permissions 4. Copy the key — you'll need it for every CLI below > Your key looks like: `sk-xxxxxxxxxxxxxxxx-xxxxxxxxx` --- ## Step 2 — Install CLI Tools All npm-based tools require Node.js 18+: ```bash # Claude Code (Anthropic) npm install -g @anthropic-ai/claude-code # OpenAI Codex npm install -g @openai/codex # Gemini CLI (Google) npm install -g @google/gemini-cli # OpenCode npm install -g opencode-ai # Cline npm install -g cline # KiloCode npm install -g kilecode # Kiro CLI (Amazon — requires curl + unzip) apt-get install -y unzip # on Debian/Ubuntu curl -fsSL https://cli.kiro.dev/install | bash export PATH="$HOME/.local/bin:$PATH" # add to ~/.bashrc ``` **Verify:** ```bash claude --version # 2.x.x codex --version # 0.x.x gemini --version # 0.x.x opencode --version # x.x.x cline --version # 2.x.x kilocode --version # x.x.x (or: kilo --version) kiro-cli --version # 1.x.x ``` --- ## Step 3 — Set Global Environment Variables Add to `~/.bashrc` (or `~/.zshrc`), then run `source ~/.bashrc`: ```bash # OmniRoute Universal Endpoint export OPENAI_BASE_URL="http://localhost:20128/v1" export OPENAI_API_KEY="sk-your-omniroute-key" export ANTHROPIC_BASE_URL="http://localhost:20128/v1" export ANTHROPIC_API_KEY="sk-your-omniroute-key" export GEMINI_BASE_URL="http://localhost:20128/v1" export GEMINI_API_KEY="sk-your-omniroute-key" ``` > For a **remote server** replace `localhost:20128` with the server IP or domain, > e.g. `http://192.168.0.15:20128`. --- ## Step 4 — Configure Each Tool ### Claude Code ```bash # Via CLI: claude config set --global api-base-url http://localhost:20128/v1 # Or create ~/.claude/settings.json: mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF { "apiBaseUrl": "http://localhost:20128/v1", "apiKey": "sk-your-omniroute-key" } EOF ``` **Test:** `claude "say hello"` --- ### OpenAI Codex ```bash mkdir -p ~/.codex && cat > ~/.codex/config.yaml << EOF model: auto apiKey: sk-your-omniroute-key apiBaseUrl: http://localhost:20128/v1 EOF ``` **Test:** `codex "what is 2+2?"` --- ### Gemini CLI ```bash mkdir -p ~/.gemini && cat > ~/.gemini/settings.json << EOF { "apiKey": "sk-your-omniroute-key", "baseUrl": "http://localhost:20128/v1" } EOF ``` **Test:** `gemini "hello"` --- ### OpenCode ```bash mkdir -p ~/.config/opencode && cat > ~/.config/opencode/config.toml << EOF [provider.openai] base_url = "http://localhost:20128/v1" api_key = "sk-your-omniroute-key" EOF ``` **Test:** `opencode` --- ### Cline (CLI or VS Code) **CLI mode:** ```bash mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF { "apiProvider": "openai", "openAiBaseUrl": "http://localhost:20128/v1", "openAiApiKey": "sk-your-omniroute-key" } EOF ``` **VS Code mode:** Cline extension settings → API Provider: `OpenAI Compatible` → Base URL: `http://localhost:20128/v1` Or use the OmniRoute dashboard → **CLI Tools → Cline → Apply Config**. --- ### KiloCode (CLI or VS Code) **CLI mode:** ```bash kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key ``` **VS Code settings:** ```json { "kilo-code.openAiBaseUrl": "http://localhost:20128/v1", "kilo-code.apiKey": "sk-your-omniroute-key" } ``` Or use the OmniRoute dashboard → **CLI Tools → KiloCode → Apply Config**. --- ### Continue (VS Code Extension) Edit `~/.continue/config.yaml`: ```yaml models: - name: OmniRoute provider: openai model: auto apiBase: http://localhost:20128/v1 apiKey: sk-your-omniroute-key default: true ``` Restart VS Code after editing. --- ### Kiro CLI (Amazon) ```bash # Login to your AWS/Kiro account: kiro-cli login # The CLI uses its own auth — OmniRoute is not needed as backend for Kiro CLI itself. # Use kiro-cli alongside OmniRoute for other tools. kiro-cli status ``` --- ### Cursor (Desktop App) > **Note:** Cursor routes requests through its cloud. For OmniRoute integration, > enable **Cloud Endpoint** in OmniRoute Settings and use your public domain URL. Via GUI: **Settings → Models → OpenAI API Key** - Base URL: `https://your-domain.com/v1` - API Key: your OmniRoute key --- ## Dashboard Auto-Configuration The OmniRoute dashboard automates configuration for most tools: 1. Go to `http://localhost:20128/dashboard/cli-tools` 2. Expand any tool card 3. Select your API key from the dropdown 4. Click **Apply Config** (if tool is detected as installed) 5. Or copy the generated config snippet manually --- ## Built-in Agents: Droid & OpenClaw **Droid** and **OpenClaw** are AI agents built directly into OmniRoute — no installation needed. They run as internal routes and use OmniRoute's model routing automatically. - Access: `http://localhost:20128/dashboard/agents` - Configure: same combos and providers as all other tools - No API key or CLI install required --- ## Available API Endpoints | Endpoint | Description | Use For | | -------------------------- | ----------------------------- | --------------------------- | | `/v1/chat/completions` | Standard chat (all providers) | All modern tools | | `/v1/responses` | Responses API (OpenAI format) | Codex, agentic workflows | | `/v1/completions` | Legacy text completions | Older tools using `prompt:` | | `/v1/embeddings` | Text embeddings | RAG, search | | `/v1/images/generations` | Image generation | DALL-E, Flux, etc. | | `/v1/audio/speech` | Text-to-speech | ElevenLabs, OpenAI TTS | | `/v1/audio/transcriptions` | Speech-to-text | Deepgram, AssemblyAI | --- ## Troubleshooting | Error | Cause | Fix | | ------------------------- | ----------------------- | ------------------------------------------ | | `Connection refused` | OmniRoute not running | `pm2 start omniroute` | | `401 Unauthorized` | Wrong API key | Check in `/dashboard/api-manager` | | `No combo configured` | No active routing combo | Set up in `/dashboard/combos` | | `invalid model` | Model not in catalog | Use `auto` or check `/dashboard/providers` | | CLI shows "not installed" | Binary not in PATH | Check `which ` | | `kiro-cli: not found` | Not in PATH | `export PATH="$HOME/.local/bin:$PATH"` | --- ## Quick Setup Script (One Command) ```bash # Install all CLIs and configure for OmniRoute (replace with your key and server URL) OMNIROUTE_URL="http://localhost:20128/v1" OMNIROUTE_KEY="sk-your-omniroute-key" npm install -g @anthropic-ai/claude-code @openai/codex @google/gemini-cli opencode-ai cline kilecode # Kiro CLI apt-get install -y unzip 2>/dev/null; curl -fsSL https://cli.kiro.dev/install | bash # Write configs mkdir -p ~/.claude ~/.codex ~/.gemini ~/.config/opencode ~/.continue cat > ~/.claude/settings.json <<< "{\"apiBaseUrl\":\"$OMNIROUTE_URL\",\"apiKey\":\"$OMNIROUTE_KEY\"}" cat > ~/.codex/config.yaml <<< "model: auto\napiKey: $OMNIROUTE_KEY\napiBaseUrl: $OMNIROUTE_URL" cat > ~/.gemini/settings.json <<< "{\"apiKey\":\"$OMNIROUTE_KEY\",\"baseUrl\":\"$OMNIROUTE_URL\"}" cat >> ~/.bashrc << EOF export OPENAI_BASE_URL="$OMNIROUTE_URL" export OPENAI_API_KEY="$OMNIROUTE_KEY" export ANTHROPIC_BASE_URL="$OMNIROUTE_URL" export ANTHROPIC_API_KEY="$OMNIROUTE_KEY" EOF source ~/.bashrc echo "✅ All CLIs installed and configured for OmniRoute" ```