🌐 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
Masalah dan penyelesaian biasa untuk OmniRoute.
| Masalah | Penyelesaian |
|---|---|
| Log masuk pertama tidak berfungsi | Tandai INITIAL_PASSWORD dalam .env (lalai: 123456) |
| Papan pemuka dibuka pada port yang salah | Tetapkan PORT=20128 dan NEXT_PUBLIC_BASE_URL=http://localhost:20128 |
Tiada log permintaan di bawah logs/ |
Tetapkan ENABLE_REQUEST_LOGS=true |
| EACCES: kebenaran ditolak | Tetapkan DATA_DIR=/path/to/writable/dir untuk mengatasi ~/.omniroute |
| Strategi penghalaan tidak menyimpan | Kemas kini kepada v1.4.11+ (Pembetulan skema Zod untuk tetapan tetapan) |
Punca: Kuota pembekal habis.
Betulkan:
- Semak penjejak kuota papan pemuka
- Gunakan kombo dengan peringkat sandaran
- Tukar kepada peringkat yang lebih murah/percuma
Punca: Kuota langganan habis.
Betulkan:
- Tambahkan sandaran:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking - Gunakan GLM/MiniMax sebagai sandaran murah
Token auto-refresh OmniRoute. Jika isu berterusan:
- Papan pemuka → Pembekal → Sambung semula
- Padam dan tambah semula sambungan pembekal
- Sahkan
BASE_URLmata kepada contoh larian anda (cth.,http://localhost:20128) - Sahkan
CLOUD_URLmata ke titik akhir awan anda (cth.,https://omniroute.dev) - Pastikan nilai
NEXT_PUBLIC_*sejajar dengan nilai sebelah pelayan
Simptom: Unexpected token 'd'... pada titik akhir awan untuk panggilan bukan penstriman.
Punca: Hulu mengembalikan muatan SSE sementara pelanggan menjangkakan JSON.
Penyelesaian: Gunakan stream=true untuk panggilan terus awan. Masa jalan tempatan termasuk SSE→JSON sandaran.
- Cipta kunci baharu daripada papan pemuka setempat (
/api/keys) - Jalankan penyegerakan awan: Dayakan Awan → Segerakkan Sekarang
- Kekunci lama/tidak disegerakkan masih boleh mengembalikan
401pada awan
- Semak medan masa jalan:
curl http://localhost:20128/api/cli-tools/runtime/codex | jq - Untuk mod mudah alih: gunakan sasaran imej
runner-cli(CLI dibundel) - Untuk mod lekap hos: tetapkan
CLI_EXTRA_PATHSdan lekapkan direktori bin hos sebagai baca sahaja - Jika
installed=truedanrunnable=false: binari ditemui tetapi gagal pemeriksaan kesihatan
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}'- Semak statistik penggunaan dalam Papan Pemuka → Penggunaan
- Tukar model utama kepada GLM/MiniMax
- Gunakan peringkat percuma (Gemini CLI, iFlow) untuk tugasan yang tidak kritikal
- Tetapkan belanjawan kos setiap kunci API: Papan Pemuka → Kunci API → Belanjawan
Tetapkan ENABLE_REQUEST_LOGS=true dalam fail .env anda. Log muncul di bawah direktori logs/.
# Health dashboard
http://localhost:20128/dashboard/health
# API health check
curl http://localhost:20128/api/monitoring/health- Keadaan utama:
${DATA_DIR}/db.json(penyedia, gabungan, alias, kunci, tetapan) - Penggunaan:
${DATA_DIR}/usage.json,${DATA_DIR}/log.txt,${DATA_DIR}/call_logs/ - Log permintaan:
<repo>/logs/...(apabilaENABLE_REQUEST_LOGS=true)
Apabila pemutus litar pembekal DIBUKA, permintaan disekat sehingga tempoh bertenang tamat.
Betulkan:
- Pergi ke Papan Pemuka → Tetapan → Ketahanan
- Periksa kad pemutus litar untuk pembekal yang terjejas
- Klik Tetapkan Semula Semua untuk mengosongkan semua pemutus, atau tunggu sehingga tempoh bertenang tamat
- Sahkan pembekal sebenarnya tersedia sebelum menetapkan semula
Jika pembekal berulang kali memasuki keadaan OPEN:
- Semak Papan Pemuka → Kesihatan → Kesihatan Pembekal untuk corak kegagalan
- Pergi ke Tetapan → Ketahanan → Profil Pembekal dan tingkatkan ambang kegagalan
- Semak sama ada pembekal telah menukar had API atau memerlukan pengesahan semula
- Semak telemetri kependaman — kependaman tinggi boleh menyebabkan kegagalan berdasarkan tamat masa
- Pastikan anda menggunakan awalan yang betul:
deepgram/nova-3atauassemblyai/best - Sahkan pembekal disambungkan dalam Papan Pemuka → Pembekal
- Semak format audio yang disokong:
mp3,wav,m4a,flac,ogg,webm - Sahkan saiz fail berada dalam had pembekal (biasanya < 25MB)
- Semak kesahihan kunci API pembekal dalam kad pembekal
Gunakan Papan Pemuka → Penterjemah untuk menyahpepijat isu terjemahan format:
| Mod | Bila Menggunakan |
|---|---|
| Taman Permainan | Bandingkan format input/output sebelah menyebelah — tampal permintaan yang gagal untuk melihat cara ia menterjemah |
| Penguji Sembang | Hantar mesej langsung dan periksa muatan penuh permintaan/tindak balas termasuk pengepala |
| Bangku Ujian | Jalankan ujian kelompok merentas gabungan format untuk mencari terjemahan yang rosak |
| Pemantau Langsung | Tonton aliran permintaan masa nyata untuk menangkap isu terjemahan terputus-putus |
- Teg pemikiran tidak muncul — Semak sama ada pembekal sasaran menyokong pemikiran dan tetapan belanjawan pemikiran
- Panggilan alat terputus — Sesetengah terjemahan format mungkin menanggalkan medan yang tidak disokong; sahkan dalam mod Taman Permainan
- Gesaan sistem tiada — Gesaan sistem pengendalian Claude dan Gemini secara berbeza; semak output terjemahan
- SDK mengembalikan rentetan mentah dan bukannya objek — Ditetapkan dalam v1.1.0: sanitizer respons kini menanggalkan medan bukan standard (
x_groq,usage_breakdown, dsb.) yang menyebabkan kegagalan pengesahan OpenAI SDK Pydantic - GLM/ERNIE menolak peranan
system— Ditetapkan dalam v1.1.0: penormal peranan secara automatik menggabungkan mesej sistem ke dalam mesej pengguna untuk model yang tidak serasi developerperanan tidak dikenali — Ditetapkan dalam v1.1.0: ditukar secara automatik kepadasystemuntuk pembekal bukan OpenAIjson_schematidak berfungsi dengan Gemini — Ditetapkan dalam v1.1.0:response_formatkini ditukar kepada GeminiresponseMimeType+responseSchema
- Had kadar automatik hanya digunakan untuk penyedia kunci API (bukan OAuth/langganan)
- Sahkan Tetapan → Ketahanan → Profil Pembekal telah didayakan had kadar automatik
- Semak sama ada pembekal mengembalikan kod status
429atau pengepalaRetry-After
Profil pembekal menyokong tetapan ini:
- Kelewatan asas — Masa menunggu awal selepas kegagalan pertama (lalai: 1s)
- Lengah maksimum — Had masa menunggu maksimum (lalai: 30s)
- Pendarab — Berapa banyak untuk meningkatkan kelewatan setiap kegagalan berturut-turut (lalai: 2x)
Apabila banyak permintaan serentak melanda penyedia terhad kadar, OmniRoute menggunakan mutex + pengehadan kadar automatik untuk menyerikan permintaan dan mengelakkan kegagalan berlatarkan. Ini adalah automatik untuk pembekal kunci API.
- Isu GitHub: github.com/diegosouzapw/OmniRoute/issues
- Seni Bina: Lihat link untuk butiran dalaman
- Rujukan API: Lihat link untuk semua titik akhir
- Papan Pemuka Kesihatan: Semak Papan Pemuka → Kesihatan untuk status sistem masa nyata
- Penterjemah: Gunakan Papan Pemuka → Penterjemah untuk menyahpepijat isu format