🌐 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
Често срещани проблеми и решения за OmniRoute.
| Проблем | Решение |
|---|---|
| Първото влизане не работи | Проверете INITIAL_PASSWORD в .env (по подразбиране: 123456) |
| Таблото се отваря на грешен порт | Задайте PORT=20128 и NEXT_PUBLIC_BASE_URL=http://localhost:20128 |
Няма регистрационни файлове за заявки под logs/ |
Задайте ENABLE_REQUEST_LOGS=true |
| EACCES: разрешението е отказано | Задайте DATA_DIR=/path/to/writable/dir да замени ~/.omniroute |
| Стратегията за маршрутизиране не се запазва | Актуализация до v1.4.11+ (корекция на Zod схема за постоянство на настройките) |
Причина: Квотата на доставчика е изчерпана.
Коригиране:
- Проверете инструмента за проследяване на квоти на таблото за управление
- Използвайте комбо с резервни нива
- Преминете към по-евтино/безплатно ниво
Причина: Абонаментната квота е изчерпана.
Коригиране:
- Добавете резервен вариант:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking - Използвайте GLM/MiniMax като евтино резервно копие
OmniRoute автоматично опреснява токените. Ако проблемите продължават:
- Табло → Доставчик → Свързване отново
- Изтрийте и добавете отново връзката с доставчика
- Проверете дали
BASE_URLсочи към вашия работещ екземпляр (напр.http://localhost:20128) - Проверете
CLOUD_URLточки към вашата крайна точка в облака (напр.https://omniroute.dev) - Поддържайте стойностите на
NEXT_PUBLIC_*в съответствие със стойностите от страна на сървъра
Симптом: Unexpected token 'd'... в крайна точка на облака за обаждания без поточно предаване.
Причина: Upstream връща SSE полезен товар, докато клиентът очаква JSON.
Заобиколно решение: Използвайте stream=true за директни обаждания в облака. Локалното време на изпълнение включва резервен SSE→JSON.
- Създайте нов ключ от локалното табло за управление (
/api/keys) - Стартирайте облачна синхронизация: Активирайте Облак → Синхронизирай сега
- Старите/несинхронизирани ключове все още могат да връщат
401в облака
- Проверете полетата по време на изпълнение:
curl http://localhost:20128/api/cli-tools/runtime/codex | jq - За преносим режим: използвайте целево изображение
runner-cli(пакетни CLI) - За режим на монтиране на хост: задайте
CLI_EXTRA_PATHSи монтирайте директорията bin на хоста като само за четене - Ако
installed=trueиrunnable=false: двоичен файл е намерен, но проверката на състоянието е неуспешна
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}'- Проверете статистическите данни за употреба в Табло → Използване
- Превключете основния модел на GLM/MiniMax
- Използвайте безплатно ниво (Gemini CLI, iFlow) за некритични задачи
- Задайте бюджети за разходи за API ключ: Табло за управление → API ключове → Бюджет
Задайте ENABLE_REQUEST_LOGS=true във вашия .env файл. Дневниците се появяват в директорията logs/.
# Health dashboard
http://localhost:20128/dashboard/health
# API health check
curl http://localhost:20128/api/monitoring/health- Основно състояние:
${DATA_DIR}/db.json(доставчици, комбинации, псевдоними, ключове, настройки) - Използване:
${DATA_DIR}/usage.json,${DATA_DIR}/log.txt,${DATA_DIR}/call_logs/ - Регистрации за заявки:
<repo>/logs/...(когатоENABLE_REQUEST_LOGS=true)
Когато прекъсвачът на доставчика е ОТВОРЕЕН, заявките се блокират, докато изтече времето за охлаждане.
Коригиране:
- Отидете на Табло → Настройки → Устойчивост
- Проверете картата на прекъсвача на засегнатия доставчик
- Щракнете върху Нулиране на всички, за да изчистите всички прекъсвачи, или изчакайте времето за охлаждане да изтече
- Уверете се, че доставчикът действително е наличен, преди да нулирате
Ако доставчик многократно влиза в ОТВОРЕНО състояние:
- Проверете Табло → Здраве → Здраве на доставчика за модела на повреда
- Отидете на Настройки → Устойчивост → Профили на доставчици и увеличете прага на отказ
- Проверете дали доставчикът е променил ограниченията на API или изисква повторно удостоверяване
- Прегледайте телеметрията за латентност — високата латентност може да причини грешки, базирани на изчакване
- Уверете се, че използвате правилния префикс:
deepgram/nova-3илиassemblyai/best - Проверете дали доставчикът е свързан в Табло → Доставчици
- Проверете поддържаните аудио формати:
mp3,wav,m4a,flac,ogg,webm - Уверете се, че размерът на файла е в границите на доставчика (обикновено < 25MB)
- Проверете валидността на API ключа на доставчика в картата на доставчика
Използвайте Табло за управление → Преводач за отстраняване на грешки при проблеми с превода на формат:
| Режим | Кога да използвате |
|---|---|
| Детска площадка | Сравнете входно/изходните формати един до друг — поставете неуспешна заявка, за да видите как се превежда |
| Чат тестер | Изпращайте съобщения на живо и проверявайте пълния полезен товар на заявка/отговор, включително заглавки |
| Тестова стенда | Изпълнете пакетни тестове в комбинации от формати, за да откриете кои преводи са нарушени |
| Монитор на живо | Гледайте потока на заявките в реално време, за да уловите периодични проблеми с превода |
- Мислещите етикети не се появяват — Проверете дали целевият доставчик поддържа мисленето и настройката на бюджета за мислене
- Отпадане на извикванията на инструменти — Някои преводи на формати може да премахнат неподдържаните полета; потвърдете в режим Playground
- Липсва системна подкана — Клод и Джемини обработват системните подкани по различен начин; проверка на резултата за превод
- SDK връща необработен низ вместо обект — Коригирано във v1.1.0: дезинфекциращото средство за отговор вече премахва нестандартните полета (
x_groq,usage_breakdownи т.н.), които причиняват неуспешно валидиране на OpenAI SDK Pydantic - GLM/ERNIE отхвърля
systemроля — Коригирано във v1.1.0: нормализаторът на роли автоматично обединява системни съобщения в потребителски съобщения за несъвместими модели developerролята не е разпозната — Коригирано във v1.1.0: автоматично преобразувано вsystemза доставчици, които не са OpenAIjson_schemaне работи с Gemini — Коригирано във v1.1.0:response_formatсега се преобразува вresponseMimeType+responseSchemaна Gemini
- Автоматичното ограничение на скоростта се прилага само за доставчици на API ключове (не OAuth/абонамент)
- Уверете се, че Настройки → Устойчивост → Профили на доставчици има активиран автоматичен лимит на скоростта
- Проверете дали доставчикът връща
429кодове за състояние илиRetry-Afterзаглавки
Профилите на доставчика поддържат тези настройки:
- Базово забавяне — Първоначално време на изчакване след първата повреда (по подразбиране: 1s)
- Максимално забавяне — Максимално ограничение на времето за изчакване (по подразбиране: 30 секунди)
- Множител — Колко да се увеличи закъснението за последователен отказ (по подразбиране: 2x)
Когато много едновременни заявки попаднат на доставчик с ограничена скорост, OmniRoute използва mutex + автоматично ограничаване на скоростта, за да сериализира заявките и да предотврати каскадни грешки. Това е автоматично за доставчиците на API ключове.
- Проблеми с GitHub: github.com/diegosouzapw/OmniRoute/issues
- Архитектура: Вижте OMNI_TOKEN_55 за вътрешни подробности
- API Reference: Вижте OMNI_TOKEN_56 за всички крайни точки
- Табло за управление на здравето: Проверете Табло за управление → Здраве за състоянието на системата в реално време
- Преводач: Използвайте Табло за управление → Преводач за отстраняване на грешки при проблеми с формата