# 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) · 🇮🇳 [gu](../../../gu/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) · 🇸🇰 [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) · 🇮🇳 [gu](../../../gu/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) · 🇸🇰 [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](#-webhooks)
- [Cloud Agents](#-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 යතුර** | 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 tokens/මාසය | පුරෝකථනය කළ හැකි පිරිවැය |
| **🆓 නොමිලේ** | Qoder | $0 | සැපයුම්කරුගේ සීමා අදාළ වේ | වත්මන් නාමාවලිය තහවුරු කරන්න |
| | Kiro | $0 | ~50 credits/මාසය | නොමිලේ 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 සම්බන්ධතා තොග වශයෙන් එක් කිරීමට, **Dashboard → Providers → Import from file** භාවිත කරන්න. තීරු ස්ථානීය අනුපිළිවෙළට ඇත (`provider,name,apiKey,baseUrl,priority`); `provider` දැනටමත් කළමනාකරණය කළ සපයන්නෙකු හෝ අනුකූල node එකක් ලෙස පැවතිය යුතුය. [CSV හෝ JSON ගොනුවකින් සපයන්නන් ආයාත කිරීම](../providers/CSV-IMPORT.md) බලන්න.
### 🔐 දායකත්ව සපයන්නන්
#### Claude Code (Pro/Max)
```bash
Dashboard → Providers → Connect Claude Code
→ OAuth පිවිසුම → ස්වයංක්රීය token නැවුම් කිරීම
→ පැය 5ක + සතිපතා quota ලුහුබැඳීම
Models:
cc/claude-opus-4-7
cc/claude-sonnet-4-6
cc/claude-haiku-4-5-20251001
```
**වෘත්තීය ඉඟිය:** සංකීර්ණ කාර්යයන් සඳහා Opus ද, වේගය සඳහා Sonnet ද භාවිත කරන්න. OmniRoute එක් එක් model එක අනුව quota ලුහුබඳියි!
OmniRoute host එකෙහි browser එකක් නැද්ද? Claude Code වෙත පිවිසී ඇති ඕනෑම තැනක `claude setup-token` ධාවනය කර, වසරක token එක **Setup Token** tab එකට අලවන්න. [setup token එකක් සමඟ Claude Code](../providers/CLAUDE_CODE_SETUP_TOKEN.md) බලන්න.
Claude සහ Claude Code-අනුකූල routes, Opus සහ Sonnet
models සඳහා `max` thinking effort එක එලෙසම තබාගනී. Haiku models `max` effort tier එක පිළිනොගන්නා බැවින්, OmniRoute එම
ඉල්ලීම upstream වෙත යැවීමට පෙර එය ඉහළ thinking budget එකකට පහත හෙළයි.
#### OpenAI Codex (Plus/Pro)
```bash
Dashboard → Providers → Connect Codex
→ OAuth පිවිසුම (port 1455)
→ පැය 5ක + සතිපතා යළි සැකසීම
Models:
cx/gpt-5.5
cx/gpt-5.4
cx/gpt-5.3-codex
cx/gpt-5.3-codex-spark
```
#### GitHub Copilot
```bash
Dashboard → Providers → Connect GitHub
→ GitHub හරහා OAuth
→ මාසික යළි සැකසීම (මාසයේ 1 වැනිදා)
Models:
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. Dashboard → Add API Key: Provider: `glm`, API Key: `your-key`
**භාවිතය:** `glm/glm-4.7` — **වෘත්තීය ඉඟිය:** Coding Plan මඟින් පිරිවැයෙන් 1/7කට 3× quota පිරිනමයි! දිනපතා පෙ.ව. 10:00ට යළි සැකසේ.
#### MiniMax M2.1 (පැය 5කට වරක් යළි සැකසීම, $0.20/1M)
1. ලියාපදිංචි වන්න: [MiniMax](https://www.minimax.io)
2. API key එක ලබාගන්න → Dashboard → Add API Key
**භාවිතය:** `minimax/MiniMax-M2.1` — **වෘත්තීය ඉඟිය:** දිගු context සඳහා ලාභම විකල්පය (tokens 1M)!
#### Kimi K2 (මසකට ස්ථාවර $9)
1. දායක වන්න: [Moonshot AI](https://platform.kimi.ai?aff=omniroute)
2. API key එක ලබාගන්න → Dashboard → Add API Key
**භාවිතය:** `kimi/kimi-k2.5` — **වෘත්තීය ඉඟිය:** tokens 10M සඳහා මසකට ස්ථාවර $9 = 1Mකට ඵලදායී පිරිවැය $0.90!
#### Baidu Qianfan / ERNIE
1. ලියාපදිංචි වන්න: [Baidu AI Cloud Qianfan](https://cloud.baidu.com/product/wenxinworkshop)
2. Qianfan API key එකක් සාදන්න → Dashboard → Add API Key: Provider: `qianfan`
**භාවිතය:** `qianfan/ernie-5.1`, `qianfan/ernie-x1.1`, හෝ වෙනත් Qianfan OpenAI-අනුකූල model ID එකක්.
### 🆓 නොමිලේ සපයන්නන්
සත්යාපනය අවශ්ය නොවන නොමිලේ සපයන්නන්ගේ සපයන්නාගේ පිටුවෙහි **No authentication required** අසල switch එකක් ඇත.
එය අක්රිය කිරීමෙන් එම සපයන්නා අක්රිය වී, Providers configured/compact දසුන්වලින් ඉවත් වන අතර,
එහි models `/v1/models` වෙතින් ද ඉවත් වේ.
#### Qoder (නොමිලේ models 9ක්)
```bash
Dashboard → Connect Qoder → OAuth පිවිසුම → ප්රවේශය වත්මන් සපයන්නාගේ සීමාවන්ට යටත් වේ
Models: 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
Dashboard → Connect Kiro → AWS Builder ID හෝ Google/GitHub → මසකට credits ~50ක්
Models: kr/claude-sonnet-4.5, kr/claude-haiku-4.5
```
---
## 🎨 සංයෝජන
එක් එක් කාඩ්පතෙහි ඇති හසුරුව ඇදගෙන යාමෙන් ඔබට **Dashboard → Combos** තුළ සෘජුවම සංයෝජන කාඩ්පත් නැවත අනුපිළිවෙළට සකස් කළ හැක. අනුපිළිවෙළ SQLite තුළ ගබඩා කර නැවත පූරණය කිරීමේදී ප්රතිසාධනය කෙරේ.
### උදාහරණය 1: දායකත්වය උපරිමයෙන් භාවිත කරන්න → ලාභදායී උපස්ථයක්
```
Dashboard → Combos → අලුතින් සාදන්න
නම: 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 හරහා මාර්ගගත කරන්න):
```
Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [OmniRoute උපකරණ පුවරුවෙන්]
Model: cc/claude-opus-4-7
```
**Cursor සැපයුම්කරුවෙකු ලෙස OmniRoute භාවිත කිරීම** (OmniRoute විසින් උඩුගං Cursor සේවාව ඇමතීම): වඩාත් සුදුසු වන්නේ
**Dashboard → Providers → Cursor → Login with 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 "ඔබේ විමසුම"
```
### 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 Tools → OpenClaw → Auto-config
### Cline / Continue / RooCode
```
සැපයුම්කරු: OpenAI Compatible
මූලික 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
# පසු-ස්ථාපන hook එක මඟින් හිස් Next.js app router නාමාවලි ඉවත් කිරීම වළක්වන්න
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` | දත්ත නාමාවලිය (දත්ත සමුදාය, භාවිතය, ලොග්) |
| `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` වෙතින් තෝරා සකස් කර ඇත. Cloud නාමාවලි (Gemini, OpenRouter ආදිය) ගතිකව සමමුහුර්ත කෙරේ — සම්පූර්ණ සජීවී නාමාවලිය සඳහා **Dashboard → Providers → [provider] → Available Models** විවෘත කරන්න හෝ `GET /api/models/catalog` අමතන්න.
>
> සපයන්නෙකුගේ අන්තර්නිර්මිත ලැයිස්තුව යාවත්කාලීන නොවී ඇත්නම්, සජීවී upstream නාමාවලිය ලබාගැනීමට එම පිටුවේ **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 හි නිර්නාමික ප්රවේශය upstream සීමාවලට යටත්ව පැවතුණි.
**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` අන්ත ලක්ෂ්යයක් නිරාවරණය කරන විට එය ස්වයංක්රීයව සමමුහුර්ත කළ හැක.
**ආකෘති ID පිළිබඳ සටහන:** OmniRoute සපයන්නාට ස්වදේශීය ID (`claude-opus-4-8`, `gpt-5.5`, `glm-5.1`, `MiniMax-M2.7`, `kimi-k2.5`, `grok-4.20-0309-reasoning`) භාවිත කරයි. upstream API ඒවා එලෙස අපේක්ෂා කරන බැවින් ඇතැම් ID තුළ තිත් සහිත අනුවාද අඩංගු වේ. යම් ආකෘතියක් ඉහත ලැයිස්තුගත කර නොමැති නම්, එහි ලබාගත හැකි බව තහවුරු කිරීමට `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 Compatible එක් කරන්න**.
2. **නම**: නෝඩය සඳහා දර්ශන ලේබලයක්.
3. **උපසර්ගය**: මාර්ගගත කිරීමේ නම. සේවාලාභීන් මාදිලි `/` ලෙස කැඳවන බැවින්,
`mygw` උපසර්ගය සහිත නෝඩයක් `mygw/gpt-4o-mini` සපයයි. මෙය අවශ්යය; අක්ෂර සීමාවක් නොමැත.
4. **API වර්ගය**: ද්වාරය සපයන අන්තලක්ෂ්ය පවුල (Chat Completions, Responses,
Embeddings, ශ්රව්ය, රූප).
5. **මූලික URL**: `/v1` ද ඇතුළුව එය දක්වා ඇති API මූලය (උදාහරණයක් ලෙස
`https://gateway.example.com/v1`), සම්පූර්ණ `/chat/completions` මාර්ගය නොවේ. සම්මත නොවන
මාර්ග සහිත ද්වාර ඒවා **උසස් සැකසුම්** යටතේ සකසයි (කතාබස් මාර්ගය, මාදිලි මාර්ගය).
6. **API යතුර (පරීක්ෂාව සඳහා)** ක්ෂේත්රය සම්බන්ධතාව පමණක් පරීක්ෂා කරයි. නෝඩය සෑදීමෙන් පසු,
එය විවෘත කර ඉල්ලීම් භාවිත කරන යතුර ගබඩා කිරීමට **සම්බන්ධතාවක් එක් කරන්න** භාවිත කරන්න.
නෝඩයට `openai-compatible--` ආකෘතියේ අභ්යන්තර id එකක් ලැබේ; ඔබට එය කිසිවිටෙක
ටයිප් කිරීමට අවශ්ය නොවේ, පොදු නම වන්නේ උපසර්ගයයි.
#### වෙන් කර ඇති උපසර්ග
උපසර්ගයක්, පෙරනිමි සැපයුම්කරුවෙකුගේ id එක හෝ අන්වර්ථ නාමය (උදාහරණයක් ලෙස `openai`, `cf`) හෝ
විශ්රාම ගැන්වූ සැපයුම්කරුවෙකුගේ id එක විය නොහැක. මාදිලි නිරාකාරකය අභිරුචි නෝඩවලට පෙර
පෙරනිමි id සහ අන්වර්ථ නාම පරීක්ෂා කරන බැවින්, එවැනි උපසර්ගයක් භාවිත කරන නෝඩයකට කිසිවිටෙක ගමනාගමනය නොලැබේ:
`/model` ඒ වෙනුවට පෙරනිමි සැපයුම්කරු වෙත යනු ඇත, නැතහොත් එම සැපයුම්කරු
විශ්රාම ගන්වා තිබේ නම් සංවෘත ලෙස අසාර්ථක වනු ඇත. එවැනි උපසර්ගයක් සහිත නෝඩයක් සෑදීම හෝ සංස්කරණය කිරීම පහත පණිවිඩය සමඟ ප්රතික්ෂේප කෙරේ:
```text
prefix: "" යනු වෙන් කර ඇති සැපයුම්කරු උපසර්ගයකි — වෙනත් උපසර්ගයක් තෝරන්න (වෙන් කර ඇති ids/අන්වර්ථ නාම අභිරුචි නෝඩ සඳහා භාවිත කළ නොහැක, මන්ද /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** තුළ ලබා ගත හැක
- ඔබගේ වත්මන් OpenAI-අනුකූල `/v1` අන්ත ලක්ෂ්යය වෙත යොමු කරන තාවකාලික `https://*.trycloudflare.com` URL එකක් සාදයි
- පළමු වර සක්රිය කිරීමේදී අවශ්ය නම් පමණක් `cloudflared` ස්ථාපනය කරයි; පසුකාලීන නැවත ආරම්භ කිරීම් එම කළමනාකරණය කරන ලද ද්විමය ගොනුවම නැවත භාවිත කරයි
- OmniRoute හෝ බහාලුමක් නැවත ආරම්භ කිරීමෙන් පසු Quick Tunnels ස්වයංක්රීයව ප්රතිස්ථාපනය නොවේ; අවශ්ය විට උපකරණ පුවරුවෙන් ඒවා නැවත සක්රිය කරන්න
- උමං URL තාවකාලික වන අතර ඔබ උමඟ නවතා/ආරම්භ කරන සෑම අවස්ථාවකම වෙනස් වේ
- සීමා සහිත බහාලුම්වල ඇති වන ශබ්දකාරී QUIC UDP බෆර අනතුරු ඇඟවීම් වළක්වා ගැනීම සඳහා, කළමනාකරණය කරන ලද Quick Tunnels පෙරනිමියෙන් HTTP/2 ප්රවාහනය භාවිත කරයි
- කළමනාකරණය කරන ලද ප්රවාහන තේරීම අතික්රමණය කිරීමට අවශ්ය නම් `CLOUDFLARED_PROTOCOL=quic` හෝ `auto` සකසන්න
- කළමනාකරණය කරන ලද බාගැනීම වෙනුවට පෙර ස්ථාපනය කළ `cloudflared` ද්විමය ගොනුවක් භාවිත කිරීමට කැමති නම් `CLOUDFLARED_BIN` සකසන්න
- Cloudflare Quick Tunnel, Tailscale Funnel සහ ngrok Tunnel පැනල **Settings → Appearance** තුළ පෙන්වීමට හෝ සැඟවීමට හැක. පැනලයක් සැඟවීමෙන් ක්රියාත්මක වෙමින් පවතින උමඟක් නතර නොවේ.
### LLM ද්වාර බුද්ධිය (අදියර 9)
- **අර්ථමය හැඹිලිය** — ප්රවාහනය නොවන, temperature=0 ප්රතිචාර ස්වයංක්රීයව හැඹිලිගත කරයි (`X-OmniRoute-No-Cache: true` මඟින් මඟහරින්න)
- **ඉල්ලීම් අයිඩම්පොටෙන්සිය** — `Idempotency-Key` හෝ `X-Request-Id` ශීර්ෂය හරහා තත්පර 5ක් ඇතුළත ලැබෙන අනුපිටපත් ඉල්ලීම් ඉවත් කරයි
- **ප්රගති ලුහුබැඳීම** — `X-OmniRoute-Progress: true` ශීර්ෂය හරහා කැමැත්තෙන් සක්රිය කළ හැකි SSE `event: progress` සිදුවීම්
---
### පරිවර්තක අත්හදා බැලීම් අවකාශය
**Dashboard → Translator** හරහා ප්රවේශ වන්න. OmniRoute සැපයුම්කරුවන් අතර API ඉල්ලීම් පරිවර්තනය කරන ආකාරය දෝෂහරණය කර දෘශ්යකරණය කරන්න.
| ප්රකාරය | අරමුණ |
| ------------------------ | ---------------------------------------------------------------------------------------- |
| **අත්හදා බැලීම් අවකාශය** | මූලාශ්ර/ඉලක්ක ආකෘති තෝරා, ඉල්ලීමක් අලවා, පරිවර්තිත ප්රතිදානය ක්ෂණිකව බලන්න |
| **කතාබස් පරීක්ෂකය** | ප්රොක්සිය හරහා සජීවී කතාබස් පණිවිඩ යවා සම්පූර්ණ ඉල්ලීම්/ප්රතිචාර චක්රය පරීක්ෂා කරන්න |
| **පරීක්ෂණ බංකුව** | පරිවර්තනයේ නිවැරදි බව තහවුරු කිරීමට ආකෘති සංයෝජන කිහිපයක් හරහා කාණ්ඩ පරීක්ෂණ ධාවනය කරන්න |
| **සජීවී නිරීක්ෂකය** | ඉල්ලීම් ප්රොක්සිය හරහා ගලා යන විට තත්ය කාලීන පරිවර්තන නරඹන්න |
**භාවිත අවස්ථා:**
- නිශ්චිත සේවාලාභී/සැපයුම්කරු සංයෝජනයක් අසාර්ථක වන්නේ ඇයි දැයි දෝෂහරණය කිරීම
- චින්තන ටැග, මෙවලම් ඇමතුම් සහ පද්ධති ප්රේරක නිවැරදිව පරිවර්තනය වන බව තහවුරු කිරීම
- OpenAI, Claude, Gemini සහ Responses API ආකෘති අතර ආකෘති වෙනස්කම් සැසඳීම
---
### මාර්ගගත කිරීමේ උපායමාර්ග
**Dashboard → Settings → Routing** හරහා වින්යාස කරන්න. වැඩිපුරම භාවිත වන උපායමාර්ග හය උපකරණ පුවරුවේ පෙන්වයි; සංයෝජන සහ ස්වයංක්රීය මාර්ගකාරකය අභ්යන්තරව වඩා පුළුල් කට්ටලයකට සහාය දක්වයි.
**උපකරණ පුවරුවේ පෙනෙන උපායමාර්ග (ගිණුම්-මට්ටමේ මාර්ගගත කිරීම):**
| උපායමාර්ගය | විස්තරය |
| ------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **පළමුව පිරවීම** | ප්රමුඛතා අනුපිළිවෙළට ගිණුම් භාවිත කරයි — ප්රාථමික ගිණුම ලබාගත නොහැකි වන තුරු සියලු ඉල්ලීම් හසුරුවයි |
| **වටමාරු ක්රමය** | වින්යාස කළ හැකි ස්ථාවර සීමාවක් සමඟ සියලු ගිණුම් හරහා චක්රීයව යයි (පෙරනිමිය: එක් ගිණුමකට ඇමතුම් 3ක්) |
| **P2C (තේරීම් දෙකක බලය)** | අහඹු ගිණුම් 2ක් තෝරා වඩා සෞඛ්ය සම්පන්න එක වෙත මාර්ගගත කරයි — සෞඛ්ය තත්ත්වය සැලකිල්ලට ගනිමින් භාරය සමතුලිත කරයි |
| **අහඹු** | Fisher-Yates කලවම් කිරීම භාවිත කරමින් සෑම ඉල්ලීමකටම අහඹු ලෙස ගිණුමක් තෝරයි |
| **අවම වශයෙන් භාවිත කළ** | පැරණිතම `lastUsedAt` කාලමුද්රාව සහිත ගිණුම වෙත මාර්ගගත කරමින් ගමනාගමනය සමානව බෙදා හරියි |
| **පිරිවැය ප්රශස්ත කළ** | අඩුම ප්රමුඛතා අගය සහිත ගිණුම වෙත මාර්ගගත කරමින් අවම පිරිවැය සහිත සැපයුම්කරුවන් සඳහා ප්රශස්ත කරයි |
**උසස් සංයෝජන සහ ස්වයංක්රීය උපායමාර්ග** (එක් එක් සංයෝජනය සඳහා හෝ `auto/*` උපසර්ග හරහා වින්යාස කළ හැක — [AUTO-COMBO.md](../routing/AUTO-COMBO.md) බලන්න):
- `priority` — දැඩි අනුපිළිවෙළක්; කිසිවිටෙකත් වටමාරු නොකරයි
- `weighted` — එක් එක් ආකෘතියේ බර අනුව සමානුපාතික ගමනාගමන බෙදීම
- `fill-first` — සීමාවලට ළඟා වන තුරු පළමු ආකෘතිය භාවිත කර අවසන් කරයි
- `round-robin` / `strict-random` / `random`
- `p2c` (තේරීම් දෙකක බලය)
- `least-used` සහ `cost-optimized`
- `auto` — සියලු අපේක්ෂකයන් හරහා ලකුණු මත පදනම්ව ක්රියා කරයි
- `lkgp` (අවසන් වරට සාර්ථක වූ සැපයුම්කරු) — අවසන් සාර්ථක සැපයුම්කරුට බැඳී සිට, පසුව නීති වෙත පසුබසියි
- `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. කේතකරණ නියෝජිත සංයෝජනය: පිරිවැය/වේගය මත පසුබැසීමක් සහිත ඉහළ මට්ටමේ තර්කනය
කේතකරණ නියෝජිතයන්ට (OpenCode, Claude Code, Cursor, Cline) වඩාත් සුදුසුය. මුලින් අතිනවීන තර්කන ආකෘති වෙත මාර්ගගත කරයි; කෝටාව අවසන් වූ විට හෝ දෝෂ ඇති වූ විට වේගවත් කේතකරණ ආකෘති වෙත පසුබසියි.
- **උපකරණ පුවරුව**: 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කට** සංවිධානය කර ඇත:
| ටැබය | අන්තර්ගතය |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **සාමාන්ය** | පද්ධති ආචයන මෙවලම්, පෙරනිමි හැසිරීම, Endpoint tunnel දෘශ්යතාව |
| **පෙනුම** | තේමා පාලන (ආලෝක/අඳුරු/පද්ධති), පැති තීරු දෘශ්යතාව, Cloudflare/Tailscale/ngrok tunnel කාඩ්පත් සඳහා පැනල මාරුකිරීම් |
| **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-අනුකූල endpoint එක හරහා ශ්රව්ය පිටපත්කරණයට සහාය දක්වයි:
```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 මඟහැරීම් සහ ක්රියාශීලී
පසුබැසීමේ සම්පීඩනයට, අඩු tail latency සඳහා මාර්ගගත කිරීමේ/ඉල්ලීම් නිරවද්යතාව හුවමාරු කිරීමට ඉඩ ලැබේ.
ඉහළ ප්රවාහ සැපයුම්කරුවන්ට දැඩි `max_tokens` / `maxOutputTokens` සීමා අවශ්ය වන විට **Reasoning token buffer** අක්රිය කරන්න. එය සක්රිය කර ඇති විට, combo routing මඟින් දන්නා ප්රතිදාන සීමාවක් සහිත මාදිලි සඳහා පමණක් reasoning-model අතිරේක ඉඩක් එක් කරන අතර, ආරක්ෂිත ලෙස buffer කළ අගය එම සීමාව ඉක්මවන්නේ නම් සේවාදායකයාගේ token සීමාව වෙනස් නොකර තබයි. සේවාදායකයාගේ සීමාව දැනටමත් දන්නා සීමාවකට වඩා ඉහළ නම්, ඉහළ ප්රවාහ ඉල්ලීම යැවීමට පෙර OmniRoute එය එම සීමාව දක්වා අඩු කරයි.
---
### පද්ධති සෞඛ්ය උපකරණ පුවරුව
**Dashboard → Health** හරහා ප්රවේශ වන්න. කාඩ්පත් 6ක් සහිත තත්ය කාලීන පද්ධති සෞඛ්ය දළ විශ්ලේෂණයකි:
| කාඩ්පත | එය පෙන්වන දේ |
| ----------------------- | -------------------------------------------------------------- |
| **පද්ධති තත්ත්වය** | ක්රියාත්මක කාලය, අනුවාදය, මතක භාවිතය, දත්ත නාමාවලිය |
| **සැපයුම්කරුගේ සෞඛ්යය** | ගෝලීය සැපයුම්කරු circuit breaker එකේ ධාවන තත්ත්වය |
| **අනුපාත සීමා** | ඉතිරි කාලය සමඟ එක් එක් ගිණුම සඳහා සක්රිය සම්බන්ධතා cooldowns |
| **සක්රිය අගුලු දැමීම්** | සක්රිය මාදිලි-විෂයපථ අගුලු දැමීම් සහ තාවකාලික බැහැර කිරීම් |
| **Signature Cache** | අනුපිටපත් ඉවත් කිරීමේ cache සංඛ්යාලේඛන (සක්රිය keys, hit rate) |
| **ප්රමාද Telemetry** | එක් එක් සැපයුම්කරු සඳහා p50/p95/p99 ප්රමාද එකතුව |
**ප්රයෝජනවත් ඉඟිය:** Health පිටුව සෑම තත්පර 10කට වරක්ම ස්වයංක්රීයව නැවුම් වේ. ගැටලු අත්විඳින සැපයුම්කරුවන් හඳුනා ගැනීමට circuit breaker කාඩ්පත භාවිත කරන්න.
---
## 🤖 ස්වයංක්රීය මාර්ගගත කිරීම (වින්යාස රහිත)
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 reasoning) |
| `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
}'
```
ලකුණුකරණ බර සීරුමාරු කිරීම, සැපයුම්කරුවන් අසාදු ලේඛනගත කිරීම සහ **Dashboard → Auto Combo** තුළ මාර්ගගත කිරීමේ තීරණ පරීක්ෂා කිරීම ඇතුළුව, ස්වයංක්රීය මාර්ගගතකය පිළිබඳ සම්පූර්ණ විස්තරය [AUTO-COMBO.md](../routing/AUTO-COMBO.md) හි ඇත.
---
## 🔌 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) ද බලන්න.
---
## 🧠 කුසලතා පද්ධතිය
නියෝජිතයන්ට සහ A2A අන්ත ලක්ෂ්යයට වසම්-විශේෂිත ක්රියා පටිපාටි (උදා. `code-review`, `summarize`, `extract-facts`, `web-research`) ධාවනය කළ හැකි වන පරිදි OmniRoute විස්තාරණය කළ හැකි **කුසලතා රාමුවක්** (`src/lib/skills/`) සපයයි.
- **වෙළඳපොළ UI** — **උපකරණ පුවරුව → කුසලතා** වෙතින් කුසලතා පිරික්සා ස්ථාපනය කරන්න
- **යතුරකට අදාළ විෂය පථ** — කුමන API යතුරුවලට කුමන කුසලතා කැඳවිය හැකිද යන්න සීමා කරන්න
- **අභිරුචි කුසලතා** — TypeScript ගොනුවක් `src/lib/a2a/skills/` තුළට දමා, එය ලියාපදිංචි කරන්න; එවිට එය වහාම A2A හරහා කැඳවිය හැකි වේ
සම්පූර්ණ යොමුව: [SKILLS.md](../frameworks/SKILLS.md).
---
## 💾 මතක පද්ධතිය
OmniRoute දෙමුහුන් ලබාගැනීම සමඟ **දිගුකාලීන සංවාද මතකය** ස්ථිරව ගබඩා කරයි:
- පසුගිය සංවාද වාර තුළ මූලපද සෙවීම සඳහා **SQLite FTS5**
- අර්ථමය මතකයට නැවත කැඳවීම සඳහා **Qdrant vector store** (විකල්ප)
- **ස්වයංක්රීය කරුණු උකහා ගැනීම** — එක් එක් සැසියෙන් පසු ඒකක, මනාප සහ තීරණ සාරාංශ කර `memory_facts` වගුවේ ගබඩා කෙරේ
- මතකයන් එක් එක් API යතුර සහ එක් එක් සැසිය අනුව විෂය පථගත කර ඇත
**උපකරණ පුවරුව → මතකය** තුළ මතකයන් කළමනාකරණය කරන්න (සොයන්න, සංස්කරණය කරන්න, නිර්යාත කරන්න, ඉවත් කරන්න). HTTP අතුරුමුහුණත (`/api/memory/*`) මඟින් නියෝජිතයන්ට ක්රමලේඛමය ලෙස කරුණු යැවීමට සහ විමසීමට හැකියාව ලැබේ — [MEMORY.md](../frameworks/MEMORY.md) බලන්න.
---
## 🔔 Webhooks
තත්ය කාලීන අධීක්ෂණය සහ ස්වයංක්රීයකරණය සඳහා OmniRoute සිදුවීම්වලට දායක වන්න.
- ඉලක්ක URL එකක් සහ HMAC අත්සන් කිරීමේ රහසක් සමඟ **උපකරණ පුවරුව → Webhooks** තුළ webhook එකක් සාදන්න
- ලබාගත හැකි සිදුවීම්: `request.completed`, `request.failed`, `provider.unavailable`, `budget.exceeded`, `combo.switched`, `circuit_breaker.opened`, `circuit_breaker.closed`
- සත්යාපනය සඳහා සෑම payload එකකම `X-OmniRoute-Signature` (HMAC-SHA256) ඇතුළත් වේ
- නැවත උත්සාහ කිරීම්: ඝාතීය ප්රමාදය සමඟ උත්සාහ 3ක්, ඉන්පසු dead-letter පෝලිමට යොමු කෙරේ
සම්පූර්ණ schema එක [WEBHOOKS.md](../frameworks/WEBHOOKS.md) තුළ ඇත.
---
## ☁️ Cloud නියෝජිතයන්
ඔබේ දේශීය routing කළමනාකරණය කරන එම උපකරණ පුවරුවෙන්ම දිගු වේලාවක් ධාවනය වන කාර්යයන් යැවිය හැකි වන පරිදි OmniRoute cloud coding නියෝජිතයන් (**OpenAI Codex Cloud**, **Devin**, **Jules**, **Antigravity**) සමඟ ඒකාබද්ධ වේ.
- **උපකරණ පුවරුව → Cloud නියෝජිතයන්** තුළින් හෝ `POST /api/v1/agents/tasks` හරහා කාර්යයන් සාදන්න
- එක් එක් කාර්යයේ තත්ත්වය, ලොග් සහ කෘතිකයන් නිරීක්ෂණය කරන්න
- එක් එක් provider සඳහා ඔබේම API යතුර රැගෙන එන්න — අක්තපත්ර කිසිවිටෙක OmniRoute instance එකෙන් පිටතට නොයයි
සම්පූර්ණ යොමුව: [CLOUD_AGENT.md](../frameworks/CLOUD_AGENT.md).
---
## 🛠️ ක්රමලේඛමය කළමනාකරණය
**`manage` විෂය පථය සහිත Bearer යතුරක්** භාවිතයෙන් ඔබට සෑම OmniRoute සම්පතක්ම (providers, combos, keys, settings) HTTP හරහා කළමනාකරණය කළ හැක.
**උපකරණ පුවරුව → API යතුරු → නව යතුර → විෂය පථය: manage** තුළ යතුර ජනනය කර, ඉන්පසු:
```bash
# Providers ලැයිස්තුගත කරන්න
curl http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
# Provider සම්බන්ධතාවක් එක් කරන්න
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" }'
# Combo එකක් සාදන්න
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"] }'
```
සම්පූර්ණ අන්ත ලක්ෂ්ය නාමාවලිය සහ ඉල්ලීම්/ප්රතිචාර schema සඳහා [API_REFERENCE.md](../reference/API_REFERENCE.md) බලන්න.
---
## 💻 අභ්යන්තර CLI
පිහිටුවීම, රෝග නිර්ණය සහ ධාවනකාල පාලනය සඳහා OmniRoute අභ්යන්තර CLI එකක් (`omniroute …`) සමඟ පැමිණේ. මෙය තෙවන පාර්ශ්වීය CLI (Claude Code, Cursor, Codex, Cline, …) වලට OmniRoute සමඟ සන්නිවේදනය කළ හැකි වන පරිදි ඒවා වින්යාස කරන, උපකරණ පුවරුවේ ඇති **"CLI මෙවලම්" පිටුවෙන් වෙනස් වූවකි**.
```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 universal)
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)