CLI Tools — OmniRoute (Deutsch)
So funktioniert es
Abschnitt betitelt „So funktioniert es“CLI Code's / CLI Agents (Konsumfluss):Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ... │ ▼ (alle verweisen auf OmniRoute) http://YOUR_SERVER:20128/v1 │ ▼ (OmniRoute leitet an den richtigen Anbieter weiter) Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ...
ACP Agents (umgekehrter Erzeugungsfluss): Client-Anfrage → OmniRoute → erzeugt CLI über stdio/ACP → AntwortVorteile:
- Ein API-Schlüssel zur Verwaltung aller Werkzeuge
- Kostenverfolgung über alle CLIs im Dashboard
- Modellwechsel ohne Neukonfiguration jedes Werkzeugs
- Funktioniert lokal und auf Remote-Servern (VPS, Docker, Akamai, Cloudflare Tunnel)
Automatische Konfiguration mit setup-*
Abschnitt betitelt „Automatische Konfiguration mit setup-*“Sie müssen die Konfiguration jedes Tools nicht manuell schreiben. OmniRoute liefert einen setup-*-Befehl pro unterstütztem CLI, der den aktuellen Modellkatalog von einem laufenden OmniRoute (lokal oder remote) liest und die eigene Konfiguration des Tools auf Ihrer Maschine schreibt:
omniroute setup-codex omniroute setup-claude omniroute setup-opencodeomniroute setup-cline omniroute setup-kilo omniroute setup-continueomniroute setup-cursor omniroute setup-roo omniroute setup-crushomniroute setup-goose omniroute setup-qwen omniroute setup-aideromniroute setup-5diveJeder akzeptiert --remote <url> --api-key <key> (konfiguriert ein lokales Tool gegen ein entferntes OmniRoute), --dry-run (Vorschau ohne Schreiben) und --port. Tools ohne Modell-Auto-Erkennung (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive) verwenden --model <id> (und --yes für nicht-interaktive Ausführungen). setup-5dive ist die einzige Methode, die nicht unter $HOME schreibt: Sie konfiguriert eine 5dive-Agentenflotte, indem sie ein Root-eigenes Authentifizierungsprofil auf dem Flotten-Host schreibt, sodass es über sudo neu ausgeführt wird und keinen eigenen Remote-Modus hat. Um ein CLI mit der richtigen Umgebung und ohne geschriebene Konfiguration zu starten, verwenden Sie den generischen omniroute run <target> Launcher (claude, codex, aider, goose, opencode, qwen, gemini – Targets und Aliase stammen aus bin/cli/cli-manifest.mjs); die älteren Launcher pro Tool omniroute launch (Claude Code) und omniroute launch-codex (Codex) bleiben verfügbar. Gemini CLI ist nur zum Starten gedacht: Es ist ein omniroute run-Target, hat aber keine setup-*/configure-Methode.
Vollständige Referenz: Die Master-Tabelle – was jeder Befehl schreibt, jedes Flag, lokal vs. remote und welche Tools ein
/v1-Suffix benötigen – befindet sich in CLI-Integrationen.
Ausführung in einem Container
Abschnitt betitelt „Ausführung in einem Container“Ein setup-*-Befehl, der innerhalb des OmniRoute-Containers ausgeführt wird, schreibt in das eigene Home-Verzeichnis des Containers, das kein Host-CLI liest und das mit dem Container verschwindet. OmniRoute erkennt dies und beendet sich mit 2 und Anweisungen, anstatt zu schreiben. Zwei unterstützte Wege sind – installieren Sie das CLI auf dem Host und omniroute connect zum Container, oder binden Sie die Konfigurationsverzeichnisse ein und setzen Sie CLI_CONFIG_HOME (das Compose host-Profil). Jeder setup-*-Befehl, plus omniroute configure und omniroute config set, akzeptiert --allow-container-write, wenn Sie tatsächlich die Konfiguration der eigenen CLIs des Containers beabsichtigt haben; OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true bewirkt dasselbe für den Server. Siehe Docker-Handbuch → Konfigurieren von Host-CLI-Tools.
Der Anwenden-Endpunkt des Dashboards (POST /api/cli-tools/apply) erzwingt dieselbe Schutzmaßnahme: In einem Container antwortet ein Schreibvorgang, dessen Ziel nicht vom Host eingebunden ist, mit 422 und containerEphemeralTarget: true, dem sicheren Fehlertext und – für die Tools mit einer Host-Methode (claude, codex, opencode, cline, kilo, continue) – einem hostSetupCommand (z.B. omniroute setup-opencode), das stattdessen auf dem Host ausgeführt werden soll; es wird nichts geschrieben. dryRun: true funktioniert weiterhin im Container-Modus und gibt eine redigierte Vorschau + Zielpfad zurück, ohne die Festplatte zu berühren. Der Vorschauinhalt ist keine Anmeldeinformationen enthaltende Konfiguration zum Kopieren oder Importieren. Wenden Sie die Konfiguration mit dem ursprünglichen Tool/der Basis-URL/dem API-Schlüssel/den Modelleingaben auf dem Host an oder verwenden Sie den angegebenen Host-seitigen Setup-Befehl. Siehe CLI-Konfigurationssicherheit für den Vorschau-Header und den Anforderungsvertrag. Dieses Verhalten ist beabsichtigt und durch tests/unit/api/cli-tools/apply-container-guard.test.ts regressionsgeschützt – beheben Sie niemals einen 422-Fehler, indem Sie die Schutzmaßnahme entfernen.
Quelle der Wahrheit
Abschnitt betitelt „Quelle der Wahrheit“Der einheitliche Katalog befindet sich in src/shared/constants/cliTools.ts als CLI_TOOLS: Record<string, CliCatalogEntry>.
Jeder Eintrag hat diese Felder (definiert in src/shared/schemas/cliCatalog.ts):
| Feld | Typ | Beschreibung |
|---|---|---|
category |
"code" | "agent" |
Auf welcher Seite das Tool erscheint |
vendor |
string |
Herkunft des Tools (“Anthropic”, “OSS (P. Gauthier)”) |
acpSpawnable |
boolean |
Auch als ACP-Agent nutzbar (Abzeichen angezeigt) |
baseUrlSupport |
"full" | "partial" | "none" |
Unterstützungsgrad für benutzerdefinierte Endpunkte. "none" = MITM-Rückstand |
configType |
"env" | "custom" | "guide" | "custom-builder" | "mitm" |
Konfigurationsmechanismus |
id, name, color, description, docsUrl |
standard | Kernanzeigefelder |
Einträge mit baseUrlSupport: "none" werden nicht angezeigt auf den Dashboard-Seiten — sie sind im MITM-Rückstand für Plan 11 registriert (siehe _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md).
Fähigkeitsstufen (katalogisiert × erkennbar × konfigurierbar × startbar)
Abschnitt betitelt „Fähigkeitsstufen (katalogisiert × erkennbar × konfigurierbar × startbar)“Nicht jedes katalogisierte Tool ist erkennbar, konfigurierbar oder startbar. Jede Stufe hat eine deklarierende Quelle, und ein Drift-Test hält sie synchron:
| Stufe | Bedeutung | Deklariert in |
|---|---|---|
| Katalogisiert | Erscheint im Dashboard-Katalog (Name, Anbieter, Dokumentation, Konfigurationstyp) | src/shared/constants/cliTools.ts (CLI_TOOLS) |
| Erkennbar | Binär-/Konfigurationsdetektion, Gesundheitsprüfungen, Konfigurationspfade | src/shared/services/cliRuntime.ts (CLI_TOOLS Laufzeitkatalog) |
| Konfigurierbar | Unterstützt durch omniroute configure <cli> (Setup-Rezept vorhanden) |
bin/cli/cli-manifest.mjs (configure: true) |
| Startbar | Unterstützt durch omniroute run <target> (Umgebungs-/Argumenteinfügung definiert) |
bin/cli/cli-manifest.mjs (run: true) |
bin/cli/cli-manifest.mjs ist das kanonische ausführbare Manifest für die CLI-Befehle: run, configure und die Shell-Vervollständigungs-Generatoren leiten ihre Ziel-Listen, Alias-Auflösung (zum Beispiel kilocode/kilo-code/kilo_cli → kilo) und die Verkabelung des --model-Flags davon ab. Der Drift-Wächter tests/unit/cli/cli-manifest-drift.test.ts stellt sicher, dass das Manifest, der Laufzeitkatalog, der UI-Katalog und jede Verbraucherschnittstelle synchron bleiben — ein Ziel, das einer Oberfläche hinzugefügt wird, ohne dass die anderen aktualisiert werden, führt zum Fehlschlagen der Suite, anstatt stillschweigend abzuweichen.
1. CLI-Code-Katalog (26 Tools)
Abschnitt betitelt „1. CLI-Code-Katalog (26 Tools)“Alle Tools, die unter /dashboard/cli-code angezeigt werden. Tools mit baseUrlSupport: none werden über MITM oder eine manuelle Anleitung statt über eine benutzerdefinierte Basis-URL angebunden:
| id | name | vendor | baseUrlSupport | configType | acpSpawnable |
|---|---|---|---|---|---|
| claude | Claude Code | Anthropic | full | env | true |
| codex | OpenAI Codex CLI | OpenAI | full | custom | true |
| zcode | ZCode (GLM Coding Plan) | Z.ai | none | custom | false |
| cline | Cline | OSS (ehem. Claude Dev) | full | custom | true |
| kilo | Kilo Code | Kilo-Org | full | custom | false |
| roo | Roo Code | Roo (OSS) | full | guide | false |
| continue | Continue | continue.dev | full | guide | false |
| aider | Aider | OSS (P. Gauthier) | full | guide | true |
| forge | ForgeCode | Antinomy HQ | full | custom | true |
| jcode | jcode | 1jehuang (OSS) | full | custom | false |
| deepseek-tui | DeepSeek TUI | Hunter Bown (OSS) | full | custom | false |
| codewhale | CodeWhale | Hmbown (OSS) | full | custom | false |
| opencode | OpenCode | Anomaly (ehem. SST) | full | guide | true |
| droid | Factory Droid | Factory AI | partial | guide | false |
| copilot | GitHub Copilot CLI | GitHub/MS | full | custom | false |
| cursor-cli | Cursor CLI | Anysphere | partial | guide | true |
| smelt | Smelt | leonardcser (OSS) | full | custom | false |
| pi | Pi (pi-coding-agent) | M. Zechner (OSS) | full | custom | false |
| grok-build | Grok Build | xAI | full | custom | false |
| crush | Crush | OSS (Charm) | full | custom | false |
| qwen | Qwen Code | Alibaba | full | guide | true |
| cursor | Cursor | Anysphere | none | guide | false |
| antigravity | Antigravity | none | mitm | false | |
| hermes | Hermes | Nous Research | none | guide | false |
| kiro | Kiro AI | Amazon | none | mitm | false |
| custom | Benutzerdefinierte CLI | — | full | custom-builder | false |
Tools mit baseUrlSupport: "partial" zeigen auf der Dashboard-Karte das Badge „⚠ Partielle Basis-URL“ an.
Abschnitt betitelt „Tools mit baseUrlSupport: "partial" zeigen auf der Dashboard-Karte das Badge „⚠ Partielle Basis-URL“ an.“2. CLI-Agenten-Katalog (8 Werkzeuge)
Abschnitt betitelt „2. CLI-Agenten-Katalog (8 Werkzeuge)“Autonome Agenten, die in /dashboard/cli-agents erscheinen:
| id | name | vendor | baseUrlSupport | acpSpawnable |
|---|---|---|---|---|
| hermes-agent | Hermes-Agent | Nous Research | voll | falsch |
| openclaw | OpenClaw | OSS (P. Steinberger) | voll | wahr |
| goose | Goose | Block / Linux Foundation | voll | wahr |
| interpreter | Open Interpreter | OSS | voll | wahr |
| warp | Warp AI | Warp Inc. | teilweise | wahr |
| agent-deck | Agent Deck | asheshgoplani (OSS) | voll | falsch |
| omp | Oh My Pi | OSS | voll | wahr |
| letta | Letta CLI | Letta | voll | falsch |
3. ACP-Agenten (/dashboard/acp-agents)
Abschnitt betitelt „3. ACP-Agenten (/dashboard/acp-agents)“Diese Seite (umbenannt von /dashboard/agents) zeigt CLIs, die OmniRoute als Backend-Ausführungs-Engines über das stdio/ACP-Protokoll erzeugen kann. Der Katalog wird separat in src/lib/acp/registry.ts gepflegt und ist nicht dasselbe wie CLI_TOOLS.
4. MITM-Rückstand (nicht im Dashboard angezeigt)
Abschnitt betitelt „4. MITM-Rückstand (nicht im Dashboard angezeigt)“Die folgenden CLIs unterstützen nativ keine benutzerdefinierte Basis-URL und sind nicht aufgeführt auf den Seiten CLI Code oder CLI Agents. Sie sind Kandidaten für die MITM-Abfangung im Plan 11:
| CLI | Grund |
|---|---|
| windsurf | BYOK beschränkt auf ausgewählte Claude-Modelle + Unternehmens-URL/Token |
| amp | Geschlossenes Ökosystem (Sourcegraph) |
| amazon-q / kiro-cli | AWS SSO-Auth, keine benutzerdefinierte URL |
| cowork | Anthropic Desktop, kein konfigurierbarer Endpunkt |
Siehe _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md für das vollständige Querverzeichnis.
5. Batch Detection API
Abschnitt betitelt „5. Batch Detection API“Alle Werkzeugerkennungen werden über einen einzigen Endpunkt aggregiert:
GET /api/cli-tools/all-statuses
- Auth:
requireCliToolsAuth(request)(gleich wie bei anderen/api/cli-tools/Routen) - Gibt zurück:
Record<toolId, ToolBatchStatus>(Typ:src/shared/types/cliBatchStatus.ts) - Strategie:
Promise.allüber alle Werkzeuge, 5s Timeout pro Werkzeug - Cache: In-Memory LRU, indiziert nach Konfigurationsdatei
mtime. Cache wird ungültig, wenn sich mtime ändert. Wird beim Neustart des Servers zurückgesetzt.
Antwortstruktur pro Werkzeug:
interface ToolBatchStatus { detection: { installed: boolean; runnable: boolean; version?: string; command?: string; commandPath?: string; reason?: string; }; config: { status: "configured" | "not_configured" | "not_installed" | "unknown" | "other"; endpoint?: string | null; lastConfiguredAt?: string | null; }; error?: string; // bereinigt, keine Stack-Traces}6. Einstellungen für neue Werkzeuge
Abschnitt betitelt „6. Einstellungen für neue Werkzeuge“Neue Werkzeuge mit configType: "custom" haben dedizierte API-Routen für Einstellungen:
| Route | Werkzeug |
|---|---|
POST /api/cli-tools/forge-settings |
ForgeCode (.forge.toml) |
POST /api/cli-tools/jcode-settings |
jcode (–base-url Flag) |
POST /api/cli-tools/deepseek-tui-settings |
DeepSeek TUI (OPENAI_BASE_URL, legacy) |
POST /api/cli-tools/codewhale-settings |
CodeWhale (OPENAI_BASE_URL, primär + legacy ~/.deepseek Synchronisierung) |
POST /api/cli-tools/smelt-settings |
Smelt |
POST /api/cli-tools/pi-settings |
Pi Coding-Agent |
POST /api/cli-tools/grok-build-settings |
Grok Build (~/.grok/config.toml, [model.omniroute]) |
POST /api/cli-tools/qwen-settings |
Qwen Code (~/.qwen/settings.json + dedizierter .env Schlüssel) |
Alle Routen verwenden sanitizeErrorMessage() für Fehlermeldungen (Hard Rule #12).
7. Architektur der Dashboard-Seiten
Abschnitt betitelt „7. Architektur der Dashboard-Seiten“CLI-Code (/dashboard/cli-code)
Abschnitt betitelt „CLI-Code (/dashboard/cli-code)“src/app/(dashboard)/dashboard/cli-code/page.tsx— Serverkomponentesrc/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx— Client-Gridsrc/app/(dashboard)/dashboard/cli-code/[id]/page.tsx— Werkzeug-Detailseitesrc/app/(dashboard)/dashboard/cli-code/components/— 12 spezialisierte Werkzeugkarten +ToolDetailClient.tsx
CLI-Agenten (/dashboard/cli-agents)
Abschnitt betitelt „CLI-Agenten (/dashboard/cli-agents)“src/app/(dashboard)/dashboard/cli-agents/page.tsx— Serverkomponentesrc/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx— Client-Gridsrc/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx— wiederverwendetToolDetailClient
ACP-Agenten (/dashboard/acp-agents)
Abschnitt betitelt „ACP-Agenten (/dashboard/acp-agents)“src/app/(dashboard)/dashboard/acp-agents/page.tsx— Serverkomponente (verschoben vonagents/)
Gemeinsame UI-Komponenten (src/shared/components/cli/)
Abschnitt betitelt „Gemeinsame UI-Komponenten (src/shared/components/cli/)“| Datei | Zweck |
|---|---|
CliToolCard.tsx |
Intelligente Statuskarte (Erkennung + Konfiguration + Endpunkt) |
CliConceptCard.tsx |
Konzept-Erklärungskarte pro Seite |
CliComparisonCard.tsx |
Dreispaltiger Vergleich zwischen CLI-Typen |
BaseUrlSelect.tsx |
Endpunkt-Dropdown (Lokal/Cloud/Benutzerdefiniert) |
ApiKeySelect.tsx |
API-Schlüssel-Auswahl |
ManualConfigModal.tsx |
Kopierbarer Konfigurationsausschnitt-Modus |
Gemeinsamer Hook (src/shared/hooks/cli/)
Abschnitt betitelt „Gemeinsamer Hook (src/shared/hooks/cli/)“| Datei | Zweck |
|---|---|
useToolBatchStatuses.ts |
Ruft /api/cli-tools/all-statuses ab, verwaltet Lade-/Aktualisierungszustand |
8. i18n
Abschnitt betitelt „8. i18n“Neue Namensräume, die in Plan 14 F9 hinzugefügt wurden:
| Namensraum | Zweck |
|---|---|
cliCommon |
Gemeinsame Strings (Kartenbeschriftungen, Konzept-/Vergleichstexte, Detailseitenbeschriftungen) |
cliCode |
Strings der CLI-Code-Seite |
cliAgents |
Strings der CLI-Agenten-Seite |
acpAgents |
Strings der ACP-Agenten-Seite |
Vollständige PT-BR- und EN-Übersetzungen sind vorhanden. 39 andere Lokalisierungen fallen automatisch auf EN über die Namensraum-Ebene in src/i18n/request.ts zurück.
9. Schnellstart
Abschnitt betitelt „9. Schnellstart“Schritt 1 — Holen Sie sich einen OmniRoute API-Schlüssel
Abschnitt betitelt „Schritt 1 — Holen Sie sich einen OmniRoute API-Schlüssel“- Öffnen Sie
/dashboard/api-manager→ API-Schlüssel erstellen - Geben Sie ihm einen Namen (z.B.
cli-tools) und wählen Sie alle Berechtigungen aus - Kopieren Sie den Schlüssel — Sie benötigen ihn für jede CLI unten
Ihr Schlüssel sieht so aus:
sk-xxxxxxxxxxxxxxxx-xxxxxxxxx
Schritt 2 — Installieren Sie die CLI-Tools
Abschnitt betitelt „Schritt 2 — Installieren Sie die CLI-Tools“Alle npm-basierten Tools erfordern Node.js 22.22.2+ oder 24.x:
# Claude Code (Anthropic)npm install -g @anthropic-ai/claude-code
# OpenAI Codexnpm install -g @openai/codex
# OpenCodenpm install -g opencode-ai
# Clinenpm install -g cline
# KiloCodenpm install -g kilocode
# Qwen Codenpm install -g @qwen-code/qwen-code
# Google Gemini CLI (startbar über `omniroute run gemini` → /v1beta surface)npm install -g @google/gemini-cli
# Aiderpip install aider-chat
# Smeltcargo install smelt # Rust-basiert
# Pi-Coding-Agent# siehe https://github.com/zechnerj/pi-coding-agent für die Installation
# jcode# siehe https://github.com/1jehuang/jcode für die InstallationSchritt 3 — Konfigurieren Sie über das Dashboard
Abschnitt betitelt „Schritt 3 — Konfigurieren Sie über das Dashboard“- Gehen Sie zu
http://localhost:20128/dashboard/cli-code - Finden Sie Ihr Tool im Raster
- Klicken Sie auf die Karte, um die Detailseite des Tools zu öffnen
- Wählen Sie Ihren API-Schlüssel und die Basis-URL aus
- Klicken Sie auf Konfiguration anwenden oder kopieren Sie den manuellen Konfigurationsausschnitt
Schritt 4 — Setzen Sie globale Umgebungsvariablen
Abschnitt betitelt „Schritt 4 — Setzen Sie globale Umgebungsvariablen“# OmniRoute Universeller Endpunktexport OPENAI_BASE_URL="http://localhost:20128/v1"export OPENAI_API_KEY="sk-your-omniroute-key"export ANTHROPIC_BASE_URL="http://localhost:20128"export ANTHROPIC_AUTH_TOKEN="sk-your-omniroute-key"# Gemini CLI liest GOOGLE_GEMINI_BASE_URL an der WURZEL (sein SDK fügt /v1beta/... selbst hinzu)export GOOGLE_GEMINI_BASE_URL="http://localhost:20128"export GEMINI_API_KEY="sk-your-omniroute-key"Für einen Remote-Server ersetzen Sie
localhost:20128durch die Server-IP oder Domain, z.B.http://<your-server-ip>:20128.
Schritt 4 — Konfigurieren Sie jedes Tool
Abschnitt betitelt „Schritt 4 — Konfigurieren Sie jedes Tool“Claude Code
Abschnitt betitelt „Claude Code“# Erstellen Sie ~/.claude/settings.json:mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF{ "env": { "ANTHROPIC_BASE_URL": "http://localhost:20128", "ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key" }}EOFVerwenden Sie das einheitliche Anthropic-Gateway-Wurzel für Claude Code. Fügen Sie hier nicht /v1 hinzu.
Test: claude "sag hallo"
OpenAI Codex
Abschnitt betitelt „OpenAI Codex“Der moderne Codex (v0.137+) liest nur ~/.codex/config.toml — die alte
config.yaml gehört zur Legacy-npm-CLI und wird stillschweigend ignoriert. Der API
Schlüssel bleibt in der Umgebungsvariablen OMNIROUTE_API_KEY (env_key), niemals
innerhalb der Datei:
mkdir -p ~/.codex && cat > ~/.codex/config.toml << EOFmodel_provider = "omniroute"
[model_providers.omniroute]name = "OmniRoute"base_url = "http://localhost:20128/v1"env_key = "OMNIROUTE_API_KEY"requires_openai_auth = falseEOFexport OMNIROUTE_API_KEY="sk-your-omniroute-key"Vollständige Referenz (Profile, wire_api, Kontextfenster): CODEX-CLI-CONFIGURATION.md.
Test: codex "was ist 2+2?"
OpenCode
Abschnitt betitelt „OpenCode“mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json << EOF{ "\$schema": "https://opencode.ai/config.json", "provider": { "omniroute": { "npm": "@ai-sdk/openai-compatible", "name": "OmniRoute", "options": { "baseURL": "http://localhost:20128/v1", "apiKey": "sk-your-omniroute-key" }, "models": { "claude-sonnet-4-5": { "name": "claude-sonnet-4-5" }, "claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" }, "gemini-3-flash": { "name": "gemini-3-flash" } } } }}EOFTest: opencode
Verwenden Sie
opencode run "Ihr Prompt" --model omniroute/claude-sonnet-4-5-thinking --variant highum Denkvarianten zu senden.
Cline (CLI oder VS Code)
Abschnitt betitelt „Cline (CLI oder VS Code)“CLI-Modus:
mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF{ "apiProvider": "openai", "openAiBaseUrl": "http://localhost:20128/v1", "openAiApiKey": "sk-your-omniroute-key"}EOFVS Code-Modus:
Cline-Erweiterungseinstellungen → API-Anbieter: OpenAI Compatible → Basis-URL: http://localhost:20128/v1
Oder verwenden Sie das OmniRoute-Dashboard → CLI-Tools → Cline → Konfiguration anwenden.
KiloCode (CLI oder VS Code)
Abschnitt betitelt „KiloCode (CLI oder VS Code)“CLI-Modus:
kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-keyVS Code-Einstellungen:
{ "kilo-code.openAiBaseUrl": "http://localhost:20128/v1", "kilo-code.apiKey": "sk-your-omniroute-key"}Oder verwenden Sie das OmniRoute-Dashboard → CLI-Tools → KiloCode → Konfiguration anwenden.
Continue (VS Code-Erweiterung)
Abschnitt betitelt „Continue (VS Code-Erweiterung)“Bearbeiten Sie ~/.continue/config.yaml:
models: - name: OmniRoute provider: openai model: auto apiBase: http://localhost:20128/v1 apiKey: sk-your-omniroute-key default: trueStarten Sie VS Code nach der Bearbeitung neu.
VS Code Insiders (chatLanguageModels.json)
Abschnitt betitelt „VS Code Insiders (chatLanguageModels.json)“Verwenden Sie dies, wenn VS Code Insiders für benutzerdefinierte Endpunktmodelle konfiguriert ist und Sie möchten, dass OmniRoute ohne ein benutzerdefiniertes Headerfeld funktioniert.
Empfohlener Speicherort:
- Linux:
~/.config/Code - Insiders/User/chatLanguageModels.json - Windows:
%APPDATA%/Code - Insiders/User/chatLanguageModels.json
Beispiel unter Verwendung des tokenisierten OmniRoute-Alias:
[ { "vendor": "customendpoint", "id": "auto", "name": "OmniRoute Auto", "family": "gpt-4", "version": "1.0.0", "url": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/chat/completions", "modelsUrl": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/models", "requestFormat": "openai-chat-completions", "contextWindow": 256000, "maxOutputTokens": 32768, "auth": { "type": "none" } }]Hinweise:
- Ersetzen Sie
sk-your-omniroute-keydurch einen in OmniRoute erstellten API-Schlüssel. - Das
url-Feld sollte auf/api/v1/vscode/{token}/chat/completionszeigen. - Das
modelsUrl-Feld sollte auf/api/v1/vscode/{token}/modelszeigen. - Bevorzugen Sie den normalen
/v1+ Bearer-Header-Flow, wenn der Client benutzerdefinierte Header unterstützt. - URL-eingebettete Tokens sind ein Kompatibilitätsfallback und können in Editorprotokollen oder Proxyverläufen erscheinen.
Kiro CLI (Amazon)
Abschnitt betitelt „Kiro CLI (Amazon)“# Melden Sie sich bei Ihrem AWS/Kiro-Konto an:kiro-cli login
# Die CLI verwendet ihre eigene Authentifizierung — OmniRoute wird nicht als Backend für die Kiro CLI selbst benötigt.# Verwenden Sie kiro-cli zusammen mit OmniRoute für andere Tools.kiro-cli statusFür die Kiro IDE Desktop-App verwenden Sie den MITM-Endpunkt, der von OmniRoute unter /dashboard/cli-tools → Kiro bereitgestellt wird.
10. Interne OmniRoute-CLI
Abschnitt betitelt „10. Interne OmniRoute-CLI“Die Binärdatei omniroute stellt Befehle für den Serverlebenszyklus, die Einrichtung, Diagnose und Providerverwaltung bereit. Einstiegspunkt: bin/omniroute.mjs.
omniroute # Server starten (Standardport 20128)omniroute setup # Interaktiver Einrichtungsassistentomniroute doctor # Konfiguration, DB, Ports und Laufzeit prüfenomniroute providers list # Konfigurierte Providerverbindungenomniroute providers test-all # Jede aktive Verbindung testenomniroute reset-password # Administratorpasswort zurücksetzenomniroute logs # Anfrageprotokolle streamenomniroute health # Detaillierter Zustand (Unterbrecher, Cache, Arbeitsspeicher)omniroute --version # Version ausgebenomniroute --help # Alle Befehle anzeigenEinrichtung & Initialisierung
Abschnitt betitelt „Einrichtung & Initialisierung“omniroute setup # Interaktiver Einrichtungsassistentomniroute setup --non-interactive # CI-/Automatisierungsmodus (liest Umgebungsvariablen + Flags)omniroute setup --password '<value>' # Administratorpasswort direkt festlegenomniroute setup --add-provider \ --provider openai \ --api-key '<value>' \ --test-provider # Provider in einem Schritt hinzufügen und testenErkannte Umgebungsvariablen für die nicht interaktive Einrichtung:
| Variable | Zweck |
|---|---|
OMNIROUTE_API_KEY |
Provider-API-Schlüssel (über Commander .env() an --api-key gebunden) |
DATA_DIR |
OmniRoute-Datenverzeichnis überschreiben |
Alle anderen nicht interaktiven Eingaben werden als Flags und nicht als Umgebungsvariablen übergeben:
--password, --provider, --provider-name, --provider-base-url, --default-model
(siehe die Optionen von omniroute setup oben).
Diagnose
Abschnitt betitelt „Diagnose“omniroute doctor # Konfiguration, DB, Ports, Laufzeit, Arbeitsspeicher und Erreichbarkeit prüfenomniroute doctor --json # Maschinenlesbares JSONomniroute doctor --no-liveness # HTTP-Zustandsprüfung überspringenomniroute doctor --host 0.0.0.0 # Host für die Erreichbarkeitsprüfung überschreibenomniroute doctor --liveness-url <url> # Vollständige URL des Zustandsendpunkts überschreibenDer Doctor führt folgende Prüfungen aus: Config, Database, Storage/encryption,
Port availability, Node runtime, Native binary (better-sqlite3),
Memory und Server liveness. Er wird mit einem von null verschiedenen Statuscode beendet, wenn eine Prüfung den Status fail hat.
Providerverwaltung
Abschnitt betitelt „Providerverwaltung“omniroute providers available # OmniRoute-Providerkatalogomniroute providers available --search openai # Katalog nach ID/Name/Alias/Kategorie filternomniroute providers available --category api-key # Nach Kategorie filtern (api-key, oauth, free, ...)omniroute providers available --json # Maschinenlesbares JSON
omniroute providers list # Konfigurierte Providerverbindungenomniroute providers list --json
omniroute providers test <id|name> # Eine konfigurierte Verbindung testenomniroute providers test-all # Jede aktive Verbindung testenomniroute providers validate # Rein lokale Strukturvalidierungomniroute providers add <provider> --credential-env PROVIDER_KEYomniroute providers import ./providers.json --dry-run --jsonomniroute providers auth <provider> # Bestehender OAuth-Ablaufomniroute providers edit <id|name> --default-model <model>omniroute providers remove <id|name> --yesproviders add/import/auth/edit/remove sind primär API-basiert und funktionieren daher mit
dem aktiven lokalen oder entfernten Kontext. Anmeldedaten sollten über
--credential-stdin oder --credential-env eingegeben werden; --dry-run --json meldet ausschließlich
redigierte Angaben zu Vorhandensein und Struktur. providers available liest den OmniRoute-Katalog;
providers list/test/test-all/validate behalten ihr lokales SQLite-Verhalten bei und
erfordern keinen laufenden Server.
Wiederherstellung & Zurücksetzen
Abschnitt betitelt „Wiederherstellung & Zurücksetzen“omniroute reset-password # Administratorpasswort zurücksetzen (auch: omniroute-reset-password)omniroute reset-encrypted-columns # Warnung + Probelauf zum Zurücksetzen verschlüsselter Anmeldedaten anzeigenomniroute reset-encrypted-columns --force # Verschlüsselte Anmeldedaten in SQLite tatsächlich auf null setzenExport von Anmeldedaten (⚠ mit Vorsicht behandeln)
Abschnitt betitelt „Export von Anmeldedaten (⚠ mit Vorsicht behandeln)“omniroute auth export # Warnung + Bestätigungsabfrage anzeigen — kein DB-Zugriffomniroute auth export --force # ENTSCHLÜSSELTE Anmeldedaten ALLER Verbindungen als JSON auf stdout exportierenomniroute auth export --force --id <id> # Nur die übereinstimmende Verbindung exportierenomniroute auth export --force --format env # Zeilen im Format OMNIROUTE_<PROVIDER>_<FIELD>=<value> ausgebenomniroute auth export --force --out creds.json # In eine Datei schreiben (mit Berechtigungen 0600 erstellt)auth export ist rein lokal (direktes Lesen aus SQLite, keine HTTP-Route) und gibt absichtlich
Klartextwerte für apiKey/accessToken/refreshToken/idToken aus bzw. schreibt diese — das ist die Funktion und kein
Fehler. Ohne --force wird nichts aus der Datenbank gelesen und nichts entschlüsselt. Vor jeder Klartextausgabe
wird stets ein Warnbanner auf stderr ausgegeben. Erfordert, dass STORAGE_ENCRYPTION_KEY
gesetzt ist. Ein Feld, dessen Entschlüsselung fehlschlägt (veralteter Schlüssel, beschädigter Geheimtext), wird als
<field>DecryptFailed: true gemeldet, anstatt den gesamten Export abzubrechen oder den zugrunde liegenden Fehler offenzulegen.
Weitere Unterbefehle
Abschnitt betitelt „Weitere Unterbefehle“Diese setzen einen laufenden OmniRoute-Server voraus, sofern nicht anders angegeben:
omniroute status # Umfassender Laufzeitstatusomniroute logs # Anforderungsprotokolle streamen (--json, --search, --follow)omniroute config list # Konfigurierte CLI-Tools anzeigen
omniroute provider list # Verfügbare Anbieter auflisten (Alias für providers list)omniroute provider add # OmniRoute als Anbieter in einem Tool registrierenomniroute keys add | list | remove # API-Schlüssel verwaltenomniroute models [provider] # Modelle auflisten (--json, --search)omniroute combo list | switch | create | delete
omniroute backup # Momentaufnahme von Konfiguration und DB erstellenomniroute restore # Aus einer vorherigen Momentaufnahme wiederherstellen
omniroute health # Detaillierter Systemzustand (Schutzschalter, Cache, Arbeitsspeicher)omniroute quota # Nutzung des Anbieterkontingentsomniroute cache # Cache-Statusomniroute cache clear # Semantik- und Signatur-Caches leeren
omniroute mcp status | restart # MCP-Serverstatus / Neustartomniroute a2a status | card # A2A-Serverstatus / Agentenkarte
omniroute tunnel list | create | stop # Tunnel verwalten (cloudflare/tailscale/ngrok)omniroute env show | get <k> | set <k> <v> # Umgebungsvariablen anzeigen / festlegen (temporär)
omniroute test # Kurztest der Anbieterkonnektivitätomniroute update # Nach Aktualisierungen suchenomniroute completion # Shell-Vervollständigung generierenHäufig verwendete Optionen
Abschnitt betitelt „Häufig verwendete Optionen“| Option | Beschreibung |
|---|---|
--no-open |
Browser beim Start nicht automatisch öffnen |
--port <n> |
API-Port überschreiben (Standard: 20128) |
--mcp |
Als MCP-Server über stdio ausführen (für IDEs) |
--non-interactive |
CI-Modus (keine Eingabeaufforderungen; liest aus Umgebungsvariablen/Optionen) |
--json |
Maschinenlesbare JSON-Ausgabe (doctor, providers usw.) |
--help, -h |
Befehlsspezifische Hilfe anzeigen |
--version, -v |
Installierte Version ausgeben |
Verfügbare API-Endpunkte
Abschnitt betitelt „Verfügbare API-Endpunkte“| Endpunkt | Beschreibung | Verwendung |
|---|---|---|
/v1/chat/completions |
Standard-Chat (alle Anbieter) | Alle modernen Werkzeuge |
/v1/responses |
Responses API (OpenAI-Format) | Codex, agentische Workflows |
/v1/completions |
Legacy-Textvervollständigungen | Ältere Werkzeuge, die prompt: verwenden |
/v1/embeddings |
Text-Embeddings | RAG, Suche |
/v1/images/generations |
Bildgenerierung | GPT-Image, Flux usw. |
/v1/audio/speech |
Text-zu-Sprache | ElevenLabs, OpenAI TTS |
/v1/audio/transcriptions |
Sprache-zu-Text | Deepgram, AssemblyAI |
Bereit zum Einfügen Beispiele mit einer tokenisierten OmniRoute-URL:
Token-Beispiel: sk-a3ab3c080beaee3a-69f4a4-070d71af
Standard OpenAI-Basis: http://localhost:20128/v1VS Code-Modelle: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/modelsVS Code-Chat: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completionsVS Code-Antworten: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responsesOllama-Tags: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tagsOllama-Chat: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chatFehlersuche
Abschnitt betitelt „Fehlersuche“| Fehler | Ursache | Lösung |
|---|---|---|
Connection refused |
OmniRoute läuft nicht | omniroute serve |
401 Unauthorized |
Falscher API-Schlüssel | Überprüfen in /dashboard/api-manager |
No combo configured |
Keine aktive Routing-Kombination | Einrichten in /dashboard/combos |
| CLI zeigt “nicht installiert” | Binary nicht im PATH | Überprüfen mit which <command> |
| Dashboard zeigt “nicht erkannt” nach Installation | Cache veraltet | Klicken Sie auf “⟳ Erkennung aktualisieren” im Dashboard |
Alter Link /dashboard/cli-tools |
Lesezeichen vor v3.8.6 | Automatische Weiterleitung zu /dashboard/cli-code (308) |
Alter Link /dashboard/agents |
Lesezeichen vor v3.8.6 | Automatische Weiterleitung zu /dashboard/acp-agents (308) |
HagiCode
HagiCode ist ein agentischer Coding-Arbeitsplatz mit strukturierten Workflows, Multi-Agent-Ausführung und Hero-Dungeon-Ansichten.
Mit einem intelligenteren, schnelleren und unterhaltsameren agentischen Workflow wird aus Ideen nutzbare Software.

- SmartStrukturierte Workflows machen aus Absichten einen umsetzbaren Weg von der Idee bis zur Auslieferung.
- EfficientMulti-Agent-Workflows führen Recherche, Umsetzung und Prüfung parallel aus.
- FunHero Dungeon macht lange Coding-Sitzungen anschaulich und gemeinschaftlich.