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.
82 KiB
ARCHITECTURE (Gaeilge)
🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 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: "Ingearchtúra OmniRoute" version: 3.8.40 lastUpdated: 2026-06-28
Ingearchtúra OmniRoute
🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 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
Nuashonraithe ar an 2026-06-28
Achoimre Feidhmiúcháina
Is é OmniRoute nascaire agus deais ríomhaireachta AI áitiúil atá tógtha ar Next.js.
Soláthraíonn sé amháin deireadh pointe comhoiriúnach le OpenAI (/v1/*) agus seolann sé tráchtaireacht ar fud iliomad soláthraithe barrlíne le haistriú, athchóiriú, athnua comhartha, agus rianú úsáide.
Bunrialtanais:
- Dromchla API comhoiriúnach le OpenAI do CLIs/uirlisí (355 soláthraí, 108 rithoirí)
- Aistriú iarratais/freagraí tríd an bhformáid soláthraithe éagsúla
- Athchóiriú comhaimseartha samhlacha (seicheamh ilsamhlacha)
- Céimeanna combo struchtúrtha (
soláthraí + samhail + ceangal) le formáid ordaithe agcompositeTiers - Athchóiriú ag leibhéal cuntais (ilchuntais in aghaidh an tSoláthraí)
- Ráthaíocht roimh thús oibre agus roghnú cuntais P2C feasach ar ráthaíocht sa phríomhshlí comhrá
- Bainistíocht ceangail soláthraithe OAuth + eochair API (22 modúl soláthraithe OAuth)
- Giniúint leabaithe trí
/v1/embeddings(18 soláthraí) - Giniúint íomhá trí
/v1/images/generations(10+ soláthraí, 20+ samhail) - Trascríobiú fuaime trí
/v1/audio/transcriptions(18 soláthraí) - Téacs-go-guth trí
/v1/audio/speech(24 soláthraí ionsuite) - Giniúint físeáin trí
/v1/videos/generations(ComfyUI + SD WebUI) - Giniúint ceoil trí
/v1/music/generations(ComfyUI) - Tuardas gréasáin trí
/v1/search(20 soláthraí) - Meidreoidigh trí
/v1/moderations - Athranging trí
/v1/rerank - Parsáil clibe smaointe (
...</think>) do samhlacha réasúnaíochta - Slánú freagraí le haghaidh comhoiriúnachta stric le SDK OpenAI
- Gnáthamh róil (forbróir→córas, córas→úsáideoir) le haghaidh comhoiriúnachta tras-soláthraithe
- Tiontú aschuir struchtúrtha (json_schema → freagraSchema Gemini)
- Péireáil áitiúil do sholáthraithe, eochracha, ainmneacha malartacha, comhaimseartha, socruithe, praghsanna (122 modúl DB)
- Rianú úsáid/ioncaim agus logáil iarratais
- Comhshó scamall roghnach le haghaidh ilghearradh/stáit comhshó
- liosta ceadanna/blocáil IP le haghaidh rialaithe rochtana API
- Bainistíocht buiséid smaointe (trasghabháil/uathoibríoch/saincheaptha/coigeartaithe)
- instealladh praghsála córais domhanda
- Rianú seisiún agus méarchlón
- rátáil feabhsaithe in aghaidh an chuntais le próifílí sainiúla do sholáthraithe
- patrún briseadóir sliseanna le haghaidh athléimneacht soláthraithe
- cosaint toirneach lapadóirí le glasáil mutex
- taisce díshórtála iarratais bunaithe ar shíniú
- ciseal réimse: rialacha costais, polasaí athchóiriú, polasaí fáil
- Athsheoladh Comhthéacs: achoimrí seisiúin le haghaidh leanúnachta rothála cuntais
- Péireáil stáit réimse (taifead SQLite write-tríd an taisce le haghaidh athchóiritheanna, buiséid, dúnadh, briseadóirí sliseanna)
- innill polasaí le haghaidh meastóireachta iarratais láraithe (dúnadh → buiséad → athchóiriú)
- teileiméadra iarratais le haonlaíriú pá moill p50/p95/p99
- teileiméadra spriocanna comhaimseartha agus sláinte spriocanna comhaimseartha stairiúil trí
combo_execution_key/combo_step_id - aitheantas comhghaoile (X-Request-Id) le haghaidh rianú ó deireadh go deireadh
- scrúdú comhlíonadh le logáil agus é roghnach in aghaidh an eochair API
- creat luachmheasúnachta le haghaidh dearbhúcháin cháilíochta LLM
- deais sláinte le stádas reatha briseadóirí sliseanna soláthraithe
- Freastalaí MCP (110 uirlisí) le 3 iompróidh (stdio/SSE/Streamable HTTP)
- Freastalaí A2A (JSON-RPC 2.0 + SSE) le scileanna agus saolré tasc
- córas cuimhne (eastóscadh, instealladh, aisghníomhú, achoimriú)
- córas scileanna (clárlann, rithoirí, ionsaí, scileanna ionsuite)
- seachfhreastalaí MITM le bainistíocht deimhnithe agus láimhseáil DNS
- cosantóir instealladh praghsála idirmheánach
- píblíne comhbhrúite praghsála le Caveman, RTK, píblíní staca, comhaimseartha comhbhrúite, pacáistí teanga, agus anailísíocht
- clárlann ACP (Prótacal Cumarsáide gníomhaire)
- soláthraithe OAuth modúlach (22 modúl faoina bhfuil
src/lib/oauth/providers/) - scripteanna díshuiteála/díshuiteála iomlán
- gníomh deisiúcháin timpeallachta OAuth
- droichead WebSocket le haghaidh cliantanna WS comhoiriúnach le OpenAI (
/v1/ws) - bainistíocht comharthaí sioncrónaithe (eisiúint/tarraing, pacáiste cumraíochta ETag-leagan ag íoslódáil)
- réamhshocrú soláthraithe den chéad scoth GLM Thinking (
glmt) - comhaireamh comharthaí hibrideach (soláthraí-bhunaithe
/messages/count_tokensle taifeadh measúnachta) - síolú uathoibríoch ainmneacha malartacha samhlacha (30+ gnáthamhiú canúna tras-sheachfhreastalaí ag tosú)
- fetch sábháilte amach le cosaint SSRF, blocáil URL príobháideach, agus atreisiú cumraithe
- atreisiú comhrá feasach ar fhuarú le
requestRetryagusmaxRetryIntervalSeccumraithe - fíorú timpeallachta rithim ag tosú le Zod
- scrúdú comhlíonadh v2 le leathanach, Events CRUD soláthraithe, agus logáil fíorúcháin SSRF-bhlocáilte
Múnla rithim príomhúil:
- ruteanna apps Next.js faoin bhfillteán
src/app/api/*a chomhlíonann APIanna deais agus APIanna comhoiriúnachta - croí SSE/ródú comhroinnte i
src/sse/*+open-sse/*a láimhseálann rith soláthraí, aistriú, sruthú, athchóiriú, agus úsáid
Léaráidí Tagartha
Tá foinsí Mermaid canónacha, faoi rialú leaganacha, d’ardán v3.8.0 lonnaithe in
docs/diagrams/. Tá dhá cheann athghinte thíos le haghaidh treoshuímh;
tá an chuid eile nasctha óna dtreoracha fearainn-shonracha.
Foinse: diagrams/request-pipeline.mmd
Foinse: diagrams/resilience-3layers.mmd — nasctha freisin ó RESILIENCE_GUIDE.md agus tagairt athléimneachta
CLAUDE.md.
Raon Feidhme agus Teorainneacha
I Raon Feidhme
- Rith-am geataí áitiúil
- APIanna bainistíochta deais
- Fíordheimhniú soláthróra agus athnuachan comhartha
- Aistriúchán iarratais agus sruthú SSE
- Stát áitiúil + marthanacht úsáide
- Comhordú sioncronaithe scamall roghnach
As Raon Feidhme
- Cur i bhfeidhm seirbhíse scamall taobh thiar de
NEXT_PUBLIC_CLOUD_URL - SLA soláthróra/plána rialaithe lasmuigh de phróiseas áitiúil
- Na dénártha CLI seachtracha iad féin (Claude CLI, Codex CLI, srl.)
Dromchla Deais (Reatha)
Príomhleathanaigh faoi src/app/(dashboard)/dashboard/:
/dashboard— tosaithe tapa + forléargas soláthróra/dashboard/endpoint— seachfhreastalaí críochphointe + cluaisíní críochphointe MCP + A2A + API/dashboard/providers— naisc soláthróra agus dintiúir/dashboard/combos— straitéisí combo, teimpléid, tógálaí céim-bhunaithe, rialacha ródaithe samhla, ordú láimhe marthanach/dashboard/auto-combo— Inneall Combo Uathoibríoch: meáchain scórála, pacáistí mód, réamhshocruithe monarchan fhíorúla, teileiméadracht/dashboard/costs— comhiomlánú costas agus infheictheacht praghsála/dashboard/analytics— anailísíocht úsáide, meastóireachtaí, sláinte sprioc combo/dashboard/limits— rialuithe cuóta/ ráta/dashboard/cli-tools— ardbhord CLI, braite rith-ama, giniúint cumraíochta/dashboard/agents— gníomhairí ACP braite + clárú gníomhairí saincheaptha/dashboard/cloud-agents— tascanna gníomhairí óstáilte sa scamall (Codex Cloud, Devin, Jules) agus saolré tasc/dashboard/skills— clár scileanna A2A, forghníomhú sandbox, catalóg scileanna ionsuite/dashboard/memory— iniúchadh agus aisghabháil cuimhne comhrá mharthanaigh/dashboard/webhooks— síntiúis sheachfhreastalaí amach, rothlú rúnda, staitisticí athiarratais/dashboard/batch— aighneacht post bhaisc agus dul chun cinn/dashboard/cache— staitisticí taisce léitheoireachta agus réasúnaíochta, rialuithe díshealbhaithe/dashboard/playground— clós súgartha comhrá idirghníomhach i gcoinne aon chomhcheangal/samhail chumraithe/dashboard/changelog— féachaint ar athruithe san aip (athghineann séCHANGELOG.md)/dashboard/system— diagnóisic rith-ama, faisnéis leagain, dromchla bailíochtaithe timpeallachta/dashboard/onboarding— draoi socraithe céad-rithe do shuiteálacha nua/dashboard/media— clós súgartha íomhá/físeáin/ceoil/dashboard/search-tools— tástáil soláthróra cuardaigh agus stair/dashboard/health— uaschaitheamh, bristeoirí ciorcaid, teorainneacha ráta, seisiúin faoi mhonatóireacht chuóta/dashboard/logs— logaí iarratais/seachfhreastalaí/iniúchta/consóil/dashboard/settings— cluaisíní socruithe córais (ginearálta, ródú, réamhshocruithe combo, srl.)/dashboard/context/caveman— rialacha comhbhrú Caveman, pacáistí teanga, réamhamharc, agus mód aschuir/dashboard/context/rtk— scagairí aschuir ordaithe RTK, réamhamharc, agus socruithe sábháilteachta rith-ama/dashboard/context/combos— píblínte comhbhrú ainmnithe sannta do chomhcheangail ródaithe/dashboard/translator— iniúchadh aistritheora agus réamhamharc tiontaithe formáid iarratais/dashboard/audit— brabhsálaí loga iniúchta comhlíonta le huimhriú leathanach agus meiteashonraí struchtúrtha/dashboard/usage— brabhsálaí úsáide in aghaidh an iarratais ceangailte leusage_history/dashboard/compression— anailísíocht chomhbhrú, staitisticí, agus sannta píblíne/dashboard/api-manager— saolré eochrach API agus ceadanna samhla
Comhthéacs Ard-Leibhéal an Chórais
flowchart LR
subgraph Clients[Cliantanna Forbróra]
C1[Claude Code]
C2[Codex CLI]
C3[OpenClaw / Droid / Cline / Continue / Roo]
C4[Cliantanna saincheaptha atá comhoiriúnach le OpenAI]
BROWSER[Stiúrthóir Brabhsálaí]
end
subgraph Router[Próiseas Áitiúil OmniRoute]
API[API Comhoiriúnachta V1\n/v1/*]
DASH[Stiúrthóir + API Bainistíochta\n/api/*]
CORE[Croí SSE + Aistriúcháin\nopen-sse + src/sse]
DB[(storage.sqlite)]
UDB[(táblaí úsáide + sórtáil logaí)]
end
subgraph Upstreams[BunSoláthraithe Uachtaracha]
P1[BunSoláthraithe OAuth\nClaude/Codex/Gemini/Qoder/GitHub/Kiro/Cursor/Antigravity]
P2[BunSoláthraithe Eochracha API\nOpenAI/Anthropic/OpenRouter/GLM/Kimi/MiniMax\nDeepSeek/Groq/xAI/Mistral/Perplexity\nTogether/Fireworks/Cerebras/Cohere/NVIDIA]
P3[Nóid Chomhoiriúnacha\natá comhoiriúnach le OpenAI / atá comhoiriúnach le Anthropic]
end
subgraph Cloud[Sioncronú Solais Roghnach]
CLOUD[Céim Sioncronaithe Saobhréimse\nNEXT_PUBLIC_CLOUD_URL]
end
C1 --> API
C2 --> API
C3 --> API
C4 --> API
BROWSER --> DASH
API --> CORE
DASH --> DB
CORE --> DB
CORE --> UDB
CORE --> P1
CORE --> P2
CORE --> P3
DASH --> CLOUD
Comhpháirteanna Rith Príomhúla
1) Ciseal API agus Ródaithe (Bithreanna Next.js App)
Príomhchomhaidireacht:
src/app/api/v1/*agussrc/app/api/v1beta/*do chomhritheanna comhoiriúnachtasrc/app/api/*do chomhritheanna bainistíochta/chumraíochta- Athscríobhann Next.js i
next.config.mjs/v1/*go/api/v1/*
Bithreanna comhoiriúnachta tábhachtacha:
src/app/api/v1/chat/completions/route.tssrc/app/api/v1/messages/route.tssrc/app/api/v1/responses/route.tssrc/app/api/v1/models/route.ts— áirítear múnlaí saincheaptha lecustom: truesrc/app/api/v1/embeddings/route.ts— giniúint leabaithe (6 soláthróirí)src/app/api/v1/images/generations/route.ts— giniúint íomhánna (4+ soláthróirí lena n-áirítear Antigravity/Nebius)src/app/api/v1/messages/count_tokens/route.tssrc/app/api/v1/providers/[provider]/chat/completions/route.ts— comhrá speisialta de réir soláthraísrc/app/api/v1/providers/[provider]/embeddings/route.ts— leabaithe speisialta de réir soláthraísrc/app/api/v1/providers/[provider]/images/generations/route.ts— íomhánna speisialta de réir soláthraísrc/app/api/v1beta/models/route.tssrc/app/api/v1beta/models/[...path]/route.ts
Lasmuigh de réir réimse bainistíochta:
- Údarú/cumraíocht:
src/app/api/auth/*,src/app/api/settings/* - Soláthraithe/naisc:
src/app/api/providers* - Nóid soláthraí:
src/app/api/provider-nodes* - Múnlaí saincheaptha:
src/app/api/provider-models(GET/POST/DELETE) - Catalóg múnlaí:
src/app/api/models/route.ts(GET) - Cumraíocht seachadóra:
src/app/api/settings/proxy(GET/PUT/DELETE) +src/app/api/settings/proxy/test(POST) - OAuth:
src/app/api/oauth/* - Eochracha/ailiasaí/praghsáil:
src/app/api/keys*,src/app/api/models/alias,src/app/api/combos*,src/app/api/pricing - Úsáid:
src/app/api/usage/* - Sioncronú/saobhréimse:
src/app/api/sync/*,src/app/api/cloud/* - Cúntóirí uirlisí CLI:
src/app/api/cli-tools/* - Scagaire IP:
src/app/api/settings/ip-filter(GET/PUT) - buiséad smaoineamh:
src/app/api/settings/thinking-budget(GET/PUT) - Prompt córais:
src/app/api/settings/system-prompt(GET/PUT) - Comhbhrú:
src/app/api/settings/compression,src/app/api/computation/*, agussrc/app/api/context/* - Seisiúin:
src/app/api/sessions(GET) - Teorainneacha ráta:
src/app/api/rate-limits(GET) - Atógáil:
src/app/api/resilience(GET/PATCH) — líne iarratas, fuarú ceangail, briseadh soláthraí, cumraíocht feithimh ar fhuarú - Athshocrú atógála:
src/app/api/resilience/reset(POST) — athshocrú briseadh soláthraí - Staitisticí taisce:
src/app/api/cache/stats(GET/DELETE) - Teilimeadracht:
src/app/api/telemetry/summary(GET) - Buiséad:
src/app/api/usage/budget(GET/POST) - Slabhraí taisciplín:
src/app/api/fallback/chains(GET/POST/DELETE) - Iniúchadh comhlíontachta:
src/app/api/compliance/audit-log(GET, le paginated + metadata struchtúrtha) - Meastóireachtaí:
src/app/api/evals(GET/POST),src/app/api/evals/[suiteId](GET) - Polasaithe:
src/app/api/policies(GET/POST) - Comharthaí sioncronaithe:
src/app/api/sync/tokens(GET/POST),src/app/api/sync/tokens/[id](GET/DELETE) - Pacáiste cumraíochta:
src/app/api/sync/bundle(GET, grianghraf samhaltach le ETag-versioned de shocrúcháin/soláthraithe/compaí/eochracha) - WebSocket:
src/app/api/v1/ws/route.ts— láimhseálaí uasghrádú do chliantanna WS atá comhoiriúnach le OpenAI
2) Croílár SSE + Aistriúcháin
Modúil phríomhshrutha:
- Iontráil:
src/sse/handlers/chat.ts - Comhordú croí:
open-sse/handlers/chatCore.ts - Cuibheoirí forghníomhaithe soláthróra:
open-sse/executors/* - Brath formáide/cumraíocht sholáthróra:
open-sse/services/provider.ts - Parsáil/réiteach samhla:
src/sse/services/model.ts,open-sse/services/model.ts - Loighic aisíocaíochta cuntais:
open-sse/services/accountFallback.ts - Clár aistriúcháin:
open-sse/translator/index.ts - Claochluithe srutha:
open-sse/utils/stream.ts,open-sse/utils/streamHandler.ts - Eastóscadh/gnáthú úsáide:
open-sse/utils/usageTracking.ts - Parsálaí chlib smaoinimh:
open-sse/utils/thinkTagParser.ts - Láimhseálaí leabaithe:
open-sse/handlers/embeddings.ts - Clár soláthróirí leabaithe:
open-sse/config/embeddingRegistry.ts - Láimhseálaí giniúna íomhánna:
open-sse/handlers/imageGeneration.ts - Clár soláthróirí íomhánna:
open-sse/config/imageRegistry.ts - Sláintíocht freagraí:
open-sse/handlers/responseSanitizer.ts - Gnáthú ról:
open-sse/services/roleNormalizer.ts
Seirbhísí (loighic ghnó):
- Roghnú/scóráil cuntais:
open-sse/services/accountSelector.ts - Bainistíocht shaolré chomhthéacs:
open-sse/services/contextManager.ts - Forfheidhmiú scagaire IP:
open-sse/services/ipFilter.ts - Rianú seisiún:
open-sse/services/sessionManager.ts - Dí-ghrúpáil iarratas:
open-sse/services/signatureCache.ts - Instealladh leide sistéim:
open-sse/services/systemPrompt.ts - Bainistíocht bhuiséid smaoinimh:
open-sse/services/thinkingBudget.ts - Ródú samhla aischéimnitheach:
open-sse/services/wildcardRouter.ts - Bainistíocht teorainn ráta:
open-sse/services/rateLimitManager.ts - Briscoir ciorcaid:
src/shared/utils/circuitBreaker.ts - Aistriú comhthéacs:
open-sse/services/contextHandoff.ts— giniúint agus instealladh achoimre aistrithe don straitéis sealaíochta comhthéacs - Comhbhrú:
open-sse/services/compression/*— comhbhrú réamhghníomhach roimh aistriúchán soláthróra; áirítear rialacha Caveman, scagairí RTK, píblínte cruachta, teaglamaí comhbhrú, staitisticí, agus bailíochtú - Aisghabhálaí cuóta Codex:
open-sse/services/codexQuotaFetcher.ts— aisghabhann cuóta Codex do chinntí aistrithe sealaíochta comhthéacs - Aisghlao feasach ar fhuarú:
src/sse/services/cooldownAwareRetry.ts— aisghlaonna fuaraithe in aghaidh an tsamhail lerequestRetry/maxRetryIntervalSecinchoigeartaithe - Aisghabháil sheachtrach shábháilte:
src/shared/network/safeOutboundFetch.ts— aisghabháil sholáthróra/shamhla chosanta le garda SSRF, blocáil URL príobháideach, aisghlao, agus teorainn ama - Garda URL amach:
src/shared/network/outboundUrlGuard.ts— bailíochtaíonn URLanna soláthróra i gcoinne raonta CIDR príobháideacha/áitiúla - Réamhshocruithe iarratais sholáthróra:
open-sse/services/providerRequestDefaults.ts— réamhshocruithe leibhéal soláthróramaxTokens,temperature,thinkingBudgetTokens - Tairisigh sholáthróra GLM:
open-sse/config/glmProvider.ts— samhlacha GLM roinnte, URLanna cuóta, réamhshocruithe GLMT/timeout - Uas-sruth Antigravity:
open-sse/config/antigravityUpstream.ts— tairisigh URL bonn agus cosán fionnachtana - Tairisigh chliaint Codex:
open-sse/config/codexClient.ts— luachanna gníomhaire úsáideora agus cliaint leaganaithe - Síol ailias samhla:
src/lib/modelAliasSeed.ts— síolann 30+ ailias chanúint tras-seachfhreastalaí ag tosú
Modúil chiseal fearainn:
- Rialacha/costais:
src/domain/costRules.ts - Polasaí aisíocaíochta:
src/domain/fallbackPolicy.ts - Réiteoir teaglama:
src/domain/comboResolver.ts - Polasaí glasála:
src/domain/lockoutPolicy.ts - Inneall polasaí:
src/domain/policyEngine.ts— meastóireacht lárnaithe glasáil → buiséad → aisíocaíocht - Catalóg chóid earráide:
src/shared/constants/errorCodes.ts - ID iarratais:
src/shared/utils/requestId.ts - Teorainn ama aisghabhála:
src/shared/utils/fetchTimeout.ts - Teileiméadracht iarratais:
src/shared/utils/requestTelemetry.ts - Comhlíonadh/iniúchadh:
src/lib/compliance/index.ts - Rithim meastóireachta:
src/lib/evals/evalRunner.ts - Marthanacht stáit fearainn:
src/lib/db/domainState.ts— CRUD SQLite do shlabhraí aisíocaíochta, buiséid, stair chostais, staid ghlaisála, briscoirí ciorcaid
Modúil sholáthróirí OAuth (22 chomhad aonair faoi src/lib/oauth/providers/):
- Innéacs cláir:
src/lib/oauth/providers/index.ts - Soláthróirí aonair:
agy.ts,antigravity.ts,claude.ts,cline.ts,codebuddy-cn.ts,codex.ts,cursor.ts,devin-desktop.ts,ghe-copilot.ts,github.ts,gitlab-duo.ts,grok-cli-oauth.ts,grok-cli.ts,kilocode.ts,kimi-coding.ts,kiro.ts,openference.ts,qoder.ts,trae.ts,xai-oauth.ts,zed-hosted.ts,zed.ts - Fillteán tanaí:
src/lib/oauth/providers.ts— ath-onnmhairíonn ó mhodúil aonair
5) Seirbhísí Leabaithe (v3.8.4)
Is féidir le OmniRoute próisis uirlisí AI atá ag rith go háitiúil a shuiteáil, a mhaoirsiú, agus a ródú chucu, ar a dtugtar seirbhísí leabaithe. Seoltar cúig cinn: 9Router, CLIProxyAPI, Bifrost, Mux agus Dario.
Sraitheanna ailtireachta:
- UI (
/dashboard/providers/services) — leathanach dhá-chluaisín le rialuithe saolré, sruthú logaí beo, bainistíocht eochracha API, agus (do 9Router) UI dúchais leabaithe trí sheachfhreastalaí inmheánach droim ar ais. - API (
/api/services/{name}/*) — 11 chríochphointe do 9Router, 10 do CLIProxyAPI, 8 an ceann do Bifrost / Mux / Dario, iad go léir aicmithe LOCAL_ONLY (riail chrua #17). Críochphointe comhroinnteGET /api/services/[name]/logsSSE a fhreastalaíonn ar an dá sheirbhís. - Maoirseoir (
src/lib/services/) — rang ginearáltaServiceSupervisora chuimsíonnchild_process.spawn, a choinníonn maolán fáinne 5 MB le haghaidh sruthú logaí SSE, lúb taiscéalaíochta sláinte, glas oibríochta adamhaigh, agus múchadh cineálta SIGTERM→SIGKILL. Nascannbootstrap.tsgach seirbhís chumraithe ag tús an phróisis. - Soláthraí/forghníomhaí (
open-sse/executors/ninerouter.ts) — tá 9Router nochtaithe mar sholáthraí fíor. Tá samhlacha réamhshocraithe9router/{sub}/{model}agus iad sioncronaithe gach 5 nóiméad ó chríochphointe/v1/modelsde chuid 9Router.
Léargas domhain: docs/frameworks/EMBEDDED-SERVICES.md
Fochórais Mhóra (v3.8.0)
A. Inneall Combo Uathoibríoch
Scóráileann agus roghnaíonn Auto Combo spriocanna ródaithe go dinimiciúil ag am iarratais, seachas
a bheith ag brath ar shainmhíniú combo statach. Cumhachtaíonn sé an teaghlach réimír mhúnla auto/*.
- Iontráil inneall:
open-sse/services/autoCombo/(autoComboEngine.ts,scoringEngine.ts,virtualFactory.ts,modePacks.ts) - Réiteoir:
src/domain/comboResolver.ts(braite uathoibríoch réimírauto/) - Deais:
/dashboard/auto-combo - Teileiméadracht: tábla SQLite
auto_combo_decisions
Príomhchumais:
- 19 straitéis ródaithe (tosaíocht, meáite, líon-isteach-ar dtús, babhta-fáinne, P2C, randamach,
is-lú-úsáid, costas-uasmhéadaithe, athshocrú-fheasach, fuinneog-athshocraithe, ceannlíne, randamach-dian,
auto, lkgp, comhthéacs-uasmhéadaithe, comhthéacs-sealaíochta, comhleá, móide cosán cúltaca) —
is é auto an breisiú ceannscríbhneachta in v3.8.0; tá
fusion(fan-amach painéil + sintéis bhreithimh,open-sse/services/fusion.ts) nua in v3.8.36. - Scóráil 16-fhachtóir: cuóta, sláinte, costas inbhéartach, latency inbhéartach, oiriúnacht tasc agus
deich gcinn eile. Tá an tábla canónach fachtóirí agus a meáchain réamhshocraithe i
docs/routing/AUTO-COMBO.md— dá n-athrá anseo é bheadh dara háit ann le bheith as dáta. - Monarcha fíorúil a chruthaíonn combos neamhbhuan nuair nach bhfuil aon combo ainmnithe meaitseála ann, ag fáil iarrthóirí ó naisc sholáthraithe ghníomhacha shláintiúla.
- Réimíreanna auto:
auto/coding,auto/cheap,auto/fast,auto/offline,auto/smart,auto/lkgp— gach ceann le próifíl meáchain tiúnta. - 6 phacáiste mód:
ship-fast,cost-saver,quality-first,offline-friendly,reliability-firstaguschaos-mode— cumraíochtaí meáchain réamhshocraithe is féidir a ghlaoch ón deais. (Ná bíodh mearbhall orthu leis na réimíreannaauto/*thuas, ar leaganacha ag am iarratais iad.)
Le haghaidh sonraí iomlána algartamacha (foirmlí fachtóirí, tiúnadh meáchain), féach
docs/routing/AUTO-COMBO.md.
B. Gníomhairí Scamall
Cuimsíonn Cloud Agents ardáin ghníomhairí cóid tríú páirtí óstáilte (Codex Cloud, Devin, Jules) taobh thiar de shaolré tasc aonfhoirmeach atá bunaithe ar DB. Éilíonn gach críochphointe cruthaithe/iniúchta tascanna fíordheimhniú bainistíochta.
- Fréamh mhodúil:
src/lib/cloudAgent/(baseAgent.ts,registry.ts,api.ts,types.ts,db.ts, móide fofhreolairí in aghaidh an ghníomhaire faoiagents/) - Cur i bhfeidhm in aghaidh an ghníomhaire:
agents/codex/,agents/devin/,agents/jules/ - Críochphointí poiblí:
/api/v1/agents/tasks/*(liosta/cruthaigh/faigh/cealaigh) - Críochphointí bainistíochta:
/api/cloud/*(soláthar, stádas, baisce) - Deais:
/dashboard/cloud-agents - Stóráil: tábla
cloud_agent_tasks
Le haghaidh sonraí soláthair agus OAuth in aghaidh an ghníomhaire, féach
docs/frameworks/CLOUD_AGENT.md.
C. Ráillí Cosanta
Is sraith lár-earraí é an modúl ráillí cosanta is féidir a athlódáil go te, a scrúdaíonn iarratais agus freagraí le haghaidh PII, instealladh pras, agus ábhar fís neamhshábháilte. Sáraithe gearrchiorcaíonn an t-iarratas le HTTP 503 móide cód earráide struchtúrtha, rud a cheadaíonn do ghlaoiteoirí iartheachtacha triail a bhaint as arís nó brainse a dhéanamh.
- Fréamh mhodúil:
src/lib/guardrails/(base.ts,registry.ts,piiMasker.ts,promptInjection.ts,visionBridge.ts,visionBridgeHelpers.ts) - Athlódáil te: féachann an clárlann ar athruithe cumraíochta agus atógann sé an slabhra in áit
- Pointí sreangaithe: iontráil láimhseálaí comhrá, láimhseáil giniúna íomhá, sláintitheoir freagraí
- Conradh HTTP: tagann sáruithe chun cinn mar
503leerror.code = "GUARDRAIL_VIOLATION"
Le haghaidh údarú sraithe rialacha agus tiúnadh tairsí, féach
docs/security/GUARDRAILS.md.
D. Sraith Fearainn
Lárnaíonn an spásainm src/domain/ cinntí beartais ionas nach gá do láimhseálaithe bealaí
loighic glasála/buiséid/chúltaca a chur le chéile iad féin.
- Inneall beartais:
src/domain/policyEngine.ts— pointe iontrála aonair le haghaidh meastóireacht réamh-fhorghníomhaithe (ordú glasála → buiséid → cúltaca) - Rialacha costais:
src/domain/costRules.ts - Beartas cúltaca:
src/domain/fallbackPolicy.ts - Beartas glasála:
src/domain/lockoutPolicy.ts - Ródú bunaithe ar chlib:
src/domain/tagRouter.ts - Réiteoir combo:
src/domain/comboResolver.ts— réitíonn sé ainmneacha combo, réimíreanna auto/*, agus spriocanna múnla fiáine go pleananna forghníomhaithe nithiúla - Ceangail rialacha naisc/mhúnla:
src/domain/connectionModelRules.ts - Scáthghrianghraif infhaighteachta múnla:
src/domain/modelAvailability.ts - Rianú éaga soláthraí:
src/domain/providerExpiration.ts - Taisce cuóta:
src/domain/quotaCache.ts - Staid dhíghrádaithe:
src/domain/degradation.ts - Iniúchadh cumraíochta:
src/domain/configAudit.ts - Tógálaí meiteashonraí freagra OmniRoute:
src/domain/omnirouteResponseMeta.ts - Fochóras measúnaithe:
src/domain/assessment/— poist mheastóireachta thréimhsiúla
E. Píblíne Údaraithe
Aicmíonn an phíblíne údaraithe gach iarratas atá ag teacht isteach agus cuireann sí an slabhra beartais chuí i bhfeidhm roimh sheoladh.
- Iontráil píblíne:
src/server/authz/pipeline.ts - Aicmitheoir iarratais:
src/server/authz/classify.ts— déanann sé idirdhealú idir bealaí comhoiriúnachta poiblí agus bealaí bainistíochta - Fardal bealaí poiblí:
src/shared/constants/publicApiRoutes.ts - Beartais:
src/server/authz/policies/— réamhfhocail inchumtha (requireApiKey,requireManagement,requireFreshAuth, etc.) - Fóntais cheanntásca:
src/server/authz/headers.ts - Cúntóir dearbhaithe:
src/server/authz/assertAuth.ts - Comhthéacs iarratais:
src/server/authz/context.ts
Is teorainn chrua iad bealaí poiblí vs bainistíochta: éilíonn APIanna gníomhaire/fuaraithe agus athruithe soláthraí údarú bainistíochta (HTTP 401 mura bhfuil sé ann).
Le haghaidh rialacha iomlána aicmithe bealaí, féach
docs/architecture/AUTHZ_GUIDE.md.
F. FSM Sreabhadh Oibre agus Ródóir Tasc-Fheasach
Ródóir tiomáinte ag meaisín stáit chríochnaigh (FSM) atá leagtha os cionn roghnú combo chun trácht a threorú bunaithe ar chéim sreabhadh oibre a braitheadh (pleanáil, forghníomhú, athbhreithniú) agus cleamhnas tasc cúlra.
- FSM sreabhadh oibre:
open-sse/services/workflowFSM.ts - Ródóir tasc-fheasach:
open-sse/services/taskAwareRouter.ts - Braiteoir tasc cúlra:
open-sse/services/backgroundTaskDetector.ts - Aicmitheoir intinne:
open-sse/services/intentClassifier.ts
Cothaíonn aistrithe FSM isteach i scóráil Auto Combo, ag claonadh i dtreo samhlacha níos saoire le haghaidh tascanna cúlra/uathoibrithe agus i dtreo samhlacha níos láidre le haghaidh casanna idirghníomhacha pleanála/athbhreithnithe.
G. Athléimneacht Soláthraí-Shonrach
Seolann roinnt soláthraithe modúil athléimneachta agus ceilteachais tiomnaithe a thacaíonn le sraitheanna domhanda bristeora ciorcaid / fuaraithe naisc / glasála múnla:
- Inneall 429 Antigravity:
open-sse/services/antigravity429Engine.ts(rothaíonn sé céannacht, scriosann sé ceanntásca freagraí, tiomáineann sé rianú creidmheasanna/leaganacha tríantigravityCredits.ts,antigravityHeaderScrub.ts,antigravityHeaders.ts,antigravityIdentity.ts,antigravityVersion.ts) - Beartas cuóta ModelScope:
open-sse/services/modelscopePolicy.ts - Claude Code CCH (Comhordú Cainéal Comhoiriúnachta):
open-sse/services/claudeCodeCCH.ts, móideclaudeCodeCompatible.ts,claudeCodeConstraints.ts,claudeCodeExtraRemap.ts,claudeCodeToolRemapper.ts - Múnlú méarloirg Claude Code:
open-sse/services/claudeCodeFingerprint.ts - Doiléiriú Claude Code:
open-sse/services/claudeCodeObfuscation.ts
Le haghaidh an lámhleabhair iomláin ceilteachais agus treoir oibríochtúil, féach
docs/security/STEALTH_GUIDE.md.
H. Gréasáin, Taisce Réasúnaíochta, Taisce Léitheoireachta
- Gréasáin — seoladh amach le haghaidh imeachtaí soláthraí/cuntais/thasc.
- Seoltóir:
src/lib/webhookDispatcher.ts - Stóráil: tábla SQLite
webhooks(trísrc/lib/db/webhooks.ts) - Deais:
/dashboard/webhooks(síntiúis, rúin, stair athiarratais) - Le haghaidh tacsanomaíocht imeachtaí agus séimeantaic athiarratais, féach
docs/frameworks/WEBHOOKS.md.
- Seoltóir:
- Taisce Réasúnaíochta — bloic réasúnaíochta in-athsheinte do sholáthraithe a astaíonn
comharthaí smaointeoireachta (Claude, GLMT, etc.) ionas gur féidir le casadh as a chéile scipeáil ar ath-smaoineamh.
- Sraith DB:
src/lib/db/reasoningCache.ts - Sraith seirbhíse:
open-sse/services/reasoningCache.ts - Le haghaidh séimeantaic athsheinte, féach
docs/routing/REASONING_REPLAY.md.
- Sraith DB:
- Taisce Léitheoireachta — taisce freagraí gearrshaolach eochraithe ag síniú agus a úsáidtear chun
athiarratais chomhionanna a chomhbhrú ó SDKanna briste iartheachtacha.
- Sraith DB:
src/lib/db/readCache.ts - Críochphointe staitisticí:
GET /api/cache/stats, deais ag/dashboard/cache
- Sraith DB:
3) Ciseal Leanúnachais
Príomh-DB stáit (SQLite):
- Bonneagar lárnach:
src/lib/db/core.ts(better-sqlite3, imircigh, WAL) - Rochtain ar DB: iompórtáil modúil shonracha
src/lib/db/*go díreach (baineadh an sean-bharaillelocalDb.ts) - comhad:
${DATA_DIR}/storage.sqlite(nó$XDG_CONFIG_HOME/omniroute/storage.sqlitenuair atá sé socraithe, nó~/.omniroute/storage.sqlite) - eintitis (táblaí + ainmspásanna KV): providerConnections, providerNodes, modelAliases, combos, apiKeys, settings, pricing, customModels, proxyConfig, ipFilter, thinkingBudget, systemPrompt
Leanúnachas úsáide:
- éadan:
src/lib/usageDb.ts(modúil dhíchumtha isrc/lib/usage/*) - Táblaí SQLite i
storage.sqlite:usage_history,call_logs,proxy_logs - fanann comhaid roghnacha mar iarsmaí le haghaidh comhoiriúnachta/dífhabhtaithe (
${DATA_DIR}/log.txt,${DATA_DIR}/call_logs/,<repo>/logs/...) - aistrítear comhaid JSON seanré go SQLite trí imircigh ag an tosaithe nuair atá siad i láthair
DB stáit fearainn (SQLite):
src/lib/db/domainState.ts— oibríochtaí CRUD do staid an fhearainn- Táblaí (cruthaithe i
src/lib/db/core.ts):domain_fallback_chains,domain_budgets,domain_cost_history,domain_lockout_state,domain_circuit_breakers - Patrún taisce scríobh-trí: tá Mapaí i gcuimhne údarásach ag an am rite; scríobhtar mutáin go sioncrónach chuig SQLite; athchóirítear an staid ón DB ar thosú fuar
4) Údarú + Dromchlaí Slándála
- Údarú fianán an deais:
src/proxy.ts,src/app/api/auth/login/route.ts - Giniúint/fíorú eochracha API:
src/shared/utils/apiKey.ts - Rúin soláthróra a stóráiltear in iontrálacha
providerConnections - Tacaíocht proxy amach trí
open-sse/utils/proxyFetch.ts(athróga timpeallachta) agusopen-sse/utils/networkProxy.ts(in-chumraithe de réir soláthróra nó domhanda) - Garda SSRF / URL amach:
src/shared/network/outboundUrlGuard.ts— cuireann sé bac ar raonta príobháideacha/loopback/link-local do gach glao soláthróra - Bailíochtú env ag an am rite:
src/lib/env/runtimeEnv.ts— scéimre Zod do gach athróg timpeallachta, curtha i láthair mar earráidí/rabhaidh ag an tosaithe - Comharthaí sioncronaithe:
src/lib/db/syncTokens.ts— comharthaí scóipeáilte d'fhoircinn íoslódála bundail cumraíochta; tacaíonn tábla SQLitesync_tokensleo (imirce024_create_sync_tokens.sql) - Údarú handshake WebSocket:
src/lib/ws/handshake.ts— déanann sé bailíochtú ar iarratais uasghrádaithe WS trí eochair API nó fianán seisiúin
5) Sioncronú Scamaill
- Túsú sceidealóra:
src/lib/initCloudSync.ts,src/shared/services/initializeCloudSync.ts,src/shared/services/modelSyncScheduler.ts - Tasc tréimhsiúil:
src/shared/services/cloudSyncScheduler.ts - Tasc tréimhsiúil:
src/shared/services/modelSyncScheduler.ts - Ród rialaithe:
src/app/api/sync/cloud/route.ts
Saolré iarratais (/v1/chat/completions)
sequenceDiagram
autonumber
participant Client as CLI/SDK Client
participant Route as /api/v1/chat/completions
participant Chat as src/sse/handlers/chat
participant Core as open-sse/handlers/chatCore
participant Model as Model Resolver
participant Auth as Credential Selector
participant Exec as Provider Executor
participant Prov as Upstream Provider
participant Stream as Stream Translator
participant Usage as usageDb
Client->>Route: POST /v1/chat/completions
Route->>Chat: handleChat(request)
Chat->>Model: parse/resolve model or combo
alt Combo model
Chat->>Chat: iterate combo models (handleComboChat)
end
Chat->>Auth: getProviderCredentials(provider)
Auth-->>Chat: active account + tokens/api key
Chat->>Core: handleChatCore(body, modelInfo, credentials)
Core->>Core: detect source format
Core->>Core: translate request to target format
Core->>Exec: execute(provider, transformedBody)
Exec->>Prov: upstream API call
Prov-->>Exec: SSE/JSON response
Exec-->>Core: response + metadata
alt 401/403
Core->>Exec: refreshCredentials()
Exec-->>Core: updated tokens
Core->>Exec: retry request
end
Core->>Stream: translate/normalize stream to client format
Stream-->>Client: SSE chunks / JSON response
Stream->>Usage: extract usage + persist history/log
Combo + Sreabhadh Titim Siar Cuntais
flowchart TD
A[Teaghrán múnla ag teacht isteach] --> B{An ainm Combo é?}
B -- Sea --> C[Luchtaigh seicheamh múnlaí Combo]
B -- Ní hea --> D[Cosán múnla aonair]
C --> E[Bain triail as múnla N]
E --> F[Réitigh soláthraí/múnla]
D --> F
F --> G[Roghnaigh dintiúir chuntais]
G --> H{An bhfuil dintiúir ar fáil?}
H -- Ní hea --> I[Cuir ar ais soláthraí neamh-infhaighte]
H -- Sea --> J[Cuir iarratas i gcrích]
J --> K{Ar éirigh leis?}
K -- Sea --> L[Cuir ar ais freagra]
K -- Ní hea --> M{Earráid incháilithe do thitim siar?}
M -- Ní hea --> N[Cuir ar ais earráid]
M -- Sea --> O[Marcáil cuntas neamh-infhaighte ar fhuarú]
O --> P{An bhfuil cuntas eile don soláthraí?}
P -- Sea --> G
P -- Ní hea --> Q{An bhfuil sé i gCombo leis an gcéad mhúnla eile?}
Q -- Sea --> E
Q -- Ní hea --> R[Cuir ar ais gach rud neamh-infhaighte]
Tá cinntí titim siar á dtiomáint ag open-sse/services/accountFallback.ts ag úsáid cóid stádais agus heoristicí teachtaireachtaí earráide. Cuireann ródú Combo garda breise amháin leis: déileáiltear le 400anna scóipe soláthraí, ar nós teipeanna bloc-ábhair agus bailíochtaithe róil ón uasteorainn, mar theipeanna áitiúla mhúnla ionas gur féidir le spriocanna Combo níos déanaí rith fós.
Saolré OAuth ar Bord agus Athnuachan Comhartha
sequenceDiagram
autonumber
participant UI as Comhéadan Úsáideora Deais
participant OAuth as /api/oauth/[provider]/[action]
participant ProvAuth as Freastalaí Údaraithe Soláthraí
participant DB as localDb
participant Test as /api/providers/[id]/test
participant Exec as Forghníomhaí Soláthraí
UI->>OAuth: GET authorize nó device-code
OAuth->>ProvAuth: cruthaigh sreabhadh údaraithe/gléis
ProvAuth-->>OAuth: URL údaraithe nó pailléad cód gléis
OAuth-->>UI: sonraí sreafa
UI->>OAuth: POST exchange nó polláil
OAuth->>ProvAuth: malartú comhartha/polláil
ProvAuth-->>OAuth: comharthaí rochtana/athnuachana
OAuth->>DB: createProviderConnection(oauth data)
OAuth-->>UI: rath + id ceangail
UI->>Test: POST /api/providers/[id]/test
Test->>Exec: bailíochtaigh dintiúir / athnuachan roghnach
Exec-->>Test: faisnéis chomhartha bailí nó athnuachta
Test->>DB: nuashonraigh stádas/comharthaí/earráidí
Test-->>UI: toradh bailíochtaithe
Déantar athnuachan le linn tráchta bheo laistigh de open-sse/handlers/chatCore.ts trí fhorghníomhaí refreshCredentials().
Saolré Sioncronaithe Scamaill (Cumasaigh / Sioncronaigh / Díchumasaigh)
sequenceDiagram
autonumber
participant UI as Comhéadan Úsáideora Leathanach Críochphointe
participant Sync as /api/sync/cloud
participant DB as localDb
participant Cloud as Sioncronú Seachtrach Scamaill
participant Claude as ~/.claude/settings.json
UI->>Sync: POST action=enable
Sync->>DB: set cloudEnabled=true
Sync->>DB: cinntigh go bhfuil eochair API ann
Sync->>Cloud: POST /sync/{machineId} (soláthraithe/ailias/Combo/eochracha)
Cloud-->>Sync: toradh sioncronaithe
Sync->>Cloud: GET /{machineId}/v1/verify
Sync-->>UI: cumasaithe + stádas fíoraithe
UI->>Sync: POST action=sync
Sync->>Cloud: POST /sync/{machineId}
Cloud-->>Sync: sonraí cianda
Sync->>DB: nuashonraigh comharthaí/stádas áitiúla níos nuaí
Sync-->>UI: sioncronaithe
UI->>Sync: POST action=disable
Sync->>DB: set cloudEnabled=false
Sync->>Cloud: DELETE /sync/{machineId}
Sync->>Claude: athraigh ANTHROPIC_BASE_URL ar ais go háitiúil (más gá)
Sync-->>UI: díchumasaithe
Is é CloudSyncScheduler a spreagann sioncronú tréimhsiúil nuair a bhíonn an scamall cumasaithe.
Múnla Sonraí agus Léarscáil Stórais
erDiagram
SETTINGS ||--o{ PROVIDER_CONNECTION : controls
PROVIDER_NODE ||--o{ PROVIDER_CONNECTION : backs_compatible_provider
PROVIDER_CONNECTION ||--o{ USAGE_ENTRY : emits_usage
SETTINGS {
boolean cloudEnabled
number stickyRoundRobinLimit
boolean requireLogin
string password_hash
string fallbackStrategy
json rateLimitDefaults
json providerProfiles
}
PROVIDER_CONNECTION {
string id
string provider
string authType
string name
number priority
boolean isActive
string apiKey
string accessToken
string refreshToken
string expiresAt
string testStatus
string lastError
string rateLimitedUntil
json providerSpecificData
}
PROVIDER_NODE {
string id
string type
string name
string prefix
string apiType
string baseUrl
}
MODEL_ALIAS {
string alias
string targetModel
}
COMBO {
string id
string name
string[] models
}
API_KEY {
string id
string name
string key
string machineId
}
USAGE_ENTRY {
string provider
string model
number prompt_tokens
number completion_tokens
string connectionId
string timestamp
}
CUSTOM_MODEL {
string id
string name
string providerId
}
PROXY_CONFIG {
string global
json providers
}
IP_FILTER {
string mode
string[] allowlist
string[] blocklist
}
THINKING_BUDGET {
string mode
number customBudget
string effortLevel
}
SYSTEM_PROMPT {
boolean enabled
string prompt
string position
}
Comhaid stórais fhisiciúla:
- bunachar sonraí rith príomhúil:
${DATA_DIR}/storage.sqlite - línte logála iarratais:
${DATA_DIR}/log.txt(mír comhoiriúnachta/debug) - cartlannacha boscaí glaonna struchtúrtha:
${DATA_DIR}/call_logs/ - seisiúin déantafabhróra/iarratais roghnach:
<repo>/logs/...
Topalachta Imscaradh
flowchart LR
subgraph LocalHost[Óstach Forbróra]
CLI[Uirlisí CLI]
Browser[Brabhsálaí an Ionaid Rialaithe]
end
subgraph ContainerOrProcess[Rith OmniRoute]
Next[Freastalaí Next.js\nPORT=20128]
Core[Croí SSE + Feidhmitheoirí]
MainDB[(storage.sqlite)]
UsageDB[(táblaí úsáide + míreanna logála)]
end
subgraph External[Snaidhmeanna Seachtracha]
Providers[Soláthraithe AI]
SyncCloud[Snaidhm Sioncronú Scála]
end
CLI --> Next
Browser --> Next
Next --> Core
Next --> MainDB
Core --> MainDB
Core --> UsageDB
Core --> Providers
Next --> SyncCloud
Léarscáil Mhoideal (Ríthábhachtach don Chinnteoireacht)
Modúil Ródanna agus API
src/app/api/v1/*,src/app/api/v1beta/*: APIanna comhoiriúnachtasrc/app/api/v1/providers/[provider]/*: ródanna tiomnaithe soláthraí ar leith (comhrá, leabharthacha, grianghraif)src/app/api/providers*: CRUD soláthraí, bailíochtú, tástáilsrc/app/api/provider-nodes*: bainistíocht nóid chomhoiriúnacha saincheapthasrc/app/api/provider-models: bainistíocht múnlaí saincheaptha (CRUD)src/app/api/models/route.ts: API catalóg múnlaí (ailiasanna + múnlaí saincheaptha)src/app/api/oauth/*: sreafaí gléas-cód OAuthsrc/app/api/keys*: saolré eochracha API áitiúlasrc/app/api/models/alias: bainistíocht ailiasannasrc/app/api/combos*: bainistíocht meascán tarrthálasrc/app/api/pricing: rátaí praghsála ar chothabháil costaissrc/app/api/settings/proxy: cumraíocht seachthreoracha (GET/PUT/DELETE)- `src/app/api/settings/proxy/test**: tástáil nascacht seachthreorach amach (POST)
- `src/app/api/usage/***: APIanna úsáide agus logaí
src/app/api/sync/*+src/app/api/cloud/*: sioncronú scála agus cúntóirí scála- `src/app/api/cli-tools/***: scríbhneoirí/seiceálaithe cumraíochta CLI áitiúla
- `src/app/api/settings/ip-filter**: ceadliosta/éistliosta IP (GET/PUT)
- `src/app/api/settings/thinking-budget**: cumraíocht buiséad comharthaí smaointeoireachta (GET/PUT)
- `src/app/api/settings/system-prompt**: prontaimb sistéim domhanda (GET/PUT)
- `src/app/api/settings/compression**: socruithe comhbhrúite domhanda (GET/PUT)
- `src/app/api/compression/***: réamhamharc comhbhrúite, meiteashonraí rialacha, agus pacáistí teanga
- `src/app/api/context/caveman/config**: ailias socruithe Caveman (GET/PUT)
- `src/app/api/context/rtk/***: cumraíocht RTK, catalóg scagtha, críochphointe tástála, agus aisghabháil aschur amh
- `src/app/api/context/combos*/**: CRUD meascáin comhbhrúite agus sanntacha meascán ródála
- `src/app/api/context/analytics**: ailias anailísíochta comhbhrúite
- `src/app/api/sessions*: liostú seisiúin gníomhacha (GET)
- `src/app/api/rate-limits*: stádas teorainn ráta in aghaidh an chuntais (GET)
- `src/app/api/sync/tokens: CRUD comharthaí sioncronú (GET/POST)
- `src/app/api/sync/tokens/[id]: faigh/bain comharthaí sioncronú (GET/DELETE)
- `src/app/api/sync/bundle: íoslódáil pacáiste cumraíochta (GET, leagan ETag)
- `src/app/api/v1/ws**: láimhseálaí uasghrádú WebSocket do chliaint WS comhoiriúnach le OpenAI
Croí Ródála agus Feidhmithe
- `src/spe/handlers/chat.ts*: parsáil iarratais, láimhseáil meascáin, lúb roghnúcháin chuntais
- `open-sse/handlers/chatCore.ts*: aistriúchán, eadránaíocht feidhmitheora, láimhseáil athriú/athnua, socrú srutha
- `open-sse/executors/***: iompraíocht shonraíoch soláthraí agus formáid
Clárlann Aistriúcháin agus Tiontairí Formáide
- `open-sse/translator/index.ts*: clárlann agus coimeádánúchán aistritheora
- Aistritheoirí iarratais:
open-sse/translator/request/*(9 mhodúl —antigravity-to-openai,claude-to-gemini,claude-to-openai,gemini-to-openai,openai-responses,openai-to-claude,openai-to-cursor,openai-to-gemini,openai-to-kiro) - Aistritheoirí freagra:
open-sse/translator/response/*(11 mhodúl —claude-to-openai,cursor-to-openai,gemini-to-claude,gemini-to-openai,kiro-to-openai,openai-responses,openai-to-antigravity,openai-to-claude,openai-to-gemini,openai-to-gemini-sse,responsesToolItem) - Cúntóirí:
open-sse/translator/helpers/*(12 mhodúl —claudeHelper,geminiHelper,geminiToolsSanitizer,jsonUtil,markdownBoundary,maxTokensHelper,openaiHelper,responsesApiHelper,schemaCoercion,strictSystemHoist,toolCallHelper,toolCallShim) - Tairisíreachtaí formáide:
open-sse/translator/formats.ts - Tús-shocrú agus clárlann:
open-sse/translator/bootstrap.ts,open-sse/translator/registry.ts - Cúntóirí formáide grianghraif:
open-sse/translator/image/
Neartmhaireacht
- `src/lib/db/***: cumraíocht/stádas neartmhaire agus neartmhaire réimse ar SQLite
src/lib/db/***: iomportáil modúlanna ar leith go díreach — gan baraille (bhí an sean-chiseal ath-easpórtálalocalDb.ts` bainte)- `src/lib/usageDb.ts*: comhéadan stair úsáide/logaí glaonna ar bharr táblaí SQLite
Clúdach an Rithí Oibre Soláthraí (Deartha Strategaí)
Tá gach soláthraí ag baint úsáide as rithí oibre sainiúil a shíneann BaseExecutor (i open-sse/executors/base.ts), a sholáthraíóidh tógáil URL, tógáil ceannteidil, atreorú le hais dhromchla eisimeireacht, crochtaí athnuachan creidiúnaithe, agus an modh curadháin execute().
| Rithí Oibre | Soláthraí(í) | Próiseáil Sainiúil |
|---|---|---|
DefaultExecutor |
OpenAI, Claude, Gemini, Qwen, OpenRouter, GLM, Kimi, MiniMax, DeepSeek, Groq, xAI, Mistral, Perplexity, Together, Fireworks, Cerebras, Cohere, NVIDIA, srl. | Cumraíocht URL/ceannteidil dhinimiciúil in aghaidh an tSoláthraí |
AntigravityExecutor |
Google Antigravity | IDanna tionscadail/seisiún sainiúla, parsáil Retry-After, ceilte 429 |
AzureOpenAIExecutor |
Azure OpenAI | Ródáil bunaithe ar imscaradh, forfheidhmiú iarratais api-version |
BlackboxWebExecutor |
Blackbox AI (mód-gréasáin) | Aiseolas seisiúin ghréasáin le hiomhagáil marcóirí TLS |
ClaudeIdentityExecutor |
Claude.ai (cosán CCH) | Píobáiní srianta + athamharcála uirlisí, cruthú marcóirí |
CliProxyApiExecutor |
Soláthraíí comhoiriúnacha CLIProxyAPI | Próiseáil údaraithe agus phrótacail sainiúla |
CloudflareAiExecutor |
Cloudliste Workers AI | insteáiladh aitheantas cuntais, rianú úsáide bunaithe ar Neurons |
CodexExecutor |
OpenAI Codex | Insíonn treoracha an chórais, éilíonn iarracht réasúna |
ChatGptWebCodexExecutor |
ChatGPT Gréasáin (Codex) | Droichead Freagraí seisiúin bhrabhsálaí le piocadh snáithe/tuirlingt |
CommandCodeExecutor |
Command Code | OAuth + rothadh ceannteidil in aghaidh an tseisiúin |
CursorExecutor |
Cursor IDE | Prótacal ConnectRPC, urlabhra Protobuf, síníadh iarratais trí suime |
DevinCliExecutor |
Devin CLI | Tarrtháil timthriall tascanna Devin trí mhodúil ghníomhaire scamall |
GithubExecutor |
GitHub Copilot | Athnuachan comhartha Copilot, ceannteidil aithris VSCode |
GitlabExecutor |
GitLab Duo | OAuth GitLab + ródáil scóipe tionscadail |
GlmExecutor |
Z.AI GLM (lena n-áirítear réamhshocrú glmt) |
A dhéanamh ar bhuiséad smaoinimh, tairiscintí sainiúla GLMT |
GrokWebExecutor |
xAI Grok gréasáin | Aiseolas seisiúin ghréasáin, roghnú mód (smaoinimh/gnáth) |
KieExecutor |
KIE | Eisiúint comhartha sainiúil le ailt seisiúin Rothaíochta |
KiroExecutor |
AWS CodeWhisperer/Kiro | Formáid dhénártha AWS EventBoard → clárú SSE |
MuseSparkWebExecutor |
Muse Spark (gréasáin) | Aiseolas seisiúin ghréasáin le droichead teachtaireachtaí íomhá |
NlpCloudExecutor |
NLP Cloud | Cruth coirp iarratais ar son an tSoláthraí |
OpenCodeExecutor |
OpenCode | Suíomh soláthraí comhoiriúnach AI SDK |
PerplexityWebExecutor |
Perplexity gréasáin | Aiseolas seisiúin ghréasáin le haghaidh leanúint comhrá |
PetalsExecutor |
Inferred cumarsáidte Petals | Ródáil shoilse dílseálaithe |
PollinationsExecutor |
Pollinations AI | Níl eochair API ag teastáil, iarratais teoranta rátaí |
QoderExecutor |
Qoder AI | Tacaíocht PAT agus OAuth, leibhéal saor il-mhúnla |
VertexExecutor |
Google Vertex AI | Údarú cuntas seirbhíse, críochfoirt bunaithe ar réigiún |
DevinDesktopExecutor |
Devin Desktop | Eochair API iompórtála + sruthú comhrá ceangail-protobuf |
Baineann soláthraíí eile (lena n-áirítear nóid comhoiriúnacha sainiúla) leis an DefaultExecutor.
Maitrís Comhoibriúcháin Soláthraithe
Nóta: Tá an maitrís thíos ina sampla ionadaíoch de na 351 soláthraí cláraithe i OmniRoute v3.8.0. Le haghaidh an liosta bunaithe agus atá ag nuashonrú i gcónaí, féach ar
docs/reference/PROVIDER_REFERENCE.md(ghintear go huathoibríoch) nó an fhoinse fíor agsrc/shared/constants/providers.ts(deimhnithe ag Zod ag am lódála).
| Soláthraí | Formáid | Údarú | Sruth | Neamh-Sruth | Athnuachan Tokainn | API Úsáide |
|---|---|---|---|---|---|---|
| Claude | claude | Eochair API / OAuth | ✅ | ✅ | ✅ | ⚠️ Riarthóir amháin |
| Gemini | gemini | Eochair API / OAuth | ✅ | ✅ | ✅ | ⚠️ Consól Cloud |
| Antigravity | antigravity | OAuth | ✅ | ✅ | ✅ | ✅ API Cuóta iomlán |
| OpenAI | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Codex | openai-responses | OAuth | ✅ faoi mhóid | ❌ | ✅ | ✅ Teorainneacha ráta |
| ChatGPT Web (Codex) | openai-responses | Seisiún Brabhsálaí | ✅ faoi mhóid | ❌ | ❌ | ❌ |
| GitHub Copilot | openai | OAuth + Copilot Token | ✅ | ✅ | ✅ | ✅ Greim scáileáin cuóta |
| Cursor | cursor | Seic-shúm saincheaptha | ✅ | ✅ | ❌ | ❌ |
| Kiro | kiro | AWS SSO OIDC | ✅ (EventStream) | ❌ | ✅ | ✅ Teorainneacha úsáide |
| Qoder | openai | OAuth / PAT | ✅ | ✅ | ✅ | ⚠️ In aghaidh an iarratais |
| Kilo Code | openai | OAuth | ✅ | ✅ | ✅ | ❌ |
| Cline | openai | OAuth | ✅ | ✅ | ✅ | ❌ |
| Kimi Coding | openai | OAuth | ✅ | ✅ | ✅ | ❌ |
| OpenRouter | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| GLM/Kimi/MiniMax | claude | Eochair API | ✅ | ✅ | ❌ | ❌ |
| DeepSeek | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Groq | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| xAI (Grok) | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Mistral | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Perplexity | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Together AI | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Fireworks AI | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Cerebras | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Cohere | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| NVIDIA NIM | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Cloudflare AI | openai | Comhartha API + ID Cunta | ✅ | ✅ | ❌ | ❌ |
| Pollinations | openai | Níl (gan eochair) | ✅ | ✅ | ❌ | ❌ |
| Scaleway AI | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| LongCat | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Ollama Cloud | openai | Eochair API (roghnach) | ✅ | ✅ | ❌ | ❌ |
| HuggingFace | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Nebius | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| SiliconFlow | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Hyperbolic | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Vertex AI | gemini | Cuntas Seirbhíse | ✅ | ✅ | ✅ | ⚠️ Consól Cloud |
| Command Code | openai | OAuth | ✅ | ✅ | ✅ | ⚠️ In aghaidh an iarratais |
| Z.AI / GLM | openai | Eochair API / OAuth | ✅ | ✅ | ❌ | ❌ |
| GLMT (réamhshocrú) | claude | Eochair API | ✅ | ✅ | ❌ | ⚠️ In aghaidh an iarratais |
| Kimi Coding | openai | OAuth / Eochair API | ✅ | ✅ | ✅ | ❌ |
| KIE | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Devin Desktop | openai | Eochair API ionmhalta | ✅ (Taisc→SSE) | ✅ | ❌ | ⚠️ In aghaidh an iarratais |
| GitLab Duo | openai | OAuth (GitLab) | ✅ | ✅ | ✅ | ❌ |
| Devin CLI | openai | Logáil CLI áitiúil | ✅ | ✅ | ❌ | ✅ API Tascanna |
| Codex Cloud | openai-responses | OAuth | ✅ | ❌ | ✅ | ✅ Teorainneacha ráta |
| Jules | openai | OAuth | ✅ | ✅ | ✅ | ✅ API Tascanna |
| AgentRouter | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Grok-Web | openai | Cookie seisiúin | ✅ | ✅ | ❌ | ❌ |
| Perplexity-Web | openai | Cookie seisiúin | ✅ | ✅ | ❌ | ❌ |
| BlackBox-Web | openai | Cookie seisiúin + TLS | ✅ | ✅ | ❌ | ❌ |
| Muse-Spark-Web | openai | Cookie seisiúin | ✅ | ✅ | ❌ | ❌ |
| ModelScope | openai | Eochair API | ✅ | ✅ | ❌ | ⚠️ Polasaí cuóta |
| BazaarLink | openai | Eochair API | ✅ | ✅ | ❌ | ❌ |
| Petals | openai | Níl | ✅ | ✅ | ❌ | ❌ |
| Qoder | openai | OAuth / PAT | ✅ | ✅ | ✅ | ⚠️ In aghaidh an iarratais |
| OpenCode (Go/Zen) | openai | OAuth | ✅ | ✅ | ✅ | ❌ |
| CLIProxyAPI | openai | Saincheaptha | ✅ | ✅ | ❌ | ❌ |
Clúdach Formáid Aistriúcháin
Áirítear san fhoirmhíocht foinse teachta:
openaiopenai-responsesclaudegemini
Áirítear san fhoirmhíocht sprice:
- Comhrá/ freagraí OpenAI
- Claude
- Clúdach Gemini/Antigravity
- Kiro
- Cursor
Úsáidtear OpenAI mar an fhormhíocht lárnach san aistriúchán — téann gach comhshó tríd an OpenAI mar idirmheánach:
Foinse Formáid → OpenAI (lárnach) → Foinse Formáid
Roghnaítear na haistriúcháin go dinimiciúil bunaithe ar cruth an phacáiste foinse agus formáid an soláthraítaigh sprioc.
Próiseáil bhreise sna sraitheanna aistriúcháin:
- Sláintiú freagra — Baineann réimsí neamhchaighdeánacha ó fhreagraí formáide OpenAI (sruth agus neamhshruth) chun comhlíonadhLOS a chinntiú
- Normalú róil — Cumraítear
developer→systemdo spriocanna neamh-OpenAI; comhtháthaítearsystem→userdo mhúnlaí a dhiúltaíonn an ról córais (GLM, ERNIE) - Baintear amach clibeanna Think — Parsáiltear blúirí
...</think>as an tsubhstaigh i réimsereasoning_content - Aschur struchtúrtha — Cumraítear
response_format.json_schemaOpenAI go dtíresponseMimeType+responseSchemaGemini
Deireanna API Tacaíochta
| Deireadh | Formáid | Láimhseálaí |
|---|---|---|
POST /v1/chat/completions |
Comhrá OpenAI | src/sse/handlers/chat.ts |
POST /v1/messages |
Teachtaireachtaí Claude | An láimhseálaí céanna (go huathoibríoch aitheanta) |
POST /v1/responses |
Freagraí OpenAI | open-sse/handlers/responsesHandler.ts |
POST /v1/embeddings |
Leabú OpenAI | open-sse/handlers/embeddings.ts |
GET /v1/embeddings |
Liostáil múnlaí | API route |
POST /v1/images/generations |
Íomhánna OpenAI | open-sse/handlers/imageGeneration.ts |
GET /v1/images/generations |
Liostáil múnlaí | API route |
POST /v1/providers/{provider}/chat/completions |
Comhrá OpenAI | Speisialaithe de réir soláthraí le bailíocht múnla |
POST /v1/providers/{provider}/embeddings |
Leabú OpenAI | Speisialaithe de réir soláthraí le bailíocht múnla |
POST /v1/providers/{provider}/images/generations |
Íomhánna OpenAI | Speisialaithe de réir soláthraí le bailíocht múnla |
POST /v1/messages/count_tokens |
Comhaireamh comharthaí Claude | API route |
GET /v1/models |
Liosta múnlaí OpenAI | API route (comhrá + leabú + íomhá + múnlaí saincheaptha) |
GET /api/models/catalog |
Catalóg | Gach múnla grúpáilte de réir soláthraí + cineál |
POST /v1beta/models/*:streamGenerateContent |
native Gemini | API route |
GET/PUT/DELETE /api/settings/proxy |
Cumraíocht seachmhara | Cumraíocht seachmhara líonra |
POST /api/settings/proxy/test |
Inniúlacht seachmhara | Deireadh tástála sláinte/inniúlachta seachmhara |
GET/POST/DELETE /api/provider-models |
Múnlaí Soláthraí | Meitashonraí múnlaí soláthraí ag tacú le múnlaí saincheaptha agus bainistithe |
Seicheamh Téacsurtha
Cuireann an seicheamh téacsurtha (open-sse/utils/bypassHandler.ts) isteach ar iarratais "aisdhéanta" aitheanta ó Claude CLI — pingeacha teasa, díbhóilíteacha teidil, agus cuntais teidil — agus tugann sé freagra bréagach ar ais gan comharthaí soláthraí na bunlíne a chailladh. Seoltar é seo nuair a bhfuil User-Agent ag comhshóir claude-cli.
Logáil Iarratais agus Artailí
Coinnítear an logálaí iarratais bunaithe ar chomhad níos sine (open-sse/utils/requestLogger.ts) ach amháin le haghaidh comhoiriúnacht oidhreachta. Úsáidtear conradh reatha rith-seimhsí:
APP_LOG_TO_FILE=truele haghaidh loganna iarratais agus iniúchta scríofa faoi<repo>/logs/- Taifeadacha logála glaonna bunaithe SQLite i
call_logs - Artailí
${DATA_DIR}/call_logs/YYYY-MM-DD/...nuair a bhíonn an píobáin logála glaonna cumasaithe
Móid teipthe agus Sheasmhacht
1) Infhaighteacht Chuntais/Soláthraí
- fuaraithe ceangail ar theipeanna upstríme is ath-inniúil
- titim siar cuntas roimh theip iarratais
- titim siar samhail comhoibríoch nuair a bhíonn cosán samhail/soláthraí reatha críochnaithe
2) Imghabhaíocht Teidil
- seiceáil réamh-théacs agus athnuachan le hathchóiriú le haghaidh soláthraithe in-athnuachana
- 401/403 athchóiriú i ndiaidh iarracht athnuachan i bpríomh-chosán
3) Sábháilteacht Srutha
- rialtóir srutha atá ar an eolas faoi dhícheangal
- sruth aistriúcháin le fliuchadh deiridh-srutha agus láimhseáil
[DONE] - meastóireacht úsáide titim siar nuair a bhíonn meiteashonraí úsáide soláthraí in easnamh
4) Luascadh Sioncrónaithe Scamaigh
- taispeántar earráidí sioncronaithe ach leanann rith-seimhsí logánta ar aghaidh
- tá loighic athchóirithe ag an sceidealóir, ach déanann rith-seimhsí tréimhsithe go réamhshocraithe sioncronú iarrachta amháin a ghairm
6) Tomhsabhailta / Garda URL As-líne
src/shared/network/outboundUrlGuard.tscoinníonn gach URL sprice príobháideach/aslán/link-áitiúil sula sroicheann siad feidhmeannaigh soláthraí- Úsáideann bealaí aimsithe agus fíoraithe samhail soláthraí
src/shared/network/safeOutboundFetch.tsa chuireann an garda i bhfeidhm roimh gach iarratas as-líne - Tá earráidí garda le feiceáil mar
URL_GUARD_BLOCKEDle HTTP 422 agus logáiltear iad i gcosán iniúchta comhréireachta tríproviderAudit.ts
Inbhraiteacht agus Comharthaí Oibríochta
Foinsí infheictheachta rith-seimhsí:
- loganna consól ó
src/sse/utils/logger.ts - graim úsáide in-athraithe ag iarratas i SQLite (
usage_history,call_logs,proxy_logs) - ceithre chéim glacadh iomlán úsáide sonraí mionsonraithe i SQLite (
request_detail_logs) nuair a bhíonnsettings.detailed_logs_enabled=true - logáil stádais iarratais téacsúil i
log.txt(roghnach/comhoiriúnach) - comhaid logála iarratais roghnach faoi
logs/nuair a bhíonnAPP_LOG_TO_FILE=true - artailí iarratais roghnach faoi
${DATA_DIR}/call_logs/nuair a bhíonn an píobáin logála glaonna cumasaithe - pointí rochtana úsáide deasc-oibrithe (
/api/usage/*) le haghaidh tomhaltais an Chomhéadain
Stóráiltear glacadh iomlán úsáide sonraí iarratais mionsonraithe suas le ceithre chéim JSON iarratas gach glao treoraithe:
- iarratas amh a fuarthas ón chliaint
- iarratas aistrithe a seoladh i ndáiríre suas
- freagra soláthraí athchóirithe mar JSON; compactáiltear freagraí srutha go dtí an achoimre deiridh chomh maith le meiteashonraí srutha
- freagra deiridh chliaint a thugann OmniRoute ar ais; stóráiltear freagraí srutha san fhoirm achoimre chomhchruinnúcháin chéanna
Teorainneacha Íogaireachta Slándála
- Séalaithe JWT (
JWT_SECRET) a shábhálann fíorú/síniú fianáin seisiúin an deais - Príomhfhocal roghchlair tosaigh (
INITIAL_PASSWORD) ba cheart a chumrú go sainráite le haghaidh soláthair tosaigh - Rún HMAC eochair API (
API_KEY_SECRET) a shábhálann formáid eochair API áitiúil ghintear - Rúin soláthraithe (eochracha/ticéid API) a stóráiltear i mbun sonraí áitiúil agus ba cheart iad a chosaint ar an leibhéal comhad
- Criosanna comhtháthaithe scáileáin ag brath ar údarú eochair API + ciall aitheantais meaisín
Maitrís Timpeallachta agus Rithama
Athróga timpeallachta atá in úsáid gníomhach ag an gcód:
- App/údarú:
JWT_SECRET,INITIAL_PASSWORD - Stóráil:
DATA_DIR - Forfhógra stóráil roghnach (Linux/macOS nuair nach bhfuil
DATA_DIRsocraithe):XDG_CONFIG_HOME - Salún slándála:
API_KEY_SECRET,MACHINE_ID_SALT - Logáil:
APP_LOG_TO_FILE,APP_LOG_RETENTION_DAYS,CALL_LOG_RETENTION_DAYS - URLáil comhtháthaithe/scáileáin:
NEXT_PUBLIC_BASE_URL,NEXT_PUBLIC_CLOUD_URL - Seachthreoir as líne:
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY,NO_PROXYagus leaganacha cás-íoch - Bratacha gné SOCKS5:
ENABLE_SOCKS5_PROXY,NEXT_PUBLIC_ENABLE_SOCKS5_PROXY - Cúnóirí ardán/rithama (ní cumrú app sainiúil):
APPDATA,NODE_ENV,PORT,HOSTNAME
Nótaí Airgeadaíochta Aitheanta
- Tá
usageDbaguslocalDbag roinnt an pholasaí comhad bonn céanna (DATA_DIR->XDG_CONFIG_HOME/omniroute->~/.omniroute) le maoiniú comhad sean-nós. - Díleáigh
/api/v1/route.tschuig an tógálaí catalóige aonfhoirmeach a úsáidtear ag/api/v1/models(src/app/api/v1/models/catalog.ts) chun sruthántacht shéimeantach a sheachaint. - An logálaí iarratais scríobhann ceanntaca/coirp iomlán nuair atá sé cumasaithe; déan an fillteán logála a phéacadh mar íogaireacht.
- Braitheann iompar scáileáin ar
NEXT_PUBLIC_BASE_URLceart agus ar bhaintniúlacht críochphointí scáileáin. - Foilsítear an chomhadlann
open-sse/mar an pacáiste spás oibre npm@omniroute/open-sse. Forbraítear cód foinse tríd@omniroute/open-sse/...(réitithe agtranspilePackagesNext.js). Úsáideann cosáin chomhaid sa cháipéis seo fós an t-ainm comhadlannopen-sse/le haghaidh comhsheasmhachta. - Úsáideann na cairteacha sa deais Recharts (bonn SVG) le haghaidh taispeántais anailís inrochtana idirghníomhacha (chairteacha bá barr úsáide, táblaí briseadh síos soláthraí le rátaí rathúlachta).
- Úsáideann tástálacha E2E Playwright (
tests/e2e/), rite trínpm run test:e2e. Úsáideann tástálacha aonáin tiomnóir tástála Node.js (tests/unit/), rite trínpm run test:unit. Tá cód foinse faoisrc/i TypeScript (.ts/.tsx); fanann an spás oibreopen-sse/i JavaScript (.js). - Eagraítear an leathanach socruithe i 7 gcluaisín: Ginearálta, Cuma, AI, Slándála, Ródáil, Athléimneacht, Ardchéime. Ní chumraíonn an leathanach Athléimneacht ach qeue iarratais, fuarú ceangail, briseoir soláthraí, agus iompar fuaraithe; taispeántar stát rithama beo an bhriseora ar an leathanach Sláinte.
- Deiltar an straitéis Atráil Comhthéacs (
context-relay) thar dhá chiseal: cinneanncombo.tsan bhfuil aistarraingt le giniúint, déanannchat.tsan aistarraingt a insteartadh tar éis réiteach cuntais. Tá sonraí na haintarraingte i dtábla SQLitecontext_handoffs. Tá an scaradh seo intinnmhar mar ní thugann achchat.tsle fios an ndeachaigh an cuntas i bhfeidhm i ndáiríre. - Tá forfheidhmiú seachthreora anois cuimsitheach: réitíonn
tokenHealthCheck.tsseachthreoir in aghaidh an cheangail, úsáideann/api/providers/validaterunWithProxyContext, agus úsáideannproxyFetch.tsundici.fetch()chun comhoiriúnacht tiolacóra a choinneáil ar Node 22. - Braiththóir polasaí rithama Node.js: filleann
/api/settings/require-loginréimsínodeVersionagusnodeCompatible. Léiríonn an leathanach logála isteach mbann rabhaidh nuair a thiteann an rithama lasmuigh de na línte Node.js slándála tacaíochta.
Seicliosta Fíorú Oibriúcháin
- Tógáil ó fhoinse:
npm run build - Tógáil íomhá Docker:
docker build -t omniroute . - Tosú seirbhíse agus fíorú:
GET /api/settingsGET /api/v1/models- Ba cheart go mbeadh URL bonnlíne CLI mar
http://<host>:20128/v1nuair a bhíonnPORT=20128