* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
132 KiB
API Reference (Magyar)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Az OmniRoute API alapvető referenciája. Bemutatja a nyilvános /v1 felületet és a leggyakrabban használt felügyeleti végpontokat; a géppel olvasható docs/openapi.yaml és a src/app/api/ alatti útvonalfa szolgál teljes körű forrásként.
Tartalomjegyzék
- Csevegési kiegészítések
- Exkluzív felügyelt munkamenet-bérletek
- Beágyazások
- Képgenerálás
- Dokumentum-OCR
- Modellek listázása
- Szolgáltatói bővítmény jegyzéke
- Kompatibilitási végpontok
- Fájlok API
- Kötegek API
- Keresési API
- WebSocket-adatfolyam
- Kvóták és problémák jelentése
- Szemantikai gyorsítótár
- Irányítópult és felügyelet
- Kombinációk kezelése
- Webhookok
- Regisztrált kulcsok (automatikus kezelés)
- Ügynökprotokoll
- Felügyeleti proxyk
- Hibatűrés (kibővített)
- Készségek
- Memória
- MCP-kiszolgáló
- A2A-kiszolgáló
- Felhő, kiértékelések és értékelés
- Kérések feldolgozása
- Hitelesítés
Csevegési kiegészítések
POST /v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "cc/claude-opus-4-6",
"messages": [
{"role": "user", "content": "Írj egy függvényt, amely..."}
],
"stream": true
}
Egyéni fejlécek
| Fejléc | Irány | Leírás |
|---|---|---|
X-OmniRoute-No-Cache |
Kérés | Állítsa true értékre a gyorsítótár megkerüléséhez |
x-omniroute-no-memory |
Kérés | Állítsa true értékre a memória és a készségek befecskendezésének kihagyásához ennél a kérésnél (a gyorsítótár megkerüléséhez hasonlóan; elkerüli a hívásonkénti token-/költségtöbbletet) |
X-OmniRoute-Progress |
Kérés | Állítsa true értékre az előrehaladási eseményekhez |
X-Session-Id |
Kérés | Rögzített munkamenetkulcs külső munkamenet-affinitáshoz |
x_session_id |
Kérés | Az aláhúzásjeles változat is elfogadott (közvetlen HTTP) |
X-OmniRoute-Session-Id |
Kérés | A hívó által megadott munkamenet-/beszélgetéscímke (a memóriát is táplálja). Ha jelen van, változtatás nélkül kerül a call_logs.session_tag mezőbe a munkamenetenkénti költség-hozzárendeléshez (#8249) — hiányában soha nem jön létre automatikusan |
Idempotency-Key |
Kérés | Deduplikációs kulcs (5 másodperces időablak) |
X-Request-Id |
Kérés | Alternatív deduplikációs kulcs |
X-OmniRoute-Cache |
Válasz | HIT vagy MISS (nem adatfolyamos) |
X-OmniRoute-Idempotent |
Válasz | true, ha deduplikálva lett |
X-OmniRoute-Progress |
Válasz | enabled, ha az előrehaladás követése be van kapcsolva |
X-OmniRoute-Session-Id |
Válasz | Az OmniRoute által ténylegesen használt munkamenet-azonosító |
X-OmniRoute-Request-Id |
Válasz | Kéréskorrelációs azonosító (ha ismert) |
X-OmniRoute-Version |
Válasz | Az OmniRoute buildverziója (mindig jelen van) |
X-OmniRoute-Cost-Saved |
Válasz | A gyorsítótár által megtakarított USD-összeg HIT esetén (csak gyorsítótár-találatoknál) |
X-OmniRoute-Decision |
Válasz | Útválasztási nyomkövetés: strategy=<name>; provider=<alias>; latency_ms=<n> (a <name> a kombinációs stratégia, nem kombinált kérésnél pedig single) — a befejezési válaszokban mindig jelen van |
Nginx-megjegyzés: ha aláhúzásjelet tartalmazó fejlécekre támaszkodik (például
x_session_id), engedélyezze azunderscores_in_headers on;beállítást.
Költségtelemetriai fejlécek: a nem streamelt sikeres válaszok az
X-OmniRoute-*költségtelemetriai készletet is tartalmazzák —X-OmniRoute-Response-Cost(USD, fixen 10 tizedesjeggyel; ingyenes/nem árazott esetben0.0000000000),X-OmniRoute-Tokens-In/X-OmniRoute-Tokens-Out,X-OmniRoute-Model,X-OmniRoute-Provider,X-OmniRoute-Latency-Ms,X-OmniRoute-Cache-HitésX-OmniRoute-Fallback-Attempts(csak ha > 0), továbbáX-OmniRoute-Request-IdésX-OmniRoute-Version. Ezeket a csevegésikiegészítés-, a/v1/responses- és a/v1/messages-végpontok, valamint a médiavégpontok bocsátják ki —/v1/embeddings,/v1/images/generations,/v1/audio/speech,/v1/audio/transcriptions,/v1/rerank,/v1/videos/generations,/v1/music/generationsés/v1/moderations(ennek költsége mindig0). A médiaköltség modalitásonként kerül kiszámításra (képenként, másodpercenként, karakterenként, keresési egységenként), ha rendelkezésre állnak árazási adatok; ellenkező esetben0(fail-open).
Gyorsítótártalálat költségszemantikája: szemantikus gyorsítótártalálat (
X-OmniRoute-Cache-Hit: true) esetén nem történik upstream hívás, ezért azX-OmniRoute-Response-Costértéke0.0000000000(a találat kiszolgálásának járulékos költsége). Az eredeti/a gyorsítótár nélkül felmerült költséget külön, azX-OmniRoute-Cost-Savedfejléc jelenti. A számlázási fogyasztóknak azX-OmniRoute-Response-Costértékeit kell összegezniük (a találatoknak nincs költségük); a gyorsítótár-analitika azX-OmniRoute-Cost-Savedértékeit összesítheti.
Exkluzív felügyelt munkamenet-bérletek
Az exkluzív felügyelt munkamenet-bérlés egy opcionális, klienssemleges útválasztási szerződés: egy aktív tulajdonos egy jogosult OmniRoute-kapcsolatot birtokol. Nem bérel modellt, nem igényel OAuth-hitelesítést, nem azonosít egy adott klienst, és nem követel meg egy adott szolgáltatót.
A hitelesítést végző API-kulcsnak rendelkeznie kell a lease:exclusive hatókörrel és egy explicit, nem üres
allowedConnections listával. Az adatbázis-módosítási határvonal a kulcs létrehozásakor és részleges
frissítésekor mindkét mező együttes meglétét kikényszeríti.
POST /api/v1/session-leases
Authorization: Bearer <managed-api-key>
Content-Type: application/json
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
{"action":"acquire","model":"glm/glm-4.6"}
A sikeres megszerzési, megújítási és felszabadítási válaszok időbélyegeket, state értéket és a pontos pozitív
generation értéket teszik elérhetővé, de soha nem fedik fel a kiválasztott kapcsolatot vagy a hitelesítő adatokat. A megújítás és a felszabadítás a
generációt a JSON-törzsben adja meg:
{ "action": "renew", "generation": 1 }
{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }
Egy aktív bérlet tulajdonosa explicit módon kérheti az aktuális hozzárendelés adatvédelmi szempontból biztonságos megjelenítési metaadatait:
{ "action": "status", "generation": 1 }
{
"state": "ACTIVE",
"generation": 1,
"acquiredAt": "2026-08-28T12:00:00.000Z",
"renewedAt": "2026-08-28T12:00:30.000Z",
"expiresAt": "2026-08-28T12:02:30.000Z",
"connection": {
"displayName": "Primary Codex",
"provider": "codex"
}
}
Ezt az opcionális állapotműveletet az átlátszatlan tulajdonos, a hitelesített felügyelt API-kulcs és a pontos
aktív generáció egyetlen adatbázis-tranzakción belül védi. A displayName kizárólag a konfigurált
kapcsolat szóközöktől megtisztított neve; értéke null, ha nem áll rendelkezésre biztonságosan használható konfigurált név. Az OmniRoute soha nem helyettesíti ezt
e-mail-címmel vagy generált fiókazonosítóval. A szolgáltató értéke nem érzékeny megjelenítési címke, és soha nem
generált kompatibilisszolgáltató-azonosító. A hitelesítő adatok, tokenek, cookie-k, nyers kapcsolat- vagy API-
kulcsazonosítók, tulajdonoskivonatok, elkerítési titkok és belső útválasztási adatok ki vannak zárva.
A helytelen kulccsal, helytelen tulajdonossal, elavult generációval végzett, illetve a hiányzó, lejárt, felszabadított vagy érvénytelenített bérletre irányuló lekérdezések mind
ugyanazt a 409 LEASE_FENCE_STALE hibát adják vissza kapcsolatmetaadatok nélkül. A kapacitásra várakozást jelző választ kapott kliensnek nincs megvizsgálható aktív hozzárendelése. Amikor az útválasztás átállít egy aktív bérletet,
ugyanaz a generáció marad érvényben, és az állapotművelet atomi módon az új hozzárendelést adja vissza, soha nem a régit.
A meglévő kliensek változatlanok maradnak, mivel a megszerzési, megújítási, felszabadítási és várakozási válaszok megőrzik
korábbi formájukat.
Ez a kiszolgálói szerződés nem módosítja az alapértelmezett OpenAI Codex /status végpontját. Az alapértelmezett Codex jelenleg jelentést ad a
modellszolgáltatójáról és a beépített hitelesítési-/fiókállapotról, de nem jelenít meg tetszőleges egyéni
szolgáltatói fiókmetaadatokat; egy későbbi kliensintegrációnak meg kell hívnia ezt a műveletet, és el kell döntenie, hogyan
jelenítse meg a connection.displayName értékét.
Ezután minden felügyelt következtetési kérés megadja mindkét vezérlőfejlécet:
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1
A pontos tulajdonos, generáció, aktív kapcsolat és hitelesített API-kulcs ellenőrzése közvetlenül minden támogatott upstream-próbálkozás előtt történik. A tulajdonos és a generáció másik kulccsal történő újbóli felhasználása akkor is sikertelen, ha az a kulcs ugyanazt a kapcsolatot engedélyezi. A nyers tulajdonosértékeket a rendszer nem tárolja, nem naplózza, nem őrzi meg a kérés pillanatképében, és nem továbbítja upstream irányba.
Az ideiglenes erőforrás-ütközés HTTP 429 választ ad vissza Retry-After fejléccel és a következő tartalommal:
{
"state": "WAITING_FOR_CAPACITY",
"error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
"reason": "NO_FREE_ELIGIBLE_CONNECTION",
"retryAfter": 30
}
Ez a válasz csak azt jelenti, hogy a szokásos jogosult halmaz nem volt üres, és minden szabad jelöltet egy idegen aktív bérlet foglalt. A nem támogatott modellek/szolgáltatók, a házirend-eltérés, a lehűlési idő, a kvóta, az állapot és más szokásos jogosultsági hibák megtartják a meglévő OmniRoute-válaszaikat.
x-omniroute-compression
A tömörítési terv kérésenkénti felülbírálása. A legmagasabb prioritású — felülírja az útválasztási kombináció felülbírálását, az aktív profilt, az automatikus aktiválást és a panel alapértelmezését. Értékek:
| Érték | Hatás |
|---|---|
off |
Ennél a kérésnél nincs tömörítés. |
default |
A panelből származtatott alapértelmezett profil (figyelmen kívül hagyja az aktív profilt). |
engine:<id> |
Egyetlen motor, ha engedélyezve van, például engine:rtk. |
<combo> |
Egy névvel ellátott kombináció; először név alapján történik az egyezés (kis- és nagybetűktől függetlenül), majd azonosító alapján. |
Megjegyzések:
- Az ismeretlen értékeket a rendszer figyelmen kívül hagyja (a kérést soha nem utasítja el); a feloldás a normál operátori precedencia szerint folytatódik.
- Ha több kombinációnak ugyanaz a neve, a determinisztikus egyezéshez a kombináció id értékét adja meg.
- Az
offvagydefaultnevű kombinációk nem választhatók ki név alapján (ezeket a kulcsszavakat értelmezi először a rendszer); az ilyen kombinációkra az azonosítójukkal hivatkozzon. - A fő tömörítési kapcsoló kötelező korlát: ha a tömörítés globálisan le van tiltva, ez a fejléc nem engedélyezheti.
Az alkalmazott terv megjelenik a válasz fejlécében:
X-OmniRoute-Compression: <mode>; source=<source>
ahol a <source> értéke a következők egyike: request-header, routing-override, active-profile, auto-trigger, default vagy off.
Beágyazások
POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "nebius/Qwen/Qwen3-Embedding-8B",
"input": "The food was delicious"
}
Elérhető szolgáltatók: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA, OpenRouter, Jina AI.
A katalógusazonosítók formátuma provider/model (például: jina-ai/jina-embeddings-v5-omni-small). A nyilvántartásban szereplő, szolgáltatónév nélküli Jina-modellazonosítók (például jina-embeddings-v5-text-small, jina-reranker-v3.5) szintén feloldhatók. A Jina embed/rerank/classify/segment műveletek először az irányítópulton megadott jina-ai hitelesítő adatokat használják; a JINA_AI_API_KEY csak akkor szolgál tartalékként, ha nincs irányítópulton megadott kulcs. A jina-reader kártya kizárólag a Reader / r.jina.ai szolgáltatáshoz használható (POST /v1/web/fetch), és soha nem szolgál ki beágyazási vagy újrarangsorolási kéréseket.
A nyilvántartás multimodális támogatást jelző modelljei legfeljebb 32, szolgáltatófüggetlen strukturált
elemet is elfogadnak. A médiaelemek típusai: text, image, audio, video és document. A média source
értéke vagy {"type":"url","url":"https://..."}, vagy
{"type":"base64","data":"...","media_type":"..."}.
A Jina v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano,
valamint a jina-ai/jina-embeddings-v5-omni → omni-small családálnév) a Jina natív
EmbeddingsV5Request dokumentumait is elfogadja, és változtatás nélkül továbbítja őket a https://api.jina.ai/v1/embeddings címre:
{
"model": "jina-ai/jina-embeddings-v5-omni-small",
"task": "retrieval.query",
"normalized": true,
"input": [
{ "text": "a red bicycle" },
{ "image": "https://example.com/bike.png" },
{
"content": [{ "text": "caption" }, { "image": "data:image/png;base64,..." }]
}
]
}
A natív { image | audio | video | pdf } értékek lehetnek nyilvános HTTPS URL-ek, data: URI-k vagy nyers
base64-adatok. Az OmniRoute ezeket az objektumokat nem alakítja karakterlánccá, és nem tölti le a natív kép-URL-eket — a nyilvános
médiát maga a Jina tölti le. A további Jina-mezők (task, normalized, truncate, embedding_type)
továbbításra kerülnek. A csak szöveges Jina SKU-k továbbra is elutasítják a nem szöveges dokumentumokat.
Biztonsági és átviteli korlátok:
- A távoli média-URL-eknek nyilvános HTTPS-címeknek kell lenniük. A kanonikus
{type,source:url}elemeket a rendszer szerveroldalon tölti le (átirányítások újbóli ellenőrzése, időtúllépés, méretkorlátok, nyilvános DNS, kapcsolatrögzítés), majd beágyazza őket a szolgáltató meghívása előtt. A Jina natív{image:"https://..."}elemei változatlanul kerülnek továbbításra ugyanazon nyilvános HTTPS-ellenőrzést követően; az URL-t a Jina tölti le. - A beágyazott base64-média dekódolt mérete elemenként legfeljebb 8 MiB, a teljes kérésben pedig összesen legfeljebb 16 MiB lehet.
Szolgáltatói átalakítás (a kanonikus elemek soha nem kerülnek változatlanul továbbításra):
- Jina multimodális modellek: minden felső szintű elemből egy modalitáskulccsal rendelkező objektum lesz
(
text/image/audio/video/pdf), amely a beágyazott médiához adat-URI-kat használ; felső szintű elemenként egy vektor. - Gemini Embedding 2 család: egy felső szintű tömbből egyetlen natív
models/{model}:embedContentkérés leszcontent.partselemekkel (textvagyinline_data). - A kifejezett modalitási metaadatok nélküli ismeretlen/dinamikus modellek HTTP 400-as hibával utasítják el a strukturált bemenetet.
{
"model": "jina-ai/jina-embeddings-v5-omni-small",
"input": [
{ "type": "text", "text": "A red bicycle" },
{
"type": "image",
"source": { "type": "url", "url": "https://example.com/bicycle.png" }
}
],
"dimensions": 512,
"encoding_format": "float"
}
A nem támogatott modell/modalitás-kombinációk az elem kényszerített átalakítása helyett HTTP 400-as hibát adnak vissza. A régi karakterlánc-/tokenkérések bemeneten kívüli kiegészítő mezői továbbra is változatlanul kerülnek továbbításra.
# Az összes beágyazási modell listázása
GET /v1/embeddings
Képgenerálás
POST /v1/images/generations
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "openai/gpt-image-2",
"prompt": "A beautiful sunset over mountains",
"size": "1024x1024"
}
Elérhető szolgáltatók: OpenAI (GPT Image 2), xAI (Grok Image), Together AI (FLUX), Fireworks AI, Nebius (FLUX), Hyperbolic, NanoBanana, OpenRouter, SD WebUI (helyi), ComfyUI (helyi).
# Az összes képmodell listázása
GET /v1/images/generations
Dokumentum-OCR
POST /v1/ocr
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "mistral/mistral-ocr-latest",
"document": {
"type": "document_url",
"document_url": "https://example.com/invoice.pdf"
}
}
A model egy provider/model előtag segítségével választja ki az OCR-szolgáltatót; az előtag nélküli modellazonosító (pl.
mistral-ocr-latest) a regisztrált szolgáltatójára oldódik fel, a model elhagyása esetén pedig az alapértelmezett
a Mistral (mistral-ocr-latest). Regisztrált szolgáltatók (open-sse/config/ocrRegistry.ts):
| Szolgáltatóazonosító | Modellazonosító | model értéke |
Megjegyzések |
|---|---|---|---|
mistral |
mistral-ocr-latest |
mistral/mistral-ocr-latest (vagy előtag nélkül: mistral-ocr-latest) |
Szinkron — a válasz közvetlenül az egyetlen felsőbb szintű hívásból érkezik vissza. |
azure-document-intelligence |
prebuilt-read |
azure-document-intelligence/prebuilt-read |
Aszinkron felsőbb szintű szolgáltatás (analyze + lekérdezés) — lásd alább. |
vertex-deepseek-ocr |
deepseek-ocr-maas |
vertex-deepseek-ocr/deepseek-ocr-maas |
Szinkron, a Vertex AI openapi/chat/completions partneri végpontján keresztül — a hitelesítést/URL-t lásd alább. |
Mindhárom szolgáltató ugyanabban a Mistral-formátumú törzsben válaszol:
{
"pages": [{ "index": 0, "markdown": "# Extracted text..." }],
"model": "mistral-ocr-latest",
"usage_info": { "pages_processed": 1 }
}
Az Azure Document Intelligence lekérdezési folyamata
Az Azure Document Intelligence analyze API-ja aszinkron: a kezdeti kérés törzs helyett egy
Operation-Location fejlécet ad vissza, és az eredményt ismételt lekérdezésekkel kell lekérni. A kezelő
(open-sse/handlers/ocr.ts) másodpercenként lekérdezi ezt az URL-t, legfeljebb 30 alkalommal; sikertelen, nem ok állapotú lekérdezési válasz vagy "failed" állapot esetén azonnal hibával leáll (nem folytatja
a lekérdezést), és 504 választ ad vissza, ha a művelet a próbálkozási keret kimerülése után is
folyamatban van. A végső Azure-választ a visszaküldés előtt ugyanarra a Mistral által használt
pages/markdown formátumra alakítja át, így az ügyfélkódban nem szükséges szolgáltatóspecifikus esetkezelés.
A Vertex AI DeepSeek OCR hitelesítése és végpontfeloldása
A vertex-deepseek-ocr ugyanazt a Vertex AI-hitelesítést használja újra, amelyet az OmniRoute már támogat
a csevegési/képforgalomhoz (open-sse/executors/vertex.ts): a kapcsolat API-kulcsa vagy egy
Service Account JSON hitelesítő adat (amelyet a JWT bearer folyamat rövid élettartamú OAuth hozzáférési tokenre
cserél), vagy egy már kiállított, változtatás nélkül használt OAuth hozzáférési token. A felsőbb szintű végpont URL-je a Vertex
általános openapi/chat/completions partneri végpontja, amelyet a kapcsolat projektjéből és
régiójából állít össze — az explicit providerSpecificData.project/providerSpecificData.region mindig elsőbbséget élvez;
ellenkező esetben a projektet a Service Account JSON project_id mezőjéből származtatja, a régió
alapértelmezett értéke pedig us-central1. Mindkét feloldás az open-sse/handlers/ocr.ts fájlban történik
(resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl), és ezeket az
src/app/api/v1/ocr/route.ts használja fel a handleOcr meghívása előtt.
Modellek listázása
GET /v1/models
Authorization: Bearer your-api-key
→ Visszaadja az összes csevegési, beágyazási és képmodellt, valamint ezek kombinációit OpenAI-formátumban
Modellazonosító-előtagok (?prefix=)
A legtöbb modell egy szolgáltatói előtag alatt jelenik meg. A használt előtagot a
MODELS_CATALOG_PREFIX_MODE funkciójelző szabályozza, és egy lekérdezési paraméterrel
kérésenként felülbírálható — ez olyan kliensek számára hasznos, amelyek letisztult listát szeretnének anélkül, hogy mindenki más számára módosítanák a kiszolgálószintű
beállítást:
GET /v1/models?prefix=alias # modellenként egy azonosító — a rövid aliaselőtag
GET /v1/models?prefix=dual # mindkét forma (a kiszolgáló alapértelmezése)
GET /v1/models?prefix=canonical # csak a teljes szolgáltatóazonosító-előtag
| Mód | Kibocsátott érték | Megjegyzések |
|---|---|---|
dual |
cc/claude-sonnet-4-6 és claude/claude-sonnet-4-6 |
Alapértelmezett. Mindkét azonosító ugyanahhoz a modellhez irányít; így az egyik formát rögzítetten használó klienskonfigurációk továbbra is működnek. Nagyjából megduplázza a katalógust. |
alias |
cc/claude-sonnet-4-6 |
Modellenként egy bejegyzés. A külön aliassal nem rendelkező szolgáltatók bejegyzése is megjelenik, így semmi sem vész el. |
canonical |
claude/claude-sonnet-4-6 |
Modellenként egy bejegyzés a teljes szolgáltatóazonosító-előtag alatt. A külön aliassal nem rendelkező szolgáltatók (pl. antigravity/…, agy/…) egyetlen azonosítója itt is megjelenik, így semmi sem vész el. |
A dual módú tükrözött bejegyzés a lekérdezési paraméter nélkül is felismerhető: rendelkezik egy parent
mezővel, amely az elsődleges azonosítóra mutat.
A modellválasztót megjelenítő klienseknek a ?prefix=alias paramétert kell használniuk — ezt teszi az
OmniCopilot VS Code-bővítmény is.
Gondolkodás nélküli modellváltozatok
A gondolkodásra képes Claude-modellek esetében a /v1/models egy gondolkodás nélküli változatot is meghirdet, amelynek azonosítója a claude-3-omniroute-no-thinking/ előtaggal kezdődik:
claude-3-omniroute-no-thinking/<provider>/<model>
Ennek az azonosítónak a kiválasztása (pl. egy olyan Claude Code-konfigurációban, amely mindig csatol egy thinking blokkot) visszaalakítja azt a valódi <provider>/<model> modellre, letiltott következtetéssel — a /v1/messages útvonalon thinking:{type:"disabled"} beállítással, illetve a /v1/chat/completions útvonalon a reasoning/reasoning_effort mezők elhagyásával. A változat csak olyan Claude-családba tartozó modelleknél jelenik meg, amelyek támogatják a gondolkodást és figyelembe veszik a disabled értéket (így például a disabled értéket elutasító, kizárólag adaptív modellek nem szerepelnek). Az üzemeltetők modellenként kényszeríthetik a változat be- vagy kikapcsolását a ModelSpec.noThinkingAlias segítségével.
Szolgáltatói bővítmény manifesztje
GET /api/v1/provider-plugin-manifest
Visszaadja a Bifrost, a CLIProxyAPI és a jövőbeli sidecar útválasztók által használt, JSON-biztos szolgáltatói bővítménymanifesztet. A válasz a TypeScript szolgáltatói regiszterből jön létre, és szándékosan nem tartalmaz OAuth-kliens-titkokat, futásidejű környezetfeloldást, végrehajtó függvényeket, kérésfejléceket és fiókadatokat.
Ezt a végpontot akkor használja, ha egy sidecar folyamaton kívül fut, és nem tudja közvetlenül importálni az open-sse/config/providerPluginManifestRegistry.ts fájlt.
Kompatibilitási végpontok
| Metódus | Elérési út | Formátum |
|---|---|---|
| POST | /v1/chat/completions |
OpenAI |
| POST | /v1/messages |
Anthropic |
| POST | /v1/responses |
OpenAI Responses |
| POST | /v1/embeddings |
OpenAI |
| POST | /v1/images/generations |
OpenAI Images |
| POST | /v1/images/edits |
OpenAI Images (szerkesztés/inpaint) |
| POST | /v1/videos/generations |
OpenAI-stílusú videógenerálás |
| POST | /v1/music/generations |
OpenAI-stílusú zenegenerálás |
| POST | /v1/audio/transcriptions |
OpenAI Audio (STT) |
| POST | /v1/audio/speech |
OpenAI TTS (hangtörzset ad vissza) |
| POST | /v1/rerank |
Cohere/Voyage-stílusú újrarangsorolás |
| POST | /v1/classify |
Jina osztályozás (api.jina.ai) |
| POST | /v1/segment |
Jina szegmentáló (segment.jina.ai) |
| POST | /v1/moderations |
OpenAI Moderations |
| GET | /v1/models |
OpenAI |
| POST | /v1/messages/count_tokens |
Anthropic |
| GET | /v1beta/models |
Gemini |
| POST | /v1beta/models/{...path} |
Gemini generateContent |
| POST | /v1/api/chat |
Ollama |
| GET | /api/v1/vscode/{token}/ |
OpenAI-katalógus aliasa |
| GET | /api/v1/vscode/{token}/models |
OpenAI-modellek aliasa |
| POST | /api/v1/vscode/{token}/chat/completions |
OpenAI tokenizált aliasa |
| POST | /api/v1/vscode/{token}/responses |
OpenAI Responses tokenizált aliasa |
| POST | /api/v1/vscode/{token}/api/chat |
Ollama tokenizált aliasa |
| GET | /api/v1/vscode/{token}/api/tags |
Ollama-címkék tokenizált aliasa |
Minden POST-útvonal ugyanazt a formát követi: Bearer your-api-key + Zod által ellenőrzött JSON-törzs (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema stb.; lásd: src/shared/validation/schemas.ts). Sémahiba esetén 4xx válasz érkezik.
Azon kliensek számára, amelyek nem tudják csatolni az Authorization: Bearer ... fejlécet, az OmniRoute az API-kulcsokat az URL-ben is elfogadja, akár lekérdezési karakterláncon alapuló kompatibilitással (?token=..., ?apiKey=..., ?api_key=..., ?key=...), akár az alább dokumentált, dedikált /api/v1/vscode/{token}/... végpontokon keresztül.
# Újrarangsorolás
POST /v1/rerank { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }
# Jina-osztályozás (Foundation API hitelesítő adatok)
POST /v1/classify { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }
# Jina-szegmentáló
POST /v1/segment { "content": "...", "return_chunks": true }
# Jina-keresés (s.jina.ai; szolgáltatói aliasok: jina-search, jina-ai, jina)
POST /v1/search { "query": "...", "provider": "jina-search" }
# Moderálás
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }
# TTS — audio/mpeg (vagy a kért formátumú) törzset ad vissza
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }
# Képszerkesztés (multipart)
POST /v1/images/edits -F image=@input.png -F prompt="..." -F mask=@mask.png
# Videó- és zenegenerálás (szolgáltatói előtaggal ellátott modellazonosító)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations { "model": "suno/v3.5", "prompt": "..." }
Dedikált szolgáltatói útvonalak
POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations
A rendszer automatikusan hozzáadja a szolgáltatói előtagot, ha az hiányzik. A nem egyező modellek 400 választ eredményeznek.
Files API
OpenAI-kompatibilis fájlvégpont kötegelt bemenethez/kimenethez és fájlcél szerinti feltöltésekhez.
| Metódus | Elérési út | Leírás |
|---|---|---|
| POST | /v1/files |
Fájl feltöltése (multipart: file, purpose, expires_after[anchor], expires_after[seconds]) — legfeljebb 512 MiB |
| GET | /v1/files |
A hitelesített API-kulcshoz tartozó fájlok listázása |
| GET | /v1/files/[id] |
Egy fájl metaadatainak lekérése |
| DELETE | /v1/files/[id] |
Egy fájl törlése |
| GET | /v1/files/[id]/content |
A fájl nyers tartalmának streamelése |
Hitelesítés: Bearer API-kulcs — a fájlok API-kulcsonként vannak elkülönítve a getApiKeyRequestScope segítségével. Egy kulcs
csak a saját fájljait látja, töltheti le és törölheti; egy kulcs nélküli irányítópult-munkamenet a
teljes példányt olvashatja; a tulajdonos nélküli fájlokhoz (névtelen vagy irányítópult-munkamenetből történő feltöltés) minden
nem munkamenet-alapú hívó hozzáférése meg van tagadva. A GET /v1/files a névtelen hívót — és a megadott, de
nem feloldható kulcsot — 401 válasszal utasítja el még akkor is, ha REQUIRE_API_KEY=false, ahelyett, hogy minden bérlő
fájljait listázná (GHSA-m3hp-hq9g-fpmv, GHSA-2jm2-mpx8-6523).
Batches API
OpenAI-kompatibilis kötegelt feldolgozás.
| Metódus | Elérési út | Leírás |
|---|---|---|
| POST | /v1/batches |
Köteg létrehozása — a törzset a v1BatchCreateSchema validálja (input_file_id, endpoint, completion_window) |
| GET | /v1/batches |
Kötegek listázása |
| GET | /v1/batches/[id] |
A köteg állapotának és a request_counts értékének lekérése |
| DELETE | /v1/batches/[id] |
Befejezett/meghiúsult köteg törlése |
| POST | /v1/batches/[id]/cancel |
Folyamatban lévő köteg megszakítása |
Hitelesítés: Bearer API-kulcs. A kötegek API-kulcsonként vannak elkülönítve, ugyanazon háromágú szabály szerint, mint
a fájlok: csak a saját kulcshoz tartozók érhetők el, az irányítópult-munkamenet a teljes példányhoz hozzáfér, a null tulajdonosú rekordok pedig minden
nem munkamenet-alapú hívó számára tiltottak (lekérés, törlés, megszakítás, valamint létrehozáskor az input_file_id ellenőrzése).
A GET /v1/batches a névtelen hívót 401 válasszal utasítja el még akkor is, ha REQUIRE_API_KEY=false.
Search API
Webes/keresési szolgáltatók absztrakciója (Tavily, Brave, Exa, Serper stb.).
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /v1/search |
A konfigurált keresési szolgáltatók és képességeik listázása |
| POST | /v1/search |
Keresési lekérdezés futtatása — a törzset a v1SearchSchema validálja; támogatja a gyorsítótárazást és az összevonást |
| GET | /v1/search/analytics |
Szolgáltatónkénti találati, késleltetési és gyorsítótár-statisztikák |
Hitelesítés: Bearer API-kulcs (extractApiKey + isValidApiKey). A keresési szabályzatot az enforceApiKeyPolicy kényszeríti ki.
Web Fetch API
Tartalom kinyerése egy URL-ről egy konfigurált webes lekérési szolgáltatón keresztül (Firecrawl, Jina Reader, Tavily Extract, TinyFish Fetch, Nimble Extract).
| Metódus | Útvonal | Leírás |
|---|---|---|
| POST | /v1/web/fetch |
URL lekérése/kinyerése — a törzset a v1WebFetchSchema validálja |
Hitelesítés: Bearer API-kulcs (extractApiKey + isValidApiKey). A szabályzatot az enforceApiKeyPolicy kényszeríti ki.
Kvótafigyelő tartalékmechanizmus (#8297): ha nincs explicit provider megadva, a rendszer a készletet
(firecrawl → jina-reader → tavily-search → tinyfish → nimble-search)
rögzített prioritási sorrendben járja be (az elsőt tölti fel először) — a sebességkorlátozott, de konfigurált szolgáltatót
kihagyja ahelyett, hogy azonnal megszakítaná a kérést, és egy újrapróbálható/kvótával kapcsolatos felsőbb szintű hiba
(HTTP 429 minden esetben; 402/403 a Firecrawl/Tavily/TinyFish kvótaalapú ingyenes csomagjainál —
de nem a Jina Reader esetén, és soha nem egyszerű 400 hibás kérésnél) futásidőben a
következő, még nem próbált, hitelesítő adatokkal rendelkező szolgáltatóra vált. Ha a készlet minden szolgáltatója
kimerült, a végpont az előző általános 400 helyett egyetlen 429 választ ad vissza
(Retry-After fejléccel). Ha explicit provider van megadva, nincs automatikus tartalékra váltás — a sebességkorlátozott vagy hibát adó explicit
szolgáltató saját hibája jut el a klienshez (sebességkorlátozás esetén 429, egyébként a felsőbb szintű
állapotkód).
WebSocket-streamelés
GET /v1/ws?handshake=1
Validálja a WebSocket-frissítési kézfogást, és visszaadja a vezetékes protokoll példaüzeneteit (request, cancel). A tényleges WS-kereteket a csomagban található WS-kiszolgáló kezeli a Next.js útvonaltábláján kívül.
Hitelesítés: Bearer API-kulcs a kézfogás során.
Responses API WebSocketen keresztül (csak codex)
# Ugyanaz a gazdagép:port, mint a HTTP API esetén (alapértelmezés szerint 20128); a kapcsolat frissítése:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (vagy: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")
# Az első keretnek KÖTELEZŐEN response.create típusúnak kell lennie:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }
A Responses API WebSocketen keresztüli proxyja kizárólag a codex szolgáltatóhoz van bekötve (ChatGPT-
háttérrendszer). Ugyanazon a porton figyel, mint az API/irányítópult, a /v1/responses,
/responses és /api/v1/responses útvonalakon. Az első response.create keretnél
hitelesítést és előkészítést végez a belső codex-responses-ws hídon keresztül, kiválaszt egy
codex OAuth-kapcsolatot, majd alagutat hoz létre a wss://chatgpt.com/backend-api/codex/responses
címhez a wreq-js átviteli rétegen keresztül. A nem codex modelleket elutasítja (codex_ws_provider_required).
A kvótamegosztásos útválasztáshoz használja a következőt: model: "qtSd/<group>/codex/<model>". Megvalósítás:
app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts.
Hitelesítés: Bearer API-kulcs a kézfogás során. A csomagban található HTTP-kiszolgálónak (server-ws.mjs)
kell lennie az aktív belépési pontnak (ez az alapértelmezés, ha az app/server-ws.mjs létezik).
Modellazonosító: használja a nyers ChatGPT-azonosítót (codex/ előtag nélkül)
Az OpenAI Codex CLI kliensoldalon validálja a modell nevét, amikor a
supports_websockets = true, és elutasítja a szolgáltató-előtaggal ellátott azonosítókat, például a
codex/gpt-5.5 értéket (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account). Küldje a nyers azonosítót (például gpt-5.5). Az OmniRoute hídja
kizárólag codex modelleket kezel, ezért egy nyers azonosítót újra codex modellként old fel
(resolveCodexWsModelInfo), mielőtt továbbítaná a felsőbb szintű szolgáltatónak — még akkor is, ha egy nyers
gpt-5.5 HTTP-n keresztül egyébként másik szolgáltatóhoz lenne irányítva.
Az OpenAI Codex CLI konfigurálása
Irányítsa a Codex CLI-t az OmniRoute-hoz úgy, hogy WebSocket-támogatással rendelkező egyéni szolgáltatót
ad hozzá a ~/.codex/config.toml fájlhoz (használjon külön CODEX_HOME értéket, hogy ne módosítson
egy meglévő konfigurációt):
model = "gpt-5.5" # nyers azonosító — NEM "codex/gpt-5.5"
model_provider = "omniroute"
[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1" # nincs záró perjel; a WS URL ebből származik (éles környezetben használjon https/wss protokollt)
wire_api = "responses" # 2026 februárja óta az egyetlen támogatott érték
supports_websockets = true # engedélyezi a Responses-over-WS átvitelt
env_key = "OMNIROUTE_API_KEY" # az OmniRoute API-kulcsot tartalmazza (Bearer)
export OMNIROUTE_API_KEY=sk-... # egy OmniRoute API-kulcs (bármely kulcs, ha REQUIRE_API_KEY=false)
codex exec "Responda apenas: PONG"
A CLI a base_url + /responses címet WebSocket-kapcsolatra frissíti, az OmniRoute pedig
a kiválasztott codex OAuth-kapcsolathoz továbbítja. Végponttól végpontig validálva a helyi
kiszolgálóval: a ChatGPT codex.rate_limits + response.created eseményeket ad vissza, és streameli a
befejezést.
Kvóták és hibák jelentése
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /v1/quotas/check |
Egy provider + accountId kvótájának előzetes ellenőrzése regisztrált kulcs kiadása előtt |
| POST | /v1/issues/report |
Kvóta- vagy kulcskiadási hiba jelentése a GitHubon (GITHUB_ISSUES_REPO + token szükséges) |
Hitelesítés: Bearer API-kulcs (isAuthenticated).
Önkiszolgáló használati adatok (/api/usage/om-usage)
Bármely API-kulcs lekérdezheti a saját használati adatait és kvótáit — kezelői hitelesítés nélkül. Ezt a végpontot használja egy kliens (CLI, az OmniCopilot panel), hogy megjelenítse a kulcs tulajdonosának költését.
# Szöveges forma (a korábbi szerződés — egyszerű szöveg terminálhoz)
curl -H "Authorization: Bearer <your-api-key>" \
http://localhost:20128/api/usage/om-usage
# Strukturált forma — ezt használja fel egy felhasználói felület
curl -H "Authorization: Bearer <your-api-key>" \
"http://localhost:20128/api/usage/om-usage?format=json"
A kulcshoz engedélyezni kell az allowUsageCommand beállítást (alapértelmezés szerint ki van kapcsolva — az irányítópult API-kulcs-
kezelője kulcsonként kapcsolja be). Enélkül a végpont 403 választ ad.
A ?format=json megkülönböztetett struktúrát ad vissza, így a hívó soha nem olvas adatmezőt
elutasító válaszból. Siker esetén:
{
"allowed": true,
// csak akkor van jelen, ha a kulcshoz kulcsonkénti használati korlátokat állítottak be (napi/heti USD):
"personal": {
"dailySpentUsd": 1.25,
"dailyLimitUsd": 5,
"dailyResetAtIso": "…",
"weeklySpentUsd": 8,
"weeklyLimitUsd": 20,
"weeklyResetAtIso": "…" /* … */,
},
// a kiválasztott szolgáltató kvótájának pillanatképe, vagy null, ha még semmi sincs gyorsítótárazva:
"provider": {
"connectionId": "…",
"provider": "claude",
"plan": "…",
"quotas": {/* … */},
},
// minden kapcsolat pillanatképe, hogy a felhasználói felület több szolgáltatót is egymás mellett jeleníthessen meg:
"providers": [
{ "connectionId": "…", "provider": "claude" /* … */ },
{ "provider": "codex" /* … */ },
],
}
Elutasítás esetén (401 hibás kulcs / 403 nincs engedélyezve) ugyanez az útvonal
{ "allowed": false, "error": { "message": "…" } } választ ad — a jelen lévő, de üres personal/provider
(a kulcs engedélyezett, de még nincs begyűjtött adat) eltér az elutasítástól, és csak a JSON-forma
különbözteti meg őket.
Hitelesítés: a hívó saját Bearer API-kulcsa, az isValidApiKey segítségével ellenőrizve — ez nem a
kezelői felület (/api/keys/…), amelyet továbbra is a requireManagementAuth véd.
Szemantikus gyorsítótár
# Gyorsítótár-statisztikák lekérése
GET /api/cache/stats
# Minden gyorsítótár törlése
DELETE /api/cache/stats
Példaválasz:
{
"semanticCache": {
"memorySize": 42,
"memoryMaxSize": 500,
"dbSize": 128,
"hitRate": 0.65
},
"idempotency": {
"activeKeys": 3,
"windowMs": 5000
}
}
Késleltetési hatás
A szemantikus gyorsítótár TALÁLATA a választ a gyorsítótárból szolgálja ki külső szolgáltatáshívás
nélkül, így a jelentett X-OmniRoute-Response-Latency közel nulla
(az eredeti külső szolgáltatás késleltetésétől függetlenül). A késleltetésre érzékeny klienseknek
(teljesítménymérés, p50/p99 monitorozás) ellenőrizniük kell az
X-OmniRoute-Cache-Latency válaszfejlécet:
| Érték | Jelentés |
|---|---|
synthetic |
A válasz a gyorsítótárból érkezett; a késleltetés nem valós külső válaszidő |
| (hiányzik) | A válasz valós külső szolgáltatáshívásból érkezett |
Kulcsonkénti gyorsítótár-megkerülés
Az API-kulcsok a cacheDefaultMode segítségével letilthatják a szemantikus gyorsítótárból történő olvasást:
| Érték | Viselkedés |
|---|---|
legacy |
Normál gyorsítótár-viselkedés (alapértelmezett) |
bypass |
A gyorsítótár teljes kihagyása; mindig a külső szolgáltatás hívása |
Beállítás a kulcs létrehozásakor (POST /api/keys) vagy frissítésekor (PATCH /api/keys/[id]):
{ "cacheDefaultMode": "bypass" }
Kérésenkénti megkerülés
Bármely kérés megkerülheti a gyorsítótárat a kulcs beállításaitól függetlenül:
X-OmniRoute-No-Cache: true
Irányítópult és kezelés
A kezelési útvonalak (/api/* a nyilvános hitelesítés/bejelentkezés kivételével) nem engedélyezhetők
hagyományos következtetési API-kulcsokkal. A hitelesítőadat-típusok, hatókörök és curl-példák itt találhatók:
Kezelési hitelesítés.
Hitelesítés
| Végpont | Metódus | Leírás |
|---|---|---|
/api/auth/login |
POST | Bejelentkezés |
/api/auth/logout |
POST | Kijelentkezés |
/api/settings/require-login |
GET/PUT | Kötelező bejelentkezés váltása |
Szolgáltatók kezelése
| Végpont | Metódus | Leírás |
|---|---|---|
/api/providers |
GET/POST | Szolgáltatók listázása / létrehozása |
/api/providers/[id] |
GET/PUT/DELETE | Szolgáltató kezelése |
/api/providers/[id]/test |
POST | Szolgáltatói kapcsolat tesztelése |
/api/providers/[id]/models |
GET | A szolgáltató modelljeinek listázása |
/api/providers/validate |
POST | Szolgáltatói konfiguráció ellenőrzése |
/api/providers/bulk |
POST | API-kulcsok tömeges hozzáadása EGY szolgáltatóhoz |
/api/providers/import |
POST | Heterogén szolgáltatói LISTA importálása feldolgozott CSV/JSON-fájlból (#6836); soronkénti részleges sikertelenségi eredmények |
/api/provider-nodes* |
Különböző | Szolgáltatói csomópontok kezelése |
/api/provider-models |
GET/POST/PATCH/DELETE | Egyéni modellek (hozzáadás, frissítés, elrejtés/megjelenítés, törlés) |
OAuth-folyamatok
| Végpont | Metódus | Leírás |
|---|---|---|
/api/oauth/[provider]/[action] |
Különböző | Szolgáltatóspecifikus OAuth |
Útválasztás és konfiguráció
| Végpont | Metódus | Leírás |
|---|---|---|
/api/models/alias |
GET/POST | Modellálnevek |
/api/models/catalog |
GET | Minden modell szolgáltató és típus szerint |
/api/combos* |
Különböző | Kombinációk kezelése |
/api/keys* |
Különböző | API-kulcsok kezelése |
/api/pricing |
GET | Modellek árazása |
Használat és analitika
| Végpont | Metódus | Leírás |
|---|---|---|
/api/usage/history |
GET | Használati előzmények |
/api/usage/logs |
GET | Használati naplók |
/api/usage/request-logs |
GET | Kérésszintű naplók |
/api/usage/[connectionId] |
GET | Kapcsolatonkénti használat |
/api/usage/token-limits |
GET/POST/DELETE | API-kulcsonkénti tokenkorlát-keretek |
/api/usage/model-latency-stats |
GET | Szolgáltatónkénti/modellenkénti gördülő késleltetési összesítés (átlag/p50/p95/p99, sikerességi arány); szűrők: windowHours/minSamples/maxRows/provider/model (#6873) |
/api/usage/cache-health |
GET | A prompt-gyorsítótár állapotának összegzése a call_logs alapján — írási/olvasási arány, az írásméret p50/p90/p99 eloszlása, a nagy írások koncentrációja, modellenkénti bontás, valamint healthy/degraded/thrash/no-data minősítés; lekérdezési paraméterek: range (1h|24h|7d|30d, alapértelmezett: 24h) és opcionálisan model (#8827) |
Beállítások
| Végpont | Metódus | Leírás |
|---|---|---|
/api/settings |
GET/PUT/PATCH | Általános beállítások |
/api/settings/proxy |
GET/PUT | Hálózati proxy konfigurációja |
/api/settings/proxy/test |
POST | A proxykapcsolat tesztelése |
/api/settings/ip-filter |
GET/PUT | IP-engedélyezési/tiltási lista |
/api/settings/thinking-budget |
GET/PUT | A gondolkodási/következtetési kérések átírási módja (változatlan továbbítás / automatikus eltávolítás / egyéni / adaptív). A tömörítéstől független. Lásd: THINKING_BUDGET.md. |
/api/settings/system-prompt |
GET/PUT | Globális rendszerprompt |
/api/settings/compression |
GET/PUT | Globális tömörítési konfiguráció |
/api/settings/purge-request-history |
POST | A kérésnapló sorainak és a helyi hívásnapló-összetevőknek a törlése |
Kontextus és tömörítés
| Végpont | Metódus | Leírás |
|---|---|---|
/api/compression/preview |
POST | Az off/lite/standard/aggressive/ultra/RTK/stacked tömörítés előnézete |
/api/compression/language-packs |
GET | Az elérhető Caveman nyelvi csomagok listázása |
/api/compression/rules |
GET | A Caveman-szabályok metaadatainak listázása |
/api/context/caveman/config |
GET/PUT | A Caveman-specifikus beállítások aliasa |
/api/context/rtk/config |
GET/PUT | RTK-specifikus beállítások, beleértve az egyéni szűrőket és a nyers kimenet megőrzését |
/api/context/rtk/filters |
GET | RTK-szűrőkatalógus és az egyéni szűrők diagnosztikája |
/api/context/rtk/test |
POST | RTK-előnézet/-teszt futtatása szöveges adatokon |
/api/context/rtk/raw-output/[id] |
GET | A megőrzött, kitakart nyers kimenet beolvasása mutatóazonosító alapján |
/api/context/combos |
GET/POST | Tömörítési kombinációk listázása/létrehozása |
/api/context/combos/[id] |
GET/PUT/DELETE | Tömörítési kombináció részletei/frissítése/törlése |
/api/context/combos/[id]/assignments |
GET/PUT | Tömörítési kombinációk hozzárendelése útválasztási kombinációkhoz |
/api/context/analytics |
GET | Tömörítési analitika aliasa |
Monitorozás
| Végpont | Metódus | Leírás |
|---|---|---|
/api/sessions |
GET | Aktív munkamenetek nyomon követése |
/api/rate-limits |
GET | Fiókonkénti sebességkorlátok |
/api/monitoring/health |
GET | Állapotellenőrzés és szolgáltatói összefoglaló (catalogCount, configuredCount, activeCount, monitoredCount). A felügyeleti nézet tartalmazza a credentialHealth adatot: a próbagyorsítótár skalárértékei, failedConnections, ha failed>0, valamint staleDbNonOkCount (SQLite-ban rögzült test_status, nem a mérőszám). Lásd: MONITORING_GUIDE.md. |
/api/cache/stats |
GET/DELETE | Gyorsítótár-statisztikák / ürítés |
/api/modality-bridge/stats |
GET | Memóriában tárolt attempts, sikeres műveletek/bridged, hibák, gyorsítótár-találatok, totalLatencyMs, latencySamples, mintaszám alapján számított averageLatencyMs, valamint az utolsó használat időpontja (újraindításkor alaphelyzetbe áll; felügyeleti hitelesítés szükséges) |
/api/modality-bridge/video/runtime |
GET | Szigorú, megbízható visszacsatolási címre vonatkozó ellenőrzés a felügyeleti hitelesítés/próba előtt; az FFmpeg/ffprobe elérhetősége és megtisztított verzióadatai (nincs tárolás) |
/api/modality-bridge/video/extract |
POST | Belső, hitelesített, megbízható visszacsatolási címre korlátozott bájtközvetítő; 50 MiB-os bemenet, korlátozott várólista/32 MiB-os kimenet, 503 kapacitáshiány, 499 kapcsolatbontás, 504 határidő-túllépés; nem nyilvános feltöltési API |
Biztonsági mentés és exportálás/importálás
| Végpont | Metódus | Leírás |
|---|---|---|
/api/db-backups |
GET | Az elérhető biztonsági mentések listázása |
/api/db-backups |
PUT | Kézi biztonsági mentés létrehozása |
/api/db-backups |
POST | Visszaállítás egy adott biztonsági mentésből |
/api/db-backups/export |
GET | Az adatbázis letöltése .sqlite-fájlként |
/api/db-backups/import |
POST | .sqlite-fájl feltöltése az adatbázis lecseréléséhez |
/api/db-backups/exportAll |
GET | Teljes biztonsági mentés letöltése .tar.gz-archívumként |
Felhőszinkronizálás
| Végpont | Metódus | Leírás |
|---|---|---|
/api/sync/cloud |
Különböző | Felhőszinkronizálási műveletek |
/api/sync/initialize |
POST | Szinkronizálás inicializálása |
/api/cloud/* |
Különböző | Felhőkezelés |
Alagutak
| Végpont | Metódus | Leírás |
|---|---|---|
/api/tunnels/cloudflared |
GET | A Cloudflare Quick Tunnel telepítési/futásidejű állapotának lekérdezése az irányítópulthoz |
/api/tunnels/cloudflared |
POST | A Cloudflare Quick Tunnel engedélyezése vagy letiltása (action=enable/disable) |
/api/tunnels/ngrok |
GET | Az ngrok Tunnel futásidejű állapotának lekérdezése az irányítópulthoz |
/api/tunnels/ngrok |
POST | Az ngrok Tunnel engedélyezése vagy letiltása (action=enable/disable) |
CLI-eszközök
| Végpont | Metódus | Leírás |
|---|---|---|
/api/cli-tools/claude-settings |
GET | A Claude CLI állapota |
/api/cli-tools/codex-settings |
GET | A Codex CLI állapota |
/api/cli-tools/droid-settings |
GET | A Droid CLI állapota |
/api/cli-tools/openclaw-settings |
GET | Az OpenClaw CLI állapota |
/api/cli-tools/runtime/[toolId] |
GET | Általános CLI-futási környezet |
A CLI-válaszok a következőket tartalmazzák: installed, runnable, command, commandPath, runtimeMode, reason.
ACP-ügynökök
| Végpont | Metódus | Leírás |
|---|---|---|
/api/acp/agents |
GET | Az összes észlelt ügynök (beépített és egyéni) listázása állapotukkal együtt |
/api/acp/agents |
POST | Egyéni ügynök hozzáadása vagy az észlelési gyorsítótár frissítése |
/api/acp/agents |
DELETE | Egyéni ügynök eltávolítása az id lekérdezési paraméter alapján |
A GET-válasz tartalmazza az agents[] (id, name, binary, version, installed, protocol, isCustom) és a summary (total, installed, notFound, builtIn, custom) mezőket.
Hibatűrés és sebességkorlátok
| Végpont | Metódus | Leírás |
|---|---|---|
/api/resilience |
GET/PATCH | A kérési sor, a kapcsolat-várakoztatás, a szolgáltatói megszakító és a várakozási beállítások lekérése/frissítése |
/api/resilience/reset |
POST | A szolgáltatói áramkör-megszakítók alaphelyzetbe állítása |
/api/resilience/model-cooldowns |
GET | Az aktív, (szolgáltató, kapcsolat, modell) szerinti zárolások listázása a hátralévő idő alapján rendezve |
/api/resilience/model-cooldowns |
DELETE | Modellzárolás törlése — törzs: {provider, model}, vagy minden törléséhez {all: true} |
/api/rate-limits |
GET | Fiókonkénti sebességkorlát-állapot |
/api/rate-limit |
GET | Globális sebességkorlát-konfiguráció |
Mind a négy
/api/resilience/*útvonalhoz kezelői hitelesítés (requireManagementAuth) szükséges. A szolgáltatói megszakító, a kapcsolat-várakoztatás és a modellzárolás teljes körű összehasonlításáért lásd: Hibatűrés (bővített).
Kiértékelések
| Végpont | Metódus | Leírás |
|---|---|---|
/api/evals |
GET/POST | Kiértékelési csomagok listázása/kiértékelés futtatása |
Házirendek
| Végpont | Metódus | Leírás |
|---|---|---|
/api/policies |
GET/POST/DELETE | Útválasztási házirendek kezelése |
Megfelelőség
| Végpont | Metódus | Leírás |
|---|---|---|
/api/compliance/audit-log |
GET | Megfelelőségi auditnapló (utolsó N elem) |
v1beta (Gemini-kompatibilis)
| Végpont | Metódus | Leírás |
|---|---|---|
/v1beta/models |
GET | Modellek listázása Gemini-formátumban |
/v1beta/models/{...path} |
POST | Gemini generateContent végpont |
Ezek a végpontok a Gemini API-formátumát tükrözik azon kliensek számára, amelyek natív Gemini SDK-kompatibilitást várnak el.
Belső/rendszer-API-k
| Végpont | Metódus | Leírás |
|---|---|---|
/api/init |
GET | Alkalmazás-inicializálási ellenőrzés (az első indításkor használatos) |
/api/tags |
GET | Ollama-kompatibilis modellcímkék (Ollama-kliensekhez) |
/api/restart |
POST | A kiszolgáló szabályos újraindításának kezdeményezése |
/api/shutdown |
POST | A kiszolgáló szabályos leállításának kezdeményezése |
/api/system/env/repair |
POST | Az OAuth-szolgáltató környezeti változóinak javítása |
Megjegyzés: Ezeket a végpontokat a rendszer belsőleg, illetve az Ollama-kliensekkel való kompatibilitás érdekében használja. A végfelhasználók általában nem hívják meg őket.
OAuth-környezeti változók javítása (v3.6.1+)
POST /api/system/env/repair
Content-Type: application/json
{
"provider": "claude-code"
}
Kijavítja egy adott szolgáltató hiányzó vagy sérült OAuth-környezeti változóit. A visszaadott válasz:
{
"success": true,
"repaired": ["CLAUDE_CODE_OAUTH_CLIENT_ID", "CLAUDE_CODE_OAUTH_CLIENT_SECRET"],
"backupPath": "/home/user/.omniroute/backups/env-repair-2026-04-11.bak"
}
Hangátirat
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
Hangfájlok átírása bármely konfigurált STT-szolgáltató használatával. Az elérési út első
szegmense választja ki a natív szolgáltatót (openai/…, deepgram/…). A más gyártó
modelljét újraexportáló átjárók minősített azonosítót használnak
(openrouter/deepgram/nova-3).
Kérés:
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@recording.mp3" \
-F "model=openai/whisper-1"
Válasz:
{
"text": "Hello, this is the transcribed audio content.",
"task": "transcribe",
"language": "en",
"duration": 12.5
}
Példa modellazonosítók: openai/whisper-1 (OpenAI-kulcsot igényel),
openrouter/deepgram/nova-3 (OpenRouter-kulcsot igényel),
deepgram/nova-3 (natív Deepgram-kulcsot igényel). Egy egyszerű
deepgram/nova-3 kérés nem használja az OpenRoutert.
Támogatott formátumok: mp3, wav, m4a, flac, ogg, webm.
Ollama-kompatibilitás
Az Ollama API-formátumát használó kliensek számára:
# Csevegési végpont (Ollama-formátum)
POST /v1/api/chat
# Modelllista (Ollama-formátum)
GET /api/tags
A kérések automatikusan át lesznek alakítva az Ollama és a belső formátumok között.
Tokenizált VS Code-/fejléc nélküli aliasok
Ezeket az aliasokat akkor használja, ha egy integráció nem képes Authorization fejlécet beilleszteni, és az API-kulcsot az alap URL-be kell ágyazni.
# OpenAI-stílusú katalógusalias
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models
# OpenAI-stílusú csevegési aliasok
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses
# Ollama-stílusú aliasok
POST /api/v1/vscode/{token}/api/chat
GET /api/v1/vscode/{token}/api/tags
Példa:
curl https://your-host.example/api/v1/vscode/YOUR_API_KEY/models
curl -X POST https://your-host.example/api/v1/vscode/YOUR_API_KEY/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"hello"}]}'
Megjegyzések:
- A tokenizált aliasok ugyanazokat a kezelőket használják újra, mint a
/v1/*és az/api/tags; a válaszok szerkezete változatlan marad. - Amikor a kliens támogatja az egyéni fejléceket, részesítse előnyben az
Authorization: Bearer ...használatát. - Az URL-alapú tokenek megjelenhetnek a fordított proxy naplóiban, a böngészési előzményekben és az OmniRoute-on kívüli telemetriában. Kompatibilitási lehetőségként kezelje őket, ne alapértelmezett hitelesítési módként.
Telemetria
# Késleltetési telemetria összegzésének lekérése (p50/p95/p99 szolgáltatónként)
GET /api/telemetry/summary
Válasz:
{
"providers": {
"claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
"github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
}
}
Költségkeret
# Költségkeret állapotának lekérése az összes API-kulcshoz
GET /api/usage/budget
# Költségkeret beállítása vagy frissítése
POST /api/usage/budget
Content-Type: application/json
{
"apiKeyId": "key-123",
"dailyLimitUsd": 5.00,
"weeklyLimitUsd": 30.00,
"monthlyLimitUsd": 100.00,
"warningThreshold": 0.8,
"resetInterval": "monthly"
}
Sémával kapcsolatos megjegyzések (
setBudgetSchema): azapiKeyIdmegadása kötelező; adailyLimitUsd, aweeklyLimitUsdvagy amonthlyLimitUsdközül legalább egynek nullánál nagyobbnak kell lennie. Nem kötelező mezők:warningThreshold(0–1),resetInterval(daily|weekly|monthly),resetTime(HH:MM). A korábbi{keyId, limit, period}struktúra400 Bad Requestválaszt eredményez.
Tokenkorlátok
API-kulcsonkénti tokenkeretek (a fenti, USD-alapú költségkerettől elkülönítve). Érvényesítésük közvetlenül a kérés feldolgozási útvonalán történik: amikor egy kulcs aktuális időablakbeli felhasználása eléri a korlátot, a rendszer 429 Too Many Requests válasszal elutasítja a kéréseket. A korlátok hatóköre beállítható egy adott model vagy provider értékre, illetve a teljes kulcsra global hatókörrel; ha egy kérésre több korlát is illeszkedik, a legszigorúbb érvényesül.
# Egy kulcs tokenkorlátainak listázása (az időablak aktuális felhasználását is tartalmazza)
GET /api/usage/token-limits?apiKeyId=key-123
# Tokenkorlát létrehozása vagy frissítése
POST /api/usage/token-limits
Content-Type: application/json
{
"apiKeyId": "key-123",
"scopeType": "model",
"scopeValue": "openai/gpt-4o",
"tokenLimit": 1000000,
"resetInterval": "monthly",
"enabled": true
}
# Tokenkorlát törlése azonosító alapján
DELETE /api/usage/token-limits?id=tl-abc
Sémára vonatkozó megjegyzések (
setTokenLimitSchema): azapiKeyIdés ascopeType(model|provider|global) megadása kötelező. AscopeValuemegadása kötelező, kivéve, ha ascopeTypeértékeglobal(például modellazonosítómodelhatókör esetén, illetve szolgáltatóazonosítóproviderhatókör esetén). AtokenLimitértékének pozitív egész számnak kell lennie (sztringből kényszerített típuskonverzióval). Nem kötelező mezők:id(létrehozáskor elhagyandó, frissítéskor megadandó),resetInterval(daily|weekly|monthly, alapértelmezett értékemonthly),resetTime(HH:MM),enabled(alapértelmezett értéketrue). AGET-válaszok minden korlátot kiegészítenek atokensUsed,remaining,windowStart,periodStartAtésnextResetAtmezőkkel. Ez egy felügyeleti osztályú végpont (a hitelesítést központilag az authz-folyamat érvényesíti).
Kérések feldolgozása
- A kliens kérést küld a
/v1/*címre - Az útvonalkezelő meghívja a
handleChat,handleEmbedding,handleAudioTranscriptionvagyhandleImageGenerationfüggvényt - A rendszer feloldja a modellt (közvetlen szolgáltató/modell vagy álnév/kombináció)
- A hitelesítő adatokat a helyi adatbázisból választja ki, a fiókok elérhetősége szerinti szűréssel
- Csevegés esetén: a
handleChatCoreellenőrzi a szemantikai-/aláírás-gyorsítótárat, és feloldja a kombináció tömörítési beállításait - Ha engedélyezve van, a proaktív tömörítés a szolgáltatói formátumra való átalakítás előtt fut le (
lite, Caveman, RTK vagy halmozott) - A szolgáltatói végrehajtó elküldi a kérést a felsőbb szintű szolgáltatásnak
- A választ a rendszer visszaalakítja kliensformátumra (csevegés), vagy változatlanul adja vissza (beágyazások/képek/hang)
- A felhasználási adatokat, a tömörítési analitikát és a kérésnaplókat rögzíti
- Hiba esetén a kombináció szabályai szerint tartalékmechanizmust alkalmaz
Teljes architektúra-referencia: ARCHITECTURE.md
Kombinációk kezelése
A magasabb szintű útválasztási kombinációk (amelyeket a /api/combos* szakasz már összefoglalt) 1:1 arányban leképezhetők egy modellazonosító-mintából is, lehetővé téve egy OpenAI-stílusú modellazonosító átlátható átirányítását egy kombinációra.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/model-combo-mappings |
Az összes modell→kombináció leképezés listázása |
| POST | /api/model-combo-mappings |
Leképezés létrehozása — törzs: {pattern, comboId, priority?, enabled?, description?} |
| GET | /api/model-combo-mappings/[id] |
Egyetlen leképezés lekérése |
| PUT | /api/model-combo-mappings/[id] |
Egy meglévő leképezés mezőinek frissítése |
| DELETE | /api/model-combo-mappings/[id] |
Leképezés eltávolítása |
Hitelesítés: felügyeleti munkamenet/API-kulcs (requireManagementAuth).
Webhookok
Kimenő webhook-előfizetések az OmniRoute eseményeihez (kérések teljesítése, kvóta kimerülése, kulcsrotáció stb.).
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/webhooks |
Webhookok listázása (a titkos kulcsok maszkolva jelennek meg: <prefix>...) |
| POST | /api/webhooks |
Webhook létrehozása — törzs: {url, events?: ["*"], secret?, description?} |
| GET | /api/webhooks/[id] |
Webhook lekérése |
| PUT | /api/webhooks/[id] |
Az url/events/secret/description frissítése |
| DELETE | /api/webhooks/[id] |
Webhook eltávolítása |
| POST | /api/webhooks/[id]/test |
Tesztadatcsomag küldése a webhook URL-címére, majd a kézbesítési állapot visszaadása |
Hitelesítés: kezelési munkamenet/API-kulcs (requireManagementAuth).
Regisztrált kulcsok (automatikus kezelés)
Az automatikus kulcskezelési alrendszer használja API-kulcsok kiadására és rotálására egy háttérszolgáltatónál/-fióknál, napi/óránkénti kvótákkal.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/v1/registered-keys |
Regisztrált kulcsok listázása (csak a maszkolt előtag) |
| POST | /api/v1/registered-keys |
Új regisztrált kulcs kiadása — törzs: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}. A nyers kulcsot egyszer adja vissza. A kvóta elutasítása esetén 429 értéket ad vissza. |
| GET | /api/v1/registered-keys/[id] |
Egy regisztrált kulcs metaadatainak lekérése (a nyers kulcsanyag nélkül) |
| DELETE | /api/v1/registered-keys/[id] |
Regisztrált kulcs visszavonása |
| POST | /api/v1/registered-keys/[id]/revoke |
Explicit visszavonási végpont (ugyanaz a hatás, mint a DELETE esetén) |
Hitelesítés: Bearer API-kulcs (isAuthenticated). Lásd még: /v1/quotas/check és /v1/issues/report.
Ügynökprotokoll
Az OmniRoute felhasználói nevében távolról végrehajtott felhőügynök-feladatok (Claude Code, Codex Cloud, OpenHands stb.).
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/v1/agents/tasks |
Feladatok listázása — opcionális ?provider=, ?status=, ?limit= (1–500, alapértelmezés: 50) |
| POST | /api/v1/agents/tasks |
Feladat létrehozása — a törzset a CreateCloudAgentTaskSchema validálja (providerId, prompt, source, options?). 201 választ ad vissza feladatburkolóval |
| DELETE | /api/v1/agents/tasks?id=... |
Feladat törlése |
| GET | /api/v1/agents/tasks/[id] |
Feladat lekérése — external_id beállítása esetén szinkron módon frissíti az állapotot a külső felhőügynöktől |
| POST | /api/v1/agents/tasks/[id] |
Megkülönböztetett művelet: {action: "approve"}, {action: "message", message} vagy {action: "cancel"} |
| DELETE | /api/v1/agents/tasks/[id] |
Adott azonosítójú feladat törlése |
Hitelesítés: minden metódushoz felügyeleti hitelesítés szükséges (
requireCloudAgentManagementAuth). A v3.8.0 előtt ezek nem igényeltek hitelesítést — a kompatibilitást megszakító módosítást lásd a588a0333commitban.
# Claude Code-felhőfeladat létrehozása
curl -X POST http://localhost:20128/api/v1/agents/tasks \
-H "Authorization: Bearer your-management-key" \
-H "Content-Type: application/json" \
-d '{"providerId":"claude-code-cloud","prompt":"Fix the failing test","source":{"repo":"...","branch":"..."}}'
Felügyeleti proxyk
Kimenő HTTP(S)/SOCKS-proxyk, amelyek szolgáltatókhoz, fiókokhoz vagy globálisan rendelhetők hozzá.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/v1/management/proxies |
Proxyk listázása (a ?id= használatával egyet ad vissza; az ?id=&where_used=1 használatával a hozzárendelési gráfot adja vissza) |
| POST | /api/v1/management/proxies |
Proxy létrehozása — a törzset a createProxyRegistrySchema validálja |
| PATCH | /api/v1/management/proxies |
Proxy frissítése — a törzset az updateProxyRegistrySchema validálja (id szükséges) |
| DELETE | /api/v1/management/proxies?id=...&force=1 |
Proxy törlése (a hozzárendelések leválasztásához használja a force=1 értéket) |
| GET | /api/v1/management/proxies/assignments |
Hozzárendelések listázása — szűrhető proxy_id, scope, scope_id szerint; egy kapcsolat aktív proxyjának feloldásához adja át a resolve_connection_id=<id> paramétert |
| PUT | /api/v1/management/proxies/assignments |
Hozzárendelés — a törzset a proxyAssignmentSchema validálja ({scope, scopeId?, proxyId?}). Törli a diszpécser gyorsítótárát |
| PUT | /api/v1/management/proxies/bulk-assign |
Tömeges hozzárendelés — a törzset a bulkProxyAssignmentSchema validálja ({scope, scopeIds[], proxyId?}) |
| GET | /api/v1/management/proxies/health?hours=24 |
Összesített proxyállapot (sikeres/sikertelen műveletek száma, késleltetés) egy adott időablakban |
Hitelesítés: minden útvonalon felügyeleti munkamenet/API-kulcs szükséges (requireManagementAuth).
A feladatleírásban szereplő
POST /api/v1/management/proxies/[id]/assignmentsésPOST /api/v1/management/proxies/[id]/healthvégpontokat a fent látható egyszerű/assignmentsés/healthútvonalak szolgálják ki — a kódbázisban nincsenek azonosítónkénti alútvonalak.
Ellenálló képesség (bővített)
Az OmniRoute három egymástól független mechanizmust kínál az ideiglenes hibák kezelésére; az alábbi felügyeleti végpontok lehetővé teszik az üzemeltetők számára ezek állapotának lekérdezését és felülbírálását:
| Hatókör | Állapottárolás | Lekérdezés | Visszaállítás / törlés |
|---|---|---|---|
| Szolgáltatói megszakító | domain_circuit_breakers + memóriában |
/api/monitoring/health |
POST /api/resilience/reset |
| Kapcsolati várakozási idő | rateLimitedUntil a szolgáltatói kapcsolatokon |
/api/rate-limits, /api/providers/[id] |
(késleltetetten engedélyezi újra; szolgáltatói PUT-tal törölhető) |
| Modellzárolás | Memóriában tárolt modell-elérhetőségi nyilvántartás | GET /api/resilience/model-cooldowns |
DELETE /api/resilience/model-cooldowns |
A PATCH /api/resilience szolgáltatói megszakító-felülbírálásokat fogad a providerBreaker.oauth és a providerBreaker.apikey alatt. Minden profil támogatja a degradationThreshold, failureThreshold és resetTimeoutMs mezőket; ugyanezek a mezők a Vezérlőpult → Beállítások → Ellenálló képesség felületen is elérhetők.
# Egyetlen modellzárolás törlése
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-H "Content-Type: application/json" \
-d '{"provider":"openai","model":"gpt-4o-mini"}'
# Az összes zárolás törlése
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-d '{"all":true}'
A teljes fogalmi referencia és a megszakító alapértelmezett értékei: lásd CLAUDE.md → „Az ellenálló képesség futásidejű állapota”.
Képességek
Képesség-keretrendszer az OmniRoute egyéni végrehajtható kezelőkkel való kibővítéséhez, valamint piactéri integrációkhoz.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/skills |
A telepített képességek listázása — szűrhető a ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local paraméterekkel, lapozható |
| GET | /api/skills/[id] |
Egy képesség lekérése |
| PUT | /api/skills/[id] |
Képesség frissítése (név, leírás, mód, séma, kezelő, címkék) |
| DELETE | /api/skills/[id] |
Képesség eltávolítása |
| POST | /api/skills/install |
Képesség telepítése nyers manifesztből — törzs: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?} |
| GET | /api/skills/executions |
A legutóbbi képesség-végrehajtások listázása (napló a bemenetekkel/kimenetekkel/időtartammal) |
| GET | /api/skills/marketplace?q=... |
Keresés/népszerűségi lista a SkillsMP piactérről (a skillsmpApiKey beállítás szükséges) |
| POST | /api/skills/marketplace/install |
Képesség telepítése azonosító alapján a SkillsMP-ről |
| GET | /api/skills/skillssh?q=&limit= |
Keresés a skills.sh nyilvántartásban |
| POST | /api/skills/skillssh/install |
Képesség telepítése azonosító alapján a skills.sh-ról |
Hitelesítés: felügyeleti munkamenet/API-kulcs. A piactéri keresési útvonalak a felügyeleti hitelesítést vagy egy Bearer API-kulcsot (isAuthenticated) fogadnak el.
Memória
Állandó társalgási/tényalapú memóriatár, API-kulcsonként / munkamenetenként elkülönítve.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/memory |
Memóriák listázása — ?apiKeyId=, ?type=, ?sessionId=, ?q=, offset/limit vagy page/limit alapú lapozással |
| POST | /api/memory |
Memória létrehozása — a törzset a Zod ellenőrzi: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?} |
| GET | /api/memory/[id] |
Egy memória lekérése |
| DELETE | /api/memory/[id] |
Egy memória törlése |
| GET | /api/memory/health |
A memória-alrendszer állapota (adatbázis-kapcsolat, beágyazási háttérrendszer, vektorindex állapota) |
Hitelesítés: felügyeleti munkamenet/API-kulcs (requireManagementAuth). A type felsorolási típus értékei: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (lásd: MemoryType, src/lib/memory/types.ts).
MCP-kiszolgáló
Az OmniRoute egy beágyazott Model Context Protocol-kiszolgálót biztosít 3 átviteli móddal (stdio, SSE, streamable-http) és hatókörökhöz kötött eszközökkel. Az alábbi irányítópult-végpontok állapot- és auditadatokat olvasnak, valamint proxyzzák a HTTP-s átviteli módokat.
| Metódus | Útvonal | Leírás | |
|---|---|---|---|
| GET | /api/mcp/status |
Életjelek, átviteli mód, online állapot, legutóbbi hívás, leggyakrabban használt eszközök, 24 órás sikerességi arány | |
| GET | /api/mcp/tools |
MCP-eszközök listája a következőkkel: name, description, scopes, phase, auditLevel, sourceEndpoints |
|
| GET | /api/mcp/sse |
SSE-adatfolyam megnyitása az SSE átviteli módhoz (503 választ ad, ha az MCP le van tiltva, vagy az átviteli mód nem egyezik) |
|
| POST | /api/mcp/sse |
JSON-RPC-keret küldése az SSE átviteli módon | |
| GET | /api/mcp/stream |
A Streamable HTTP átviteli mód SSE-oldalának megnyitása (kiszolgáló által kezdeményezett üzenetek) | |
| POST | /api/mcp/stream |
JSON-RPC-keret küldése a Streamable HTTP átviteli módon | |
| DELETE | /api/mcp/stream |
Streamable HTTP-munkamenet befejezése | |
| GET | /api/mcp/audit |
Az auditnapló lekérdezése — ?limit=, ?offset=, ?tool=, `?success=true |
false, ?apiKeyId=` |
| GET | /api/mcp/audit/stats |
Összesített auditstatisztikák (összesítések, sikerességi arány, átlagos időtartam, leggyakrabban használt eszközök) |
Hitelesítés: az sse/stream átviteli módok az MCP-specifikus hitelesítési felületet használják (mcp hatókörrel rendelkező Bearer API-kulcs); a status/tools/audit* útvonalak olvashatók az irányítópultról (az irányítópult gazdagépének elérésén túl nincs szükség további hitelesítésre).
Mindkét HTTP-s átviteli módot a
settings.mcpEnabledés asettings.mcpTransportszabályozza — az átviteli mód eltérése400, az MCP letiltott állapota pedig503választ eredményez.
A2A-kiszolgáló
Az OmniRoute egy A2A (ügynökök közötti) JSON-RPC 2.0-végpontot, valamint egy REST-burkolót biztosít ellenőrzési és vezérlőpultbeli használatra.
JSON-RPC
POST /a2a
Authorization: Bearer your-api-key # opcionális, kivéve, ha az OMNIROUTE_API_KEY be van állítva
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"skill": "smart-routing",
"messages": [{"role": "user", "content": "Irányítsd ezt a programozási feladatot"}]
}
}
Támogatott metódusok (mindegyik a settings.a2aEnabled beállítástól függ):
| Metódus | Leírás |
|---|---|
message/send |
Szinkron képességvégrehajtás; eredménye: {task, artifacts, metadata} |
message/stream |
Ugyanazon képességkészlet streamelt SSE-végrehajtása |
tasks/get |
Feladat lekérése taskId alapján |
tasks/cancel |
Feladat megszakítása taskId alapján |
Beépített képességek: smart-routing, quota-management, provider-discovery, cost-analysis, health-report.
Ügynökkártya
GET /.well-known/agent.json
Visszaadja a nyilvános A2A-ügynökkártyát (név, leírás, képességek, képességkatalógus, hitelesítési séma) — nyilvánosan gyorsítótárazva 1 órán át. Nincs szükség hitelesítésre.
REST-segédfüggvények
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/a2a/status |
A2A engedélyezési állapota + feladatstatisztikák + a gyorsítótárazott ügynökkártya összefoglalója |
| GET | /api/a2a/tasks |
Feladatok listázása — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset= |
| POST | /api/a2a/tasks |
(Nincs REST-segédfüggvényként megvalósítva — létrehozás JSON-RPC message/send segítségével) |
| GET | /api/a2a/tasks/[id] |
Egy feladat lekérése |
| POST | /api/a2a/tasks/[id]/cancel |
Feladat megszakítása |
Hitelesítés: a REST-segédfüggvények kezelési hitelesítés nélkül futnak (a vezérlőpultról olvashatók); a JSON-RPC /a2a útvonal Bearer OMNIROUTE_API_KEY hitelesítést használ, ha az konfigurálva van.
Felhő, kiértékelések és felmérés
| Metódus | Útvonal | Leírás | ||
|---|---|---|---|---|
| POST | /api/cloud/auth |
Bearer-kulcs ellenőrzése, valamint maszkolt szolgáltatói kapcsolatok és modellálnevek visszaadása a felhőszinkronizálási kliensek számára | ||
| POST | /api/cloud/credentials/update |
Egy felhővel szinkronizált szolgáltató titkosított hitelesítő adatainak frissítése | ||
| POST | /api/cloud/model/resolve |
Logikai modellazonosító feloldása konkrét szolgáltatóra/modellre a helyi útválasztási táblázat használatával | ||
| GET | /api/cloud/models/alias |
A felhőszinkronizálás számára elérhető modellálnevek listázása | ||
| GET | /api/assess |
A legutóbbi felmérési kategorizálások beolvasása (szolgáltatónként/modellenként) | ||
| POST | /api/assess |
Felmérés futtatása — törzs: `{scope: {type:"all"} | {type:"provider", providerId} | {type:"model", modelId}, trigger?}` |
| GET | /api/evals |
Beépített kiértékelési csomagok és legutóbbi futtatásaik listázása | ||
| POST | /api/evals |
Kiértékelési futtatás indítása | ||
| POST | /api/evals/suites |
Egyéni kiértékelési csomag létrehozása — a törzset az evalSuiteSaveSchema ellenőrzi |
||
| GET | /api/evals/suites/[id] |
Egyéni kiértékelési csomag lekérése |
Hitelesítés: az /api/cloud/auth közvetlenül ellenőrzi a Bearer-kulcsot; a többi /api/cloud/*, /api/evals/* és /api/assess útvonal kezelési munkamenetet/API-kulcsot igényel. Az /api/assess POST a validateBody függvényt használja egy diszkriminált uniós hatókörsémával.
ACP (Agent Client Protocol) kezelése
gyermekfolyamatokként. Ezek a végpontok kezelik az ACP-ügynökök észlelését és az egyéni ügynökök regisztrációját.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/acp/agents |
Az összes ismert CLI-ügynök (beépített + egyéni) listázása a telepítési állapottal, verzióval és binárissal |
| POST | /api/acp/agents |
Egyéni ACP-ügynök regisztrálása vagy a gyorsítótár frissítése — törzs: {id, name, binary, versionCommand, providerAlias, spawnArgs, protocol} vagy {action: "refresh"} |
| DELETE | /api/acp/agents |
Egyéni ACP-ügynök eltávolítása — lekérdezési paraméter: ?id=<agentId> |
Példaválasz (GET /api/acp/agents):
{
"agents": [
{
"id": "claude",
"name": "Claude Code CLI",
"binary": "claude",
"version": "1.0.45",
"installed": true,
"protocol": "stdio",
"providerAlias": "claude",
"isCustom": false
},
{
"id": "my-custom-cli",
"name": "My Custom CLI",
"installed": false,
"protocol": "stdio",
"providerAlias": "my-provider",
"isCustom": true
}
],
"cacheTtlMs": 60000,
"cacheAge": 1234
}
Hitelesítés: Kezelési munkamenet (az irányítópult auth_token cookie-ja) vagy kezelési hatókörű API-kulcs szükséges.
A teljes részletekért lásd az ACP-keretrendszer dokumentációját.
Analitika és megfigyelhetőség
Valós idejű analitikai végpontok az útválasztás, a tömörítés és a szolgáltatói sokszínűség figyeléséhez. Ezek szolgálják ki a /dashboard/analytics/* oldalakat.
Automatikus útválasztási analitika
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/analytics/auto-routing |
Összesített automatikus útválasztási statisztikák: összes hívás, stratégiák és szintek eloszlása, fő szolgáltatók |
| GET | /api/analytics/auto-routing?days=7 |
Időablakra korlátozott statisztikák (alapértelmezés szerint 24 óra) |
Példaválasz:
{
"window": "24h",
"totalCalls": 1234,
"strategyBreakdown": {
"rules": 800,
"cost": 200,
"latency": 150,
"sla-aware": 50,
"lkgp": 34
},
"tierBreakdown": {
"ultra": 100,
"pro": 500,
"standard": 400,
"free": 234
},
"topProviders": [
{ "provider": "openai", "calls": 500, "avgLatencyMs": 850 },
{ "provider": "anthropic", "calls": 300, "avgLatencyMs": 1200 }
]
}
Tömörítési analitika
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/analytics/compression |
Összesített tömörítési statisztikák: megtakarított tokenek, megtakarítási %, módok eloszlása, motorhasználat |
Példaválasz:
{
"window": "24h",
"totalOriginalTokens": 5000000,
"totalCompressedTokens": 3500000,
"totalSavings": 1500000,
"savingsPct": 30.0,
"modeBreakdown": {
"lite": 400,
"standard": 600,
"aggressive": 100,
"ultra": 50,
"rtk": 84
},
"engineBreakdown": {
"caveman": 800,
"rtk": 434
}
}
Szolgáltatói sokszínűség nyomon követése
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/analytics/diversity |
Shannon-entrópián alapuló sokszínűségkövetés: a szolgáltatók megoszlásának mérésével megelőzi az egyedi meghibásodási pontokat |
Példaválasz:
{
"window": "24h",
"shannonEntropy": 2.45,
"maxEntropy": 3.17,
"diversityRatio": 0.77,
"providerUsage": {
"openai": 0.4,
"anthropic": 0.25,
"google": 0.2,
"kiro": 0.15
},
"warnings": ["OpenAI accounts for 40% of traffic — consider diversifying"]
}
Hitelesítés: Kezelési munkamenet vagy kezelési hatókörű API-kulcs szükséges.
Adminisztrátori műveletek
Kizárólag adminisztrátorok számára elérhető végpontok az üzemeltetési feladatok kezeléséhez.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/admin/concurrency |
Az aktuális párhuzamossági korlátok lekérése (globális és szolgáltatónkénti) |
| POST | /api/admin/concurrency |
A párhuzamossági korlátok frissítése — törzs: {global?: number, perProvider?: Record<string, number>} |
Hitelesítés: Adminisztrátori hatókörrel rendelkező felügyeleti munkamenet szükséges.
CLI-eszközök kezelése
Az OmniRoute-tal integrálható CLI-eszközök (antigravity, commandCode, devin-cli stb.) kezelése. A teljes listát lásd a szolgáltatói referenciában.
| Metódus | Elérési út | Leírás |
|---|---|---|
| GET | /api/cli-tools/all-statuses |
Az összes CLI-eszköz állapota (telepítve van-e, verzió, utolsó észlelés) |
| GET | /api/cli-tools/status |
Egy CLI-eszköz részletes állapota (?tool= lekérdezési paraméter) |
| POST | /api/cli-tools/apply |
Egy eszköz generált konfigurációjának írása (a dryRun előnézetet készít; konténeres futtatáskor 422 + containerEphemeralTarget; a migration örökölt Codex YAML-t jelez) |
| GET | /api/cli-tools/backups |
A CLI-eszközök konfigurációs biztonsági mentéseinek listázása |
| POST | /api/cli-tools/backups |
Biztonsági mentés létrehozása az összes CLI-eszköz konfigurációjáról |
| POST | /api/cli-tools/backups |
Visszaállítás: ugyanez a végpont a törzsben megadott {tool, backupId} használatával visszaállítja az adott biztonsági mentést |
| GET | /api/cli-tools/antigravity-mitm |
Az Antigravity MITM proxy állapota (az „antigravity-mitm” CLI-eszköz) |
| POST | /api/cli-tools/antigravity-mitm/alias |
Az antigravity-mitm aliasainak konfigurálása |
Hitelesítés: Kezelői munkamenetet igényel.
Ügynökképességek
MI-ügynökök képességeinek kezelése (hasonló az OpenAI egyéni GPT-ihez, de ügynökök számára).
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/agent-skills |
Az összes ügynökképesség listázása (beépített és egyéni) |
| GET | /api/agent-skills/[id] |
Egy adott ügynökképesség lekérése |
| POST | /api/agent-skills |
Egyéni ügynökképesség létrehozása — törzs: {name, description, prompt, model?, temperature?} |
| PUT | /api/agent-skills/[id] |
Egyéni ügynökképesség frissítése |
| DELETE | /api/agent-skills/[id] |
Egyéni ügynökképesség törlése |
| GET | /api/agent-skills/[id]/raw |
A nyers prompt és a metaadatok lekérése (végrehajtás nélkül) |
| POST | /api/agent-skills/generate |
Új képesség létrehozása MI segítségével, természetes nyelvű leírás alapján |
Hitelesítés: Felügyeleti munkamenet vagy felügyeleti hatókörű API-kulcs szükséges.
Gyorsítótár-kezelés
A szemantikus gyorsítótár és a következtetési gyorsítótár kezelése.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/cache |
Gyorsítótár áttekintése: bejegyzések teljes száma, találati arány, lemezhasználat |
| GET | /api/cache/entries |
Gyorsítótárazott bejegyzések listázása (lapozással) |
| DELETE | /api/cache/entries |
Gyorsítótár-bejegyzések törlése (lekérdezési paraméterek szerinti szűréssel) |
| GET | /api/cache/stats |
Részletes gyorsítótár-statisztikák (szolgáltatónként és modellenként) |
| GET | /api/cache/reasoning |
A következtetési gyorsítótár állapota (a következtetések visszajátszásához) |
| DELETE | /api/cache/reasoning |
A következtetési gyorsítótár törlése — lekérdezési paraméterek: ?toolCallId=<id> (egy), ?provider=<p> vagy nincs paraméter (mind) |
Hitelesítés: Kezelői munkamenetet igényel.
Memóriarendszer
A tartós memória kezelése (FTS5 + vektoros beágyazások).
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/memory |
Memóriabejegyzések listázása (hatókör, típus és keresési lekérdezés szerinti szűréssel) |
| POST | /api/memory |
Új memóriabejegyzés létrehozása — törzs: {scope, type, content, metadata?} |
| GET | /api/memory/[id] |
Egy adott memóriabejegyzés lekérése |
| PUT | /api/memory/[id] |
Memóriabejegyzés frissítése |
| DELETE | /api/memory/[id] |
Memóriabejegyzés törlése |
| GET | /api/memory?q= |
Keresés a memóriában (FTS5 + vektor) — a statisztikákat ugyanaz a válasz tartalmazza |
Hitelesítés: Kezelői munkamenetet vagy kezelési hatókörű API-kulcsot igényel.
Webhookok
Eseményekhez tartozó webhook-előfizetések kezelése.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/webhooks |
Az összes webhook-előfizetés listázása |
| POST | /api/webhooks |
Webhook-előfizetés létrehozása — törzs: {url, events[], secret?, active?} |
| GET | /api/webhooks/[id] |
Egy adott webhook-előfizetés lekérése |
| PUT | /api/webhooks/[id] |
Webhook-előfizetés frissítése |
| DELETE | /api/webhooks/[id] |
Webhook-előfizetés törlése |
| GET | /api/webhooks/[id]/deliveries |
Egy webhook kézbesítési előzményeinek listázása (sikeres/sikertelen napló) |
| POST | /api/webhooks/[id]/test |
Tesztesemény küldése egy webhooknak |
Hitelesítés: Kezelői munkamenetet igényel.
Az eseménytípusok teljes listáját lásd a Webhook-keretrendszer dokumentumban.
Készségkeretrendszer
Készségek (az agentikus bővítmények keretrendszerének) kezelése.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/skills |
Az összes telepített készség listázása (beépített + egyéni) |
| POST | /api/skills/install |
Készség telepítése helyi elérési útról vagy URL-ről |
| DELETE | /api/skills/[id] |
Készség eltávolítása |
| PUT | /api/skills/[id] |
Készség engedélyezése vagy letiltása — törzs: {enabled?: boolean, mode?: "on" | "off" | "auto"} |
| POST | /api/skills/executions |
Készség végrehajtása — törzs: {skillName, apiKeyId, input?, sessionId?} |
| GET | /api/skills/executions |
Az összes készség végrehajtási előzményeinek listázása (?apiKeyId= szerinti szűréssel) |
Hitelesítés: Kezelési munkamenetet vagy kezelési hatókörű API-kulcsot igényel.
A teljes részletekért lásd: Készségkeretrendszer.
Bővítmények
OmniRoute-bővítmények (külső fejlesztésű kiegészítők) kezelése.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/plugins |
A telepített bővítmények listázása |
| POST | /api/plugins/marketplace/install |
Bővítmény telepítése a piactérről |
| DELETE | /api/plugins/[name] |
Bővítmény eltávolítása |
| POST | /api/plugins/[name]/activate |
Bővítmény aktiválása |
| POST | /api/plugins/[name]/deactivate |
Bővítmény deaktiválása |
| GET | /api/plugins/[name]/config |
Bővítmény konfigurációjának lekérése |
| PUT | /api/plugins/[name]/config |
Bővítmény konfigurációjának frissítése |
Hitelesítés: Kezelési munkamenetet igényel.
A teljes részletekért lásd: Bővítmény-keretrendszer.
Árnyék-útválasztás
A szolgáltatók árnyék-/A-B összehasonlítása nem önálló REST-felület — kombinált útválasztással konfigurálható (lásd: Automatikus kombináció). A kombinációnkénti összehasonlítási metrikákat a GET /api/combos/metrics szolgálja ki.
Védőkorlátok
A futásidejű védőkorlátok (személyazonosításra alkalmas adatok észlelése, promptinjektálás észlelése, vizuális áthidalás) vizsgálata. A védőkorlátok minden kérésnél lefutnak; hívásonkénti kikapcsolásuk az x-omniroute-disabled-guardrails kérésfejléccel lehetséges — nincs tartós engedélyezési/letiltási felület.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /api/guardrails |
A regisztrált védőkorlátok és állapotuk listázása (név / engedélyezve / prioritás) |
| POST | /api/guardrails/test |
A hívás előtti folyamat próbaüzemű futtatása egy mintabemeneten — törzs: {input, disabledGuardrails?} |
Hitelesítés: Kezelési munkamenetet igényel.
A teljes részletekért lásd: Biztonság > Védőkorlátok.
Hitelesítés
A négy hitelesítőadat-családról (irányítópult-munkamenet, helyi CLI-token, oma_live_… hozzáférési token, kezelési hatókörű API-kulcs), valamint az inferenciakulcsoktól való eltéréseikről lásd a Kezelési hitelesítés című útmutatót.
- Az irányítópult útvonalai (
/dashboard/*) azauth_tokencookie-t használják - A bejelentkezés a mentett jelszókivonatot használja; tartalék megoldásként az
INITIAL_PASSWORDértéket - A
requireLogina/api/settings/require-loginútvonalon kapcsolható be vagy ki - A
/v1/*útvonalakhoz opcionálisan Bearer API-kulcs szükséges, haREQUIRE_API_KEY=true - Ebben a referenciában a „kezelési token” / „kezelési hatókörű API-kulcs” az útmutatóban ismertetett családok egyikét jelenti — nem pedig egy meghatározatlan, további titoktípust
Kompatibilitást megszakító változás (v3.8.0) — A
/api/v1/agents/tasks/*és a várakozási idő kezelésére szolgáló végpontok mostantól kezelési hitelesítést igényelnek (az irányítópultauth_tokencookie-ját vagy egy kezelési hatókörű API-kulcsot). Azok a kliensek, amelyek korábban hitelesítés nélkül hívták meg ezeket az útvonalakat,401 Unauthorizedválaszt kapnak. Lásd a588a0333commitot (fix(auth): require management auth for agent and cooldown APIs).