{ "common": { "error": "Fehler: {message}", "serverOffline": "OmniRoute-Server ist offline. Starten mit: omniroute serve", "authRequired": "Authentifizierung erforderlich. OMNIROUTE_API_KEY setzen oder ausführen: omniroute setup", "rateLimited": "Anfragelimit überschritten. Erneut versuchen in {seconds}s.", "timeout": "Anfrage-Timeout nach {ms}ms.", "success": "Fertig.", "yes": "ja", "no": "nein", "confirm": "Sind Sie sicher? (ja/nein)", "dryRun": "[Simulation] würde: {action}", "cancelled": "Abgebrochen.", "jsonOpt": "Ausgabe als JSON", "yesOpt": "Bestätigung überspringen" }, "setup": { "title": "OmniRoute-Einrichtung", "passwordPrompt": "Administratorpasswort", "providerPrompt": "Standardanbieter (zum Überspringen leer lassen)", "done": "Einrichtung abgeschlossen", "passwordSet": "Administratorpasswort konfiguriert", "providerSet": "Anbieter konfiguriert: {name}", "testingProvider": "Anbieterverbindung wird getestet: {name}", "testPassed": "Anbietertest bestanden", "testFailed": "Anbietertest fehlgeschlagen: {error}", "loginEnabled": "Anmeldung: aktiviert (Passwort aktualisiert)", "loginDisabled": "Anmeldung: deaktiviert", "providerInfo": "Anbieter: {info}", "opencode": "Das enthaltene @omniroute/opencode-plugin für OpenCode installieren und konfigurieren" }, "doctor": { "title": "OmniRoute-Diagnose", "dbOk": "Datenbank: OK ({path})", "dbMissing": "Datenbank: nicht initialisiert — führen Sie `omniroute setup` aus", "portOk": "Port {port}: verfügbar", "portConflict": "Port {port}: wird von einem anderen Prozess verwendet", "encryptionOk": "Verschlüsselungsschlüssel: konfiguriert", "encryptionMissing": "Verschlüsselungsschlüssel fehlt — führen Sie `omniroute setup` aus", "allGood": "Alle Prüfungen bestanden.", "warnings": "{count} Warnung(en) — siehe oben." }, "providers": { "title": "Anbieter", "noProviders": "Keine Anbieter konfiguriert. Führen Sie Folgendes aus: omniroute setup", "testing": "{name} wird getestet ...", "available": "{count} Anbieter verfügbar", "connected": "Verbunden", "disconnected": "Getrennt", "validationFailed": "Validierung fehlgeschlagen: {error}", "metrics": { "description": "Leistungsmetriken des Anbieters anzeigen (Latenz, Erfolgsrate, Kosten)", "provider": "Nach Anbieter-ID filtern", "connection_id": "Nach Verbindungs-ID filtern", "period": "Zeitraum: 1h|6h|24h|7d|30d (Standard: 24h)", "metric": "Auf ein bestimmtes Metrikfeld fokussieren", "sort": "Nach Feld sortieren (absteigend)", "limit": "Maximale Zeilenanzahl (Standard: 50)", "watch": "Alle 5 s aktualisieren (Live-Modus)", "compare": "Kommagetrennte Anbieter-IDs für den direkten Vergleich" }, "metric_single": { "description": "Einen einzelnen Metrikwert für eine bestimmte Verbindung abrufen" }, "rotate": { "description": "Den Upstream-API-Schlüssel für eine Anbieterverbindung rotieren", "newKeyOpt": "Neuer API-Schlüsselwert (vermeiden: vorzugsweise --from-env verwenden)", "fromEnvOpt": "Neuen Schlüssel aus der Umgebungsvariable VAR lesen", "oauthOpt": "Stattdessen erneute OAuth-Authentifizierung starten", "skipTestOpt": "Verbindungstest nach der Rotation überspringen", "dryRunOpt": "Änderungen anzeigen, ohne sie zu speichern", "confirmPrompt": "API-Schlüssel für Verbindung „{name}“ ({id}) ersetzen? [y/N]", "dryRunResult": "[dry-run] Schlüssel für „{name}“ ({id}) würde rotiert. Keine Änderungen vorgenommen.", "oauthHint": "OAuth-Verbindung — ausführen: omniroute oauth {provider}", "envVarEmpty": "Die Umgebungsvariable {var} ist nicht gesetzt oder leer.", "success": "Schlüssel für „{name}“ rotiert. Führen Sie zur Überprüfung `providers test {id}` aus.", "testPassed": "Test nach der Rotation bestanden.", "testFailed": "Test nach der Rotation fehlgeschlagen: {error}" }, "status": { "description": "Schlüsselstatus für alle Provider-Verbindungen anzeigen (Alter, Ablauf, Abklingzeit)", "providerOpt": "Nach Provider-Name filtern", "header": "ID Provider Name Ablaufstatus Teststatus Abklingzeit bis", "noData": "Keine Daten zu Provider-Verbindungen verfügbar.", "requiresServer": "Für providers status muss der OmniRoute-Server ausgeführt werden." } }, "keys": { "title": "API-Schlüssel", "addDescription": "API-Schlüssel für einen Provider hinzufügen oder aktualisieren", "listDescription": "Alle konfigurierten API-Schlüssel auflisten", "removeDescription": "API-Schlüssel für einen Provider entfernen", "regenerateDescription": "Einen OmniRoute-API-Schlüssel neu generieren", "revokeDescription": "Einen OmniRoute-API-Schlüssel widerrufen", "revealDescription": "Den unmaskierten API-Schlüsselwert anzeigen", "usageDescription": "Letzte Nutzung eines API-Schlüssels anzeigen", "usageLimitOpt": "Anzahl der letzten Anfragen", "rotateDescription": "Einen neuen Schlüssel generieren und den alten ungültig machen", "graceOpt": "Übergangsfrist (ms), bevor der alte Schlüssel ungültig wird", "stdinOpt": "API-Schlüssel aus stdin statt aus dem Argument lesen", "added": "Schlüssel für {provider} hinzugefügt.", "removed": "Schlüssel entfernt.", "listed": "{count} Schlüssel.", "noKeys": "Keine Schlüssel konfiguriert.", "noUsage": "Keine Nutzungsdaten gefunden.", "confirmRemove": "Schlüssel {id} entfernen?", "confirmRegenerate": "Schlüssel {id} neu generieren?", "confirmRevoke": "Schlüssel {id} widerrufen?", "confirmRotate": "Schlüssel {id} rotieren? (Der alte Schlüssel wird nach der Übergangsfrist ungültig.)", "regenerated": "Neu generiert. Neuer Schlüssel: {key}", "revoked": "Schlüssel {id} widerrufen.", "rotated": "Schlüssel {id} rotiert. Neue Schlüssel-ID: {newId}", "revealWarning": "⚠ Dadurch wird der vollständige, unmaskierte Schlüssel angezeigt. Stellen Sie sicher, dass Ihr Bildschirm nicht eingesehen werden kann.", "providerRequired": "Der Anbieter ist erforderlich.", "keyRequired": "Der API-Schlüssel ist erforderlich.", "stdinEmpty": "Über stdin wurde kein API-Schlüssel bereitgestellt.", "unknownProvider": "Unbekannter Anbieter: {provider}", "policy": { "title": "Schlüsselrichtlinie", "showDescription": "Raten-/Kostenrichtlinie für einen Schlüssel anzeigen", "setDescription": "Raten-/Kostenrichtlinie für einen Schlüssel festlegen", "rateLimitOpt": "Maximale Anfragen pro Minute", "maxCostOpt": "Maximale Kosten pro Tag (USD)", "allowedModelsOpt": "Kommagetrennte Liste zulässiger Modelle", "nothingToSet": "Keine Richtlinienfelder angegeben. Verwenden Sie --rate-limit, --max-cost oder --allowed-models.", "updated": "Richtlinie aktualisiert." }, "expiration": { "title": "Schlüsselablauf", "listDescription": "Bald ablaufende Schlüssel auflisten", "daysOpt": "Schlüssel anzeigen, die innerhalb von N Tagen ablaufen", "none": "Keine Schlüssel laufen innerhalb von {days} Tagen ab.", "listTitle": "Schlüssel, die innerhalb von {days} Tagen ablaufen:" } }, "authExport": { "description": "ENTSCHLÜSSELTE Anbieterzugangsdaten exportieren (nur lokal, Klartextausgabe)", "idOpt": "Nur die Verbindung exportieren, die dieser ID/diesem Namen/diesem Anbieter entspricht", "formatOpt": "Ausgabeformat: json oder env", "outOpt": "Ausgabe in eine Datei statt nach stdout schreiben (mit 0600-Berechtigungen)", "forceOpt": "Bestätigen, dass Ihnen bewusst ist, dass dadurch Geheimnisse im Klartext ausgegeben/geschrieben werden", "warning": "⚠ Dadurch werden ENTSCHLÜSSELTE API-Schlüssel und OAuth-Tokens im Klartext ausgegeben/geschrieben. Stellen Sie sicher, dass Ihr Bildschirm, Ihr Shell-Verlauf und alle Ausgabedateien privat bleiben.", "confirmHeading": "⚠ WARNUNG: Dadurch werden ENTSCHLÜSSELTE Anbieterzugangsdaten im Klartext exportiert", "confirmBody": "Dieser Befehl entschlüsselt apiKey, accessToken, refreshToken und\nidToken für die ausgewählte(n) Verbindung(en) und gibt sie aus bzw. schreibt sie. Behandeln Sie die Ausgabe als Geheimnis.", "confirmFooter": "Führen Sie zur Bestätigung Folgendes aus:\n omniroute auth export --force", "missingKey": "STORAGE_ENCRYPTION_KEY ist zum Exportieren von Zugangsdaten erforderlich.", "notFound": "Verbindung nicht gefunden: {id}", "invalidFormat": "Ungültiges Format: {format}. Verwenden Sie json oder env." }, "stream": { "description": "Eine Chat-Antwort mit SSE-Inspektionsmodi streamen", "file": "Eingabeaufforderung aus einer Datei lesen", "stdin": "Eingabeaufforderung von stdin lesen", "model": "Modell-ID (Standard: auto)", "system": "System-Eingabeaufforderung", "combo": "Eine bestimmte Kombination anhand ihres Namens erzwingen", "max_tokens": "Maximale Anzahl an Tokens in der Antwort", "responses_api": "/v1/responses anstelle von /v1/chat/completions verwenden", "raw": "Rohe SSE-Zeilen so ausgeben, wie sie empfangen wurden", "debug": "Zeitinformationen pro Chunk auf stderr ausgeben", "save": "Alle SSE-Ereignisse in einer .jsonl-Datei speichern", "error": { "empty_prompt": "Fehler: Prompt ist erforderlich (Positionsargument, --file oder --stdin)" } }, "usage": { "description": "Nutzungsanalysen, Budgets, Kontingente und Protokolle", "analytics": { "description": "Aggregierte Nutzungsanalysen anzeigen", "period": "Zeitraum: 1d|7d|30d|90d|ytd|all (Standard: 30d)", "provider": "Nach Anbieter-ID filtern" }, "budget": { "description": "Kostenbudgets verwalten", "set": { "scope": "Budgetbereich (Standard: global)", "period": "Budgetzeitraum: daily|weekly|monthly (Standard: monthly)" } }, "quota": { "description": "Nutzung des Anbieterkontingents anzeigen", "provider": "Nach Anbieter-ID filtern", "check": "Anzeigen, ob Kontingent für eine neue Anfrage verfügbar ist" }, "logs": { "description": "Protokolle der Anfrageaufrufe anzeigen", "limit": "Anzahl der zurückzugebenden Protokolleinträge (Standard: 100)", "search": "Suchanfrage zum Filtern der Protokolle", "since": "Protokolle seit diesem Zeitstempel zurückgeben", "follow": "Neue Protokolleinträge fortlaufend verfolgen", "api_key": "Protokolle nach API-Schlüssel filtern" }, "utilization": { "description": "Auslastungsmetriken für API-Schlüssel anzeigen", "api_key": "Nach API-Schlüssel filtern" }, "history": { "description": "Anfrageverlauf anzeigen", "limit": "Anzahl der Verlaufseinträge (Standard: 100)" }, "proxy_logs": { "description": "Anfrageprotokolle auf Proxy-Ebene anzeigen", "limit": "Anzahl der Proxy-Protokolleinträge (Standard: 100)" } }, "cost": { "description": "Kostenbericht mit Aufschlüsselung nach Anbieter, Modell, Kombination oder API-Schlüssel anzeigen", "period": "Zeitraum: 1d|7d|30d|90d|ytd|all (Standard: 30d)", "since": "Startdatum (ISO-Format, z. B. 2026-01-01) — überschreibt --period", "until": "Enddatum (ISO-Format)", "group_by": "Ergebnisse gruppieren nach: provider|model|api-key|combo|day (Standard: provider)", "api_key_filter": "Nach einem bestimmten API-Schlüssel filtern", "limit": "Maximale Anzahl anzuzeigender Zeilen (Standard: 100)" }, "simulate": { "description": "Routing-Simulation als Probelauf — zeigt ohne Aufruf des Upstream-Dienstes, welche Anbieter ausgewählt würden", "file": "Vollständigen Anfragekörper aus einer JSON-Datei laden", "model": "Modell-ID (Standard: auto)", "combo": "Eine bestimmte Kombination anhand ihres Namens erzwingen", "reasoning": "Denkaufwand (low|medium|high)", "thinking": "Token-Budget für erweitertes Denken", "explain": "Fallback-Baum und Kostenspanne auf stderr ausgeben", "noCombo": "Keine passende Kombination gefunden. Konfigurieren Sie eine mit: omniroute combo create" }, "chat": { "description": "Eine einmalige Chat-Eingabe an OmniRoute senden", "file": "Eingabe aus Datei lesen", "stdin": "Eingabe von stdin lesen", "system": "System-Prompt", "model": "Modell-ID (Standard: auto)", "max_tokens": "Maximale Anzahl von Tokens in der Antwort", "temperature": "Sampling-Temperatur (0–2)", "top_p": "Top-p-Nucleus-Sampling", "reasoning_effort": "Reasoning-Aufwandsstufe (low|medium|high)", "thinking_budget": "Token-Budget für erweitertes Denken", "combo": "Eine bestimmte Kombination anhand ihres Namens erzwingen", "responses_api": "/v1/responses anstelle von /v1/chat/completions verwenden", "stream": "Antwort schrittweise streamen", "no_history": "Nicht in ~/.omniroute/cli-history.jsonl speichern", "error": { "empty_prompt": "Fehler: Eingabe ist erforderlich (Positionsargument, --file oder --stdin)" } }, "serve": { "description": "OmniRoute-Server starten (Standardaktion)", "starting": "OmniRoute-Server wird auf Port {port} gestartet ...", "ready": "Bereit unter http://localhost:{port}", "stopping": "Server wird beendet (PID {pid}) ...", "stopped": "Server wurde beendet.", "notRunning": "Server läuft nicht.", "port": "Port, auf dem gelauscht werden soll (Standard: 20128)", "no_open": "Browser nicht automatisch öffnen", "daemon": "Server als Hintergrunddienst ausführen", "log": "Serverprotokolle direkt anzeigen", "no_recovery": "Automatischen Neustart bei Absturz deaktivieren (Debugging-Modus)", "max_restarts": "Maximale Anzahl von Neustarts nach Abstürzen innerhalb von 30 s, bevor aufgegeben wird (Standard: 2)", "tray": "Im Infobereich starten (nur Desktop, optionale Aktivierung)", "no_tray": "Infobereichssymbol deaktivieren", "ready_timeout": "Zeitüberschreitung der Bereitschaftsprüfung in ms (auch OMNIROUTE_READY_TIMEOUT_MS, Standard: 60000)", "tls_cert": "Pfad zu einem TLS-Zertifikat (PEM) für die Bereitstellung von HTTPS (auch OMNIROUTE_TLS_CERT)", "tls_key": "Pfad zum privaten TLS-Schlüssel (PEM) für die Bereitstellung von HTTPS (auch OMNIROUTE_TLS_KEY)" }, "backup": { "title": "Sicherung", "description": "Eine Sicherung der OmniRoute-Daten erstellen", "creating": "Sicherung wird erstellt ...", "done": "Sicherung unter {path} gespeichert", "noFiles": "Keine Dateien zu sichern (Datenbank nicht initialisiert)", "failed": "Sicherung fehlgeschlagen: {error}", "restoring": "Wiederherstellung aus {path} läuft ...", "restored": "Wiederherstellung abgeschlossen.", "restoreDescription": "Aus einer Sicherung wiederherstellen", "listTitle": "Verfügbare Sicherungen", "noBackups": "Keine Sicherungen gefunden.", "notFound": "Sicherung nicht gefunden: {name}", "confirmRestore": "Aktuelle Daten mit der Sicherung vom {ts} überschreiben?", "createDescription": "Eine Sicherung der OmniRoute-Daten erstellen", "nameOpt": "Benutzerdefinierter Sicherungsname", "cloudOpt": "Sicherung in den Cloud-Speicher hochladen", "encryptOpt": "Sicherung mit AES-256-GCM verschlüsseln", "keyFileOpt": "Pfad zur Datei mit der Verschlüsselungspassphrase", "excludeOpt": "Dateien ausschließen, die dem Muster entsprechen (wiederholbar)", "retentionOpt": "Nur die letzten N Sicherungen aufbewahren", "passphrasePrompt": "Verschlüsselungspassphrase:", "noPassphrase": "Für eine verschlüsselte Sicherung ist eine Passphrase erforderlich.", "cloudFailed": "Warnung: Cloud-Upload fehlgeschlagen. Die lokale Sicherung wurde gespeichert.", "cloudUploaded": "Cloud-Sicherung hochgeladen: {url}", "auto": { "title": "Sicherungszeitplan", "enableDescription": "Geplante automatische Sicherungen aktivieren", "disableDescription": "Geplante automatische Sicherungen deaktivieren", "statusDescription": "Aktuellen Status des Sicherungszeitplans anzeigen", "cronOpt": "Cron-Ausdruck für den Zeitplan (Standard: täglich um 3 Uhr)", "enabled": "Automatische Sicherung aktiviert (Cron: {cron}).", "hint": "Der Zeitplan wird beim Start von omniroute serve gelesen.", "disabled": "Automatische Sicherung deaktiviert.", "notConfigured": "Kein Sicherungszeitplan konfiguriert." } }, "health": { "description": "Serverzustand und Komponentenstatus prüfen", "noServer": "Server läuft nicht. Starten mit: omniroute serve", "title": "Zustand", "status": "Status: {status}", "uptime": "Betriebszeit: {uptime}", "requests": "Anfragen (24 Std.): {count}", "cost": "Kosten (24 Std.): ${cost}" }, "quota": { "description": "Kontingentnutzung des Anbieters anzeigen", "noServer": "Server läuft nicht. Starten mit: omniroute serve", "noData": "Keine Kontingentinformationen verfügbar." }, "cache": { "description": "Antwort-Cache verwalten", "noServer": "Server läuft nicht. Starten mit: omniroute serve", "cleared": "Cache geleert.", "clearFailed": "Cache konnte nicht geleert werden." }, "redis": { "description": "Lokalen Redis-Container mit einem Klick starten (Podman oder Docker) für OmniRoute-Caching und Kontingentverfolgung" }, "test": { "description": "Verbindung zu einem Anbieter testen", "noServer": "Server läuft nicht. Starten mit: omniroute serve", "testing": "{provider} / {model} wird getestet ...", "passed": "Verbindung erfolgreich!", "failed": "Verbindung fehlgeschlagen: {error}", "allProvidersOpt": "Alle konfigurierten Anbieter testen", "latencyOpt": "Latenzmessungen anzeigen (Durchschnitt/Minimum/Maximum in ms)", "repeatOpt": "Test N-mal wiederholen und Ergebnisse aggregieren", "compareOpt": "Kommagetrennte Modelle zum Vergleichen (z. B. gpt-4o,claude-3-5-sonnet)", "saveOpt": "Ergebnisse in einer JSON-Datei speichern", "saved": "Ergebnisse unter {path} gespeichert", "compareTitle": "Modellvergleich", "compareMinTwo": "Für --compare sind mindestens zwei Modelle erforderlich (kommagetrennt)", "noProviders": "Keine Anbieter konfiguriert. Mit folgendem Befehl hinzufügen: omniroute keys add" }, "update": { "checking": "Es wird nach Updates gesucht ...", "upToDate": "Bereits auf dem neuesten Stand ({version}).", "available": "Update verfügbar: {current} → {latest}", "installing": "{latest} wird installiert ...", "done": "Auf {latest} aktualisiert. Starten Sie den Server neu, um die Aktualisierung anzuwenden." }, "mcp": { "title": "MCP-Server", "running": "MCP-Server läuft ({transport})", "stopped": "MCP-Server wurde angehalten.", "restarted": "MCP-Server wurde neu gestartet.", "stoppedHint": "Führen Sie `omniroute mcp enable` aus, um ihn zu aktivieren.", "enabled": "MCP-Server wurde aktiviert.", "disabled": "MCP-Server wurde deaktiviert.", "enable": { "description": "MCP-Server aktivieren", "transport": "Zu verwendender Transport: stdio|sse|streamable-http" }, "disable": { "description": "MCP-Server deaktivieren" }, "call": { "description": "Ein MCP-Tool direkt aufrufen", "args": "JSON-Argumentobjekt (inline)", "args_file": "Pfad zur JSON-Argumentdatei", "stream": "Streaming-Endpunkt verwenden (/api/mcp/stream)", "scope": "Erforderlicher Berechtigungsumfang (wiederholbar, z. B. read:health)" }, "scopes": { "description": "Verfügbare MCP-Berechtigungsumfänge auflisten", "tool": "Für ein bestimmtes Tool erforderliche Berechtigungsumfänge anzeigen" }, "tools": { "description": "MCP-Tools untersuchen", "list": { "description": "Alle MCP-Tools auflisten", "scope": "Nach Berechtigungsumfang filtern" }, "info": { "description": "Metadaten für ein MCP-Tool anzeigen" }, "schema": { "description": "JSON-Schema für Ein- und Ausgabe eines MCP-Tools anzeigen", "io": "Schema-Typ: input|output (Standard: input)" } }, "audit": { "description": "MCP-Auditprotokoll (Alias für audit --source mcp)" } }, "a2a": { "skills": { "description": "Verfügbare A2A-Skills aus der Agentenkarte auflisten" }, "invoke": { "description": "Einen A2A-Skill aufrufen und die Aufgaben-ID zurückgeben", "input": "JSON-Eingabeobjekt", "input_file": "Pfad zur JSON-Eingabedatei", "wait": "Vor der Rückgabe auf den Abschluss der Aufgabe warten", "timeout": "Zeitüberschreitung beim Warten auf den Abschluss in ms (Standard: 60000)" }, "tasks": { "description": "A2A-Aufgaben verwalten", "list": { "status": "Nach Status filtern", "skill": "Nach Skill-ID filtern" }, "watch": { "description": "Aufgabenstatus bis zum Abschluss abfragen" }, "stream": { "description": "Ereignisse der Aufgabenausführung über SSE streamen" }, "logs": { "description": "Aufgabennachrichten und Artefakte anzeigen" } } }, "policy": { "description": "OmniRoute-Autorisierungsrichtlinien verwalten", "list": { "description": "Richtlinien auflisten", "kind": "Nach Typ filtern (allow|deny|rate-limit|cost-cap)", "scope": "Nach Geltungsbereich filtern (global|api-key|provider)" }, "get": { "description": "Richtliniendetails anhand der ID abrufen" }, "create": { "description": "Eine Richtlinie aus einer JSON-Datei erstellen", "file": "Pfad zur Richtlinien-JSON-Datei" }, "update": { "description": "Eine Richtlinie aus einer JSON-Datei aktualisieren", "file": "Pfad zur Richtlinien-JSON-Datei" }, "delete": { "description": "Eine Richtlinie anhand der ID löschen", "yes": "Bestätigungsaufforderung überspringen" }, "evaluate": { "description": "Richtlinienauswertung als Testlauf durchführen (Exit-Code 0=zulässig, 4=abgelehnt)", "api_key": "Auszuwertender API-Schlüssel", "action": "Zu prüfende Aktion (z. B. chat, embed, admin)", "resource": "Ressourcenpfad oder Bezeichner", "context": "Zusätzlicher Kontext als JSON-Objekt" }, "export": { "description": "Alle Richtlinien in eine JSON-Datei exportieren" }, "import": { "description": "Richtlinien aus einer JSON-Datei importieren", "overwrite": "Vorhandene Richtlinien mit derselben ID überschreiben" } }, "compression": { "description": "OmniRoute-Komprimierungspipeline konfigurieren und prüfen", "status": { "description": "Aktuellen Komprimierungsstatus und aktuelle Einstellungen anzeigen" }, "configure": { "description": "Komprimierungseinstellungen konfigurieren", "engine": "Komprimierungs-Engine (caveman|rtk|hybrid|none)", "caveman_agg": "Caveman-Aggressivität 0,0–1,0", "rtk_budget": "RTK-Tokenbudget", "language_pack": "Zu aktivierendes Sprachpaket" }, "engine": { "description": "Aktive Komprimierungs-Engine abrufen oder festlegen" }, "combos": { "description": "Statistiken zu Komprimierungskombinationen verwalten" }, "rules": { "description": "Komprimierungsregeln verwalten", "add": { "pattern": "Abzugleichendes Muster (Regex oder Feld:Muster)", "action": "Aktion: drop|shrink|replace" } }, "language_packs": { "description": "Verfügbare Sprachpakete für die Komprimierung auflisten" }, "preview": { "description": "Auswirkung der Komprimierung auf eine Anfrage in der Vorschau anzeigen", "file": "Pfad zur JSON-Datei der Anfrage" } }, "tunnel": { "title": "Tunnel", "listDescription": "Aktive Tunnel auflisten", "createDescription": "Tunnel erstellen", "created": "Tunnel erstellt: {url}", "stopped": "Tunnel gestoppt.", "confirmStop": "Tunnel {id} stoppen?", "stopDescription": "Tunnel stoppen", "statusDescription": "Detaillierten Status eines Tunnels anzeigen", "logsDescription": "Protokolle für einen Tunnel anzeigen", "infoDescription": "Konfigurationsdetails eines Tunnels anzeigen", "rotateDescription": "Neue Tunnel-URL generieren", "tailOpt": "Anzahl der anzuzeigenden Protokollzeilen", "typeRequired": "Tunneltyp ist erforderlich.", "noLogs": "Keine Protokolle verfügbar.", "notAvailable": "Tunnelinformationen sind nicht verfügbar.", "noTunnels": "Keine aktiven Tunnel.", "infoTitle": "Tunnelinformationen: {type}", "rotated": "Tunnel-URL erneuert: {url}", "confirmRotate": "Tunnel {type} erneuern? (Eine neue URL wird generiert)" }, "stop": { "description": "OmniRoute-Server stoppen", "stopping": "Server wird gestoppt (PID {pid})...", "stopped": "Server gestoppt.", "notRunning": "Es wird kein Server ausgeführt.", "portFallback": "Keine PID-Datei gefunden, portbasierter Stopp wird versucht..." }, "restart": { "description": "OmniRoute-Server neu starten", "restarting": "OmniRoute-Server wird neu gestartet..." }, "dashboard": { "description": "OmniRoute-Dashboard in einem Browser öffnen", "opening": "Dashboard wird unter {url} geöffnet", "urlOnly": "Dashboard-URL ausgeben, ohne den Browser zu öffnen", "tui": "Interaktives TUI-Dashboard öffnen (Terminal-Benutzeroberfläche, 7 Registerkarten)" }, "models": { "description": "Verfügbare Modelle auflisten (Server erforderlich)", "search": "Modelle nach ID, Name, Anbieter oder Beschreibung filtern", "noServer": "Server läuft nicht. Starten mit: omniroute serve", "noModels": "Keine Modelle gefunden." }, "audit": { "description": "Auf Compliance- und MCP-Auditprotokolle zugreifen", "source": "Protokollquelle: all|compliance|mcp (Standard: all)", "since": "Einträge ab diesem Zeitstempel zurückgeben (ISO 8601)", "until": "Einträge bis zu diesem Zeitstempel zurückgeben (ISO 8601)", "tail": { "description": "Aktuelle Auditprotokolleinträge anzeigen", "follow": "Neue Einträge fortlaufend anzeigen (Abfrage alle 2 s)", "limit": "Maximal anzuzeigende Einträge (Standard: 100)" }, "search": { "description": "Auditprotokolleinträge nach Schlüsselwort durchsuchen", "limit": "Maximale Anzahl an Ergebnissen (Standard: 200)", "actor": "Nach Akteur-ID filtern", "action": "Nach Aktionsname filtern" }, "export": { "description": "Auditprotokoll in Datei exportieren", "format": "Ausgabeformat: jsonl|csv (Standard: jsonl)" }, "stats": { "description": "Auditprotokollstatistiken anzeigen", "period": "Zeitraum: 1d|7d|30d (Standard: 7d)" }, "get": { "description": "Einen einzelnen Auditprotokolleintrag anhand der ID abrufen" } }, "skills": { "description": "OmniRoute-Skills verwalten (sandbox, builtin, custom, hybrid, skillssh)", "list": { "description": "Installierte Skills auflisten", "type": "Nach Typ filtern (sandbox|custom|builtin|hybrid|skillssh)", "enabled": "Nur aktivierte Skills anzeigen", "disabled": "Nur deaktivierte Skills anzeigen", "api_key": "Nach API-Schlüssel filtern" }, "get": { "description": "Details zu einem Skill anhand der ID abrufen" }, "install": { "description": "Einen Skill aus einer Datei oder URL installieren", "from_file": "Pfad zur JSON-Definitionsdatei des Skills", "from_url": "URL der Remote-Skill-Definition", "type": "Skill-Typ (sandbox|custom|hybrid)", "enable": "Skill nach der Installation aktivieren" }, "enable": { "description": "Einen Skill anhand der ID aktivieren" }, "disable": { "description": "Einen Skill anhand der ID deaktivieren", "yes": "Bestätigungsabfrage überspringen" }, "delete": { "description": "Einen Skill anhand der ID löschen", "yes": "Bestätigungsabfrage überspringen" }, "execute": { "description": "Einen Skill anhand der ID ausführen", "input": "JSON-Eingabeobjekt", "input_file": "Pfad zur JSON-Eingabedatei", "timeout": "Ausführungszeitlimit in ms (Standard: 30000)" }, "executions": { "description": "Verlauf der Skill-Ausführungen auflisten", "skill": "Nach Skill-ID filtern", "limit": "Maximale Anzahl an Ergebnissen (Standard: 50)", "status": "Nach Status filtern (running|completed|failed)" }, "skillssh": { "description": "Über SSH installierte Skills verwalten" }, "marketplace": { "description": "Skills im Marketplace durchsuchen und installieren" }, "mp": { "search": { "description": "Marketplace-Pakete suchen", "category": "Nach Kategorie filtern", "tag": "Nach Tag filtern", "limit": "Maximale Anzahl an Ergebnissen (Standard: 30)", "sort": "Sortieren nach: downloads|rating|recent" }, "info": { "description": "Paketdetails und README anzeigen" }, "install": { "description": "Ein Marketplace-Paket installieren", "version": "Paketversion (Standard: latest)", "enable": "Nach der Installation aktivieren", "yes": "Bestätigungsaufforderung überspringen" }, "categories": { "description": "Marketplace-Kategorien auflisten" }, "featured": { "description": "Empfohlene Marketplace-Pakete anzeigen" } } }, "memory": { "description": "Konversationsgedächtnis von OmniRoute verwalten (FTS5 + Vektor)", "search": { "description": "Gedächtniseinträge mittels semantischer Abfrage durchsuchen", "type": "Nach Gedächtnistyp filtern (user|feedback|project|reference)", "limit": "Maximale Anzahl an Ergebnissen (Standard: 20)", "api_key": "Nach API-Schlüssel filtern", "token_budget": "Gesamtzahl der Tokens in den Ergebnissen begrenzen" }, "add": { "description": "Einen neuen Gedächtniseintrag hinzufügen", "content": "Textinhalt des Gedächtniseintrags", "file": "Inhalt aus Datei lesen", "type": "Gedächtnistyp (Standard: user)", "metadata": "JSON-Metadatenobjekt", "api_key": "Mit API-Schlüssel verknüpfen" }, "clear": { "description": "Gedächtniseinträge löschen, die den Filtern entsprechen", "type": "Nach Typ filtern", "older": "Einträge löschen, die älter als die angegebene Dauer sind (30d, 6m, 1y)", "api_key": "Nach API-Schlüssel filtern", "yes": "Bestätigungsaufforderung überspringen" }, "list": { "description": "Gedächtniseinträge ohne Suchrangfolge auflisten", "type": "Nach Typ filtern", "limit": "Maximale Anzahl an Ergebnissen (Standard: 100)", "api_key": "Nach API-Schlüssel filtern" }, "get": { "description": "Einen einzelnen Gedächtniseintrag anhand der ID abrufen" }, "delete": { "description": "Einen Gedächtniseintrag anhand der ID löschen", "yes": "Bestätigungsabfrage überspringen" }, "health": { "description": "Zustand des Speichersubsystems anzeigen (FTS5 + Qdrant)" } }, "oauth": { "description": "OAuth-Anbieterverbindungen verwalten", "providers": { "description": "OAuth-fähige Anbieter und ihre Flow-Typen auflisten" }, "start": { "description": "OAuth-Autorisierungsflow für einen Anbieter starten", "provider": "Anbieter-ID (gemini, copilot, cursor, …)", "no_browser": "Nur URL ausgeben — Browser nicht öffnen", "import_system": "Anmeldedaten automatisch aus der lokalen Systemkonfiguration importieren", "social": "Social-Login-Anbieter (google|github) — erforderlich für kiro", "timeout": "Zeitüberschreitung beim Warten auf die Autorisierung in ms (Standard: 300000)" }, "status": { "description": "Aktive OAuth-Verbindungen auflisten", "provider": "Nach Anbieter-ID filtern" }, "revoke": { "description": "Eine OAuth-Verbindung widerrufen", "provider": "Zu widerrufende Anbieter-ID", "connection_id": "Eine bestimmte Verbindung anhand ihrer ID widerrufen", "yes": "Bestätigungsabfrage überspringen" } }, "cloud": { "description": "Cloud-KI-Agentenaufgaben verwalten (codex, devin, jules)", "agents": { "description": "Verfügbare Cloud-Agenten auflisten" }, "agent": { "description": "Cloud-Agentenaufgaben für {agent} verwalten", "auth": { "description": "{agent} über OAuth autorisieren" } }, "task": { "description": "Cloud-Agentenaufgaben verwalten", "create": { "description": "Neue Agentenaufgabe erstellen", "title": "Aufgabentitel (standardmäßig die ersten 80 Zeichen des Prompts)", "prompt": "Prompt-Text der Aufgabe", "prompt_file": "Prompt aus Datei lesen", "repo": "Repository-URL, die für die Aufgabe geklont werden soll", "branch": "Zu verwendender Branch-Name", "metadata": "JSON-Metadatenobjekt" }, "list": { "description": "Agentenaufgaben auflisten", "status": "Nach Status filtern (running|completed|failed|cancelled)", "limit": "Maximale Anzahl an Ergebnissen (Standard: 50)" }, "get": { "description": "Aufgabendetails anhand der ID abrufen" }, "status": { "description": "Aufgabenstatus ausgeben (running|completed|failed|cancelled)" }, "cancel": { "description": "Eine laufende Aufgabe abbrechen", "yes": "Bestätigungsabfrage überspringen" }, "approve": { "description": "Agentenplan genehmigen, um die Ausführung zu starten" }, "message": { "description": "Nachricht an eine laufende Aufgabe senden" } }, "sources": { "description": "Von einer Aufgabe erzeugte Quelldateien auflisten" } }, "eval": { "description": "Evaluierungssammlungen und -läufe verwalten", "suites": { "description": "Evaluierungssammlungen verwalten", "list": { "description": "Evaluierungssuiten auflisten" }, "get": { "description": "Details einer Evaluierungssuite anhand der ID abrufen" }, "create": { "description": "Eine Evaluierungssuite aus einer JSON-Datei erstellen", "file": "Pfad zur JSON-Datei mit der Suitendefinition" } }, "run": { "description": "Einen Evaluierungslauf für eine Suite starten", "model": "Zu evaluierende Modell-ID (Standard: auto)", "combo": "Eine bestimmte Kombination anhand ihres Namens erzwingen", "concurrency": "Anzahl gleichzeitiger Stichproben (Standard: 4)", "tag": "Diesen Lauf zur späteren Filterung mit einem Tag versehen", "watch": "Fortschritt des Laufs bis zum Abschluss verfolgen" }, "list": { "description": "Evaluierungsläufe auflisten", "suite": "Nach Suiten-ID filtern", "status": "Nach Status filtern", "since": "Läufe seit diesem Zeitstempel zurückgeben", "limit": "Maximale Anzahl an Ergebnissen (Standard: 50)" }, "get": { "description": "Details eines Evaluierungslaufs anhand der ID abrufen" }, "results": { "description": "Stichprobenergebnisse für einen Evaluierungslauf anzeigen", "failed": "Nur fehlgeschlagene Stichproben anzeigen" }, "cancel": { "description": "Einen laufenden Evaluierungslauf abbrechen", "yes": "Bestätigungsabfrage überspringen" }, "scorecard": { "description": "Scorecard für einen abgeschlossenen Evaluierungslauf anzeigen" } }, "webhooks": { "description": "OmniRoute-Webhooks verwalten", "events": { "description": "Alle verfügbaren Webhook-Ereignistypen auflisten" }, "list": { "description": "Konfigurierte Webhooks auflisten" }, "get": { "description": "Webhook-Details anhand der ID abrufen" }, "add": { "description": "Einen neuen Webhook registrieren", "url": "Ziel-URL", "events": "Kommagetrennte Liste von Ereignistypen", "secret": "HMAC-Signaturgeheimnis", "header": "Zusätzlicher Header im Format key=value (wiederholbar)", "no_enabled": "Webhook im deaktivierten Zustand erstellen" }, "update": { "description": "Einen vorhandenen Webhook aktualisieren", "enabled": "Aktivierungsstatus festlegen (true|false)" }, "remove": { "description": "Einen Webhook löschen", "yes": "Bestätigungsabfrage überspringen" }, "test": { "description": "Ein Testereignis an einen Webhook senden", "event": "Zu simulierender Ereignistyp (Standard: request.completed)" } }, "program": { "description": "OmniRoute — Intelligenter AI-Router mit automatischem Fallback", "version": "Version ausgeben und beenden", "output": "Ausgabeformat (table, json, jsonl, csv)", "quiet": "Unwesentliche Ausgabe unterdrücken", "no_color": "Farbige Ausgabe deaktivieren", "timeout": "HTTP-Anfrage-Timeout in Millisekunden", "api_key": "API-Schlüssel für den OmniRoute-Server", "base_url": "OmniRoute-Server-Basis-URL", "context": "Server-Kontext/Profil für diesen Befehl", "lang": "CLI-Anzeigesprache festlegen (überschreibt OMNIROUTE_LANG)" }, "files": { "description": "Dateien verwalten (hochladen, auflisten, abrufen, herunterladen, löschen)", "list": { "purpose": "Nach Verwendungszweck filtern", "limit": "Maximale Anzahl an Ergebnissen" }, "get": { "description": "Dateimetadaten abrufen" }, "upload": { "description": "Eine Datei hochladen", "purpose": "Dateizweck (batch, assistants, fine-tune)" }, "content": { "description": "Dateiinhalt herunterladen", "out": "Unter Pfad speichern (Standard: stdout)" }, "delete": { "yes": "Bestätigung überspringen" } }, "batches": { "description": "OpenAI-kompatible Batch-Aufträge verwalten", "list": { "status": "Nach Status filtern", "limit": "Maximale Anzahl an Ergebnissen" }, "create": { "description": "Batch-Auftrag erstellen", "inputFile": "Eingabedatei-ID", "endpoint": "Ziel-Endpunkt", "window": "Abschlusszeitfenster", "metadata": "Metadaten im Format key=value hinzufügen" }, "submit": { "description": "JSONL-Datei hochladen und Batch erstellen", "jsonl": "Pfad zur JSONL-Datei", "endpoint": "Ziel-Endpunkt", "wait": "Auf Abschluss warten" }, "cancel": { "yes": "Bestätigung überspringen" }, "wait": { "timeout": "Zeitüberschreitung in ms" }, "output": { "out": "Ausgabe unter Pfad speichern" }, "errors": { "out": "Fehler unter Pfad speichern" } }, "translator": { "description": "Anfrageinhalte zwischen LLM-Formaten übersetzen", "detect": { "description": "Format des Anfrageinhalts erkennen" }, "translate": { "description": "Anfrageinhalt von einem Format in ein anderes konvertieren" }, "send": { "description": "Übersetzen und an Upstream senden" }, "stream": { "description": "Anfrageinhalt per Stream übersetzen" }, "from": "Quellformat (openai|anthropic|gemini|cohere)", "to": "Zielformat (openai|anthropic|gemini|cohere)", "file": "Pfad zur JSON-Datei mit dem Anfrageinhalt", "out": "Ausgabe in Datei speichern", "model": "Modell überschreiben", "history": { "limit": "Maximale Anzahl an Ergebnissen" } }, "pricing": { "description": "Preisdaten für Modelle verwalten", "sync": { "description": "Preise aus Upstream-Quellen synchronisieren", "provider": "Nach Anbieter filtern", "force": "Erneute Synchronisierung erzwingen" }, "list": { "provider": "Nach Anbieter filtern", "model": "Nach Modell filtern", "limit": "Maximale Anzahl an Ergebnissen" }, "defaults": { "description": "Standardpreise verwalten", "input": "Eingabekosten pro 1 Mio. Token (USD)", "output": "Ausgabekosten pro 1 Mio. Token (USD)", "cacheRead": "Kosten für Cache-Lesevorgänge pro 1 Mio. Token (USD)", "cacheWrite": "Kosten für Cache-Schreibvorgänge pro 1 Mio. Token (USD)" }, "diff": { "description": "Abweichung von den Upstream-Preisen anzeigen", "model": "Nach Modell filtern" } }, "radar": { "description": "Lokale Radar-Katalog-Feeds prüfen und synchronisieren", "status": "Lokale Radar-Einstellungen und Feed-Cache-Status anzeigen", "sync": "Katalog, Empfehlungen, Angebote und Intel über den lokalen Server synchronisieren" }, "resilience": { "description": "Resilienzmechanismen prüfen und verwalten", "status": { "provider": "Nach Anbieter filtern" }, "breakers": { "provider": "Nach Anbieter filtern" }, "cooldowns": { "provider": "Nach Anbieter filtern", "connectionId": "Nach Verbindungs-ID filtern" }, "lockouts": { "provider": "Nach Anbieter filtern", "model": "Nach Modell filtern" }, "reset": { "description": "Status von Leistungsschalter/Abklingzeit zurücksetzen", "provider": "Zurückzusetzender Anbieter", "connectionId": "Zurückzusetzende Verbindungs-ID", "model": "Modell, dessen Sperre zurückgesetzt werden soll", "allCooldowns": "Alle Abklingzeiten für den Anbieter zurücksetzen", "yes": "Bestätigung überspringen" }, "profile": { "description": "Resilienzprofil verwalten", "name": "Profilname" }, "config": { "description": "Resilienzkonfiguration verwalten", "threshold": "Fehlerschwellenwert", "resetTimeout": "Zeitüberschreitung für Zurücksetzung in ms", "baseCooldown": "Basisabklingzeit in ms" } }, "nodes": { "description": "Anbieterknoten (Endpunkte) verwalten", "list": { "provider": "Nach Anbieter filtern", "enabled": "Nur aktivierte Knoten anzeigen" }, "add": { "provider": "Anbietername", "baseUrl": "Basis-URL für den Knoten", "name": "Knotenname", "weight": "Gewichtung für den Lastenausgleich", "region": "Regions-Tag", "authHeader": "Benutzerdefinierter Authentifizierungs-Header (key=value)" }, "update": { "baseUrl": "Neue Basis-URL", "name": "Neuer Name", "weight": "Neue Gewichtung", "region": "Neue Region", "enabled": "Aktivieren oder deaktivieren (true|false)" }, "remove": { "yes": "Bestätigung überspringen" }, "validate": { "baseUrl": "Zu validierende URL", "provider": "Anbieter, gegen den validiert werden soll" }, "test": { "description": "Testanfrage an Knoten senden" }, "metrics": { "description": "Knotenmetriken anzeigen", "period": "Zeitraum (z. B. 24h, 7d)" } }, "context": { "description": "Context-Engineering-Pipeline konfigurieren (Caveman, RTK)", "analytics": { "period": "Zeitraum (z. B. 7d, 30d)" }, "caveman": { "description": "Caveman-Kontextkompressor verwalten", "config": { "description": "Caveman-Konfiguration anzeigen oder aktualisieren", "aggressiveness": "Aggressivität 0.0–1.0", "maxShrinkPct": "Maximaler Komprimierungsprozentsatz", "preserveTags": "Kommagetrennte beizubehaltende Tags" } }, "rtk": { "description": "RTK-Kontextoptimierer verwalten", "config": { "description": "RTK-Konfiguration anzeigen oder aktualisieren", "tokenBudget": "Token-Budget für RTK", "reservePct": "Reserveprozentsatz" }, "filters": { "description": "RTK-Filter verwalten", "pattern": "Filtermuster (Regex)", "priority": "Filterpriorität (Standard: 100)", "action": "Filteraktion: drop|shrink|replace", "yes": "Bestätigung überspringen" }, "test": { "file": "Pfad zur JSON-Anfragedatei" } }, "combos": { "description": "Kontextbezogene Combo-Verwaltung" } }, "sessions": { "description": "Aktive Sitzungen prüfen und verwalten", "list": { "user": "Nach Benutzer filtern", "kind": "Nach Art filtern (dashboard|api-key|mcp|a2a)", "active": "Nur aktive Sitzungen anzeigen", "limit": "Maximale Anzahl an Ergebnissen (Standard: 100)" }, "expire": { "yes": "Bestätigung überspringen" }, "expireAll": { "user": "Benutzer, dessen Sitzungen ablaufen sollen", "yes": "Bestätigung überspringen" } }, "tags": { "description": "Ressourcen-Tags verwalten", "add": { "color": "Tag-Farbe (Hexadezimalwert oder Name)", "description": "Tag-Beschreibung" }, "remove": { "yes": "Bestätigung überspringen" }, "assign": { "tag": "Tag-Name", "to": "Zielressource als Typ:ID (z. B. provider:openai)" }, "unassign": { "tag": "Tag-Name", "from": "Quellressource als Typ:ID" } }, "openapi": { "description": "Auf die OmniRoute OpenAPI-Spezifikation zugreifen und sie testen", "dump": { "description": "OpenAPI-Spezifikation nach stdout oder in eine Datei ausgeben", "format": "Ausgabeformat: yaml|json (Standard: yaml)", "out": "Unter Dateipfad speichern" }, "validate": { "description": "OpenAPI-Spezifikation validieren" }, "try": { "description": "Einen API-Endpunkt über die Spezifikation testen", "method": "HTTP-Methode (Standard: GET)", "body": "Pfad zur JSON-Datei mit dem Anfrageinhalt", "query": "Abfrageparameter als key=value (wiederholbar)", "header": "Header als key=value (wiederholbar)" }, "endpoints": { "description": "Alle API-Endpunkte auflisten", "search": "Nach Pfad oder Zusammenfassung filtern" }, "paths": { "description": "Alle API-Pfade auflisten" } }, "combo": { "title": "Kombinationen", "switched": "Aktive Kombination: {name}", "created": "Kombination erstellt: {name}", "deleted": "Kombination gelöscht: {name}", "noCombos": "Keine Kombinationen konfiguriert.", "confirmDelete": "Kombination {name} löschen?", "suggest": { "description": "Mithilfe einer KI-Bewertung die beste Kombination für eine Aufgabe vorschlagen", "task": "Aufgabenbeschreibung", "maxCost": "Maximale Kosten pro Anfrage in USD", "maxLatencyMs": "Maximale Latenz in Millisekunden", "weights": "JSON-Bewertungsgewichtungen, z. B. {\"latency\":0.7,\"cost\":0.3}", "top": "Anzahl der anzuzeigenden besten Kandidaten (Standard: 5)", "explain": "Begründung nach stderr ausgeben", "switch": "Bestplatzierte Kombination aktivieren" } }, "oneproxy": { "description": "Den OneProxy-Upstream-Pool verwalten", "stats": { "provider": "Nach Anbieter filtern", "period": "Zeitraum (Standard: 24h)" }, "fetch": { "description": "Proxys aus dem Pool abrufen", "count": "Anzahl der abzurufenden Proxys (Standard: 1)", "type": "Proxy-Typ: http|socks5 (Standard: http)" }, "rotate": { "description": "Proxy-Rotation erzwingen", "provider": "Anbieter, für den die Rotation durchgeführt werden soll", "connectionId": "Bestimmte Verbindungs-ID für die Rotation" }, "config": { "description": "OneProxy-Konfiguration anzeigen oder aktualisieren", "enabled": "Proxy-Pool aktivieren (true|false)", "poolSize": "Pool-Größe", "providerSource": "URL des Proxy-Anbieters", "rotationPolicy": "Rotationsrichtlinie: sticky|per-request|periodic" }, "pool": { "description": "Aktuellen Proxy-Pool mit Metriken auflisten" } }, "open": { "description": "Eine bestimmte OmniRoute-Dashboard-Seite im Browser öffnen", "url": "Nur URL ausgeben, Browser nicht öffnen" }, "telemetry": { "description": "Auf aggregierte Telemetriedaten zugreifen", "summary": { "description": "Aggregierte Telemetriezusammenfassung anzeigen", "period": "Zeitraum: 24h|7d|30d (Standard: 24h)", "compareTo": "Mit dem vorherigen Zeitraum vergleichen" }, "export": { "description": "Telemetrieereignisse nach JSONL exportieren", "out": "Pfad der Ausgabedatei (Standard: telemetry.jsonl)", "period": "Zeitraum für den Export (Standard: 7d)" } }, "sync": { "description": "Konfiguration zwischen OmniRoute-Instanzen synchronisieren", "push": { "description": "Konfiguration in die Cloud oder an eine Remote-Instanz übertragen", "target": "Ziel (cloud oder context:name)", "bundle": "Zu synchronisierende Bestandteile des Bundles", "dryRun": "Vorschau anzeigen, ohne Änderungen anzuwenden" }, "pull": { "description": "Konfiguration aus der Cloud oder von einer Remote-Instanz abrufen", "source": "Quelle (cloud oder context:name)", "merge": "Mit bestehender Konfiguration zusammenführen", "replace": "Bestehende Konfiguration ersetzen", "dryRun": "Vorschau anzeigen, ohne Änderungen anzuwenden" }, "diff": { "source": "Quellkontext", "target": "Zielkontext" }, "bundle": { "description": "Konfiguration als Bundle-Datei exportieren", "include": "Einzuschließende Bestandteile (durch Kommas getrennt)" }, "import": { "description": "Eine Bundle-Datei importieren", "dryRun": "Validieren, ohne Änderungen anzuwenden" }, "initialize": { "fromCloud": "Aus einem Cloud-Backup initialisieren" }, "tokens": { "description": "Synchronisierungstoken verwalten", "create": { "name": "Tokenname", "scope": "Token-Berechtigungsumfang", "ttl": "Token-TTL (z. B. 30d)" }, "revoke": { "yes": "Bestätigung überspringen" } }, "resolve": { "description": "Synchronisierungskonflikte interaktiv lösen" } }, "config": { "contexts": { "description": "Serverkontexte/-profile verwalten (add, use, list, show, remove, rename, export, import)" }, "lang": { "description": "Anzeigesprache der CLI verwalten", "getDescription": "Den aktuell aktiven Sprachcode anzeigen", "setDescription": "Anzeigesprache festlegen und in der Konfiguration speichern", "listDescription": "Alle verfügbaren Sprachen auflisten", "listTitle": "Verfügbare Sprachen", "current": "Sprache: {code} ({name})", "saved": "Sprache wurde auf {code} ({name}) festgelegt.", "noCode": "Sprachcode erforderlich. Führen Sie „omniroute config lang list“ aus, um die verfügbaren Codes anzuzeigen.", "unknown": "Unbekannter Sprachcode: {code}. Führen Sie „omniroute config lang list“ aus, um die verfügbaren Codes anzuzeigen.", "alreadySet": "Die Sprache ist bereits auf {code} festgelegt.", "envHint": "Tipp: Sie können auch OMNIROUTE_LANG={code} in Ihrer Umgebung festlegen." } }, "completion": { "description": "Skripte zur Shell-Vervollständigung generieren oder installieren", "zsh": "Skript zur zsh-Vervollständigung ausgeben", "bash": "Skript zur bash-Vervollständigung ausgeben", "fish": "Skript zur fish-Vervollständigung ausgeben", "install": "Vervollständigungsskript global für die erkannte Shell installieren", "refresh": "Cache für Kombinationen/Anbieter/Modelle aktualisieren" }, "logs": { "description": "Anfrageprotokolle streamen oder exportieren", "follow": "Protokolle in Echtzeit streamen", "filter": "Nach Ebene filtern (error,warn,info) – durch Kommas getrennt", "lines": "Anzahl der abzurufenden Zeilen", "timeout": "Zeitüberschreitung der Verbindung in ms", "baseUrl": "Basis-URL der OmniRoute-API", "requestId": "Nach Anfrage-ID filtern", "apiKey": "Nach API-Schlüssel filtern", "combo": "Nach Kombinationsname filtern", "status": "Nach HTTP-Statuscode filtern", "durationMin": "Minimale Anfragedauer in ms", "durationMax": "Maximale Anfragedauer in ms", "export": "Protokolle in Datei speichern (json/jsonl/csv)", "exported": "Protokolle wurden unter {path} gespeichert", "stopped": "Protokollstream wurde beendet.", "streamError": "Fehler beim Protokollstream: {message}" }, "tray": { "description": "Taskleistensymbol steuern", "show": "Taskleistensymbol anzeigen (wenn der Server mit --tray ausgeführt wird)", "hide": "Taskleistensymbol ausblenden", "quit": "OmniRoute über das Taskleistensymbol beenden" }, "autostart": { "description": "Autostart von OmniRoute beim Systemstart verwalten (Linux: systemd-Benutzerdienst)", "enable": "Autostart beim Systemstart aktivieren", "disable": "Autostart beim Systemstart deaktivieren", "toggle": "Autostart beim Systemstart umschalten", "status": "Autostartstatus anzeigen" }, "runtime": { "description": "Native Laufzeitabhängigkeiten verwalten", "check": "Status der nativen Abhängigkeiten im Laufzeitverzeichnis prüfen", "repair": "Native Abhängigkeiten im Laufzeitverzeichnis neu installieren", "repair_force": "Neuinstallation erzwingen, auch wenn sie gültig sind", "clean": "Laufzeitverzeichnis entfernen (gibt Speicherplatz frei)", "clean_yes": "Bestätigung überspringen" }, "repl": { "description": "Interaktive mehrstufige REPL mit LLM", "model": "Zu verwendendes Modell (Standard: auto)", "combo": "Zu verwendender Combo-Name", "system": "System-Prompt", "resume": "Eine gespeicherte Sitzung nach Namen fortsetzen" }, "plugin": { "description": "CLI-Plugins verwalten (omniroute-cmd-*)", "list": "Installierte Plugins auflisten", "install": "Ein Plugin aus npm oder von einem lokalen Pfad installieren", "remove": "Ein installiertes Plugin entfernen", "info": "Details zu einem installierten Plugin anzeigen", "search": "Die npm-Registry nach verfügbaren Plugins durchsuchen", "update": "Installierte Plugins aktualisieren", "scaffold": "Grundgerüst für ein neues Plugin erstellen" }, "launch": { "description": "Claude Code mit OmniRoute als Ziel starten (lokal oder remote, mit --profile)", "token": "Token, das der Claude-Client senden soll (ANTHROPIC_AUTH_TOKEN)", "notRunning": "OmniRoute ist unter {port} nicht erreichbar. Starten Sie es mit 'omniroute serve'.", "notFound": "Die 'claude'-CLI wurde in PATH nicht gefunden." }, "run": { "description": "Ein unterstütztes CLI-Ziel über OmniRoute starten" }, "setupClaude": { "description": "Claude Code-Profile unter ~/.claude/profiles aus dem OmniRoute-Modellkatalog generieren" }, "connect": { "description": "Mit einem entfernten OmniRoute-Server verbinden und in den Remote-Modus wechseln" }, "tokens": { "description": "Bereichsgebundene CLI-Zugriffstoken verwalten (Remote-Modus)" }, "configure": { "description": "Einen Anbieter und ein Modell vom aktiven Server auswählen und eine unterstützte lokale CLI konfigurieren" }, "launchCodex": { "description": "Codex CLI mit OmniRoute als Ziel starten (lokal oder auf einem entfernten VPS)" }, "setupCodex": { "description": "Profildateien unter ~/.codex aus dem Live-Modellkatalog von OmniRoute generieren" }, "packs": { "description": "Optionale Laufzeitpakete verwalten (ML / Browserautomatisierung)", "listDescription": "Optionale Pakete und ihren Installationsstatus auflisten", "installDescription": "Ein optionales Paket in DATA_DIR installieren", "verifyDescription": "Installierte Pakete anhand des mitgelieferten Prüfsummenindex überprüfen", "removeDescription": "Ein installiertes optionales Paket entfernen", "sourceOpt": "Verzeichnis mit den Paketinhalten und dem Paketindex", "warnNoIndex": "optional-packs.index.json wurde nicht gefunden — Installation/Überprüfung sind in diesem Checkout nicht verfügbar (Desktop-Pakete enthalten die Datei)", "errUnknown": "Unbekanntes Paket: {name}", "errNoIndex": "Paketindex nicht gefunden; übergeben Sie --source mit dem Paketinhalt (Desktop-Pakete enthalten ihn neben der App)", "installed": "Paket \"{name}\" wurde unter {dir} installiert und überprüft", "restartHint": "Starten Sie den OmniRoute-Server (oder die Desktop-App) neu, damit die Laufzeitumgebung das Paket erkennt", "removed": "Paket „{name}“ entfernt", "notInstalled": "Paket „{name}“ war nicht installiert", "verifyOk": "Alle installierten Pakete wurden verifiziert", "verifyFailed": "Bei {count} Paket(en) ist die Verifizierung fehlgeschlagen", "noneInstalled": "Keine optionalen Pakete installiert" } }