# User Guide (Magyar)
🌐 **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) · 🇦🇲 [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) · 🇮🇳 [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) · 🇦🇲 [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)
Teljes körű útmutató a szolgáltatók konfigurálásához, a kombinációk létrehozásához, a CLI-eszközök integrálásához és az OmniRoute üzembe helyezéséhez.
---
## Tartalomjegyzék
- [Árak röviden](#-pricing-at-a-glance)
- [Felhasználási esetek](#-use-cases)
- [Szolgáltatók beállítása](#-provider-setup)
- [CLI-integráció](#-cli-integration)
- [Telepítés](#-deployment)
- [Elérhető modellek](#-available-models)
- [Speciális funkciók](#-advanced-features)
- [Automatikus útválasztás (konfiguráció nélkül)](#-auto-routing-zero-config)
- [MCP- és A2A-integráció](#-mcp--a2a-integration)
- [Készségrendszer](#-skills-system)
- [Memóriarendszer](#-memory-system)
- [Webhookok](#-webhooks)
- [Felhőalapú ügynökök](#-cloud-agents)
- [Programozott kezelés](#-programmatic-management)
- [Belső CLI](#-internal-cli)
- [Asztali alkalmazás (Electron)](#-desktop-application-electron)
---
## 💰 Árak röviden
| Csomag | Szolgáltató | Költség | Kvóta visszaállítása | Erre a legjobb |
| ----------------- | ----------------- | -------------- | ----------------------------- | ---------------------------------- |
| **💳 ELŐFIZETÉS** | Claude Code (Pro) | $20/hó | 5 óránként + hetente | Már rendelkezik előfizetéssel |
| | Codex (Plus/Pro) | $20-200/hó | 5 óránként + hetente | OpenAI-felhasználóknak |
| | GitHub Copilot | $10-19/hó | Havonta | GitHub-felhasználóknak |
| **🔑 API-KULCS** | DeepSeek | Használatalapú | Nincs | Olcsó következtetéshez |
| | Groq | Használatalapú | Nincs | Ultragyors inferenciához |
| | xAI (Grok) | Használatalapú | Nincs | Grok 4-alapú következtetéshez |
| | Mistral | Használatalapú | Nincs | EU-ban üzemeltetett modellekhez |
| | Perplexity | Használatalapú | Nincs | Kereséssel kiegészített működéshez |
| | Together AI | Használatalapú | Nincs | Nyílt forráskódú modellekhez |
| | Fireworks AI | Használatalapú | Nincs | Gyors FLUX-képgeneráláshoz |
| | Cerebras | Használatalapú | Nincs | Szeletszintű sebességhez |
| | Cohere | Használatalapú | Nincs | Command R+ RAG-hoz |
| | NVIDIA NIM | Használatalapú | Nincs | Vállalati modellekhez |
| | Baidu Qianfan | Használatalapú | Nincs | ERNIE-modellekhez |
| **💰 OLCSÓ** | GLM-4.7 | $0.6/1M | Naponta 10 órakor | Kedvező árú tartaléknak |
| | MiniMax M2.1 | $0.2/1M | Gördülő 5 órás időszak | A legolcsóbb lehetőség |
| | Kimi K2 | $9/hó, fix | 10M token/hó | Kiszámítható költséghez |
| **🆓 INGYENES** | Qoder | $0 | Szolgáltatói korlátok szerint | Ellenőrizze az aktuális kínálatot |
| | Kiro | $0 | ~50 kredit/hó | Ingyenes Claude-hoz |
---
## 🎯 Felhasználási esetek
### 1. eset: „Van Claude Pro-előfizetésem”
**Probléma:** A kvóta kihasználatlanul lejár, intenzív kódolás közben pedig életbe lépnek a sebességkorlátok
```
Kombináció: "maximize-claude"
1. cc/claude-opus-4-7 (az előfizetés teljes kihasználása)
2. glm/glm-4.7 (olcsó tartalék a kvóta kimerülésekor)
3. if/qwen3.8-max-preview (ingyenes vészhelyzeti tartalék)
Havi költség: $20 (előfizetés) + ~$5 (tartalék) = összesen $25
szemben a $20 + korlátok elérése = frusztráció lehetőséggel
```
### 2. eset: „Nulla költséget szeretnék”
**Probléma:** Nem engedhetem meg magamnak az előfizetéseket, de megbízható AI-alapú kódolásra van szükségem
```
Kombináció: "zero-cost"
1. if/kimi-k2.7-code (ingyenes hozzáférésként feltüntetve; sebességkorlátok érvényesek lehetnek)
2. kr/qwen3-coder-next (ingyenes Kiro-tartalék)
Havi költség: $0
Minőség: ellenőrizze a modellt, a korlátokat, az adatvédelmet és az SLA-t a saját munkaterheléséhez
```
### 3. eset: „Megszakítás nélküli, éjjel-nappali kódolásra van szükségem”
**Probléma:** Szoros határidők, nem engedhetem meg magamnak a leállást
```
Kombináció: "always-on"
1. cc/claude-opus-4-7 (legjobb minőség)
2. cx/gpt-5.5 (második előfizetés)
3. glm/glm-4.7 (olcsó, naponta visszaáll)
4. minimax/MiniMax-M2.1 (legolcsóbb, 5 órás visszaállítás)
5. if/deepseek-v4-flash (ingyenes hozzáférésként feltüntetve; sebességkorlátok érvényesek lehetnek)
Eredmény: 5 tartalékréteg növeli a hibatűrést; a külső szolgáltatások rendelkezésre állása nem garantált
Havi költség: $20-200 (előfizetések) + $10-20 (tartalék)
```
### 4. eset: „INGYENES AI-t szeretnék az OpenClaw-ban”
**Probléma:** Teljesen ingyenes AI-asszisztensre van szükségem az üzenetküldő alkalmazásokban
```
Kombináció: "openclaw-free"
1. if/qwen3.8-max-preview (ingyenes hozzáférésként feltüntetve; sebességkorlátok érvényesek lehetnek)
2. if/deepseek-v4-flash (ingyenes hozzáférésként feltüntetve; sebességkorlátok érvényesek lehetnek)
3. if/kimi-k2.7-code (ingyenes hozzáférésként feltüntetve; sebességkorlátok érvényesek lehetnek)
Havi költség: $0
Elérés ezeken keresztül: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
```
---
## 📖 Szolgáltatók beállítása
API-kulcsos kapcsolatok CSV- vagy JSON-fájlból történő tömeges hozzáadásához használja az **Irányítópult → Szolgáltatók → Importálás fájlból** lehetőséget. Az oszlopok pozícióhoz kötöttek (`provider,name,apiKey,baseUrl,priority`); a `provider` értékének már létező felügyelt szolgáltatónak vagy kompatibilis csomópontnak kell lennie. Lásd: [Szolgáltatók importálása CSV- vagy JSON-fájlból](../providers/CSV-IMPORT.md).
### 🔐 Előfizetéses szolgáltatók
#### Claude Code (Pro/Max)
```bash
Irányítópult → Szolgáltatók → Claude Code csatlakoztatása
→ OAuth-bejelentkezés → Automatikus tokenfrissítés
→ 5 órás és heti kvótakövetés
Modellek:
cc/claude-opus-4-7
cc/claude-sonnet-4-6
cc/claude-haiku-4-5-20251001
```
**Profi tipp:** Összetett feladatokhoz használja az Opust, nagyobb sebességhez pedig a Sonnetet. Az OmniRoute modellenként követi a kvótát!
A Claude-dal és Claude Code-dal kompatibilis útvonalak megőrzik a `max` gondolkodási ráfordítást az Opus és Sonnet modelleknél. A Haiku modellek nem fogadják el a `max` ráfordítási szintet, ezért az OmniRoute a kérés upstream szolgáltatónak történő elküldése előtt magas gondolkodási keretre csökkenti azt.
#### OpenAI Codex (Plus/Pro)
```bash
Irányítópult → Szolgáltatók → Codex csatlakoztatása
→ OAuth-bejelentkezés (1455-ös port)
→ 5 órás és heti visszaállítás
Modellek:
cx/gpt-5.5
cx/gpt-5.4
cx/gpt-5.3-codex
cx/gpt-5.3-codex-spark
```
#### GitHub Copilot
```bash
Irányítópult → Szolgáltatók → GitHub csatlakoztatása
→ OAuth a GitHubon keresztül
→ Havi visszaállítás (a hónap 1. napján)
Modellek:
gh/gpt-5.5
gh/gpt-5.4
gh/claude-sonnet-4.6
gh/claude-opus-4.7
gh/gemini-3.1-pro-preview
```
### 💰 Olcsó szolgáltatók
#### GLM-4.7 (Napi visszaállítás, $0.6/1M)
1. Regisztráció: [Zhipu AI](https://open.bigmodel.cn)
2. Szerezze be az API-kulcsot a Coding Planből
3. Irányítópult → API-kulcs hozzáadása: Szolgáltató: `glm`, API-kulcs: `your-key`
**Használat:** `glm/glm-4.7` — **Profi tipp:** A Coding Plan háromszoros kvótát kínál a költség hetedéért! Naponta 10:00-kor áll vissza.
#### MiniMax M2.1 (5 órás visszaállítás, $0.20/1M)
1. Regisztráció: [MiniMax](https://www.minimax.io)
2. Szerezze be az API-kulcsot → Irányítópult → API-kulcs hozzáadása
**Használat:** `minimax/MiniMax-M2.1` — **Profi tipp:** A legolcsóbb lehetőség hosszú kontextushoz (1M token)!
#### Kimi K2 (fix $9/hónap)
1. Előfizetés: [Moonshot AI](https://platform.kimi.ai?aff=omniroute)
2. Szerezze be az API-kulcsot → Irányítópult → API-kulcs hozzáadása
**Használat:** `kimi/kimi-k2.5` — **Profi tipp:** Fix $9/hónap 10M tokenért = ténylegesen $0.90/1M költség!
#### Baidu Qianfan / ERNIE
1. Regisztráció: [Baidu AI Cloud Qianfan](https://cloud.baidu.com/product/wenxinworkshop)
2. Hozzon létre egy Qianfan API-kulcsot → Irányítópult → API-kulcs hozzáadása: Szolgáltató: `qianfan`
**Használat:** `qianfan/ernie-5.1`, `qianfan/ernie-x1.1` vagy egy másik, OpenAI-kompatibilis Qianfan-modellazonosító.
### 🆓 INGYENES szolgáltatók
A hitelesítést nem igénylő ingyenes szolgáltatók oldalán egy kapcsoló található a **Nincs szükség hitelesítésre** lehetőség mellett. Kikapcsolása letiltja az adott szolgáltatót, eltávolítja azt a Szolgáltatók konfigurált/tömörített nézeteiből, a modelljeit pedig eltávolítja a `/v1/models` útvonalról.
#### Qoder (9 INGYENES modell)
```bash
Irányítópult → Qoder csatlakoztatása → OAuth-bejelentkezés → A hozzáférésre a szolgáltató aktuális korlátai vonatkoznak
Modellek: 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 (INGYENES Claude)
```bash
Irányítópult → Kiro csatlakoztatása → AWS Builder ID vagy Google/GitHub → ~50 kredit/hónap
Modellek: kr/claude-sonnet-4.5, kr/claude-haiku-4.5
```
---
## 🎨 Kombinációk
A kombinációs kártyákat közvetlenül az **Irányítópult → Kombinációk** oldalon rendezheted át az egyes kártyák fogantyújának húzásával. A sorrendet az SQLite tárolja, és újratöltéskor visszaállítja.
### 1. példa: Előfizetés maximalizálása → Olcsó tartalék
```
Irányítópult → Kombinációk → Új létrehozása
Név: premium-coding
Modellek:
1. cc/claude-opus-4-7 (Elsődleges előfizetés)
2. glm/glm-4.7 (Olcsó tartalék, $0.6/1M)
3. minimax/MiniMax-M2.7 (Legolcsóbb végső tartalék, $0.3/1M)
Használat a CLI-ben: premium-coding
```
### 2. példa: Csak ingyenes (nulla költség)
```
Név: free-combo
Modellek:
1. if/kimi-k2.7-code (ingyenes hozzáférésűként feltüntetve; szolgáltatói korlátozások érvényesek lehetnek)
2. kr/qwen3-coder-next (Ingyenes Kiro-tartalék)
Költség: jelenleg $0-ként van feltüntetve; a feltételek és az elérhetőség változhatnak
```
---
## 🔧 CLI-integráció
### Cursor IDE
**A Cursor használata OmniRoute-kliensként** (a Cursor csevegésének átirányítása az OmniRoute-on keresztül):
```
Beállítások → Modellek → Speciális:
OpenAI API alap-URL: http://localhost:20128/v1
OpenAI API-kulcs: [az OmniRoute irányítópultjáról]
Modell: cc/claude-opus-4-7
```
**Az OmniRoute használata Cursor-szolgáltatóként** (az OmniRoute a Cursor felsőbb szintű szolgáltatását hívja): részesítsd előnyben az
**Irányítópult → Szolgáltatók → Cursor → Bejelentkezés Cursorral** lehetőséget. Dockerben lásd:
[`docs/providers/CURSOR-DOCKER.md`](../providers/CURSOR-DOCKER.md).
### Claude Code
Szerkeszd a `~/.claude/settings.json` fájlt:
```json
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
}
}
```
Itt a Claude-kompatibilis gyökérvégpontot használd. Ne fűzd hozzá a `/v1` útvonalat az `ANTHROPIC_BASE_URL` értékéhez.
### Codex CLI
```bash
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"
```
### OpenClaw
Szerkeszd a `~/.openclaw/openclaw.json` fájlt:
```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" }]
}
}
}
}
```
**Vagy használd az irányítópultot:** CLI-eszközök → OpenClaw → Automatikus konfigurálás
### Cline / Continue / RooCode
```
Szolgáltató: OpenAI-kompatibilis
Alap-URL: http://localhost:20128/v1
API-kulcs: [az irányítópultról]
Modell: cc/claude-opus-4-7
```
---
## 🚀 Telepítés
### Globális npm-telepítés (ajánlott)
```bash
npm install -g omniroute
# Konfigurációs könyvtár létrehozása
mkdir -p ~/.omniroute
# .env fájl létrehozása (lásd: .env.example)
cp .env.example ~/.omniroute/.env
# Kiszolgáló indítása
omniroute
# Vagy egyéni porttal:
omniroute --port 3000
```
A CLI automatikusan betölti a `.env` fájlt a `~/.omniroute/.env` vagy a `./.env` helyről.
### Tálcamód
Indítsd el az OmniRoute-ot a rendszertálcán:
```bash
omniroute serve --tray
```
A parancs akkor tér vissza, amikor a kiszolgáló és a tálca készen áll.
A kiszolgáló a terminál nélkül is tovább fut.
A tálcamód támogatja a macOS, a Windows és a grafikus Linux-munkameneteket. A tálcamód nem nyitja meg automatikusan az irányítópultot.
A következő műveletekhez használd a tálcamenüt:
- Az irányítópult megnyitása.
- A `/dashboard/logs` megnyitása.
- Az automatikus indítás módosítása.
- Az OmniRoute leállítása.
Ne használd a `--tray` kapcsolót a következő beállításokkal együtt:
- `--daemon`
- `--log`
- `--no-recovery`
Ezek a módok eltérő folyamattulajdonlást igényelnek.
Az indítás engedélyezése a gépre történő következő bejelentkezéskor:
```bash
omniroute autostart enable
```
Az automatikus indítás tálcamódot használ macOS, Windows és grafikus Linux-munkamenetekben. A grafikus felület nélküli Linux a meglévő systemd felhasználói szolgáltatást használja.
Az indítás letiltása bejelentkezéskor:
```bash
omniroute autostart disable
```
### Eltávolítás
Ha már nincs szükséged az OmniRoute-ra, két gyors parancsfájlt biztosítunk a tiszta eltávolításhoz:
| Parancs | Művelet |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| `npm run uninstall` | Eltávolítja a rendszeralkalmazást, de **megtartja az adatbázist és a konfigurációkat** a `~/.omniroute` könyvtárban. |
| `npm run uninstall:full` | Eltávolítja az alkalmazást, ÉS véglegesen **törli az összes konfigurációt, kulcsot és adatbázist**. |
> Megjegyzés: A parancsok futtatásához lépj az OmniRoute projektmappájába (ha klónoztad), majd futtasd őket. Ha globálisan telepítetted, egyszerűen futtathatod az `npm uninstall -g omniroute` parancsot.
### VPS-telepítés
```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
# Vagy: pm2 start npm --name omniroute -- start
```
### PM2-telepítés (kevés memória)
Korlátozott RAM-mal rendelkező kiszolgálók esetén használd a memóriakorlát beállítását:
```bash
# 512 MB-os korláttal (alapértelmezett)
pm2 start npm --name omniroute -- start
# Vagy egyéni memóriakorláttal
OMNIROUTE_MEMORY_MB=512 pm2 start npm --name omniroute -- start
# Vagy az ecosystem.config.js használatával
pm2 start ecosystem.config.js
```
Hozd létre az `ecosystem.config.js` fájlt:
```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
# Rendszerkép létrehozása (alapértelmezett = runner-cli előtelepített codex/claude/droid eszközökkel)
docker build -t omniroute:cli .
# Hordozható mód (ajánlott)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cli
```
A CLI-binárisokkal működő, gazdarendszerbe integrált módhoz lásd a fő dokumentáció Docker-szakaszát.
### Void Linux (xbps-src)
A Void Linux felhasználói az `xbps-src` keresztfordítási keretrendszer használatával natív módon csomagolhatják és telepíthetik az OmniRoute-ot. Ez automatizálja az önálló Node.js-buildet, valamint a szükséges natív `better-sqlite3`-kötések létrehozását.
Az xbps-src-sablon megtekintése
```bash
# Sablonfájl az „omniroute” csomaghoz
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() {
# A célprocesszor architektúrájának meghatározása a node-gyp számára
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) Az összes függőség telepítése – szkriptek kihagyásával
NODE_ENV=development npm ci --ignore-scripts
# 2) Az önálló Next.js-csomag összeállítása
npm run build
# 3) A statikus erőforrások bemásolása az önálló csomagba
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true
# 4) A natív better-sqlite3-kötés lefordítása
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) A lefordított kötés elhelyezése az önálló csomagban
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) Az architektúraspecifikus sharp-csomagok eltávolítása
rm -rf .next/standalone/node_modules/@img
# 7) A Next.js statikus elemzése által kihagyott pino futásidejű függőségek másolása:
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
# Annak megakadályozása, hogy a telepítés utáni horog eltávolítsa az üres Next.js alkalmazásútválasztó-könyvtárakat
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
}
```
### Környezeti változók
| Változó | Alapértelmezett érték | Leírás |
| --------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `JWT_SECRET` | `omniroute-default-secret-change-me` | JWT-aláírási titok (**éles környezetben módosítsa**) |
| `INITIAL_PASSWORD` | `CHANGEME` | Első bejelentkezési jelszó |
| `DATA_DIR` | `~/.omniroute` | Adatkönyvtár (adatbázis, használati adatok, naplók) |
| `PORT` | keretrendszer alapértelmezése | Szolgáltatás portja (a példákban `20128`) |
| `HOSTNAME` | keretrendszer alapértelmezése | Figyelési cím (a Docker alapértelmezése `0.0.0.0`) |
| `NODE_ENV` | futtatókörnyezet alapértelmezése | Telepítéshez állítsa `production` értékre |
| `NEXT_PUBLIC_BASE_URL` | `http://localhost:20128` | Az irányítópulton megjelenített és a kiszolgáló számára elérhető nyilvános alap-URL (a korábbi `BASE_URL` helyett) |
| `NEXT_PUBLIC_CLOUD_URL` | `https://omniroute.dev` | A felhőszinkronizálási végpont alap-URL-je (a korábbi `CLOUD_URL` helyett) |
| `API_KEY_SECRET` | `endpoint-proxy-api-key-secret` | HMAC-titok a generált API-kulcsokhoz |
| `REQUIRE_API_KEY` | `false` | Bearer API-kulcs megkövetelése a `/v1/*` útvonalakon |
| `ALLOW_API_KEY_REVEAL` | `false` | Annak engedélyezése, hogy a hitelesített irányítópult-felhasználók igény szerint felfedjék a tárolt API-kulcsok teljes értékét |
| `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES` | `70` | A gyorsítótárazott szolgáltatói korlátadatok kiszolgálóoldali frissítési gyakorisága; a felhasználói felület frissítési gombjai továbbra is kézi szinkronizálást indítanak |
| `DISABLE_SQLITE_AUTO_BACKUP` | `false` | Az írás, importálás és visszaállítás előtti automatikus SQLite-pillanatképek letiltása; a kézi biztonsági mentések továbbra is működnek |
| `APP_LOG_TO_FILE` | `true` | Engedélyezi az alkalmazás- és auditnaplók lemezre írását |
| `AUTH_COOKIE_SECURE` | `false` | A hitelesítési süti `Secure` attribútumának kikényszerítése (HTTPS fordított proxy mögött) |
| `CLOUDFLARED_BIN` | nincs beállítva | Meglévő `cloudflared` bináris használata a felügyelt letöltés helyett |
| `CLOUDFLARED_PROTOCOL` | `http2` | A felügyelt gyors alagutak átviteli protokollja (`http2`, `quic` vagy `auto`) |
| `OMNIROUTE_MEMORY_MB` | `512` | A Node.js halommemória-korlátja MB-ban |
| `PROMPT_CACHE_MAX_SIZE` | `50` | A prompt-gyorsítótár bejegyzéseinek maximális száma |
| `SEMANTIC_CACHE_MAX_SIZE` | `100` | A szemantikus gyorsítótár bejegyzéseinek maximális száma |
A környezeti változók teljes referenciáját lásd a [README](../README.md) fájlban.
---
## 📊 Elérhető modellek
Az összes elérhető modell megtekintése
> Az alábbi lista az `open-sse/config/providerRegistry.ts` alapján lett összeállítva a v3.8.0 verzióhoz. A felhőalapú katalógusok (Gemini, OpenRouter stb.) dinamikusan szinkronizálódnak — a teljes, aktuális katalógus megtekintéséhez nyissa meg az **Irányítópult → Szolgáltatók → [szolgáltató] → Elérhető modellek** oldalt, vagy hívja meg a `GET /api/models/catalog` végpontot.
>
> Ha egy szolgáltató beépített listája elavult, az aktuális külső katalógus lekéréséhez használja az adott oldalon az **Importálás a /models végpontról** lehetőséget (vagy engedélyezze az **Automatikus szinkronizálást**). Ezt a v3.8.50 verzióban ellenőriztük az LLM7.io (`gemini-3.1-flash-lite`) és az UncloseAI (`solidrust/Hermes-3-Llama-3.1-8B-AWQ`) esetében; a Pollinations névtelen hozzáférése ugyanezen tesztelési kör során továbbra is a külső szolgáltató által korlátozott maradt.
**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` (+ következtetési szintek: `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/`)** — INGYENES OAuth: használja az **Irányítópult → Szolgáltatók → Kiro → Elérhető modellek** alatt megjelenő aktuális katalógust. Az elérhetőség a fióktól és az előfizetési csomagtól függ.
**Qoder (`if/`)** — INGYENES 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/`)** — havi $9 átalánydíj vagy használatalapú díjazás: `kimi/kimi-k2.6`, `kimi/kimi-k2.5`
**DeepSeek (`ds/`)** — API-kulcs: `ds/deepseek-v4-pro`, `ds/deepseek-v4-flash`
**Groq (`groq/`)** — Rendkívül gyors: `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/`)** — Natív 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-ban üzemeltetve: `mistral/mistral-large-latest`, `mistral/mistral-medium-3-5`, `mistral/mistral-small-latest`, `mistral/devstral-latest`, `mistral/codestral-latest`
**Perplexity (`pplx/`)** — Kereséssel kiegészítve: `pplx/sonar-deep-research`, `pplx/sonar-reasoning-pro`, `pplx/sonar-pro`, `pplx/sonar`
**Together AI (`together/`)** — Nyílt forráskódú: `together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free` (ingyenes), `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/`)** — Gyors következtetés: `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/`)** — Ostyaléptékű: `cerebras/zai-glm-4.7`, `cerebras/gpt-oss-120b`
**Cohere (`cohere/`)** — RAG-központú: `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/`)** — Vállalati: `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/`)**: Élőben, API-kulcsonként szinkronizálva a Google-től — nincs statikus lista. Csatlakoztasson egy kulcsot az **Irányítópult → Szolgáltatók** oldalon, majd az **Elérhető modellek** funkcióval importálja az aktuális katalógust (például `gemini/gemini-3-pro`, `gemini/gemini-3-flash`).
**Egyéb kompatibilis szolgáltatók** (válogatás): `cohere`, `databricks`, `snowflake`, `together`, `vertex`, `alibaba`, `alibaba-cn`, `bedrock` (az `aws-bedrock` közvetítésével), `azure-ai`, `openrouter` (átengedett katalógus), `siliconflow`, `hyperbolic`, `huggingface`, `featherless-ai`, `cloudflare-ai`, `scaleway`, `deepinfra`, `vercel-ai-gateway`, `bazaarlink`, `friendliai`, `nous-research`, `reka`, `volcengine`, `ai21`, `gigachat`. Mindegyik a saját modelllistáját tartja karban a `providerRegistry.ts` fájlban, és automatikusan szinkronizálható, ha a szolgáltató biztosít `/models` végpontot.
**Megjegyzés a modellazonosítókról:** Az OmniRoute a szolgáltatónál natív azonosítókat használja (`claude-opus-4-8`, `gpt-5.5`, `glm-5.1`, `MiniMax-M2.7`, `kimi-k2.5`, `grok-4.20-0309-reasoning`). Egyes azonosítók ponttal tagolt verziókat tartalmaznak, mert a külső API ilyen formában várja őket. Ha egy modell nem szerepel fent, futtassa az `omniroute models --search ` parancsot, vagy hívja meg a `GET /api/models/catalog` végpontot az elérhetőség megerősítéséhez.
---
## 🧩 Speciális funkciók
### Egyéni modellek
Bármely szolgáltatóhoz hozzáadhat bármilyen modellazonosítót anélkül, hogy alkalmazásfrissítésre kellene várnia:
```bash
# API-n keresztül
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"}'
# Listázás: curl http://localhost:20128/api/provider-models?provider=openai
# Eltávolítás: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-5.2"
```
Vagy használja a vezérlőpultot: **Szolgáltatók → [Szolgáltató] → Egyéni modellek**.
Megjegyzések:
- Az OpenRouter, valamint az OpenAI-/Anthropic-kompatibilis szolgáltatók kizárólag az **Elérhető modellek** részből kezelhetők. A kézi hozzáadás, az importálás és az automatikus szinkronizálás ugyanazt az elérhetőmodell-listát használja, ezért ezeknél a szolgáltatóknál nincs külön Egyéni modellek szakasz.
- Az **Egyéni modellek** szakasz azoknak a szolgáltatóknak készült, amelyek nem tesznek lehetővé felügyelt elérhetőmodell-importálást.
### OmniRoute-társak láncolása
Egy másik OmniRoute-átjáró **egyéni OpenAI-kompatibilis** szolgáltatóként adható hozzá. Használja a társ
`/v1` alap-URL-jét és az adott társ által kibocsátott, dedikált, legkisebb jogosultságú API-kulcsot.
Kölcsönös vagy több ugrásból álló láncok esetén minden átjárón engedélyezze az opcionális hurokvédelmet:
```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
```
Csak a kifejezetten engedélyezési listára felvett társ-URL-re küldött kérések kapják meg az
`X-OmniRoute-Peer-Trace` fejlécet. Az átjáró HTTP `508 Loop Detected` válasszal utasítja el az ismétlődő példányazonosítót vagy a kimerített ugrási
keretet; a hagyományos felsőbb szintű szolgáltatók nem kapnak társmetaadatokat.
A társak láncolása nem adatbázis-replikáció és nem gazdagép-feladatátvétel. Minden átjáró független
SQLite-állapotot, gyorsítótárakat, sebességkorlátozási számlálókat és munkameneteket tart fenn. Aktív/passzív vagy aktív/aktív rendelkezésre álláshoz használjon állapotellenőrzést végző fordított proxyt vagy kliensoldali
feladatátvételt, és soha ne csatoljon egyetlen SQLite-adatbázist több futó OmniRoute-példányhoz.
### Dedikált szolgáltatói útvonalak
A kéréseket modellérvényesítéssel közvetlenül egy adott szolgáltatóhoz irányíthatja:
```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
```
Ha hiányzik, a rendszer automatikusan hozzáadja a szolgáltatói előtagot. A nem egyező modellek `400` választ adnak.
### Hálózati proxy konfigurálása
```bash
# Globális proxy beállítása
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'
# Szolgáltatónkénti proxy
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'
# Proxy tesztelése
curl -X POST http://localhost:20128/api/settings/proxy/test \
-d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'
```
**Prioritási sorrend:** Kulcsspecifikus → Kombinációspecifikus → Szolgáltatóspecifikus → Globális → Környezet.
### Modellkatalógus API
```bash
curl http://localhost:20128/api/models/catalog
```
A modelleket szolgáltató szerint csoportosítva, típusokkal (`chat`, `embedding`, `image`) adja vissza.
### Felhőalapú szinkronizálás
- Szolgáltatók, kombinációk és beállítások szinkronizálása az eszközök között
- Automatikus háttérbeli szinkronizálás időtúllépéssel és gyors hibajelzéssel
- Éles környezetben részesítse előnyben a szerveroldali `NEXT_PUBLIC_BASE_URL`/`NEXT_PUBLIC_CLOUD_URL` használatát
### Cloudflare Quick Tunnel
- Dockerhez és más saját üzemeltetésű telepítésekhez a **Vezérlőpult → Végpontok** menüpontban érhető el
- Ideiglenes `https://*.trycloudflare.com` URL-t hoz létre, amely az aktuális OpenAI-kompatibilis `/v1` végpontra továbbít
- Az első engedélyezés csak szükség esetén telepíti a `cloudflared` programot; a későbbi újraindítások ugyanazt a felügyelt bináris fájlt használják
- A Quick Tunnels nem áll helyre automatikusan az OmniRoute vagy a konténer újraindítása után; szükség esetén engedélyezze újra a vezérlőpultról
- Az alagút-URL-ek ideiglenesek, és az alagút minden leállításakor, illetve elindításakor megváltoznak
- A felügyelt Quick Tunnels alapértelmezés szerint HTTP/2 átvitelt használ, hogy korlátozott konténerekben elkerülje a zavaró QUIC UDP-pufferrel kapcsolatos figyelmeztetéseket
- Állítsa a `CLOUDFLARED_PROTOCOL` értékét `quic` vagy `auto` értékre, ha felül szeretné írni a felügyelt átviteli módot
- Állítsa be a `CLOUDFLARED_BIN` változót, ha a felügyelt letöltés helyett egy előre telepített `cloudflared` bináris fájlt szeretne használni
- A Cloudflare Quick Tunnel, a Tailscale Funnel és az ngrok Tunnel paneljei megjeleníthetők vagy elrejthetők a **Beállítások → Megjelenés** menüpontban. Egy panel elrejtése nem állítja le a futó alagutat.
### LLM-átjáróintelligencia (9. fázis)
- **Szemantikus gyorsítótár** — Automatikusan gyorsítótárazza a nem streamelt, temperature=0 válaszokat (megkerülhető az `X-OmniRoute-No-Cache: true` fejléccel)
- **Kérések idempotenciája** — Az `Idempotency-Key` vagy `X-Request-Id` fejléc alapján 5 másodpercen belül deduplikálja a kéréseket
- **Folyamatkövetés** — Opcionális SSE `event: progress` események az `X-OmniRoute-Progress: true` fejlécen keresztül
---
### Fordítói tesztkörnyezet
A **Vezérlőpult → Fordító** menüponton keresztül érhető el. Hibakereséssel és vizualizációval követheti, hogyan fordítja át az OmniRoute az API-kéréseket a szolgáltatók között.
| Mód | Cél |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Tesztkörnyezet** | Válassza ki a forrás- és célformátumot, illesszen be egy kérést, és azonnal tekintse meg az átalakított kimenetet |
| **Csevegéstesztelő** | Küldjön élő csevegési üzeneteket a proxyn keresztül, és vizsgálja meg a teljes kérés-válasz ciklust |
| **Tesztpad** | Futtasson kötegelt teszteket több formátumkombinációval a fordítás helyességének ellenőrzéséhez |
| **Élő monitor** | Figyelje valós időben az átalakításokat, miközben a kérések áthaladnak a proxyn |
**Felhasználási esetek:**
- Annak hibakeresése, hogy egy adott kliens-/szolgáltatókombináció miért vall kudarcot
- Annak ellenőrzése, hogy a gondolkodási címkék, az eszközhívások és a rendszerüzenetek megfelelően alakulnak-e át
- Az OpenAI-, Claude-, Gemini- és Responses API-formátumok közötti formátumbeli különbségek összehasonlítása
---
### Útválasztási stratégiák
Konfigurálás: **Irányítópult → Beállítások → Útválasztás**. Az irányítópult a hat leggyakrabban használt stratégiát teszi elérhetővé; a kombinációk és az automatikus útválasztó belsőleg ennél szélesebb készletet támogatnak.
**Az irányítópulton látható stratégiák (fiókszintű útválasztás):**
| Stratégia | Leírás |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Első feltöltése** | Prioritási sorrendben használja a fiókokat — az elsődleges fiók kezeli az összes kérést, amíg elérhető |
| **Körkörös** | Végighalad az összes fiókon, konfigurálható munkamenet-megtartási korláttal (alapértelmezés: 3 hívás fiókonként) |
| **P2C (Kettő közül a jobb)** | Kiválaszt 2 véletlenszerű fiókot, és az egészségesebbhez irányít — az állapot figyelembevételével egyenlíti ki a terhelést |
| **Véletlenszerű** | Fisher–Yates-keveréssel véletlenszerűen választ fiókot minden kéréshez |
| **Legrégebben használt** | A legrégebbi `lastUsedAt` időbélyeggel rendelkező fiókhoz irányít, egyenletesen elosztva a forgalmat |
| **Költségoptimalizált** | A legalacsonyabb prioritási értékkel rendelkező fiókhoz irányít, a legalacsonyabb költségű szolgáltatókra optimalizálva |
**Speciális kombinációs és automatikus stratégiák** (kombinációnként vagy `auto/*` előtagokkal konfigurálhatók — lásd: [AUTO-COMBO.md](../routing/AUTO-COMBO.md)):
- `priority` — szigorú sorrend, soha nem használ körkörös elosztást
- `weighted` — arányos forgalomelosztás modellenkénti súlyok alapján
- `fill-first` — az első modellt használja a korlátok eléréséig
- `round-robin` / `strict-random` / `random`
- `p2c` (Kettő közül a jobb)
- `least-used` és `cost-optimized`
- `auto` — pontszámalapú választás az összes jelölt közül
- `lkgp` (Legutóbb ismert jó szolgáltató) — az utolsó sikeres szolgáltatót rögzíti, majd szükség esetén visszatér a szabályokhoz
- `context-optimized` — a legnagyobb szabad kontextusablakkal rendelkező modellt választja
- `context-relay` — hosszú kontextusú modelleket fűz láncba a követő körökhöz
#### Külső rögzített munkamenet fejléce
Külső munkamenet-hozzárendeléshez (például fordított proxyk mögött működő Claude Code/Codex-ügynökökhöz) küldje el a következőt:
```http
X-Session-Id: your-session-key
```
Az OmniRoute az `x_session_id` fejlécet is elfogadja, és a tényleges munkamenetkulcsot az `X-OmniRoute-Session-Id` fejlécben adja vissza.
Ha Nginxet használ, és aláhúzásjeles fejléceket küld, engedélyezze a következőt:
```nginx
underscores_in_headers on;
```
#### Helyettesítő karakteres modellálnevek
Hozzon létre helyettesítő karakteres mintákat a modellnevek átirányításához:
```
Minta: claude-sonnet-* → Cél: cc/claude-sonnet-4-6
Minta: gpt-* → Cél: gh/gpt-5.3-codex
```
A helyettesítő karakterek támogatják a `*` (tetszőleges karakterek) és a `?` (egyetlen karakter) használatát.
#### Tartalék láncok
Határozzon meg globális tartalék láncokat, amelyek minden kérésre érvényesek:
```
Lánc: production-fallback
1. cc/claude-opus-4-7
2. gh/gpt-5.3-codex
3. glm/glm-4.7
```
---
### Hibatűrés és áramkör-megszakítók
Konfigurálás: **Irányítópult → Beállítások → Hibatűrés**.
Az OmniRoute öt összetevővel valósítja meg a szolgáltatói szintű hibatűrést:
1. **Kéréssor és ütemezés** — Rendszerszintű kérésformálás:
- **Kérések percenként (RPM)** — A fiókonkénti kérések maximális száma percenként
- **Kérések közötti minimális idő** — A kérések közötti minimális időköz ezredmásodpercben
- **Egyidejű kérések maximális száma** — A fiókonkénti egyidejű kérések maximális száma
2. **Kapcsolati várakozási idő** — Hitelesítéstípusonkénti konfiguráció egyetlen kapcsolathoz az újrapróbálható hibák után:
- **Alap várakozási idő** — Az újrapróbálható felsőbb szolgáltatói hibák alapértelmezett várakozási ablaka
- **Felsőbb szolgáltató újrapróbálkozási javaslatainak használata** — Figyelembe veszi a mérvadó `Retry-After` értéket vagy a visszaállítási javaslatokat, ha rendelkezésre állnak
- **Visszalépési lépések maximális száma** — Az ismétlődő hibákhoz tartozó exponenciális visszalépés maximális szintje
3. **Szolgáltatói áramkör-megszakító** — Nyomon követi a teljes szolgáltatói útvonal hibáit, a konfigurált figyelmeztetési küszöbértéknél csökkent állapotúnak jelöli a szolgáltatót, a konfigurált hibaküszöb elérésekor pedig megnyitja a megszakítót:
- **Állapotromlási küszöb** — Az egymást követő szolgáltatói hibák száma a `DEGRADED` állapotba lépés előtt
- **Hibaküszöb** — Az egymást követő szolgáltatói hibák száma az `OPEN` állapotba lépés előtt
- **Visszaállítási időkorlát** — A szolgáltató újbóli teszteléséig tartó időablak
- **CLOSED** (Egészséges) — A kérések normálisan haladnak
- **DEGRADED** — A kérések továbbra is haladnak, miközben a rendszer nyomon követi a megemelkedett hibaszámot
- **OPEN** — A szolgáltató ismétlődő hibák után ideiglenesen blokkolva van
- **HALF_OPEN** — A rendszer teszteli, hogy a szolgáltató helyreállt-e
A kapcsolathoz kötött `429` sebességkorlátozások a **Kapcsolati várakozási idő** hatáskörében maradnak, és nem számítanak bele a szolgáltatói megszakítóba.
A szolgáltatói megszakító futásidejű állapota kizárólag az **Irányítópult → Állapot** oldalon jelenik meg.
4. **Várakozás a várakozási idő lejártára** — Ha minden jelölt kapcsolat várakozási idő alatt áll, az OmniRoute megvárhatja a legkorábban lejáró várakozási időt, és automatikusan újrapróbálhatja ugyanazt az ügyfélkérést.
5. **Sebességkorlát automatikus észlelése** — Ha a felsőbb szolgáltatók explicit várakozási ablakot adnak vissza, és ez a beállítás engedélyezve van, ezek a javaslatok felülírják a helyi kapcsolati várakozási időt.
**Profi tipp:** Az **Állapot** oldalon ellenőrizheti és állíthatja vissza az aktív szolgáltatói megszakítókat egy üzemzavar után. A Hibatűrés oldal csak a konfigurációt módosítja.
---
### Adatbázis exportálása/importálása
Az adatbázis biztonsági mentéseit az **Irányítópult → Beállítások → Rendszer és tárhely** oldalon kezelheti.
| Művelet | Leírás |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Adatbázis exportálása** | Letölti az aktuális SQLite-adatbázist `.sqlite` fájlként |
| **Összes exportálása (.tar.gz)** | Letölt egy teljes biztonsági mentési archívumot, amely tartalmazza az adatbázist, a beállításokat, a kombinációkat, a szolgáltatói kapcsolatokat (hitelesítő adatok nélkül) és az API-kulcsok metaadatait |
| **Adatbázis importálása** | Feltölt egy `.sqlite` fájlt az aktuális adatbázis lecseréléséhez. Az importálás előtt automatikusan biztonsági mentés készül, kivéve, ha `DISABLE_SQLITE_AUTO_BACKUP=true` |
```bash
# API: Adatbázis exportálása
curl -o backup.sqlite http://localhost:20128/api/db-backups/export
# API: Minden adat exportálása (teljes archívum)
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll
# API: Adatbázis importálása
curl -X POST http://localhost:20128/api/db-backups/import \
-F "file=@backup.sqlite"
```
**Importálás ellenőrzése:** Az importált fájl integritását (SQLite pragma-ellenőrzés), a kötelező táblák (`provider_connections`, `provider_nodes`, `combos`, `api_keys`) meglétét és a méretét (legfeljebb 100 MB) ellenőrzi a rendszer.
**Felhasználási esetek:**
- Az OmniRoute átköltöztetése gépek között
- Külső biztonsági mentések létrehozása katasztrófa utáni helyreállításhoz
- Konfigurációk megosztása a csapattagok között (összes exportálása → archívum megosztása)
---
### Beállítások irányítópultja
A könnyű navigáció érdekében a beállítások oldala **7 lapra** tagolódik:
| Lap | Tartalom |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Általános** | Rendszertárolási eszközök, alapértelmezett viselkedés, a végponti alagút láthatósága |
| **Megjelenés** | Témavezérlők (világos/sötét/rendszer), az oldalsáv láthatósága, a Cloudflare/Tailscale/ngrok alagútkártyák panelkapcsolói |
| **MI** | Gondolkodási keret (változatlan továbbítás / automatikus eltávolítás / egyéni / adaptív — lásd: [THINKING_BUDGET.md](./THINKING_BUDGET.md)), globális rendszerprompt, a promptgyorsítótár statisztikái |
| **Biztonság** | Bejelentkezési/jelszóbeállítások, IP-hozzáférés-vezérlés, API-hitelesítés a `/models` végponthoz, szolgáltatók blokkolása, promptinjektálás elleni védelem |
| **Útválasztás** | Globális útválasztási stratégia (Első feltöltése / Körkörös / P2C / Véletlenszerű / Legkevésbé használt / Költségoptimalizált), helyettesítő karakteres modellálnevek, tartalékláncok, kombinációk alapértelmezései |
| **Ellenálló képesség** | Kérésvárólista, kapcsolati várakozási idő, szolgáltatói megszakító konfigurációja és a lehűlési idő kivárásának viselkedése |
| **Speciális** | Globális proxykonfiguráció (HTTP/SOCKS5), szolgáltatónkénti proxyfelülbírálások |
Az Általános lap már nem ismétli meg a naplózásra és a gyorsítótárra vonatkozó, csak olvasható megjegyzéseket. Az adatbázis-megőrzési és
-optimalizálási beállítások a `/api/settings/database` végponton keresztül maradnak meg; a gyorsítótár kézi törléséhez a
`DELETE /api/cache` használható. A kérés- és proxynaplók sorlimitjeit a
`CALL_LOGS_TABLE_MAX_ROWS` és a `PROXY_LOGS_TABLE_MAX_ROWS` szabályozza.
---
### Költség- és költségkeret-kezelés
Elérés: **Irányítópult → Költségek**.
| Lap | Cél |
| ---------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Költségkeret** | Költési limitek beállítása API-kulcsonként napi/heti/havi költségkerettel és valós idejű nyomon követéssel |
| **Árazás** | Modellárazási bejegyzések megtekintése és szerkesztése — 1000 bemeneti/kimeneti tokenre jutó költség szolgáltatónként |
```bash
# API: Költségkeret beállítása
curl -X POST http://localhost:20128/api/usage/budget \
-H "Content-Type: application/json" \
-d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'
# API: A költségkeret aktuális állapotának lekérése
curl http://localhost:20128/api/usage/budget
```
**Költségkövetés:** Minden kérésnél naplózásra kerül a tokenhasználat, és a rendszer az árazási táblázat alapján kiszámítja a költséget. A szolgáltató, modell és API-kulcs szerinti bontások az **Irányítópult → Használat** oldalon tekinthetők meg.
---
### Hangátírás
Az OmniRoute támogatja a hangátírást az OpenAI-kompatibilis végponton keresztül:
```bash
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
# Példa curl használatával
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@audio.mp3" \
-F "model=openai/whisper-1"
```
A `deepgram/nova-3` a natív Deepgram-útvonal, és Deepgram API-kulcsot igényel.
Ha csak az OpenRouter van konfigurálva, használja az `openrouter/deepgram/nova-3` útvonalat.
**Beszédfelismerési (átírási)** szolgáltatók:
- `openai/` (Whisper-kompatibilis)
- `groq/` (Groq Whisper Turbo)
- `deepgram/` (Nova termékcsalád)
- `assemblyai/`
- `nvidia/` (Parakeet, Canary)
- `huggingface/` (Whisper-változatok)
- `qwen/`
**Szövegfelolvasási (`POST /v1/audio/speech`)** szolgáltatók:
- `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/`
Az átíráshoz támogatott hangformátumok: `mp3`, `wav`, `m4a`, `flac`, `ogg`, `webm`. A TTS kimeneti formátumai a szolgáltatótól függnek (mp3, wav, opus, pcm, mulaw).
---
### Kombinációkiegyensúlyozási stratégiák
A kombinációnkénti kiegyensúlyozást az **Irányítópult → Kombinációk → Létrehozás/Szerkesztés → Stratégia** útvonalon konfigurálhatja.
| Stratégia | Leírás |
| ----------------------- | ------------------------------------------------------------------------------------------- |
| **Ciklikus** | Sorban, egymást követően vált a modellek között |
| **Prioritásos** | Mindig az első modellel próbálkozik; csak hiba esetén vált tartalék modellre |
| **Véletlenszerű** | Minden kéréshez véletlenszerűen választ egy modellt a kombinációból |
| **Súlyozott** | Az egyes modellekhez rendelt súlyok arányában irányítja a kéréseket |
| **Legkevésbé használt** | A legkevesebb közelmúltbeli kéréssel rendelkező modellhez irányít (kombinációs metrikákkal) |
| **Költségoptimalizált** | A legolcsóbb elérhető modellhez irányít (az ártáblázat alapján) |
A kombinációk globális alapértelmezései a **Vezérlőpult → Beállítások → Útválasztás → Kombinációk alapértelmezései** menüpontban állíthatók be.
A kombináció célpontjainak időtúllépési értékei alapértelmezés szerint az aktuális kérés időtúllépési értékét öröklik. A kombinációk alapértelmezéseinél vagy egy adott kombinációnál csak akkor használja a **Cél időtúllépése
(másodperc)** beállítást, ha egy rövidebb, célpontonkénti korlátnak gyorsabb tartalékra váltást kell
kiváltania.
A késleltetésmentes kombinációs optimalizálások használata külön engedélyezést igényel. Hagyja kikapcsolva a **Késleltetésmentes optimalizálások** beállítást, hogy
megakadályozza, hogy ezek a késleltetési funkciók versenyeztessék a tartalék célpontokat, a TTFT
előzményei alapján kihagyjanak célpontokat, vagy tömörítsék a tartalék kéréseket; az engedélyezés lehetővé teszi a konfigurált fedezeti kérések, a prediktív TTFT-alapú
kihagyások és a proaktív tartalékkérés-tömörítés használatát, amelyek a kisebb szélsőérték-késleltetés érdekében csökkenthetik az útválasztás és a kérés
pontosságát.
Kapcsolja ki a **Következtetési tokenpuffer** beállítást, ha a felsőbb szintű szolgáltatók szigorú
`max_tokens` / `maxOutputTokens` korlátokat követelnek meg. Ha engedélyezve van, a kombinációs útválasztás csak az ismert kimeneti korláttal rendelkező modellek esetén
ad többletkeretet a következtetési modellekhez, és változatlanul hagyja az ügyfél tokenkorlátját, ha a
biztonságos pufferelt érték meghaladná ezt a korlátot. Ha az ügyfél korlátja már meghalad egy ismert felső határt,
az OmniRoute erre a felső határra csökkenti azt, mielőtt elküldené a kérést a felsőbb szintű szolgáltatónak.
---
### Állapot-vezérlőpult
A **Vezérlőpult → Állapot** menüpontból érhető el. A rendszer valós idejű állapotát 6 kártyán tekintheti át:
| Kártya | Mit jelenít meg |
| --------------------------- | ------------------------------------------------------------------------ |
| **Rendszerállapot** | Üzemidő, verzió, memóriahasználat, adatkönyvtár |
| **Szolgáltatók állapota** | A szolgáltatók globális megszakítóinak futásidejű állapota |
| **Sebességkorlátok** | Fiókonkénti aktív kapcsolati várakozási idők és a hátralévő idő |
| **Aktív kizárások** | Aktív, modellre korlátozott zárolások és ideiglenes kizárások |
| **Aláírás-gyorsítótár** | A deduplikációs gyorsítótár statisztikái (aktív kulcsok, találati arány) |
| **Késleltetési telemetria** | Szolgáltatónkénti p50/p95/p99 késleltetési összesítés |
**Profi tipp:** Az Állapot oldal 10 másodpercenként automatikusan frissül. A megszakító kártya segítségével azonosíthatja, hogy mely szolgáltatóknál jelentkeznek problémák.
---
## 🤖 Automatikus útválasztás (konfiguráció nélkül)
Az OmniRoute egy **pontszámvezérelt automatikus útválasztót** tartalmaz, amely minden csatlakoztatott szolgáltató közül kiválasztja az egyes kérésekhez legmegfelelőbb modellt — nincs szükség karbantartandó kombinációkra. Egyszerűen küldje el a kérést az `auto/*` előtagok egyikével, és az OmniRoute menet közben összeállít egy virtuális kombinációt, a jelölteket pedig a késleltetés, a költség, a sikerességi arány, a kontextushoz való illeszkedés, a modell feladatra való alkalmassága, a közelmúltbeli hibák, a kvóta és a megszakító állapota alapján pontozza.
| Előtag | Optimalizálás célja |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `auto` | Kiegyensúlyozott alapértelmezés (késleltetés × költség × sikerességi arány) |
| `auto/coding` | Programozási feladatok: előnyben részesíti a Claude, GPT-5, GLM, Kimi, Qwen Coder és DeepSeek kódolómodelleket |
| `auto/cheap` | Legalacsonyabb $/token, magasabb késleltetést is elfogad |
| `auto/fast` | Legalacsonyabb késleltetés, a költséget figyelmen kívül hagyja |
| `auto/offline` | Csak helyi szolgáltatók (Ollama, vLLM, llama.cpp) — elkülönített környezetekhez hasznos |
| `auto/smart` | Elsősorban az érvelés minőségét optimalizálja (Opus, GPT-5 xhigh, R1, GLM 5.1 reasoning) |
| `auto/lkgp` | „Legutóbbi ismerten működő szolgáltató” — az utolsó sikeres szolgáltatót rögzíti, majd szükség esetén visszatér a szabályokhoz |
Példa:
```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
}'
```
Az automatikus útválasztó teljes leírása az [AUTO-COMBO.md](../routing/AUTO-COMBO.md) dokumentumban található — beleértve a pontozási súlyok finomhangolását, a szolgáltatók tiltólistára helyezését és az útválasztási döntések megtekintését az **Irányítópult → Automatikus kombináció** menüpontban.
---
## 🔌 MCP- és A2A-integráció
Az OmniRoute egyszerre **MCP-kiszolgáló** (Model Context Protocol) és **A2A-kiszolgáló** (Agent-to-Agent JSON-RPC 2.0). Bármely MCP-kompatibilis IDE vagy ügynökkörnyezet közvetlenül meghívhatja az OmniRoute eszközeit — nincs szükség további burkolórétegre.
### MCP-átvitel
- **SSE**: `http://localhost:20128/api/mcp/sse`
- **Adatfolyamképes HTTP**: `http://localhost:20128/api/mcp/stream`
- **stdio**: `omniroute --mcp` (a stdio használatát előnyben részesítő IDE-bővítményekhez)
### A Claude Desktop csatlakoztatása
Szerkessze a `~/Library/Application Support/Claude/claude_desktop_config.json` fájlt (macOS), illetve az ennek megfelelő fájlt Windows/Linux rendszeren:
```json
{
"mcpServers": {
"omniroute": {
"command": "omniroute",
"args": ["--mcp"]
}
}
}
```
### A Cursor / Continue / VS Code MCP csatlakoztatása
Használja a `http://localhost:20128/api/mcp/sse` SSE URL-t és az **Irányítópult → API-kulcsok** menüpontban létrehozott Bearer API-kulcsot.
### Hatókörök
Az MCP jelenleg 32 elnevezett hatókört definiál. Minden Bearer-kulcs meghatározott hatókörökre korlátozható — a hiteles hatókör- és eszközleltárért tekintse meg az [MCP-SERVER.md](../frameworks/MCP-SERVER.md), a JSON-RPC-sémáért pedig az [A2A-SERVER.md](../frameworks/A2A-SERVER.md) dokumentumot.
---
## 🧠 Készségrendszer
Az OmniRoute egy bővíthető **készség-keretrendszert** (`src/lib/skills/`) biztosít, amely lehetővé teszi, hogy az ügynökök és az A2A-végpont tartományspecifikus rutinokat futtassanak (például `code-review`, `summarize`, `extract-facts`, `web-research`).
- **Piactér felhasználói felület** — Készségek böngészése és telepítése a **Vezérlőpult → Készségek** menüpontban
- **Kulcsonkénti hatókörök** — Korlátozhatja, hogy mely API-kulcsok mely készségeket hívhatják meg
- **Egyéni készségek** — Helyezzen el egy TypeScript-fájlt a `src/lib/a2a/skills/` könyvtárban, regisztrálja, és azonnal meghívhatóvá válik A2A-n keresztül
A teljes referencia: [SKILLS.md](../frameworks/SKILLS.md).
---
## 💾 Memóriarendszer
Az OmniRoute **hosszú távú társalgási memóriát** tárol hibrid visszakereséssel:
- **SQLite FTS5** a korábbi beszélgetési fordulókban végzett kulcsszavas kereséshez
- **Qdrant vektortár** (opcionális) a szemantikai felidézéshez
- **Automatikus ténykinyerés** — az entitások, preferenciák és döntések minden munkamenet után összegzésre kerülnek, majd a `memory_facts` táblában tárolódnak
- A memóriák API-kulcsonként és munkamenetenként vannak elkülönítve
A memóriák a **Vezérlőpult → Memória** menüpontban kezelhetők (keresés, szerkesztés, exportálás, törlés). A HTTP-felület (`/api/memory/*`) lehetővé teszi, hogy az ügynökök programozott módon küldjenek be és kérdezzenek le tényeket — lásd: [MEMORY.md](../frameworks/MEMORY.md).
---
## 🔔 Webhookok
Iratkozzon fel az OmniRoute eseményeire valós idejű monitorozáshoz és automatizáláshoz.
- Hozzon létre egy webhookot a **Vezérlőpult → Webhookok** menüpontban, megadva a cél-URL-t és a HMAC-aláírási titkot
- Elérhető események: `request.completed`, `request.failed`, `provider.unavailable`, `budget.exceeded`, `combo.switched`, `circuit_breaker.opened`, `circuit_breaker.closed`
- Minden hasznos adattartalom tartalmazza az ellenőrzéshez szükséges `X-OmniRoute-Signature` (HMAC-SHA256) fejlécet
- Újrapróbálkozások: 3 kísérlet exponenciális várakozással, majd továbbítás a sikertelen üzenetek várólistájára
A teljes séma itt található: [WEBHOOKS.md](../frameworks/WEBHOOKS.md).
---
## ☁️ Felhőalapú ügynökök
Az OmniRoute integrálható felhőalapú kódolóügynökökkel (**OpenAI Codex Cloud**, **Devin**, **Jules**, **Antigravity**), így hosszú ideig futó feladatokat indíthat ugyanarról a vezérlőpultról, amely a helyi útválasztást is kezeli.
- Hozzon létre feladatokat a **Vezérlőpult → Felhőalapú ügynökök** menüpontban vagy a `POST /api/v1/agents/tasks` végponton keresztül
- Kövesse nyomon az egyes feladatok állapotát, naplóit és műtermékeit
- Minden szolgáltatóhoz saját API-kulcsot használhat — a hitelesítő adatok soha nem hagyják el az OmniRoute-példányt
A teljes referencia: [CLOUD_AGENT.md](../frameworks/CLOUD_AGENT.md).
---
## 🛠️ Programozott kezelés
Minden OmniRoute-erőforrást (szolgáltatókat, kombinációkat, kulcsokat, beállításokat) kezelhet HTTP-n keresztül egy **`manage` hatókörrel rendelkező Bearer-kulcs** használatával.
Hozza létre a kulcsot a **Vezérlőpult → API-kulcsok → Új kulcs → Hatókör: manage** menüpontban, majd:
```bash
# Szolgáltatók listázása
curl http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
# Szolgáltatói kapcsolat hozzáadása
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" }'
# Kombináció létrehozása
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-kulcsok listázása/létrehozása
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"] }'
```
A végpontok teljes katalógusát és a kérés-/válaszsémákat lásd az [API_REFERENCE.md](../reference/API_REFERENCE.md) dokumentumban.
---
## 💻 Belső CLI
Az OmniRoute egy belső CLI-t (`omniroute …`) biztosít a beállításhoz, a diagnosztikához és a futásidejű vezérléshez. Ez **nem azonos az irányítópult „CLI-eszközök” oldalával**, amely külső fejlesztésű CLI-ket (Claude Code, Cursor, Codex, Cline, …) konfigurál, hogy kommunikálhassanak az OmniRoute-tal.
```bash
omniroute setup # Interaktív varázsló (jelszó, szolgáltatók, kombinációk)
omniroute setup --non-interactive # CI-barát
omniroute doctor # Állapotdiagnosztika (adatkönyvtár, adatbázis, szolgáltatók, portok)
omniroute providers available # Támogatott szolgáltatók listázása
omniroute providers list # Konfigurált kapcsolatok listázása
omniroute providers test # Szolgáltatói kapcsolat élő tesztelése
omniroute combos list # Kombinációk listázása
omniroute combos switch # Alapértelmezett kombináció beállítása
omniroute models # Elérhető modellek listázása (--json, --search)
omniroute keys add | list | remove # API-kulcsok kezelése a terminálból
omniroute backup # Pillanatkép készítése a konfigurációról és az adatbázisról
omniroute restore [] # Visszaállítás pillanatképből
omniroute health # Részletes állapot (megszakítók, gyorsítótár, memória)
omniroute quota # Szolgáltatói kvóták felhasználása
omniroute mcp status # MCP-kiszolgáló állapota
omniroute a2a status # A2A-kiszolgáló állapota
omniroute tunnel list|create|stop # Cloudflare-/Tailscale-/ngrok-alagutak
omniroute reset-password # Rendszergazdai jelszó visszaállítása
omniroute --mcp # MCP-kiszolgáló indítása szabványos I/O-n keresztül
omniroute --port 3000 # Kiszolgáló indítása egyéni porton
```
Tipp: párosítsa az `omniroute doctor --json` parancsot a megfigyelőeszközével, hogy riasztást kapjon a nem megfelelő állapotú szolgáltatói kapcsolatokról.
---
## 🖥️ Asztali alkalmazás (Electron)
Az OmniRoute natív asztali alkalmazásként érhető el Windows, macOS és Linux rendszerekhez.
### Telepítés
```bash
# Az electron könyvtárból:
cd electron
npm install
# Fejlesztői mód (csatlakozás a futó Next.js fejlesztői kiszolgálóhoz):
npm run dev
# Éles mód (az önálló buildet használja):
npm start
```
### Telepítők összeállítása
```bash
cd electron
npm run build # Aktuális platform
npm run build:win # Windows (.exe NSIS)
npm run build:mac # macOS (.dmg univerzális)
npm run build:linux # Linux (.AppImage)
```
Kimenet → `electron/dist-electron/`
### Főbb funkciók
| Funkció | Leírás |
| --------------------------------- | -------------------------------------------------------------------------------------- |
| **Kiszolgáló készenléte** | Az ablak megjelenítése előtt lekérdezi a kiszolgálót (nincs üres képernyő) |
| **Rendszertálca** | Kis méretre állítás a tálcára, portváltás és kilépés a tálcamenüből |
| **Portkezelés** | A kiszolgáló portjának módosítása a tálcáról (automatikusan újraindítja a kiszolgálót) |
| **Tartalombiztonsági szabályzat** | Korlátozó CSP munkamenet-fejléceken keresztül |
| **Egyetlen példány** | Egyszerre csak egy alkalmazáspéldány futhat |
| **Offline mód** | A mellékelt Next.js-kiszolgáló internet nélkül is működik |
### Környezeti változók
| Változó | Alapértelmezés | Leírás |
| --------------------- | -------------- | -------------------------------- |
| `OMNIROUTE_PORT` | `20128` | Kiszolgálóport |
| `OMNIROUTE_MEMORY_MB` | `512` | Node.js heapkorlát (64–16384 MB) |
📖 Teljes dokumentáció: [`electron/README.md`](../../electron/README.md)