# User Guide (ગુજરાતી)
🌐 **Languages:** 🇺🇸 [English](../../../../guides/USER_GUIDE.md) · 🇪🇹 [am](../../../am/docs/guides/USER_GUIDE.md) · 🇸🇦 [ar](../../../ar/docs/guides/USER_GUIDE.md) · 🇦🇿 [az](../../../az/docs/guides/USER_GUIDE.md) · 🇧🇬 [bg](../../../bg/docs/guides/USER_GUIDE.md) · 🇧🇩 [bn](../../../bn/docs/guides/USER_GUIDE.md) · 🇧🇦 [bs](../../../bs/docs/guides/USER_GUIDE.md) · 🇨🇿 [cs](../../../cs/docs/guides/USER_GUIDE.md) · 🇩🇰 [da](../../../da/docs/guides/USER_GUIDE.md) · 🇩🇪 [de](../../../de/docs/guides/USER_GUIDE.md) · 🇬🇷 [el](../../../el/docs/guides/USER_GUIDE.md) · 🇪🇸 [es](../../../es/docs/guides/USER_GUIDE.md) · 🇪🇪 [et](../../../et/docs/guides/USER_GUIDE.md) · 🇮🇷 [fa](../../../fa/docs/guides/USER_GUIDE.md) · 🇫🇮 [fi](../../../fi/docs/guides/USER_GUIDE.md) · 🇫🇷 [fr](../../../fr/docs/guides/USER_GUIDE.md) · 🇮🇪 [ga](../../../ga/docs/guides/USER_GUIDE.md) · 🇳🇬 [ha](../../../ha/docs/guides/USER_GUIDE.md) · 🇮🇱 [he](../../../he/docs/guides/USER_GUIDE.md) · 🇮🇳 [hi](../../../hi/docs/guides/USER_GUIDE.md) · 🇭🇷 [hr](../../../hr/docs/guides/USER_GUIDE.md) · 🇭🇺 [hu](../../../hu/docs/guides/USER_GUIDE.md) · 🇦🇲 [hy](../../../hy/docs/guides/USER_GUIDE.md) · 🇮🇩 [id](../../../id/docs/guides/USER_GUIDE.md) · 🇳🇬 [ig](../../../ig/docs/guides/USER_GUIDE.md) · 🇮🇹 [it](../../../it/docs/guides/USER_GUIDE.md) · 🇯🇵 [ja](../../../ja/docs/guides/USER_GUIDE.md) · 🇬🇪 [ka](../../../ka/docs/guides/USER_GUIDE.md) · 🇰🇭 [km](../../../km/docs/guides/USER_GUIDE.md) · 🇮🇳 [kn](../../../kn/docs/guides/USER_GUIDE.md) · 🇰🇷 [ko](../../../ko/docs/guides/USER_GUIDE.md) · 🇱🇹 [lt](../../../lt/docs/guides/USER_GUIDE.md) · 🇱🇻 [lv](../../../lv/docs/guides/USER_GUIDE.md) · 🇮🇳 [ml](../../../ml/docs/guides/USER_GUIDE.md) · 🇮🇳 [mr](../../../mr/docs/guides/USER_GUIDE.md) · 🇲🇾 [ms](../../../ms/docs/guides/USER_GUIDE.md) · 🇲🇹 [mt](../../../mt/docs/guides/USER_GUIDE.md) · 🇲🇲 [my](../../../my/docs/guides/USER_GUIDE.md) · 🇳🇵 [ne](../../../ne/docs/guides/USER_GUIDE.md) · 🇳🇱 [nl](../../../nl/docs/guides/USER_GUIDE.md) · 🇳🇴 [no](../../../no/docs/guides/USER_GUIDE.md) · 🇮🇳 [or](../../../or/docs/guides/USER_GUIDE.md) · 🇮🇳 [pa](../../../pa/docs/guides/USER_GUIDE.md) · 🇵🇭 [phi](../../../phi/docs/guides/USER_GUIDE.md) · 🇵🇱 [pl](../../../pl/docs/guides/USER_GUIDE.md) · 🇵🇹 [pt](../../../pt/docs/guides/USER_GUIDE.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/USER_GUIDE.md) · 🇷🇴 [ro](../../../ro/docs/guides/USER_GUIDE.md) · 🇷🇺 [ru](../../../ru/docs/guides/USER_GUIDE.md) · 🇱🇰 [si](../../../si/docs/guides/USER_GUIDE.md) · 🇸🇰 [sk](../../../sk/docs/guides/USER_GUIDE.md) · 🇸🇮 [sl](../../../sl/docs/guides/USER_GUIDE.md) · 🇷🇸 [sr](../../../sr/docs/guides/USER_GUIDE.md) · 🇸🇪 [sv](../../../sv/docs/guides/USER_GUIDE.md) · 🇰🇪 [sw](../../../sw/docs/guides/USER_GUIDE.md) · 🇮🇳 [ta](../../../ta/docs/guides/USER_GUIDE.md) · 🇮🇳 [te](../../../te/docs/guides/USER_GUIDE.md) · 🇹🇭 [th](../../../th/docs/guides/USER_GUIDE.md) · 🇹🇷 [tr](../../../tr/docs/guides/USER_GUIDE.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/USER_GUIDE.md) · 🇵🇰 [ur](../../../ur/docs/guides/USER_GUIDE.md) · 🇺🇿 [uz](../../../uz/docs/guides/USER_GUIDE.md) · 🇻🇳 [vi](../../../vi/docs/guides/USER_GUIDE.md) · 🇳🇬 [yo](../../../yo/docs/guides/USER_GUIDE.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/USER_GUIDE.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/USER_GUIDE.md)
---
🌐 **Languages:** 🇺🇸 [English](../../../../guides/USER_GUIDE.md) · 🇪🇹 [am](../../../am/docs/guides/USER_GUIDE.md) · 🇸🇦 [ar](../../../ar/docs/guides/USER_GUIDE.md) · 🇦🇿 [az](../../../az/docs/guides/USER_GUIDE.md) · 🇧🇬 [bg](../../../bg/docs/guides/USER_GUIDE.md) · 🇧🇩 [bn](../../../bn/docs/guides/USER_GUIDE.md) · 🇧🇦 [bs](../../../bs/docs/guides/USER_GUIDE.md) · 🇨🇿 [cs](../../../cs/docs/guides/USER_GUIDE.md) · 🇩🇰 [da](../../../da/docs/guides/USER_GUIDE.md) · 🇩🇪 [de](../../../de/docs/guides/USER_GUIDE.md) · 🇬🇷 [el](../../../el/docs/guides/USER_GUIDE.md) · 🇪🇸 [es](../../../es/docs/guides/USER_GUIDE.md) · 🇪🇪 [et](../../../et/docs/guides/USER_GUIDE.md) · 🇮🇷 [fa](../../../fa/docs/guides/USER_GUIDE.md) · 🇫🇮 [fi](../../../fi/docs/guides/USER_GUIDE.md) · 🇫🇷 [fr](../../../fr/docs/guides/USER_GUIDE.md) · 🇮🇪 [ga](../../../ga/docs/guides/USER_GUIDE.md) · 🇳🇬 [ha](../../../ha/docs/guides/USER_GUIDE.md) · 🇮🇱 [he](../../../he/docs/guides/USER_GUIDE.md) · 🇮🇳 [hi](../../../hi/docs/guides/USER_GUIDE.md) · 🇭🇷 [hr](../../../hr/docs/guides/USER_GUIDE.md) · 🇭🇺 [hu](../../../hu/docs/guides/USER_GUIDE.md) · 🇦🇲 [hy](../../../hy/docs/guides/USER_GUIDE.md) · 🇮🇩 [id](../../../id/docs/guides/USER_GUIDE.md) · 🇳🇬 [ig](../../../ig/docs/guides/USER_GUIDE.md) · 🇮🇹 [it](../../../it/docs/guides/USER_GUIDE.md) · 🇯🇵 [ja](../../../ja/docs/guides/USER_GUIDE.md) · 🇬🇪 [ka](../../../ka/docs/guides/USER_GUIDE.md) · 🇰🇭 [km](../../../km/docs/guides/USER_GUIDE.md) · 🇮🇳 [kn](../../../kn/docs/guides/USER_GUIDE.md) · 🇰🇷 [ko](../../../ko/docs/guides/USER_GUIDE.md) · 🇱🇹 [lt](../../../lt/docs/guides/USER_GUIDE.md) · 🇱🇻 [lv](../../../lv/docs/guides/USER_GUIDE.md) · 🇮🇳 [ml](../../../ml/docs/guides/USER_GUIDE.md) · 🇮🇳 [mr](../../../mr/docs/guides/USER_GUIDE.md) · 🇲🇾 [ms](../../../ms/docs/guides/USER_GUIDE.md) · 🇲🇹 [mt](../../../mt/docs/guides/USER_GUIDE.md) · 🇲🇲 [my](../../../my/docs/guides/USER_GUIDE.md) · 🇳🇵 [ne](../../../ne/docs/guides/USER_GUIDE.md) · 🇳🇱 [nl](../../../nl/docs/guides/USER_GUIDE.md) · 🇳🇴 [no](../../../no/docs/guides/USER_GUIDE.md) · 🇮🇳 [or](../../../or/docs/guides/USER_GUIDE.md) · 🇮🇳 [pa](../../../pa/docs/guides/USER_GUIDE.md) · 🇵🇭 [phi](../../../phi/docs/guides/USER_GUIDE.md) · 🇵🇱 [pl](../../../pl/docs/guides/USER_GUIDE.md) · 🇵🇹 [pt](../../../pt/docs/guides/USER_GUIDE.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/USER_GUIDE.md) · 🇷🇴 [ro](../../../ro/docs/guides/USER_GUIDE.md) · 🇷🇺 [ru](../../../ru/docs/guides/USER_GUIDE.md) · 🇱🇰 [si](../../../si/docs/guides/USER_GUIDE.md) · 🇸🇰 [sk](../../../sk/docs/guides/USER_GUIDE.md) · 🇸🇮 [sl](../../../sl/docs/guides/USER_GUIDE.md) · 🇷🇸 [sr](../../../sr/docs/guides/USER_GUIDE.md) · 🇸🇪 [sv](../../../sv/docs/guides/USER_GUIDE.md) · 🇰🇪 [sw](../../../sw/docs/guides/USER_GUIDE.md) · 🇮🇳 [ta](../../../ta/docs/guides/USER_GUIDE.md) · 🇮🇳 [te](../../../te/docs/guides/USER_GUIDE.md) · 🇹🇭 [th](../../../th/docs/guides/USER_GUIDE.md) · 🇹🇷 [tr](../../../tr/docs/guides/USER_GUIDE.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/USER_GUIDE.md) · 🇵🇰 [ur](../../../ur/docs/guides/USER_GUIDE.md) · 🇺🇿 [uz](../../../uz/docs/guides/USER_GUIDE.md) · 🇻🇳 [vi](../../../vi/docs/guides/USER_GUIDE.md) · 🇳🇬 [yo](../../../yo/docs/guides/USER_GUIDE.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/USER_GUIDE.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/USER_GUIDE.md)
પ્રદાતાઓને ગોઠવવા, કોમ્બો બનાવવા, CLI સાધનોને સંકલિત કરવા અને OmniRoute ને ડિપ્લોય કરવા માટેની સંપૂર્ણ માર્ગદર્શિકા.
---
## વિષયસૂચિ
- [કિંમતની એક નજરમાં માહિતી](#-pricing-at-a-glance)
- [ઉપયોગના કિસ્સાઓ](#-use-cases)
- [પ્રદાતા સેટઅપ](#-provider-setup)
- [CLI એકીકરણ](#-cli-integration)
- [ડિપ્લોયમેન્ટ](#-deployment)
- [ઉપલબ્ધ મોડેલો](#-available-models)
- [અદ્યતન સુવિધાઓ](#-advanced-features)
- [ઑટો-રાઉટિંગ (શૂન્ય-કૉન્ફિગ)](#-auto-routing-zero-config)
- [MCP અને A2A એકીકરણ](#-mcp--a2a-integration)
- [સ્કિલ્સ સિસ્ટમ](#-skills-system)
- [મેમરી સિસ્ટમ](#-memory-system)
- [વેબહુક્સ](#-webhooks)
- [ક્લાઉડ એજન્ટ્સ](#-cloud-agents)
- [પ્રોગ્રામેટિક મેનેજમેન્ટ](#-programmatic-management)
- [આંતરિક CLI](#-internal-cli)
- [ડેસ્કટૉપ એપ્લિકેશન (Electron)](#-desktop-application-electron)
---
## 💰 કિંમતની એક નજરમાં માહિતી
| શ્રેણી | પ્રદાતા | કિંમત | ક્વોટા રીસેટ | આ માટે શ્રેષ્ઠ |
| -------------------- | ----------------- | ------------------- | --------------------------- | ------------------------------ |
| **💳 સબ્સ્ક્રિપ્શન** | Claude Code (Pro) | $20/મહિનો | 5 કલાક + સાપ્તાહિક | પહેલેથી સબ્સ્ક્રાઇબ કરેલું હોય |
| | Codex (Plus/Pro) | $20-200/મહિનો | 5 કલાક + સાપ્તાહિક | OpenAI વપરાશકર્તાઓ |
| | GitHub Copilot | $10-19/મહિનો | માસિક | GitHub વપરાશકર્તાઓ |
| **🔑 API KEY** | DeepSeek | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | સસ્તું રીઝનિંગ |
| | Groq | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | અત્યંત ઝડપી ઇન્ફરન્સ |
| | xAI (Grok) | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | Grok 4 રીઝનિંગ |
| | Mistral | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | EUમાં હોસ્ટ કરેલા મોડેલો |
| | Perplexity | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | શોધ-સંવર્ધિત |
| | Together AI | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | ઓપન-સોર્સ મોડેલો |
| | Fireworks AI | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | ઝડપી FLUX ઇમેજિસ |
| | Cerebras | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | વેફર-સ્કેલ ઝડપ |
| | Cohere | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | Command R+ RAG |
| | NVIDIA NIM | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | એન્ટરપ્રાઇઝ મોડેલો |
| | Baidu Qianfan | વપરાશ અનુસાર ચૂકવણી | કોઈ નહીં | ERNIE મોડેલો |
| **💰 સસ્તું** | GLM-4.7 | $0.6/1M | દરરોજ સવારે 10 વાગ્યે | બજેટ બૅકઅપ |
| | MiniMax M2.1 | $0.2/1M | દર 5 કલાકે રોલિંગ | સૌથી સસ્તો વિકલ્પ |
| | Kimi K2 | $9/મહિનો નિશ્ચિત | 10M ટોકન્સ/મહિનો | અનુમાનિત કિંમત |
| **🆓 મફત** | Qoder | $0 | પ્રદાતાની મર્યાદાઓ લાગુ પડે | વર્તમાન કૅટલૉગ ચકાસો |
| | Kiro | $0 | ~50 ક્રેડિટ્સ/મહિનો | મફત Claude |
---
## 🎯 ઉપયોગના કિસ્સાઓ
### કિસ્સો 1: "મારી પાસે Claude Pro સબ્સ્ક્રિપ્શન છે"
**સમસ્યા:** ક્વોટા વપરાયા વિના સમાપ્ત થઈ જાય છે, ભારે કોડિંગ દરમિયાન રેટ લિમિટ્સ આવે છે
```
કૉમ્બો: "maximize-claude"
1. cc/claude-opus-4-7 (સબ્સ્ક્રિપ્શનનો સંપૂર્ણ ઉપયોગ કરો)
2. glm/glm-4.7 (ક્વોટા પૂરો થાય ત્યારે સસ્તું બૅકઅપ)
3. if/qwen3.8-max-preview (કટોકટી માટે મફત ફૉલબૅક)
માસિક કિંમત: $20 (સબ્સ્ક્રિપ્શન) + ~$5 (બૅકઅપ) = કુલ $25
તેની સરખામણીમાં $20 + મર્યાદાઓ સુધી પહોંચી જવું = નિરાશા
```
### કિસ્સો 2: "મારે શૂન્ય ખર્ચ જોઈએ છે"
**સમસ્યા:** સબ્સ્ક્રિપ્શન પરવડી શકતું નથી, વિશ્વસનીય AI કોડિંગની જરૂર છે
```
કૉમ્બો: "zero-cost"
1. if/kimi-k2.7-code (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; રેટ લિમિટ્સ લાગુ પડી શકે છે)
2. kr/qwen3-coder-next (Kiroનો મફત ફૉલબૅક)
માસિક કિંમત: $0
ગુણવત્તા: તમારા વર્કલોડ માટે મોડેલ, મર્યાદાઓ, ગોપનીયતા અને SLA ચકાસો
```
### કિસ્સો 3: "મારે કોઈ વિક્ષેપ વિના 24/7 કોડિંગ જોઈએ છે"
**સમસ્યા:** સમયમર્યાદાઓ છે, ડાઉનટાઇમ પરવડી શકે તેમ નથી
```
કૉમ્બો: "always-on"
1. cc/claude-opus-4-7 (શ્રેષ્ઠ ગુણવત્તા)
2. cx/gpt-5.5 (બીજું સબ્સ્ક્રિપ્શન)
3. glm/glm-4.7 (સસ્તું, દરરોજ રીસેટ થાય છે)
4. minimax/MiniMax-M2.1 (સૌથી સસ્તું, 5 કલાકે રીસેટ)
5. if/deepseek-v4-flash (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; રેટ લિમિટ્સ લાગુ પડી શકે છે)
પરિણામ: 5 ફૉલબૅક સ્તરો સ્થિતિસ્થાપકતાને વિસ્તૃત કરે છે; અપસ્ટ્રીમ ઉપલબ્ધતાની ખાતરી નથી
માસિક કિંમત: $20-200 (સબ્સ્ક્રિપ્શન્સ) + $10-20 (બૅકઅપ)
```
### કિસ્સો 4: "મારે OpenClawમાં મફત AI જોઈએ છે"
**સમસ્યા:** મેસેજિંગ ઍપ્સમાં સંપૂર્ણપણે મફત AI સહાયકની જરૂર છે
```
કૉમ્બો: "openclaw-free"
1. if/qwen3.8-max-preview (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; રેટ લિમિટ્સ લાગુ પડી શકે છે)
2. if/deepseek-v4-flash (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; રેટ લિમિટ્સ લાગુ પડી શકે છે)
3. if/kimi-k2.7-code (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; રેટ લિમિટ્સ લાગુ પડી શકે છે)
માસિક કિંમત: $0
આના દ્વારા ઍક્સેસ: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
```
---
## 📖 પ્રોવાઇડર સેટઅપ
CSV અથવા JSON ફાઇલમાંથી API-key કનેક્શનો સામૂહિક રીતે ઉમેરવા માટે, **ડૅશબોર્ડ → પ્રોવાઇડર્સ → ફાઇલમાંથી ઇમ્પોર્ટ કરો** નો ઉપયોગ કરો. કૉલમ્સનું સ્થાન નિશ્ચિત છે (`provider,name,apiKey,baseUrl,priority`); `provider` પહેલેથી જ મેનેજ્ડ પ્રોવાઇડર અથવા સુસંગત નોડ તરીકે અસ્તિત્વમાં હોવું આવશ્યક છે. [CSV અથવા JSON ફાઇલમાંથી પ્રોવાઇડર્સ ઇમ્પોર્ટ કરો](../providers/CSV-IMPORT.md) જુઓ.
### 🔐 સબ્સ્ક્રિપ્શન પ્રોવાઇડર્સ
#### Claude Code (Pro/Max)
```bash
ડૅશબોર્ડ → પ્રોવાઇડર્સ → Claude Code કનેક્ટ કરો
→ OAuth લૉગિન → ઑટોમૅટિક ટોકન રિફ્રેશ
→ 5-કલાકના + સાપ્તાહિક ક્વોટાનું ટ્રૅકિંગ
મોડલ્સ:
cc/claude-opus-4-7
cc/claude-sonnet-4-6
cc/claude-haiku-4-5-20251001
```
**પ્રો ટિપ:** જટિલ કાર્યો માટે Opus અને ઝડપ માટે Sonnet નો ઉપયોગ કરો. OmniRoute દરેક મોડલ માટે ક્વોટા ટ્રૅક કરે છે!
OmniRoute હોસ્ટ પર બ્રાઉઝર નથી? Claude Code જ્યાં પણ લૉગિન થયેલું હોય ત્યાં `claude setup-token` ચલાવો અને એક વર્ષ માટેનું ટોકન **Setup Token** ટૅબમાં પેસ્ટ કરો. [સેટઅપ ટોકન સાથે Claude Code](../providers/CLAUDE_CODE_SETUP_TOKEN.md) જુઓ.
Claude અને Claude Code-સુસંગત રૂટ્સ Opus અને Sonnet મોડલ્સ માટે `max` વિચાર-પ્રયત્ન જાળવી રાખે છે. Haiku મોડલ્સ `max` પ્રયત્ન સ્તર સ્વીકારતા નથી, તેથી OmniRoute તે વિનંતીને અપસ્ટ્રીમ મોકલતા પહેલાં ઉચ્ચ વિચાર-બજેટ પર ડાઉનગ્રેડ કરે છે.
#### OpenAI Codex (Plus/Pro)
```bash
ડૅશબોર્ડ → પ્રોવાઇડર્સ → Codex કનેક્ટ કરો
→ OAuth લૉગિન (પોર્ટ 1455)
→ 5-કલાકનું + સાપ્તાહિક રીસેટ
મોડલ્સ:
cx/gpt-5.5
cx/gpt-5.4
cx/gpt-5.3-codex
cx/gpt-5.3-codex-spark
```
#### GitHub Copilot
```bash
ડૅશબોર્ડ → પ્રોવાઇડર્સ → GitHub કનેક્ટ કરો
→ GitHub મારફતે OAuth
→ માસિક રીસેટ (મહિનાની 1લી તારીખે)
મોડલ્સ:
gh/gpt-5.5
gh/gpt-5.4
gh/claude-sonnet-4.6
gh/claude-opus-4.7
gh/gemini-3.1-pro-preview
```
### 💰 સસ્તા પ્રોવાઇડર્સ
#### GLM-4.7 (દૈનિક રીસેટ, $0.6/1M)
1. સાઇન અપ કરો: [Zhipu AI](https://open.bigmodel.cn)
2. Coding Plan માંથી API key મેળવો
3. ડૅશબોર્ડ → API Key ઉમેરો: પ્રોવાઇડર: `glm`, API Key: `your-key`
**ઉપયોગ:** `glm/glm-4.7` — **પ્રો ટિપ:** Coding Plan 1/7 ખર્ચે 3× ક્વોટા આપે છે! દરરોજ સવારે 10:00 વાગ્યે રીસેટ થાય છે.
#### MiniMax M2.1 (5 કલાકે રીસેટ, $0.20/1M)
1. સાઇન અપ કરો: [MiniMax](https://www.minimax.io)
2. API key મેળવો → ડૅશબોર્ડ → API Key ઉમેરો
**ઉપયોગ:** `minimax/MiniMax-M2.1` — **પ્રો ટિપ:** લાંબા કોન્ટેક્સ્ટ (1M ટોકન્સ) માટેનો સૌથી સસ્તો વિકલ્પ!
#### Kimi K2 (દર મહિને નિશ્ચિત $9)
1. સબ્સ્ક્રાઇબ કરો: [Moonshot AI](https://platform.kimi.ai?aff=omniroute)
2. API key મેળવો → ડૅશબોર્ડ → API Key ઉમેરો
**ઉપયોગ:** `kimi/kimi-k2.5` — **પ્રો ટિપ:** 10M ટોકન્સ માટે દર મહિને નિશ્ચિત $9 = $0.90/1M નો અસરકારક ખર્ચ!
#### Baidu Qianfan / ERNIE
1. સાઇન અપ કરો: [Baidu AI Cloud Qianfan](https://cloud.baidu.com/product/wenxinworkshop)
2. Qianfan API key બનાવો → ડૅશબોર્ડ → API Key ઉમેરો: પ્રોવાઇડર: `qianfan`
**ઉપયોગ:** `qianfan/ernie-5.1`, `qianfan/ernie-x1.1`, અથવા અન્ય Qianfan OpenAI-સુસંગત મોડલ ID.
### 🆓 મફત પ્રોવાઇડર્સ
ઑથેન્ટિકેશનની જરૂર ન હોય તેવા મફત પ્રોવાઇડર્સના પ્રોવાઇડર પેજ પર **ઑથેન્ટિકેશન જરૂરી નથી** ની બાજુમાં એક સ્વિચ હોય છે.
તેને બંધ કરવાથી તે પ્રોવાઇડર નિષ્ક્રિય થાય છે, પ્રોવાઇડર્સના કૉન્ફિગર કરેલા/કોમ્પેક્ટ વ્યૂઝમાંથી દૂર થાય છે અને
તેના મોડલ્સ `/v1/models` માંથી દૂર થાય છે.
#### Qoder (9 મફત મોડલ્સ)
```bash
ડૅશબોર્ડ → Qoder કનેક્ટ કરો → OAuth લૉગિન → ઍક્સેસ વર્તમાન પ્રોવાઇડર મર્યાદાઓને આધીન છે
મોડલ્સ: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3
```
#### Kiro (Claude મફત)
```bash
ડૅશબોર્ડ → Kiro કનેક્ટ કરો → AWS Builder ID અથવા Google/GitHub → દર મહિને ~50 ક્રેડિટ્સ
મોડલ્સ: kr/claude-sonnet-4.5, kr/claude-haiku-4.5
```
---
## 🎨 કોમ્બોઝ
તમે દરેક કાર્ડ પરના હેન્ડલને ડ્રૅગ કરીને સીધા **ડૅશબોર્ડ → કોમ્બોઝ**માં કોમ્બો કાર્ડ્સનો ક્રમ બદલી શકો છો. ક્રમ SQLiteમાં સંગ્રહિત થાય છે અને ફરીથી લોડ કરવાથી પુનઃસ્થાપિત થાય છે.
### ઉદાહરણ 1: સબ્સ્ક્રિપ્શનનો મહત્તમ ઉપયોગ → સસ્તું બૅકઅપ
```
ડૅશબોર્ડ → કોમ્બોઝ → નવું બનાવો
નામ: premium-coding
મોડલ્સ:
1. cc/claude-opus-4-7 (પ્રાથમિક સબ્સ્ક્રિપ્શન)
2. glm/glm-4.7 (સસ્તું બૅકઅપ, $0.6/1M)
3. minimax/MiniMax-M2.7 (સૌથી સસ્તું ફૉલબૅક, $0.3/1M)
CLIમાં ઉપયોગ કરો: premium-coding
```
### ઉદાહરણ 2: માત્ર મફત (શૂન્ય ખર્ચ)
```
નામ: free-combo
મોડલ્સ:
1. if/kimi-k2.7-code (મફત ઍક્સેસ તરીકે સૂચિબદ્ધ; પ્રદાતાની મર્યાદાઓ લાગુ પડી શકે છે)
2. kr/qwen3-coder-next (Kiroનું મફત ફૉલબૅક)
ખર્ચ: હાલમાં $0 તરીકે સૂચિબદ્ધ છે; શરતો અને ઉપલબ્ધતા બદલાઈ શકે છે
```
---
## 🔧 CLI એકીકરણ
### Cursor IDE
**OmniRoute ક્લાયન્ટ તરીકે Cursorનો ઉપયોગ કરવો** (Cursor ચૅટને OmniRoute મારફતે રૂટ કરો):
```
સેટિંગ્સ → મોડલ્સ → ઍડવાન્સ્ડ:
OpenAI API બેઝ URL: http://localhost:20128/v1
OpenAI API કી: [omniroute ડૅશબોર્ડમાંથી]
મોડલ: cc/claude-opus-4-7
```
**Cursor પ્રદાતા તરીકે OmniRouteનો ઉપયોગ કરવો** (OmniRoute અપસ્ટ્રીમ Cursorને કૉલ કરે છે): પ્રાધાન્ય આપો
**ડૅશબોર્ડ → પ્રદાતાઓ → Cursor → Cursor વડે લૉગિન કરો**. Dockerમાં,
[`docs/providers/CURSOR-DOCKER.md`](../providers/CURSOR-DOCKER.md) જુઓ.
### Claude Code
`~/.claude/settings.json` સંપાદિત કરો:
```json
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
}
}
```
અહીં Claude-સુસંગત રૂટ એન્ડપૉઇન્ટનો ઉપયોગ કરો. `ANTHROPIC_BASE_URL`ના અંતે `/v1` ઉમેરશો નહીં.
### Codex CLI
```bash
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"
```
### OpenClaw
`~/.openclaw/openclaw.json` સંપાદિત કરો:
```json
{
"agents": {
"defaults": {
"model": { "primary": "omniroute/if/kimi-k2.7-code" }
}
},
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://localhost:20128/v1",
"apiKey": "your-omniroute-api-key",
"api": "openai-completions",
"models": [{ "id": "if/kimi-k2.7-code", "name": "Kimi K2.7 Code" }]
}
}
}
}
```
**અથવા ડૅશબોર્ડનો ઉપયોગ કરો:** CLI સાધનો → OpenClaw → સ્વતઃ-ગોઠવણી
### Cline / Continue / RooCode
```
પ્રદાતા: OpenAI સુસંગત
બેઝ URL: http://localhost:20128/v1
API કી: [ડૅશબોર્ડમાંથી]
મોડલ: cc/claude-opus-4-7
```
---
## 🚀 ડિપ્લૉયમેન્ટ
### વૈશ્વિક npm ઇન્સ્ટૉલ (ભલામણ કરેલ)
```bash
npm install -g omniroute
# કૉન્ફિગ ડિરેક્ટરી બનાવો
mkdir -p ~/.omniroute
# .env ફાઇલ બનાવો (.env.example જુઓ)
cp .env.example ~/.omniroute/.env
# સર્વર શરૂ કરો
omniroute
# અથવા કસ્ટમ પોર્ટ સાથે:
omniroute --port 3000
```
CLI આપમેળે `~/.omniroute/.env` અથવા `./.env`માંથી `.env` લોડ કરે છે.
### ટ્રે મોડ
સિસ્ટમ ટ્રેમાં OmniRoute શરૂ કરો:
```bash
omniroute serve --tray
```
સર્વર અને ટ્રે તૈયાર થયા પછી આ કમાન્ડ પૂર્ણ થાય છે.
સર્વર ટર્મિનલ વિના પણ ચાલુ રહે છે.
ટ્રે મોડ macOS, Windows અને ગ્રાફિકલ Linux સેશન્સને સપોર્ટ કરે છે. ટ્રે મોડ ડૅશબોર્ડને આપમેળે ખોલતું નથી.
આ ક્રિયાઓ માટે ટ્રે મેનૂનો ઉપયોગ કરો:
- ડૅશબોર્ડ ખોલો.
- `/dashboard/logs` ખોલો.
- ઑટો-સ્ટાર્ટ બદલો.
- OmniRoute બંધ કરો.
આ વિકલ્પો સાથે `--tray`ને જોડશો નહીં:
- `--daemon`
- `--log`
- `--no-recovery`
આ મોડ્સ માટે અલગ પ્રોસેસ માલિકીની જરૂર પડે છે.
મશીનમાં આગામી લૉગિન વખતે સ્ટાર્ટઅપ સક્ષમ કરો:
```bash
omniroute autostart enable
```
ઑટો-સ્ટાર્ટ macOS, Windows અને ગ્રાફિકલ Linux સેશન્સ પર ટ્રે મોડનો ઉપયોગ કરે છે. હેડલેસ Linux હાલની systemd યુઝર સર્વિસનો ઉપયોગ કરે છે.
લૉગિન વખતે સ્ટાર્ટઅપ અક્ષમ કરો:
```bash
omniroute autostart disable
```
### અનઇન્સ્ટૉલ કરવું
જ્યારે તમને OmniRouteની હવે જરૂર ન હોય, ત્યારે સંપૂર્ણપણે દૂર કરવા માટે અમે બે ઝડપી સ્ક્રિપ્ટ્સ પ્રદાન કરીએ છીએ:
| કમાન્ડ | ક્રિયા |
| ------------------------ | ------------------------------------------------------------------------------------------- |
| `npm run uninstall` | સિસ્ટમ ઍપ દૂર કરે છે, પરંતુ `~/.omniroute`માં **તમારો DB અને કૉન્ફિગરેશન્સ જાળવી રાખે છે**. |
| `npm run uninstall:full` | ઍપ દૂર કરે છે અને **બધાં કૉન્ફિગરેશન્સ, કીઝ અને ડેટાબેસ કાયમ માટે ભૂંસી નાખે છે**. |
> નોંધ: આ કમાન્ડ્સ ચલાવવા માટે OmniRoute પ્રોજેક્ટ ફોલ્ડર પર જાઓ (જો તમે તેને ક્લોન કર્યું હોય) અને તેમને ચલાવો. વૈકલ્પિક રીતે, જો વૈશ્વિક સ્તરે ઇન્સ્ટૉલ કર્યું હોય, તો તમે ફક્ત `npm uninstall -g omniroute` ચલાવી શકો છો.
### VPS ડિપ્લૉયમેન્ટ
```bash
git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute && npm install && npm run build
export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/omniroute"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"
npm run start
# અથવા: pm2 start npm --name omniroute -- start
```
### PM2 ડિપ્લૉયમેન્ટ (ઓછી મેમરી)
મર્યાદિત RAM ધરાવતા સર્વર્સ માટે મેમરી મર્યાદા વિકલ્પનો ઉપયોગ કરો:
```bash
# 512MB મર્યાદા સાથે (ડિફૉલ્ટ)
pm2 start npm --name omniroute -- start
# અથવા કસ્ટમ મેમરી મર્યાદા સાથે
OMNIROUTE_MEMORY_MB=512 pm2 start npm --name omniroute -- start
# અથવા ecosystem.config.jsનો ઉપયોગ કરીને
pm2 start ecosystem.config.js
```
`ecosystem.config.js` બનાવો:
```javascript
module.exports = {
apps: [
{
name: "omniroute",
script: "npm",
args: "start",
env: {
NODE_ENV: "production",
OMNIROUTE_MEMORY_MB: "512",
JWT_SECRET: "your-secret",
INITIAL_PASSWORD: "your-password",
},
node_args: "--max-old-space-size=512",
max_memory_restart: "300M",
},
],
};
```
### Docker
```bash
# ઇમેજ બિલ્ડ કરો (ડિફૉલ્ટ = codex/claude/droid અગાઉથી ઇન્સ્ટૉલ કરેલું runner-cli)
docker build -t omniroute:cli .
# પોર્ટેબલ મોડ (ભલામણ કરેલ)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cli
```
CLI બાઇનરીઝ સાથેના હોસ્ટ-એકીકૃત મોડ માટે મુખ્ય દસ્તાવેજોમાં Docker વિભાગ જુઓ.
### Void Linux (xbps-src)
Void Linux વપરાશકર્તાઓ `xbps-src` ક્રોસ-કમ્પાઇલેશન ફ્રેમવર્કનો ઉપયોગ કરીને OmniRoute ને નેટિવ રીતે પૅકેજ અને ઇન્સ્ટૉલ કરી શકે છે. આ જરૂરી `better-sqlite3` નેટિવ બાઇન્ડિંગ્સની સાથે Node.js સ્ટૅન્ડઅલોન બિલ્ડને સ્વચાલિત કરે છે.
xbps-src ટેમ્પલેટ જુઓ
```bash
# 'omniroute' માટેની ટેમ્પલેટ ફાઇલ
pkgname=omniroute
version=3.8.0
revision=1
hostmakedepends="nodejs python3 make"
depends="openssl"
short_desc="Universal AI gateway with smart routing for multiple LLM providers"
maintainer="zenobit "
license="MIT"
homepage="https://github.com/diegosouzapw/OmniRoute"
distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz"
checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b
system_accounts="_omniroute"
omniroute_homedir="/var/lib/omniroute"
export NODE_ENV=production
export npm_config_engine_strict=false
export npm_config_loglevel=error
export npm_config_fund=false
export npm_config_audit=false
do_build() {
# node-gyp માટે લક્ષ્ય CPU આર્કિટેક્ચર નક્કી કરો
local _gyp_arch
case "$XBPS_TARGET_MACHINE" in
aarch64*) _gyp_arch=arm64 ;;
armv7*|armv6*) _gyp_arch=arm ;;
i686*) _gyp_arch=ia32 ;;
*) _gyp_arch=x64 ;;
esac
# 1) બધી ડિપેન્ડન્સીઓ ઇન્સ્ટૉલ કરો – સ્ક્રિપ્ટ્સ અવગણો
NODE_ENV=development npm ci --ignore-scripts
# 2) Next.js સ્ટૅન્ડઅલોન બંડલ બિલ્ડ કરો
npm run build
# 3) સ્ટૅન્ડઅલોનમાં સ્ટૅટિક ઍસેટ્સ કૉપિ કરો
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true
# 4) better-sqlite3 નેટિવ બાઇન્ડિંગ કમ્પાઇલ કરો
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")
# 5) કમ્પાઇલ કરેલું બાઇન્ડિંગ સ્ટૅન્ડઅલોન બંડલમાં મૂકો
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"
# 6) આર્કિટેક્ચર-વિશિષ્ટ sharp બંડલ્સ દૂર કરો
rm -rf .next/standalone/node_modules/@img
# 7) Next.js સ્ટૅટિક વિશ્લેષણ દ્વારા છૂટી ગયેલી pino રનટાઇમ ડિપેન્ડન્સીઓ કૉપિ કરો:
for _mod in pino-abstract-transport split2 process-warning; do
cp -r "node_modules/$_mod" .next/standalone/node_modules/
done
}
do_check() {
npm run test:unit
}
do_install() {
vmkdir usr/lib/omniroute/.next
vcopy .next/standalone/. usr/lib/omniroute/.next/standalone
# પોસ્ટ-ઇન્સ્ટૉલ હૂક દ્વારા ખાલી Next.js ઍપ રાઉટર ડિરેક્ટરીઓ દૂર થતી અટકાવો
for _d in \
.next/standalone/.next/server/app/dashboard \
.next/standalone/.next/server/app/dashboard/settings \
.next/standalone/.next/server/app/dashboard/providers; do
touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done
cat > "${WRKDIR}/omniroute" <<'EOF'
#!/bin/sh
export PORT="${PORT:-20128}"
export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}"
export APP_LOG_TO_FILE="${APP_LOG_TO_FILE:-false}"
mkdir -p "${DATA_DIR}"
exec node /usr/lib/omniroute/.next/standalone/server.js "$@"
EOF
vbin "${WRKDIR}/omniroute"
}
post_install() {
vlicense LICENSE
}
```
### એન્વાયર્નમેન્ટ વેરિએબલ્સ
| વેરિએબલ | ડિફૉલ્ટ | વર્ણન |
| --------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------- |
| `JWT_SECRET` | `omniroute-default-secret-change-me` | JWT સાઇનિંગ સિક્રેટ (**પ્રોડક્શનમાં બદલો**) |
| `INITIAL_PASSWORD` | `CHANGEME` | પ્રથમ લૉગિનનો પાસવર્ડ |
| `DATA_DIR` | `~/.omniroute` | ડેટા ડિરેક્ટરી (db, વપરાશ, લૉગ્સ) |
| `PORT` | ફ્રેમવર્ક ડિફૉલ્ટ | સર્વિસ પોર્ટ (ઉદાહરણોમાં `20128`) |
| `HOSTNAME` | ફ્રેમવર્ક ડિફૉલ્ટ | બાઇન્ડ હોસ્ટ (Docker માટે ડિફૉલ્ટ `0.0.0.0`) |
| `NODE_ENV` | રનટાઇમ ડિફૉલ્ટ | ડિપ્લૉયમેન્ટ માટે `production` સેટ કરો |
| `NEXT_PUBLIC_BASE_URL` | `http://localhost:20128` | ડૅશબોર્ડમાં દર્શાવવામાં આવતું અને સર્વર માટે ઉપલબ્ધ સાર્વજનિક બેઝ URL (જૂના `BASE_URL`ને બદલે છે) |
| `NEXT_PUBLIC_CLOUD_URL` | `https://omniroute.dev` | ક્લાઉડ સિંક એન્ડપોઇન્ટ બેઝ URL (જૂના `CLOUD_URL`ને બદલે છે) |
| `API_KEY_SECRET` | `endpoint-proxy-api-key-secret` | જનરેટ થયેલી API કી માટેનું HMAC સિક્રેટ |
| `REQUIRE_API_KEY` | `false` | `/v1/*` પર Bearer API કી ફરજિયાત બનાવો |
| `ALLOW_API_KEY_REVEAL` | `false` | પ્રમાણિત ડૅશબોર્ડ વપરાશકર્તાઓને માંગ પર સંગ્રહિત API કીનાં સંપૂર્ણ મૂલ્યો જોવાની મંજૂરી આપો |
| `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES` | `70` | કૅશ કરેલા Provider Limits ડેટા માટે સર્વર-સાઇડ રિફ્રેશ અંતરાલ; UI રિફ્રેશ બટનો હજુ પણ મેન્યુઅલ સિંક શરૂ કરે છે |
| `DISABLE_SQLITE_AUTO_BACKUP` | `false` | રાઇટ/ઇમ્પોર્ટ/રિસ્ટોર પહેલાંના ઑટોમેટિક SQLite સ્નૅપશૉટ્સ અક્ષમ કરો; મેન્યુઅલ બૅકઅપ હજી પણ કાર્ય કરે છે |
| `APP_LOG_TO_FILE` | `true` | ડિસ્ક પર ઍપ્લિકેશન અને ઑડિટ લૉગ આઉટપુટ સક્ષમ કરે છે |
| `AUTH_COOKIE_SECURE` | `false` | `Secure` ઑથ કૂકી ફરજિયાત બનાવો (HTTPS રિવર્સ પ્રૉક્સીની પાછળ) |
| `CLOUDFLARED_BIN` | સેટ કરેલું નથી | મેનેજ્ડ ડાઉનલોડને બદલે હાલની `cloudflared` બાઇનરીનો ઉપયોગ કરો |
| `CLOUDFLARED_PROTOCOL` | `http2` | મેનેજ્ડ Quick Tunnels માટેનું ટ્રાન્સપોર્ટ (`http2`, `quic`, અથવા `auto`) |
| `OMNIROUTE_MEMORY_MB` | `512` | MBમાં Node.js હીપ મર્યાદા |
| `PROMPT_CACHE_MAX_SIZE` | `50` | પ્રૉમ્પ્ટ કૅશ એન્ટ્રીઓની મહત્તમ સંખ્યા |
| `SEMANTIC_CACHE_MAX_SIZE` | `100` | સિમેન્ટિક કૅશ એન્ટ્રીઓની મહત્તમ સંખ્યા |
એન્વાયરમેન્ટ વેરિએબલ્સના સંપૂર્ણ સંદર્ભ માટે, [README](../README.md) જુઓ.
---
## 📊 ઉપલબ્ધ મોડેલો
બધા ઉપલબ્ધ મોડેલો જુઓ
> નીચેની સૂચિ v3.8.0 માટે `open-sse/config/providerRegistry.ts`માંથી કાળજીપૂર્વક પસંદ કરવામાં આવી છે. ક્લાઉડ કૅટલૉગ્સ (Gemini, OpenRouter વગેરે) ગતિશીલ રીતે સિંક થાય છે — સંપૂર્ણ લાઇવ કૅટલૉગ માટે **Dashboard → Providers → [provider] → Available Models** ખોલો અથવા `GET /api/models/catalog` કૉલ કરો.
>
> જો પ્રોવાઇડરની બિલ્ટ-ઇન સૂચિ જૂની થઈ ગઈ હોય, તો લાઇવ અપસ્ટ્રીમ કૅટલૉગ મેળવવા તે પેજ પર **Import from /models**નો ઉપયોગ કરો (અથવા **Auto-Sync** સક્ષમ કરો). LLM7.io (`gemini-3.1-flash-lite`) અને UncloseAI (`solidrust/Hermes-3-Llama-3.1-8B-AWQ`) માટે v3.8.50માં આની ચકાસણી કરવામાં આવી હતી; એ જ પરીક્ષણ દરમિયાન Pollinationsની અનામી ઍક્સેસ અપસ્ટ્રીમ દ્વારા મર્યાદિત રહી હતી.
**Claude Code (`cc/`)** — Pro/Max OAuth: `cc/claude-opus-4-8`, `cc/claude-opus-4-7`, `cc/claude-opus-4-6`, `cc/claude-opus-4-5-20251101`, `cc/claude-sonnet-4-6`, `cc/claude-sonnet-4-5-20250929`, `cc/claude-haiku-4-5-20251001`
**Codex (`cx/`)** — Plus/Pro OAuth: `cx/gpt-5.5` (+ પ્રયત્નનાં સ્તરો: `gpt-5.5-xhigh`, `gpt-5.5-high`, `gpt-5.5-medium`, `gpt-5.5-low`), `cx/gpt-5.4`, `cx/gpt-5.4-mini`, `cx/gpt-5.3-codex`, `cx/gpt-5.3-codex-spark`
**GitHub Copilot (`gh/`)** — OAuth: `gh/gpt-5.5`, `gh/gpt-5.4`, `gh/gpt-5.4-mini`, `gh/gpt-5-mini`, `gh/gpt-5.3-codex`, `gh/claude-opus-4.7`, `gh/claude-opus-4.6`, `gh/claude-opus-4-5-20251101`, `gh/claude-sonnet-4.6`, `gh/claude-sonnet-4.5`, `gh/claude-haiku-4.5`, `gh/gemini-3.1-pro-preview`, `gh/gemini-3-flash-preview`, `gh/oswe-vscode-prime`
**Kiro (`kr/`)** — મફત OAuth: **Dashboard → Providers → Kiro → Available Models** હેઠળ દર્શાવેલો લાઇવ કૅટલૉગ વાપરો. ઉપલબ્ધતા એકાઉન્ટ અને પ્લાન પર નિર્ભર છે.
**Qoder (`if/`)** — મફત OAuth: `if/qwen3.8-max-preview`, `if/qwen3.7-max`, `if/qwen3.7-plus`, `if/kimi-k3`, `if/kimi-k2.7-code`, `if/glm-5.2`, `if/deepseek-v4-pro`, `if/deepseek-v4-flash`, `if/minimax-m3`
**GLM (`glm/`, `glm-cn/`, `zai/`, `glmt/`)** — $0.2–0.6/1M: `glm/glm-5.1`, `glm/glm-5`, `glm/glm-5-turbo`, `glm/glm-4.7`, `glm/glm-4.7-flash`, `glm/glm-4.6`, `glm/glm-4.6v`, `glm/glm-4.5`, `glm/glm-4.5v`, `glm/glm-4.5-air`
**MiniMax (`minimax/`, `minimax-cn/`)** — $0.2/1M: `minimax/MiniMax-M2.7`, `minimax/MiniMax-M2.7-highspeed`, `minimax/MiniMax-M2.5`, `minimax/MiniMax-M2.5-highspeed`
**Kimi (`kimi/`, `kimi-coding/`, `kimi-coding-apikey/`)** — પ્રતિ મહિનો $9નો નિશ્ચિત દર અથવા ઉપયોગ દીઠ: `kimi/kimi-k2.6`, `kimi/kimi-k2.5`
**DeepSeek (`ds/`)** — API કી: `ds/deepseek-v4-pro`, `ds/deepseek-v4-flash`
**Groq (`groq/`)** — અતિ ઝડપી: `groq/llama-3.3-70b-versatile`, `groq/meta-llama/llama-4-maverick-17b-128e-instruct`, `groq/qwen/qwen3-32b`, `groq/openai/gpt-oss-120b`
**xAI (`xai/`)** — મૂળ Grok: `xai/grok-4.3`, `xai/grok-4.20-multi-agent-0309`, `xai/grok-4.20-0309-reasoning`, `xai/grok-4.20-0309-non-reasoning`
**Mistral (`mistral/`)** — EUમાં હોસ્ટ કરેલું: `mistral/mistral-large-latest`, `mistral/mistral-medium-3-5`, `mistral/mistral-small-latest`, `mistral/devstral-latest`, `mistral/codestral-latest`
**Perplexity (`pplx/`)** — શોધથી સંવર્ધિત: `pplx/sonar-deep-research`, `pplx/sonar-reasoning-pro`, `pplx/sonar-pro`, `pplx/sonar`
**Together AI (`together/`)** — ઓપન-સોર્સ: `together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free` (મફત), `together/meta-llama/Llama-Vision-Free`, `together/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free`, `together/deepseek-ai/DeepSeek-R1`, `together/Qwen/Qwen3-235B-A22B`, `together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8`
**Fireworks AI (`fireworks/`)** — ઝડપી ઇન્ફરન્સ: `fireworks/accounts/fireworks/models/kimi-k2p6`, `fireworks/accounts/fireworks/models/minimax-m2p7`, `fireworks/accounts/fireworks/models/qwen3p6-plus`, `fireworks/accounts/fireworks/models/glm-5p1`, `fireworks/accounts/fireworks/models/deepseek-v4-pro`
**Cerebras (`cerebras/`)** — વેફર-સ્કેલ: `cerebras/zai-glm-4.7`, `cerebras/gpt-oss-120b`
**Cohere (`cohere/`)** — RAG-કેન્દ્રિત: `cohere/command-a-reasoning-08-2025`, `cohere/command-a-vision-07-2025`, `cohere/command-a-03-2025`, `cohere/command-r-08-2024`
**NVIDIA NIM (`nvidia/`)** — એન્ટરપ્રાઇઝ: `nvidia/z-ai/glm-5.1`, `nvidia/minimaxai/minimax-m2.7`, `nvidia/google/gemma-4-31b-it`, `nvidia/mistralai/mistral-small-4-119b-2603`, `nvidia/mistralai/mistral-large-3-675b-instruct-2512`, `nvidia/qwen/qwen3.5-397b-a17b`, `nvidia/deepseek-ai/deepseek-v4-pro`, `nvidia/openai/gpt-oss-120b`, `nvidia/nvidia/nemotron-3-super-120b-a12b`
**Baidu Qianfan (`qianfan/`)** — ERNIE: `qianfan/ernie-5.1`, `qianfan/ernie-5.0-thinking-latest`, `qianfan/ernie-x1.1`
**Ollama Cloud (`ollama-cloud/`)**: `ollama-cloud/deepseek-v4-pro`, `ollama-cloud/deepseek-v4-flash`, `ollama-cloud/kimi-k2.6`, `ollama-cloud/glm-5.1`, `ollama-cloud/minimax-m2.7`, `ollama-cloud/gemma4:31b`, `ollama-cloud/qwen3.5:397b`
**Gemini (Google Cloud `gemini/`)**: Googleમાંથી API કી દીઠ લાઇવ સિંક થાય છે — કોઈ સ્થિર સૂચિ નથી. **Dashboard → Providers**માં કી કનેક્ટ કરો, પછી વર્તમાન કૅટલૉગ આયાત કરવા **Available Models**નો ઉપયોગ કરો (દા.ત. `gemini/gemini-3-pro`, `gemini/gemini-3-flash`).
**અન્ય સુસંગત પ્રોવાઇડરો** (પસંદ કરેલા): `cohere`, `databricks`, `snowflake`, `together`, `vertex`, `alibaba`, `alibaba-cn`, `bedrock` (`aws-bedrock` મારફતે), `azure-ai`, `openrouter` (પાસથ્રૂ કૅટલૉગ), `siliconflow`, `hyperbolic`, `huggingface`, `featherless-ai`, `cloudflare-ai`, `scaleway`, `deepinfra`, `vercel-ai-gateway`, `bazaarlink`, `friendliai`, `nous-research`, `reka`, `volcengine`, `ai21`, `gigachat`. દરેક `providerRegistry.ts`માં પોતાની મોડેલ સૂચિ જાળવે છે અને જ્યારે પ્રોવાઇડર `/models` એન્ડપોઇન્ટ ઉપલબ્ધ કરાવે ત્યારે તેને આપમેળે સિંક કરી શકાય છે.
**મોડેલ IDs અંગે નોંધ:** OmniRoute પ્રોવાઇડર-મૂળ IDs (`claude-opus-4-8`, `gpt-5.5`, `glm-5.1`, `MiniMax-M2.7`, `kimi-k2.5`, `grok-4.20-0309-reasoning`) વાપરે છે. કેટલાક IDsમાં ડોટવાળા વર્ઝન સામેલ છે, કારણ કે અપસ્ટ્રીમ API તેમને એ જ સ્વરૂપમાં અપેક્ષે છે. જો કોઈ મોડેલ ઉપર સૂચિબદ્ધ ન હોય, તો તેની ઉપલબ્ધતાની પુષ્ટિ કરવા `omniroute models --search ` ચલાવો અથવા `GET /api/models/catalog`નો ઉપયોગ કરો.
---
## 🧩 અદ્યતન સુવિધાઓ
### કસ્ટમ મોડલ્સ
ઍપ અપડેટની રાહ જોયા વિના કોઈપણ પ્રદાતામાં કોઈપણ મોડલ ID ઉમેરો:
```bash
# API દ્વારા
curl -X POST http://localhost:20128/api/provider-models \
-H "Content-Type: application/json" \
-d '{"provider": "openai", "modelId": "gpt-5.2", "modelName": "GPT-5.2"}'
# સૂચિ: curl http://localhost:20128/api/provider-models?provider=openai
# દૂર કરો: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-5.2"
```
અથવા ડૅશબોર્ડનો ઉપયોગ કરો: **પ્રદાતાઓ → [પ્રદાતા] → કસ્ટમ મોડલ્સ**.
નોંધ:
- OpenRouter અને OpenAI/Anthropic-સુસંગત પ્રદાતાઓનું સંચાલન ફક્ત **ઉપલબ્ધ મોડલ્સ**માંથી થાય છે. મેન્યુઅલ ઉમેરણ, ઇમ્પોર્ટ અને ઑટો-સિંક—બધું એક જ ઉપલબ્ધ-મોડલ સૂચિમાં જાય છે, તેથી એ પ્રદાતાઓ માટે અલગ કસ્ટમ મોડલ્સ વિભાગ નથી.
- **કસ્ટમ મોડલ્સ** વિભાગ એવા પ્રદાતાઓ માટે છે, જે સંચાલિત ઉપલબ્ધ-મોડલ ઇમ્પોર્ટ ઉપલબ્ધ કરાવતા નથી.
### કસ્ટમ OpenAI-સુસંગત પ્રદાતાઓ
OpenAI API સાથે સંચાર કરતું કોઈપણ ગેટવે (સ્વ-હોસ્ટેડ પ્રૉક્સી, vLLM, તૃતીય-પક્ષ ઍગ્રીગેટર)
તેના પોતાના પ્રદાતા નોડ તરીકે ઉમેરી શકાય છે:
1. **પ્રદાતાઓ → OpenAI-સુસંગત ઉમેરો**.
2. **નામ**: નોડ માટે પ્રદર્શિત થતું લેબલ.
3. **પ્રીફિક્સ**: રાઉટિંગ નામ. ક્લાયન્ટ્સ મોડલ્સને `/` તરીકે કૉલ કરે છે, તેથી
`mygw` પ્રીફિક્સ ધરાવતો નોડ `mygw/gpt-4o-mini` પ્રદાન કરે છે. આવશ્યક; અક્ષરો પર કોઈ પ્રતિબંધ નથી.
4. **API પ્રકાર**: ગેટવે દ્વારા પ્રદાન કરાતું એન્ડપોઇન્ટ ફૅમિલી (ચેટ કમ્પ્લીશન્સ, રિસ્પોન્સિસ,
એમ્બેડિંગ્સ, ઑડિયો, ઇમેજિસ).
5. **બેઝ URL**: `/v1` સુધીનો અને તેને સમાવતો API રૂટ (ઉદાહરણ તરીકે
`https://gateway.example.com/v1`), સંપૂર્ણ `/chat/completions` પાથ નહીં. બિન-પ્રમાણભૂત
પાથ ધરાવતા ગેટવે તેમને **અદ્યતન સેટિંગ્સ** હેઠળ સેટ કરે છે (ચેટ પાથ, મોડલ્સ પાથ).
6. **API કી (ચકાસણી માટે)** ફીલ્ડ ફક્ત કનેક્શનનું પરીક્ષણ કરે છે. નોડ બનાવ્યા પછી,
તેને ખોલો અને વિનંતીઓ દ્વારા ઉપયોગમાં લેવાતી કી સંગ્રહવા માટે **કનેક્શન ઉમેરો**નો ઉપયોગ કરો.
નોડને `openai-compatible--` સ્વરૂપનું આંતરિક id મળે છે; તમારે તેને ક્યારેય
ટાઇપ કરવાની જરૂર નથી, પ્રીફિક્સ જ સાર્વજનિક નામ છે.
#### આરક્ષિત પ્રીફિક્સ
પ્રીફિક્સ બિલ્ટ-ઇન પ્રદાતાનું id અથવા ઉપનામ (ઉદાહરણ તરીકે `openai`, `cf`) કે
નિવૃત્ત પ્રદાતાનું id હોઈ શકતું નથી. મોડલ રિઝોલ્વર કસ્ટમ નોડ્સ પહેલાં બિલ્ટ-ઇન ids અને
ઉપનામો તપાસે છે, તેથી આવા પ્રીફિક્સનો ઉપયોગ કરતો નોડ ક્યારેય ટ્રાફિક પ્રાપ્ત નહીં કરે:
`/model` તેના બદલે બિલ્ટ-ઇન પ્રદાતા પાસે જશે, અથવા જો એ પ્રદાતા નિવૃત્ત થઈ ગયો
હોય તો નિષ્ફળતા સાથે બંધ થશે. આવા પ્રીફિક્સ સાથે નોડ બનાવવાનો કે સંપાદિત કરવાનો પ્રયાસ
આ સંદેશ સાથે નકારવામાં આવે છે:
```text
prefix: "" એક આરક્ષિત પ્રદાતા પ્રીફિક્સ છે — અલગ પ્રીફિક્સ પસંદ કરો (આરક્ષિત ids/aliasesનો કસ્ટમ નોડ્સ માટે ઉપયોગ કરી શકાતો નથી, કારણ કે /model જેવી વિનંતીઓ બિલ્ટ-ઇન પ્રદાતા તરફ રાઉટ થાય છે અથવા પ્રદાતા નિવૃત્ત હોય ત્યારે નિષ્ફળતા સાથે બંધ થાય છે)
```
અલગ પ્રીફિક્સ (`mygw`, `acme-proxy`) પસંદ કરો. જો કસ્ટમ નોડ માટેની વિનંતીઓ એવા
એરર સાથે નિષ્ફળ જાય જેમાં બિલ્ટ-ઇન પ્રદાતા અથવા તેના ક્રેડેન્શિયલ્સનું નામ હોય, તો તપાસો
કે નોડનો પ્રીફિક્સ આરક્ષિત છે કે નહીં: આ નિયમ અસ્તિત્વમાં આવ્યો તે પહેલાં સાચવેલા નોડ્સ
હજુ પણ સંગ્રહિત છે, પરંતુ તેમનો પ્રીફિક્સ બિલ્ટ-ઇન પ્રદાતા તરફ રાઉટ થાય છે. નોડને સંપાદિત
કરીને તેને નવો પ્રીફિક્સ આપો.
### OmniRoute પીઅર્સની ચેઇન બનાવવી
અન્ય OmniRoute ગેટવેને **કસ્ટમ OpenAI-સુસંગત** પ્રદાતા તરીકે ઉમેરી શકાય છે. પીઅરનો
`/v1` બેઝ URL અને તે પીઅર દ્વારા જારી કરાયેલી સમર્પિત, ન્યૂનતમ-વિશેષાધિકારવાળી API કીનો ઉપયોગ કરો.
પારસ્પરિક અથવા મલ્ટિ-હૉપ ચેઇન્સ માટે, દરેક ગેટવે પર ઑપ્ટ-ઇન લૂપ ગાર્ડ સક્ષમ કરો:
```bash
# gateway-a
OMNIROUTE_INSTANCE_ID=gateway-a
OMNIROUTE_PEER_URLS=http://gateway-b:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
```
```bash
# gateway-b
OMNIROUTE_INSTANCE_ID=gateway-b
OMNIROUTE_PEER_URLS=http://gateway-a:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
```
ફક્ત સ્પષ્ટપણે અનુમતિસૂચિમાં ઉમેરાયેલા પીઅર URL પર મોકલાયેલી વિનંતીઓને
`X-OmniRoute-Peer-Trace` હેડર મળે છે. ગેટવે પુનરાવર્તિત ઇન્સ્ટન્સ ID અથવા સમાપ્ત થયેલા
હૉપ બજેટને HTTP `508 Loop Detected` સાથે નકારે છે; સામાન્ય અપસ્ટ્રીમ પ્રદાતાઓને કોઈ
પીઅર મેટાડેટા મળતો નથી.
પીઅર ચેઇનિંગ એ ડેટાબેઝ રેપ્લિકેશન અથવા હોસ્ટ ફેલઓવર નથી. દરેક ગેટવે સ્વતંત્ર
SQLite સ્ટેટ, કૅશ, રેટ કાઉન્ટર્સ અને સેશન્સ જાળવે છે. ઍક્ટિવ/પૅસિવ અથવા ઍક્ટિવ/ઍક્ટિવ
ઉપલબ્ધતા માટે હેલ્થ-ચેકવાળા રિવર્સ પ્રૉક્સી અથવા ક્લાયન્ટ ફેલઓવરનો ઉપયોગ કરો અને એક
SQLite ડેટાબેઝને એકથી વધુ ચાલી રહેલા OmniRoute ઇન્સ્ટન્સમાં ક્યારેય માઉન્ટ કરશો નહીં.
### સમર્પિત પ્રદાતા રૂટ્સ
મોડલ વેલિડેશન સાથે વિનંતીઓને સીધી ચોક્કસ પ્રદાતા તરફ રાઉટ કરો:
```bash
POST http://localhost:20128/v1/providers/openai/chat/completions
POST http://localhost:20128/v1/providers/openai/embeddings
POST http://localhost:20128/v1/providers/fireworks/images/generations
```
પ્રદાતા પ્રીફિક્સ ગેરહાજર હોય તો તે આપમેળે ઉમેરાય છે. મેળ ન ખાતા મોડલ્સ `400` પરત કરે છે.
### નેટવર્ક પ્રૉક્સી ગોઠવણી
```bash
# વૈશ્વિક પ્રૉક્સી સેટ કરો
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'
# પ્રત્યેક પ્રદાતા માટે પ્રૉક્સી
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'
# પ્રૉક્સીનું પરીક્ષણ કરો
curl -X POST http://localhost:20128/api/settings/proxy/test \
-d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'
```
**અગ્રતા:** કી-વિશિષ્ટ → કૉમ્બો-વિશિષ્ટ → પ્રદાતા-વિશિષ્ટ → વૈશ્વિક → પર્યાવરણ.
### મોડલ કૅટલૉગ API
```bash
curl http://localhost:20128/api/models/catalog
```
પ્રકારો (`chat`, `embedding`, `image`) સાથે પ્રદાતા પ્રમાણે જૂથબદ્ધ મોડલ્સ પરત કરે છે.
### ક્લાઉડ સિંક
- વિવિધ ડિવાઇસ વચ્ચે પ્રદાતાઓ, કૉમ્બોઝ અને સેટિંગ્સ સિંક કરો
- ટાઇમઆઉટ + ફેલ-ફાસ્ટ સાથે સ્વચાલિત બૅકગ્રાઉન્ડ સિંક
- પ્રોડક્શનમાં સર્વર-સાઇડ `NEXT_PUBLIC_BASE_URL`/`NEXT_PUBLIC_CLOUD_URL`ને પ્રાધાન્ય આપો
### Cloudflare ક્વિક ટનલ
- Docker અને અન્ય સ્વ-હોસ્ટેડ ડિપ્લોયમેન્ટ માટે **Dashboard → Endpoints**માં ઉપલબ્ધ
- એક અસ્થાયી `https://*.trycloudflare.com` URL બનાવે છે, જે તમારા વર્તમાન OpenAI-સુસંગત `/v1` એન્ડપોઇન્ટ પર ફોરવર્ડ કરે છે
- પ્રથમ વખત સક્ષમ કરતાં ફક્ત જરૂર હોય ત્યારે જ `cloudflared` ઇન્સ્ટૉલ થાય છે; ત્યાર પછીના રીસ્ટાર્ટ એ જ મેનેજ કરેલી બાઇનરીનો ફરીથી ઉપયોગ કરે છે
- OmniRoute અથવા કન્ટેનર રીસ્ટાર્ટ થયા પછી Quick Tunnels આપમેળે પુનઃસ્થાપિત થતા નથી; જરૂર હોય ત્યારે તેમને ડૅશબોર્ડમાંથી ફરી સક્ષમ કરો
- Tunnel URLs અસ્થાયી હોય છે અને જ્યારે પણ તમે ટનલ બંધ/ચાલુ કરો ત્યારે બદલાય છે
- મર્યાદિત કન્ટેનરમાં વધુ પડતી QUIC UDP બફર ચેતવણીઓ ટાળવા માટે મેનેજ કરેલા Quick Tunnels ડિફૉલ્ટ રૂપે HTTP/2 ટ્રાન્સપોર્ટનો ઉપયોગ કરે છે
- જો તમે મેનેજ કરેલી ટ્રાન્સપોર્ટ પસંદગીને ઓવરરાઇડ કરવા માંગતા હો, તો `CLOUDFLARED_PROTOCOL=quic` અથવા `auto` સેટ કરો
- જો તમે મેનેજ કરેલા ડાઉનલોડને બદલે પહેલેથી ઇન્સ્ટૉલ કરેલી `cloudflared` બાઇનરીનો ઉપયોગ કરવા માંગતા હો, તો `CLOUDFLARED_BIN` સેટ કરો
- Cloudflare Quick Tunnel, Tailscale Funnel અને ngrok Tunnel પેનલને **Settings → Appearance**માં બતાવી અથવા છુપાવી શકાય છે. પેનલને છુપાવવાથી ચાલી રહેલી ટનલ બંધ થતી નથી.
### LLM Gateway ઇન્ટેલિજન્સ (તબક્કો 9)
- **સિમેન્ટિક કૅશ** — નોન-સ્ટ્રીમિંગ, temperature=0 પ્રતિસાદોને આપમેળે કૅશ કરે છે (`X-OmniRoute-No-Cache: true` વડે બાયપાસ કરો)
- **રિક્વેસ્ટ આઇડેમ્પોટન્સી** — `Idempotency-Key` અથવા `X-Request-Id` હેડર દ્વારા 5sની અંદરની રિક્વેસ્ટને ડીડુપ્લિકેટ કરે છે
- **પ્રગતિ ટ્રૅકિંગ** — `X-OmniRoute-Progress: true` હેડર દ્વારા વૈકલ્પિક SSE `event: progress` ઇવેન્ટ્સ
---
### Translator Playground
**Dashboard → Translator** દ્વારા ઍક્સેસ કરો. OmniRoute પ્રોવાઇડર્સ વચ્ચે API રિક્વેસ્ટનું કેવી રીતે ભાષાંતર કરે છે તેને ડિબગ કરો અને દૃશ્યરૂપે જુઓ.
| મોડ | હેતુ |
| ---------------- | ------------------------------------------------------------------------------------------ |
| **Playground** | સ્રોત/લક્ષ્ય ફૉર્મેટ પસંદ કરો, રિક્વેસ્ટ પેસ્ટ કરો અને ભાષાંતરિત આઉટપુટ તરત જુઓ |
| **Chat Tester** | પ્રૉક્સી દ્વારા લાઇવ ચૅટ સંદેશા મોકલો અને સંપૂર્ણ રિક્વેસ્ટ/રિસ્પોન્સ ચક્રનું નિરીક્ષણ કરો |
| **Test Bench** | ભાષાંતરની ચોકસાઈ ચકાસવા માટે અનેક ફૉર્મેટ સંયોજનોમાં બૅચ ટેસ્ટ ચલાવો |
| **Live Monitor** | રિક્વેસ્ટ પ્રૉક્સીમાંથી પસાર થાય ત્યારે રીઅલ-ટાઇમ ભાષાંતરો જુઓ |
**ઉપયોગના કિસ્સાઓ:**
- કોઈ ચોક્કસ ક્લાયન્ટ/પ્રોવાઇડર સંયોજન શા માટે નિષ્ફળ જાય છે તે ડિબગ કરો
- thinking tags, tool calls અને system promptsનું ભાષાંતર યોગ્ય રીતે થાય છે કે નહીં તે ચકાસો
- OpenAI, Claude, Gemini અને Responses API ફૉર્મેટ વચ્ચેના તફાવતોની સરખામણી કરો
---
### રાઉટિંગ વ્યૂહરચનાઓ
**Dashboard → Settings → Routing** દ્વારા કૉન્ફિગર કરો. ડૅશબોર્ડ સૌથી વધુ ઉપયોગમાં લેવાતી છ વ્યૂહરચનાઓ દર્શાવે છે; combos અને auto-router આંતરિક રીતે વધુ વ્યાપક સમૂહને સપોર્ટ કરે છે.
**ડૅશબોર્ડમાં દેખાતી વ્યૂહરચનાઓ (એકાઉન્ટ-સ્તરનું રાઉટિંગ):**
| વ્યૂહરચના | વર્ણન |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Fill First** | પ્રાથમિકતાના ક્રમમાં એકાઉન્ટનો ઉપયોગ કરે છે — પ્રાથમિક એકાઉન્ટ અનુપલબ્ધ થાય ત્યાં સુધી બધી રિક્વેસ્ટ સંભાળે છે |
| **Round Robin** | કૉન્ફિગર કરી શકાય તેવી સ્ટિકી મર્યાદા સાથે તમામ એકાઉન્ટમાં ક્રમશઃ ફરે છે (ડિફૉલ્ટ: દરેક એકાઉન્ટ દીઠ 3 કૉલ) |
| **P2C (Power of Two Choices)** | 2 રૅન્ડમ એકાઉન્ટ પસંદ કરે છે અને વધુ સ્વસ્થ એકાઉન્ટ તરફ રાઉટ કરે છે — સ્વાસ્થ્યને ધ્યાનમાં રાખીને લોડ સંતુલિત કરે છે |
| **Random** | Fisher-Yates shuffleનો ઉપયોગ કરીને દરેક રિક્વેસ્ટ માટે રૅન્ડમ રીતે એકાઉન્ટ પસંદ કરે છે |
| **Least Used** | સૌથી જૂના `lastUsedAt` ટાઇમસ્ટૅમ્પવાળા એકાઉન્ટ તરફ રાઉટ કરીને ટ્રાફિક સમાન રીતે વિતરિત કરે છે |
| **Cost Optimized** | સૌથી નીચા પ્રાથમિકતા મૂલ્યવાળા એકાઉન્ટ તરફ રાઉટ કરે છે અને સૌથી ઓછી કિંમતવાળા પ્રોવાઇડર્સ માટે ઑપ્ટિમાઇઝ કરે છે |
**અદ્યતન combo અને auto વ્યૂહરચનાઓ** (દરેક combo માટે અથવા `auto/*` પ્રિફિક્સ દ્વારા કૉન્ફિગર કરી શકાય છે — [AUTO-COMBO.md](../routing/AUTO-COMBO.md) જુઓ):
- `priority` — કડક ક્રમ, ક્યારેય round-robin કરતું નથી
- `weighted` — દરેક મૉડલના વજન અનુસાર પ્રમાણસર ટ્રાફિક વિભાજન
- `fill-first` — મર્યાદા સુધી પહોંચે ત્યાં સુધી પ્રથમ મૉડલનો સંપૂર્ણ ઉપયોગ કરે છે
- `round-robin` / `strict-random` / `random`
- `p2c` (Power of Two Choices)
- `least-used` અને `cost-optimized`
- `auto` — તમામ ઉમેદવારોમાં સ્કોર-આધારિત પસંદગી
- `lkgp` (Last Known Good Provider) — છેલ્લે સફળ થયેલા પ્રોવાઇડર પર પિન કરે છે અને ત્યારબાદ નિયમોનો ફૉલબૅક તરીકે ઉપયોગ કરે છે
- `context-optimized` — સૌથી મોટી ખાલી કૉન્ટેક્સ્ટ વિન્ડો ધરાવતું મૉડલ પસંદ કરે છે
- `context-relay` — અનુગામી ટર્ન માટે લાંબા-કૉન્ટેક્સ્ટ મૉડલને સાંકળે છે
#### બાહ્ય સ્ટિકી સેશન હેડર
બાહ્ય સેશન એફિનિટી માટે (ઉદાહરણ તરીકે, રિવર્સ પ્રૉક્સીની પાછળ રહેલા Claude Code/Codex એજન્ટ), આ મોકલો:
```http
X-Session-Id: your-session-key
```
OmniRoute `x_session_id` પણ સ્વીકારે છે અને અસરકારક સેશન કી `X-OmniRoute-Session-Id`માં પરત કરે છે.
જો તમે Nginxનો ઉપયોગ કરો છો અને અન્ડરસ્કોર-ફૉર્મ હેડર મોકલો છો, તો આ સક્ષમ કરો:
```nginx
underscores_in_headers on;
```
#### વાઇલ્ડકાર્ડ મૉડલ એલિયાસ
મૉડલનાં નામને ફરીથી મૅપ કરવા માટે વાઇલ્ડકાર્ડ પૅટર્ન બનાવો:
```
પૅટર્ન: claude-sonnet-* → લક્ષ્ય: cc/claude-sonnet-4-6
પૅટર્ન: gpt-* → લક્ષ્ય: gh/gpt-5.3-codex
```
વાઇલ્ડકાર્ડ `*` (કોઈપણ અક્ષરો) અને `?` (એક અક્ષર)ને સપોર્ટ કરે છે.
#### ફૉલબૅક ચેઇન
તમામ રિક્વેસ્ટ પર લાગુ થતી ગ્લોબલ ફૉલબૅક ચેઇન વ્યાખ્યાયિત કરો:
```
ચેઇન: production-fallback
1. cc/claude-opus-4-7
2. gh/gpt-5.3-codex
3. glm/glm-4.7
```
---
### સામાન્ય પ્રોવાઇડર સંયોજનો અને રાઉટિંગ પૅટર્ન
OmniRouteમાં બહુવિધ પ્રોવાઇડર્સને સંયોજિત કરવા અને તેમની વચ્ચે રાઉટિંગ કરવા માટેનાં ઉદાહરણ પૅટર્ન અહીં આપ્યાં છે:
#### 1. કોડિંગ એજન્ટ Combo: કિંમત/ઝડપ ફૉલબૅક સાથે ઉચ્ચ-સ્તરીય રિઝનિંગ
કોડિંગ એજન્ટ (OpenCode, Claude Code, Cursor, Cline) માટે આદર્શ. શરૂઆતમાં ફ્રન્ટિયર રિઝનિંગ મૉડલ તરફ રાઉટ કરે છે અને ક્વોટા સમાપ્ત થવા પર અથવા ભૂલ આવે ત્યારે ઝડપી કોડિંગ મૉડલનો ફૉલબૅક તરીકે ઉપયોગ કરે છે.
- **Dashboard**: Combos → New Combo → Name: `agent-coding` → Strategy: `Priority`
- **મૉડલ્સ**:
1. `claude/claude-sonnet-4-6` (પ્રાથમિક કોડિંગ એજન્ટ)
2. `openai/gpt-4o` (દ્વિતીય ઉચ્ચ-ક્ષમતા ફૉલબૅક)
3. `deepseek/deepseek-v4-flash` (ઉચ્ચ-કાર્યક્ષમ, ખર્ચ-અસરકારક ફૉલબૅક)
```bash
# API મારફતે ઉદાહરણ
curl -X POST http://localhost:20128/api/combos \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "agent-coding",
"strategy": "priority",
"models": [
{ "model": "claude/claude-sonnet-4-6" },
{ "model": "openai/gpt-4o" },
{ "model": "deepseek/deepseek-v4-flash" }
]
}'
```
#### 2. ફ્રી-ટિયર ઑટો ફેઇલઓવર કોમ્બો
API ખર્ચ વિના અપટાઇમને મહત્તમ કરવા માટે અનેક ફ્રી-ટિયર અને કી વિનાના પ્રદાતાઓને સાંકળે છે.
- **વ્યૂહરચના**: `Least Used` અથવા `Round Robin` (ક્વોટામાં લોડનું વિતરણ કરે છે)
- **મોડલ્સ**:
1. `groq/llama-3.3-70b-versatile`
2. `gemini/gemini-2.5-flash`
3. `cerebras/gpt-oss-120b`
```bash
# CLI મારફતે ઉદાહરણ
omniroute combo create free-stack \
--models "groq/llama-3.3-70b-versatile,gemini/gemini-2.5-flash,cerebras/gpt-oss-120b" \
--strategy round-robin
```
#### 3. મલ્ટિમોડલ / વિઝન અને ટેક્સ્ટ પાઇપલાઇન
ઇમેજ સમજ અને કોડ જનરેશન સામેલ હોય તેવા વર્કફ્લો માટે વિશિષ્ટ વિઝન મોડલ્સને હાઇ-સ્પીડ ટેક્સ્ટ જનરેશન સાથે જોડે છે.
- **પેટર્ન**: એક `Priority` કોમ્બો, જે વિઝન-સક્ષમ મોડલ્સને પહેલાં અને હાઇ-થ્રુપુટ ટેક્સ્ટ/કોડ મોડલને છેલ્લે સૂચિબદ્ધ કરે છે.
- **મોડલ્સ**:
1. `gemini/gemini-2.5-pro` (ઇમેજ/મલ્ટિમોડલ સમજની મજબૂત ક્ષમતા)
2. `openai/gpt-4o` (વિઝન અને ટૂલના ઉપયોગનું સંતુલન)
3. `deepseek/deepseek-v4-flash` (ટેક્સ્ટ/કોડ જનરેશન)
---
### સ્થિતિસ્થાપકતા અને સર્કિટ બ્રેકર્સ
**ડૅશબોર્ડ → સેટિંગ્સ → સ્થિતિસ્થાપકતા** દ્વારા કૉન્ફિગર કરો.
OmniRoute પાંચ ઘટકો સાથે પ્રદાતા-સ્તરની સ્થિતિસ્થાપકતા અમલમાં મૂકે છે:
1. **વિનંતી કતાર અને પેસિંગ** — સિસ્ટમ-સ્તરનું વિનંતી આકારણ:
- **પ્રતિ મિનિટ વિનંતીઓ (RPM)** — ખાતા દીઠ પ્રતિ મિનિટ મહત્તમ વિનંતીઓ
- **વિનંતીઓ વચ્ચેનો ન્યૂનતમ સમય** — વિનંતીઓ વચ્ચે મિલિસેકન્ડમાં ન્યૂનતમ અંતર
- **મહત્તમ સમકાલીન વિનંતીઓ** — ખાતા દીઠ મહત્તમ એકસાથે થતી વિનંતીઓ
2. **કનેક્શન કૂલડાઉન** — ફરી પ્રયાસ કરી શકાય તેવી નિષ્ફળતાઓ પછી એક કનેક્શન માટે પ્રતિ-પ્રમાણીકરણ-પ્રકાર કૉન્ફિગરેશન:
- **મૂળ કૂલડાઉન** — ફરી પ્રયાસ કરી શકાય તેવી અપસ્ટ્રીમ નિષ્ફળતાઓ માટે ડિફૉલ્ટ કૂલડાઉન અવધિ
- **અપસ્ટ્રીમ રીટ્રાય સંકેતોનો ઉપયોગ કરો** — ઉપલબ્ધ કરાવવામાં આવે ત્યારે અધિકૃત `Retry-After` અથવા રીસેટ સંકેતોનું પાલન કરે છે
- **મહત્તમ બૅકઑફ પગલાં** — વારંવારની નિષ્ફળતાઓ માટે મહત્તમ એક્સપોનેન્શિયલ બૅકઑફ સ્તર
3. **પ્રદાતા સર્કિટ બ્રેકર** — પ્રદાતાની એન્ડ-ટુ-એન્ડ નિષ્ફળતાઓને ટ્રૅક કરે છે, કૉન્ફિગર કરેલી ચેતવણી સીમા પર પ્રદાતાને નબળો ચિહ્નિત કરે છે અને કૉન્ફિગર કરેલી નિષ્ફળતા સીમા પહોંચી જાય ત્યારે બ્રેકર ખોલે છે:
- **અધોગતિ સીમા** — `DEGRADED` સ્થિતિમાં પ્રવેશતા પહેલાં પ્રદાતાની સળંગ નિષ્ફળતાઓ
- **નિષ્ફળતા સીમા** — `OPEN` સ્થિતિમાં પ્રવેશતા પહેલાં પ્રદાતાની સળંગ નિષ્ફળતાઓ
- **રીસેટ સમયસમાપ્તિ** — પ્રદાતાનું ફરી પરીક્ષણ કરવામાં આવે તે પહેલાંની સમય અવધિ
- **CLOSED** (સ્વસ્થ) — વિનંતીઓ સામાન્ય રીતે વહે છે
- **DEGRADED** — વધેલી નિષ્ફળતાઓ ટ્રૅક થતી હોય ત્યારે પણ વિનંતીઓ વહેતી રહે છે
- **OPEN** — વારંવારની નિષ્ફળતાઓ પછી પ્રદાતા અસ્થાયી રૂપે અવરોધિત થાય છે
- **HALF_OPEN** — પ્રદાતા પુનઃસ્થાપિત થયો છે કે નહીં તેનું પરીક્ષણ કરવામાં આવે છે
કનેક્શન-સ્કોપવાળી `429` દર મર્યાદાઓ **કનેક્શન કૂલડાઉન**માં રહે છે અને પ્રદાતા બ્રેકર માટે ગણાતી નથી.
પ્રદાતા બ્રેકરની રનટાઇમ સ્થિતિ ફક્ત **ડૅશબોર્ડ → હેલ્થ** પર દર્શાવવામાં આવે છે.
4. **કૂલડાઉન માટે રાહ જુઓ** — જો દરેક ઉમેદવાર કનેક્શન પહેલેથી જ કૂલડાઉનમાં હોય, તો OmniRoute સૌથી વહેલો કૂલડાઉન પૂરો થાય ત્યાં સુધી રાહ જોઈ શકે છે અને એ જ ક્લાયન્ટ વિનંતીનો આપમેળે ફરી પ્રયાસ કરી શકે છે.
5. **દર મર્યાદાની સ્વતઃ-શોધ** — જ્યારે અપસ્ટ્રીમ પ્રદાતાઓ સ્પષ્ટ રાહ જોવાની અવધિઓ પરત કરે છે, ત્યારે સેટિંગ સક્ષમ હોય તો તે સંકેતો સ્થાનિક કનેક્શન કૂલડાઉનને ઓવરરાઇડ કરે છે.
**ઉપયોગી સૂચન:** આઉટેજ પછી લાઇવ પ્રદાતા બ્રેકર્સનું નિરીક્ષણ કરવા અને તેમને રીસેટ કરવા માટે **હેલ્થ** પેજનો ઉપયોગ કરો. સ્થિતિસ્થાપકતા પેજ માત્ર કૉન્ફિગરેશન બદલે છે.
---
### ડેટાબેઝ એક્સપોર્ટ / ઇમ્પોર્ટ
**ડૅશબોર્ડ → સેટિંગ્સ → સિસ્ટમ અને સ્ટોરેજ**માં ડેટાબેઝ બૅકઅપ્સનું સંચાલન કરો.
| ક્રિયા | વર્ણન |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **ડેટાબેઝ એક્સપોર્ટ કરો** | વર્તમાન SQLite ડેટાબેઝને `.sqlite` ફાઇલ તરીકે ડાઉનલોડ કરે છે |
| **બધું એક્સપોર્ટ કરો (.tar.gz)** | ડેટાબેઝ, સેટિંગ્સ, કોમ્બોઝ, પ્રદાતા કનેક્શન્સ (ઓળખપત્રો વિના) અને API કી મેટાડેટા સહિતનું સંપૂર્ણ બૅકઅપ આર્કાઇવ ડાઉનલોડ કરે છે |
| **ડેટાબેઝ ઇમ્પોર્ટ કરો** | વર્તમાન ડેટાબેઝને બદલવા માટે `.sqlite` ફાઇલ અપલોડ કરે છે. `DISABLE_SQLITE_AUTO_BACKUP=true` ન હોય ત્યાં સુધી ઇમ્પોર્ટ પહેલાંનો બૅકઅપ આપમેળે બનાવવામાં આવે છે |
```bash
# API: ડેટાબેઝ એક્સપોર્ટ કરો
curl -o backup.sqlite http://localhost:20128/api/db-backups/export
# API: બધું એક્સપોર્ટ કરો (સંપૂર્ણ આર્કાઇવ)
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll
# API: ડેટાબેઝ ઇમ્પોર્ટ કરો
curl -X POST http://localhost:20128/api/db-backups/import \
-F "file=@backup.sqlite"
```
**ઇમ્પોર્ટ માન્યતા:** ઇમ્પોર્ટ કરેલી ફાઇલની અખંડિતતા (SQLite pragma ચકાસણી), જરૂરી કોષ્ટકો (`provider_connections`, `provider_nodes`, `combos`, `api_keys`) અને કદ (મહત્તમ 100MB) માટે માન્યતા ચકાસવામાં આવે છે.
**ઉપયોગના કિસ્સાઓ:**
- OmniRouteને મશીનો વચ્ચે સ્થાનાંતરિત કરો
- આપત્તિ પુનઃપ્રાપ્તિ માટે બાહ્ય બૅકઅપ્સ બનાવો
- ટીમના સભ્યો વચ્ચે કૉન્ફિગરેશન્સ શેર કરો (બધું એક્સપોર્ટ કરો → આર્કાઇવ શેર કરો)
---
### સેટિંગ્સ ડૅશબોર્ડ
સરળ નેવિગેશન માટે સેટિંગ્સ પેજને **7 ટૅબ્સ**માં ગોઠવવામાં આવ્યું છે:
| ટૅબ | સામગ્રી |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **સામાન્ય** | સિસ્ટમ સ્ટોરેજ સાધનો, ડિફૉલ્ટ વર્તન, એન્ડપૉઇન્ટ ટનલની દૃશ્યતા |
| **દેખાવ** | થીમ નિયંત્રણો (લાઇટ/ડાર્ક/સિસ્ટમ), સાઇડબારની દૃશ્યતા, Cloudflare/Tailscale/ngrok ટનલ કાર્ડ્સ માટે પૅનલ ટૉગલ્સ |
| **AI** | થિંકિંગ બજેટ (પાસથ્રૂ / ઑટો-સ્ટ્રિપ / કસ્ટમ / ઍડેપ્ટિવ — [THINKING_BUDGET.md](./THINKING_BUDGET.md) જુઓ), વૈશ્વિક સિસ્ટમ પ્રૉમ્પ્ટ, પ્રૉમ્પ્ટ કૅશના આંકડા |
| **સુરક્ષા** | લૉગિન/પાસવર્ડ સેટિંગ્સ, IP ઍક્સેસ કન્ટ્રોલ, `/models` માટે API ઑથ, પ્રદાતા બ્લૉકિંગ, પ્રૉમ્પ્ટ-ઇન્જેક્શન સુરક્ષા |
| **રાઉટિંગ** | વૈશ્વિક રાઉટિંગ વ્યૂહરચના (પહેલું ભરો / રાઉન્ડ રોબિન / P2C / રૅન્ડમ / સૌથી ઓછું વપરાયેલ / ખર્ચ-ઑપ્ટિમાઇઝ્ડ), વાઇલ્ડકાર્ડ મૉડલ ઉપનામો, ફૉલબૅક શ્રેણીઓ, કૉમ્બોના ડિફૉલ્ટ્સ |
| **સ્થિતિસ્થાપકતા** | વિનંતી કતાર, કનેક્શન કૂલડાઉન, પ્રદાતા બ્રેકર કૉન્ફિગરેશન અને કૂલડાઉનની રાહ જોવાનું વર્તન |
| **અદ્યતન** | વૈશ્વિક પ્રૉક્સી કૉન્ફિગરેશન (HTTP/SOCKS5), પ્રત્યેક પ્રદાતા માટે પ્રૉક્સી ઓવરરાઇડ્સ |
સામાન્ય વિભાગમાં હવે ફક્ત-વાંચવા યોગ્ય લૉગિંગ અને કૅશ નોંધોનું પુનરાવર્તન થતું નથી. ડેટાબેઝ રિટેન્શન અને
ઑપ્ટિમાઇઝેશન સેટિંગ્સ `/api/settings/database` દ્વારા કાયમી સંગ્રહાય છે; કૅશને મૅન્યુઅલી સાફ કરવા માટે
`DELETE /api/cache` વપરાય છે. વિનંતી અને પ્રૉક્સી લૉગની પંક્તિ મર્યાદાઓ
`CALL_LOGS_TABLE_MAX_ROWS` અને `PROXY_LOGS_TABLE_MAX_ROWS` દ્વારા નિયંત્રિત થાય છે.
---
### ખર્ચ અને બજેટ વ્યવસ્થાપન
**ડૅશબોર્ડ → ખર્ચ** દ્વારા ઍક્સેસ કરો.
| ટૅબ | હેતુ |
| ----------------- | ------------------------------------------------------------------------------------------------ |
| **બજેટ** | દૈનિક/સાપ્તાહિક/માસિક બજેટ અને રીઅલ-ટાઇમ ટ્રૅકિંગ સાથે પ્રત્યેક API કી માટે ખર્ચ મર્યાદા સેટ કરો |
| **કિંમતનિર્ધારણ** | મૉડલ કિંમતની એન્ટ્રીઓ જુઓ અને સંપાદિત કરો — પ્રત્યેક પ્રદાતા માટે દર 1K ઇનપુટ/આઉટપુટ ટોકનનો ખર્ચ |
```bash
# API: બજેટ સેટ કરો
curl -X POST http://localhost:20128/api/usage/budget \
-H "Content-Type: application/json" \
-d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'
# API: બજેટની વર્તમાન સ્થિતિ મેળવો
curl http://localhost:20128/api/usage/budget
```
**ખર્ચ ટ્રૅકિંગ:** દરેક વિનંતી ટોકન વપરાશને લૉગ કરે છે અને કિંમતનિર્ધારણ કોષ્ટકનો ઉપયોગ કરીને ખર્ચની ગણતરી કરે છે. પ્રદાતા, મૉડલ અને API કી પ્રમાણે વિગતો **ડૅશબોર્ડ → વપરાશ**માં જુઓ.
---
### ઑડિયો ટ્રાન્સક્રિપ્શન
OmniRoute, OpenAI-સુસંગત એન્ડપૉઇન્ટ દ્વારા ઑડિયો ટ્રાન્સક્રિપ્શનને સપોર્ટ કરે છે:
```bash
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
# curl સાથેનું ઉદાહરણ
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@audio.mp3" \
-F "model=openai/whisper-1"
```
`deepgram/nova-3` મૂળ Deepgram રૂટ છે અને તેને Deepgram API કીની જરૂર પડે છે.
જો ફક્ત OpenRouter કૉન્ફિગર કરેલું હોય, તો `openrouter/deepgram/nova-3` વાપરો.
**સ્પીચ-ટુ-ટેક્સ્ટ (ટ્રાન્સક્રિપ્શન)** પ્રદાતાઓ:
- `openai/` (whisper-સુસંગત)
- `groq/` (Groq Whisper Turbo)
- `deepgram/` (Nova શ્રેણી)
- `assemblyai/`
- `nvidia/` (Parakeet, Canary)
- `huggingface/` (whisper વેરિઅન્ટ્સ)
- `qwen/`
**ટેક્સ્ટ-ટુ-સ્પીચ (`POST /v1/audio/speech`)** પ્રદાતાઓ:
- `openai/` (tts-1, tts-1-hd)
- `hyperbolic/`
- `deepgram/` (Aura)
- `nvidia/` (Magpie TTS)
- `elevenlabs/`
- `huggingface/`
- `inworld/`
- `cartesia/`
- `playht/`
- `kie/`
- `aws-polly/`
- `xiaomi-mimo/`
- `coqui/`, `tortoise/`
- `qwen/`
ટ્રાન્સક્રિપ્શન માટે સપોર્ટેડ ઑડિયો ફૉર્મેટ્સ: `mp3`, `wav`, `m4a`, `flac`, `ogg`, `webm`. TTS આઉટપુટ ફૉર્મેટ્સ પ્રદાતા પર આધારિત છે (mp3, wav, opus, pcm, mulaw).
---
### કૉમ્બો સંતુલન વ્યૂહરચનાઓ
**ડૅશબોર્ડ → કૉમ્બો → બનાવો/સંપાદિત કરો → વ્યૂહરચના**માં પ્રત્યેક કૉમ્બો માટે સંતુલન કૉન્ફિગર કરો.
| વ્યૂહરચના | વર્ણન |
| --------------------- | ------------------------------------------------------------------------------- |
| **રાઉન્ડ-રોબિન** | મૉડલ્સને ક્રમશઃ ફેરવે છે |
| **પ્રાથમિકતા** | હંમેશાં પ્રથમ મૉડલનો પ્રયાસ કરે છે; ફક્ત ભૂલ થાય ત્યારે જ ફૉલબૅક કરે છે |
| **રૅન્ડમ** | દરેક વિનંતી માટે કૉમ્બોમાંથી રૅન્ડમ મૉડલ પસંદ કરે છે |
| **વેઇટેડ** | પ્રત્યેક મૉડલને ફાળવેલા વજનના પ્રમાણમાં રૂટ કરે છે |
| **સૌથી ઓછું વપરાયેલ** | સૌથી ઓછી તાજેતરની વિનંતીઓ ધરાવતા મૉડલ પર રૂટ કરે છે (કૉમ્બો મેટ્રિક્સ વાપરે છે) |
| **ખર્ચ-ઑપ્ટિમાઇઝ્ડ** | ઉપલબ્ધ સૌથી સસ્તા મૉડલ પર રૂટ કરે છે (કિંમતનિર્ધારણ કોષ્ટક વાપરે છે) |
વૈશ્વિક કૉમ્બો ડિફૉલ્ટ્સ **ડૅશબોર્ડ → સેટિંગ્સ → રાઉટિંગ → કૉમ્બો ડિફૉલ્ટ્સ**માં સેટ કરી શકાય છે.
કૉમ્બો ટાર્ગેટ ટાઇમઆઉટ્સ ડિફૉલ્ટરૂપે વર્તમાન વિનંતી ટાઇમઆઉટને વારસામાં મેળવે છે. પ્રત્યેક ટાર્ગેટ માટેની ટૂંકી મર્યાદાએ
વધુ ઝડપી ફૉલબૅક ટ્રિગર કરવો જોઈએ ત્યારે જ કૉમ્બો ડિફૉલ્ટ્સ અથવા કોઈ વ્યક્તિગત કૉમ્બો પર **ટાર્ગેટ ટાઇમઆઉટ
(સેકન્ડ)** વાપરો.
શૂન્ય-લેટન્સી કૉમ્બો ઑપ્ટિમાઇઝેશન્સ પસંદગીથી સક્ષમ કરવાનાં છે. આ લેટન્સી સુવિધાઓને ફૉલબૅક ટાર્ગેટ્સ સાથે સ્પર્ધા કરતાં, TTFT
ઇતિહાસના આધારે ટાર્ગેટ્સને છોડતાં અથવા ફૉલબૅક વિનંતીઓને સંકુચિત કરતાં રોકવા માટે **શૂન્ય-લેટન્સી ઑપ્ટિમાઇઝેશન્સ** અક્ષમ રાખો;
તેને સક્ષમ કરવાથી કૉન્ફિગર કરેલું હેજિંગ, આગાહીયુક્ત TTFT સ્કિપ્સ અને સક્રિય ફૉલબૅક સંકોચન રૂટિંગ/વિનંતીની ચોકસાઈના બદલામાં ઓછી ટેઇલ
લેટન્સી મેળવી શકે છે.
જ્યારે અપસ્ટ્રીમ પ્રદાતાઓને સખત `max_tokens` / `maxOutputTokens` મર્યાદાઓ જરૂરી હોય ત્યારે **રીઝનિંગ ટોકન બફર** અક્ષમ કરો. સક્ષમ હોય ત્યારે, કૉમ્બો રાઉટિંગ માત્ર જાણીતી આઉટપુટ મર્યાદા ધરાવતા રીઝનિંગ મૉડલ્સ માટે જ વધારાની ક્ષમતા ઉમેરે છે અને જો સુરક્ષિત બફર કરેલું મૂલ્ય તે મર્યાદા કરતાં વધી જાય, તો ક્લાયન્ટની ટોકન મર્યાદાને યથાવત્ રાખે છે. જો ક્લાયન્ટની મર્યાદા પહેલેથી જ જાણીતી મર્યાદા કરતાં વધુ હોય, તો અપસ્ટ્રીમ વિનંતી મોકલતા પહેલાં OmniRoute તેને ઘટાડીને તે મર્યાદા સુધી સીમિત કરે છે.
---
### હેલ્થ ડૅશબોર્ડ
**ડૅશબોર્ડ → હેલ્થ** મારફતે ઍક્સેસ કરો. 6 કાર્ડ સાથે સિસ્ટમના હેલ્થની રીઅલ-ટાઇમ ઝાંખી:
| કાર્ડ | તે શું દર્શાવે છે |
| ---------------------- | ----------------------------------------------------- |
| **સિસ્ટમ સ્થિતિ** | અપટાઇમ, વર્ઝન, મેમરીનો ઉપયોગ, ડેટા ડિરેક્ટરી |
| **પ્રદાતાનું હેલ્થ** | વૈશ્વિક પ્રદાતા સર્કિટ બ્રેકરની રનટાઇમ સ્થિતિ |
| **રેટ મર્યાદાઓ** | બાકી સમય સહિત દરેક એકાઉન્ટ દીઠ સક્રિય કનેક્શન કૂલડાઉન |
| **સક્રિય લૉકઆઉટ્સ** | સક્રિય મૉડલ-સ્કોપ્ડ લૉકઆઉટ્સ અને કામચલાઉ બાકાતીઓ |
| **સિગ્નેચર કૅશ** | ડિડુપ્લિકેશન કૅશના આંકડા (સક્રિય કીઝ, હિટ રેટ) |
| **લેટન્સી ટેલિમેટ્રી** | દરેક પ્રદાતા દીઠ p50/p95/p99 લેટન્સી એકત્રીકરણ |
**ઉપયોગી સૂચન:** હેલ્થ પેજ દર 10 સેકન્ડે આપમેળે રિફ્રેશ થાય છે. કયા પ્રદાતાઓમાં સમસ્યાઓ આવી રહી છે તે ઓળખવા માટે સર્કિટ બ્રેકર કાર્ડનો ઉપયોગ કરો.
---
## 🤖 ઑટો-રાઉટિંગ (શૂન્ય-કન્ફિગ)
OmniRoute એક **સ્કોર-આધારિત ઑટો-રાઉટર** સાથે આવે છે, જે દરેક કનેક્ટેડ પ્રદાતા પરની પ્રત્યેક વિનંતી માટે શ્રેષ્ઠ મોડલ પસંદ કરે છે — જાળવવા માટે કોઈ કોમ્બો નથી. ફક્ત `auto/*` પ્રીફિક્સમાંથી કોઈ એક સાથે વિનંતી મોકલો અને OmniRoute તરત જ વર્ચ્યુઅલ કોમ્બો તૈયાર કરશે, જેમાં વિલંબ, ખર્ચ, સફળતા દર, સંદર્ભ સુસંગતતા, કાર્ય માટે મોડલની યોગ્યતા, તાજેતરની નિષ્ફળતાઓ, ક્વોટા અને સર્કિટ-બ્રેકરની સ્થિતિના આધારે ઉમેદવારોને સ્કોર કરવામાં આવશે.
| પ્રીફિક્સ | શેના માટે ઑપ્ટિમાઇઝ કરે છે |
| -------------- | ----------------------------------------------------------------------------------------- |
| `auto` | સંતુલિત ડિફૉલ્ટ (વિલંબ × ખર્ચ × સફળતા દર) |
| `auto/coding` | કોડિંગ કાર્યો: Claude, GPT-5, GLM, Kimi, Qwen Coder, DeepSeek કોડર્સને પ્રાધાન્ય આપે છે |
| `auto/cheap` | સૌથી ઓછો $/token, વધુ વિલંબ સ્વીકારે છે |
| `auto/fast` | સૌથી ઓછો વિલંબ, ખર્ચને અવગણે છે |
| `auto/offline` | ફક્ત સ્થાનિક પ્રદાતાઓ (Ollama, vLLM, llama.cpp) — એર-ગૅપ્ડ સેટઅપ્સ માટે ઉપયોગી |
| `auto/smart` | રિઝનિંગ ગુણવત્તાને પ્રથમ પ્રાધાન્ય (Opus, GPT-5 xhigh, R1, GLM 5.1 રિઝનિંગ) |
| `auto/lkgp` | "છેલ્લો જાણીતો સારો પ્રદાતા" — છેલ્લા સફળ પ્રદાતા સાથે પિન કરે છે, પછી નિયમોનો આશરો લે છે |
ઉદાહરણ:
```bash
curl -X POST http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto/coding",
"messages": [{ "role": "user", "content": "Refactor this Python function" }],
"stream": true
}'
```
ઑટો-રાઉટરનું સંપૂર્ણ વર્ણન [AUTO-COMBO.md](../routing/AUTO-COMBO.md)માં છે — જેમાં સ્કોરિંગ વેઇટ્સને કેવી રીતે ટ્યુન કરવા, પ્રદાતાઓને બ્લૅકલિસ્ટ કરવા અને **Dashboard → Auto Combo**માં રાઉટિંગ નિર્ણયોનું નિરીક્ષણ કરવા જેવી બાબતોનો સમાવેશ થાય છે.
---
## 🔌 MCP અને A2A એકીકરણ
OmniRoute એક **MCP સર્વર** (Model Context Protocol) અને એક **A2A સર્વર** (Agent-to-Agent JSON-RPC 2.0) બંને છે. કોઈપણ MCP-સુસંગત IDE અથવા એજન્ટ હોસ્ટ OmniRoute ટૂલ્સને સીધા કૉલ કરી શકે છે — કોઈ વધારાના રૅપરની જરૂર નથી.
### MCP ટ્રાન્સપોર્ટ્સ
- **SSE**: `http://localhost:20128/api/mcp/sse`
- **સ્ટ્રીમ કરી શકાય તેવું HTTP**: `http://localhost:20128/api/mcp/stream`
- **stdio**: `omniroute --mcp` (stdio પસંદ કરતા IDE પ્લગઇન્સ માટે)
### Claude Desktopને કનેક્ટ કરો
`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) અથવા Windows/Linux પર તેની સમકક્ષ ફાઇલમાં ફેરફાર કરો:
```json
{
"mcpServers": {
"omniroute": {
"command": "omniroute",
"args": ["--mcp"]
}
}
}
```
### Cursor / Continue / VS Code MCPને કનેક્ટ કરો
SSE URL `http://localhost:20128/api/mcp/sse` અને **Dashboard → API Keys**માં જનરેટ કરેલી Bearer API કીનો ઉપયોગ કરો.
### સ્કોપ્સ
MCP હાલમાં 32 નામિત સ્કોપ્સ વ્યાખ્યાયિત કરે છે. દરેક Bearer કીને ચોક્કસ સ્કોપ્સ સુધી મર્યાદિત કરી શકાય છે — અધિકૃત સ્કોપ અને ટૂલ ઇન્વેન્ટરી માટે [MCP-SERVER.md](../frameworks/MCP-SERVER.md) અને JSON-RPC સ્કીમા માટે [A2A-SERVER.md](../frameworks/A2A-SERVER.md) જુઓ.
---
## 🧠 કૌશલ્ય સિસ્ટમ
OmniRoute એક વિસ્તૃત કરી શકાય તેવું **કૌશલ્ય ફ્રેમવર્ક** (`src/lib/skills/`) પ્રદાન કરે છે, જેથી એજન્ટો અને A2A એન્ડપોઇન્ટ ડોમેન-વિશિષ્ટ રૂટિન્સ (દા.ત. `code-review`, `summarize`, `extract-facts`, `web-research`) ચલાવી શકે.
- **માર્કેટપ્લેસ UI** — **Dashboard → Skills**માંથી કૌશલ્યો બ્રાઉઝ અને ઇન્સ્ટૉલ કરો
- **પ્રતિ-કી સ્કોપ્સ** — કઈ API કીઓ કયા કૌશલ્યોને આમંત્રિત કરી શકે તે નિયંત્રિત કરો
- **કસ્ટમ કૌશલ્યો** — `src/lib/a2a/skills/`માં TypeScript ફાઇલ મૂકો, તેને રજિસ્ટર કરો અને તે તરત જ A2A મારફતે આમંત્રિત કરી શકાય તેવી બની જાય છે
સંપૂર્ણ સંદર્ભ: [SKILLS.md](../frameworks/SKILLS.md).
---
## 💾 મેમરી સિસ્ટમ
OmniRoute હાઇબ્રિડ રિટ્રીવલ સાથે **લાંબા ગાળાની સંવાદાત્મક મેમરી** જાળવી રાખે છે:
- અગાઉના સંવાદોમાં કીવર્ડ શોધ માટે **SQLite FTS5**
- અર્થ-આધારિત પુનઃસ્મરણ માટે **Qdrant vector store** (વૈકલ્પિક)
- **સ્વચાલિત હકીકત નિષ્કર્ષણ** — દરેક સત્ર પછી એન્ટિટીઝ, પસંદગીઓ અને નિર્ણયોનો સારાંશ બનાવીને `memory_facts` ટેબલમાં સંગ્રહિત કરવામાં આવે છે
- મેમરીઝને દરેક API કી અને દરેક સત્ર દીઠ અલગ સ્કોપ કરવામાં આવે છે
**Dashboard → Memory**માં મેમરીઝનું સંચાલન કરો (શોધો, સંપાદિત કરો, નિકાસ કરો, સાફ કરો). HTTP ઇન્ટરફેસ (`/api/memory/*`) એજન્ટોને પ્રોગ્રામેટિક રીતે હકીકતો પુશ કરવા અને ક્વેરી કરવાની સુવિધા આપે છે — [MEMORY.md](../frameworks/MEMORY.md) જુઓ.
---
## 🔔 વેબહુક્સ
રિયલ-ટાઇમ મોનિટરિંગ અને ઓટોમેશન માટે OmniRoute ઇવેન્ટ્સને સબ્સ્ક્રાઇબ કરો.
- લક્ષ્ય URL અને HMAC સાઇનિંગ સિક્રેટ સાથે **Dashboard → Webhooks**માં વેબહુક બનાવો
- ઉપલબ્ધ ઇવેન્ટ્સ: `request.completed`, `request.failed`, `provider.unavailable`, `budget.exceeded`, `combo.switched`, `circuit_breaker.opened`, `circuit_breaker.closed`
- ચકાસણી માટે દરેક પેલોડમાં `X-OmniRoute-Signature` (HMAC-SHA256) સામેલ હોય છે
- પુનઃપ્રયાસ: એક્સપોનેન્શિયલ બૅકઑફ સાથે 3 પ્રયાસો, ત્યારબાદ ડેડ-લેટર કતાર
સંપૂર્ણ સ્કીમા [WEBHOOKS.md](../frameworks/WEBHOOKS.md)માં છે.
---
## ☁️ ક્લાઉડ એજન્ટ્સ
OmniRoute ક્લાઉડ કોડિંગ એજન્ટ્સ (**OpenAI Codex Cloud**, **Devin**, **Jules**, **Antigravity**) સાથે એકીકૃત થાય છે, જેથી તમે તમારા સ્થાનિક રાઉટિંગનું સંચાલન કરતા એ જ ડૅશબોર્ડમાંથી લાંબા સમય સુધી ચાલતા કાર્યો મોકલી શકો.
- **Dashboard → Cloud Agents**માં અથવા `POST /api/v1/agents/tasks` મારફતે કાર્યો બનાવો
- દરેક કાર્યની સ્થિતિ, લૉગ્સ અને આર્ટિફૅક્ટ્સ ટ્રૅક કરો
- દરેક પ્રોવાઇડર માટે તમારી પોતાની API કી લાવો — ક્રેડેન્શિયલ્સ ક્યારેય OmniRoute ઇન્સ્ટન્સની બહાર જતા નથી
સંપૂર્ણ સંદર્ભ: [CLOUD_AGENT.md](../frameworks/CLOUD_AGENT.md).
---
## 🛠️ પ્રોગ્રામેટિક સંચાલન
તમે **`manage` સ્કોપ ધરાવતી Bearer કી**નો ઉપયોગ કરીને HTTP મારફતે દરેક OmniRoute સંસાધન (પ્રોવાઇડર્સ, કોમ્બોઝ, કીઓ, સેટિંગ્સ)નું સંચાલન કરી શકો છો.
**Dashboard → API Keys → New Key → Scope: manage**માં કી જનરેટ કરો, ત્યારબાદ:
```bash
# પ્રોવાઇડર્સની યાદી મેળવો
curl http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
# પ્રોવાઇડર કનેક્શન ઉમેરો
curl -X POST http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "provider": "openai", "apiKey": "sk-...", "name": "main" }'
# કોમ્બો બનાવો
curl -X POST http://localhost:20128/api/combos \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "premium", "strategy": "priority", "models": [{ "model": "cc/claude-opus-4-7" }, { "model": "glm/glm-5.1" }] }'
# API કીઓની યાદી મેળવો/બનાવો
curl http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
curl -X POST http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-d '{ "name": "ci-bot", "scopes": ["chat"] }'
```
સંપૂર્ણ એન્ડપોઇન્ટ કૅટલૉગ અને વિનંતી/પ્રતિસાદ સ્કીમા માટે [API_REFERENCE.md](../reference/API_REFERENCE.md) જુઓ.
---
## 💻 આંતરિક CLI
OmniRoute સેટઅપ, નિદાન અને રનટાઇમ નિયંત્રણ માટે આંતરિક CLI (`omniroute …`) સાથે આવે છે. આ **ડૅશબોર્ડમાંના "CLI Tools" પૃષ્ઠથી અલગ છે**, જે તૃતીય-પક્ષ CLI (Claude Code, Cursor, Codex, Cline, …) ને ગોઠવે છે જેથી તેઓ OmniRoute સાથે સંચાર કરી શકે.
```bash
omniroute setup # ઇન્ટરેક્ટિવ વિઝાર્ડ (પાસવર્ડ, પ્રોવાઇડર્સ, કોમ્બોઝ)
omniroute setup --non-interactive # CI માટે અનુકૂળ
omniroute doctor # સ્વાસ્થ્ય નિદાન (ડેટા ડિરેક્ટરી, DB, પ્રોવાઇડર્સ, પોર્ટ્સ)
omniroute providers available # સપોર્ટેડ પ્રોવાઇડર્સની યાદી
omniroute providers list # ગોઠવેલા કનેક્શન્સની યાદી
omniroute providers test # પ્રોવાઇડર કનેક્શનનું લાઇવ પરીક્ષણ
omniroute combos list # કોમ્બોઝની યાદી
omniroute combos switch # ડિફૉલ્ટ કોમ્બો સેટ કરો
omniroute models # ઉપલબ્ધ મોડલ્સની યાદી (--json, --search)
omniroute keys add | list | remove # ટર્મિનલમાંથી API કીઝનું સંચાલન કરો
omniroute backup # કન્ફિગ + DBનો સ્નૅપશૉટ
omniroute restore [] # સ્નૅપશૉટમાંથી પુનઃસ્થાપિત કરો
omniroute health # વિગતવાર સ્વાસ્થ્ય (બ્રેકર્સ, કૅશ, મેમરી)
omniroute quota # પ્રોવાઇડર ક્વોટાનો વપરાશ
omniroute mcp status # MCP સર્વરની સ્થિતિ
omniroute a2a status # A2A સર્વરની સ્થિતિ
omniroute tunnel list|create|stop # Cloudflare/Tailscale/ngrok ટનલ્સ
omniroute reset-password # એડમિન પાસવર્ડ રીસેટ કરો
omniroute --mcp # stdio પર MCP સર્વર શરૂ કરો
omniroute --port 3000 # કસ્ટમ પોર્ટ પર સર્વર શરૂ કરો
```
સૂચન: અસ્વસ્થ પ્રોવાઇડર કનેક્શન્સ વિશે ચેતવણી મેળવવા માટે `omniroute doctor --json` ને તમારા મોનિટરિંગ ટૂલ સાથે જોડો.
---
## 🖥️ ડેસ્કટૉપ એપ્લિકેશન (Electron)
OmniRoute Windows, macOS અને Linux માટે મૂળ ડેસ્કટૉપ એપ્લિકેશન તરીકે ઉપલબ્ધ છે.
### ઇન્સ્ટોલેશન
```bash
# electron ડિરેક્ટરીમાંથી:
cd electron
npm install
# ડેવલપમેન્ટ મોડ (ચાલતા Next.js ડેવ સર્વર સાથે કનેક્ટ કરો):
npm run dev
# પ્રોડક્શન મોડ (સ્ટૅન્ડઅલોન બિલ્ડનો ઉપયોગ કરે છે):
npm start
```
### ઇન્સ્ટોલર્સ બનાવવા
```bash
cd electron
npm run build # વર્તમાન પ્લેટફોર્મ
npm run build:win # Windows (.exe NSIS)
npm run build:mac # macOS (.dmg યુનિવર્સલ)
npm run build:linux # Linux (.AppImage)
```
આઉટપુટ → `electron/dist-electron/`
### મુખ્ય સુવિધાઓ
| સુવિધા | વર્ણન |
| ------------------------------ | ------------------------------------------------------------ |
| **સર્વરની તૈયારી** | વિન્ડો બતાવતાં પહેલાં સર્વરને પોલ કરે છે (ખાલી સ્ક્રીન નહીં) |
| **સિસ્ટમ ટ્રે** | ટ્રેમાં મિનિમાઇઝ કરો, પોર્ટ બદલો, ટ્રે મેનૂમાંથી બંધ કરો |
| **પોર્ટ સંચાલન** | ટ્રેમાંથી સર્વર પોર્ટ બદલો (સર્વર આપમેળે રીસ્ટાર્ટ થાય છે) |
| **કન્ટેન્ટ સિક્યોરિટી પૉલિસી** | સેશન હેડર્સ મારફતે પ્રતિબંધિત CSP |
| **સિંગલ ઇન્સ્ટન્સ** | એક સમયે એપ્લિકેશનનો માત્ર એક ઇન્સ્ટન્સ ચાલી શકે છે |
| **ઑફલાઇન મોડ** | બંડલ કરેલું Next.js સર્વર ઇન્ટરનેટ વિના કામ કરે છે |
### એન્વાયર્નમેન્ટ વેરિએબલ્સ
| વેરિએબલ | ડિફૉલ્ટ | વર્ણન |
| --------------------- | ------- | --------------------------------- |
| `OMNIROUTE_PORT` | `20128` | સર્વર પોર્ટ |
| `OMNIROUTE_MEMORY_MB` | `512` | Node.js હીપ મર્યાદા (64–16384 MB) |
📖 સંપૂર્ણ દસ્તાવેજીકરણ: [`electron/README.md`](../../electron/README.md)