Batch 1 of the locale expansion: Greek, Croatian, Serbian, Lithuanian, Estonian, Latvian, Slovenian, Maltese and Irish across the dashboard catalog, docs mirrors, CLI catalog, README, locale index and the site. 42 → 51 locales. Also fixes the ICU literal escape the translation backend dropped around angle placeholders, four translations that invented or renamed a placeholder, the language bars that linked to mirrors that do not exist, and the migration count drift (171 → 172). ⚠️ base-red inherited: #12732 — the four unit shards and Fast Quality Gates fail identically on unrelated PRs cut from the same base.
125 KiB
API_REFERENCE (Lietuvių)
🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇻 lv · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW
title: "API žinynas" version: 3.8.51 lastUpdated: 2026-08-31
API žinynas
🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇻 lv · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Pagrindinis „OmniRoute“ API žinynas. Jame aprašoma viešoji /v1 sąsaja ir dažniausiai naudojami valdymo galiniai taškai; išsamiausi šaltiniai yra mašininiu būdu nuskaitomas failas docs/openapi.yaml ir maršrutų medis kataloge src/app/api/.
Turinys
- Pokalbių užbaigimai
- Išskirtinės valdomų sesijų nuomos
- Įterpiniai
- Vaizdų generavimas
- Dokumentų OCR
- Modelių sąrašas
- Teikėjo papildinio manifestas
- Suderinamumo galiniai taškai
- Failų API
- Paketinių užduočių API
- Paieškos API
- WebSocket srautinis perdavimas
- Kvitų ir problemų ataskaitos
- Semantinė podėlio atmintinė
- Valdymo skydelis ir administravimas
- Derinių valdymas
- Žiniatinklio kabliai
- Registruoti raktai (automatinis valdymas)
- Agentų protokolas
- Valdymo tarpiniai serveriai
- Atsparumas (išplėstinis)
- Įgūdžiai
- Atmintis
- MCP serveris
- A2A serveris
- Debesija, vertinimai ir įvertinimas
- Užklausų apdorojimas
- Autentifikavimas
Pokalbių užbaigimai
POST /v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "cc/claude-opus-4-6",
"messages": [
{"role": "user", "content": "Write a function to..."}
],
"stream": true
}
Pasirinktinės antraštės
| Antraštė | Kryptis | Aprašymas |
|---|---|---|
X-OmniRoute-No-Cache |
Užklausa | Nustatykite true, kad apeitumėte podėlį |
x-omniroute-no-memory |
Užklausa | Nustatykite true, kad šiai užklausai nebūtų įterpiama atmintis ir įgūdžiai (atitinka podėlio išjungimą; išvengiama kiekvieno iškvietimo žetonų ir sąnaudų pridėtinės išlaidos) |
X-OmniRoute-Progress |
Užklausa | Nustatykite true, kad gautumėte eigos įvykius |
X-Session-Id |
Užklausa | Pastovus sesijos raktas išoriniam sesijos susiejimui |
x_session_id |
Užklausa | Taip pat priimamas variantas su pabraukimo brūkšniais (tiesioginis HTTP) |
X-OmniRoute-Session-Id |
Užklausa | Skambinančiojo pateikta sesijos / pokalbio žyma (taip pat naudojama atminčiai). Jei ji pateikta, pažodžiui išsaugoma call_logs.session_tag, kad būtų galima priskirti sąnaudas sesijai (#8249) — jei nepateikta, ji niekada nesugeneruojama |
Idempotency-Key |
Užklausa | Dubliavimo šalinimo raktas (5 s intervalas) |
X-Request-Id |
Užklausa | Alternatyvus dubliavimo šalinimo raktas |
X-OmniRoute-Cache |
Atsakymas | HIT arba MISS (ne srautiniu režimu) |
X-OmniRoute-Idempotent |
Atsakymas | true, jei dublikatas pašalintas |
X-OmniRoute-Progress |
Atsakymas | enabled, jei įjungtas eigos stebėjimas |
X-OmniRoute-Session-Id |
Atsakymas | Faktinis sesijos ID, kurį naudoja OmniRoute |
X-OmniRoute-Request-Id |
Atsakymas | Užklausos koreliacijos ID (kai žinomas) |
X-OmniRoute-Version |
Atsakymas | OmniRoute komponavimo versija (visada pateikiama) |
X-OmniRoute-Cost-Saved |
Atsakymas | USD suma, kurios išvengta dėl podėlio HIT (tik podėlio pataikymų atveju) |
X-OmniRoute-Decision |
Atsakymas | Maršruto parinkimo seka: strategy=<name>; provider=<alias>; latency_ms=<n> (<name> yra derinio strategija arba single, jei užklausa nėra derinys) — visada pateikiama užbaigimo atsakymuose |
Pastaba dėl Nginx: jei naudojate antraštes su pabraukimo brūkšniais (pavyzdžiui,
x_session_id), įjunkiteunderscores_in_headers on;.
Sąnaudų telemetrijos antraštės: sėkminguose ne srautiniu režimu pateikiamuose atsakymuose taip pat yra
X-OmniRoute-*sąnaudų telemetrijos rinkinys —X-OmniRoute-Response-Cost(USD, fiksuota 10 dešimtainių skilčių;0.0000000000, jei nemokama arba neįkainota),X-OmniRoute-Tokens-In/X-OmniRoute-Tokens-Out,X-OmniRoute-Model,X-OmniRoute-Provider,X-OmniRoute-Latency-Ms,X-OmniRoute-Cache-HitirX-OmniRoute-Fallback-Attempts(tik kai > 0), taip patX-OmniRoute-Request-IdirX-OmniRoute-Version. Jas pateikia pokalbių užbaigimai,/v1/responses,/v1/messagesir medijos galiniai taškai —/v1/embeddings,/v1/images/generations,/v1/audio/speech,/v1/audio/transcriptions,/v1/rerank,/v1/videos/generations,/v1/music/generationsir/v1/moderations(sąnaudos visada0). Kai prieinamos kainos, medijos sąnaudos apskaičiuojamos pagal modalumą (už vaizdą, sekundę, simbolį ar paieškos vienetą), kitu atveju jos yra0(klaidos atveju veikimas tęsiamas).
Podėlio pataikymo sąnaudų semantika: semantinio podėlio
HIT(X-OmniRoute-Cache-Hit: true) atveju išorinis iškvietimas neatliekamas, todėlX-OmniRoute-Response-Costyra0.0000000000(pataikymo aptarnavimo prieauginės sąnaudos). Pradinės arba galėjusios susidaryti sąnaudos atskirai pateikiamosX-OmniRoute-Cost-Saved. Atsiskaitymo sistemų naudotojai turėtų sumuotiX-OmniRoute-Response-Cost(pataikymai nieko nekainuoja); podėlio analizė gali agreguotiX-OmniRoute-Cost-Saved.
Išskirtinės valdomų seansų nuomos
Išskirtinė valdomų seansų nuoma yra pasirenkama, nuo kliento nepriklausoma maršruto parinkimo sutartis: vienas aktyvus savininkas valdo vieną tinkamą „OmniRoute“ ryšį. Ji nenuomoja modelio, nereikalauja „OAuth“, neidentifikuoja konkretaus kliento ir nereikalauja konkretaus teikėjo.
Autentifikavimui naudojamas API raktas turi turėti sritį lease:exclusive ir aiškiai nurodytą netuščią
allowedConnections sąrašą. Duomenų bazės keitimo riba užtikrina, kad abu laukai būtų pateikti kartu
kuriant raktą ir atliekant dalinius atnaujinimus.
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"}
Sėkminguose įgijimo, atnaujinimo ir atlaisvinimo atsakymuose pateikiamos laiko žymos, state ir tiksli teigiama
generation, tačiau niekada nepateikiamas pasirinktas ryšys ar prisijungimo duomenys. Atnaujinant ir atlaisvinant
generacija pateikiama JSON turinyje:
{ "action": "renew", "generation": 1 }
{ "action": "release", "generation": 1, "reason": "OWNER_EXIT" }
Aktyvios nuomos savininkas gali aiškiai paprašyti privatumą išsaugančių dabartinio susiejimo rodymo metaduomenų:
{ "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"
}
}
Šis pasirenkamas būsenos veiksmas vienoje duomenų bazės operacijoje apsaugomas neskaidriu savininko identifikatoriumi, autentifikuotu valdomu API raktu ir tikslia
aktyvia generacija. displayName yra tik apkarpytas sukonfigūruoto
ryšio pavadinimas; kai saugaus sukonfigūruoto pavadinimo nėra, jo reikšmė yra null. „OmniRoute“ niekada jo nepakeičia
el. pašto adresu ar sugeneruota paskyros tapatybe. Teikėjo reikšmė yra nejautri rodymo žyma ir niekada nėra
sugeneruotas suderinamo teikėjo identifikatorius. Prisijungimo duomenys, prieigos raktai, slapukai, neapdoroti ryšio ar API
rakto identifikatoriai, savininko maišos, apsaugos paslaptys ir vidiniai maršruto parinkimo duomenys neįtraukiami.
Užklausos su netinkamu raktu, netinkamu savininku, pasenusia generacija, taip pat nerastos, pasibaigusios, atlaisvintos ar panaikintos nuomos
grąžina tą pačią 409 LEASE_FENCE_STALE klaidą be ryšio metaduomenų. Klientas, gavęs laukimo dėl pajėgumo atsakymą, neturi aktyvaus susiejimo, kurį galėtų patikrinti. Kai maršruto parinkimas pakeičia aktyvios nuomos ryšį,
ta pati generacija lieka galioti, o būsenos veiksmas atomiškai grąžina naują susiejimą, niekada ne senąjį.
Esami klientai lieka nepakeisti, nes įgijimo, atnaujinimo, atlaisvinimo ir laukimo atsakymų
ankstesnė struktūra išlieka.
Ši serverio sutartis nekeičia standartinės „OpenAI Codex“ /status funkcijos. Šiuo metu standartinė „Codex“ pateikia savo
modelio teikėją ir integruotą autentifikavimo bei paskyros būseną, tačiau neatvaizduoja pasirinktinių
teikėjo paskyros metaduomenų; būsima kliento integracija turės iškviesti šį veiksmą ir nuspręsti, kaip
rodyti connection.displayName.
Tada kiekvienoje valdomoje išvedimo užklausoje pateikiamos abi valdymo antraštės:
X-OmniRoute-Lease-Owner: vlo_<43-base64url-characters>
X-OmniRoute-Lease-Generation: 1
Tikslaus savininko, generacijos, aktyvaus ryšio ir autentifikuoto API rakto atitiktis patikrinama prieš pat kiekvieną palaikomą bandymą kreiptis į aukštesnio lygio paslaugą. Pakartotinai panaudojus savininką ir generaciją su kitu raktu, užklausa nepavyksta net kai tas raktas leidžia naudoti tą patį ryšį. Neapdoroti savininko identifikatoriai nėra saugomi, registruojami žurnaluose, išlaikomi užklausos momentinėje kopijoje ar persiunčiami aukštesnio lygio paslaugai.
Laikinas užimtumas grąžina HTTP 429 su Retry-After ir:
{
"state": "WAITING_FOR_CAPACITY",
"error": { "type": "lease_error", "code": "LEASE_CAPACITY_UNAVAILABLE" },
"reason": "NO_FREE_ELIGIBLE_CONNECTION",
"retryAfter": 30
}
Šis atsakymas reiškia tik tai, kad įprastas tinkamų ryšių rinkinys nebuvo tuščias, o kiekvienas laisvas kandidatas buvo užimtas kitos aktyvios nuomos. Nepalaikomi modeliai ar teikėjai, strategijos neatitiktis, laukimo laikotarpis, kvota, būklė ir kitos įprastos tinkamumo klaidos išlaiko esamus „OmniRoute“ atsakymus.
x-omniroute-compression
Suspaudimo plano pakeitimas konkrečiai užklausai. Turi aukščiausią prioritetą — yra viršesnis už maršruto parinkimo derinio pakeitimą, aktyvų profilį, automatinį paleidiklį ir skydelio numatytąją nuostatą. Reikšmės:
| Reikšmė | Poveikis |
|---|---|
off |
Šiai užklausai suspaudimas netaikomas. |
default |
Iš skydelio gautas numatytasis profilis (aktyvus profilis ignoruojamas). |
engine:<id> |
Vienas modulis, kai jis įjungtas, pvz., engine:rtk. |
<combo> |
Pavadintas derinys, pirmiausia sutapatinamas pagal pavadinimą (neatsižvelgiant į raidžių registrą), tada pagal identifikatorių. |
Pastabos:
- Nežinomos reikšmės ignoruojamos (užklausa niekada neatmetama); parinkimas tęsiamas pagal įprastą operatorių pirmumo tvarką.
- Jei keli deriniai turi tą patį pavadinimą, deterministiniam sutapatinimui perduokite derinio id.
- Derinio, kurio pavadinimas yra
offarbadefault, negalima pasirinkti pagal pavadinimą (šie raktažodžiai interpretuojami pirmiausia); tokį derinį nurodykite pagal jo identifikatorių. - Pagrindinis suspaudimo jungiklis yra absoliutus apribojimas: kai suspaudimas išjungtas visuotinai, ši antraštė negali jo įjungti.
Pritaikytas planas pakartojamas atsakymo antraštėje:
X-OmniRoute-Compression: <mode>; source=<source>
kur <source> yra viena iš šių reikšmių: request-header, routing-override, active-profile, auto-trigger, default arba off.
Vektorinės reprezentacijos
POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json
{
"model": "nebius/Qwen/Qwen3-Embedding-8B",
"input": "The food was delicious"
}
Galimi teikėjai: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA, OpenRouter, Jina AI.
Katalogo ID yra provider/model formato (pavyzdžiui, jina-ai/jina-embeddings-v5-omni-small). Taip pat atpažįstami registre esantys Jina modelių ID be teikėjo prefikso (pavyzdžiui, jina-embeddings-v5-text-small, jina-reranker-v3.5). Jina vektorizavimo, perrikiavimo, klasifikavimo ir segmentavimo funkcijos pirmiausia naudoja valdymo skydelyje esančius jina-ai prisijungimo duomenis; JINA_AI_API_KEY naudojamas kaip atsarginis variantas tik tada, kai valdymo skydelyje nėra rakto. jina-reader kortelė skirta tik Reader / r.jina.ai (POST /v1/web/fetch) ir niekada neteikia vektorizavimo ar perrikiavimo paslaugų.
Registro modeliai, kuriems nurodytas daugiarūšio turinio palaikymas, taip pat priima iki 32 nuo teikėjo nepriklausomų struktūrizuotų
elementų. Medijos elementų tipai yra text, image, audio, video ir document. Jų medijos source
yra arba {"type":"url","url":"https://..."}, arba
{"type":"base64","data":"...","media_type":"..."}.
Jina v5 Omni (jina-ai/jina-embeddings-v5-omni-small, jina-ai/jina-embeddings-v5-omni-nano
ir šeimos alternatyvusis pavadinimas jina-ai/jina-embeddings-v5-omni → omni-small) taip pat priima Jina vietinio
EmbeddingsV5Request formato dokumentus ir persiunčia juos nepakeistus į https://api.jina.ai/v1/embeddings:
{
"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,..." }]
}
]
}
Vietinio formato { image | audio | video | pdf } reikšmė gali būti viešas HTTPS URL, data: URI arba neapdorotas
base64. OmniRoute nekonvertuoja šių objektų į eilutes ir neatsisiunčia vietinio formato vaizdų URL — Jina pati gauna
viešai pasiekiamą mediją. Papildomi Jina laukai (task, normalized, truncate, embedding_type) yra
persiunčiami. Tik tekstui skirti Jina variantai ir toliau atmeta netekstinius dokumentus.
Saugumo ir perdavimo apribojimai:
- Nuotolinės medijos URL turi būti vieši HTTPS adresai. Kanoninio formato
{type,source:url}elementai atsisiunčiami serverio pusėje (pakartotinai tikrinant peradresavimus, taikant skirtąjį laiką ir dydžio ribas, naudojant viešą DNS bei fiksuojant ryšį) ir įterpiami prieš kreipiantis į teikėją. Vietinio Jina formato{image:"https://..."}elementai persiunčiami nepakeisti atlikus tą patį viešo HTTPS adreso patikrinimą; URL atsisiunčia Jina. - Įterptos base64 medijos iškoduotas dydis ribojamas iki 8 MiB vienam elementui ir iki 16 MiB visai užklausai.
Pritaikymas teikėjui (kanoninio formato elementai niekada nepersiunčiami nepakeisti):
- Jina daugiarūšiai modeliai: kiekvienas aukščiausio lygio elementas tampa vienu pagal modalumą susietu objektu
(
text/image/audio/video/pdf), įterptai medijai naudojant duomenų URI; kiekvienam aukščiausio lygio elementui pateikiamas vienas vektorius. - Gemini Embedding 2 šeima: vienas aukščiausio lygio masyvas tampa viena vietinio formato
models/{model}:embedContentužklausa sucontent.parts(textarbainline_data). - Nežinomi arba dinaminiai modeliai be aiškių modalumo metaduomenų atmeta struktūrizuotą įvestį, grąžindami HTTP 400.
{
"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"
}
Nepalaikomi modelio ir modalumo deriniai grąžina HTTP 400, užuot priverstinai konvertavę elementą. Kiti nei input senųjų eilučių ar prieigos raktų užklausų išplėtimo laukai ir toliau persiunčiami nepakeisti.
# Išvardyti visus vektorizavimo modelius
GET /v1/embeddings
Vaizdų generavimas
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"
}
Galimi teikėjai: OpenAI (GPT Image 2), xAI (Grok Image), Together AI (FLUX), Fireworks AI, Nebius (FLUX), Hyperbolic, NanoBanana, OpenRouter, SD WebUI (vietinis), ComfyUI (vietinis).
# Išvardyti visus vaizdų modelius
GET /v1/images/generations
Dokumentų 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"
}
}
model parenka OCR teikėją pagal provider/model prefiksą; modelio ID be prefikso (pvz.,
mistral-ocr-latest) susiejamas su registruotu jo teikėju, o jei model nenurodytas, pagal
numatytuosius nustatymus naudojamas Mistral (mistral-ocr-latest). Registruoti teikėjai (open-sse/config/ocrRegistry.ts):
| Teikėjo ID | Modelio ID | model reikšmė |
Pastabos |
|---|---|---|---|
mistral |
mistral-ocr-latest |
mistral/mistral-ocr-latest (arba mistral-ocr-latest be prefikso) |
Sinchroninis — atsakymas grąžinamas tiesiogiai iš vienintelės išorinės užklausos. |
azure-document-intelligence |
prebuilt-read |
azure-document-intelligence/prebuilt-read |
Asinchroninė išorinė paslauga (analyze + būsenos tikrinimas) — žr. toliau. |
vertex-deepseek-ocr |
deepseek-ocr-maas |
vertex-deepseek-ocr/deepseek-ocr-maas |
Sinchroninis, naudojantis Vertex AI partnerio galiniu tašku openapi/chat/completions — autentifikavimas ir URL aprašyti toliau. |
Visi trys teikėjai pateikia tokios pačios Mistral formos atsako turinį:
{
"pages": [{ "index": 0, "markdown": "# Extracted text..." }],
"model": "mistral-ocr-latest",
"usage_info": { "pages_processed": 1 }
}
Azure Document Intelligence būsenos tikrinimo eiga
Azure Document Intelligence analyze API yra asinchroninė: pradinė užklausa vietoje atsako turinio
grąžina Operation-Location antraštę, todėl rezultatą reikia periodiškai tikrinti. Apdorojimo programa
(open-sse/handlers/ocr.ts) tikrina tą URL kas sekundę, atlikdama iki 30 bandymų, iškart nutraukia darbą
(nebetęsia tikrinimo), jei tikrinimo atsakymas nėra ok arba būsena yra "failed", ir grąžina 504, jei
išnaudojus visus bandymus operacija vis dar vykdoma. Prieš grąžinant klientui, galutinis Azure atsakymas
normalizuojamas į tą pačią pages/markdown formą, kurią naudoja Mistral, todėl kliento kode nereikia
atskirai apdoroti kiekvieno teikėjo.
Vertex AI DeepSeek OCR autentifikavimas ir galinio taško nustatymas
vertex-deepseek-ocr pakartotinai naudoja tą patį Vertex AI autentifikavimą, kurį OmniRoute jau palaiko
pokalbių ir vaizdų srautui (open-sse/executors/vertex.ts): ryšio API raktas yra arba
paslaugos paskyros JSON kredencialas (naudojant JWT nešėjo prieigos rakto gavimo eigą pakeičiamas į
trumpalaikį OAuth prieigos raktą), arba jau išduotas OAuth prieigos raktas, naudojamas toks, koks yra.
Išorinės paslaugos galinio taško URL yra bendrasis Vertex partnerio galinis taškas
openapi/chat/completions, sudaromas pagal ryšio projektą ir regioną — aiškiai nurodyti
providerSpecificData.project/providerSpecificData.region visada turi pirmenybę;
kitu atveju projektas nustatomas pagal paslaugos paskyros JSON lauką project_id, o numatytasis
regionas yra us-central1. Abu nustatymai atliekami faile open-sse/handlers/ocr.ts
(resolveVertexOcrAccessToken, resolveVertexOcrBaseUrl) ir naudojami
src/app/api/v1/ocr/route.ts prieš perduodant vykdymą funkcijai handleOcr.
Modelių sąrašas
GET /v1/models
Authorization: Bearer your-api-key
→ Grąžina visus pokalbių, įterpinių ir vaizdų modelius bei jų derinius OpenAI formatu
Modelių ID prefiksai (?prefix=)
Dauguma modelių pateikiami su teikėjo prefiksu. Naudojamą prefiksą valdo
MODELS_CATALOG_PREFIX_MODE funkcijos vėliavėlė, kurią galima perrašyti kiekvienai užklausai atskirai
naudojant užklausos parametrą — tai naudinga klientui, norinčiam gauti tvarkingą sąrašą nekeičiant bendro
serverio nustatymo visiems kitiems:
GET /v1/models?prefix=alias # po vieną ID kiekvienam modeliui — trumpasis pseudonimo prefiksas
GET /v1/models?prefix=dual # abi formos (numatytoji serverio reikšmė)
GET /v1/models?prefix=canonical # tik visas teikėjo ID prefiksas
| Režimas | Pateikia | Pastabos |
|---|---|---|
dual |
cc/claude-sonnet-4-6 ir claude/claude-sonnet-4-6 |
Numatytasis. Abu ID nukreipiami į tą patį modelį; tai išlaikyta, kad klientų konfigūracijos, kuriose tiesiogiai įrašyta kuri nors forma, ir toliau veiktų. Katalogas tampa maždaug dvigubai didesnis. |
alias |
cc/claude-sonnet-4-6 |
Po vieną įrašą kiekvienam modeliui. Teikėjai, neturintys atskiro pseudonimo, vis tiek pateikia savo įrašą, todėl niekas neprarandama. |
canonical |
claude/claude-sonnet-4-6 |
Po vieną įrašą kiekvienam modeliui su visu teikėjo ID prefiksu. Teikėjai, neturintys atskiro pseudonimo (pvz., antigravity/…, agy/…), čia taip pat pateikia savo vienintelį ID, todėl niekas neprarandama. |
dual režimo dubliuojamą įrašą galima atpažinti ir be užklausos parametro: jame yra parent
laukas, nurodantis pagrindinį ID.
Klientai, rodantys modelio pasirinkimo sąrašą, turėtų pateikti užklausą su ?prefix=alias — būtent taip daro
OmniCopilot VS Code plėtinys.
Modelių variantai be mąstymo
Mąstymą palaikantiems Claude modeliams /v1/models taip pat pateikia nemąstantį variantą, kurio ID prasideda prefiksu claude-3-omniroute-no-thinking/:
claude-3-omniroute-no-thinking/<provider>/<model>
Pasirinkus šį ID (pvz., Claude Code konfigūracijoje, kuri visada prideda thinking bloką), jis nukreipiamas atgal į tikrąjį <provider>/<model>, išjungus samprotavimą — /v1/messages kelyje naudojama thinking:{type:"disabled"}, o /v1/chat/completions kelyje pašalinami reasoning / reasoning_effort laukai. Šis variantas pateikiamas tik tiems Claude šeimos modeliams, kurie palaiko mąstymą ir priima disabled (todėl, pvz., tik adaptyvųjį režimą palaikantys modeliai, atmetantys disabled, neįtraukiami). Operatoriai gali priverstinai įjungti arba išjungti šį variantą kiekvienam modeliui naudodami ModelSpec.noThinkingAlias.
Teikėjo papildinio manifestas
GET /api/v1/provider-plugin-manifest
Grąžina JSON saugų teikėjo papildinio manifestą, naudojamą Bifrost, CLIProxyAPI ir būsimų pagalbinių maršruto parinktuvų. Atsakymas generuojamas iš TypeScript teikėjų registro ir sąmoningai neapima OAuth kliento paslapčių, vykdymo aplinkos nustatymo, vykdytojo funkcijų, užklausų antraščių ir paskyrų duomenų.
Naudokite šį galinį tašką, kai pagalbinis procesas vykdomas atskirai ir negali tiesiogiai importuoti
open-sse/config/providerPluginManifestRegistry.ts.
Suderinamumo galiniai taškai
| Metodas | Kelias | Formatas |
|---|---|---|
| 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 (redagavimas / užpildymas) |
| POST | /v1/videos/generations |
OpenAI stiliaus vaizdo įrašų generavimas |
| POST | /v1/music/generations |
OpenAI stiliaus muzikos generavimas |
| POST | /v1/audio/transcriptions |
OpenAI Audio (kalbos atpažinimas) |
| POST | /v1/audio/speech |
OpenAI TTS (grąžina garso turinį) |
| POST | /v1/rerank |
Cohere/Voyage stiliaus perrikiavimas |
| POST | /v1/classify |
Jina klasifikavimas (api.jina.ai) |
| POST | /v1/segment |
Jina segmentuotuvas (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 katalogo alternatyvusis kelias |
| GET | /api/v1/vscode/{token}/models |
OpenAI modelių alternatyvusis kelias |
| POST | /api/v1/vscode/{token}/chat/completions |
OpenAI alternatyvusis kelias su prieigos raktu |
| POST | /api/v1/vscode/{token}/responses |
OpenAI Responses alternatyvusis kelias su prieigos raktu |
| POST | /api/v1/vscode/{token}/api/chat |
Ollama alternatyvusis kelias su prieigos raktu |
| GET | /api/v1/vscode/{token}/api/tags |
Ollama žymų alternatyvusis kelias su prieigos raktu |
Visų POST maršrutų struktūra yra vienoda: Bearer your-api-key + Zod patikrintas JSON turinys (v1RerankSchema, v1ModerationSchema, v1AudioSpeechSchema ir kt.; žr. src/shared/validation/schemas.ts). Nepavykus schemos patikrai, grąžinamas 4xx.
Klientams, kurie negali pridėti Authorization: Bearer ..., OmniRoute taip pat priima API raktus URL adrese: naudodama užklausos eilutės suderinamumo parametrus (?token=..., ?apiKey=..., ?api_key=..., ?key=...) arba toliau aprašytus specialiuosius /api/v1/vscode/{token}/... galinius taškus.
# Perrikiavimas
POST /v1/rerank { "model": "jina-ai/jina-reranker-v3.5", "query": "...", "documents": ["..."] }
# Jina klasifikavimas (Foundation API prisijungimo duomenys)
POST /v1/classify { "model": "jina-embeddings-v5-text-small", "input": ["..."], "labels": ["a", "b"] }
# Jina segmentuotuvas
POST /v1/segment { "content": "...", "return_chunks": true }
# Jina paieška (s.jina.ai; teikėjo alternatyvūs pavadinimai: jina-search, jina-ai, jina)
POST /v1/search { "query": "...", "provider": "jina-search" }
# Moderavimas
POST /v1/moderations { "model": "omni-moderation-latest", "input": "..." }
# TTS — grąžina audio/mpeg (arba prašomo formato) turinį
POST /v1/audio/speech { "model": "openai/tts-1", "input": "Hello", "voice": "alloy" }
# Vaizdo redagavimas (multipart)
POST /v1/images/edits -F image=@input.png -F prompt="..." -F mask=@mask.png
# Vaizdo įrašų / muzikos generavimas (modelio ID su teikėjo priešdėliu)
POST /v1/videos/generations { "model": "runway/gen-3", "prompt": "..." }
POST /v1/music/generations { "model": "suno/v3.5", "prompt": "..." }
Specialieji teikėjų maršrutai
POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations
Jei teikėjo priešdėlio nėra, jis pridedamas automatiškai. Neatitinkantys modeliai grąžina 400.
Failų API
Su OpenAI suderinamas failų galinis taškas, skirtas paketinei įvesčiai / išvesčiai ir failams pagal paskirtį įkelti.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| POST | /v1/files |
Įkelti failą (kelių dalių forma: file, purpose, expires_after[anchor], expires_after[seconds]) — daugiausia 512 MiB |
| GET | /v1/files |
Pateikti autentifikuoto API rakto failų sąrašą |
| GET | /v1/files/[id] |
Gauti failo metaduomenis |
| DELETE | /v1/files/[id] |
Ištrinti failą |
| GET | /v1/files/[id]/content |
Srautu grąžinti neapdorotą failo turinį |
Autentifikavimas: API raktas su „Bearer“ schema — failų prieiga kiekvienam API raktui apribojama naudojant getApiKeyRequestScope.
Paketų API
Su OpenAI suderinamas paketinis apdorojimas.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| POST | /v1/batches |
Sukurti paketą — turinys tikrinamas naudojant v1BatchCreateSchema (input_file_id, endpoint, completion_window) |
| GET | /v1/batches |
Pateikti paketų sąrašą |
| GET | /v1/batches/[id] |
Gauti paketo būseną ir request_counts |
| DELETE | /v1/batches/[id] |
Ištrinti užbaigtą arba nepavykusį paketą |
| POST | /v1/batches/[id]/cancel |
Atšaukti vykdomą paketą |
Autentifikavimas: API raktas su „Bearer“ schema. Paketų prieiga apribojama pagal API raktą.
Paieškos API
Žiniatinklio / paieškos teikėjų abstrakcija („Tavily“, „Brave“, „Exa“, „Serper“ ir kt.).
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /v1/search |
Pateikti sukonfigūruotų paieškos teikėjų ir jų galimybių sąrašą |
| POST | /v1/search |
Vykdyti paieškos užklausą — turinys tikrinamas naudojant v1SearchSchema, palaikomas podėlis / užklausų sujungimas |
| GET | /v1/search/analytics |
Pateikti kiekvieno teikėjo rezultatų, delsos ir podėlio statistiką |
Autentifikavimas: API raktas su „Bearer“ schema (extractApiKey + isValidApiKey). Paieškos politika taikoma naudojant enforceApiKeyPolicy.
Web Fetch API
Gaukite turinį iš URL naudodami sukonfigūruotą žiniatinklio turinio gavimo teikėją („Firecrawl“, „Jina Reader“, „Tavily Extract“, „TinyFish Fetch“, „Nimble Extract“).
| Metodas | Kelias | Aprašas |
|---|---|---|
| POST | /v1/web/fetch |
Gauna / išrenka turinį iš URL — užklausos turinys tikrinamas pagal v1WebFetchSchema |
Autentifikavimas: „Bearer“ API raktas (extractApiKey + isValidApiKey). Politika taikoma per enforceApiKeyPolicy.
Kvotas įvertinantis atsarginis perjungimas (#8297): kai aiškus provider nenurodytas, telkinys
(firecrawl → jina-reader → tavily-search → tinyfish → nimble-search) pereinamas
fiksuota prioriteto tvarka (pirmiausia užpildant aukščiausio prioriteto teikėją) — sukonfigūruotas teikėjas, kurio užklausų dažnis apribotas, praleidžiamas,
užuot iš karto nutraukus užklausą, o pakartotinai bandytina / su kvota susijusi aukštesnio lygmens paslaugos klaida
(HTTP 429 visada; 402/403 „Firecrawl“ / „Tavily“ / „TinyFish“ kvotos tipo nemokamuose planuose —
ne „Jina Reader“ atveju ir niekada paprastos 400 netinkamos užklausos atveju) užklausos vykdymo metu perduodama
kitam dar nebandytam teikėjui, kuriam yra prisijungimo duomenys. Kai visi telkinio teikėjai
išnaudoti, galinis taškas grąžina vieną 429 (su Retry-After
antrašte), o ne ankstesnį bendrąjį 400. Kai aiškiai nurodomas provider,
tylus atsarginis perjungimas nevykdomas — teikėjo, kurio užklausų dažnis apribotas arba kuris sutriko, klaida
grąžinama tiesiogiai (429, jei užklausų dažnis apribotas, kitu atveju — aukštesnio lygmens paslaugos
būsena).
Srautinis perdavimas per WebSocket
GET /v1/ws?handshake=1
Patikrina WebSocket protokolo pakeitimo užmezgimo užklausą ir grąžina perdavimo protokolo pavyzdinius pranešimus (request, cancel). Faktinius WS kadrus apdoroja komplekte esantis WS serveris už Next.js maršrutų lentelės ribų.
Autentifikavimas: „Bearer“ API raktas užmezgant ryšį.
Responses API per WebSocket (tik codex)
# Tas pats pagrindinis kompiuteris ir prievadas kaip HTTP API (numatytasis 20128); pakeiskite ryšio protokolą:
wscat -c "ws://localhost:20128/v1/responses?api_key=<OMNIROUTE_API_KEY>"
# (arba: -H "Authorization: Bearer <OMNIROUTE_API_KEY>")
# Pirmasis kadras PRIVALO būti response.create:
{ "type": "response.create", "model": "gpt-5.5", "input": [ { "role": "user", "content": "hi" } ] }
Responses API per WebSocket tarpinis serveris susietas tik su codex (ChatGPT
vidine sistema). Jis klausosi tame pačiame prievade kaip API / valdymo skydelis, keliuose /v1/responses,
/responses ir /api/v1/responses. Gavęs pirmąjį response.create kadrą, jis
atlieka autentifikavimą ir paruošimą per vidinį codex-responses-ws tiltą, pasirenka
codex OAuth ryšį ir tuneliuoja į wss://chatgpt.com/backend-api/codex/responses
naudodamas wreq-js transportą. Ne codex modeliai atmetami (codex_ws_provider_required).
Maršruto parinkimui pagal bendrinamą kvotą naudokite model: "qtSd/<group>/codex/<model>". Įgyvendinta
app/server-ws.mjs + scripts/dev/responses-ws-proxy.mjs + src/app/api/internal/codex-responses-ws/route.ts.
Autentifikavimas: „Bearer“ API raktas užmezgant ryšį. Komplekte esantis HTTP serveris (server-ws.mjs)
turi būti aktyvus įėjimo taškas (pagal numatytuosius nustatymus taip ir yra, kai egzistuoja app/server-ws.mjs).
Modelio ID: naudokite nepapildytą ChatGPT ID (be codex/ prefikso)
OpenAI Codex CLI tikrina modelio pavadinimą kliento pusėje, kai
supports_websockets = true, ir atmeta teikėjo prefiksą turinčius ID, pvz.,
codex/gpt-5.5 (The 'codex/gpt-5.5' model is not supported when using Codex with a ChatGPT account). Siųskite nepapildytą ID (pvz., gpt-5.5). OmniRoute tiltas
skirtas tik codex, todėl prieš tuneliuojant į aukštesnio lygmens paslaugą nepapildytas ID iš naujo susiejamas su codex modeliu
(resolveCodexWsModelInfo) — nors nepapildytas
gpt-5.5 naudojant HTTP kitu atveju būtų nukreiptas kitam teikėjui.
OpenAI Codex CLI konfigūravimas
Nukreipkite Codex CLI į OmniRoute, į ~/.codex/config.toml pridėdami pasirinktinį teikėją, palaikantį WebSocket
(naudokite atskirą CODEX_HOME, kad nepakeistumėte
esamos konfigūracijos):
model = "gpt-5.5" # nepapildytas ID — NE "codex/gpt-5.5"
model_provider = "omniroute"
[model_providers.omniroute]
name = "OmniRoute (WS)"
base_url = "http://localhost:20128/v1" # be baigiamojo pasvirojo brūkšnio; WS URL išvedamas automatiškai (gamybinėje aplinkoje naudokite https/wss)
wire_api = "responses" # vienintelė palaikoma reikšmė nuo 2026 m. vasario
supports_websockets = true # įjungia Responses per WS transportą
env_key = "OMNIROUTE_API_KEY" # saugo OmniRoute API raktą („Bearer“)
export OMNIROUTE_API_KEY=sk-... # OmniRoute API raktas (bet kuris raktas, jei REQUIRE_API_KEY=false)
codex exec "Responda apenas: PONG"
CLI pakeičia base_url + /responses ryšį į WebSocket, o OmniRoute tuneliuoja jį
į pasirinktą codex OAuth ryšį. Visas procesas patikrintas naudojant vietinį
serverį: ChatGPT grąžina codex.rate_limits + response.created ir srautiniu būdu perduoda
užbaigtą atsakymą.
Kvotų ir problemų pranešimai
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /v1/quotas/check |
Iš anksto patikrinti provider + accountId kvotą prieš išduodant registruotą raktą |
| POST | /v1/issues/report |
Pranešti GitHub apie kvotos / rakto išdavimo klaidą (reikia GITHUB_ISSUES_REPO + prieigos rakto) |
Autentifikavimas: Bearer API raktas (isAuthenticated).
Savitarnos naudojimo duomenys (/api/usage/om-usage)
Bet kuris API raktas gali peržiūrėti savo paties naudojimo duomenis ir kvotas — valdymo autentifikavimas nereikalingas. Šią galinę prieigą klientas (CLI, OmniCopilot skydelis) naudoja rakto turėtojo išlaidoms rodyti.
# Tekstinė forma (istorinė sutartis — paprastasis tekstas terminalui)
curl -H "Authorization: Bearer <jūsų-api-raktas>" \
http://localhost:20128/api/usage/om-usage
# Struktūrizuota forma — skirta naudotojo sąsajai
curl -H "Authorization: Bearer <jūsų-api-raktas>" \
"http://localhost:20128/api/usage/om-usage?format=json"
Raktui turi būti įjungtas allowUsageCommand (pagal numatytuosius nustatymus išjungtas — prietaisų skydelio API raktų
tvarkytuvėje jis perjungiamas kiekvienam raktui atskirai). Jei jis neįjungtas, galinė prieiga atsako 403.
?format=json grąžina atskiriamą struktūrą, todėl kvietėjas niekada neskaito duomenų lauko iš
atmetimo atsakymo. Sėkmės atveju:
{
"allowed": true,
// pateikiama tik tada, kai raktui įjungti individualūs naudojimo apribojimai (dienos / savaitės USD):
"personal": {
"dailySpentUsd": 1.25,
"dailyLimitUsd": 5,
"dailyResetAtIso": "…",
"weeklySpentUsd": 8,
"weeklyLimitUsd": 20,
"weeklyResetAtIso": "…" /* … */,
},
// pasirinkto teikėjo kvotos momentinė kopija arba null, kai talpykloje dar nieko nėra:
"provider": {
"connectionId": "…",
"provider": "claude",
"plan": "…",
"quotas": {/* … */},
},
// kiekvieno ryšio momentinė kopija, kad naudotojo sąsajoje būtų galima greta rodyti kelis teikėjus:
"providers": [
{ "connectionId": "…", "provider": "claude" /* … */ },
{ "provider": "codex" /* … */ },
],
}
Atmetimo atveju (401 netinkamas raktas / 403 neleidžiama) tas pats maršrutas grąžina
{ "allowed": false, "error": { "message": "…" } } — pateiktas, bet tuščias personal / provider
(raktas leidžiamas, tačiau dar nėra gauta duomenų) yra kitokia būsena nei atmetimas, ir jas atskiria tik JSON forma.
Autentifikavimas: paties kvietėjo Bearer API raktas, patikrintas naudojant isValidApiKey — tai nėra
valdymo sąsaja (/api/keys/…), kuri tebėra apsaugota naudojant requireManagementAuth.
Semantinė talpykla
# Gauti talpyklos statistiką
GET /api/cache/stats
# Išvalyti visas talpyklas
DELETE /api/cache/stats
Atsakymo pavyzdys:
{
"semanticCache": {
"memorySize": 42,
"memoryMaxSize": 500,
"dbSize": 128,
"hitRate": 0.65
},
"idempotency": {
"activeKeys": 3,
"windowMs": 5000
}
}
Poveikis delsai
Semantinės talpyklos PATAIKYMO atveju atsakymas pateikiamas iš talpyklos be iškvietimo į pirminę paslaugą,
todėl nurodyta X-OmniRoute-Response-Latency reikšmė yra artima nuliui
(nepriklausomai nuo pradinės pirminės paslaugos delsos). Delsai jautrūs klientai
(našumo testavimas, p50 / p99 stebėjimas) turėtų tikrinti
X-OmniRoute-Cache-Latency atsakymo antraštę:
| Reikšmė | Reikšmė |
|---|---|
synthetic |
Atsakymas pateiktas iš talpyklos; delsa nėra tikrasis pirminės paslaugos laikas |
| (nėra) | Atsakymas gautas iš tikro iškvietimo į pirminę paslaugą |
Talpyklos apėjimas pagal raktą
API raktams galima išjungti skaitymą iš semantinės talpyklos naudojant cacheDefaultMode:
| Reikšmė | Veikimas |
|---|---|
legacy |
Įprastas talpyklos veikimas (numatytasis) |
bypass |
Visiškai praleisti paiešką talpykloje; visada kreiptis į pirminę paslaugą |
Nustatoma kuriant raktą (POST /api/keys) arba atnaujinant (PATCH /api/keys/[id]):
{ "cacheDefaultMode": "bypass" }
Apėjimas pagal užklausą
Bet kuri užklausa gali apeiti talpyklą neatsižvelgiant į rakto nustatymus:
X-OmniRoute-No-Cache: true
Valdymo skydelis ir administravimas
Administravimo maršrutai (/api/*, išskyrus viešą autentifikavimą / prisijungimą) nėra autorizuojami
įprastais išvadų API raktais. Kredencialų grupės, aprėptys ir curl pavyzdžiai:
Administravimo autentifikavimas.
Autentifikavimas
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/auth/login |
POST | Prisijungti |
/api/auth/logout |
POST | Atsijungti |
/api/settings/require-login |
GET/PUT | Įjungti arba išjungti prisijungimo reikalavimą |
Teikėjų valdymas
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/providers |
GET/POST | Išvardyti / sukurti teikėjus |
/api/providers/[id] |
GET/PUT/DELETE | Valdyti teikėją |
/api/providers/[id]/test |
POST | Patikrinti ryšį su teikėju |
/api/providers/[id]/models |
GET | Išvardyti teikėjo modelius |
/api/providers/validate |
POST | Patikrinti teikėjo konfigūraciją |
/api/providers/bulk |
POST | Masiškai pridėti VIENO teikėjo API raktus |
/api/providers/import |
POST | Importuoti nevienalytį teikėjų SĄRAŠĄ iš išanalizuoto CSV/JSON failo (#6836); pateikiami kiekvienos eilutės dalinio nepavykimo rezultatai |
/api/provider-nodes* |
Įvairūs | Teikėjo mazgų valdymas |
/api/provider-models |
GET/POST/PATCH/DELETE | Pasirinktiniai modeliai (pridėti, atnaujinti, paslėpti / rodyti, pašalinti) |
OAuth srautai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/oauth/[provider]/[action] |
Įvairūs | Teikėjui būdingas OAuth |
Maršrutų parinkimas ir konfigūracija
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/models/alias |
GET/POST | Modelių alternatyvieji pavadinimai |
/api/models/catalog |
GET | Visi modeliai pagal teikėją ir tipą |
/api/combos* |
Įvairūs | Derinių valdymas |
/api/keys* |
Įvairūs | API raktų valdymas |
/api/pricing |
GET | Modelių kainodara |
Naudojimas ir analizė
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/usage/history |
GET | Naudojimo istorija |
/api/usage/logs |
GET | Naudojimo žurnalai |
/api/usage/request-logs |
GET | Užklausų lygmens žurnalai |
/api/usage/[connectionId] |
GET | Kiekvieno ryšio naudojimas |
/api/usage/token-limits |
GET/POST/DELETE | Kiekvieno API rakto žetonų limitų biudžetai |
/api/usage/model-latency-stats |
GET | Slenkamasis kiekvieno teikėjo / modelio delsos suvestinis rodiklis (avg/p50/p95/p99, sėkmės rodiklis); filtrai: windowHours/minSamples/maxRows/provider/model (#6873) |
/api/usage/cache-health |
GET | Užklausų podėlio būklės suvestinė pagal call_logs — rašymo / skaitymo santykis, p50/p90/p99 rašymo dydžio pasiskirstymas, intensyvaus rašymo koncentracija, išskaidymas pagal modelį ir healthy/degraded/thrash/no-data įvertis; užklausos parametrai range (1h|24h|7d|30d, numatytoji reikšmė 24h) ir pasirinktinis model (#8827) |
Nuostatos
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/settings |
GET/PUT/PATCH | Bendrosios nuostatos |
/api/settings/proxy |
GET/PUT | Tinklo įgaliotojo serverio konfigūracija |
/api/settings/proxy/test |
POST | Patikrinti ryšį su įgaliotuoju serveriu |
/api/settings/ip-filter |
GET/PUT | Leidžiamų / blokuojamų IP adresų sąrašas |
/api/settings/thinking-budget |
GET/PUT | Mąstymo / samprotavimo užklausos perrašymo režimas (perduoti nepakeistą / automatiškai pašalinti / pasirinktinis / adaptyvusis). Nepriklauso nuo glaudinimo. Žr. THINKING_BUDGET.md. |
/api/settings/system-prompt |
GET/PUT | Visuotinė sistemos užklausa |
/api/settings/compression |
GET/PUT | Visuotinė glaudinimo konfigūracija |
/api/settings/purge-request-history |
POST | Išvalyti užklausų žurnalo eilutes ir vietinius iškvietimų žurnalo artefaktus |
Kontekstas ir glaudinimas
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/compression/preview |
POST | Peržiūrėti išjungto / lengvo / standartinio / agresyvaus / ultra / RTK / sudėtinio glaudinimo rezultatą |
/api/compression/language-packs |
GET | Išvardyti pasiekiamus Caveman kalbų paketus |
/api/compression/rules |
GET | Išvardyti Caveman taisyklių metaduomenis |
/api/context/caveman/config |
GET/PUT | Caveman būdingų nuostatų alternatyvusis pavadinimas |
/api/context/rtk/config |
GET/PUT | RTK būdingos nuostatos, įskaitant pasirinktinius filtrus ir neapdorotos išvesties išsaugojimą |
/api/context/rtk/filters |
GET | RTK filtrų katalogas ir pasirinktinių filtrų diagnostika |
/api/context/rtk/test |
POST | Paleisti RTK peržiūrą / testą naudojant tekstinę naudingąją apkrovą |
/api/context/rtk/raw-output/[id] |
GET | Perskaityti išsaugotą nuasmenintą neapdorotą išvestį pagal rodyklės id |
/api/context/combos |
GET/POST | Glaudinimo derinių sąrašas / kūrimas |
/api/context/combos/[id] |
GET/PUT/DELETE | Glaudinimo derinio informacija / atnaujinimas / pašalinimas |
/api/context/combos/[id]/assignments |
GET/PUT | Priskirti glaudinimo derinius maršrutų parinkimo deriniams |
/api/context/analytics |
GET | Alternatyvusis glaudinimo analizės pavadinimas |
Stebėsena
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/sessions |
GET | Aktyvių seansų stebėjimas |
/api/rate-limits |
GET | Kiekvienos paskyros spartos apribojimai |
/api/monitoring/health |
GET | Būklės patikra ir teikėjų suvestinė (catalogCount, configuredCount, activeCount, monitoredCount) |
/api/cache/stats |
GET/DELETE | Podėlio statistika / išvalymas |
/api/modality-bridge/stats |
GET | Atmintyje laikomi attempts, sėkmingi bandymai / bridged, nesėkmės, podėlio pataikymai, totalLatencyMs, latencySamples, pagal imčių skaičių apskaičiuotas averageLatencyMs ir paskutinio naudojimo laikas (nustatoma iš naujo paleidus; administravimo autentifikavimas) |
/api/modality-bridge/video/runtime |
GET | Griežta patikimo grįžtamojo ryšio sąsajos patikra prieš administravimo autentifikavimą / zondavimą; išvalyta FFmpeg/ffprobe pasiekiamumo ir versijų informacija (no-store) |
/api/modality-bridge/video/extract |
POST | Vidinis autentifikuotas patikimos grįžtamojo ryšio sąsajos baitų tarpininkas; 50 MiB įvestis, ribota eilė / 32 MiB išvestis, 503 pajėgumas, 499 atsijungimas, 504 terminas; tai nėra vieša įkėlimo API |
Atsarginės kopijos ir eksportavimas / importavimas
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/db-backups |
GET | Išvardyti pasiekiamas atsargines kopijas |
/api/db-backups |
PUT | Sukurti rankinę atsarginę kopiją |
/api/db-backups |
POST | Atkurti iš konkrečios atsarginės kopijos |
/api/db-backups/export |
GET | Atsisiųsti duomenų bazę kaip .sqlite failą |
/api/db-backups/import |
POST | Įkelti .sqlite failą duomenų bazei pakeisti |
/api/db-backups/exportAll |
GET | Atsisiųsti visą atsarginę kopiją kaip .tar.gz archyvą |
Sinchronizavimas su debesija
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/sync/cloud |
Įvairūs | Sinchronizavimo su debesija operacijos |
/api/sync/initialize |
POST | Inicijuoti sinchronizavimą |
/api/cloud/* |
Įvairūs | Debesijos valdymas |
Tuneliai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/tunnels/cloudflared |
GET | Nuskaityti Cloudflare Quick Tunnel diegimo / vykdymo būseną valdymo skydeliui |
/api/tunnels/cloudflared |
POST | Įjungti arba išjungti Cloudflare Quick Tunnel (action=enable/disable) |
/api/tunnels/ngrok |
GET | Nuskaityti ngrok Tunnel vykdymo būseną valdymo skydeliui |
/api/tunnels/ngrok |
POST | Įjungti arba išjungti ngrok Tunnel (action=enable/disable) |
CLI įrankiai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/cli-tools/claude-settings |
GET | Claude CLI būsena |
/api/cli-tools/codex-settings |
GET | Codex CLI būsena |
/api/cli-tools/droid-settings |
GET | Droid CLI būsena |
/api/cli-tools/openclaw-settings |
GET | OpenClaw CLI būsena |
/api/cli-tools/runtime/[toolId] |
GET | Bendroji CLI vykdymo aplinka |
CLI atsakymai apima: installed, runnable, command, commandPath, runtimeMode, reason.
ACP agentai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/acp/agents |
GET | Išvardyti visus aptiktus agentus (integruotus ir pasirinktinius) su būsena |
/api/acp/agents |
POST | Pridėti pasirinktinį agentą arba atnaujinti aptikimo podėlį |
/api/acp/agents |
DELETE | Pašalinti pasirinktinį agentą pagal id užklausos parametrą |
GET atsakymas apima agents[] (id, name, binary, version, installed, protocol, isCustom) ir summary (total, installed, notFound, builtIn, custom).
Atsparumas ir spartos apribojimai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/resilience |
GET/PATCH | Gauti / atnaujinti užklausų eilės, ryšio atvėsimo, teikėjo grandinės pertraukiklio ir laukimo nuostatas |
/api/resilience/reset |
POST | Iš naujo nustatyti teikėjo grandinės pertraukiklius |
/api/resilience/model-cooldowns |
GET | Išvardyti aktyvius kiekvieno (teikėjo, ryšio, modelio) blokavimus, surikiuotus pagal likusį laiką |
/api/resilience/model-cooldowns |
DELETE | Išvalyti modelio blokavimą — turinys {provider, model} arba {all: true}, kad būtų išvalyta viskas |
/api/rate-limits |
GET | Kiekvienos paskyros spartos apribojimo būsena |
/api/rate-limit |
GET | Visuotinė spartos apribojimo konfigūracija |
Visiems keturiems
/api/resilience/*maršrutams būtinas administravimo autentifikavimas (requireManagementAuth). Išsamų teikėjo grandinės pertraukiklio, ryšio atvėsimo ir modelio blokavimo skirtumų aprašymą žr. Atsparumas (išplėstinis).
Vertinimai
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/evals |
GET/POST | Išvardyti vertinimo rinkinius / vykdyti vertinimą |
Politika
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/policies |
GET/POST/DELETE | Valdyti maršrutų parinkimo politiką |
Atitiktis
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/compliance/audit-log |
GET | Atitikties audito žurnalas (paskutiniai N) |
v1beta (suderinama su Gemini)
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/v1beta/models |
GET | Išvardyti modelius Gemini formatu |
/v1beta/models/{...path} |
POST | Gemini generateContent galinis taškas |
Šie galiniai taškai atkartoja Gemini API formatą klientams, kuriems būtinas vietinis suderinamumas su Gemini SDK.
Vidinės / sistemos API
| Galinis taškas | Metodas | Aprašymas |
|---|---|---|
/api/init |
GET | Programos inicijavimo patikra (naudojama pirmą kartą paleidžiant) |
/api/tags |
GET | Su Ollama suderinamos modelių žymos (Ollama klientams) |
/api/restart |
POST | Inicijuoti sklandų serverio paleidimą iš naujo |
/api/shutdown |
POST | Inicijuoti sklandų serverio išjungimą |
/api/system/env/repair |
POST | Taisyti OAuth teikėjo aplinkos kintamuosius |
Pastaba: šiuos galinius taškus sistema naudoja viduje arba suderinamumui su Ollama klientais užtikrinti. Galutiniai naudotojai paprastai jų nekviečia.
OAuth aplinkos taisymas (v3.6.1+)
POST /api/system/env/repair
Content-Type: application/json
{
"provider": "claude-code"
}
Pataiso trūkstamus arba sugadintus konkretaus teikėjo OAuth aplinkos kintamuosius. Grąžina:
{
"success": true,
"repaired": ["CLAUDE_CODE_OAUTH_CLIENT_ID", "CLAUDE_CODE_OAUTH_CLIENT_SECRET"],
"backupPath": "/home/user/.omniroute/backups/env-repair-2026-04-11.bak"
}
Garso transkripcija
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
Transkribuokite garso failus naudodami bet kurį sukonfigūruotą STT teikėją. Pirmasis kelio
segmentas parenka savąjį teikėją (openai/…, deepgram/…). Tinklų sąsajos, kurios
pakartotinai eksportuoja kito tiekėjo modelį, naudoja kvalifikuotą ID
(openrouter/deepgram/nova-3).
Užklausa:
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@recording.mp3" \
-F "model=openai/whisper-1"
Atsakymas:
{
"text": "Hello, this is the transcribed audio content.",
"task": "transcribe",
"language": "en",
"duration": 12.5
}
Modelių ID pavyzdžiai: openai/whisper-1 (reikalingas OpenAI raktas),
openrouter/deepgram/nova-3 (reikalingas OpenRouter raktas),
deepgram/nova-3 (reikalingas savasis Deepgram raktas). Neapibrėžta
deepgram/nova-3 užklausa nenaudoja OpenRouter.
Palaikomi formatai: mp3, wav, m4a, flac, ogg, webm.
Suderinamumas su Ollama
Klientams, naudojantiems Ollama API formatą:
# Pokalbių galinis taškas (Ollama formatas)
POST /v1/api/chat
# Modelių sąrašas (Ollama formatas)
GET /api/tags
Užklausos automatiškai konvertuojamos tarp Ollama ir vidinių formatų.
Žetoniniai VS Code / antraštės nereikalaujantys alternatyvūs adresai
Naudokite šiuos alternatyvius adresus, kai integracija negali įterpti Authorization antraštės ir API raktą reikia įtraukti į bazinį URL.
# OpenAI stiliaus katalogo alternatyvus adresas
GET /api/v1/vscode/{token}/
GET /api/v1/vscode/{token}/models
# OpenAI stiliaus pokalbių alternatyvūs adresai
POST /api/v1/vscode/{token}/chat/completions
POST /api/v1/vscode/{token}/responses
# Ollama stiliaus alternatyvūs adresai
POST /api/v1/vscode/{token}/api/chat
GET /api/v1/vscode/{token}/api/tags
Pavyzdys:
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"}]}'
Pastabos:
- Žetoniniai alternatyvūs adresai pakartotinai naudoja tas pačias apdorojimo funkcijas kaip
/v1/*ir/api/tags; atsakymų struktūra išlieka tokia pati. - Kai klientas palaiko pasirinktines antraštes, pirmenybę teikite
Authorization: Bearer .... - URL esantys žetonai gali būti matomi atvirkštinio tarpinio serverio žurnaluose, naršyklės istorijoje ir telemetrijoje už OmniRoute ribų. Laikykite juos suderinamumo parinktimi, o ne numatytuoju autentifikavimo režimu.
Telemetrija
# Gauti delsos telemetrijos suvestinę (kiekvieno teikėjo p50/p95/p99)
GET /api/telemetry/summary
Atsakymas:
{
"providers": {
"claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
"github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
}
}
Biudžetas
# Gauti visų API raktų biudžeto būseną
GET /api/usage/budget
# Nustatyti arba atnaujinti biudžetą
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"
}
Schemos pastabos (
setBudgetSchema):apiKeyIdyra privalomas; bent viena išdailyLimitUsd,weeklyLimitUsdarbamonthlyLimitUsdreikšmių turi būti didesnė už nulį. Neprivalomi laukai:warningThreshold(0–1),resetInterval(daily|weekly|monthly),resetTime(HH:MM). Naudojant pasenusią struktūrą{keyId, limit, period}, grąžinamas atsakymas400 Bad Request.
Žetonų limitai
Kiekvienam API raktui taikomi žetonų biudžetai (atskiri nuo pirmiau aprašyto USD pagrįsto biudžeto). Jie tikrinami tiesiogiai užklausos apdorojimo kelyje: kai rakto naudojimas dabartiniame laikotarpyje pasiekia nustatytą limitą, užklausos atmetamos pateikiant 429 Too Many Requests. Limitai gali būti taikomi konkrečiam model, provider arba visam raktui global mastu; kai užklausą atitinka keli limitai, taikomas griežčiausias.
# Pateikti rakto žetonų limitų sąrašą (įskaitant dabartinio laikotarpio naudojimą)
GET /api/usage/token-limits?apiKeyId=key-123
# Sukurti arba atnaujinti žetonų limitą
POST /api/usage/token-limits
Content-Type: application/json
{
"apiKeyId": "key-123",
"scopeType": "model",
"scopeValue": "openai/gpt-4o",
"tokenLimit": 1000000,
"resetInterval": "monthly",
"enabled": true
}
# Ištrinti žetonų limitą pagal id
DELETE /api/usage/token-limits?id=tl-abc
Schemos pastabos (
setTokenLimitSchema):apiKeyIdirscopeType(model|provider|global) yra privalomi.scopeValueyra privalomas, nebentscopeTypeyraglobal(pvz., modelio id, kai taikymo sritis yramodel, arba teikėjo id, kai taikymo sritis yraprovider).tokenLimitturi būti teigiamas sveikasis skaičius (konvertuojamas iš eilutės). Neprivalomi laukai:id(praleiskite kurdami, pateikite atnaujindami),resetInterval(daily|weekly|monthly, numatytoji reikšmėmonthly),resetTime(HH:MM),enabled(numatytoji reikšmėtrue).GETatsakymai kiekvieną limitą papildo laukaistokensUsed,remaining,windowStart,periodStartAtirnextResetAt. Tai yra valdymo klasės galinis taškas (autentifikavimą centralizuotai užtikrina autorizavimo procesas).
Užklausų apdorojimas
- Klientas siunčia užklausą į
/v1/* - Maršruto apdorojimo priemonė iškviečia
handleChat,handleEmbedding,handleAudioTranscriptionarbahandleImageGeneration - Nustatomas modelis (tiesioginis teikėjas / modelis arba pseudonimas / derinys)
- Prisijungimo duomenys parenkami iš vietinės DB, atsižvelgiant į paskyros pasiekiamumo filtravimą
- Pokalbiams:
handleChatCorepatikrina semantinę / parašo podėlį ir nustato derinio glaudinimo nuostatas - Kai įjungta, prieš konvertuojant į teikėjo formatą atliekamas išankstinis glaudinimas (
lite, Caveman, RTK arba kelių metodų derinys) - Teikėjo vykdyklė išsiunčia užklausą aukštesnio lygio paslaugai
- Atsakymas konvertuojamas atgal į kliento formatą (pokalbiams) arba grąžinamas nepakeistas (įterpiniams / vaizdams / garsui)
- Įrašomi naudojimo duomenys, glaudinimo analizės duomenys ir užklausų žurnalai
- Įvykus klaidoms, pagal derinio taisykles taikomas atsarginis variantas
Išsamus architektūros aprašas: ARCHITECTURE.md
Derinių valdymas
Aukštesnio lygio maršruto parinkimo deriniai (jau apibendrinti skiltyje /api/combos*) taip pat gali būti susieti santykiu 1:1 pagal modelio id šabloną, todėl OpenAI stiliaus modelio id galima skaidriai nukreipti į derinį.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/model-combo-mappings |
Pateikti visų modelio→derinio susiejimų sąrašą |
| POST | /api/model-combo-mappings |
Sukurti susiejimą — turinys: {pattern, comboId, priority?, enabled?, description?} |
| GET | /api/model-combo-mappings/[id] |
Gauti vieną susiejimą |
| PUT | /api/model-combo-mappings/[id] |
Atnaujinti esamo susiejimo laukus |
| DELETE | /api/model-combo-mappings/[id] |
Pašalinti susiejimą |
Autentifikavimas: valdymo seansas / API raktas (requireManagementAuth).
Webhook’ai
Siunčiamų „OmniRoute“ įvykių (užklausos užbaigimo, kvotos išnaudojimo, rakto pasukimo ir kt.) webhook prenumeratos.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/webhooks |
Pateikti webhook’ų sąrašą (paslaptys užmaskuojamos kaip <prefix>...) |
| POST | /api/webhooks |
Sukurti webhook’ą — turinys: {url, events?: ["*"], secret?, description?} |
| GET | /api/webhooks/[id] |
Gauti webhook’ą |
| PUT | /api/webhooks/[id] |
Atnaujinti url/events/secret/description |
| DELETE | /api/webhooks/[id] |
Pašalinti webhook’ą |
| POST | /api/webhooks/[id]/test |
Nusiųsti bandomąją naudingąją apkrovą webhook’o URL ir grąžinti pristatymo būseną |
Autentifikavimas: valdymo sesija / API raktas (requireManagementAuth).
Užregistruoti raktai (automatinis valdymas)
Naudojama automatinio raktų valdymo posistemėje, kad būtų išduodami ir pasukami API raktai, susieti su pagrindiniu teikėju / paskyra ir turintys dienos bei valandos kvotas.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/v1/registered-keys |
Pateikti užregistruotų raktų sąrašą (rodomas tik užmaskuotas prefiksas) |
| POST | /api/v1/registered-keys |
Išduoti naują užregistruotą raktą — turinys: {name, provider?, accountId?, idempotencyKey?, expiresAt?, dailyBudget?, hourlyBudget?}. Neužmaskuotas raktas grąžinamas vieną kartą. Atmetus dėl kvotos, grąžinamas 429. |
| GET | /api/v1/registered-keys/[id] |
Gauti užregistruoto rakto metaduomenis (be neužmaskuoto rakto duomenų) |
| DELETE | /api/v1/registered-keys/[id] |
Atšaukti užregistruotą raktą |
| POST | /api/v1/registered-keys/[id]/revoke |
Aiškiai nurodyta atšaukimo galinė prieiga (poveikis toks pats kaip DELETE) |
Autentifikavimas: „Bearer“ API raktas (isAuthenticated). Taip pat žr. /v1/quotas/check ir /v1/issues/report.
Agentų protokolas
Debesijos agentų užduotys („Claude Code“, „Codex Cloud“, „OpenHands“ ir kt.), nuotoliniu būdu vykdomos „OmniRoute“ naudotojų vardu.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/v1/agents/tasks |
Užduočių sąrašas — pasirenkami ?provider=, ?status=, ?limit= (1–500, numatytoji reikšmė – 50) |
| POST | /api/v1/agents/tasks |
Sukurti užduotį — turinį patikrina CreateCloudAgentTaskSchema (providerId, prompt, source, options?). Grąžina 201 su užduoties apvalkalu |
| DELETE | /api/v1/agents/tasks?id=... |
Ištrinti užduotį |
| GET | /api/v1/agents/tasks/[id] |
Gauti užduotį — sinchroniškai atnaujina būseną iš pirminio debesijos agento, kai nustatytas external_id |
| POST | /api/v1/agents/tasks/[id] |
Atskiriamasis veiksmas: {action: "approve"}, {action: "message", message} arba {action: "cancel"} |
| DELETE | /api/v1/agents/tasks/[id] |
Ištrinti konkrečią užduotį pagal id |
Autentifikavimas: kiekvienam metodui būtinas valdymo autentifikavimas (
requireCloudAgentManagementAuth). Iki v3.8.0 autentifikavimas nebuvo taikomas — apie nesuderinamą pakeitimą žr. įraše588a0333.
# Sukurti „Claude Code“ debesijos užduotį
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":"..."}}'
Valdymo tarpiniai serveriai
Išeinantiems HTTP(S)/SOCKS ryšiams skirti tarpiniai serveriai, kuriuos galima priskirti teikėjams, paskyroms arba visuotinai.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/v1/management/proxies |
Tarpinių serverių sąrašas (su ?id= grąžina vieną; su ?id=&where_used=1 grąžina priskyrimų grafą) |
| POST | /api/v1/management/proxies |
Sukurti tarpinį serverį — turinį patikrina createProxyRegistrySchema |
| PATCH | /api/v1/management/proxies |
Atnaujinti tarpinį serverį — turinį patikrina updateProxyRegistrySchema (būtinas id) |
| DELETE | /api/v1/management/proxies?id=...&force=1 |
Ištrinti tarpinį serverį (naudokite force=1, kad pašalintumėte priskyrimus) |
| GET | /api/v1/management/proxies/assignments |
Priskyrimų sąrašas — galima filtruoti pagal proxy_id, scope, scope_id; perduokite resolve_connection_id=<id>, kad nustatytumėte aktyvų ryšio tarpinį serverį |
| PUT | /api/v1/management/proxies/assignments |
Priskirti — turinį patikrina proxyAssignmentSchema ({scope, scopeId?, proxyId?}). Išvalo dispečerio podėlį |
| PUT | /api/v1/management/proxies/bulk-assign |
Masinis priskyrimas — turinį patikrina bulkProxyAssignmentSchema ({scope, scopeIds[], proxyId?}) |
| GET | /api/v1/management/proxies/health?hours=24 |
Suvestinė tarpinio serverio būklė per nurodytą laikotarpį (sėkmingų / nesėkmingų užklausų skaičius, delsa) |
Autentifikavimas: kiekvienam maršrutui būtina valdymo sesija / API raktas (requireManagementAuth).
Užduoties apraše nurodytus
POST /api/v1/management/proxies/[id]/assignmentsirPOST /api/v1/management/proxies/[id]/healthaptarnauja pirmiau parodyti plokščios struktūros maršrutai/assignmentsir/health— kodų bazėje nėra atskirų kiekvienam id skirtų antrinių maršrutų.
Atsparumas (išplėstinis)
„OmniRoute“ suteikia tris nepriklausomus laikinųjų trikčių valdymo mechanizmus; toliau nurodyti valdymo galiniai taškai leidžia operatoriams peržiūrėti ir pakeisti jų būseną:
| Apimtis | Būsenos saugojimo vieta | Peržiūra | Nustatymas iš naujo / išvalymas |
|---|---|---|---|
| Teikėjo grandinės pertraukiklis | domain_circuit_breakers + atmintyje |
/api/monitoring/health |
POST /api/resilience/reset |
| Ryšio laukimo laikotarpis | rateLimitedUntil teikėjo ryšiuose |
/api/rate-limits, /api/providers/[id] |
(vėl įjungiama atidėtai; išvaloma teikėjo PUT būdu) |
| Modelio blokavimas | Atmintyje esantis modelių pasiekiamumo registras | GET /api/resilience/model-cooldowns |
DELETE /api/resilience/model-cooldowns |
PATCH /api/resilience priima teikėjo grandinės pertraukiklio perrašymus laukuose providerBreaker.oauth ir providerBreaker.apikey. Kiekviename profilyje galima naudoti degradationThreshold, failureThreshold ir resetTimeoutMs; tie patys laukai pateikiami skiltyje Valdymo skydas → Nustatymai → Atsparumas.
# Išvalyti vieno modelio blokavimą
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"}'
# Išvalyti visus blokavimus
curl -X DELETE http://localhost:20128/api/resilience/model-cooldowns \
-H "Cookie: auth_token=..." \
-d '{"all":true}'
Išsamią koncepcinę informaciją ir numatytąsias grandinės pertraukiklio reikšmes žr. CLAUDE.md → „Atsparumo vykdymo aplinkos būsena“.
Įgūdžiai
Sistema, skirta „OmniRoute“ plėsti pasirinktinėmis vykdomosiomis apdorojimo programomis, taip pat integracijomis su prekyvietėmis.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/skills |
Pateikia įdiegtų įgūdžių sąrašą — galima filtruoti pagal ?q=, ?mode=on|off|auto, ?source=skillsmp|skillssh|local, palaikomas puslapiavimas |
| GET | /api/skills/[id] |
Gauna vieną įgūdį |
| PUT | /api/skills/[id] |
Atnaujina įgūdį (pavadinimą, aprašymą, režimą, schemą, apdorojimo programą, žymas) |
| DELETE | /api/skills/[id] |
Pašalina įgūdį |
| POST | /api/skills/install |
Įdiegia įgūdį iš neapdoroto manifesto — užklausos turinys: {name, version, description, schema:{input, output}, handlerCode, apiKeyId?} |
| GET | /api/skills/executions |
Pateikia naujausių įgūdžių vykdymų sąrašą (audito seka su įvestimis, išvestimis ir trukme) |
| GET | /api/skills/marketplace?q=... |
Paieškos / populiarių įgūdžių sąrašas iš „SkillsMP“ prekyvietės (reikalinga skillsmpApiKey nuostata) |
| POST | /api/skills/marketplace/install |
Įdiegia įgūdį pagal jo id iš „SkillsMP“ |
| GET | /api/skills/skillssh?q=&limit= |
Atlieka paiešką „skills.sh“ registre |
| POST | /api/skills/skillssh/install |
Įdiegia įgūdį pagal jo id iš „skills.sh“ |
Autentifikavimas: valdymo seansas / API raktas. Prekyvietės paieškos maršrutai priima valdymo autentifikavimo duomenis arba „Bearer“ API raktą (isAuthenticated).
Atmintis
Nuolatinė pokalbių / faktinės atminties saugykla, kurios apimtis nustatoma pagal API raktą / seansą.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/memory |
Atminčių sąrašas — ?apiKeyId=, ?type=, ?sessionId=, ?q=, su puslapių skaidymu naudojant offset/limit arba page/limit |
| POST | /api/memory |
Sukurti atmintį — užklausos turinį tikrina Zod: {content, key, type?, sessionId?, apiKeyId?, metadata?, expiresAt?} |
| GET | /api/memory/[id] |
Gauti vieną atmintį |
| DELETE | /api/memory/[id] |
Ištrinti atmintį |
| GET | /api/memory/health |
Atminties posistemės būklė (DB ryšys, vektorinių įterpinių posistemė, vektorinio indekso būsena) |
Autentifikavimas: valdymo seansas / API raktas (requireManagementAuth). type išvardijimas: FACTUAL, EPISODIC, SEMANTIC, PROCEDURAL (žr. MemoryType, esantį src/lib/memory/types.ts).
MCP serveris
OmniRoute pateikiamas su integruotu Model Context Protocol serveriu, turinčiu 3 transportus (stdio, SSE, streamable-http) ir pagal apimtis apribotus įrankius. Toliau nurodyti valdymo skydelio galiniai taškai nuskaito būsenos / audito duomenis ir veikia kaip HTTP transportų tarpinis serveris.
| Metodas | Kelias | Aprašymas | |
|---|---|---|---|
| GET | /api/mcp/status |
Periodinis signalas, transportas, prisijungimo būsena, paskutinis iškvietimas, populiariausi įrankiai, sėkmės rodiklis per 24 val. | |
| GET | /api/mcp/tools |
MCP įrankių sąrašas su name, description, scopes, phase, auditLevel, sourceEndpoints |
|
| GET | /api/mcp/sse |
Atverti SSE srautą SSE transportui (grąžina 503, jei MCP išjungtas arba transportas neatitinka) |
|
| POST | /api/mcp/sse |
Siųsti JSON-RPC kadrą SSE transportu | |
| GET | /api/mcp/stream |
Atverti Streamable HTTP transporto SSE pusę (serverio inicijuojami pranešimai) | |
| POST | /api/mcp/stream |
Siųsti JSON-RPC kadrą Streamable HTTP transportu | |
| DELETE | /api/mcp/stream |
Užbaigti Streamable HTTP seansą | |
| GET | /api/mcp/audit |
Pateikti audito žurnalo užklausą — ?limit=, ?offset=, ?tool=, `?success=true |
false, ?apiKeyId=` |
| GET | /api/mcp/audit/stats |
Suvestinė audito statistika (bendri skaičiai, sėkmės rodiklis, vidutinė trukmė, populiariausi įrankiai) |
Autentifikavimas: sse / stream transportai naudoja MCP skirtą autentifikavimo sąsają („Bearer“ API raktą su mcp apimtimi); status / tools / audit* maršrutai pasiekiami iš valdymo skydelio (pasiekus valdymo skydelio pagrindinį kompiuterį, papildomas autentifikavimas nereikalingas).
Abu HTTP transportai valdomi naudojant
settings.mcpEnabledirsettings.mcpTransport— jei transportas neatitinka, grąžinamas400, o jei MCP išjungtas —503.
A2A serveris
OmniRoute pateikia A2A (agentų tarpusavio sąveikos) JSON-RPC 2.0 galinį tašką ir REST sąsają, skirtą tikrinimui bei valdymo skydui.
JSON-RPC
POST /a2a
Authorization: Bearer your-api-key # neprivaloma, nebent nustatytas OMNIROUTE_API_KEY
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"skill": "smart-routing",
"messages": [{"role": "user", "content": "Route this coding task"}]
}
}
Palaikomi metodai (visi priklauso nuo settings.a2aEnabled):
| Metodas | Aprašymas |
|---|---|
message/send |
Sinchroninis gebėjimo vykdymas; grąžina {task, artifacts, metadata} |
message/stream |
To paties gebėjimų rinkinio srautinis SSE vykdymas |
tasks/get |
Gauti užduotį pagal taskId |
tasks/cancel |
Atšaukti užduotį pagal taskId |
Integruoti gebėjimai: smart-routing, quota-management, provider-discovery, cost-analysis, health-report.
Agento kortelė
GET /.well-known/agent.json
Grąžina viešą A2A agento kortelę (pavadinimą, aprašymą, galimybes, gebėjimų katalogą, autentifikavimo schemą) — ji viešai podėliuojama 1 val. Autentifikavimas nereikalingas.
REST pagalbinės sąsajos
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/a2a/status |
Ar A2A įjungtas + užduočių statistika + podėlyje saugoma agento kortelės santrauka |
| GET | /api/a2a/tasks |
Užduočių sąrašas — ?state=submitted|working|completed|failed|cancelled, ?skill=, ?limit= (≤200), ?offset= |
| POST | /api/a2a/tasks |
(Neįgyvendinta kaip REST pagalbinė sąsaja — sukurkite per JSON-RPC message/send) |
| GET | /api/a2a/tasks/[id] |
Gauti vieną užduotį |
| POST | /api/a2a/tasks/[id]/cancel |
Atšaukti užduotį |
Autentifikavimas: REST pagalbinės sąsajos veikia be valdymo autentifikavimo (jas gali skaityti valdymo skydas); JSON-RPC maršrutas /a2a naudoja Bearer OMNIROUTE_API_KEY, jei jis sukonfigūruotas.
Debesija, vertinimo testai ir vertinimas
| Metodas | Kelias | Aprašymas | ||
|---|---|---|---|---|
| POST | /api/cloud/auth |
Patikrinti Bearer raktą ir grąžinti užmaskuotus teikėjų ryšius bei modelių alternatyvius vardus debesijos sinchronizavimo klientams | ||
| POST | /api/cloud/credentials/update |
Atnaujinti užšifruotus debesijoje sinchronizuojamo teikėjo prisijungimo duomenis | ||
| POST | /api/cloud/model/resolve |
Pagal vietinę maršrutizavimo lentelę susieti loginį modelio ID su konkrečiu teikėju ir modeliu | ||
| GET | /api/cloud/models/alias |
Pateikti modelių alternatyvių vardų sąrašą taip, kaip jis prieinamas debesijos sinchronizavimui | ||
| GET | /api/assess |
Nuskaityti naujausias vertinimo kategorijas (pagal teikėją / modelį) | ||
| POST | /api/assess |
Vykdyti vertinimą — turinys: `{scope: {type:"all"} | {type:"provider", providerId} | {type:"model", modelId}, trigger?}` |
| GET | /api/evals |
Pateikti integruotų vertinimo testų rinkinių ir naujausių vykdymų sąrašą | ||
| POST | /api/evals |
Paleisti vertinimo testą | ||
| POST | /api/evals/suites |
Sukurti pasirinktinį vertinimo testų rinkinį — turinys tikrinamas naudojant evalSuiteSaveSchema |
||
| GET | /api/evals/suites/[id] |
Gauti pasirinktinį vertinimo testų rinkinį |
Autentifikavimas: /api/cloud/auth tiesiogiai patikrina Bearer raktą; kitiems /api/cloud/*, /api/evals/* ir /api/assess maršrutams reikalingas valdymo seansas / API raktas. /api/assess POST naudoja validateBody su diskriminuotosios sąjungos aprėpties schema.
ACP (Agent Client Protocol) valdymas
kaip antrinius procesus. Šie galiniai taškai valdo ACP agentų aptikimą ir pasirinktinių agentų registravimą.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/acp/agents |
Pateikia visus žinomus CLI agentus (integruotus ir pasirinktinius), jų įdiegimo būseną, versiją ir vykdomąjį failą |
| POST | /api/acp/agents |
Užregistruoja pasirinktinį ACP agentą arba atnaujina podėlį — turinys: {id, name, binary, versionCommand, providerAlias, spawnArgs, protocol} arba {action: "refresh"} |
| DELETE | /api/acp/agents |
Pašalina pasirinktinį ACP agentą — užklausos parametras: ?id=<agentId> |
Atsakymo pavyzdys (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
}
Autentifikavimas: reikalingas valdymo seansas (valdymo skydelio auth_token slapukas) arba
valdymo srities API raktas.
Išsamią informaciją rasite ACP sistemos dokumentacijoje.
Analitika ir stebimumas
Tikrojo laiko analitikos galiniai taškai, skirti maršruto parinkimui, glaudinimui ir teikėjų
įvairovei stebėti. Jie naudojami /dashboard/analytics/* puslapiuose.
Automatinio maršruto parinkimo analitika
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/analytics/auto-routing |
Apibendrinta automatinio maršruto parinkimo statistika: bendras iškvietimų skaičius, strategijų ir lygių pasiskirstymas, populiariausi teikėjai |
| GET | /api/analytics/auto-routing?days=7 |
Pasirinkto laikotarpio statistika (numatytoji reikšmė – 24 val.) |
Atsakymo pavyzdys:
{
"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 }
]
}
Glaudinimo analitika
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/analytics/compression |
Apibendrinta glaudinimo statistika: sutaupyti prieigos raktai, sutaupymo procentas, režimų pasiskirstymas, variklių naudojimas |
Atsakymo pavyzdys:
{
"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
}
}
Teikėjų įvairovės stebėjimas
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/analytics/diversity |
Šenono entropija pagrįstas įvairovės stebėjimas: matuojant pasiskirstymą tarp teikėjų išvengiama pavienių gedimo taškų |
Atsakymo pavyzdys:
{
"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"]
}
Autentifikavimas: reikalingas valdymo seansas arba valdymo srities API raktas.
Administratoriaus operacijos
Tik administratoriams skirti operacinio valdymo galiniai taškai.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/admin/concurrency |
Gauti dabartinius lygiagretumo apribojimus (visuotinius ir kiekvieno teikėjo) |
| POST | /api/admin/concurrency |
Atnaujinti lygiagretumo apribojimus — turinys: {global?: number, perProvider?: Record<string, number>} |
Autentifikavimas: Reikalinga administratoriaus sritį turinti valdymo sesija.
CLI įrankių valdymas
Valdykite CLI įrankius, integruojamus su „OmniRoute“ (antigravity, chipotle, commandCode, devin-cli ir kt.). Visą sąrašą rasite Teikėjų žinyne.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/cli-tools/all-statuses |
Visų CLI įrankių būsena (įdiegimas, versija, kada paskutinį kartą aptiktas) |
| GET | /api/cli-tools/status |
Išsami vieno CLI įrankio būsena (?tool= užklausa) |
| POST | /api/cli-tools/apply |
Įrašyti sugeneruotą įrankio konfigūraciją (dryRun pateikia peržiūrą; naudojant konteinerį grąžinama 422 + containerEphemeralTarget; migration nurodo pasenusį „Codex“ YAML) |
| GET | /api/cli-tools/backups |
Pateikti CLI įrankių konfigūracijų atsarginių kopijų sąrašą |
| POST | /api/cli-tools/backups |
Sukurti visų CLI įrankių konfigūracijų atsarginę kopiją |
| POST | /api/cli-tools/backups |
Atkurti: tas pats galinis taškas atkuria atsarginę kopiją, kai užklausos turinyje pateikiama {tool, backupId} |
| GET | /api/cli-tools/antigravity-mitm |
„Antigravity“ MITM tarpinio serverio būsena (antigravity-mitm CLI įrankis) |
| POST | /api/cli-tools/antigravity-mitm/alias |
Konfigūruoti antigravity-mitm alternatyviuosius vardus |
Autentifikavimas: Reikalinga valdymo sesija.
Agentų įgūdžiai
Valdykite DI agentų įgūdžius (panašius į „OpenAI“ pasirinktinius GPT, tačiau skirtus agentams).
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/agent-skills |
Pateikti visų agentų įgūdžių sąrašą (integruotų ir pasirinktinių) |
| GET | /api/agent-skills/[id] |
Gauti konkretų agento įgūdį |
| POST | /api/agent-skills |
Sukurti pasirinktinį agento įgūdį — turinys: {name, description, prompt, model?, temperature?} |
| PUT | /api/agent-skills/[id] |
Atnaujinti pasirinktinį agento įgūdį |
| DELETE | /api/agent-skills/[id] |
Ištrinti pasirinktinį agento įgūdį |
| GET | /api/agent-skills/[id]/raw |
Gauti neapdorotą raginimą ir metaduomenis (nevykdant) |
| POST | /api/agent-skills/generate |
Naudojant DI sugeneruoti naują įgūdį iš natūraliosios kalbos aprašymo |
Autentifikavimas: Reikalinga valdymo sesija arba valdymo srities API raktas.
Talpyklos valdymas
Valdykite semantinę ir samprotavimo talpyklas.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/cache |
Talpyklos apžvalga: bendras įrašų skaičius, pataikymų dažnis, dydis diske |
| GET | /api/cache/entries |
Pateikti talpyklos įrašų sąrašą (su puslapiavimu) |
| DELETE | /api/cache/entries |
Ištrinti talpyklos įrašus (filtruojant pagal užklausos parametrus) |
| GET | /api/cache/stats |
Išsami talpyklos statistika (pagal teikėją ir modelį) |
| GET | /api/cache/reasoning |
Samprotavimo talpyklos būsena (samprotavimo pakartojimui) |
| DELETE | /api/cache/reasoning |
Išvalyti samprotavimo talpyklą — užklausos parametrai: ?toolCallId=<id> (vienas), ?provider=<p> arba nėra parametrų (visi) |
Autentifikavimas: reikalingas valdymo seansas.
Atminties sistema
Valdykite nuolatinę atmintį (FTS5 + vektoriniai įterpiniai).
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/memory |
Pateikti atminties įrašų sąrašą (filtruojant pagal sritį, tipą, paieškos užklausą) |
| POST | /api/memory |
Sukurti naują atminties įrašą — turinys: {scope, type, content, metadata?} |
| GET | /api/memory/[id] |
Gauti konkretų atminties įrašą |
| PUT | /api/memory/[id] |
Atnaujinti atminties įrašą |
| DELETE | /api/memory/[id] |
Ištrinti atminties įrašą |
| GET | /api/memory?q= |
Ieškoti atmintyje (FTS5 + vektoriai) — statistika įtraukta į tą patį atsakymą |
Autentifikavimas: reikalingas valdymo seansas arba valdymo sričiai skirtas API raktas.
Saityno jungtys
Valdykite įvykių saityno jungčių prenumeratas.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/webhooks |
Pateikti visų saityno jungčių prenumeratų sąrašą |
| POST | /api/webhooks |
Sukurti saityno jungties prenumeratą — turinys: {url, events[], secret?, active?} |
| GET | /api/webhooks/[id] |
Gauti konkrečią saityno jungties prenumeratą |
| PUT | /api/webhooks/[id] |
Atnaujinti saityno jungties prenumeratą |
| DELETE | /api/webhooks/[id] |
Ištrinti saityno jungties prenumeratą |
| GET | /api/webhooks/[id]/deliveries |
Pateikti saityno jungties pristatymų istoriją (sėkmių / nesėkmių žurnalą) |
| POST | /api/webhooks/[id]/test |
Išsiųsti bandomąjį įvykį saityno jungčiai |
Autentifikavimas: reikalingas valdymo seansas.
Visus įvykių tipus žr. Saityno jungčių sistemoje.
Įgūdžių sistema
Valdykite įgūdžius (agentinių plėtinių sistemą).
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/skills |
Pateikti visų įdiegtų įgūdžių sąrašą (integruotų ir pasirinktinių) |
| POST | /api/skills/install |
Įdiegti įgūdį iš vietinio kelio arba URL |
| DELETE | /api/skills/[id] |
Pašalinti įgūdį |
| PUT | /api/skills/[id] |
Įjungti arba išjungti įgūdį — turinys: {enabled?: boolean, mode?: "on" | "off" | "auto"} |
| POST | /api/skills/executions |
Vykdyti įgūdį — turinys: {skillName, apiKeyId, input?, sessionId?} |
| GET | /api/skills/executions |
Pateikti visų įgūdžių vykdymo istoriją (filtruoti pagal ?apiKeyId=) |
Autentifikavimas: Reikalinga valdymo sesija arba valdymo apimties API raktas.
Išsamią informaciją žr. Įgūdžių sistema.
Papildiniai
Valdykite OmniRoute papildinius (trečiųjų šalių plėtinius).
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/plugins |
Pateikti įdiegtų papildinių sąrašą |
| POST | /api/plugins/marketplace/install |
Įdiegti papildinį iš prekyvietės |
| DELETE | /api/plugins/[name] |
Pašalinti papildinį |
| POST | /api/plugins/[name]/activate |
Aktyvinti papildinį |
| POST | /api/plugins/[name]/deactivate |
Išaktyvinti papildinį |
| GET | /api/plugins/[name]/config |
Gauti papildinio konfigūraciją |
| PUT | /api/plugins/[name]/config |
Atnaujinti papildinio konfigūraciją |
Autentifikavimas: Reikalinga valdymo sesija.
Išsamią informaciją žr. Papildinių sistema.
Šešėlinis maršruto parinkimas
Šešėlinis / A-B paslaugų teikėjų palyginimas nėra atskira REST sąsaja — jis konfigūruojamas naudojant kombinuotąjį maršruto parinkimą (žr. Automatiniai deriniai). Kiekvieno derinio palyginimo metrikos pateikiamos naudojant GET /api/combos/metrics.
Apsaugos priemonės
Peržiūrėkite vykdymo aplinkos apsaugos priemones (PII aptikimą, užklausų injekcijų aptikimą, vaizdinio turinio susiejimą). Apsaugos priemonės vykdomos kiekvienai užklausai; jų galima atsisakyti atskirai kiekvienam iškvietimui naudojant užklausos antraštę x-omniroute-disabled-guardrails — nėra išsaugomos įjungimo ar išjungimo sąsajos.
| Metodas | Kelias | Aprašymas |
|---|---|---|
| GET | /api/guardrails |
Pateikti užregistruotų apsaugos priemonių ir jų būsenų sąrašą (pavadinimas / įjungta / prioritetas) |
| POST | /api/guardrails/test |
Bandomuoju režimu vykdyti prieš iškvietimą atliekamą apdorojimo seką su pavyzdine įvestimi — turinys: {input, disabledGuardrails?} |
Autentifikavimas: Reikalinga valdymo sesija.
Išsamią informaciją žr. Saugumas > Apsaugos priemonės.
Autentifikavimas
Informaciją apie keturias prisijungimo duomenų grupes (valdymo skydelio seansą, vietinį CLI prieigos raktą, oma_live_… prieigos raktą ir valdymo aprėpties API raktą) bei jų skirtumus nuo išvadų generavimo raktų rasite Valdymo autentifikavimas.
- Valdymo skydelio maršrutai (
/dashboard/*) naudojaauth_tokenslapuką - Prisijungiant naudojama išsaugota slaptažodžio maiša; jei jos nėra, naudojamas
INITIAL_PASSWORD requireLogingalima perjungti per/api/settings/require-login- Kai
REQUIRE_API_KEY=true,/v1/*maršrutams gali būti privalomas „Bearer“ API raktas - Šiame žinyne „valdymo prieigos raktas“ / „valdymo aprėpties API raktas“ reiškia vieną iš tame vadove aprašytų grupių, o ne neapibrėžtą papildomą slapto rakto tipą
Nesuderinamas pakeitimas (v3.8.0) —
/api/v1/agents/tasks/*ir atvėsimo laikotarpio valdymo galiniai taškai dabar reikalauja valdymo autentifikavimo (valdymo skydelioauth_tokenslapuko arba valdymo aprėpties API rakto). Klientai, kurie anksčiau šiuos maršrutus iškviesdavo be autentifikavimo, gaus atsakymą401 Unauthorized. Žr. įsipareigojimą588a0333(fix(auth): require management auth for agent and cooldown APIs).