🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino
Veelvoorkomende problemen en oplossingen voor OmniRoute.
| Probleem | Oplossing |
| ----------------------------------- | ----------------------------------------------------------------------- | ---------------- |
| Eerste login werkt niet | Controleer INITIAL_PASSWORD in .env (standaard: 123456) |
| Dashboard opent op verkeerde poort | Stel PORT=20128 en NEXT_PUBLIC_BASE_URL=http://localhost:20128 | in |
| Geen verzoeklogboeken onder logs/ | Stel ENABLE_REQUEST_LOGS=true | in |
| EACCES: toestemming geweigerd | Stel DATA_DIR=/path/to/writable/dir in om ~/.omniroute | te overschrijven |
| Routeringsstrategie bespaart niet | Update naar v1.4.11+ (Zod-schemafix voor persistentie van instellingen) |
Oorzaak: Providerquotum is opgebruikt.
Opgelost:
- Controleer de dashboardquotatracker
- Gebruik een combo met fallback-lagen
- Schakel over naar het goedkopere/gratis niveau
Oorzaak: Abonnementsquota zijn opgebruikt.
Opgelost:
- Terugval toevoegen:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking - Gebruik GLM/MiniMax als goedkope back-up
OmniRoute vernieuwt tokens automatisch. Als de problemen aanhouden:
- Dashboard → Provider → Opnieuw verbinden
- Verwijder de providerverbinding en voeg deze opnieuw toe
- Controleer of
BASE_URLverwijst naar uw actieve exemplaar (bijvoorbeeldhttp://localhost:20128) - Controleer of
CLOUD_URLverwijst naar uw cloudeindpunt (bijvoorbeeldhttps://omniroute.dev) - Zorg ervoor dat de
NEXT_PUBLIC_*-waarden overeenkomen met de waarden op de server
Symptoom: Unexpected token 'd'... op cloudeindpunt voor niet-streaming oproepen.
Oorzaak: Upstream retourneert SSE-payload terwijl de client JSON verwacht.
Oplossing: Gebruik stream=true voor directe cloudoproepen. Lokale runtime omvat SSE → JSON-fallback.
- Maak een nieuwe sleutel vanaf het lokale dashboard (
/api/keys) - Voer cloudsynchronisatie uit: Schakel Cloud in → Nu synchroniseren
- Oude/niet-gesynchroniseerde sleutels kunnen nog steeds
401retourneren in de cloud
- Controleer runtimevelden:
curl http://localhost:20128/api/cli-tools/runtime/codex | jq - Voor draagbare modus: gebruik afbeeldingsdoel
runner-cli(gebundelde CLI's) - Voor de host-aankoppelmodus: stel
CLI_EXTRA_PATHSin en koppel de hostbin-map aan als alleen-lezen - Als
installed=trueenrunnable=false: binair bestand is gevonden maar de statuscheck is mislukt
curl -s http://localhost:20128/api/cli-tools/codex-settings | jq '{installed,runnable,commandPath,runtimeMode,reason}'
curl -s http://localhost:20128/api/cli-tools/claude-settings | jq '{installed,runnable,commandPath,runtimeMode,reason}'
curl -s http://localhost:20128/api/cli-tools/openclaw-settings | jq '{installed,runnable,commandPath,runtimeMode,reason}'- Controleer gebruiksstatistieken in Dashboard → Gebruik
- Schakel het primaire model over naar GLM/MiniMax
- Gebruik de gratis laag (Gemini CLI, iFlow) voor niet-kritieke taken
- Stel kostenbudgetten per API-sleutel in: Dashboard → API-sleutels → Budget
Stel ENABLE_REQUEST_LOGS=true in uw .env bestand in. Logboeken verschijnen onder de map logs/.
# Health dashboard
http://localhost:20128/dashboard/health
# API health check
curl http://localhost:20128/api/monitoring/health- Hoofdstatus:
${DATA_DIR}/db.json(providers, combo's, aliassen, sleutels, instellingen) - Gebruik:
${DATA_DIR}/usage.json,${DATA_DIR}/log.txt,${DATA_DIR}/call_logs/ - Logboeken aanvragen:
<repo>/logs/...(wanneerENABLE_REQUEST_LOGS=true)
Wanneer de stroomonderbreker van een provider OPEN is, worden verzoeken geblokkeerd totdat de cooldown is verstreken.
Opgelost:
- Ga naar Dashboard → Instellingen → Veerkracht
- Controleer de stroomonderbrekerkaart van de betreffende provider
- Klik op Alles resetten om alle onderbrekers te wissen, of wacht tot de cooldown is verstreken
- Controleer of de provider daadwerkelijk beschikbaar is voordat u reset
Als een aanbieder herhaaldelijk in de OPEN-status komt:
- Controleer Dashboard → Gezondheid → Providergezondheid voor het foutpatroon
- Ga naar Instellingen → Veerkracht → Providerprofielen en verhoog de foutdrempel
- Controleer of de provider de API-limieten heeft gewijzigd of herauthenticatie vereist
- Controleer latentie-telemetrie: hoge latentie kan op time-outs gebaseerde fouten veroorzaken
- Zorg ervoor dat u het juiste voorvoegsel gebruikt:
deepgram/nova-3ofassemblyai/best - Controleer of de provider is verbonden in Dashboard → Providers
- Controleer ondersteunde audioformaten:
mp3,wav,m4a,flac,ogg,webm - Controleer of de bestandsgrootte binnen de limieten van de provider ligt (doorgaans < 25 MB)
- Controleer de geldigheid van de API-sleutel van de provider op de providerkaart
Gebruik Dashboard → Vertaler om problemen met de vertaling van formaten op te lossen:
| Modus | Wanneer gebruiken |
|---|---|
| Speeltuin | Vergelijk invoer-/uitvoerformaten naast elkaar - plak een mislukt verzoek om te zien hoe het zich vertaalt |
| Chattester | Verzend live berichten en inspecteer de volledige payload van verzoeken/antwoorden, inclusief headers |
| Proefbank | Voer batchtests uit voor indelingscombinaties om te ontdekken welke vertalingen niet werken |
| Livemonitor | Bekijk de realtime aanvraagstroom om intermitterende vertaalproblemen op te sporen |
- Thinking-tags verschijnen niet — Controleer of de doelaanbieder het denken en de instelling van het denkbudget ondersteunt
- Tooloproepen vervallen — Bij sommige formaatvertalingen kunnen niet-ondersteunde velden worden verwijderd; verifiëren in Speeltuinmodus
- Systeemprompt ontbreekt — Claude en Gemini behandelen de systeemprompts anders; controleer de vertalingsuitvoer
- SDK retourneert onbewerkte tekenreeks in plaats van object — Opgelost in v1.1.0: respons sanitizer verwijdert nu niet-standaard velden (
x_groq,usage_breakdown, etc.) die OpenAI SDK Pydantic-validatiefouten veroorzaken - GLM/ERNIE weigert de rol
system— Opgelost in v1.1.0: de rolnormalizer voegt systeemberichten automatisch samen met gebruikersberichten voor incompatibele modellen developerrol niet herkend — Opgelost in v1.1.0: automatisch geconverteerd naarsystemvoor niet-OpenAI-providersjson_schemawerkt niet met Gemini — Opgelost in v1.1.0:response_formatis nu geconverteerd naar Gemini'sresponseMimeType+responseSchema
- Automatische tarieflimiet is alleen van toepassing op API-sleutelproviders (niet op OAuth/abonnement)
- Controleer of bij Instellingen → Veerkracht → Providerprofielen** automatische tarieflimiet is ingeschakeld
- Controleer of de provider
429statuscodes ofRetry-Afterheaders retourneert
Providerprofielen ondersteunen deze instellingen:
- Basisvertraging — Initiële wachttijd na eerste storing (standaard: 1s)
- Max. vertraging — Maximale wachttijdlimiet (standaard: 30s)
- Vermenigvuldiger — Hoeveel vertraging per opeenvolgende fout moet worden vergroot (standaard: 2x)
Wanneer veel gelijktijdige verzoeken een provider met een beperkte snelheid bereiken, gebruikt OmniRoute mutex + automatische snelheidsbeperking om verzoeken te serialiseren en trapsgewijze fouten te voorkomen. Dit gebeurt automatisch voor API-sleutelproviders.
- GitHub-problemen: github.com/diegosouzapw/OmniRoute/issues
- Architectuur: zie link voor interne details
- API-referentie: zie link voor alle eindpunten
- Gezondheidsdashboard: controleer Dashboard → Gezondheid voor de realtime systeemstatus
- Vertaler: gebruik Dashboard → Vertaler om formaatproblemen op te lossen