Skip to content

Latest commit

 

History

History
213 lines (134 loc) · 19.3 KB

File metadata and controls

213 lines (134 loc) · 19.3 KB

🌐 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+ पर अपडेट करें (सेटिंग्स दृढ़ता के लिए ज़ोड स्कीमा फिक्स)

प्रदाता मुद्दे

"भाषा मॉडल ने संदेश प्रदान नहीं किया"

कारण: प्रदाता कोटा समाप्त हो गया।

ठीक करें:

  1. डैशबोर्ड कोटा ट्रैकर की जाँच करें
  2. फ़ॉलबैक टियर वाले कॉम्बो का उपयोग करें
  3. सस्ते/मुफ़्त स्तर पर स्विच करें

दर सीमित करना

कारण: सदस्यता कोटा समाप्त हो गया।

ठीक करें:

  • फ़ॉलबैक जोड़ें: cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking
  • सस्ते बैकअप के रूप में GLM/MiniMax का उपयोग करें

OAuth टोकन समाप्त हो गया

ओम्निरूट स्वचालित रूप से टोकन ताज़ा करता है। यदि समस्याएँ बनी रहती हैं:

  1. डैशबोर्ड → प्रदाता → पुनः कनेक्ट करें
  2. प्रदाता कनेक्शन हटाएं और पुनः जोड़ें

बादल मुद्दे

क्लाउड सिंक त्रुटियाँ

  1. अपने चल रहे उदाहरण के लिए BASE_URL अंक सत्यापित करें (उदाहरण के लिए, http://localhost:20128)
  2. अपने क्लाउड एंडपॉइंट पर CLOUD_URL पॉइंट सत्यापित करें (जैसे, https://omniroute.dev)
  3. NEXT_PUBLIC_* मानों को सर्वर-साइड मानों के साथ संरेखित रखें

क्लाउड stream=false 500 लौटाता है

लक्षण: गैर-स्ट्रीमिंग कॉल के लिए क्लाउड एंडपॉइंट पर Unexpected token 'd'...

कारण: अपस्ट्रीम एसएसई पेलोड लौटाता है जबकि ग्राहक JSON की अपेक्षा करता है।

समाधान: क्लाउड डायरेक्ट कॉल के लिए stream=true का उपयोग करें। स्थानीय रनटाइम में SSE→JSON फ़ॉलबैक शामिल है।

क्लाउड कहता है कनेक्टेड लेकिन "अमान्य एपीआई कुंजी"

  1. स्थानीय डैशबोर्ड से एक नई कुंजी बनाएं (/api/keys)
  2. क्लाउड सिंक चलाएँ: क्लाउड सक्षम करें → अभी सिंक करें
  3. पुरानी/गैर-सिंक की गई कुंजियाँ अभी भी क्लाउड पर 401 लौटा सकती हैं

डॉकर मुद्दे

सीएलआई टूल शो स्थापित नहीं है

  1. रनटाइम फ़ील्ड जांचें: curl http://localhost:20128/api/cli-tools/runtime/codex | jq
  2. पोर्टेबल मोड के लिए: छवि लक्ष्य runner-cli (बंडल सीएलआई) का उपयोग करें
  3. होस्ट माउंट मोड के लिए: CLI_EXTRA_PATHS सेट करें और होस्ट बिन निर्देशिका को केवल पढ़ने के लिए माउंट करें
  4. यदि 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}'

लागत संबंधी मुद्दे

उच्च लागत

  1. डैशबोर्ड → उपयोग में उपयोग के आँकड़े जाँचें
  2. प्राथमिक मॉडल को जीएलएम/मिनीमैक्स पर स्विच करें
  3. गैर-महत्वपूर्ण कार्यों के लिए फ्री टियर (मिथुन सीएलआई, आईफ्लो) का उपयोग करें
  4. प्रति एपीआई कुंजी लागत बजट निर्धारित करें: डैशबोर्ड → एपीआई कुंजी → बजट

डिबगिंग

अनुरोध लॉग सक्षम करें

अपनी .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)

सर्किट ब्रेकर मुद्दे

प्रदाता खुली स्थिति में फंसा हुआ है

जब किसी प्रदाता का सर्किट ब्रेकर खुला होता है, तो कूलडाउन समाप्त होने तक अनुरोध अवरुद्ध हो जाते हैं।

ठीक करें:

  1. डैशबोर्ड → सेटिंग्स → लचीलापन पर जाएं
  2. प्रभावित प्रदाता के लिए सर्किट ब्रेकर कार्ड की जाँच करें
  3. सभी ब्रेकर साफ़ करने के लिए रीसेट ऑल पर क्लिक करें, या कूलडाउन समाप्त होने तक प्रतीक्षा करें
  4. रीसेट करने से पहले सत्यापित करें कि प्रदाता वास्तव में उपलब्ध है

प्रदाता सर्किट ब्रेकर को ट्रिप करता रहता है

यदि कोई प्रदाता बार-बार खुली स्थिति में प्रवेश करता है:

  1. विफलता पैटर्न के लिए डैशबोर्ड → स्वास्थ्य → प्रदाता स्वास्थ्य की जाँच करें
  2. सेटिंग्स → लचीलापन → प्रदाता प्रोफाइल पर जाएं और विफलता सीमा बढ़ाएं
  3. जांचें कि क्या प्रदाता ने एपीआई सीमाएं बदल दी हैं या पुनः प्रमाणीकरण की आवश्यकता है
  4. विलंबता टेलीमेट्री की समीक्षा करें - उच्च विलंबता टाइमआउट-आधारित विफलताओं का कारण बन सकती है

ऑडियो ट्रांस्क्रिप्शन मुद्दे

"असमर्थित मॉडल" त्रुटि

  • सुनिश्चित करें कि आप सही उपसर्ग का उपयोग कर रहे हैं: 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 देखें
  • स्वास्थ्य डैशबोर्ड: वास्तविक समय प्रणाली की स्थिति के लिए डैशबोर्ड → स्वास्थ्य जांचें
  • अनुवादक: प्रारूप संबंधी समस्याओं को डीबग करने के लिए डैशबोर्ड → अनुवादक का उपयोग करें