🌐 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
#समस्या निवारण
ओम्निरूट के लिए सामान्य समस्याएं और समाधान।
| समस्या | समाधान |
|---|---|
| पहला लॉगिन काम नहीं कर रहा | .env में INITIAL_PASSWORD को जांचें (डिफ़ॉल्ट: 123456) |
| गलत पोर्ट पर डैशबोर्ड खुलता है | PORT=20128 और NEXT_PUBLIC_BASE_URL=http://localhost:20128 सेट करें |
logs/ के अंतर्गत कोई अनुरोध लॉग नहीं |
ENABLE_REQUEST_LOGS=true सेट करें |
| EACCES: अनुमति अस्वीकृत | ~/.omniroute को ओवरराइड करने के लिए DATA_DIR=/path/to/writable/dir सेट करें |
| रूटिंग रणनीति सहेजी नहीं जा रही | v1.4.11+ पर अपडेट करें (सेटिंग्स दृढ़ता के लिए ज़ोड स्कीमा फिक्स) |
कारण: प्रदाता कोटा समाप्त हो गया।
ठीक करें:
- डैशबोर्ड कोटा ट्रैकर की जाँच करें
- फ़ॉलबैक टियर वाले कॉम्बो का उपयोग करें
- सस्ते/मुफ़्त स्तर पर स्विच करें
कारण: सदस्यता कोटा समाप्त हो गया।
ठीक करें:
- फ़ॉलबैक जोड़ें:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking - सस्ते बैकअप के रूप में GLM/MiniMax का उपयोग करें
ओम्निरूट स्वचालित रूप से टोकन ताज़ा करता है। यदि समस्याएँ बनी रहती हैं:
- डैशबोर्ड → प्रदाता → पुनः कनेक्ट करें
- प्रदाता कनेक्शन हटाएं और पुनः जोड़ें
- अपने चल रहे उदाहरण के लिए
BASE_URLअंक सत्यापित करें (उदाहरण के लिए,http://localhost:20128) - अपने क्लाउड एंडपॉइंट पर
CLOUD_URLपॉइंट सत्यापित करें (जैसे,https://omniroute.dev) NEXT_PUBLIC_*मानों को सर्वर-साइड मानों के साथ संरेखित रखें
लक्षण: गैर-स्ट्रीमिंग कॉल के लिए क्लाउड एंडपॉइंट पर Unexpected token 'd'...।
कारण: अपस्ट्रीम एसएसई पेलोड लौटाता है जबकि ग्राहक JSON की अपेक्षा करता है।
समाधान: क्लाउड डायरेक्ट कॉल के लिए stream=true का उपयोग करें। स्थानीय रनटाइम में SSE→JSON फ़ॉलबैक शामिल है।
- स्थानीय डैशबोर्ड से एक नई कुंजी बनाएं (
/api/keys) - क्लाउड सिंक चलाएँ: क्लाउड सक्षम करें → अभी सिंक करें
- पुरानी/गैर-सिंक की गई कुंजियाँ अभी भी क्लाउड पर
401लौटा सकती हैं
- रनटाइम फ़ील्ड जांचें:
curl http://localhost:20128/api/cli-tools/runtime/codex | jq - पोर्टेबल मोड के लिए: छवि लक्ष्य
runner-cli(बंडल सीएलआई) का उपयोग करें - होस्ट माउंट मोड के लिए:
CLI_EXTRA_PATHSसेट करें और होस्ट बिन निर्देशिका को केवल पढ़ने के लिए माउंट करें - यदि
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}'- डैशबोर्ड → उपयोग में उपयोग के आँकड़े जाँचें
- प्राथमिक मॉडल को जीएलएम/मिनीमैक्स पर स्विच करें
- गैर-महत्वपूर्ण कार्यों के लिए फ्री टियर (मिथुन सीएलआई, आईफ्लो) का उपयोग करें
- प्रति एपीआई कुंजी लागत बजट निर्धारित करें: डैशबोर्ड → एपीआई कुंजी → बजट
अपनी .env फ़ाइल में ENABLE_REQUEST_LOGS=true सेट करें। लॉग logs/ निर्देशिका के अंतर्गत दिखाई देते हैं।
OMNI_टोकन_1
- मुख्य स्थिति:
${DATA_DIR}/db.json(प्रदाता, कॉम्बो, उपनाम, कुंजियाँ, सेटिंग्स) - उपयोग:
${DATA_DIR}/usage.json,${DATA_DIR}/log.txt,${DATA_DIR}/call_logs/ - अनुरोध लॉग:
<repo>/logs/...(जबENABLE_REQUEST_LOGS=true)
जब किसी प्रदाता का सर्किट ब्रेकर खुला होता है, तो कूलडाउन समाप्त होने तक अनुरोध अवरुद्ध हो जाते हैं।
ठीक करें:
- डैशबोर्ड → सेटिंग्स → लचीलापन पर जाएं
- प्रभावित प्रदाता के लिए सर्किट ब्रेकर कार्ड की जाँच करें
- सभी ब्रेकर साफ़ करने के लिए रीसेट ऑल पर क्लिक करें, या कूलडाउन समाप्त होने तक प्रतीक्षा करें
- रीसेट करने से पहले सत्यापित करें कि प्रदाता वास्तव में उपलब्ध है
यदि कोई प्रदाता बार-बार खुली स्थिति में प्रवेश करता है:
- विफलता पैटर्न के लिए डैशबोर्ड → स्वास्थ्य → प्रदाता स्वास्थ्य की जाँच करें
- सेटिंग्स → लचीलापन → प्रदाता प्रोफाइल पर जाएं और विफलता सीमा बढ़ाएं
- जांचें कि क्या प्रदाता ने एपीआई सीमाएं बदल दी हैं या पुनः प्रमाणीकरण की आवश्यकता है
- विलंबता टेलीमेट्री की समीक्षा करें - उच्च विलंबता टाइमआउट-आधारित विफलताओं का कारण बन सकती है
- सुनिश्चित करें कि आप सही उपसर्ग का उपयोग कर रहे हैं:
deepgram/nova-3याassemblyai/best - सत्यापित करें कि प्रदाता डैशबोर्ड → प्रदाता में जुड़ा हुआ है
- समर्थित ऑडियो प्रारूप जांचें:
mp3,wav,m4a,flac,ogg,webm - सत्यापित करें कि फ़ाइल का आकार प्रदाता सीमा के भीतर है (आमतौर पर <25MB)
- प्रदाता कार्ड में प्रदाता एपीआई कुंजी वैधता की जांच करें
प्रारूप अनुवाद समस्याओं को डीबग करने के लिए डैशबोर्ड → अनुवादक का उपयोग करें:
| मोड | कब उपयोग करें |
|---|---|
| खेल का मैदान | इनपुट/आउटपुट स्वरूपों की साथ-साथ तुलना करें - यह कैसे अनुवादित होता है यह देखने के लिए एक असफल अनुरोध चिपकाएँ |
| चैट परीक्षक | लाइव संदेश भेजें और हेडर सहित पूर्ण अनुरोध/प्रतिक्रिया पेलोड का निरीक्षण करें |
| टेस्ट बेंच | यह पता लगाने के लिए कि कौन से अनुवाद टूटे हुए हैं, सभी प्रारूप संयोजनों में बैच परीक्षण चलाएँ |
| लाइव मॉनिटर | रुक-रुक कर होने वाली अनुवाद समस्याओं को पकड़ने के लिए वास्तविक समय अनुरोध प्रवाह देखें |
- सोच टैग दिखाई नहीं दे रहे हैं - जांचें कि क्या लक्ष्य प्रदाता सोच और सोच बजट सेटिंग का समर्थन करता है
- टूल कॉल ड्रॉपिंग — कुछ प्रारूप अनुवाद असमर्थित फ़ील्ड को हटा सकते हैं; खेल का मैदान मोड में सत्यापित करें
- सिस्टम प्रॉम्प्ट गायब — क्लाउड और जेमिनी हैंडल सिस्टम प्रॉम्प्ट अलग-अलग होते हैं; अनुवाद आउटपुट की जाँच करें
- एसडीके ऑब्जेक्ट के बजाय कच्ची स्ट्रिंग लौटाता है - v1.1.0 में फिक्स्ड: रिस्पॉन्स सैनिटाइज़र अब गैर-मानक फ़ील्ड्स (
x_groq,usage_breakdown, आदि) को हटा देता है जो OpenAI SDK पायडेंटिक सत्यापन विफलताओं का कारण बनता है - GLM/ERNIE
systemभूमिका को अस्वीकार करता है - v1.1.0 में फिक्स्ड: रोल नॉर्मलाइज़र स्वचालित रूप से असंगत मॉडल के लिए सिस्टम संदेशों को उपयोगकर्ता संदेशों में मर्ज कर देता है developerभूमिका पहचानी नहीं गई - v1.1.0 में ठीक किया गया: गैर-ओपनएआई प्रदाताओं के लिए स्वचालित रूप सेsystemमें परिवर्तित हो गयाjson_schemaमिथुन राशि के साथ काम नहीं कर रहा - v1.1.0 में ठीक किया गया:response_formatअब मिथुन राशि केresponseMimeType+responseSchemaमें परिवर्तित हो गया है
- ऑटो दर-सीमा केवल एपीआई कुंजी प्रदाताओं पर लागू होती है (OAuth/सदस्यता पर नहीं)
- सत्यापित करें सेटिंग्स → लचीलापन → प्रदाता प्रोफाइल में ऑटो-दर-सीमा सक्षम है
- जांचें कि क्या प्रदाता
429स्टेटस कोड याRetry-Afterहेडर लौटाता है
प्रदाता प्रोफ़ाइल इन सेटिंग्स का समर्थन करती हैं:
- आधार विलंब — पहली विफलता के बाद प्रारंभिक प्रतीक्षा समय (डिफ़ॉल्ट: 1 सेकंड)
- अधिकतम विलंब — अधिकतम प्रतीक्षा समय सीमा (डिफ़ॉल्ट: 30s)
- गुणक - लगातार विफलता के बाद विलंब को कितना बढ़ाया जाए (डिफ़ॉल्ट: 2x)
जब कई समवर्ती अनुरोध एक दर-सीमित प्रदाता से टकराते हैं, तो ओमनीरूट अनुरोधों को क्रमबद्ध करने और कैस्केडिंग विफलताओं को रोकने के लिए म्यूटेक्स + ऑटो रेट-लिमिटिंग का उपयोग करता है। यह एपीआई कुंजी प्रदाताओं के लिए स्वचालित है।
- गिटहब मुद्दे: github.com/diegosouzapw/OmniRoute/issues
- आर्किटेक्चर: आंतरिक विवरण के लिए OMNI_TOKEN_55 देखें
- एपीआई संदर्भ: सभी समापन बिंदुओं के लिए OMNI_TOKEN_56 देखें
- स्वास्थ्य डैशबोर्ड: वास्तविक समय प्रणाली की स्थिति के लिए डैशबोर्ड → स्वास्थ्य जांचें
- अनुवादक: प्रारूप संबंधी समस्याओं को डीबग करने के लिए डैशबोर्ड → अनुवादक का उपयोग करें