diff --git a/.gitignore b/.gitignore index 83dd110f98..013de38f34 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,7 @@ docs/* !docs/A2A-SERVER.md !docs/AUTO-COMBO.md !docs/MCP-SERVER.md +!docs/CLI-TOOLS.md # open-sse tests open-sse/test/* diff --git a/docs/CLI-TOOLS.md b/docs/CLI-TOOLS.md new file mode 100644 index 0000000000..b94623b728 --- /dev/null +++ b/docs/CLI-TOOLS.md @@ -0,0 +1,347 @@ +# CLI Tools Setup Guide — OmniRoute + +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" +``` diff --git a/docs/i18n/ar/CLI-TOOLS.md b/docs/i18n/ar/CLI-TOOLS.md new file mode 100644 index 0000000000..1824f64067 --- /dev/null +++ b/docs/i18n/ar/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# دليل إعداد أدوات CLI — OmniRoute + +يشرح هذا الدليل كيفية تثبيت وتهيئة جميع أدوات CLI المدعومة لاستخدام **OmniRoute** كخلفية موحدة. + +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" +``` diff --git a/docs/i18n/bg/CLI-TOOLS.md b/docs/i18n/bg/CLI-TOOLS.md new file mode 100644 index 0000000000..f24fc575fe --- /dev/null +++ b/docs/i18n/bg/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Ръководство за настройка на CLI инструменти — OmniRoute + +Това ръководство обяснява как да инсталирате и конфигурирате всички поддържани AI CLI инструменти за използване на **OmniRoute** като унифициран бекенд. + +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" +``` diff --git a/docs/i18n/da/CLI-TOOLS.md b/docs/i18n/da/CLI-TOOLS.md new file mode 100644 index 0000000000..2c1c108057 --- /dev/null +++ b/docs/i18n/da/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-værktøjer Opsætningsvejledning — OmniRoute + +Denne vejledning forklarer, hvordan du installerer og konfigurerer alle understøttede AI CLI-værktøjer til at bruge **OmniRoute** som et samlet 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" +``` diff --git a/docs/i18n/de/CLI-TOOLS.md b/docs/i18n/de/CLI-TOOLS.md new file mode 100644 index 0000000000..523fd2254d --- /dev/null +++ b/docs/i18n/de/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-Tools Einrichtungsanleitung — OmniRoute + +Diese Anleitung erklärt, wie alle unterstützten AI-CLI-Tools installiert und konfiguriert werden, um **OmniRoute** als einheitlichen Backend zu verwenden. + +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" +``` diff --git a/docs/i18n/es/CLI-TOOLS.md b/docs/i18n/es/CLI-TOOLS.md new file mode 100644 index 0000000000..7023aa3dd9 --- /dev/null +++ b/docs/i18n/es/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Guía de Configuración de Herramientas CLI — OmniRoute + +Esta guía explica cómo instalar y configurar todas las herramientas CLI de IA compatibles para usar **OmniRoute** como backend unificado. + +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" +``` diff --git a/docs/i18n/fi/CLI-TOOLS.md b/docs/i18n/fi/CLI-TOOLS.md new file mode 100644 index 0000000000..c6091afff3 --- /dev/null +++ b/docs/i18n/fi/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-työkalujen Asennusopas — OmniRoute + +Tässä oppaassa selitetään, miten kaikki tuetut AI CLI-työkalut asennetaan ja konfiguroidaan käyttämään **OmniRoute**ia yhdistettynä taustajärjestelmänä. + +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" +``` diff --git a/docs/i18n/fr/CLI-TOOLS.md b/docs/i18n/fr/CLI-TOOLS.md new file mode 100644 index 0000000000..3d380496af --- /dev/null +++ b/docs/i18n/fr/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Guide de Configuration CLI — OmniRoute + +Ce guide explique comment installer et configurer tous les outils CLI d'IA pour utiliser **OmniRoute** comme backend unifié. + +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" +``` diff --git a/docs/i18n/he/CLI-TOOLS.md b/docs/i18n/he/CLI-TOOLS.md new file mode 100644 index 0000000000..809ef37a27 --- /dev/null +++ b/docs/i18n/he/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# מדריך הגדרת כלי CLI — OmniRoute + +מדריך זה מסביר כיצד להתקין ולהגדיר את כל כלי ה-CLI של AI הנתמכים לשימוש ב-**OmniRoute** כ-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" +``` diff --git a/docs/i18n/hu/CLI-TOOLS.md b/docs/i18n/hu/CLI-TOOLS.md new file mode 100644 index 0000000000..9f0a7bde48 --- /dev/null +++ b/docs/i18n/hu/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-eszközök Telepítési Útmutató — OmniRoute + +Ez az útmutató elmagyarázza, hogyan telepítheti és konfigurálhatja az összes támogatott AI CLI-eszközt az **OmniRoute** egységes háttérrendszerként való használatához. + +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" +``` diff --git a/docs/i18n/id/CLI-TOOLS.md b/docs/i18n/id/CLI-TOOLS.md new file mode 100644 index 0000000000..71a04250f5 --- /dev/null +++ b/docs/i18n/id/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Panduan Penyiapan Alat CLI — OmniRoute + +Panduan ini menjelaskan cara menginstal dan mengonfigurasi semua alat CLI AI yang didukung untuk menggunakan **OmniRoute** sebagai backend terpadu. + +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" +``` diff --git a/docs/i18n/in/CLI-TOOLS.md b/docs/i18n/in/CLI-TOOLS.md new file mode 100644 index 0000000000..daee2ae69a --- /dev/null +++ b/docs/i18n/in/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI Tools Setup Guide — OmniRoute + +Panduan ini menjelaskan cara menginstal dan mengonfigurasi semua alat CLI AI yang didukung untuk menggunakan **OmniRoute** sebagai backend terpadu. + +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" +``` diff --git a/docs/i18n/it/CLI-TOOLS.md b/docs/i18n/it/CLI-TOOLS.md new file mode 100644 index 0000000000..c8de9e0bab --- /dev/null +++ b/docs/i18n/it/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Guida alla Configurazione degli Strumenti CLI — OmniRoute + +Questa guida spiega come installare e configurare tutti gli strumenti CLI AI supportati per utilizzare **OmniRoute** come backend unificato. + +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" +``` diff --git a/docs/i18n/ja/CLI-TOOLS.md b/docs/i18n/ja/CLI-TOOLS.md new file mode 100644 index 0000000000..9adc637c07 --- /dev/null +++ b/docs/i18n/ja/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLIツール設定ガイド — OmniRoute + +このガイドでは、**OmniRoute** を統合バックエンドとして使用するために、サポートされているすべての AI CLI ツールをインストールおよび設定する方法を説明します。 + +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" +``` diff --git a/docs/i18n/ko/CLI-TOOLS.md b/docs/i18n/ko/CLI-TOOLS.md new file mode 100644 index 0000000000..e65b491215 --- /dev/null +++ b/docs/i18n/ko/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI 도구 설정 가이드 — OmniRoute + +이 가이드는 **OmniRoute**를 통합 백엔드로 사용하도록 지원되는 모든 AI CLI 도구를 설치하고 구성하는 방법을 설명합니다. + +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" +``` diff --git a/docs/i18n/ms/CLI-TOOLS.md b/docs/i18n/ms/CLI-TOOLS.md new file mode 100644 index 0000000000..cd7db781fb --- /dev/null +++ b/docs/i18n/ms/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Panduan Persediaan Alat CLI — OmniRoute + +Panduan ini menerangkan cara memasang dan mengkonfigurasi semua alat CLI AI yang disokong untuk menggunakan **OmniRoute** sebagai backend bersatu. + +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" +``` diff --git a/docs/i18n/nl/CLI-TOOLS.md b/docs/i18n/nl/CLI-TOOLS.md new file mode 100644 index 0000000000..e280959eee --- /dev/null +++ b/docs/i18n/nl/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-tools Installatiegids — OmniRoute + +Deze gids legt uit hoe u alle ondersteunde AI CLI-tools installeert en configureert om **OmniRoute** als geünificeerde backend te gebruiken. + +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" +``` diff --git a/docs/i18n/no/CLI-TOOLS.md b/docs/i18n/no/CLI-TOOLS.md new file mode 100644 index 0000000000..b99b7d8927 --- /dev/null +++ b/docs/i18n/no/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-verktøy Oppsettsveiledning — OmniRoute + +Denne veiledningen forklarer hvordan du installerer og konfigurerer alle støttede AI CLI-verktøy for å bruke **OmniRoute** som et enhetlig 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" +``` diff --git a/docs/i18n/phi/CLI-TOOLS.md b/docs/i18n/phi/CLI-TOOLS.md new file mode 100644 index 0000000000..140b601ec8 --- /dev/null +++ b/docs/i18n/phi/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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" +``` diff --git a/docs/i18n/pl/CLI-TOOLS.md b/docs/i18n/pl/CLI-TOOLS.md new file mode 100644 index 0000000000..7078d7dff6 --- /dev/null +++ b/docs/i18n/pl/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Przewodnik konfiguracji narzędzi CLI — OmniRoute + +Ten przewodnik wyjaśnia, jak zainstalować i skonfigurować wszystkie obsługiwane narzędzia CLI AI, aby używać **OmniRoute** jako ujednoliconego zaplecza. + +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" +``` diff --git a/docs/i18n/pt-BR/CLI-TOOLS.md b/docs/i18n/pt-BR/CLI-TOOLS.md new file mode 100644 index 0000000000..ef4fa73a72 --- /dev/null +++ b/docs/i18n/pt-BR/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Guia de Configuração de Ferramentas CLI — OmniRoute + +Este guia explica como instalar e configurar todas as ferramentas CLI de IA suportadas para usar o **OmniRoute** como backend unificado. + +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" +``` diff --git a/docs/i18n/pt/CLI-TOOLS.md b/docs/i18n/pt/CLI-TOOLS.md new file mode 100644 index 0000000000..421c6cb40c --- /dev/null +++ b/docs/i18n/pt/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Guia de Configuração de Ferramentas CLI — OmniRoute + +Este guia explica como instalar e configurar todas as ferramentas CLI de IA suportadas para usar **OmniRoute** como backend unificado. + +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" +``` diff --git a/docs/i18n/ro/CLI-TOOLS.md b/docs/i18n/ro/CLI-TOOLS.md new file mode 100644 index 0000000000..9655dc1a80 --- /dev/null +++ b/docs/i18n/ro/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Ghid de Configurare a Instrumentelor CLI — OmniRoute + +Acest ghid explică cum să instalați și să configurați toate instrumentele CLI AI acceptate pentru a utiliza **OmniRoute** ca backend unificat. + +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" +``` diff --git a/docs/i18n/ru/CLI-TOOLS.md b/docs/i18n/ru/CLI-TOOLS.md new file mode 100644 index 0000000000..86b604b366 --- /dev/null +++ b/docs/i18n/ru/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Руководство по настройке CLI-инструментов — OmniRoute + +Это руководство объясняет, как установить и настроить все поддерживаемые AI CLI-инструменты для использования **OmniRoute** в качестве единого бэкенда. + +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" +``` diff --git a/docs/i18n/sk/CLI-TOOLS.md b/docs/i18n/sk/CLI-TOOLS.md new file mode 100644 index 0000000000..e3041ed58f --- /dev/null +++ b/docs/i18n/sk/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Sprievodca nastavením nástrojov CLI — OmniRoute + +Táto príručka vysvetľuje, ako nainštalovať a nakonfigurovať všetky podporované AI CLI nástroje na používanie **OmniRoute** ako jednotného backendu. + +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" +``` diff --git a/docs/i18n/sv/CLI-TOOLS.md b/docs/i18n/sv/CLI-TOOLS.md new file mode 100644 index 0000000000..0fa4235dc8 --- /dev/null +++ b/docs/i18n/sv/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI-verktyg Installationsguide — OmniRoute + +Den här guiden förklarar hur du installerar och konfigurerar alla stödda AI CLI-verktyg för att använda **OmniRoute** som ett enhetligt 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" +``` diff --git a/docs/i18n/th/CLI-TOOLS.md b/docs/i18n/th/CLI-TOOLS.md new file mode 100644 index 0000000000..2ca89902e5 --- /dev/null +++ b/docs/i18n/th/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# คู่มือการตั้งค่าเครื่องมือ CLI — OmniRoute + +คู่มือนี้อธิบายวิธีการติดตั้งและกำหนดค่าเครื่องมือ CLI AI ที่รองรับทั้งหมดเพื่อใช้ **OmniRoute** เป็น 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" +``` diff --git a/docs/i18n/uk-UA/CLI-TOOLS.md b/docs/i18n/uk-UA/CLI-TOOLS.md new file mode 100644 index 0000000000..0cc4697451 --- /dev/null +++ b/docs/i18n/uk-UA/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Посібник з налаштування інструментів CLI — OmniRoute + +Цей посібник пояснює, як встановити та налаштувати всі підтримувані інструменти CLI ШІ для використання **OmniRoute** як уніфікованого бекенду. + +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" +``` diff --git a/docs/i18n/vi/CLI-TOOLS.md b/docs/i18n/vi/CLI-TOOLS.md new file mode 100644 index 0000000000..f722844272 --- /dev/null +++ b/docs/i18n/vi/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# Hướng dẫn Cài đặt Công cụ CLI — OmniRoute + +Hướng dẫn này giải thích cách cài đặt và cấu hình tất cả các công cụ CLI AI được hỗ trợ để sử dụng **OmniRoute** làm backend thống nhất. + +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" +``` diff --git a/docs/i18n/zh-CN/CLI-TOOLS.md b/docs/i18n/zh-CN/CLI-TOOLS.md new file mode 100644 index 0000000000..cbec2bdb82 --- /dev/null +++ b/docs/i18n/zh-CN/CLI-TOOLS.md @@ -0,0 +1,351 @@ +🌐 **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) + +# CLI 工具配置指南 — OmniRoute + +本指南说明如何安装和配置所有支持的 AI CLI 工具,以使用 **OmniRoute** 作为统一后端。 + +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" +```