# Environment Variables Reference (Yorùbá)
🌐 **Languages:** 🇺🇸 [English](../../../../reference/ENVIRONMENT.md) · 🇪🇹 [am](../../../am/docs/reference/ENVIRONMENT.md) · 🇸🇦 [ar](../../../ar/docs/reference/ENVIRONMENT.md) · 🇦🇿 [az](../../../az/docs/reference/ENVIRONMENT.md) · 🇧🇬 [bg](../../../bg/docs/reference/ENVIRONMENT.md) · 🇧🇩 [bn](../../../bn/docs/reference/ENVIRONMENT.md) · 🇧🇦 [bs](../../../bs/docs/reference/ENVIRONMENT.md) · 🇨🇿 [cs](../../../cs/docs/reference/ENVIRONMENT.md) · 🇩🇰 [da](../../../da/docs/reference/ENVIRONMENT.md) · 🇩🇪 [de](../../../de/docs/reference/ENVIRONMENT.md) · 🇬🇷 [el](../../../el/docs/reference/ENVIRONMENT.md) · 🇪🇸 [es](../../../es/docs/reference/ENVIRONMENT.md) · 🇪🇪 [et](../../../et/docs/reference/ENVIRONMENT.md) · 🇮🇷 [fa](../../../fa/docs/reference/ENVIRONMENT.md) · 🇫🇮 [fi](../../../fi/docs/reference/ENVIRONMENT.md) · 🇫🇷 [fr](../../../fr/docs/reference/ENVIRONMENT.md) · 🇮🇪 [ga](../../../ga/docs/reference/ENVIRONMENT.md) · 🇮🇳 [gu](../../../gu/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ha](../../../ha/docs/reference/ENVIRONMENT.md) · 🇮🇱 [he](../../../he/docs/reference/ENVIRONMENT.md) · 🇮🇳 [hi](../../../hi/docs/reference/ENVIRONMENT.md) · 🇭🇷 [hr](../../../hr/docs/reference/ENVIRONMENT.md) · 🇭🇺 [hu](../../../hu/docs/reference/ENVIRONMENT.md) · 🇦🇲 [hy](../../../hy/docs/reference/ENVIRONMENT.md) · 🇮🇩 [id](../../../id/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ig](../../../ig/docs/reference/ENVIRONMENT.md) · 🇮🇹 [it](../../../it/docs/reference/ENVIRONMENT.md) · 🇯🇵 [ja](../../../ja/docs/reference/ENVIRONMENT.md) · 🇬🇪 [ka](../../../ka/docs/reference/ENVIRONMENT.md) · 🇰🇭 [km](../../../km/docs/reference/ENVIRONMENT.md) · 🇮🇳 [kn](../../../kn/docs/reference/ENVIRONMENT.md) · 🇰🇷 [ko](../../../ko/docs/reference/ENVIRONMENT.md) · 🇱🇹 [lt](../../../lt/docs/reference/ENVIRONMENT.md) · 🇱🇻 [lv](../../../lv/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ml](../../../ml/docs/reference/ENVIRONMENT.md) · 🇮🇳 [mr](../../../mr/docs/reference/ENVIRONMENT.md) · 🇲🇾 [ms](../../../ms/docs/reference/ENVIRONMENT.md) · 🇲🇹 [mt](../../../mt/docs/reference/ENVIRONMENT.md) · 🇲🇲 [my](../../../my/docs/reference/ENVIRONMENT.md) · 🇳🇵 [ne](../../../ne/docs/reference/ENVIRONMENT.md) · 🇳🇱 [nl](../../../nl/docs/reference/ENVIRONMENT.md) · 🇳🇴 [no](../../../no/docs/reference/ENVIRONMENT.md) · 🇮🇳 [or](../../../or/docs/reference/ENVIRONMENT.md) · 🇮🇳 [pa](../../../pa/docs/reference/ENVIRONMENT.md) · 🇵🇭 [phi](../../../phi/docs/reference/ENVIRONMENT.md) · 🇵🇱 [pl](../../../pl/docs/reference/ENVIRONMENT.md) · 🇵🇹 [pt](../../../pt/docs/reference/ENVIRONMENT.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/reference/ENVIRONMENT.md) · 🇷🇴 [ro](../../../ro/docs/reference/ENVIRONMENT.md) · 🇷🇺 [ru](../../../ru/docs/reference/ENVIRONMENT.md) · 🇱🇰 [si](../../../si/docs/reference/ENVIRONMENT.md) · 🇸🇰 [sk](../../../sk/docs/reference/ENVIRONMENT.md) · 🇸🇮 [sl](../../../sl/docs/reference/ENVIRONMENT.md) · 🇷🇸 [sr](../../../sr/docs/reference/ENVIRONMENT.md) · 🇸🇪 [sv](../../../sv/docs/reference/ENVIRONMENT.md) · 🇰🇪 [sw](../../../sw/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ta](../../../ta/docs/reference/ENVIRONMENT.md) · 🇮🇳 [te](../../../te/docs/reference/ENVIRONMENT.md) · 🇹🇭 [th](../../../th/docs/reference/ENVIRONMENT.md) · 🇹🇷 [tr](../../../tr/docs/reference/ENVIRONMENT.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/reference/ENVIRONMENT.md) · 🇵🇰 [ur](../../../ur/docs/reference/ENVIRONMENT.md) · 🇺🇿 [uz](../../../uz/docs/reference/ENVIRONMENT.md) · 🇻🇳 [vi](../../../vi/docs/reference/ENVIRONMENT.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/reference/ENVIRONMENT.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/reference/ENVIRONMENT.md)
---
> Itọkasi pipe fun gbogbo oniyipada ayika ti a mọ nipasẹ OmniRoute. Fun awoṣe ibẹrẹ ni iyara, wo [`.env.example`](../../.env.example).
> [!IMPORTANT]
> Gbogbo oniyipada ti o ni akọsilẹ nibi gbọdọ tun han ni `.env.example`, ati gbogbo oniyipada ni `.env.example` gbọdọ han nibi. `npm run check:env-doc-sync` fi ipa mu eyi lori ṣiṣe ati ni CI. Lati fi oniyipada kan silẹ ni idi, ṣafikun si atokọ iyọọda inu `scripts/check/check-env-doc-sync.mjs`.
---
## Atọka akoonu
- [1. Asiri ti a beere](#1-required-secrets)
- [2. Ibi ipamọ & aaye data](#2-storage--database)
- [3. Nẹtiwọọki & Awọn ibudo](#3-network--ports)
- [4. Aabo & Ijeri](#4-security--authentication)
- [5. Input Sanitization & PII Idaabobo](#5-input-sanitization--pii-protection)
- [6. Irinṣẹ & Awọn ilana Ilana](#6-tool--routing-policies)
- [7. URLs & Awọsanma Sync](#7-urls--cloud-sync)
- [8. Aṣoju ti njade](#8-outbound-proxy)
- [9. CLI Ọpa Integration](#9-cli-tool-integration)
- [10. Ti abẹnu Aṣoju & MCP Integration](#10-internal-agent--mcp-integrations)
- [11. OAuth Awọn iwe-ẹri Olupese](#11-oauth-provider-credentials)
- [12. Olupese Olumulo-Aṣoju danu](#12-provider-user-agent-overrides)
- [13. CLI Fingerprint Ibamu](#13-cli-fingerprint-compatibility)
- [14. API Key Olupese](#14-api-key-providers)
- [15. Aago Eto](#15-timeout-settings)
- [16. Wọle](#16-logging)
- [17. Memory o dara ju](#17-memory-optimization)
- [18. Ifowoleri Sync](#18-pricing-sync)
- [19. Awoṣe Amuṣiṣẹpọ (Dev)](#19-model-sync-dev)
- [20. Eto Olupese-Pato](#20-provider-specific-settings)
- [21. Ilera aṣoju](#21-proxy-health)
- [22. N ṣatunṣe aṣiṣe](#22-debugging)
- [23. GitHub Integration](#23-github-integration)
- [24. Apoti Iyanrin ogbon (v3.8.0 +)](#24-skills-sandbox-v380)
- [27. Ifunni Radar (Alejo ti ara ẹni)](#27-radar-feed-self-hosting)
- [Awọn oju iṣẹlẹ imuṣiṣẹ](#deployment-scenarios)
- [Ayẹwo: Awọn iyipada ti yọ kuro / ku](#audit-removed--dead-variables)
---
## 1. Asiri ti a beere
Aṣiri aṣiri ti samisi** Bẹẹni** jẹ ipilẹṣẹ laifọwọyi lori ṣiṣe akọkọ (`JWT_SECRET`, `API_KEY_SECRET`) ati tẹsiwaju si `server.env` ninu iwe ilana data — ṣeto wọn ni gbangba nigbati itọsọna yẹn jẹ ephemeral. Iyatọ jẹ `OMNIROUTE_WS_BRIDGE_SECRET`: ko tẹsiwaju lati `server.env` — awọn aaye titẹsi olupin mint iye ephemeral fun bata bata nikan ni afara ilana le lo, nitorinaa awọn alabara afara ita nilo lati ṣeto ni gbangba.
| Ayípadà | Ti beere fun | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------- | -------------------- | ----------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `JWT_SECRET` | **Bẹẹni** | _(ko si)_ | `src/lib/auth` | Signs/verifies gbogbo kuki igba dasibodu (JWT). Ṣe ina pẹlu `openssl rand -base64 48`. |
| `API_KEY_SECRET` | **Bẹẹni** | _(ko si)_ | `src/lib/db/apiKeys.ts` | Bọtini fifi ẹnọ kọ nkan AES fun awọn iye bọtini API ni isinmi ni SQLite. Ṣẹda pẹlu `openssl rand -hex 32`. |
| `INITIAL_PASSWORD` | Rara | _(a ko ṣeto)_ | `src/lib/auth/managementPassword.ts` | Ṣeto ọrọ igbaniwọle dasibodu ni ibẹrẹ lakoko ti ko si ọkan ti o fipamọ sibẹsibẹ; bikita ni kete ti ọrọ igbaniwọle ti wa ni fipamọ. npm ati orisun fi sori ẹrọ daakọ `.env.example` si `.env`, nitorinaa wọn bẹrẹ pẹlu aaye ti o mọ ni gbangba `CHANGEME`: rọpo rẹ ṣaaju bata akọkọ, tabi ṣeto `INITIAL_PASSWORD=` (ofo) ni `.env` yẹn lati ṣẹda ọrọ igbaniwọle ni oluṣeto lori ọkọ ni ibẹwo akọkọ, gẹgẹbi iye aito (aiyipada aworan Docker ) ṣe. Yi ọrọ igbaniwọle ti o fipamọ pada ni Dashboard → Eto → Aabo, tabi ṣiṣe `omniroute reset-password` (`node bin/reset-password.mjs` ni ibi isanwo orisun) pẹlu `DATA_DIR` ṣeto si itọsọna data olupin naa. |
| `OMNIROUTE_WS_BRIDGE_SECRET` | **Bẹẹni** (igbejade) | _(a ko ṣeto)_ | `src/app/api/internal/codex-responses-ws/route.ts` | Pipin ikoko fun awọn ti abẹnu Codex Idahun WebSocket Afara. Jẹri awọn ibeere afara laarin Electron/browser WS relay ati OmniRoute. ⚠️**REQUIRED ni gbóògì — nigba ti unset, gbogbo WS ibeere afara ti wa ni kọ.** Ṣe ina pẹlu `openssl rand -base64 32`. |
| `OMNIROUTE_SW_BUILD_ID` | Rara | _(git SHA) _ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Id kaṣe-busting ti oṣiṣẹ ti o han gbangba fun ikarahun PWA (# 11779); akọkọ ni pq o ga. |
| `SOURCE_VERSION` | Rara | _(a ko ṣeto)_ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Keji ni pq — ṣeto nipasẹ PaaS ọmọle (eg Heroku-ara) bi awọn ransogun dá. |
| `NEXT_PUBLIC_SW_BUILD_ID` | Rara | _(ti ari)_ | `src/shared/components/PwaRegister.tsx` | Kọ-akoko àkọsílẹ iye ti ose nlo lati forukọsilẹ `/sw.js?v=…`; ti o wa lati awọn meji loke, lẹhinna git SHA. |
| `OMNIROUTE_PEER_STAMP_TOKEN` | Rara (laifọwọyi) | _(laifọwọyi fun bata) _ | `src/server/authz/policies/management.ts` | Aṣiri-ilana ti n ṣe afihan ontẹ ẹlẹgbẹ-IP ti o gbẹkẹle wa lati olupin HTTP ti OmniRoute ti ara rẹ (`scripts/dev/peer-stamp.mjs`). Awọn igbẹkẹle authz middleware beere agbegbe (loopback/LAN gating ti awọn ipa ọna LOCAL_ONLY ) nikan nigbati ontẹ ba gbe ami yii. Ipilẹṣẹ laifọwọyi bata — kọọkan ti a ko ṣeto; nikan PIN o fun olona-ilana setups ti o gbọdọ pin ontẹ. |
| `OMNIROUTE_TRUSTED_PROXIES` | Rara | _(a ko ṣeto)_ | `scripts/dev/peer-stamp.mjs` | IPs ti o ya sọtọ Comma tabi awọn sakani CIDR ti awọn aṣoju iyipada ti `X-Forwarded-For` / `X-Real-IP` atokọ IP allow/deny le gbagbọ, lori oke loopback, awọn adirẹsi nẹtiwọki aladani ati awọn egbegbe Cloudflare, eyiti o jẹ igbẹkẹle nigbagbogbo. Nilo nikan fun aṣoju lori eyikeyi adirẹsi gbogbo eniyan miiran; bibẹkọ ti awọn aṣoju ile ti ara adirẹsi ni ohun ti àlẹmọ awọn onidajọ. Awọn bọtini itọsi fun-onibara (`/api/v1/relay/chat/completions`) yii lori adirẹsi alabara ti o yanju kanna, rara lori gbigbe awọn akọle siwaju nikan. |
### Awọn aṣẹ iran
```bash
# Generate all four secrets at once:
echo "JWT_SECRET=$(openssl rand -base64 48)"
echo "API_KEY_SECRET=$(openssl rand -hex 32)"
echo "INITIAL_PASSWORD=$(openssl rand -base64 16)"
echo "OMNIROUTE_WS_BRIDGE_SECRET=$(openssl rand -base64 32)"
```
> [!CAUTION]
> Maṣe ṣe awọn faili `.env` pẹlu awọn aṣiri gidi si iṣakoso ẹya. `.gitignore` ti yọkuro `.env` tẹlẹ, ṣugbọn jẹri ṣaaju titari.
---
## 2. Ibi ipamọ & aaye data
OmniRoute**SQLite** (nipasẹ `better-sqlite3`) fun gbogbo itẹramọṣẹ. Awọn oniyipada wọnyi ṣakoso ipo data, fifi ẹnọ kọ nkan, ati igbesi aye.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------ | ----------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `DATA_DIR` | `~/.omniroute/` | `src/lib/db/core.ts` | Atọka gbongbo fun SQLite DB, awọn afẹyinti, ati awọn faili data. Daju fun awọn iwọn Docker tabi awọn ọna aṣa. |
| `OMNIROUTE_ALLOW_DEFAULT_DATA_DIR` | _(a ko ṣeto)_ | `src/lib/dataPaths.ts` | Sa niyeon fun test/eval DATA_DIR oluso (# 10428). Idanwo ati Node eval/print probes (`-e`/`--eval`/`-p`/`--print`, pẹlu `--eval=`/`--print=` fọọmu) pẹlu ko si `DATA_DIR` ti wa ni darí si a throwaway temp dir ki nwọn ko ba le ṣi awọn oniṣẹ gidi database; ṣeto si `1` lati jade pada si itọsọna gidi. |
| `OMNIROUTE_BUILD_SHA` | _(a ko ṣeto)_ | `src/lib/monitoring/buildSha.ts` | Git SHA ti artifact nṣiṣẹ. Ontẹ nipasẹ `npm run build:release`; injectable ninu awọn apoti ti o gbe lai si `dist/BUILD_SHA` sentinel. Dada bi `system.buildSha` lori `/api/monitoring/health`. |
| `OMNIROUTE_RELEASE_REF` | `origin/main` | `scripts/build/buildProvenance.ts` | Ref pack-artifact provenance ẹnu-ọna sọwedowo Kọ SHA lodi si (# 10427). |
| `OMNIROUTE_ALLOW_CANARY_BUILD` | _(a ko ṣeto)_ | `scripts/build/buildProvenance.ts` | Ṣeto si `1` lati gba iṣakojọpọ kikọ ti SHA ko si lori laini itusilẹ, ṣe igbasilẹ rẹ bi canary ti o mọọmọ dipo kiko ẹnu-bode (#10427). |
| `OMNIROUTE_SMOKE_API_KEY` | _(a ko ṣeto)_ | `scripts/ops/deploy-canary.mjs` | bọtini API fun canary-fi mu ẹfin ibere, rán bi `Authorization: Bearer` lori `/v1/chat/completions`. Nikan lo nipasẹ iwe afọwọkọ imuṣiṣẹ (#10429), kii ṣe nipasẹ olupin. Ko ni ibatan si awọn oniyipada `OMNIROUTE_SMOKE_*` ti ijade-inu CLI ẹfin ẹfin (`RUN_CLI_SMOKE=1`, `OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS` ni `tests/integration/upstream-cli-smoke.int.test.ts`) — wo [CLI Integrations → èéfín gidi](../guides/CLI-INTEGRATIONS.md). |
| `OMNIROUTE_BUILDING` | _(a ko ṣeto)_ | `src/lib/buildPhase.ts` | Kọ-alakoso ifihan agbara (# 10060): ṣeto si `1` nipa `scripts/build/build-next-isolated.mjs` ati ki o jogun nipa gbogbo spawned Kọ Osise ki awọn DB Layer pada a ko si-op stub dipo ti ikojọpọ awọn abinibi better-sqlite3 Addoni (eyi ti aborts osise lori ijade). Maṣe ṣeto fun olupin ti nṣiṣẹ. |
| `OMNIROUTE_SKIP_NATIVE_DEP_CHECK` | `0` | `scripts/check/check-native-deps.mjs` | Ṣeto si `1` lati fo iṣayẹwo iṣaju-igbẹkẹle abinibi yiyan fun awọn igi ti o taja nla. Eleyi ko ni ṣe a sonu gbára buildable; lo nikan nigbati awọn igbẹkẹle abinibi ti pese ni ita ẹgbẹ. |
| `OMNIROUTE_DATA_DIR` | _(a ko ṣeto)_ | `open-sse/executors/promptql/threadSticky.ts` | **Fallback inagijẹ** fun `DATA_DIR`, ṣayẹwo nikan nigbati `DATA_DIR` ko ṣeto. Ti a lo lati wa ibi-igbimọ PromptQL lori disiki o tẹle-alalepo igba kaṣe (`
/promptql-thread-sessions.json`); ti ko ba ṣeto var, kaṣe naa wa ni iranti nikan (ko duro kọja awọn atunbere). |
| `OMNIROUTE_PLUGINS_DIR` | _(a ko ṣeto)_ | `src/lib/plugins/scanner.ts` | Directory awọn** asiko isise itanna** ka — ati gbongbo oluṣakoso ohun itanna nfi sori ẹrọ si — ti o bori aiyipada ti arijade (#11827). Tọkasi si igi itanna ti a fi dipọ ni Docker/K8s dipo gbigbe HOME lati tun gbe ọna ọlọjẹ (HOME ṣe akoso gbogbo ihuwasi ibatan ile miiran paapaa). Unset = `~/.omniroute/plugins`, tabi `/tmp/.omniroute/plugins` nigbati ilana naa ko ṣe okeere si ile ni gbogbo — ti kii ṣe awari ipalọlọ yi oniyipada yọkuro. Ilana ti o yanju jẹ ibuwolu wọle lẹẹkan ni ibẹrẹ bi `scanner.dir_resolved` pẹlu titẹ sii ti o bori. Ẹgbẹ olupin nikan: awọn afikun aṣẹ CLI tọju `OMNIROUTE_PLUGIN_PATH` tiwọn (apakan 9). |
| `STORAGE_ENCRYPTION_KEY` | _(o ṣofo = alaabo)_ | `src/lib/db/encryption.ts` | bọtini AES fun fifi ẹnọ kọ nkan SQLite ni kikun ni isinmi. Ṣe ina pẹlu `openssl rand -hex 32`. |
| `STORAGE_ENCRYPTION_KEY_VERSION` | `v1` | `scripts/build/bootstrap-env.mjs`, `electron/main.js` | Aami ẹya fun bọtini fifi ẹnọ kọ nkan. Ilọsi nigbati o ba n ṣiṣẹ yiyi bọtini lati ṣe atilẹyin idinku awọn afẹyinti atijọ. |
| `DISABLE_SQLITE_AUTO_BACKUP` | `false` | `src/lib/db/backup.ts` | Nigba ti `true`, foo routine/pre-write SQLite faili awọn afẹyinti (models.dev pricing save/clear, awọn eto kọ). Afọwọṣe ati awọn iṣaju-pada sipo awọn afẹyinti ṣi ṣiṣẹ. O ṣe** kii ṣe** mu aworan ifaworanhan ailewu ti o tọ ti olusare iṣiwa ti o jẹ dandan tabi oluso ijira pupọ fun DB ti o tẹpẹlẹ tẹlẹ. Awọn afẹyinti ti kii ṣe afọwọṣe ni a fa si ni pupọ julọ lẹẹkan fun iṣẹju 60. Dasibodu** Eto → Ibi ipamọ** le mu afẹyinti aifọwọyi ṣiṣẹ ni ominira. |
| `OMNIROUTE_SQLITE_SLOW_MS` | _(unset/off)_ | `src/lib/db/adapters/slowDiagnostics.ts` | Miliseconds; iye ni isalẹ 1 tabi ti kii-nọmba duro pa; kilo ni pupọ julọ lẹẹkan fun 10s; laini log ni awakọ, iṣiṣẹ, ati elapsedMs nikan. |
| `OMNIROUTE_SQLITE_OPTIMIZE_ENABLED` | `true` | `src/lib/db/sqlitePlannerStats.ts` | Itọju awọn iṣiro oluṣeto abẹlẹ, ominira ti imuduro imuduro: iwe-itọju afọmọ akọkọ ṣiṣẹ (deede 30s lẹhin ibẹrẹ, lẹhin awọn iṣiwa) nṣiṣẹ `PRAGMA optimize=0x10002`; awọn igbasilẹ ti o tẹle ni gbogbo wakati 6 ṣiṣe `PRAGMA optimize` (tabi `PRAGMA optimize=0x00002` fun itupalẹ ailopin). `false` tabi `0` ṣe alaabo gbogbo itọju (aibikita ọran, gige gige funfun). Awọn apoti isura infomesonu iranti ati awọn ọna afẹyinti kika-nikan ko ni ipa. Awọn ikuna ti wa ni ibuwolu wọle, kii ṣe ju silẹ. |
| `OMNIROUTE_SQLITE_ANALYSIS_LIMIT` | `400` | `src/lib/db/sqlitePlannerStats.ts` | Ṣeto `PRAGMA analysis_limit` ṣaaju iṣapeye. Awọn odidi eleemewa ni a dimọ si [0, 100000]; awọn iye malformed/empty aiyipada si 400. `0` awọn ibeere ailopin, itupalẹ gangan ti awọn tabili ti a yan nipasẹ iṣapeye; Pass periodic clears SQLite's iṣapeye iṣapẹẹrẹ-fila bit lati bu ọla fun eyi. Ko si adaduro gbólóhùn onínọmbà SQL ti wa ni ṣiṣe. |
| `OMNIROUTE_CRYPT_KEY` | _(a ko ṣeto)_ | `src/lib/db/encryption.ts` | **Legacy inagijẹ** fun `STORAGE_ENCRYPTION_KEY`. Ti gba bi ipadasẹhin nigbati oniyipada akọkọ ko si. |
| `OMNIROUTE_API_KEY_BASE64` | _(a ko ṣeto)_ | `src/lib/db/encryption.ts` | **Legacy inagijẹ** (Base64-encoded fọọmu) gba bi a fallback. Yiyipada laifọwọyi ṣaaju lilo. |
| `OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS` | _(a ko ṣeto)_ | `src/lib/db/core.ts` | Pa aarin igba ayẹwo ilera SQLite kuro (ms). Nigba ti a ba ti ṣeto, awọn aiyipada yoo wa lati `NODE_ENV`. |
| `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS` | _(yiyọ)_ | `src/lib/db/walMaintenance.ts` | **Yiyọ kuro.** `wal_checkpoint(TRUNCATE)` ifiwe igbakọọkan le sọ maapu pinpin wal-index jẹ ki o ja ilana naa jẹ pẹlu SIGBUS (#13973), nitorinaa oluṣeto ko si mọ. Oniyipada naa jẹ inert: iye to daadaa ṣe igbasilẹ ikilọ idinku akoko-ọkan, lakoko ti `0` tabi aito yoo dakẹ. WAL naa jẹ itọju nipasẹ awọn aaye ayẹwo PASSIVE (isalẹ) ati gedu nipasẹ ibi ayẹwo titiipa. |
| `OMNIROUTE_WAL_PASSIVE_INTERVAL_MS` | `300000` (5m) | `src/lib/db/walMaintenance.ts` | Yipada si aarin `wal_checkpoint(PASSIVE)` loorekoore (ms). Ṣe idaduro awọn fireemu WAL kekere nitoribẹẹ awọn aaye ayẹwo wa ni iyara ati pe faili WAL naa duro ni didi laarin awọn ege tiipa. `0` mu ṣiṣẹ. |
| `OMNIROUTE_WAL_GUARD_MAX_MB` | `256` | `src/lib/db/walMaintenance.ts` | Nigbati ami PASSIVE kan ba ri faili WAL loke iwọn yii, ṣiṣe `wal_checkpoint(RESTART)` ki WAL bẹrẹ lai ṣe atunṣe wal-index ti ya aworan. Awọn aaye ayẹwo ipo truncate laaye ni a yọkuro (wo ila `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS` ). |
| `OMNIROUTE_PRESSURE_SELF_RESTART` | `false` | `open-sse/utils/resourcePressure.ts` | Ṣeto si `1`/`true`/`yes`/`on` lati jade ilana naa lẹhin titẹ awọn orisun to ṣe pataki ti wa ni idaduro fun `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS`, jẹ ki olubẹwo kan (eto `Restart=always` ti eto, Docker tun bẹrẹ eto imulo) mu ilana ti o mọ pada pada dipo ṣiṣe iranṣẹ 503s titilai. |
| `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS` | `120000` (2m) | `open-sse/utils/resourcePressure.ts` | Bawo ni titẹ pataki to ṣe pataki yẹ ki o tẹsiwaju ṣaaju ki ijade ti ara ẹni bẹrẹ ina. |
| `OMNIROUTE_PRESSURE_PSI_DISABLED` | `false` | `open-sse/utils/resourcePressurePolicy.ts` | Ṣeto si `1`/`true`/`yes`/`on` lati foju parẹ-ogun `/proc/pressure/memory` (`psi_some` / `psi_full`) nigbati aladuugbo alariwo ba rin irin-ajo 503s lakoko ti ilana yii dara (#13124). Ẹgbẹ ati awọn oluso òkiti V8 duro lori. PSI tun dẹkun kika bi ẹri kernel throttle fun `cgroup_high`: apapọ akojọpọ kan loke `memory.high` lẹhinna yipada ni pataki nikan lori ilosoke `memory.events` `high`/`max`. Laisi `memory.events` ipin aise ti wa ni ipamọ. |
| `OMNIROUTE_SQLJS_WASM_PATH` | _(Ṣawari-laifọwọyi)_ | `src/lib/db/adapters/sqljsAdapter.ts` | Ona ti o han gbangba (pipe tabi ojulumo si cwd) si `sql-wasm.wasm` nigba lilo `sql.js` WASM fallback ohun ti nmu badọgba. Awari-laifọwọyi nipasẹ awọn igbẹkẹle package ati awọn ipalemo oludije nigbati aito. |
| `OMNIROUTE_BATCH_RETENTION_DAYS` | `30` | `src/lib/db/cleanup.ts` | Awọn ọjọ ebute kan (completed/failed/cancelled/expired) Batch API awọn aaye ayẹwo iṣẹ, awọn faili input/output/error ti a tọka, ati ila ni a tọju nipasẹ gbigba afọmọ aifọwọyi ṣaaju piparẹ. Nikan gba ipa ni kete ti `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` ti wa ni titan; awọn ibaamu OpenAI ti ara Batch API window idaduro igbejade. Ko ni ipa lori ọna `DELETE /api/v1/batches/delete-completed` onišẹ ti nfa, eyiti o duro lainidi (ko si àlẹmọ ọjọ-ori) nipasẹ apẹrẹ. |
| `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` | `false` | `src/lib/db/cleanup.ts` | Nigba ti `true`, jẹ ki ifasilẹ aifọwọyi laifọwọyi pa awọn iṣẹ Batch API ebute (ati awọn aaye ayẹwo wọn) kọja `OMNIROUTE_BATCH_RETENTION_DAYS`, ki o si ko akoonu BLOB ti awọn faili ti o ti gbejade kọja `expires_at` tiwọn. Paa nipa aiyipada: gbogbo fifi sori ẹrọ ti o wa tẹlẹ n tọju data yii ni deede bi iṣaaju titi oniṣẹ ẹrọ yoo fi wọle. Bakannaa asia ẹya dashboard-editable — wo `docs/reference/FEATURE_FLAGS.md` → Runtime. |
| `OMNIROUTE_SKIP_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts`, `src/lib/db/healthCheck.ts` | Ṣeto si `1` lati foju sọwedowo ilera DB patapata ni ibẹrẹ. Wulo fun awọn iṣẹ ṣiṣe igba diẹ ati awọn idanwo isọpọ. |
| `OMNIROUTE_FORCE_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts` | Ṣeto si `1` lati fi ipa mu loop iṣayẹwo ilera DB lori, paapaa nigba ti yoo jẹ deede fo (fun apẹẹrẹ, awọn iṣẹ ṣiṣe igba diẹ). |
| `OMNIROUTE_SKIP_POSTINSTALL` | `0` | `scripts/postinstall.mjs` | Ṣeto si `1` lati fo igbona akoko-akoko abinibi lakoko `npm install`. Wulo ni awọn fifi sori ẹrọ CI/headless nibiti a ti kọ sqlite tẹlẹ. |
| `OMNIROUTE_MIGRATIONS_DIR` | _(Ṣawari-laifọwọyi)_ | `src/lib/db/migrationRunner.ts` | Daju liana ti olusare iṣiwa naa ṣayẹwo. Wulo nigbati o ba nfi awọn iṣipopo pọ si ni awọn itumọ aṣa. |
| `OMNIROUTE_EXTRA_MIGRATIONS_DIRS` | _(a ko ṣeto)_ | `src/lib/db/migrationRunner/extraDirs.ts` | Awọn ilana iṣilọ ni afikun bi awọn titẹ sii `namespace=dir` ti o yapa nipasẹ ọna ipa ọna pẹpẹ (fun apẹẹrẹ `ee=/opt/app/enterprise/db/migrations`). Awọn faili ti o rii nibẹ ti wa ni igbasilẹ bi `-`, nitorinaa pinpin gbigbe awọn ijira tirẹ ko kọlu pẹlu awọn iho nomba oke. Titẹwọle aiṣedeede, aaye orukọ ti ko tọ tabi itọsọna ti o padanu n jabọ ni ibẹrẹ dipo fifikọ silẹ ni ipalọlọ naa. |
| `OMNIROUTE_MAX_PENDING_MIGRATIONS` | `50` | `src/lib/db/migrationRunner.ts` | Ibi-iduro-ni isunmọtosi-iṣira ibi aabo (#3416). Bibẹrẹ aborts ti diẹ sii ju eyi ọpọlọpọ awọn ijira wa ni isunmọtosi lori DB ti o wa tẹlẹ (awọn olusona lodi si tabili ipasẹ parẹ). Gbe soke lati mu pada agbalagba afẹyinti; ṣeto si `0` lati mu ayẹwo. |
| `OMNIROUTE_INSTALL_UPGRADE_WORKDIR` | _(`/.install-upgrade`)_ | `scripts/check/check-install-upgrade.mjs` | Ilana iṣẹ fun ẹnu-ọna idasilẹ `check:install-upgrade`. O nilo aijọju 12 GB (meji ~ 3 GB fi sori ẹrọ igi pẹlu tarball), nitorina ko gbọdọ ṣiṣẹ lori tmpfs — kekere kan lori olusare ti ara ẹni `/tmp` jẹ tmpfs 12 GB Ramu ti o ṣe atilẹyin ati ẹnu-bode naa ti rẹ, gige package naa. |
| `OMNIROUTE_SPEND_FLUSH_INTERVAL_MS` | _(aiyipada ni koodu)_ | `src/lib/spend/batchWriter.ts` | Flush aarin (ms) fun awọn ipele spend/cost onkqwe. Isalẹ iye din kikọ coalescing; ti o ga iye din DB ariyanjiyan. |
| `OMNIROUTE_SPEND_MAX_BUFFER_SIZE` | _(aiyipada ni koodu)_ | `src/lib/spend/batchWriter.ts` | Awọn titẹ sii inawo ti o pọju ṣaaju ki o to fi agbara mu fifọ. Dide lori awọn imuṣiṣẹ giga-QPS; kekere nigbati iranti didi ṣe pataki diẹ sii. |
| `OMNIROUTE_PROXY_FETCH_DEBUG` | _(a ko ṣeto)_ | `open-sse/utils/proxyFetch.ts` | Ṣeto si `"true"` lati gbe awọn iwe yokokoro `[ProxyFetch]` jade lori ọna yiyi Vercel. Paa nipa aiyipada lati yago fun jijo ipa ọna. |
| `OMNIROUTE_PROXY_CORE_BINARY_PATH` | _(a ko ṣeto)_ | `src/lib/proxySubscription/coreConfig/sync.ts` | Ọna pipe ti alakomeji mojuto aṣoju aṣoju agbegbe (faili kan ti a npè ni `sing-box` / `mihomo`) ti o ṣayẹwo iṣeto ipilẹ ti ipilẹṣẹ ṣaaju ki o rọpo faili ti o gba. Unset kọ `.generated` lẹgbẹẹ faili ti o gba nikan. Ayika agbalejo nikan: ko tii fipamọ sinu aaye data tabi gba nipasẹ iṣakoso API, nitori alakomeji ti wa ni ṣiṣe. |
| `OMNIROUTE_PROXY_CORE_RELOAD_COMMAND` | _(a ko ṣeto)_ | `src/lib/proxySubscription/coreConfig/reload.ts` | Bawo ni mojuto aṣoju agbegbe ṣe tun gbejade lẹhin rirọpo atunto atunto kan: ariyanjiyan JSON kan nṣiṣẹ laisi ikarahun kan, tabi `external` gangan nigbati oluwoye ita ba lo faili naa. Maṣe fipamọ sinu ibi ipamọ data tabi farapa nipasẹ API. |
| `PROXY_LOG_INCLUDE_IPS` | `false` | `src/lib/proxyLogger.ts` | Ṣeto si `"true"` tabi `"1"` lati ṣafikun client/egress IPs ati ami-iṣaaju akọọlẹ ninu laini ilana ilana-ọrọ ọrọ-ọrọ `[ProxyEgress]`. Ti tọju OFF nipasẹ aiyipada ki akọọlẹ ilana naa ko jo IPs tabi ami-iṣaaju akọọlẹ naa. |
| `OMNIROUTE_DEBUG` | _(a ko ṣeto)_ | `bin/cli/commands/quota.mjs` | Ṣeto si `1` lati tẹ awọn iwadii akoko ibeere fun-kọọkan (`[omniroute] GET completed in Nms`) lati awọn pipaṣẹ ipin CLI si stderr. |
| `OMNIROUTE_HEALTHCHECK_PATH` | _(laifọwọyi)_ | `scripts/dev/healthcheck.mjs` | Ọna ti o fojuhan ti a ṣe ayẹwo nipasẹ ayẹwo ilera eiyan. Ti ko ṣeto, iwadii naa n gba lati `OMNIROUTE_BASE_PATH`; eto ti o jáde pada sinu jin monitoring endpoint. |
| `OMNIROUTE_DEBUG_COMPLETION` | _(a ko ṣeto)_ | `bin/cli/commands/completion.mjs` | Ṣeto si eyikeyi iye ti ko ṣofo lati gbe awọn iwadii `[omniroute completion]` jade lati awọn ọna kaṣe ikarahun-ipari CLI (read/refresh/write). Paa nipasẹ aiyipada — awọn cache yẹn kuna ni ipalọlọ nitorina kaṣe missing/corrupt ko ṣe adehun ipari-taabu rara. |
| `BATCH_RETRY_DURATION_MS` | `86400000` (wakati 24) | `open-sse/services/batchProcessor.ts` | Ferese atunwi ti o pọju fun awọn ohun ipele kọọkan (ms). Awọn nkan ti o kọja iye akoko yii jẹ samisi kuna. |
| `BATCH_BACKOFF_BASE_MS` | `5000` | `open-sse/services/batchProcessor.ts` | Idaduro ipilẹ (ms) fun ifẹhinti ipari lori awọn igbiyanju ohun elo ipele. |
| `BATCH_BACKOFF_MAX_MS` | `3600000` (1h) | `open-sse/services/batchProcessor.ts` | Fila (ms) fun ifẹhinti pẹlẹbẹ laarin awọn igbiyanju ohun elo ipele. |
| `BATCH_MAX_CONCURRENT` | `1` | `open-sse/services/batchProcessor.ts` | Nọmba ti o pọju ti awọn ipele ti ni ilọsiwaju ni igbakanna. Gbe soke lati mu losi; pa kekere lati yago fun oṣuwọn-iye iji. |
> [!IMPORTANT]
> Ṣaaju ki o to yi iyipada data ti o tẹpẹlẹ ti o wa tẹlẹ, olusare iṣiwa ṣe atẹjade pipe, aworan ti a koju akoonu labẹ `DATA_DIR/db_backups/`. Itẹjade nilo eto faili kan ti o ṣe atilẹyin eto-faili kanna, ko si awọn ọna asopọ lile atunkọ pẹlu amuṣiṣẹpọ faili ti o tọ. awọn ọmọ ogun POSIX tun nilo amuṣiṣẹpọ liana; lori Windows, Node le kọ awọn imudani liana, nitorina OmniRoute ṣan faili ti a tẹjade ati ṣe itọju amuṣiṣẹpọ-titẹsi liana bi igbiyanju ti o dara julọ. Ti `DATA_DIR` ti a gbe soke ko ba le pese awọn iṣeduro yẹn, ibẹrẹ kuna ni pipade ṣaaju lilo ijira kan. Gbe `DATA_DIR` lọ si iwọn didun pẹlu awọn alakoko yẹn; maṣe lo `DISABLE_SQLITE_AUTO_BACKUP` lati fori aabo ijira.
### Awọn oju iṣẹlẹ
| Oju iṣẹlẹ | Iṣeto ni |
| ----------------------- | --------------------------------------------------------------------------------------- |
| **Idagbasoke agbegbe** | Fi gbogbo awọn aiyipada silẹ. DB ngbe ni `~/.omniroute/omniroute.db`. |
| **Docker** | `DATA_DIR=/data` + gbe iwọn didun soke ni `/data`. |
| **Ti paroko ni isinmi** | Ṣeto `STORAGE_ENCRYPTION_KEY` + tọju awọn afẹyinti ti bọtini! Pipadanu o = padanu data. |
| **CI/Testing** | `DATA_DIR=/tmp/omniroute-test` — ephemeral, ko si fifi ẹnọ kọ nkan ti o nilo. |
---
## 3. Nẹtiwọọki & Awọn ibudo
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PORT` | `20128` | `src/lib/runtime/ports.ts` | Ibudo akọkọ fun Dashboard UI mejeeji ati awọn aaye ipari API (ipo ibudo ẹyọkan). |
| `OMNIROUTE_BASE_PATH` | _(gbongbo = ofo)_ | `next.config.mjs`, `scripts/docker/ensure-docker-base-path.mjs` | URL subpath fun sìn OmniRoute lẹhin aṣoju yiyipada (ṣeto Next.js `basePath`; awọn àtúnjúwe auth jẹ basePath-aware). Fun apẹẹrẹ `/omniroute`. Ni Docker iye ti wa ni ndin nigba `docker build` (`ARG OMNIROUTE_BASE_PATH`); Awọn aworan gbongbo ti a ti kọ tẹlẹ le lo iye akoko asiko ti o yatọ ni ẹẹkan ni eiyan bẹrẹ ṣaaju bata bata Next.js. Ṣeto `NEXT_PUBLIC_BASE_URL` si orisun ita gbangba pẹlu ipa ọna abẹlẹ kanna. |
| `NEXT_PUBLIC_OMNIROUTE_BASE_PATH` | _(gbongbo = ofo)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Digi ti o han ni aṣawakiri ti `OMNIROUTE_BASE_PATH`, inlined ni akoko kikọ nitoribẹẹ ifihan aaye ipari dasibodu fihan `https://host/omniroute/v1` dipo `https://host/v1`. Ṣubu pada si `OMNIROUTE_BASE_PATH` nigbati a ko ṣeto. Tunṣe lẹhin iyipada ( `basePath` to nbọ jẹ akoko kikọ). |
| `DASHBOARD_ALLOW_EMBED` | _(a ko ṣeto = kii ṣe framable)_ | `next.config.mjs`, `scripts/build/dashboardEmbed.mjs` | Jade iframe ifibọ ti awọn oju-iwe HTML. Ti ko ṣeto, gbogbo ipa ọna ọkọ `frame-ancestors 'none'` + `X-Frame-Options: DENY`. Ṣeto si `vscode` lati sin awọn oju-iwe naa (dasibodu, buwolu wọle, awọn iwe aṣẹ, ibalẹ) pẹlu `frame-ancestors 'self' vscode-webview:` ko si si `X-Frame-Options`, nitorinaa koodu VS Rrọrun aṣawakiri le fun wọn (ipo OmniCopilot's `dashboardOpen: "editor"` ). Dada API (`/api`, `/v1`, `/v1beta`, `/a2a`, `/healthz`, aliases ipele root ) tọju awọn akọle ti o muna ni ọna boya. `vscode` nikan ni a mọ — `1`/`true` ko mu ṣiṣẹ. Akoko Kọ: tun ṣe lẹhin iyipada (`docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode` fun awọn aworan; siseto lori fifi sori ẹrọ ti a ti kọ tẹlẹ ko ni ipa). |
| `API_PORT` | _(a ko ṣeto)_ | `src/lib/runtime/ports.ts` | Nigbati o ba ṣeto, ṣe iranṣẹ `/v1/*` aṣoju API (pẹlu Gemini-abinibi `/v1beta/*`) lori ibudo lọtọ yii. |
| `API_HOST` | `0.0.0.0` | `src/lib/runtime/ports.ts` | Di adirẹsi fun API ibudo. |
| `DASHBOARD_PORT` | _(a ko ṣeto)_ | `src/lib/runtime/ports.ts` | Nigbati o ba ṣeto, ṣe iranṣẹ Dashboard UI lori ibudo lọtọ yii. |
| `OMNI_MAX_CONCURRENT_CONNECTIONS` | `0` _(alaabo)_ | `src/sse/utils/backpressure.ts` | Awọn asopọ ibaraẹnisọrọ inu-ofurufu nigbakanna awọn fila; awọn ibeere lori fila gba `503` pẹlu `Retry-After`. Odidi odidi jẹ ki oluso; unset/`0` mu u. |
| `OMNIROUTE_INSTANCE_ID` | _(a ko ṣeto)_ | `src/shared/resilience/peerRouting.ts` | Idurosinsin, ID alailẹgbẹ fun ẹnu-ọna yii nigbati o ba n di awọn apẹẹrẹ OmniRoute. Ṣiṣe awọn sọwedowo-lupu ẹlẹgbẹ ti nwọle. Awọn lẹta ti a gba laaye: awọn lẹta, awọn nọmba, `.`, `_`, `:`, ati `-`; o pọju 64 ohun kikọ. |
| `OMNIROUTE_PEER_URLS` | _(a ko ṣeto)_ | `src/shared/resilience/peerRouting.ts`, `open-sse/executors/base.ts` | OmniRoute ipilẹ URLs ti o ya sọtọ ti o le gba `X-OmniRoute-Peer-Trace`. Nikan ni a gba laaye ni gbangba ni oke URLs gba metadata ẹlẹgbẹ; gbogbo awọn olupese miiran ko fọwọkan. |
| `OMNIROUTE_PEER_MAX_HOPS` | `4` | `src/shared/resilience/peerRouting.ts` | Nọmba ti o pọ julọ ti awọn apẹẹrẹ OmniRoute ti ṣabẹwo si iṣaaju ti gba lori ibeere ti a dè (`1`-`32`). Awọn iṣẹlẹ ti a tun sọ tabi isuna ti o rẹ pada HTTP `508 Loop Detected`. |
| `PROD_DASHBOARD_PORT` | `20130` | `docker-compose.prod.yml` | Ibudo atẹjade ẹgbẹ-ogun fun Dasibodu ni ipo iṣelọpọ Docker. |
| `PROD_API_PORT` | `20131` | `docker-compose.prod.yml` | Ibudo atẹjade ẹgbẹ-ogun fun API ni ipo iṣelọpọ Docker. |
| `OMNIROUTE_PORT` | _(a ko ṣeto)_ | `src/lib/runtime/ports.ts` | O gba iṣaaju lori `PORT` nigbati o nṣiṣẹ inu Electron tabi awọn ohun elo miiran. |
| `LIVE_WS_PORT` | `20129` | `src/server/ws/liveServer.ts` | Ibudo fun olupin ibojuwo ifiwe WebSocket gidi-akoko. |
| `LIVE_WS_HOST` | `127.0.0.1` | `src/server/ws/liveServer.ts` | Di adirẹsi fun ifiwe WebSocket olupin. Ṣeto si `0.0.0.0` lati fi han lori LAN (tun tunto `LIVE_WS_ALLOWED_ORIGINS`). Awọn isopọ jẹri pẹlu kuki igba dasibodu tabi bọtini API Bearer ti o di aaye iṣakoso kan mu (`manage`/`admin`). |
| `LIVE_WS_ALLOWED_ORIGINS` | _(a ko ṣeto)_ | `src/server/ws/liveServer.ts` | Awọn ipilẹṣẹ afikun-iyapa-koma gba laaye lati ṣii WebSocket laaye. Awọn ipilẹṣẹ dasibodu Loopback ti gba laaye tẹlẹ nipasẹ aiyipada. |
| `LIVE_WS_ALLOWED_HOSTS` | _(a ko ṣeto)_ | `src/server/ws/liveServerAllowList.ts` | Awọn orukọ agbalejo afikun-iyapa-koma gba laaye fun awọn ipilẹṣẹ WebSocket laaye. Ko dabi `LIVE_WS_ALLOWED_ORIGINS` (orisun URLs ni kikun), ibaamu nikan ni apa agbalejo — wulo fun awọn iṣeto LAN/Tailscale. |
| `NEXT_PUBLIC_LIVE_WS_PUBLIC_URL` | _(a ko ṣeto)_ | `src/hooks/useLiveDashboard.ts` | URL ti gbogbo eniyan fun dasibodu ifiwe WebSocket (agbegbe aṣawakiri). Ṣeto nigba iwaju olupin WS pẹlu aṣoju yiyipada tabi Eefin Cloudflare (fun apẹẹrẹ `wss://ws.my-ai.com/live-ws`); ẹrọ aṣawakiri naa sopọ nibẹ dipo `ws://hostname:20132`. Apa ipa ọna naa tun lo bi ọna igbesoke WebSocket (aiyipada: `/live-ws`). |
| `OMNIROUTE_ENABLE_LIVE_WS` | `true` | `src/server/ws/liveServer.ts` ati `scripts/start-ws-server.mjs` | Ṣeto si `0` tabi `false` lati mu olupin WebSocket gidi-gidi jẹ (ṣiṣẹ nipasẹ aiyipada, loopback-bound). CI/harness toggle ti o mu iwe afọwọkọ oluranlọwọ WebSocket laaye laaye. |
| `RELAY_IP_PER_MINUTE` | `30` | `src/app/api/v1/relay/chat/completions/route.ts` | Per- (tokini, IP) opin oṣuwọn yiyi, requests/minute. Ninu-iranti, fun apẹẹrẹ. `0` tabi odi pa ẹnu-ọna iwọn-IP (fun-àmi DB opin si tun kan). |
| `NODE_ENV` | `production` | Next.js mojuto | Ṣakoso ọrọ sisọ gedu, caching, ifihan alaye aṣiṣe, ati awọn iṣapeye Next.js. |
| `OMNIROUTE_USE_TURBOPACK` | _(ti ko ṣeto) _ (aṣayan kọ adaṣe adaṣe) | `scripts/build/build-next-isolated.mjs` | Fun `npm run build`, ṣiṣi silẹ tabi ofo yan apo wẹẹbu nigbati opin iranti to munadoko ( RAM ti ara tabi ipin cgroup/process isalẹ) wa ni pupọ julọ** 16 GiB** tabi ko le ṣe ipinnu lailewu; loke 16 GiB, Turbopack ti yan. Apopọ wẹẹbu ologun `0` ti o han gbangba; `1` ti o fojuhan ati awọn iye ti kii ṣe ofo miiran ipa Turbopack. Iye ayika ti o ṣofo ti a firanṣẹ siwaju nipasẹ Ṣajọ ṣe** kii ṣe** agbara Turbopack. Ibalẹ yii wa lati 15.6 GiB Kọ-iranti ipadasẹhin (# 18184); ogun kọ pẹlu 24/32 GiB won ko ala. Apopọ wẹẹbu iṣelọpọ laifọwọyi foju kaṣe itẹramọṣẹ rẹ nipasẹ aiyipada (wo `OMNIROUTE_WEBPACK_BUILD_CACHE` ni isalẹ; #18141) ati kọ pẹlu RSS tente ti o kere pupọ ju ọna Turbopack lọwọlọwọ lọ. Idagbasoke da duro awọn oniwe-tẹlẹ lapapo ihuwasi.**Docker ti kọ aiyipada tẹlẹ si `0` (packweb)** ; lo `--build-arg OMNIROUTE_USE_TURBOPACK=1` lati jade. Wo `docs/guides/DOCKER_GUIDE.md`. |
| `OMNIROUTE_WEBPACK_BUILD_CACHE` | _(a ko ṣeto)_ | `next.config.mjs` | Apopọ wẹẹbu n ṣe agbero (`OMNIROUTE_USE_TURBOPACK=0`) foo apo-iwe wẹẹbu itẹramọṣẹ kaṣe eto faili ayafi ti eyi jẹ `1`. Kikọ kaṣe yẹn ṣe afikun nipa 2.5 GB ti iranti itumọ ti tente oke ni 6144 MB okiti okiti, ati awọn ile mimọ ko ka pada. Ṣeto si `1` lati tọju `.build/next/cache/webpack` fun ṣiṣe atunṣe yiyara lori ẹrọ kan pẹlu RAM lati sa; Docker kọ gba bi `--build-arg OMNIROUTE_WEBPACK_BUILD_CACHE=1` (`Dockerfile` ati `Dockerfile.bun` awọn ipele ọmọle). |
| `OMNIROUTE_SKIP_DB_HEALTHCHECK` | _(a ko ṣeto)_ | `src/lib/db/core.ts` / `src/lib/db/healthCheck.ts` | Ṣeto si `1` lati fo SQLite iṣotitọ ilera ayẹwo ni ibẹrẹ. Wulo fun yiyara bata lori awọn apoti isura infomesonu nla. |
| `NOTIFY_SOCKET` | _(a ko ṣeto)_ | systemd (ilana sd_notify) | Ṣeto nipasẹ eto nigbati ilana naa ba ṣiṣẹ labẹ ẹyọ iṣẹ kan pẹlu iṣọpọ sd_notify; OmniRoute ka (wo `OMNIROUTE_DISABLE_SD_NOTIFY`) lati fi awọn iwifunni READY/WATCHDOG ranṣẹ. Maṣe ṣeto nipasẹ olumulo. |
| `OMNIROUTE_DISABLE_SD_NOTIFY` | _(a ko ṣeto)_ | `scripts/dev/systemd-notify.mjs` | Ṣeto si `1` lati mu systemd sd_notify (Iru = notify / WatchdogSec=) paapaa nigba ti o nṣiṣẹ labẹ ẹyọ ti eto. Awọn notifier ni a ko si-op ita systemd laiwo. |
| `CREDENTIAL_HEALTH_CHECK_INTERVAL` | `3600000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/scheduler.ts` | Àárín (ms) fún olùṣàyẹ̀wò ìṣàyẹ̀wò ìlera ẹ̀rí lẹ́yìn. Kere: 10000 (10s). |
| `CREDENTIAL_HEALTH_CACHE_TTL` | `300000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/cache.ts` | TTL (ms) fun ipo ilera ijẹrisi ti a fipamọ. |
| `OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK` | `false` | `src/lib/credentialHealth/scheduler.ts` | Ṣeto si `1` tabi `true` lati mu idanwo igbakọọkan lẹhin ti awọn asopọ olupese. Awọn olupese wiwa (SEARCH_VALIDATOR_CONFIGS ni `src/lib/providers/validation/searchProviders.ts`, fun apẹẹrẹ `tavily-search`) nigbagbogbo ni a yọkuro kuro ninu — gbigba “ifọwọsi” wọn jẹ ibeere ti o ni idiyele gidi, nitorinaa wọn kii ṣe ayẹwo ni ilera rara lori aago (#9970). |
| `DEEP_HEALTH_CHECK_ENABLED` | `0` | `src/app/api/monitoring/health/route.ts` | Ṣeto si `1` lati gba olupe ti o ni idaniloju lati beere `/api/monitoring/health?deep=1`, eyiti o ṣe ayẹwo oju-aye ti o pari ni ẹẹkan fun TTL. Awọn olupe alailorukọ ko ṣe okunfa iwadii naa. |
| `OMNIROUTE_EVENT_LOOP_STALL_THRESHOLD_MS` | `5000` | `src/lib/healthzLag.ts` | Iduro ẹnu-ọna (ms) fun gbigbasilẹ iṣẹlẹ-loop iṣẹlẹ: didi gun ju eyi ṣe igbasilẹ laini `event loop stalled` kan ni ibẹrẹ pẹlu iranti ati awọn iṣiro inu-ofurufu, o si fa `eventLoopStall` counter/maximum sori `/api/monitoring/health`. Ṣeto si `0` lati mu; iye ti a ko le ka tabi odi ṣubu pada si `5000`. |
| `HOST` | `0.0.0.0` | `scripts/dev/run-next.mjs` | Di adirẹsi fun Next.js dev/start olupin. Yiyipada `0.0.0.0` aiyipada nigbati o ba ṣeto. |
| `HOSTNAME` | `127.0.0.1` | `scripts/dev/run-next-playwright.mjs` | Adirẹsi dipọ ti olusare Playwright nlo nigbati o n ṣe ifilọlẹ Next.js. Aiyipada si `127.0.0.1` fun awọn idanwo hermetic.** Maṣe lo fun `omniroute serve`** — lo `OMNIROUTE_SERVER_HOST` dipo (POSIX shells auto-ṣeto `HOSTNAME` si orukọ ẹrọ; `.env` ko le yiju rẹ kuro). |
| `OMNIROUTE_SERVER_HOST` | `0.0.0.0` | `bin/cli/commands/serve.mjs` | Di adirẹsi fun `omniroute serve`. Yẹra fun ikọlu pẹlu oniyipada `HOSTNAME` ikarahun POSIX (ṣeto nigbagbogbo si orukọ ẹrọ nipasẹ bash/zsh). Ṣubu pada si `0.0.0.0` nigbati a ko ṣeto. (#6194) |
### Awọn ọna ibudo
```
┌─────────────────────────── Single Port (default) ──────────────────────────┐
│ PORT=20128 │
│ → Dashboard: http://localhost:20128 │
│ → API: http://localhost:20128/v1/chat/completions │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────── Split Ports ─────────────────────────────────────┐
│ DASHBOARD_PORT=20128 │
│ API_PORT=20129 │
│ API_HOST=0.0.0.0 │
│ → Dashboard: http://localhost:20128 │
│ → API: http://0.0.0.0:20129/v1/chat/completions │
│ Use case: Expose API to LAN while restricting Dashboard to localhost. │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────── Docker Production ──────────────────────────────┐
│ PROD_DASHBOARD_PORT=443 PROD_API_PORT=8443 │
│ → Maps container ports to host ports in docker-compose.prod.yml. │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 4. Aabo & Ijeri
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------- | ------------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MACHINE_ID_SALT` | `endpoint-proxy-salt` | `src/lib/auth` | Iyọ ni idapo pẹlu awọn idamọ ohun elo fun ika ika ẹrọ. Yi fun-imuṣiṣẹ fun ipinya. |
| `OMNIROUTE_CLI_SALT` | _(yọ = laileto fun fifi sori ẹrọ iyọ duro ni `/cli-token-salt.json`)_ | `src/lib/machineToken.ts` | iyọ HMAC fun jijade aami auth CLI agbegbe. Ṣiṣeto iye yii n yi gbogbo awọn ami CLI sori ẹrọ ati nigbagbogbo gba pataki lori iyọ ti o duro. Wo `docs/security/CLI_TOKEN.md`. |
| `AUTH_COOKIE_SECURE` | `false` | `src/lib/auth` | Ṣeto asia `Secure` sori awọn kuki igba.** Gbọdọ jẹ `true`** nigbati o nṣiṣẹ lẹhin HTTPS. |
| `REQUIRE_API_KEY` | `false` | API middleware | Nigbati `true`, gbogbo awọn ibeere aṣoju `/v1/*` gbọdọ ni bọtini API to wulo.** Asia yi ko bode `GET /v1/models`** , eyiti o tẹle ipo iduro iwọle dasibodu (`requireAuthForModels`) dipo — nitorinaa `401` lati `/v1/models` ṣe tumọ si itọkasi NOT ni aabo. Wo `docs/security/INFERENCE_AUTH_POSTURE.md` (#13695). Gba `true`, `1` tabi `yes`, aibikita ọran ati awọn aaye agbegbe; iye miiran (pẹlu `on`) wa ni pipa. |
| `ALLOW_API_KEY_REVEAL` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Faye gba ṣiṣafihan awọn iye bọtini API ni kikun ninu Dashboard UI. Configurable lati Awọn asia Ẹya Dasibodu; aabo ewu lori pín instances. |
| `NO_LOG_API_KEY_IDS` | _(sofo)_ | `src/lib/compliance/index.ts` | Bọtini API ti o ya sọtọ komama IDs ti o fori ibeere gedu (ibamu GDPR ). |
| `DEFAULT_RATE_LIMIT_PER_DAY` | _(Ailopin = aito)_ | `src/shared/utils/apiKeyPolicy.ts` | Isunwo ibeere fun ọjọ-ojo kan ti a lo si awọn bọtini API ti ọwọn `rate_limits` wọn jẹ asan. Ti ko ṣeto tabi ofo: ko si fila kan (#2289, #11017). `0` jẹ kanna (ailopin). Odidi N jẹ ki N/day, 5N/week, 20N/month. Awọn iye ti ko ṣofo ti o bajẹ ṣubu si ogún 1000/day, 5000/week, awọn window 20000/month. |
| `MAX_BODY_SIZE_BYTES` | `10485760` (10 MB) | `src/shared/middleware/bodySizeGuard.ts` | Aiyipada fun eto `maxBodySizeMb` ti o han; eto ti o fipamọ gba iṣaaju. `/api/v1/chat/completions` ati `/api/v1/responses` tọju aiyipada 50 MB titi di igba ti o ti fipamọ iye to; iye to fipamọ lẹhinna rọpo rẹ, oke tabi isalẹ, fun oluso akọsori ati fun gbigba bayte iwiregbe gangan bakanna. |
| `OMNIROUTE_CHAT_LARGE_BODY_BYTES` | `262144` (256 KB) | `src/shared/middleware/chatBodyAdmission.ts` | Awọn ara ibeere gangan ni tabi loke iloro yii gba ilana atomiki-igbanilaaye gbigba iwuwo iwuwo agbegbe ṣaaju sisọ JSON (ọna BYTE, pẹlu `POST /v1/responses`). Sa lọ ni ilera-headroom kanna [#10437](https://github.com/diegosouzapw/OmniRoute/pull/10437) bi igbekalẹ-eru; si tun didi nipasẹ `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / [#10110](https://github.com/diegosouzapw/OmniRoute/issues/10110) ki [#7849](https://github.com/diegosouzapw/OmniRoute/issues/7849) ko pada. |
| `OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES` | `52428800` (50 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Wiregbe-ona fila lile ti a fi agbara mu lodi si awọn baiti kika nigba didi didi, pẹlu awọn ibeere pẹlu sonu, invalid, tabi aiṣootọ `Content-Length`; excess gba `413`. `maxBodySizeMb` ti o fipamọ rọpo aiyipada 50 MB ; nigbati yi oniyipada ti ṣeto, o tun awọn bọtini ti o ti fipamọ iye. |
| `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` | _(yii ṣeto — ko si fila-ka ibeere)_ | `src/shared/middleware/chatBodyAdmission.ts` | **#503-fanout:** Ibeere-ipamọ-COUNT fila bayi di asopọ nikan nigbati o ba ṣeto ni gbangba. Ti a ko ṣeto ni osi (aiyipada), gbigba wọle iwiregbe iwuwo wuwo jẹ dipo nipasẹ `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` — isuna-isuna BYTE ti a mu ni adaṣe ti o ni iwọn lati aja iranti gidi ti ilana ni** ọkan ilana** (okiti V8 kan). Meji agbekọja ~ 750k-àmi `/v1/responses` abort ~ 12 Gi heaps (#7849) — a** iranti-isuna** ikilọ, kii ṣe ọja lile ti o pọju ti 2. Ilana ti o ni ilera (okiti ni isalẹ ipin ti o ta silẹ) MAY gba diẹ sii ni igbakanna gun `/v1/responses` nipasẹ `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM`. Awọn mewa ti awọn onibara SSE gigun (40–50) jẹ okiti + `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / #10110, kii ṣe “max 2”. Ni afọju igbega eyi lati “lo agbalejo” tun bẹrẹ #7849. Isodipupo** òkiti** pẹlu** N ominira `DATA_DIR` s** (#11024); kò `replicas>1` lori ọkan SQLite faili. |
| `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` | _(ti ari ni aladaaṣe)_ | `src/shared/middleware/admissionBudget.ts` | **#503-fanout:** idojuk fun idojukọ-ti ari ingest baiti isuna (25% ti awọn tighter V8/cgroup iranti aja pin nipa 8x tionkojalo ampilifaya). Ti ari ati awọn iye fojuhan dimole si 8 MiB–2 GiB. Ara ti o tobi ju isuna ti o munadoko lọ kuna lẹsẹkẹsẹ pẹlu `413 body_exceeds_budget`; ariyanjiyan laarin awọn ara ẹni kọọkan ti o le ṣe iṣẹ si wa tun le gbiyanju `503`. 40–50 awọn alabara SSE gigun nigbakanna jẹ opo + isuna yii, kii ṣe “max 2” lile. Ka `chatAdmission.maxInflightBytes` / `budgetSource` / `pressureSeverity` ni `/api/monitoring/health` ṣaaju iṣatunṣe. |
| `OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO` | `0.75` | `src/shared/middleware/chatBodyAdmission.ts` | Ìpín ìtalẹ̀ òkìtì (`heapUsed / heap_size_limit`) fún BYTE àti STRUCTURE gbígba ìwọ̀n òwú (#10183, #10268, #10437). Ibeere iwuwo iwuwo nigbakanna ti o kọja `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` ni a ta silẹ nikan pẹlu `503` ti a tun gbiyanju nigbati okiti naa ba jẹ ALSO ni tabi loke ipin yii; lori okiti ti o ni ilera o gba wọle nipasẹ yara-ile ilera dipo. |
| `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM` | `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` (aiyipada `1`) | `src/shared/middleware/chatBodyAdmission.ts` | Agbara afikun ti o ni opin fun ọna iyara-okiti ilera (#10437) lori** mejeeji** STRUCTURE ati BYTE (`admitChatRequest`, pẹlu awọn ara ≥ `OMNIROUTE_CHAT_LARGE_BODY_BYTES`). Laisi idii yii, gbogbo ibeere okiti ti o nšišẹ ṣugbọn-ilera ti kọja gbigba gbigba laisi aja. Ni kete ti ọpọlọpọ awọn iyalo nigbakanna ni o ṣiṣẹ nipasẹ ọna okiti ilera, awọn ibeere ti o nšišẹ siwaju ṣubu nipasẹ ọna SAME bounded-wait/shed ti a lo labẹ titẹ okiti gidi. `0` mu fori naa kuro patapata. |
| `OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT` | `200` | `src/shared/middleware/chatBodyAdmission.ts` | Nọmba ifiranṣẹ ti o ṣe iyasọtọ ibeere iwiregbe bi iwuwo paapaa nigbati ara rẹ wa ni isalẹ iloro baiti. |
| `OMNIROUTE_CHAT_HEAVY_TOOL_COUNT` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Nọmba irin-iṣẹ ti o ṣe iyasọtọ ibeere iwiregbe bi iwuwo paapaa nigbati ara rẹ wa labẹ iloro baiti. |
| `OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS` | `32000` | `src/shared/middleware/chatBodyAdmission.ts` | Konsafetifu okun-iwọn àmi ti siro ti o classified a ìbéèrè bi heavyweight; eyi jẹ aṣoju idiyele gbigba wọle, kii ṣe ami isanwo ìdíyelé olupese. |
| `OMNIROUTE_CHAT_HARD_MAX_MESSAGES` | `0` (alaabo) | `src/shared/middleware/chatBodyAdmission.ts` | Iyanu ijade-ni iwiregbe itan fila. Alaabo nipasẹ aiyipada: kika ifiranṣẹ jẹ eto imulo imuṣiṣẹ, kii ṣe ohun-ini gbogbo ti ibeere kan, ati fifẹ nibi kọ awọn ibaraẹnisọrọ pẹlu `413` ebute ṣaaju ki opo gigun ti funmorawon le jẹ ki wọn ṣee ṣe. Idagbasoke òkiti jẹ alaa nipasẹ `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` ati okiti-titẹ ta. Ṣeto iye to dara lori awọn imuṣiṣẹ ti o ni ihamọ iranti ti o nilo aja lile; excess lẹhinna gba iwapọ-ti beere `413` ti eleto. |
| `OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES` | `67108864` (64 MB) | `open-sse/handlers/chatCore/nonStreamingResponseBody.ts` | Fila lile fun idahun ti kii ṣe ṣiṣanwọle ti nwọle ni kikun sinu iranti. Ni iṣaaju eyi ti fagile oluka oke ati ibeere naa kuna ni iyara dipo ki o dagba okun ti ko ni opin titi ti okiti yoo fi rẹ. |
| `OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES` | `768` | `open-sse/handlers/chatCore/responseHeaders.ts` | Awọn baiti waya ti o pọju ti a firanṣẹ siwaju lati awọn akọle idahun ti oke. Nigbati isuna ba ti kọja, awọn akọle ti o ni pataki kekere (fun apẹẹrẹ, aṣa `x-codex-*`, `x-oai-request-id`) ti lọ silẹ lati duro laarin awọn opin agbesori-aṣoju ti o wọpọ. Ṣeto ti o ga julọ lati dari awọn metadata oke diẹ sii ni idiyele ti iwọn akọsori esi nla. |
| `OMNIROUTE_QUOTA_RECOVERY_MAX_PER_KEY` | `64` | `src/lib/quota/quotaSessionRecovery.ts` | Pupọ julọ awọn tikẹti igbapada (ni isunmọtosi, ṣiṣiṣẹ tabi nduro ìmúdájú) bọtini API kan le dimu. Ni kete ti bọtini kan ba wa ni opin, iyipada tuntun gba aṣiṣe ipin atilẹba dipo tikẹti `202` ; Tun gbiyanju ohun tẹlẹ gbesile Tan si tun da awọn oniwe-tiketi. Awọn iye ti ko tọ tabi ti kii ṣe rere lo aiyipada. |
| `CORS_ORIGIN` | _(a ko ṣeto)_ | `src/server/cors/origins.ts` | Legacy nikan-orisun CORS allowlist. Ṣe ayanfẹ `CORS_ALLOWED_ORIGINS` fun awọn imuṣiṣẹ tuntun. CORS jẹ nikan fun agbekọja-orisun API ibara; Dasibodu ti a fọwọsi kọwe lo awọn ibeere orisun-kanna pẹlu aabo CSRF igba-igba dipo. |
| `CORS_ALLOWED_ORIGINS` | _(a ko ṣeto)_ | `src/server/cors/origins.ts` | Koma-sọtọ CORS allowlist. Ko si kaadi iwifun ti a fi ranṣẹ ayafi ti `CORS_ALLOW_ALL=true` ti tunto ni gbangba. |
| `CORS_ALLOW_ALL` | `false` | `src/server/cors/origins.ts` | Idagbasoke-nikan ona abayo niyeon lati iwoyi eyikeyi aṣawakiri `Origin`. Ma ṣe mu ṣiṣẹ lori pinpin tabi awọn imuṣiṣẹ iṣelọpọ. |
| `OUTBOUND_SSRF_GUARD_ENABLED` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Legacy inagijẹ. Dasibodu rẹ toggle (a DB override) ti wa ni ka ṣaaju ki o to yi iye ayika; `false`, `0`, `no`, tabi `off` ni boya yi awọn agbalejo sọwedowo si pa awọn ọna `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true`, paapa nigbati ti Flag ká Dasibodu ti wa ni fipamọ ni pipa; awọn iye miiran lọ kuro ni ẹṣọ si awọn asia meji ni isalẹ. |
| `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS` | `false` | `src/shared/network/outboundUrlGuardPolicy.ts` | Pa awọn sọwedowo oluso URL ti o njade lo, bulọki-metadata awọsanma ti o wa pẹlu (gbogbo 169.254.0.0/16, metadata.google.internal), lori awọn ọna olupese ti o tẹle ipo ẹṣọ: afọwọsi URL, iṣawari awoṣe, olupese-node mimọ URLs (pẹlu awọn apa rerank isakoṣo latọna jijin), ati idanwo aṣoju-fallback, laarin awọn olupese miiran ti o wa nitosi ọna ti image/media wa nitosi. O tun ngbanilaaye awọn ibi-afẹde webhook ikọkọ, ayafi awọn aaye ipari cloud-metadata/link-local, eyiti o duro dina paapaa pẹlu asia yii lori. Awọn ibeere iwiregbe ti a firanṣẹ nipasẹ `BaseExecutor.execute()` tọju ayẹwo-metadata awọsanma wọn. Awọn olupese agbegbe n ṣiṣẹ pẹlu awọn aṣiṣe: `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` (aiyipada `true`) tẹlẹ gba agbegbe ati LAN URLs laaye lori afọwọsi, iṣawari, ati awọn ipa ọna olupese-node; idanwo aṣoju-fallback ati awọn ibi-afẹde webhook aladani kan ṣagbero asia yii nikan ki o si di awọn ogun local/LAN duro lakoko ti o wa ni pipa. Yiyọ kuro `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS=false`. Iye kan ti o fipamọ lati toggle dasibodu gba iṣaaju lori oniyipada yii. |
| `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Gba URLs olupese laaye lori awọn adirẹsi local/private (127.0.0.1, localhost, LAN, awọn sakani ikọkọ) fun ijẹrisi olupese, iṣawari awoṣe, iwiregbe, ati awọn ọna itagbangba ti olupese miiran ti o wa nitosi ipo iṣọ n ṣakoso.** aiyipada `true`** (agbegbe-akọkọ): oluṣọ lẹhinna ṣe idinamọ awọn aaye ipari-metadata awọsanma — gbogbo 169.254.0.0/16 pẹlu awọn orukọ ogun ti metadata ti a mọ (metadata.google.internal, metadata.goog, Alibaba/Azure/Oracle IMDS, fd00:ec2::254). Ṣeto `false` fun ipo gbogbogbo-nikan, eyiti o ṣe idiwọ ikọkọ ati awọn agbalejo loopback paapaa. Ẹṣọ naa ṣayẹwo orukọ olupin tabi IP gangan gẹgẹbi a ti kọ, ṣaaju wiwa DNS eyikeyi; ni ipo gbangba-nikan ohun ipari-ailewu ni afikun tun ṣe ipinnu orukọ olupin ati kọ eyikeyi idahun ikọkọ. `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true` yi awọn sọwedowo wọnyi kuro lori awọn ọna awọn atokọ ila rẹ. Awọn olupese agbegbe ti a ṣe sinu, gẹgẹbi LM Studio, Ollama, vLLM, Llamafile, ati Triton, fo gbogbo awọn sọwedowo agbalejo fun afọwọsi bọtini ati iwiregbe. Iye kan ti o fipamọ lati toggle dasibodu gba iṣaaju lori oniyipada yii. (#5066) |
| `AUDIO_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/audioProviderNodes.ts` | Jẹ ki awọn ipa ọna `/v1/audio/*` (awọn iwe afọwọkọ, ọrọ sisọ, awọn itumọ) lo oju ipade olupese ibaramu OpenAI ti a gbalejo ni ita localhost. Paa nipasẹ aiyipada — ohun afetigbọ si agbalejo latọna jijin ṣe iyipada idanimọ egress ati pe o gbọdọ jẹ ipinnu onišẹ fojuhan. Loopback/private nodes (localhost, 127.0.0.1, 172.16-31.x) ti wa ni nigbagbogbo laaye ati ki o ko ni ipa. (#3963) |
| `RERANK_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/rerankProviderNodes.ts` | Jẹ ki `POST /v1/rerank` (ati iṣipopada loopback ti ẹrọ iranti) lo oju ipade olupese ibaramu OpenAI ti a gbalejo ni ita localhost — apoti LAN tabi Tailscale ẹlẹgbẹ nṣiṣẹ TEI, Infinity, vLLM, bbl Pa a nipasẹ aiyipada — afisona si agbalejo latọna jijin yi idanimọ egress ati pe o gbọdọ jẹ ipinnu onišẹ fojuhan. Awọn apa Loopback (localhost, 127.0.0.1, 172.16-31.x) nigbagbogbo gba laaye ati ti ko ni ipa. Ipilẹ node latọna jijin URL gbọdọ tun kọja eto imulo URL ti olupese ti njade (`OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` / `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS`). |
| `OMNIROUTE_LOCAL_PROVIDER_NODE_HOSTS` | _(sofo)_ | `src/shared/network/localNodeHosts.ts` | Awọn orukọ igbalejo (koma tabi aaye funfun ti a yapa) awọn itọju ipa ọna olupese bi — agbegbe ni igbagbogbo orukọ iṣẹ Docker/Compose ti reranker, TEI tabi sidecar ohun lori OmniRoute ti ara Docker nẹtiwọki (`http://reranker:8080/v1`), nitorina node ko nilo apoti ti o ni koodu IP. Awọn ogun ti a ṣe akojọ ni ẹtọ fun `/v1/rerank`, `/v1/audio/*` ati ayẹwo ilera agbegbe laisi titan `RERANK_REMOTE_PROVIDER_NODES` / `AUDIO_REMOTE_PROVIDER_NODES` fun gbogbo oju ipade jijin, ati pe wọn pe ni — taara lai ṣe nipasẹ `HTTP(S)_PROXY` tabi aṣoju asopọ asopọ. Wọn tun fi bọtini API asopọ ranṣẹ. Awọn orukọ aami ẹyọkan ati awọn orukọ `.internal`/`.local` ni a gba; FQDNs ti gbogbo eniyan, awọn ọrọ gangan IP ati awọn orukọ-metadata awọsanma jẹ aibikita pẹlu ikilọ kan. (#14635) |
| `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | Nigbati OIDC ba ti ṣiṣẹ, mu iwọle iwọle si ọrọ igbaniwọle jẹ ki awọn olumulo le jẹri nipasẹ OIDC Nikan Wọle Kan. Awọn inagijẹ inagijẹ `OIDC_DISABLE_PASSWORD_LOGIN` tun gba; Flag Ẹya Dasibodu ti bọtini kanna gba iṣaaju. (#10889) |
| `OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | Igboro inagijẹ ti `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` (#10889). |
| `OMNIROUTE_DISABLE_MFA` | `false` | `src/server/auth/dashboardMfa.ts` | Imularada-ẹrọ ti o padanu fun dasibodu ijade TOTP iwọle ifosiwewe meji. Nigba ti `true`, awọn keji ifosiwewe wa ni skipped nikan fun a wọle lati awọn ogun ara (loopback ẹlẹgbẹ ati loopback `Host`); awọn ibuwọlu latọna jijin ati `POST /api/cli/connect` lati awọn orisun miiran ṣi nilo koodu naa. Wọle ni agbegbe, mu ifosiwewe meji ṣiṣẹ labẹ Eto → Aabo (koodu le jẹ osi ni ofifo lakoko ti o ti ṣeto eyi, nitorinaa ifosiwewe ti ko jẹrisi mọ le yọkuro; ọrọ igbaniwọle tun nilo), lẹhinna mu u ṣeto. TOTP ni wiwa wiwọle ọrọigbaniwọle ati `omniroute connect` nikan — OIDC/SSO iwọle da lori ifosiwewe keji ti olupese idanimo. Wo [AUTHZ_GUIDE](../architecture/AUTHZ_GUIDE.md#optional-totp-two-factor-login-16619). |
### Lile Atokọ
```bash
# Production security minimum:
AUTH_COOKIE_SECURE=true # Requires HTTPS
REQUIRE_API_KEY=true # Authenticate all proxy calls
ALLOW_API_KEY_REVEAL=false # Never expose keys in UI
CORS_ALLOWED_ORIGINS=https://your.domain.com
MAX_BODY_SIZE_BYTES=5242880 # 5 MB limit
```
---
## 5. Input Sanitization & PII Idaabobo
OmniRoute n pese aabo Layer-meji: Ṣiṣayẹwo abẹrẹ ẹgbẹ-ibeere ati yiyọ PII apa esi.
> **Awọn idiwọn ⚠️ :** Awọn ọna ẹṣọ wọnyi jẹ awọn awari _best-akitiyan heuristic_, kii ṣe ogiriina abẹrẹ pipe tabi eto PII DLP. Wọn le ṣe agbejade awọn idaniloju eke (awọn itọsi persona/RPG ko dara) ati awọn odi eke (leetspeak, aye, awọn ilana ti kii ṣe Gẹẹsi). Wọn ko to nikan fun ibamu. Tun awọn ipo pada ki o ṣe idanwo lodi si ijabọ rẹ ṣaaju gbigbekele wọn.
### Ibeere-ẹgbẹ: Ẹṣọ abẹrẹ kiakia
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| --------------------------------- | ------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `INPUT_SANITIZER_ENABLED` | `true` | `src/middleware/promptInjectionGuard.ts` | Jeki wíwo awọn ifiranṣẹ ti nwọle fun awọn ilana abẹrẹ kiakia. |
| `INPUT_SANITIZER_MODE` | `warn` | `src/middleware/promptInjectionGuard.ts` | Ilana abẹrẹ: `warn` = log nikan, `block` = kọ ibeere pẹlu 400. Legacy `redact` ṣe** kii ṣe** ọrọ abẹrẹ rinhoho; lo `PII_REDACTION_ENABLED` fun ìbéèrè PII atunkọ. |
| `INJECTION_GUARD_MODE` | _(a ko ṣeto)_ | `src/middleware/promptInjectionGuard.ts` | Legacy inagijẹ fun `INPUT_SANITIZER_MODE` — iwa kanna. |
| `INPUT_SANITIZER_BLOCK_THRESHOLD` | `high` | `src/shared/utils/injectionSeverity.ts` | Iyatọ ti o kere julọ ti `MODE=block` kọ: `high` (aiyipada), `medium`, tabi `low`. Awọn awoṣe alabọde jẹ akiyesi-nikan ayafi ti o ba lọ silẹ. |
| `INJECTION_GUARD_BLOCK_THRESHOLD` | _(a ko ṣeto)_ | `src/shared/utils/injectionSeverity.ts` | Legacy inagijẹ fun `INPUT_SANITIZER_BLOCK_THRESHOLD` — iwa kanna. |
| `PII_REDACTION_ENABLED` | `false` | `src/lib/guardrails/piiMasker.ts` | Nigbati `true`, ṣe atunṣe PII ni awọn ibeere ti nwọle (laisi ipo abẹrẹ). |
| `CREDENTIAL_REDACTION_ENABLED` | `false` | `src/lib/guardrails/credentialMasker.ts` | Ṣe atunṣe awọn ilana API-bọtini / aṣiri ti a mọ daradara lati awọn ẹru isanwo request/response. Jade-ni; awọn digi `PII_REDACTION_ENABLED`. |
### Idahun-Ẹgbẹ: PII Sanitizer
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| -------------------------------- | -------- | ------------------------- | ------------------------------------------------------------------------- |
| `PII_RESPONSE_SANITIZATION` | `false` | `src/lib/piiSanitizer.ts` | Ṣe ayẹwo awọn idahun LLM fun PII ti o jo ṣaaju ki o to pada si alabara. |
| `PII_RESPONSE_SANITIZATION_MODE` | `redact` | `src/lib/piiSanitizer.ts` | `redact` = mask PII, log `warn` = nikan, `block` = ju gbogbo idahun silẹ. |
### VS Code Tokenized-Route Context Sanitizer
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------------------- | -------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_VSCODE_SANITIZE_CONTEXT` | `1` | `src/app/api/v1/vscode/contextSanitizer.ts` | Ipinnu ọrọ-ọrọ olootu ti nṣiṣe lọwọ (`editorContext`, `activeEditor`, `currentFile`, `selection`, `openTabs`…) lati awọn ibeere `/v1/vscode/[token]/*` ati ṣe atunṣe akoonu ti awọn faili ifarabalẹ ti o somọ ni gbangba. Ni aabo-nipasẹ-aiyipada; ṣeto si `0` lati mu. |
### Awọn oju iṣẹlẹ
| Oju iṣẹlẹ | Iṣeto ni |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Ibamu ile-iṣẹ** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=block`, `PII_REDACTION_ENABLED=true`, `PII_RESPONSE_SANITIZATION=true` (awọn bulọọki abẹrẹ + request/response PII atunṣe; awọn ipo jẹ ominira) |
| **Abojuto nikan** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=warn` — àkọọlẹ ṣugbọn kò ṣe bulọọki |
| **Lilo ti ara ẹni** | Fi gbogbo alaabo — odo sori oke |
---
## 6. Irinṣẹ & Awọn ilana Ilana
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------------------------------------------- | ---------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TOOL_POLICY_MODE` | `disabled` | `src/lib/toolPolicy.ts` | Awọn iṣakoso LLM tool/function-calling wiwọle. `allowlist` = awọn irinṣẹ ti a ṣe akojọ nikan, `denylist` = gbogbo ayafi ti a ṣe akojọ, `disabled` = ko si awọn ihamọ. |
| `OMNIROUTE_PAYLOAD_RULES_PATH` | `./config/payloadRules.json` | `open-sse/services/payloadRules.ts` | Ona lati san awọn ofin ifọwọyi faili JSON (per-model/protocol upstream tweaks). |
| `OMNIROUTE_PAYLOAD_RULES_RELOAD_MS` | `5000` | `open-sse/services/payloadRules.ts` | Atunkọ agbedemeji (ms) fun gbigba-gbigbona gbona faili awọn ofin isanwo. `1000` ti o kere ju. |
| `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS` | `false` | `open-sse/services/model.ts` | Jade ni: ipa ọna igboro `claude-*` awoṣe IDs lati ọdọ awọn onibara koodu Claude nipasẹ akoto Claude Code OAuth dipo ti o nilo ìpele olupese. Awọn ìpele olupese olupese si tun bori. Paapaa atunto nipasẹ toggle dasibodu kan lori oju-iwe olupese Claude. |
| `OMNIROUTE_REDACT_THINKING` | `true` | `open-sse/executors/base/redactThinkingBeta.ts` | Ṣeto `false` lati da OmniRoute kun fifi `redact-thinking-2026-02-12` Anthropic beta funrararẹ (awọn bulọọki ero ibuwọlu nikan). Awọn ibeere pẹlu `thinking.display: "summarized"` foo rẹ laibikita; beta-idunadura onibara-idunadura redact beta tabi CC-ibaramu `requestDefaults.redactThinking` ijade ntọju o. awọn ibeere Claude OAuth tọju beta (o jẹ apakan ti Claude Code OAuth itẹka) ayafi ti asia ẹya `CLAUDE_OAUTH_SUMMARIZED_THINKING_UNREDACTED` aiyipada ba wa ni titan. |
| `BARE_MODEL_DEFAULT_OVERRIDE_LEGACY` | `false` | `open-sse/services/model.ts` | Legacy `resolveBareModelToConnectionDefault` ihuwasi (#4825): rọpo eyikeyi orukọ awoṣe igboro pẹlu `defaultModel` asopọ ti o yan. Paa nipa aiyipada, nikan `auto` tabi awoṣe ofo ni rọpo; ṣe igbasilẹ ikilọ kan fun bata nigbati o ba wa. |
| `COMBO_CONCURRENCY_PER_MODEL` | `3` | `open-sse/services/comboConfig.ts` | Fun awoṣe concurrency fila fun yika-robin combos (#9100). Semaphore-robin combo konbo jẹ lile-capped ni awọn ibeere igbakọọkan 3 fun awoṣe pẹlu ko si ifasẹyin, serializing ijabọ-concurrency giga lẹhin fila yẹn. Ti fọwọsi si `>= 1`, dimọ si `<= 32`. |
| `OMNIROUTE_AGENTIC_STALL_FAILOVER` | `false` | `open-sse/services/combo/agenticStallFailover.ts` | Jade-inu: ṣeto si `1` (tabi `true`) nitorinaa ọmọ ẹgbẹ konbo kan ti n dahun ipa-pada ọpa kan pẹlu `finish: stop` + narration + awọn ipe irinṣẹ odo kuna si ibi-afẹde t’okan (awọn ilana-iṣaaju, iyipo-robin ati awọn akoko pin). Ti ko ba si ibi-afẹde kan ti o dara julọ, idahun ti o da duro yoo da pada kuku ju aṣiṣe lọ, ati pe ko gba idiyele olupilẹṣẹ olupese tabi titiipa awoṣe kan. Awọn iyipada ṣiṣan ti wa ni idaduro sẹhin lati ọdọ alabara titi ti idajo yoo fi yanju. Awọn ibeere nipa lilo awọn idahun API `input` apẹrẹ ko ni ipin. aiyipada OFF. |
| `DISABLE_CONTEXT_WINDOW_CHECKS` | `false` | `open-sse/handlers/chatCore.ts` | Ijade-inu ti o lewu ti o fo OmniRoute's local context-window/max-input-token ayẹwo fun awọn ibeere awoṣe ẹyọkan taara. Awọn olupese ti o wa ni oke tun ṣe imudara awọn opin gangan wọn; funmorawon ni kiakia ati awoṣe ti ara ti o wu-àmi fila wa lọwọ. Iwaju imunadoko ni Awọn asia Ẹya DB danu > ayika oniyipada > aiyipada; ko si tun bere. |
| `OMNIROUTE_SELF_HOSTED_PROVIDERS` | _(a ko ṣeto)_ | `open-sse/services/selfHostedEntry.ts` | YAML `providers:` inu ila (RIC-738, D4). Nigbati o ba ṣeto (pẹlu tabi laisi bulọọki `strategy:` ), `/v1/chat/completions` yipada si titẹ sii ibaramu OpenAI-ibaramu ti ararẹ dipo opo gigun ti awọsanma. Yọọ kuro (aiyipada): ipa ọna naa ṣubu taara si opo gigun ti awọsanma ti o wa. Wo `docs/routing/SELF_HOSTED_OPENAI_ENTRY.md`. |
| `OMNIROUTE_SELF_HOSTED_PROVIDERS_FILE` | _(a ko ṣeto)_ | `open-sse/services/selfHostedEntry.ts` | Ọna si faili YAML kan ti o ni idaduro iwe `providers:` kanna bi `OMNIROUTE_SELF_HOSTED_PROVIDERS`, fun awọn imuṣiṣẹ ti o fẹran faili ju env var inline. Boya ọkan mu titẹ sii ti gbalejo ṣiṣẹ. |
| `OMNIROUTE_SELF_HOSTED_API_KEY` | _(yii ọna ṣiṣi silẹ — kuro)_ | `open-sse/services/selfHostedEntry.ts` | Bọtini API pínpín iyan fun titẹ sii ti a ti gbalejo ti iṣọkan (D5 scaffold, ti a fi pamọ fun eto ipin ipin-kọọkan). Nigbati o ba ṣeto, awọn ibeere gbọdọ ni `Authorization: Bearer `. Ti ko ṣeto: ipa-ọna naa wa ni sisi, ni ibamu pẹlu ilana olupese agbegbe ti ara ẹni ti o wa tẹlẹ ( imuṣiṣẹ loopback/trusted-network ). |
| `OMNIROUTE_SELF_HOSTED_STRATEGY` | _(a ko ṣeto)_ | `open-sse/services/routingStrategies.ts` | Inline YAML `strategy:` iwe fun awọn deterministic afisona engine (M2/RIC-740, D3) — blacklist/whitelist, cooldown breaker, iye owo- ayo, lairi-mọ, fallback pq. Yiyọkuro idinaki opopo `strategy:` ti o wa ninu `OMNIROUTE_SELF_HOSTED_PROVIDERS`, fun bọtini-kọọkan. Wo `docs/routing/DETERMINISTIC_ROUTING.md`. |
| `OMNIROUTE_SELF_HOSTED_STRATEGY_FILE` | _(a ko ṣeto)_ | `open-sse/services/routingStrategies.ts` | Ọna si faili YAML kan ti o ni idaduro iwe `strategy:` kanna bi `OMNIROUTE_SELF_HOSTED_STRATEGY`, fun awọn imuṣiṣẹ ti o fẹran faili ju env var inline. |
| `OMNIROUTE_DISABLE_CONVERSATION_TRACKING` | _(a ko ṣeto)_ | `open-sse/services/conversationTracker.ts` | Ṣeto `1` lati da gbigba itan ibaraẹnisọrọ duro. `resolveConversationId()` da abajade ti ko tọpa pada ṣaaju ki o to ka SQLite tabi sọ itan-akọọlẹ ifiranṣẹ, ati pe igba ti a pese IDs ti alabara ti wa ni bo paapaa. Imudani ipa-ọna ko yipada ati pe awọn igbasilẹ ti o wa tẹlẹ ko jẹ paarẹ. Fun awọn imuṣiṣẹ ti ko lo wiwo ibaraẹnisọrọ dasibodu ati fẹ ki tabili titan duro lati da dagba. |
| `OMNIROUTE_NADIR_API_KEY` | _(a ko ṣeto)_ | `open-sse/services/autoCombo/nadirStrategy.ts` | bọtini API fun ijade-inu `nadir` auto-konbo olulana ilana, ti a lo nigbati konbo ti ara `config.nadir.apiKey` ko ṣeto. Yiyan: awọn ipe ti ko ni bọtini ilẹ lori ipele ailorukọ Nadir, eyiti o jẹ opin-oṣuwọn fun IP ati nitorinaa kii ṣe nkan elo lẹhin ẹnu-ọna pinpin. Ni ifarabalẹ; fẹ awọn fun-konbo aaye nigba ti combos lo o yatọ si awọn iroyin. |
| `OMNIROUTE_NADIR_BASE_URL` | `https://api.getnadir.com` | `open-sse/services/autoCombo/nadirStrategy.ts` | Ipilẹ orisun ti Nadir ipinnu API, ti a lo nigbati konbo ti ara `config.nadir.baseUrl` jẹ unset. Nikan nilo fun Nadir ti o gbalejo ti ara ẹni, eyiti o tọju awọn olori kiakia inu nẹtiwọọki tirẹ. A fi aaye gba `/v1` itọpa ati yiyọ kuro. |
| `OMNIROUTE_API_KEY_WEEKLY_WINDOW` | `provider` | `src/lib/usage/apiKeyUsageLimits.ts` | Fèrèsé ọ̀sẹ̀ fún àwọn ààlà ìṣàmúlò-bọtini-API-bọtini USD (ibere imuṣiṣẹ, `GET /api/keys/{id}/usage-limits`, `@@om-usage`). `provider`: ọsẹ naa pari ni ibẹrẹ ọsẹ akọkọ laarin awọn asopọ oke ti bọtini le de ọdọ, tabi jẹ awọn ọjọ 7 yiyi nigbati ko si ọkan ti a mọ. `calendar`: ọsẹ agbegbe lati Ọjọ Aarọ 00:00 si Ọjọ Aarọ ti nbọ 00:00, aami fun gbogbo bọtini. `calendar` jẹ iṣeduro nigbati adagun kan ti awọn akọọlẹ oke ti pin nipasẹ ọpọlọpọ awọn bọtini isuna ti olukuluku. Awọn iye aiṣedeede ṣubu pada si `provider`. |
| `OMNIROUTE_API_KEY_WEEKLY_WINDOW_TIMEZONE` | _(Aago ilana)_ | `src/lib/usage/apiKeyUsageLimits.ts` | IANA timezone (fun apẹẹrẹ `Asia/Shanghai`) ti o ṣe asọye Ọjọ Aarọ 00:00 fun ferese ọsẹ `calendar`. Ai ṣeto tabi aiṣedeede: agbegbe aago ilana OmniRoute ( `TZ` ti agbalejo tabi eiyan, eyiti ko ṣeto nigbagbogbo, ie Aago Iṣọkan, ninu awọn aworan apoti). Aibikita ni ipo `provider`. |
| `OMNIROUTE_MAX_TOOLS_LIMIT` | `128` | `open-sse/config/constants.ts` | Nọmba ti o pọju aiyipada ti awọn irinṣẹ laaye ninu ibeere kan ( aiyipada OpenAI ). Awọn odidi rere nikan; aito tabi awọn iye aiṣedeede tọju `128`. Olupese ti o ni opin known/proactive (`grok-cli` 200, `nvidia` 1536) tun kan — fila tirẹ eyi nikan n gbe aja aifọwọyi lọ. Awọn ibi-afẹde ọna kika Claude ko ni fila aiyipada (Awọn ifiranṣẹ API ko ni nkankan); a kẹkọọ iye si tun kan. |
| `OMNIROUTE_TOOL_OUTPUT_IMAGE_MAX_COUNT` | `16` | `open-sse/translator/request/openai-responses.ts` | Awọn idahun si Itumọ iwiregbe: melo ni awọn aworan igbejade irinṣẹ (`function_call_output`, `custom_tool_call_output`, ipa `tool`) ti a tun fi ranṣẹ gẹgẹbi awọn ẹya aworan olumulo fun ibeere. Awọn tuntun ti wa ni ipamọ ati agbalagba kọọkan di ibi ipamọ ọrọ pẹlu `tool_call_id` rẹ. Awọn odidi rere nikan; aito tabi awọn iye aiṣedeede tọju `16`. |
| `OMNIROUTE_TOOL_OUTPUT_IMAGE_MAX_BYTES` | `20971520` (20 MB) | `open-sse/translator/request/openai-responses.ts` | Lapapọ iwọn aworan ohun elo-jade URLs tun-firanṣẹ fun ibeere ni itumọ kanna. Awọn aworan ti o kọja isuna jẹ akọkọ silẹ akọkọ, pẹlu ikilọ kan fun ibeere. Awọn odidi rere nikan; aito tabi awọn iye aiṣedeede tọju `20971520`. |
| `OMNIROUTE_RESPONSES_STRICT_TOOL_HISTORY` | `false` | `open-sse/translator/helpers/responsesToolHistory.ts` | Bawo ni itan irinṣẹ Awọn idahun aisedede jẹ mimu: iṣẹjade ti ko si ipe, ipe kan ti ko si abajade, sonu, gunjulo tabi `call_id` ti ko tọ, tabi awọn ariyanjiyan itan aiṣedeede. Paa, OmniRoute tun itan naa ṣe o si firanṣẹ (awọn abajade alainibaba ti lọ silẹ, awọn ipe ti ko dahun gba abajade ofo, ids ti wa ni minted tabi dimole, awọn ariyanjiyan ti ko dara di `{}`). Lori, ibeere naa gba `400` ṣaaju fifiranṣẹ; Itan to wulo ti wa ni ifiranšẹ siwaju pẹlu awọn ids ipe rẹ ati awọn ariyanjiyan JSON bi o ti firanṣẹ. Gba `true` tabi `1`; eyikeyi miiran iye ntọju awọn aiyipada. |
| `OMNIROUTE_PROMPT_EMULATE_TOOLS` | _(lori)_ | `open-sse/executors/syntxChat.ts` | SYNTX.ai ti n pe ohun elo ti o ni kiakia: unset tabi `1`/`true`/`on`/`yes` nfi katalogi irinṣẹ agbegbe sinu itọsẹ; iye miiran (fun apẹẹrẹ `0`) fo abẹrẹ yẹn. |
---
## 7. URLs & Awọsanma Sync
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `BASE_URL` | `http://localhost:20128` | `src/lib/cloudSync.ts` | URL -ẹgbẹ olupin fun awọn iṣẹ amuṣiṣẹpọ inu lati pe `/api/sync/cloud`. Jeki eyi jẹ loopback/container URL paapaa nigba ti ohun elo naa jẹ aṣoju ni gbangba. Awọn ọgbọn A2A tun lo (wo `OMNIROUTE_BASE_URL`) ati kuna kuku ju fi bọtini API ranṣẹ si aaye-http URL gbangba. |
| `CLOUD_URL` | _(sofo)_ | `src/lib/cloudSync.ts` | Awọsanma relay endpoint URL (ẹya Ere). |
| `CLOUD_SYNC_TIMEOUT_MS` | `12000` | `src/lib/cloudSync.ts` | akoko asiko HTTP fun awọn ibeere amuṣiṣẹpọ awọsanma. |
| `OMNIROUTE_BUILD_PROFILE` | `full` | Webpack Kọ atunto | Profaili-akoko-ṣeto (ṣeto si `minimal` lati yọkuro awọn modulu anfani ti ara lati lapapo). |
| `OMNIROUTE_STANDALONE_DIR` | _.build/ iṣẹjade adaduro_ | `scripts/build/colocate-standalone.mjs` | Idojukọ akoko-kikọ fun itọsọna iṣelọpọ iduro ti o jẹ ti o jẹ nipasẹ igbesẹ colocation lẹhin-Kọ. Kii ṣe eto akoko asiko. |
| `OMNIROUTE_DIST_DIR` | `dist/` (gbòngbo repo) | `scripts/build/prepublish.ts` | Kọ-akoko idojuk fun awọn liana igbese te (`prepublish.ts`) kọwe CLI lapapo sinu, dipo `dist/` labẹ awọn repo root. Awọn liana ti wa ni parẹ ṣaaju ki o to Kọ. Kii ṣe eto akoko asiko. |
| `OMNIROUTE_CLOUD_SYNC_SECRET` | _(sofo)_ | `src/lib/cloudSync.ts` | Aṣiri pinpin ti a lo lati jẹrisi ibuwọlu HMAC-SHA256 ti awọn idahun Amuṣiṣẹpọ awọsanma. |
| `OMNIROUTE_CLOUD_SYNC_SECRETS` | `false` | `src/lib/cloudSync.ts` | Ṣeto si `true` lati gba aaye ipari Sync Cloud lati tunkọ awọn iwe-ẹri agbegbe. Aiyipada jẹ `false`. |
| `OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE` | `false` | `src/lib/cloudSync.ts` | Ṣeto si `true` lati kọ esi Amuṣiṣẹpọ Awọsanma ti ko forukọsilẹ nigbati ko si aṣiri agbegbe ti a tunto (#13679). Ibuwọlu ti o wa ni nigbagbogbo jẹri — ati nigbagbogbo kọ nigbati `OMNIROUTE_CLOUD_SYNC_SECRET` ko ṣeto — laibikita asia yii. Aiyipada yipada si imuse ni v3.9. |
| `OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP` | `false` | `src/app/api/providers/zed/import/route.ts` | Ṣeto si `true` lati ṣubu pada si v3.8.5 ọkan-igbesẹ “ṣe agbewọle ohun gbogbo” ihuwasi laisi ìmúdájú olumulo. |
| `NEXT_PUBLIC_BASE_URL` | `http://localhost:20128` | OAuth, Dasibodu, amuṣiṣẹpọ | URL ti o dojukọ gbogbo eniyan fun OAuth redirect_uri, awọn ọna asopọ Dashboard, ati ipilẹṣẹ URLs ti gbogbo eniyan. Ṣeto eyi si iduroṣinṣin URL ti gbogbo eniyan nigbati awọn atunwi OAuth tabi awọn ọna asopọ aṣawakiri ti ipilẹṣẹ gbọdọ lo agbalejo oniyipada-aṣoju canonical. |
| `NEXT_PUBLIC_CLOUD_URL` | _(sofo)_ | Onibara-ẹgbẹ | Digi-ẹgbẹ onibara ti `CLOUD_URL`. |
| `NEXT_PUBLIC_APP_URL` | _(a ko ṣeto)_ | `src/shared/services/cloudSyncScheduler.ts` | Ipadabọ Legacy fun `NEXT_PUBLIC_BASE_URL`. |
| `NEXT_PUBLIC_PORT` | _( — ti ko ṣeto yoo pada si `PORT`)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Ibudo ifẹhinti-ẹgbẹ alabara fun ifihan URLs nigbati ko si ipilẹṣẹ ti a mọ (SSR/tests); ka ṣaaju `PORT`. |
| `OMNIROUTE_PUBLIC_BASE_URL` | _(a ko ṣeto)_ | Olupin-ibẹrẹ ti gbogbo eniyan, aworan URLs | Aṣa aṣawakiri ti o ga julọ-ti nkọju si orisun OmniRoute ti a lo fun iran URL ti gbogbo eniyan ati afọwọsi aṣawakiri ti kii-dasibodu. Ṣeto eyi nigbati OpenWebUI tabi isọdọtun miiran ba de OmniRoute nipasẹ URL inu ṣugbọn ẹrọ aṣawakiri olumulo gbọdọ mu media ti ipilẹṣẹ lati LAN, oju eefin, tabi orisun gbogbo eniyan. Ṣe** kii ṣe** pẹlu `/v1`. |
| `OMNIROUTE_PROVIDER_MANIFEST_URL` | _(a ko ṣeto)_ | `open-sse/config/providerPluginManifestUrl.ts` | Ohun itanna olupese pipe farahan URL ti a kede si awọn alabara ẹgbẹ. Nigbati a ba ṣeto, OmniRoute n gba `/api/v1/provider-plugin-manifest` lati ibere ibere tabi HOST/PORT. |
| `OMNIROUTE_PUBLIC_PROTOCOL` | `http` | `open-sse/config/providerPluginManifestUrl.ts` | Ilana ti a lo nigbati o njade ohun itanna olupese ti n ṣafihan URL lati HOST/PORT laisi ipilẹṣẹ ibeere kan. Ṣeto si `https` lẹhin aṣoju-iduro TLS ti gbogbo eniyan nigbati ko si `OMNIROUTE_PROVIDER_MANIFEST_URL` ti o fojuhan ti ṣeto. |
| `OMNIROUTE_TRUST_PROXY` | _(a ko ṣeto)_ | `src/server/origin/publicOrigin.ts` | Ipo igbẹkẹle iyan fun awọn akọle ipilẹṣẹ ti gbogbo eniyan ti o dariji. Unset = ma ṣe gbẹkẹle `Forwarded` / `X-Forwarded-*` fun awọn ipinnu aabo. `true` / `loopback` gbẹkẹle host/proto ti a firanṣẹ siwaju nikan lati aami-aṣoju loopback ti o ni aami. `private` / `lan` tun gbẹkẹle awọn ẹlẹgbẹ aṣoju ikọkọ-LAN, jẹ ki afara `API_PORT` tọju iru `X-Forwarded-For` ẹlẹgbẹ kan, ati jẹ ki awọn ọna LOCAL_ONLY gba alabara nẹtiwọọki aladani kan ti iru awọn ijabọ aṣoju (kii ṣe ibeere Cloudflare-tunnel kan, ẹwọn loopback-nikan, tabi ẹnu-ọna loopback-nikan CLI-token). Fẹ `NEXT_PUBLIC_BASE_URL` fojuhan ni iṣelọpọ. |
| `KIE_CALLBACK_URL` | _(a ko ṣeto)_ | `open-sse/utils/kieTask.ts` | Ipe ti gbogbo eniyan URL fun asynchronous kie.ai ise. Ipilẹṣẹ ti o ga julọ ṣaaju `OMNIROUTE_KIE_CALLBACK_URL` ati `OMNIROUTE_PUBLIC_URL`. |
| `OMNIROUTE_KIE_CALLBACK_URL` | _(a ko ṣeto)_ | `open-sse/utils/kieTask.ts` | Akọtọ miiran ti `KIE_CALLBACK_URL`. Ṣubu pada nigbati oniyipada akọkọ ko ṣeto. |
| `OMNIROUTE_PUBLIC_URL` | _(a ko ṣeto)_ | `open-sse/utils/kieTask.ts` | Ipilẹṣẹ gbogbo eniyan ti a lo lati ṣajọ async callback URLs. Ipadabọ ayokuro ti o kere julọ fun awọn ipe kie.ai; tun lo bi jeneriki àkọsílẹ URL fun miiran relays. |
| `OMNIROUTE_CROF_USAGE_URL` | `https://crof.ai/usage_api/` | `open-sse/services/usage.ts` | aaye ipari wiwa awọn ipin CrofAI ti a lo nipasẹ oju-iwe Lilo. Daju fun relays / igbeyewo amuse. |
| `OMNIROUTE_CLINEPASS_USAGE_URL` | `https://api.cline.bot/api/v1/users/me/plan/usage-limits` | `open-sse/services/usage/clinepass.ts` | ClinePass 5-wakati / osẹ-oṣooṣu / aaye ipari ipin ipin ti o lo nipasẹ oju-iwe Lilo. Daju fun relays / igbeyewo amuse. |
| `OMNIROUTE_OPENCODE_QUOTA_URL` | `https://opencode.ai/zen/go/v1/usage` | `open-sse/services/opencodeQuotaFetcher.ts` | Oṣiṣẹ API-bọtini-ifọwọsi OpenCode Go lilo opin aaye lilo nipasẹ oju-iwe Lilo. Daju fun relays / igbeyewo amuse. |
| `OPENCODE_SYNTHESIZE_CLI_HEADERS` | `true` | `open-sse/executors/opencode.ts` | Ṣepọ awọn akọle idanimọ OpenCode CLI (Aṣoju Olumulo, x-opencode-client/project, request/session UUIDs) lori awọn ibeere oke opencode-go/zen ti alabara ko firanṣẹ, nitorinaa Cloudflare lori VPS egress gba wọn (#6210/#5997). Lori nipa aiyipada niwon #10571; jade pẹlu `false`/`0`/`no`/`off`. |
| `OPENCODE_USER_AGENT` | `opencode/1.18.31` | `open-sse/utils/opencodeHeaders.ts` | Aṣoju Olumulo aiyipada ti a lo nigbati `OPENCODE_SYNTHESIZE_CLI_HEADERS` ba wa ni titan ko si si olupilẹṣẹ `_USER_AGENT` ti o ti ṣeto. Nikan lo si awọn olupilẹṣẹ ṣiṣi koodu. Lori ibeere ti ko ni bọtini kan awọn ẹnu-ọna oke, iye atunto ti ko gbe `opencode/= 1.17>` ti rọpo nipasẹ aiyipada yii kuku ju kọ. |
| `OMNIROUTE_FORWARD_ATTRIBUTION` | `1` (lori) | `open-sse/utils/opencodeHeaders.ts` | Dari awọn akọle itọsi ohun elo alabara (`x-session-id`, `x-title`, `http-referer`) si awọn olupese ti o ga, nitorinaa ibeere ti o bẹrẹ inu ijanu ti a ṣe akojọ jẹ ki idanimọ rẹ jẹ nipasẹ olulana (bọtini atẹjade OpenRouter lori iwọnyi). `0`/`false`/`no`/`off` tọju idanimọ registry/operator ati ju awọn iye ti o pese alabara silẹ. Awọn akọle aṣa atunto onišẹ nigbagbogbo bori lori awọn iye alabara nigbagbogbo. |
| `OPENCODE_CLIENT` | `desktop` | `open-sse/executors/opencode.ts` | Iye fun akọsori `x-opencode-client` ti a ṣepọ nigbati `OPENCODE_SYNTHESIZE_CLI_HEADERS` wa ni titan. |
| `OPENCODE_PROJECT` | `global` | `open-sse/executors/opencode.ts` | Iye fun akọsori `x-opencode-project` ti a ṣepọ nigbati `OPENCODE_SYNTHESIZE_CLI_HEADERS` wa ni titan. |
| `OMNIROUTE_EGRESS_IP_LOCK_PROVIDERS` | _(a ko ṣeto)_ | `open-sse/config/providerErrorRules.ts` | Eto ti o munadoko ti awọn olupese ti awọn ikuna oke rẹ jẹ bucketed nipasẹ egress IP (awọn papa itura 429 kan ni gbogbo pinpin asopọ arakunrin ti o IP). Unset nlo aiyipada ipele-ọfẹ `opencode,opencode-go,opencode-cli`; `none`/`off`/`false`/`0` mu kasikedi naa kuro patapata; akojọ ti o ya sọtọ komama rọpo ṣeto. Awọn ero isanwo jẹ bucketed iroyin ni oke ati pe o le mu kuro lailewu (#9611). |
| `OMNIROUTE_EGRESS_QUOTA_ROTATION_PROVIDERS` | _(a ko ṣeto)_ | `open-sse/config/providerErrorRules.ts` | Kòta-kiko egress iyipo dopin. Unset ṣeto ọmọ ẹgbẹ adagun kan si apakan lori 429 nikan fun idile IP-bucketed loke; `all` gbooro pe kikọ si gbogbo olupese, nitorinaa opin oṣuwọn ti o gba nipasẹ ọmọ ẹgbẹ kan jẹ ki yiyan yiyan ti o tẹle ni ibomiiran. Eyikeyi iye miiran ju `all` ti wa ni bikita. Nilo `PROXY_SKIP_RECENTLY_FAILED` (lori aiyipada). Ile itaja naa jẹ bọtini nipasẹ adirẹsi egress, kii ṣe (olupese, adirẹsi), nitorinaa awọn papa itura 429 ti o gbooro ti ọmọ ẹgbẹ fun gbogbo olupese titi akoko naa yoo fi kọja (iṣẹju 5, ilọpo meji si 15). Ka fun abajade esi, nitorinaa iyipada kan laisi atunbere. |
| `OPENCODE_FREE_TIER_REQUEST_CONTRACT` | _(a ko ṣeto)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Ṣeto si `off` lati da ṣiṣatunṣe ara awọn ibeere OpenCode ti ko ni bọtini (asia ṣiṣanwọle ati atokọ irinṣẹ). Awọn akọle tun wa ni lilo. Ka fun ibeere, nitorinaa iyipada kan yoo ni ipa lẹsẹkẹsẹ. |
| `OPENCODE_FREE_TIER_PLACEHOLDER_TOOLS` | _(a ko ṣeto)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Awọn orukọ irinṣẹ ti o ya sọtọ Comma lati kede lori ibeere OpenCode ti ko ni bọtini ti ko ni kankan, nigbati ko si ohun ti a ti ṣe akiyesi sibẹsibẹ fun awoṣe yẹn. Sofo ṣubu pada si ibi ipamọ kan ti a sọ fun awoṣe lati ma pe. Ni pupọ julọ awọn titẹ sii 32, `[A-Za-z_][A-Za-z0-9_-]{0,63}`; a ko bikita awọn titẹ sii ti ko tọ. |
| `OPENCODE_FREE_TIER_CREDENTIAL` | `public` | `open-sse/executors/opencodeFreeTierContract.ts` | Iwe-ẹri ti a fi ranṣẹ si oju-ọna ipele ọfẹ ti o ni ibode (`https://opencode.ai/inference/v1`). Lati ọdun 2026-10-21 ọna yẹn ṣe idahun 403 `Model access is disabled` si bọtini API gidi kan ati pe o nṣe iranṣẹ gangan gangan dipo. `key` tọju bọtini API oniṣẹ, `none`/`off` ko firanṣẹ akọsori iwe-ẹri, eyikeyi ọrọ gangan ni a firanṣẹ bi ami ti o ru. Ka fun ìbéèrè. |
| `OPENCODE_FREE_TIER_RELAY_URL` | unset | `src/lib/opencodeFreeRelay.ts` | Ipilẹ URL ti iṣipopada Bun fun awọn ibeere OpenCode ipele-ọfẹ. Nigbati o ba ṣeto, awọn ibeere wọnyẹn gbe eto OpenCode CLI tọ ati ṣeto irinṣẹ ati pe a firanṣẹ nipasẹ yiyi (`scripts/ops/opencode-free-relay.ts`), nitori awọn idahun ti oke 429 si awọn alabara ti kii ṣe Bun HTTP. Loopback URLs ti bẹrẹ pẹlu olupin nigbati `bun` wa lori PATH; ona kan lori URL ni a foju pana. `http://` pẹtẹlẹ ni a gba fun awọn agbalejo loopback nikan (`localhost`, `127.0.0.0/8`, `::1`); ogun eyikeyi miiran gbọdọ lo `https://`, bibẹẹkọ awọn ibeere kuna pẹlu aṣiṣe ti o fojuhan. Iwiregbe Ipari nikan. Ka fun ìbéèrè. |
| `OPENCODE_FREE_RELAY_BUN` | `bun` lori PATH | `src/lib/opencodeFreeRelay.ts` | Bun alakomeji ti a lo lati bẹrẹ isọdọtun. |
| `OPENCODE_FREE_RELAY_SCRIPT` | `scripts/ops/opencode-free-relay.ts` labẹ root package | `src/lib/opencodeFreeRelay.ts` | Ona ti iwe afọwọkọ yii. Awọn aiyipada ni ipinnu lati gbongbo package ti a fi sori ẹrọ, lẹhinna itọsọna iṣẹ. |
| `OPENCODE_FREE_RELAY_HOST` | `127.0.0.1` | `scripts/ops/opencode-free-relay.ts` | Relay gbo ogun. |
| `OPENCODE_FREE_RELAY_PORT` | `20199` | `scripts/ops/opencode-free-relay.ts` | Relay gbọ ibudo. |
| `OPENCODE_FREE_RELAY_UPSTREAM` | `https://opencode.ai` | `scripts/ops/opencode-free-relay.ts` | Oti awọn yii siwaju si. Gbọdọ jẹ `https://` (`http://` nikan fun ipilẹṣẹ idanwo loopback); yii kọ lati bẹrẹ bibẹẹkọ. |
| `OPENCODE_FREE_RELAY_TOKEN` | unset | `scripts/ops/opencode-free-relay.ts`, `open-sse/executors/opencodeRelay.ts` | Pipin ikoko. OmniRoute rán ni `x-opencode-relay-auth`; relay idahun 401 lai o. Ti beere fun: yii pẹlu `OPENCODE_FREE_RELAY_HOST` ti kii ṣe loopback kọ lati bẹrẹ laisi rẹ. |
| `OPENCODE_FREE_RELAY_PROXY_ALLOWLIST` | unset | `scripts/ops/opencode-free-relay.ts` | Koma-yapa `host` tabi `host:port` egress proxies ti kii-loopback yii gba lati ọdọ awọn olupe (`x-opencode-relay-proxy`); any other proxy answers 403. Ignored on a loopback bind. |
| `OMNIROUTE_OLLAMA_CLOUD_USAGE_URL` | `https://ollama.com/settings` | `open-sse/services/usage.ts` | Ollama Awọn eto Awọsanma URL ti a lo fun fifin ipin. Daju fun relays / igbeyewo amuse. |
| `OMNIROUTE_OLLAMA_CLOUD_BALANCE_URL` | `https://ollama.com/api/balance` | `open-sse/services/ollamaCloudBalance.ts` | Ollama Awọsanma ṣe akọsilẹ opin iwọntunwọnsi oke (`GET https://ollama.com/api/balance`, `Authorization: Bearer `). Ka ni ẹẹkan ni fifuye module. Ti a lo ni akọkọ fun Ollama Awọsanma ipin nigbati asopọ ba ni bọtini API ; scraper kuki oju-iwe awọn eto duro bi ipadabọ. Daju fun relays / igbeyewo amuse. |
| `OLLAMA_USAGE_COOKIE` | _(a ko ṣeto)_ | `open-sse/services/usage.ts` | Ollama Cloud `__Secure-session` kukisi ti a lo fun awọn eto-ipin ipin-iwe. Ni ifarabalẹ; fẹ aaye Dasibodu asopọ fun-asopọ nigbati ọpọlọpọ awọn akọọlẹ ti wa ni tunto. |
| `OLLAMA_CLOUD_USAGE_COOKIE` | _(a ko ṣeto)_ | `open-sse/services/usage.ts` | Alternate Ollama Cloud `__Secure-session` kukisi env var. Ni ifarabalẹ; fẹ aaye Dasibodu asopọ fun-asopọ nigbati ọpọlọpọ awọn akọọlẹ ti wa ni tunto. |
| `OMNIROUTE_OLLAMA_USAGE_COOKIE` | _(a ko ṣeto)_ | `open-sse/services/usage.ts` | Alternate Ollama Cloud `__Secure-session` kukisi env var ti a lo ṣaaju awọn inagijẹ kukuru. Ni ifarabalẹ; fẹ aaye Dasibodu asopọ fun-asopọ nigbati ọpọlọpọ awọn akọọlẹ ti wa ni tunto. |
| `OMNIROUTE_CODEWHISPERER_BASE_URL` | `https://codewhisperer.us-east-1.amazonaws.com` | `open-sse/services/usage.ts` | CodeWhisperer (AWS Kiro) opin opin lilo lilo. Daju fun relays / igbeyewo amuse. |
> [!IMPORTANT]
> Nigbati o ba n ransẹ lẹhin aṣoju yiyipada (nginx, Caddy), ṣeto `NEXT_PUBLIC_BASE_URL` si URL ti gbogbo eniyan iduroṣinṣin (fun apẹẹrẹ, `https://omniroute.example.com`) nigbati awọn ipe ipe OAuth tabi awọn ọna asopọ ti gbogbo eniyan ti ipilẹṣẹ gbọdọ lo orukọ olupin naa. Laisi eyi, awọn ipepada OAuth le kuna nitori redirect_uri ko ni baramu ati pe awọn ọna asopọ ti gbogbo eniyan ti ipilẹṣẹ le tọka si ipilẹṣẹ inu inu.
>
> Jeki `BASE_URL` bi loopback/container URL inu fun awọn iṣẹ olupin si olupin. Maṣe lo `Origin` aṣawakiri kan tabi orukọ agbalejo gbogbo eniyan fun awọn afọwọṣe ti ara ẹni ti o ni ẹri.
>
> Dasibodu ti a fọwọsi ko nilo ipilẹ ita gbangba URL: dasibodu naa nfiranṣẹ awọn ibeere ti ko ni aabo orisun-kanna pẹlu ami-ami CSRF ti igba kan. OmniRoute tun ṣe agbedemeji afọwọsi orisun ti gbogbo eniyan fun awọn iṣọpọ aṣawakiri ti kii-dasibodu: URL gbangba gbangba env vars ni igbẹkẹle akọkọ; raw `Forwarded` / `X-Forwarded-*` afori jẹ aibikita ayafi ti `OMNIROUTE_TRUST_PROXY` ti ṣiṣẹ ati pe ẹlẹgbẹ aṣoju lẹsẹkẹsẹ jẹ ami ami-ami gẹgẹbi igbẹkẹle. Maṣe lo awọn eto CORS lati ṣatunṣe awọn ibeere dasibodu orisun-kanna; CORS jẹ nikan fun awọn onibara aṣawakiri orisun-agbelebu.
---
## 8. Aṣoju ti njade
Awọn ipe olupese LLM ti o wa ni oke nipasẹ HTTP tabi aṣoju SOCKS5 fun iṣakoso egress, ipa-ọna-ilẹ, tabi iboju-boju IP.
`OMNIROUTE_UPSTREAM_HTTP2_ENABLED` aiyipada si `true`. Ṣeto si `false`, `0`, `no`, tabi `off` lati fi agbara mu HTTP/1.1 lori Undici dispatchers ni `open-sse/utils/proxyDispatcher.ts` ati `open-sse/utils/proxyFetch.ts`: taara egress, HTTP(S)/SOCKS proxies, relays, ati titun-socket retries. Eyi ṣe itọju ijẹrisi TLS, ijẹrisi aṣoju, awọn opin asopọ, ati awọn eto mimu-laaye. Tun OmniRoute bẹrẹ lẹhin iyipada nitori pe awọn olufiranṣẹ ti wa ni ipamọ ati pe awọn aṣoju isọdọtun ti ṣẹda ni ibẹrẹ. Yipada naa ko ṣakoso titẹ ika ọwọ wreq TLS tabi awọn gbigbe ti olupese kan pato.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------------------- | ------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ENABLE_SOCKS5_PROXY` | `true` | `open-sse/executors` | Mu aṣoju SOCKS5 ṣiṣẹ fun awọn ipe oke. Jade kuro pẹlu `false`. |
| `OMNIROUTE_GZIP_REQUEST_BODIES` | `true` | `open-sse/executors/base/gzipRequestBody.ts` | Gzip ara ibeere ti a fi ranṣẹ si `api.anthropic.com` osise (4096 awọn ohun kikọ +, awọn asopọ taara nikan; fo lẹhin aṣoju kan, afarawe TLS tabi `NODE_EXTRA_CA_CERTS`). Anthropic gba gzip nikan. Iyipada koodu ti a kọ (415, 400/403 ti kii ṣe Anthropic, tabi ipilẹṣẹ JSON-parse 400) ti wa ni ifesi laipọ lẹẹkan ati ipilẹṣẹ naa duro laipọ fun wakati kan. Jade kuro pẹlu `0`, `false`, `off` tabi `no`. |
| `NEXT_PUBLIC_ENABLE_SOCKS5_PROXY` | `true` | Onibara-ẹgbẹ | Imọ-ẹgbẹ alabara ti wiwa SOCKS5. |
| `PROXY_SKIP_RECENTLY_FAILED` | `true` | `src/shared/utils/featureFlags.ts` | Lori-nipasẹ-aiyipada asia ẹya (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; dasibodu DB bori bori). Awọn adagun-aṣoju ati yiyi-iroyin kan duro lati tun sin ọmọ ẹgbẹ kan ti o kan kuna (kiko ibere TCP, tabi 429 nipasẹ rẹ) fun akoko ti o ni ilọpo meji lori atunwi kọọkan, titi de fila kan. `false` ṣe atunṣe yiyan itele. |
| `SELECTOR_CONTROL_ALLOWLIST` | _(a ko ṣeto)_ | `src/lib/proxySubscription/selectorGuard.ts` | Gbigba-akojọ fun awọn ibi-aṣayan iṣakoso agbegbe-mojuto ti o kọja loopback (comma/space awọn ogun ti o yapa tabi IPs, `*` ṣi LAN/private ṣugbọn ko ṣe metadata/link-local). Loopback lori http/https jẹ idasilẹ nipasẹ aiyipada. A dasibodu DB iye AamiEye lori yi ayípadà nigba ti ṣeto ati ti kii-sofo. |
| `PROXY_QUOTA_429_BASE_MS` | `300000` | `open-sse/utils/proxyRefusalMemory.ts` | Akoko mimọ (ms) ti 429 ṣeto-ẹgbẹ, ilọpo meji lori kọọkan tun. Ka ni ẹẹkan ni ibẹrẹ. Ti a dè si `1000..3600000`; jade-ti-ibiti o tabi unreadable ṣubu pada si awọn aiyipada pẹlu kan ìkìlọ. |
| `PROXY_QUOTA_429_MAX_MS` | `900000` | `open-sse/utils/proxyRefusalMemory.ts` | Fila (ms) ti 429 ṣeto-ẹgbẹ. Ka ni ẹẹkan ni ibẹrẹ. Ti a dè si `1000..3600000`; jade-ti-ibiti o tabi unreadable ṣubu pada si awọn aiyipada pẹlu kan ìkìlọ. Nigbati fila ba wa ni isalẹ ipilẹ, o ṣubu pada si aiyipada. Sokale fila tun kuru igbagbe ṣiṣan: awọn titẹ sii wẹ `2 x max` lẹhin ipari. |
| `PROXY_POOL_SHARED_EGRESS_ORDER` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). Fun awọn olupese ti ipin wọn jẹ bucketed nipasẹ adiresi egress, ipo ọmọ ẹgbẹ adagun kan pinpin adirẹsi egress ọmọ ẹgbẹ laipẹ kọ ni isalẹ awọn ọmọ ẹgbẹ ilera. Paṣẹ nikan, ko yọkuro rara. Nilo `PROXY_SKIP_RECENTLY_FAILED`, eyiti o ṣe agbejade ifihan agbara ti o ka. |
| `PROXY_WEBHOOK_REBOUND_MS` | `300000` | `src/lib/proxyEvents/proxyTransitionBridge.ts` | Ferese rebound (ms) capping tun `proxy.set_aside` webhook titaniji fun ọmọ ẹgbẹ adagun-odo kan nitoribẹẹ ti awọn ijusile ti nfi iṣẹlẹ kan ranṣẹ. Ka lori kọọkan emit. Ti a dè si `1000..3600000`; jade-ti-ibiti o tabi unreadable ṣubu pada si awọn aiyipada ni ipalọlọ. |
| `HTTP_PROXY` | _(a ko ṣeto)_ | Node.js bošewa | HTTP aṣoju fun awọn ipe oke. |
| `HTTPS_PROXY` | _(a ko ṣeto)_ | Node.js bošewa | HTTPS aṣoju fun awọn ipe oke. |
| `ALL_PROXY` | _(a ko ṣeto)_ | Node.js bošewa | Aṣoju gbogbo agbaye (ṣe atilẹyin `socks5://`). |
| `OMNIROUTE_PROXY_ECHO_URL` | _(a ko ṣeto)_ | `src/lib/proxyEchoTarget.ts` | Pin ibi-afẹde iwoyi-IP ti a lo nipasẹ awọn iwadii egress aṣoju si URL kan. Ti ko ṣeto, iwadii naa gbiyanju `api64.ipify.org` lẹhinna `api4.ipify.org` nitorinaa awọn tunnels IPv4-only ko ni royin ti ku (#9694). |
| `NO_PROXY` | _(a ko ṣeto)_ | Node.js bošewa | Koma-yaya hostnames/IPs lati fori awọn aṣoju. |
| `OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS` | `32` | `open-sse/utils/proxyDispatcher.ts` | O pọju awọn sockets nigbakanna fun cache HTTP/SOCKS aṣoju dispatcher. Awọn ṣiṣan SSE ti o pẹ gẹgẹbi Codex `/v1/responses` nilo asopọ diẹ sii ju ọkan lọ nigbati ọpọlọpọ awọn ibeere pin aṣoju ipele-iroyin kan naa. Awọn iye loke `256` ti wa ni capped. |
| `SOCKS_HANDSHAKE_TIMEOUT_MS` | `10000` | `open-sse/utils/socksConnectorWithFamily.ts` | SOCKS5 ìfọwọ́sowọ́pọ̀ (asopọ̀) àkókó ní ms. Gbe soke nigbati agbalejo ẹnu-ọna ibugbe ẹyọkan ti kọlu nipasẹ ibaramu giga (fun apẹẹrẹ 100 awọn ibeere igbakana) — imudani gidi le kọja awọn 10s labẹ adagun ti o kun bi o tilẹ jẹ pe aṣoju le de ọdọ, eyiti bibẹẹkọ ti o da bi `[Proxy Fast-Fail] Proxy unreachable` eke. Ti gbe ni `120000`. |
| `PROXY_FAIL_OPEN` | `false` | `src/sse/handlers/chatHelpers.ts` | Nigbati `false` (aiyipada), ibeere ti aṣoju ti a yàn ti kuna lati yanju ni** kọ (kuna-ni pipade)** kuku ju ja bo pada si ọna asopọ taara — ṣe idilọwọ awọn jijo IP gidi-gidi. Ṣeto `true` lati mu pada sẹhin DIRECT julọ. |
| `ENABLE_TLS_FINGERPRINT` | `false` | `open-sse/executors` | Spoof TLS itẹka nipa lilo wreq-js (mimics Chrome 124). Counters JA3/JA4 ìdènà. |
| `TLS_FINGERPRINT_PROVIDERS` | _(a ko ṣeto)_ | `open-sse/utils/proxyFetch.ts` | Akojọ iyọọda olupese ti o ya sọtọ komama fun itọsọna TLS proxied tuntun (`open-sse/utils/proxyFetch.ts`). Taara TLS ntọju ihuwasi rẹ julọ nigbati a ko ṣeto; Awọn olupese wọnyi nikan ni ipa ọna nipasẹ afara ika ika Chrome-124. Groq (`api.groq.com`) ko yọkuro paapaa nigbati atokọ iyọọda ko ṣeto, nitori Chrome JA3 nfa Cloudflare 1010 lakoko ti undici abinibi de API. |
| `OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS` | `false` | `open-sse/services/claudeTurnstileSolver.ts` | Gba aaye aṣawakiri Claude Turnstile Playwright laaye lati foju foju kọ awọn aṣiṣe ijẹrisi HTTPS. |
### Awọn oju iṣẹlẹ
| Oju iṣẹlẹ | Iṣeto ni |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| **SOCKS5 nipasẹ oju eefin SSH** | `ALL_PROXY=socks5://127.0.0.1:7890`, `ENABLE_SOCKS5_PROXY=true` |
| **Aṣoju HTTP ile-iṣẹ** | `HTTP_PROXY=http://proxy.corp.com:3128`, `HTTPS_PROXY=http://proxy.corp.com:3128`, `NO_PROXY=localhost,internal.corp.com` |
| **Anti-ika ika** | `ENABLE_TLS_FINGERPRINT=true` — nilo `wreq-js` (pẹlu) |
| **Egress-dari / ko si taara wiwọle** | Fi `PROXY_FAIL_OPEN=false` silẹ (aiyipada). Awọn ibeere kuna lile nigbati aṣoju ko si dipo jijo nipasẹ taara. |
| **Legacy / dev — gba ipadabọ taara** | `PROXY_FAIL_OPEN=true`. Mu pada ihuwasi lile ṣaaju: asopọ taara ti a lo nigbati ipinnu aṣoju kuna. |
> **Akiyesi (NVIDIA afọwọsi fori — #3226):** NVIDIA's API-bọtini ìmúdájú ibùdó ibi ìgbẹ́kẹ̀gbẹ́ nígbà tí a bá mú wá lágbàáyé proxy/TLS-patched (undic dispatcher → 504). `src/lib/providers/validation.ts::directHttpsRequest()` mọọmọ fori patch aṣoju fun ipe afọwọsi kan ni lilo `safeOutboundFetch({ bypassProxyPatch: true })`. Eyi jẹ akọsilẹ, iyasọtọ scoped — o ṣe** kii ṣe** ipa chat/usage egress. Ikọja naa jẹ alapin-pin nipasẹ `tests/unit/proxy-bypass-scope-guard-3226.test.ts`.
---
## 9. CLI Ọpa Integration
Ṣakoso bi OmniRoute ṣe ṣe awari ati ṣe ifilọlẹ CLI sidecars (koodu Claude, Codex, ati bẹbẹ lọ).
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| --------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CLI_MODE` | `auto` | `src/shared/services/cliRuntime.ts` | `auto` = wiwa PATH; `manual` = lo awọn ọna ti o fojuhan nikan. |
| `CLI_EXTRA_PATHS` | _(a ko ṣeto)_ | `src/shared/services/cliRuntime.ts` | Awọn titẹ sii PATH ni afikun fun iṣawari alakomeji CLI (ipinya-alakan). |
| `CLI_CONFIG_HOME` | _(a ko ṣeto)_ | `src/shared/services/cliRuntime.ts` | Daju iwe ilana ile fun kika awọn atunto CLI (`~/.claude`, `~/.codex`). Gbọdọ jẹ pipe ati inu ilana ile —** tabi** , ninu apo eiyan, ọna ti a fi dipọ (iyẹn bawo ni `/host-home` ṣe n ṣiṣẹ). Ohunkohun miiran ṣubu pada si dir ile. |
| `CLI_ALLOW_CONFIG_WRITES` | `true` | `src/shared/services/cliRuntime.ts` | Gba OmniRoute laaye lati kọ awọn faili atunto CLI (itura ami, data igba). Ṣeto si `false` lati jẹ ki gbogbo atunto CLI kọ kuna pẹlu aṣiṣe “kọ alaabo” ti o fojuhan. |
| `CLI_CLAUDE_BIN` | `claude` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Claude CLI. |
| `CLI_CODEX_BIN` | `codex` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Codex CLI. |
| `CLI_DROID_BIN` | `droid` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si Droid CLI alakomeji. |
| `CLI_OPENCLAW_BIN` | `openclaw` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji OpenClaw CLI. |
| `CLI_CURSOR_BIN` | `agent`, lẹhinna `cursor` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji oluranlowo Cursor. Laisi rẹ, iṣawari gbiyanju `agent` akọkọ ati ki o ṣubu pada si `cursor`. |
| `CLI_CLINE_BIN` | `cline` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Cline CLI. |
| `CLI_5DIVE_BIN` | `5dive` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji 5dive CLI. |
| `CLI_5DIVE_STATE_DIR` | `/var/lib/5dive` | `src/shared/services/cliRuntime.ts` | 5dive's system state dir (awọn profaili auth ini root); digi 5dive ti ara STATE_DIR aiyipada. |
| `CLI_CONTINUE_BIN` | `cn` | `src/shared/services/cliRuntime.ts` | Ona aṣa lati Tẹsiwaju CLI alakomeji. |
| `CLI_QODER_BIN` | `qodercli` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Qoder CLI. |
| `CLI_QWEN_BIN` | `qwen` | `src/shared/services/cliRuntime.ts` | Ona aṣa si koodu Qwen CLI alakomeji. |
| `CLI_AIDER_BIN` | `aider` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji Aider CLI. |
| `CLI_GOOSE_BIN` | `goose` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Goose CLI. |
| `CLI_WHYCODES_BIN` | `whycodes` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji WhyCodes CLI. |
| `CLI_GEMINI_BIN` | `gemini` | `src/shared/services/cliRuntime.ts` | Ona aṣa si Google Gemini CLI alakomeji — olupin-ẹgbẹ detection/health sọwedowo nikan; `omniroute run gemini` ṣe ipinnu alakomeji `gemini` lati eto PATH. |
| `CLI_KILO_BIN` | `kilocode` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si koodu Kilo CLI alakomeji. |
| `CLI_OPENCODE_BIN` | `opencode` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji OpenCode CLI. |
| `CLI_HERMES_BIN` | `hermes` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji Hermes. Pipin nipasẹ awọn titẹ sii katalogi mejeeji (`hermes` ati `hermes-agent`). |
| `CLI_FORGE_BIN` | `forge` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji ForgeCode CLI. |
| `CLI_JCODE_BIN` | `jcode` | `src/shared/services/cliRuntime.ts` | Ona aṣa si jcode CLI alakomeji. |
| `CLI_DEEPSEEK_TUI_BIN` | `deepseek-tui` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji DeepSeek TUI. |
| `CLI_CODEWHALE_BIN` | `codewhale` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji CodeWhale CLI. |
| `CLI_SMELT_BIN` | `smelt` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji Smelt CLI. |
| `CLI_PI_BIN` | `pi` | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Pi (pi-ifaminsi-oluranlowo). |
| `CLI_CRUSH_BIN` | `crush` | `src/shared/services/cliRuntime.ts` | Ona aṣa si Crush CLI alakomeji. |
| `CLI_OMP_BIN` | `omp` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji aṣoju Oh My Pi (`omp`). |
| `CLI_LETTA_BIN` | `letta` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si alakomeji Letta CLI. |
| `CLI_PRIME_AGENT_BIN` | `prime-agent` | `src/shared/services/cliRuntime.ts` | Ọna aṣa si Alakomeji Aṣoju Alakoso (Prime Intellect). |
| `CLI_WINDSURF_BIN` | _(ko si)_ | `src/shared/services/cliRuntime.ts` | Ona aṣa si alakomeji Windsurf. awọn ọkọ oju omi Windsurf** ko si ase aiyipada** iwari alakomeji — duro ni alaabo titi eyi yoo fi ṣeto. |
| `CLI_DEVIN_BIN` | `devin` | `open-sse/executors/devin-cli.ts` | Ona aṣa si alakomeji CLI Devin v3.8.0). Ti a lo nipasẹ oluṣakoso Windsurf/Devin. |
| `DEVIN_DESKTOP_VERSION` | `3.6.27` | `open-sse/executors/devin-desktop.ts` | Devin Ojú-iṣẹ `ide_version`. Yiyọ kuro gbọdọ lo ọna kika `x.y.z` ; awọn iye ti ko tọ ṣubu pada si aiyipada ti a rii daju. |
| `DEVIN_DESKTOP_EXTENSION_VERSION` | `1.48.2` | `open-sse/executors/devin-desktop.ts` | Dipọ Codeium/language-server `extension_version`, yatọ si `ide_version` Ojú-iṣẹ. Yiyọ kuro gbọdọ lo `x.y.z`; invalid iye lo awọn lapapo aiyipada. |
| `CLI_DEVIN_AGENTIC_BIN` | `devin` | `open-sse/executors/devin-cli-agentic.ts` | Afarada-nikan Devin CLI idojuk. Oluṣeto gba aaye ACP stdio agbegbe nikan ni oke. |
| `DEVIN_AGENTIC_HOME` | _(beere)_ | `open-sse/executors/devin-cli-agentic.ts` | Ile ti o ya sọtọ pipe fun ilana abẹlẹ Devin aṣoju; Awọn ọna afara ti a gba jẹ `/home/bridge` ati awọn ọna-agbegbe `.sandbox` (lori Windows, `C:\...\.sandbox\...`). |
| `DEVIN_AGENTIC_ACP_TIMEOUT_MS` | `120000` | `open-sse/executors/devin-cli-agentic.ts` | Iye akoko ti o pọju ti Devin ACP titan ṣaaju ki afara ba fopin si ọmọ ati ki o da akoko ti o fojuhan pada. |
| `DEVIN_BRIDGE_MODEL` | `devin-cli-agentic/swe-1-7` | `docker/devin-bridge/compose.yml` | Awoṣe koodu Claude akọkọ inagijẹ fun afara ti o ya sọtọ. Ijanu ifiwe rọpo apẹẹrẹ pẹlu awoṣe ti o pada nipasẹ akọọlẹ Devin lọwọlọwọ. |
| `DEVIN_BRIDGE_SONNET_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Inagijẹ afara ti o ya sọtọ ti a lo nigbati koodu Claude n beere aiyipada Sonnet rẹ. |
| `DEVIN_BRIDGE_OPUS_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Inagijẹ afara ti o ya sọtọ ti a lo nigbati koodu Claude n beere aiyipada Opus rẹ. |
| `DEVIN_BRIDGE_HAIKU_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Inagijẹ afara ti o ya sọtọ ti a lo nigbati koodu Claude n beere aiyipada Haiku rẹ. |
| `DEVIN_BRIDGE_SUBAGENT_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Inagijẹ afara ti o ya sọtọ ti a lo fun awọn subagents koodu Claude. |
| `DEVIN_SEAT_API_URL` | `https://server.codeium.com` | `open-sse/services/usage/devinCli.ts` | Yiyan danu fun Codeium ijoko-isakoso API a lo nipasẹ Devin CLI ipin (`GetUserStatus`). |
| `AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Ifiweranṣẹ-ọna pipe fun alakomeji Augment (Auggie) CLI ti olupese `auggie` agbegbe lo. Ṣubu pada si `CLI_AUGGIE_BIN`, lẹhinna wiwa PATH. |
| `CLI_AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Alias danu fun ọna Augment (Auggie) CLI alakomeji (ti a ṣayẹwo lẹhin `AUGGIE_BIN`). |
| `ZCODE_BIN` | `zcode` | `open-sse/executors/zcode.ts` | Alakomeji ti a lo fun alabara stdio olupese `zcode` agbegbe. Ṣubu pada si `zcode` lori PATH. |
| `ZCODE_ARGS` | — | `open-sse/executors/zcode.ts` | JSON array (awọn okun ≤ 16) ti awọn ariyanjiyan afikun ti o kọja si alakomeji `zcode` nigbati a ṣe ifilọlẹ nipasẹ `cliTools`. |
| `ZCODE_CWD` | `process.cwd()` | `open-sse/executors/zcode.ts` | Ilana iṣẹ fun ZCode app-server subprocess. |
| `ZCODE_TRANSPORT` | `app-server` | `open-sse/executors/zcode.ts` | `app-server` (aiyipada) tabi `gateway`.** Idanwo / ko ṣe atilẹyin:** `gateway` firanṣẹ taara Z.AI Ifaminsi Eto HTTP awọn ibeere nipa atunda ilana ilana alabara ZCode (fifọwọwọwọ ọwọ ati akọsori ẹri-iṣẹ ti alabara 0.16.9) ati pe o le fọ nigbati awọn imudojuiwọn ZCode. O gba nikan profaili Eto ifaminsi Olukuluku. |
| `ZCODE_PROVIDER_ID` | `account:zai-individual-coding-plan` | `open-sse/executors/zcode.ts` | Gangan profaili olupese olupese fun awoṣe yiyan. Nigbati a ko ṣeto, profaili akọọlẹ Eto Olukuluku ni a lo, ti o pada sẹhin si `builtin:zai-coding-plan` (titẹsi atunto ti o di bọtini Eto Ifaminsi Olukuluku mu). Ṣeto ID gangan gẹgẹbi `account:zai-start-plan` lati pin profaili yẹn; profaili pinni ko ṣubu sẹhin. |
| `ZCODE_SERVER_RUNTIME_ROOT` | `~/.zcode/server` | `open-sse/executors/zcode.ts` | Gbongbo ti akoko asiko ṣiṣe olupin ZCode app-olupin (nibiti `node` ati `zcode-server.cjs` ti n gbe laaye). |
| `ZCODE_SERVER_NODE` | `/node` | `open-sse/executors/zcode.ts` | Node executable lo lati gbalejo ZCode app-server. |
| `ZCODE_SERVER_ENTRY` | `/zcode-server.cjs` | `open-sse/executors/zcode.ts` | Iwe afọwọkọ titẹsi olupin App-lo lati gbalejo olupin ZCode naa. |
| `ZCODE_STARTUP_TIMEOUT_MS` | `10000` | `open-sse/executors/zcode.ts` | Ibẹrẹ akoko ipari (ms) ṣaaju ifilọlẹ ZCode app-server ni a ka pe o kuna. |
| `ZCODE_RPC_TIMEOUT_MS` | `30000` | `open-sse/executors/zcode.ts` | Fun akoko-akoko RPC (ms) beere fun ipe olupin-app ZCode. |
| `ZCODE_TURN_TIMEOUT_MS` | `120000` | `open-sse/executors/zcode.ts` | Iye akoko to pọ julọ (ms) titan ZCode kan ṣaaju ki alabojuto ni akoko rẹ jade. |
| `ZCODE_POLL_INTERVAL_MS` | `250` | `open-sse/executors/zcode.ts` | Àárín àkókò ìdìbò (ms) fún ìparí yíyí ZCode. |
| `MINIMAX_CODE_GATEWAY_URL` | `https://agent.minimax.io/mavis/api/v1/llm/v1/messages` | `open-sse/executors/minimaxCodeGateway.ts` | Oju-ọna ipari ti ẹnu-ọna MiniMax iṣakoso ti o dahun pẹlu awọn ipe ohun elo abinibi. O jẹ aaye ipari inu ti ohun elo koodu MiniMax, kii ṣe igbasilẹ API ti gbogbo eniyan: o le yipada laisi akiyesi, ati pe ibeere naa kuna pẹlu 502 ti o lorukọ gbigbe naa. |
| `MINIMAX_CODE_GATEWAY_TIMEOUT_MS` | `60000` | `open-sse/executors/minimax-code.ts` | Iye akoko ti o pọju (ms) ti igbiyanju ẹnu-ọna iṣakoso kan. Gbogbo ipe (igbiyanju, ifẹhinti, igbiyanju ọkan) duro ni iṣẹju meji, nitorinaa ẹnu-ọna ti ko le de ọdọ ko le mu iho awoṣe kan fun pipẹ. |
| `MINIMAX_CODE_GATEWAY_RETRIES` | `1` | `open-sse/executors/minimaxCodeGateway.ts` | Awọn igbiyanju ipe ẹnu-ọna iṣakoso ti o kuna pẹlu aṣiṣe igba diẹ (429, 5xx, asopọ silẹ). |
| `MINIMAX_CODE_CONTEXT_WINDOW` | `1000000` | `open-sse/executors/minimaxCodeGateway.ts` | Ferese ti o tọ ti ẹnu-ọna MiniMax ti iṣakoso ti beere fun. Katalogi awoṣe ti ọja koodu MiniMax sọ 512000 bi window aiyipada ti MiniMax-M3 ati MiniMax-M3.1-Flash ati pe o funni ni 1000000 bi ọkan keji; awọn idahun ẹnu-ọna ninu awọn ti o tobi window (ìbéèrè ti 1024056 input àmi ti a si dahùn pẹlu 200 lori 2026-10-23). Ṣeto eyi si 512000 lati dín ibeere — ero naa ka kere si. Gbogbo iye miiran ni a kọbikita, nitorinaa typo ko le beere fun window ti awoṣe ko ni. |
| `MINIMAX_CODE_MAX_INPUT_TOKENS` | `1000000` | `open-sse/executors/minimaxCodeGateway.ts` | Aja (ninu awọn ami titẹ sii) ti ibeere kan ti o firanṣẹ si ẹnu-ọna MiniMax ti iṣakoso. A o tobi ìbéèrè ti wa ni kọ tibile pẹlu kan 413 dipo ti a firanṣẹ siwaju, nitori a kþ ti ẹnu-ọna tilekun awọn awoṣe jade ti awọn fallbacks. Awọn aiyipada ni awọn ti o tọ ferese ti ẹnu-ọna (1000000); iye yii le dinku orule yẹn, ko gbe e ga ju window naa lọ. |
| `MINIMAX_CODE_MAX_TOKENS` | `8192` | `open-sse/executors/minimaxCodeGateway.ts` | Nọmba ti o pọju ti awọn ami ti ẹnu-ọna iṣakoso le dahun pẹlu. |
| `MINIMAX_CODE_AUTH_FILE` | `~/.minimax/auth/prod//mcode-public/auth.json` | `open-sse/executors/minimaxCodeGateway.ts` | Ona profaili auth koodu MiniMax ti o ni iraye si ati ami isọdọtun. |
| `MINIMAX_CODE_PROFILE_DIR` | `~/.minimax` | `open-sse/executors/minimaxCodeGateway.ts` | Itọsọna profaili koodu MiniMax ti o di profaili auth mu. |
| `MINIMAX_CODE_AUTH_RECORD` | _(iran tuntun)_ | `open-sse/executors/minimaxCodeGateway.ts` | Igbasilẹ profaili lati lo nigbati o di awọn iroyin pupọ mu. Ofo yan iran tuntun, eyiti o jẹ ọkan ti CLI funrarẹ n tu. |
| `MINIMAX_CODE_REGION` | `en` | `open-sse/executors/minimaxCodeGateway.ts` | Ekun ti iroyin MiniMax. O pinnu aaye ipari akọọlẹ ti o sọ ami-ami naa sọtun ati itọsọna profaili ti a ka iwe-ẹri naa. |
| `HERMES_HOME` | `~/.hermes` | `src/lib/cli-helper/config-generator/hermesHome.ts` | Hermes Agent ile liana ibi ti OmniRoute reads/writes awọn Hermes CLI konfigi. Baramu env var ti Hermes PowerShell insitola ṣeto lori Windows (`%LOCALAPPDATA%\hermes`). |
| `WHYCODES_HOME` | `~/.whycodes` | `src/lib/cli-helper/config-generator/whycodesHome.ts` | WhyCodes apeere root nibiti OmniRoute reads/writes `config.toml`. Kanna env var WhyCodes ka; aiyipada si `~/.whycodes` (`%USERPROFILE%\.whycodes` lori Windows). |
### CLI Profaili Auto-Sync
Awọn asia ẹya wọnyi wa ni ijade ati aiyipada. Wọn tun le yipada lati dasibodu koodu CLI.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------- | -------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_AUTO_SYNC_CODEX_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Lẹhin imuṣiṣẹpọ awoṣe olupese kan, ṣe atunko awọn faili profaili `~/.codex/*.config.toml` laifọwọyi lati inu katalogi laaye. Nbeere `CLI_ALLOW_CONFIG_WRITES`; ko ṣe ayipada atunto active/default Codex, auth, awọn eto Codex-lb, tabi yiyan olupese. |
| `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Lẹhin imuṣiṣẹpọ awoṣe olupese kan, ṣe atunko awọn faili profaili koodu `~/.claude/profiles//settings.json` Claude laifọwọyi lati inu katalogi laaye. O nilo `CLI_ALLOW_CONFIG_WRITES`; ko ṣe ayipada atunto active/default Claude, auth, tabi yiyan olupese. |
### Docker Apeere
```bash
# Mount host binaries into the container and tell OmniRoute where they are:
CLI_EXTRA_PATHS=/host-cli/bin
CLI_CONFIG_HOME=/host-home
CLI_ALLOW_CONFIG_WRITES=true
CLI_CLAUDE_BIN=/host-cli/bin/claude
```
`CLI_CONFIG_HOME` nikan yoo ni ipa nigbati ọna naa ba jẹ asopọ gangan lati ọdọ — agbalejo so pọ pẹlu awọn gbeko bii `~/.codex:/host-home/.codex:rw` (wo profaili `host` ni `docker-compose.yml`). Ọ̀nà tí kò sí nínú ilé aṣàmúlò eiyan tàbí òkè ìdè ni a kọbi sí, nítorí kíkọ̀ níbẹ̀ yóò jẹ́ aṣálẹ̀ nígbà tí a bá tún eiwé náà ṣe.
Aworan naa nṣiṣẹ bi `USER node`, nitorinaa `/root` ti a ko gbe ni** kii ṣe** a wulo danu.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------------------- | ------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_CONTAINER` | _(laifọwọyi)_ | `src/shared/utils/containerEnv.ts` | Fi agbara mu wiwa apoti (`1`/`true`) tabi pipa (`0`/`false`). Ti nilo nikan ni awọn akoko ṣiṣe ni wiwa aifọwọyi padanu. |
| `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE` | `false` | `src/shared/services/cliRuntime.ts` | Gba CLI-tool konfigi kọ sinu ohun unmounted eiyan ona lonakona. CLI deede jẹ `--allow-container-write`. |
| `DOCKER_UPDATE_TRIGGER_FILE` | unset | `src/lib/system/autoUpdate.ts` | Docker aworan nikan: Dasibodu** Ṣe imudojuiwọn Bayi** kọ ibeere JSON kan si faili yii (gbọdọ wa ni inu `DATA_DIR`) fun oluṣọ ẹgbẹ-ogun lati fa ati tun ṣe apoti naa. Wo [itọsọna Docker](../guides/DOCKER_GUIDE.md#dashboard-updates-in-docker). |
### CLI Alakomeji (`omniroute`) awọn oluranlọwọ
Awọn oniyipada wọnyi ṣe atunṣe ihuwasi alakomeji `omniroute` CLI (kii ṣe iwari ẹgbẹ ẹgbẹ loke).
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------- | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_LANG` | _(eto)_ | `bin/cli/i18n.mjs` | Fi agbara mu ede jade CLI. BCP-47 agbegbe (fun apẹẹrẹ `en`, `pt-BR`). Paarẹ eto agbegbe env vars (LC_ALL, LC_MESSAGES). |
| `OMNIROUTE_SHOW_LOG` | _(a ko ṣeto)_ | `bin/cli/runtime/processSupervisor.mjs` | Ṣeto si `1` lati dari stdout/stderr olupin si ebute ni ipo abojuto. Dogba si asia `--log` lori `omniroute serve`. |
| `OMNIROUTE_CLI_TOKEN` | _(a ko ṣeto)_ | `bin/cli/api.mjs` | Aami-ifọwọsi ẹrọ itasi bi akọsori `x-omniroute-cli-token`. Ti ipilẹṣẹ aifọwọyi ni iṣẹ-ṣiṣe 8.12. |
| `GEMINI_CLI_HOME` | _(a ko ṣeto)_ | `bin/cli/commands/setup-gemini.mjs` | Gbongbo ile Gemini ti o duro; ọkan-shot run nlo kan ibùgbé sọtọ ile. |
| `OMNIROUTE_CHILD_SIGNAL_TIMEOUT_MS` | `5000` | `bin/cli/commands/run.mjs` | Akoko oore-ọfẹ ni awọn iṣẹju-aaya ṣaaju ipa-ipa ọmọ CLI ti o ni ami. |
| `OMNIROUTE_CLI_SKIP_DEFAULT_DATA_ENV` | _(a ko ṣeto)_ | `bin/omniroute.mjs` | Ṣeto si 1 pẹlu DATA_DIR ti o fojuhan lati fo faili ayika-itọsọna data olumulo aiyipada. |
| `OMNIROUTE_SYNC_TOKEN` | _(a ko ṣeto)_ | `bin/cli/commands/sync.mjs` | Àmi ìsiṣẹpọ fún `omniroute sync bundle` (`GET /api/sync/bundle` gba àmi ìsiṣẹpọ kan, kii ṣe bọtini API kan). Ni deede si `--token`. |
| `OMNIROUTE_HTTP_TIMEOUT_MS` | `30000` | `bin/cli/api.mjs` | Fun igba akoko-akoko HTTP (ms) fun awọn ibeere olupin CLI →. |
| `OMNIROUTE_READY_TIMEOUT_MS` | `60000` | `bin/cli/utils/pid.mjs` | Akoko ti o pọju (ms) CLI n duro de aaye ipari ilera olupin ṣaaju titẹ ikilọ akoko ipari kan. Wulo fun awọn ibẹrẹ otutu ti o lọra (fun apẹẹrẹ Windows). Tun ṣeto nipasẹ `--ready-timeout`. |
| `OMNIROUTE_VERBOSE` | `0` | `bin/cli/api.mjs` | Ṣeto si `1` lati tẹ awọn iwadii retry/backoff si stderr lakoko awọn pipaṣẹ CLI. |
| `OMNIROUTE_PLUGIN_PATH` | _(a ko ṣeto)_ | `bin/cli/plugins.mjs` | Itọsọna aṣa fun iṣawari ohun itanna CLI (awọn idii `omniroute-cmd-*` ). Aiyipada si `~/.omniroute/plugins/` nigbati a ko ṣeto. CLI-nikan — ko de ọdọ ẹrọ iwoye ohun itanna ẹgbẹ olupin, eyiti o tọka nipasẹ `OMNIROUTE_PLUGINS_DIR` (apakan 2). |
| `OMNIROUTE_NO_UPDATE_NOTIFIER` | _(a ko ṣeto)_ | `bin/omniroute.mjs` | Pa awọn sọwedowo imudojuiwọn nigbati o ba ṣeto si eyikeyi iye ti ko ṣofo: akiyesi CLI ni ijade ilana ati dasibodu “imudojuiwọn ti o wa” asia (`GET /api/system/version` lẹhinna fo npm, GitHub ati awọn wiwa iroyin). Akiyesi CLI naa tun wa ni pipa ni CI, ipo idakẹjẹ, ati abajade ti kii ṣe ọrọ. |
| `OMNIROUTE_DOCTOR_LIVENESS_URL` | _(ti ari)_ | `bin/cli/commands/doctor.mjs` | Liveness URL wadi nipa `omniroute doctor`. Aṣayan `livenessUrl` eto kan gba iṣaaju; bibẹkọ ti yi iye ti wa ni lo verbatim. Ti ko ṣeto, CLI n gba aaye ipari `/api/health/degradation` dasibodu agbegbe naa. |
| `OMNIROUTE_PROVIDER_CATALOG_PATH` | `src/shared/constants/providers/` | `bin/cli/provider-catalog.mjs` | Ona katalogi olupese ti a lo nipasẹ awọn aṣẹ olupese CLI. Aṣayan `catalogPath` eto kan gba iṣaaju. Awọn ọna pipe ni a lo bi-jẹ; ojulumo ona yanju lati root ise agbese. Ti a ko ṣeto, CLI naa nlo itọsọna awọn iduro nigbagbogbo ti olupese, pẹlu faili `providers.ts` julọ bi ipadasẹhin. |
| `OMNIROUTE_PROVIDER_TEST_MODEL` | _(aiyipada olupese)_ | `bin/cli/provider-test.mjs` | Awoṣe isubu agbaye fun awọn idanwo asopọ olupese CLI. Iṣaju iṣaju jẹ atunto awoṣe asopọ, awoṣe olupese-pato ti dopin, iye yii, lẹhinna awoṣe idanwo ti a ṣe sinu olupese. |
---
## 10. Ti abẹnu Aṣoju & MCP Integration
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_BASE_URL` | auto-ri | `open-sse/mcp-server/server.ts` | URL ti o fojuhan fun awọn irinṣẹ MCP/A2A lati de ọdọ OmniRoute. Nfori wiwa aifọwọyi localhost. awọn ọgbọn A2A kuna dipo fifiranṣẹ bọtini API kan si URL yii (tabi `BASE_URL` ti o ṣubu pada si) nigbati o jẹ itele http si adirẹsi gbogbo eniyan, orukọ olupin ti o ni aami tabi agbalejo metadata awọsanma, tabi mu awọn iwe-ẹri mu: lo https, tabi http si loopback, apoti kan tabi orukọ iṣẹ, tabi adirẹsi ikọkọ. |
| `OMNIROUTE_API_KEY` | _(a ko ṣeto)_ | MCP/A2A modulu | bọtini API fun awọn ipe irinṣẹ MCP inu. Awọn ọgbọn A2A firanṣẹ nikan fun olupe kan laisi bọtini API (akoko dasibodu); olupe ti o ni bọtini kan ṣe pẹlu tirẹ. |
| `OMNIROUTE_API_KEY_ID` | _(a ko ṣeto)_ | `open-sse/mcp-server/audit.ts` | Bọtini ID fun ikasi iwe iṣayẹwo MCP. |
| `ROUTER_API_KEY` | _(a ko ṣeto)_ | Ogún | Inagijẹ Legacy fun `OMNIROUTE_API_KEY`. |
| `OMNIROUTE_A2A_HISTORY_RETENTION_DAYS` | `30` | `src/lib/a2a/taskManager.ts` | Awọn ọjọ ti itan-ṣiṣe iṣẹ-ṣiṣe A2A ti a fipamọ sinu ibi ipamọ data agbegbe ṣaaju ki o to sọ di mimọ lojoojumọ paarẹ ọna kan. Ti ko ṣeto, kii ṣe nomba, tabi `<= 0` ṣubu pada si `30`. |
| `OMNIROUTE_A2A_MEMORY_HITS` | `1` | `src/lib/a2a/taskExecution.ts` | Pa-yipada fun A2A iranti-deba observability ẹya-ara. Ṣeto si `0` lati foju wiwa iranti iranti fun iṣẹ kan patapata; eyikeyi miiran iye (pẹlu unset) ntọju o sise. |
| `OMNIROUTE_ISSUE_AGENT_ENABLED` | `false` | `src/app/api/issue-agent/runs/route.ts` | Nṣiṣẹ Aṣoju Issue offline/local ti o gbasilẹ-ipin aaye ipari. Fi silẹ ni alaabo ayafi ti o ba n ṣiṣẹ ni gbangba ti o gbasilẹ-iṣisẹ iṣẹ agbegbe. |
| `OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS` | _(a ko ṣeto)_ | `src/lib/issueAgent/execution.ts` | Aago akoko (ms) fun Aṣoju Ọrọ kan ti o gbasilẹ-iṣiro ṣiṣe. Clamped si ohun ti abẹnu o pọju; ṣubu pada si aiyipada ti a ṣe sinu rẹ nigbati a ko ṣeto tabi aiṣedeede. |
| `OMNIROUTE_CONTEXT` | _(ọrọ ti nṣiṣẹ)_ | `bin/cli/program.mjs`, `bin/cli/api.mjs` | CLI ọna jijin-ọna context/profile fun awọn aṣẹ `omniroute` ; dojuiwọn ọgangan ti nṣiṣe lọwọ ni ile itaja awọn ọrọ agbegbe. Ni deede si `--context `. |
| `OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED` | `0` | `bin/cli/contexts.mjs` | Pa ẹyìn `keytar` OS-keychain iyan fun awọn ẹrí ọrọ ọrọ CLI. Nigbati o ba ṣiṣẹ, awọn iwe-ẹri wa ni ipo `config.json` `0600` ati pe CLI njade ikilọ ipadasẹhin akoko kan; ti a pinnu fun ṣiṣe headless/container mọọmọ. |
| `OMNIROUTE_MCP_ENFORCE_SCOPES` | `false` | `open-sse/mcp-server/server.ts` | Fi agbara mu iṣakoso iwọle ti o da lori iwọn lori awọn ipe irinṣẹ MCP. |
| `OMNIROUTE_MCP_SCOPES` | _(gbogbo)_ | `open-sse/mcp-server/server.ts` | Awọn aaye ti o ya sọtọ komama: `admin`, `combos`, `health`, `models`, `routing`, `budget`, `metrics`, `pricing`, `memory`, `skills`. |
| `OMNIROUTE_PPLX_RESEARCH_ENABLED` | `0` | `open-sse/mcp-server/tools/perplexityResearch.ts` | Forukọsilẹ Perplexity Jin Research MCP ọpa. Nikan `1` forukọsilẹ rẹ; ohunkohun miiran fi kuro. |
| `OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS` | `false` | `open-sse/mcp-server/descriptionCompressor.ts` | Tẹ awọn apejuwe irinṣẹ MCP ṣaaju ki o to serializing ifihan. Mu awọn iye ṣiṣẹ: `1`, `true`, `on`. |
| `OMNIROUTE_MCP_DESCRIPTION_COMPRESSION` | `rtk` | `open-sse/mcp-server/descriptionCompressor.ts` | Funmorawon algorithm/profile. Muu awọn iye: `0`, `false`, `off`. |
| `OMNIROUTE_MCP_FETCH_TIMEOUT_MS` | `10000` | `open-sse/mcp-server/fetchTimeout.ts` | Isuna abrt (ms) fun iṣakoso inu olupin MCP-ilera (ilera, resilience, combos, ipin, lilo). |
| `OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS` | `60000` | `open-sse/mcp-server/fetchTimeout.ts` | Isuna owo-ori (ms) fun MCP hops ti o duro de olupese (`route_request`, `web_search`, `web_fetch`). |
| `OMNIROUTE_MCP_SESSION_IDLE_MS` | `300000` | `open-sse/mcp-server/httpTransport.ts` | TTL (ms) laišišẹ ṣaaju ki gbigba ikore igba ṣiṣan MCP ti ko ṣiṣẹ. Igba kan pẹlu ṣiṣan ṣiṣi tabi ibeere inu ọkọ ofurufu ko ni ikore rara. Ti ko ṣeto, ti kii ṣe odidi, tabi awọn iye ti kii ṣe rere ṣubu pada si aiyipada. |
| `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | `src/lib/localCorpus/configured.ts` | Nọmba ti o pọ julọ ti awọn apẹẹrẹ atọka agbegbe-corpus ti a fipamọ sinu iranti (LRU, ọkan fun ilana atọka root). Dimọ si o kere `1`. |
| `MODEL_SYNC_INTERVAL_HOURS` | `6` | `src/shared/services/modelSyncScheduler.ts` | Awoṣe katalogi amuṣiṣẹpọ ni awọn wakati. |
| `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES` | `70` | `src/lib/usage/providerLimits.ts` | Oṣuwọn olupese-ipin-ipin ati aarin idibo ipin. |
| `PROVIDER_LIMITS_SYNC_SPACING_MS` | `1500` | `src/lib/usage/providerLimits.ts` | Aafo (ms) laarin itẹlera OAuth iye owo ni amuṣiṣẹpọ olopobobo; awọn asopọ OAuth ni a mu ọkan ni akoko kan lati yago fun ti nwaye ni oke. `0` yọ kuro (ni igbakanna). |
| `OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS` | `250` | `open-sse/services/quotaFetchThrottle.ts` | Min aarin (ms) laarin itẹlera oke iye owo lori ọna preflight/monitor fun-ibere; awọn aaye awọn ipe nẹtiwọọki nigbakanna ọpọlọpọ awọn akọọlẹ lori IP kan ko ti nwaye ni oke. Ti firanṣẹ sinu Codex (`/wham/usage`), DeepSeek, Bailian (awọn aaye mejeeji ti o gba), OpenCode, ati awọn olufẹ ipin Crof (#6009, #6911). Ọna fifiranṣẹ jeneriki `usage.ts::getUsageForProvider` (github/glm/minimax/nanogpt/xai/etc.) ko tii bo — tọpinpin lọtọ. Kaṣe deba ko fowo. `0` mu ṣiṣẹ; dimole `0..60000`. |
| `OMNIROUTE_QUOTA_FETCH_JITTER_MS` | `120` | `open-sse/services/quotaFetchThrottle.ts` | Afikun aaye laileto fun ibeere kọọkan (ms), ti a ṣe ayẹwo ni wiwa ipin oke ti o wa ni ipamọ kọọkan. Awọn aṣiṣe si 120; clamped `0..60000`; `0` yọ nikan jitter. Ṣeto `OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS=0` lati mu gbogbo finasi kuro. Jitter ko ṣe iṣeduro idena ti awọn idinamọ oke. |
| `CODEX_QUOTA_FETCH_TIMEOUT_MS` | `8000` | `open-sse/services/codexQuotaFetcher.ts` | Àkókò (ms) fún àkóta Codex kan ṣoṣo (`chatgpt.com/backend-api/wham/usage`). Ọkọ ofurufu ti nduro fun wiwa yii ṣaaju fifiranṣẹ ibeere naa. Lẹhin akoko idaduro tabi aṣiṣe gbigbe, aworan ti o kẹhin lati awọn iṣẹju 15 sẹhin yoo tun lo ayafi ti ferese rẹ ba ti rẹ tabi ti tunto; pẹlu ko si, awọn ipin jẹ aimọ, ki a san-kirẹditi iroyin ti wa ni skipped fun awọn ti o ìbéèrè ko si si itutu ti wa ni taku. Gba odidi rere to `2147483647`; eyikeyi miiran iye ṣubu pada si awọn aiyipada. |
| `PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS` | `5000` | `src/lib/usage/providerLimits.ts` | Idaduro (ms) ṣaaju awọn opin opin olupese onitura lẹhin iṣẹlẹ lilo gidi kan, fifun ni akoko API oke oke lati forukọsilẹ agbara. |
| `OMNIROUTE_LOGIN_BROWSER_PATH` | auto-ri | `open-sse/services/adobeFireflyBrowserLogin.ts` | Ọna pipe si eto Chrome tabi ṣiṣiṣẹ Edge ti a lo fun iwọle Adobe Firefly ibaraenisepo ati isọdọtun pipa loju iboju. |
| `ADOBE_FIREFLY_BROWSER_REFRESH` | ṣiṣẹ | `open-sse/services/adobeFireflySession.ts` | Ṣe itọju IMS ati ipo eewu aṣawakiri tuntun pẹlu awọn akoko CDP Chrome-dopin. Ṣeto si `0` lati mu isọdọtun ẹrọ aṣawakiri ṣiṣẹ. |
| `ADOBE_FIREFLY_SESSION_DISK` | ṣiṣẹ | `open-sse/services/adobeFireflySession.ts` | Tẹsiwaju ni atunṣe awọn akoko Adobe labẹ `DATA_DIR` kọja awọn atunbere ilana. Ṣeto si `0` lati tọju awọn akoko iranti-nikan. |
| `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Aye to kere julọ ni awọn iṣẹju-aaya laarin Adobe Firefly ṣe awọn ifisilẹ; `0` mu aaye kuro. |
| `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Afikun akoko idakẹjẹ ni awọn iṣẹju-aaya lẹhin gbogbo aṣeyọri Adobe kẹta ti aṣeyọri. |
| `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyClient.ts` | Base backoff ni milliseconds lẹhin awọn idahun Adobe 408 igba diẹ; ni idapo pelu aye silẹ kọja ni julọ marun igbiyanju. |
| `OMNIROUTE_DISABLE_BACKGROUND_SERVICES` | `false` | `src/instrumentation-node.ts` | Pa gbogbo awọn iṣẹ abẹlẹ kuro: isọdọtun ipin, amuṣiṣẹpọ-awọn opin olupese, imularada asopọ, ilera ijẹrisi, ìsiṣẹpọ cloud/model/free-proxy/proxy-health, mimọ idaduro, VACUUM ti a ṣeto ati awọn eto ibo ibo gbigbona. Wulo fun CI/test; lori fifi sori ẹrọ ti n ṣiṣẹ pipẹ, awọn asopọ ko ṣe atunṣe-laifọwọyi ati data data n tẹsiwaju lati dagba. |
| `OMNIROUTE_HEADLESS` | _(a ko ṣeto)_ | `src/lib/system/headless.ts` | Aṣoju-ẹnjini-nikan bata: foo awọn eto abẹlẹ aṣayan, `/dashboard` → 404. Kanna bi `omniroute serve --headless`. Wo [HEADLESS.md](../guides/HEADLESS.md). |
| `OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS` | _(a ko ṣeto)_ | `src/lib/config/runtimeSettings.ts` | Fi agbara mu awọn iṣẹ ṣiṣe abẹlẹ labẹ wiwa idanwo adaṣe. Ṣeto `1` lati dojuiwọn heuristic idanwo naa. |
| `OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS` | `600000` | `src/lib/jobs/budgetResetJob.ts` | Atunto isuna ayẹwo cadence (ms). Ilẹ `10000`. |
| `OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS` | `60000` | `src/lib/quota/connectionRecovery.ts` | Asopọmọra-itumọ imularada cadence (ms): tun-fọwọsi awọn isopọ ti `rate_limited_until` igba diẹ ti kọja, kuro ni ọna gbigbona ibeere. Ilẹ `5000`. |
| `OMNIROUTE_DISABLE_CONNECTION_RECOVERY` | `false` | `src/lib/quota/connectionRecovery.ts` | Pa oluṣeto imularada isopo-itutu kuro (imularada ọlẹ ni `getProviderCredentials` ṣi kan). |
| `OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS` | `1800000` | `src/lib/jobs/reasoningCacheCleanupJob.ts` | Idiyemọ kaṣe afọmọ cadence (ms). Ilẹ `60000`. |
| `OMNIROUTE_REASONING_MIN_BUDGET` | _unset_ (alaabo) | `open-sse/services/reasoningTokenBuffer.ts` | Ilẹ-ilẹ ti ijade fun awọn isuna-iṣafihan ero-awoṣe: olupe `max_tokens` ni `[256, floor)` ni a gbe soke si ilẹ-ilẹ (fipa nipasẹ fila iṣelọpọ awoṣe). Unset = onibara isuna ko gbooro (#9507). |
| `OMNIROUTE_REASONING_EFFORT_PROBE_PROVIDERS` | _unset_ (alaabo) | `open-sse/services/learnedReasoningEffortCaps.ts` | Jade, awọn ids olupese ti o ya sọtọ komama (tabi `*`): nigbati awọn orukọ `reasoning_effort` 400/422 ko si eto ti a gba, tun gbiyanju ni ẹẹkan ipele isalẹ (ko ni isalẹ `low`) ki o kọ ẹkọ ipele yẹn nikan ti o ba dahun ibeere naa (#14895). |
| `OMNIROUTE_LOG_EXPORT_CRON` | `0 * * * *` | `src/lib/jobs/logExportJob.ts` | Ikosile Cron (UTC) fun iṣẹ okeere ipe-log ti o fa gbogbo opin irin ajo wọle-okeere ti o ṣiṣẹ. Ṣe ayanfẹ `*/5 * * * *` nigbati o ba njade awọn ara ilu okeere. |
| `OMNIROUTE_LOG_EXPORT_RUN_TIMEOUT_MS` | `900000` | `src/lib/logExport/childRunner.ts` | Aago odi-akoko ọmọ ni ibi-afẹde ni milliseconds. Aago igbasilẹ ikuna ati pa ilana naa laisi ilọsiwaju ipele ti a ko gba. awọn iye Invalid/non-positive/non-integer lo aiyipada. |
| `OMNIROUTE_LOG_EXPORT_CHILD_MAX_OLD_SPACE_MB` | `1024` | `src/lib/logExport/childRunner.ts` | Node okeere ọmọ V8 atijọ-aaye iye to ni MB (ko lapapọ RSS). Aiyipada fi ori yara silẹ fun awọn ori ila 500 ti awọn ohun-ọṣọ ti o ni awọn ara; awọn ipele ti o tobi ju le tun mu okiti ọmọ kuro. Ikuna ni imọran didin iwọn ipele silẹ tabi igbega iwọn yii. awọn iye Invalid/non-positive/non-integer lo aiyipada. awọn okeere Bun ṣubu pada ni ilana laisi opin yii. |
| `OMNIROUTE_CONFIG_HOT_RELOAD_MS` | `5000` | `src/lib/config/hotReload.ts` | Idibo aarin (ms) fun atunto gbona-tun gbee. Isalẹ ju `1000` ti kọ. |
| `OMNIROUTE_DISABLE_REDIS_AUTH_CACHE` | _(ṣiṣẹ)_ | `src/lib/db/apiKeys.ts` | Ṣeto `1` lati fori kaṣe bọtini auth API-ti ṣe atilẹyin Redis (fi agbara mu DB kika). |
| `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | `0` | `open-sse/services/compression/engines/rtk/filterLoader.ts` | Gbẹkẹle awọn ofin àlẹmọ iṣẹ akanṣe RTK iṣakoso olumulo laisi awọn sọwedowo ibuwọlu ti o muna. |
| `OMNIROUTE_LITE_MAX_TOOL_LENGTH` | `2000` | `open-sse/services/compression/lite.ts` | Fila ohun kikọ fun idajade abajade irinṣẹ irinṣẹ alakoko nigbati `lite.maxToolLength` ko ṣeto. Iwọn 256-1000000. Eto Dasibodu bori lori env yii. |
| `OMNI_COMPRESSION_WORKERS` | `2` | `open-sse/services/compression/compressionWorkerPool.ts` | O pọju awọn oṣiṣẹ RTK/Caveman amuṣiṣẹpọ nigbakan; excess ise duro FIFO. |
| `OMNI_COMPRESSION_WORKER_TIMEOUT_MS` | `120000` | `open-sse/services/compression/compressionWorkerPool.ts` | Ipari-iṣẹ-iṣẹ ni awọn miliọnu iṣẹju. Awọn oṣiṣẹ ti akoko ti pari ati pe ibeere naa kuna ṣiṣi silẹ ko yipada. |
| `OMNI_COMPRESSION_WORKER_IDLE_MS` | `60000` | `open-sse/services/compression/compressionWorkerPool.ts` | Igbesi aye aisinipo ni awọn iṣẹju-aaya ṣaaju ki oṣiṣẹ funmorawon ti ko lo ti fopin si. |
| `OMNI_COMPRESSION_WORKER_MAX_OLD_MB` | `1024` | `open-sse/services/compression/compressionWorkerPool.ts` | V8 òkiti òkiti-iran atijọ ni MB fun oṣiṣẹ funmorawon kọọkan, gbogbo awọn ipo ( `128` pakà). Iṣẹ kan ti o kọja rẹ kuna ṣiṣi silẹ (ti ko ni titẹ) dipo dida okiti ẹnu-ọna. |
| `COMPRESSION_PIPELINE_BREAKER_ENABLED` | `false` | `open-sse/services/compression/pipelineEngineBreaker.ts` | T02 tolera-pipeline fun-engine Circuit-fifọ titunto si yipada.** Jade (pa aiyipada)** — nigbati o wa lori, engine ti o ju leralera kọja awọn ibeere ti wa ni skipped (kuna-ìmọ) fun a cooldown; pa = baiti-aami julọ iwa. |
| `COMPRESSION_PIPELINE_BREAKER_THRESHOLD` | `3` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Awọn ikuna ibeere irekọja ni itẹlera ṣaaju ki ẹrọ fifọ ẹrọ kan ṣii. |
| `COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS` | `30000` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Milliseconds ohun-ìmọ engine duro skipped ṣaaju ki o to kan idaji-ìmọ ibere. |
| `COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR` | `2` | `open-sse/services/compression/engines/ccr/index.ts` | T08/H8 CCR imupadabọ-esi rampu: igbapada kọọkan ṣaaju ti bulọọki ti o fipamọ ṣe jijade `minChars` ti o munadoko rẹ ni laini (akoonu ti a gba pada nigbagbogbo kere si; `>=3` retrievals = rara fisinuirindigbindigbin). `1` mu rampu naa kuro (fofo alakomeji ni iloro nikan). |
| `COMPRESSION_CCR_DURABLE_STORE` | `true` | `open-sse/services/compression/engines/ccr/index.ts` | CCR ti o tọ itaja Àkọsílẹ (#9061). Ṣe atilẹyin ile itaja in-memory pẹlu SQLite nitoribẹẹ bulọki kan yege itusilẹ LRU, TTL, tun bẹrẹ, tabi ibalẹ gba pada lori apẹẹrẹ miiran. Ṣeto `false` lati tọju awọn bulọọki ni iranti nikan. Awọn bulọọki ti o ju 512KB ati awọn akoko ṣiṣe awọsanma duro iranti-nikan laibikita. |
| `COMPRESSION_PREFIX_FREEZE_ENABLED` | `false` | `open-sse/services/compression/prefixFreeze.ts` | T08/H5 akiyesi lilo-ṣakiyesi ìpele di titunto si yipada.** Jade (pa aiyipada)** — nigba ti o wa ni titan, eto kiakia ti a ṣe akiyesi `>=` ala ni a ṣe itọju bi ìpele cacheable iduroṣinṣin ati ti a fipamọ lati funmorawon paapaa fun awọn olupese ti o padanu heuristic cache cache (di _preserves_ nikan, ko yipada rara). |
| `COMPRESSION_PREFIX_FREEZE_THRESHOLD` | `3` | `open-sse/services/compression/prefixFreeze.ts` | Awọn akiyesi ti eto kiakia ṣaaju ki o to ṣe itọju bi ìpele iduro ti o tutu. |
| `OMNIROUTE_BOOTSTRAPPED` | `false` | `src/app/(dashboard)/dashboard/page.tsx` | Ṣeto `true` nipasẹ iwe afọwọkọ bootstrap lẹhin iṣeto akọkọ. Ṣe iṣakoso hihan oluṣeto. |
| `OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE` | `0` | `open-sse/executors/antigravity.ts` | Sa niyeon: gba ara ìbéèrè lati idojuk aaye ise agbese Antigravity. |
| `ANTIGRAVITY_CREDITS` | `off` | `open-sse/services/antigravityCredits.ts` | Google Ọkan AI eto imulo kirẹditi: `off` ko ṣe abẹrẹ awọn kirẹditi, `retry` abẹrẹ ni ẹẹkan lẹhin ipin ti o yẹ 429, ati `always` ṣe itasi lori ibeere akọkọ. |
| `OMNIROUTE_ANTIGRAVITY_TIMING_TELEMETRY` | `false` | `open-sse/executors/antigravity/executeAttempt.ts` | Jade-ni mimọ fun akoko-firanṣẹ-ti ara: akọọlẹ laiṣiṣẹ, awọn ibeere inu ọkọ ofurufu, akoko si awọn akọle ati akoonu SSE akọkọ ti o ni itumọ. Ko si awọn ibere, awọn iwe-ẹri, tabi URLs oke ni awọn akọọlẹ. |
| `ANTIGRAVITY_MAX_429_ATTEMPTS` | `2` | `open-sse/services/antigravity429Guard.ts` | Upstream 429s farada fun Antigravity (`agy`/`antigravity`) ibeere kọja gbogbo awọn ọmọ-ogun (1–12) ṣaaju ki 429 naa pada si ọdọ olupe naa. Ara ti o lo o ni idahun ni agbegbe ni atunbere (iṣẹju 2, ilọpo meji si iṣẹju 30, tabi itọka atunwi oke), ati oluṣakoso iwiregbe ko tun bẹrẹ ibeere naa lẹhin iyẹn 429. |
| `ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS` | `0` | `open-sse/translator/request/openai-to-gemini.ts` | Gba onitumọ ibeere Antigravity laaye lati foju ẹtọ-ibuwọlu CLI ti o muna nigbati oke kọ awọn ibuwọlu gidi (ipo debug/antiquated-CLI ). Ti kii-odo mu ki awọn fori. |
| `AGY_TOKEN_FILE` | `~/.gemini/antigravity-cli/antigravity-oauth-token` | `src/app/api/providers/agy-auth/apply-local/route.ts` | Yipada si ọna faili Antigravity CLI (agy) tokini fun wiwa agbewọle agbegbe ni aifọwọyi. |
### OAuth CLI (Inu)
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------- | ------------- | ------------------------------- | ---------------------------------------- |
| `OMNIROUTE_SERVER` | auto-ri | `src/lib/oauth/config/index.ts` | Server URL fun CLI↔OmniRoute auth afara. |
| `OMNIROUTE_TOKEN` | _(a ko ṣeto)_ | `src/lib/oauth/config/index.ts` | Auth àmi fun CLI Afara. |
| `OMNIROUTE_USER_ID` | `cli` | `src/lib/oauth/config/index.ts` | Olumulo ID fun awọn akoko afara CLI. |
| `SERVER_URL` | _(a ko ṣeto)_ | `src/lib/oauth/config/index.ts` | Inagijẹ Legacy fun `OMNIROUTE_SERVER`. |
| `CLI_TOKEN` | _(a ko ṣeto)_ | `src/lib/oauth/config/index.ts` | Inagijẹ Legacy fun `OMNIROUTE_TOKEN`. |
| `CLI_USER_ID` | _(a ko ṣeto)_ | `src/lib/oauth/config/index.ts` | Inagijẹ Legacy fun `OMNIROUTE_USER_ID`. |
---
## 11. OAuth Awọn iwe-ẹri Olupese
### Palolo Codex àmi Sọ
`OMNIROUTE_TOKEN_REFRESH_PASSIVE_PROVIDERS` ṣeto si `codex` jẹ ki apẹẹrẹ yii jẹ olumulo ti awọn iwe-ẹri Codex ti a muṣiṣẹpọ, kii ṣe oniwun iyipo-ami-itura. Ofo tabi aiyipada aiyipada ṣe itọju ihuwasi isọdọtun deede. Awọn iye ti o ya sọtọ komama jẹ gige ati ọran-aibikita; `cx` jẹ inagijẹ fun `codex`. Awọn olupese ti ko ni atilẹyin kuna afọwọsi ibẹrẹ. Awọn olupese miiran ko yipada.
Ni awọn aaye isọdọtun ti o wa tẹlẹ, apẹẹrẹ kọja ọna asopọ kaṣe kaṣe ati gba ami iyasọtọ iwọle ti ko pari. Awọn ami ti a kọ ni oke lakoko ibeere naa ko le ṣe deede lẹẹkansi lẹhin mimuuṣiṣẹpọ yipo pada: awọn iwe-ẹri ibeere ti o duro ni pupọ julọ awọn ika ika SHA-256 mẹrin, ti sọnu pẹlu ibeere yẹn. Awọn aaye ami nikan ni o gba, nitorinaa ibeere-olupese agbegbe metadata ye. Ko si awọn iwe-ẹri ti o gba ti o duro. Ti ko ba si aropo wa, `refresh_disabled` kii ṣe ebute ko si ka si ami-mimu isọdọtun iyika fifọ. Awọn idahun 401/403 ti oke gidi ṣe idaduro iṣiro ikuna deede, itutu agbaiye ati awọn aṣiṣe alabara; Awọn ifihan agbara-aṣiṣe iroyin ṣi tii titipa patapata.
Itura dashboard/API afọwọṣe dapada `409` pẹlu koodu `refresh_disabled` ati itọnisọna lati sọji lori apẹẹrẹ ti nṣiṣe lọwọ ati muṣiṣẹpọ. Awọn isọdọtun ti ko tọ (iwiregbe, lilo, awọn sọwedowo ilera ati afọwọsi agbewọle) ko ṣe afihan aṣiṣe yẹn; lilo eletan 401 imularada tun gbiyanju lẹẹkan pẹlu ami amuṣiṣẹpọ ti a gba. Codex auth agbewọle lati ilu okeere tọju awọn ami ti a pese laisi iyipada-ami paṣipaarọ; titun OAuth wiwọle ko yipada. Ko si mimuuṣiṣẹpọ iṣaju-firanṣẹ ti wa ni afikun ni ita ọna isọdọtun ti o wa tẹlẹ.
Tọju oniwun yiyi gangan kan ki o ṣeto amuṣiṣẹpọ àmi lọtọ, ṣaaju ki awọn ami iraye to pari (asiwaju iṣakoso aiyipada: iṣẹju marun). Aṣayan yii kii ṣe titiipa pinpin, ibi ipamọ data tabi imuṣiṣẹ SQLite ti o pin. Orisun: `open-sse/services/tokenRefresh/passiveCodex.ts`.
Awọn iwe-ẹri ti a ṣe sinu fun** localhost idagbasoke** . Fun awọn imuṣiṣẹ latọna jijin, forukọsilẹ tirẹ ni console olupilẹṣẹ olupese kọọkan.
| Ayípadà | Olupese | Awọn akọsilẹ |
| ------------------------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CLAUDE_OAUTH_CLIENT_ID` | koodu Claude (Anthropic) | Onibara gbangba — ko si ikoko ti nilo. |
| `CLAUDE_CODE_REDIRECT_URI` | Claude koodu | Pa àtúnjúwe URI. Aiyipada: `https://platform.claude.com/oauth/code/callback` |
| `CODEX_OAUTH_CLIENT_ID` | Codex / OpenAI | Gbangba onibara. |
| `GEMINI_OAUTH_CLIENT_ID` | Gemini (Google) | Nbeere ibaamu `_SECRET`. |
| `GEMINI_OAUTH_CLIENT_SECRET` | Gemini (Google) | — |
| `KIMI_CODING_OAUTH_CLIENT_ID` | Ifaminsi Kimi (Moonshot) | Gbangba onibara. |
| `MUSE_CODE_OAUTH_CLIENT_ID` | Koodu Muse (Meta) | Yiyan idojuk fun gbangba Muse CLI ẹrọ-sisan ni ose id. Fi idasile silẹ lati lo onibara ti a yan ni gbangba. |
| `ANTIGRAVITY_OAUTH_CLIENT_ID` | Antigravity (Google) | Nbeere ibaamu `_SECRET`. |
| `ANTIGRAVITY_OAUTH_CLIENT_SECRET` | Antigravity (Google) | — |
| `GITHUB_OAUTH_CLIENT_ID` | GitHub Copilot | Gbangba onibara. |
| `GHE_COPILOT_OAUTH_CLIENT_ID` | GHE Copilot | Yiyan danu fun GitHub Enterprise Copilot's OAuth klient id. Ṣubu pada si aiyipada gbangba `GITHUB_OAUTH_CLIENT_ID` nigbati a ko ṣeto. |
| `COPILOT_INTEGRATION_ID` | GitHub Copilot | Yiyan danu fun GitHub Copilot ibaraṣepọ ID ti a firanṣẹ si `Copilot-Integration-Id` ati awọn akọle `Editor-Plugin-Version`. Awọn aiyipada si `copilot-developer-cli`. |
| `WINDSURF_API_KEY` | Windsurf / Devin (v3.8) | Ipadabọ bọtini API ti a lo nipasẹ `open-sse/executors/devin-cli.ts` nigbati ko si iwe-ẹri isopọ-kọọkan. iyan. |
| `CLI_DEVIN_BIN` | Devin CLI (v3.8) | Ona aṣa si alakomeji Devin CLI (`devin`). Ti yanju nipasẹ `open-sse/executors/devin-cli.ts`. |
| `GITLAB_DUO_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | OAuth onibara ID fun GitLab Duo. Forukọsilẹ app ni `https://gitlab.com/-/profile/applications` pẹlu àtúnjúwe URI `/callback` ati scopes `api, read_user, openid, profile, email`. Ṣubu pada si `GITLAB_OAUTH_CLIENT_ID`. |
| `GITLAB_DUO_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | OAuth aṣiri onibara fun GitLab Duo. Iyan — PKCE sisan ko nilo aṣiri kan. Ṣubu pada si `GITLAB_OAUTH_CLIENT_SECRET`. |
| `GITLAB_DUO_BASE_URL` | GitLab Duo (v3.8) | Yipada si ipilẹ GitLab URL ( GitLab ti o gbalejo funrarẹ). Awọn aiyipada si `https://gitlab.com`. Ṣubu pada si `GITLAB_BASE_URL`. |
| `GITLAB_BASE_URL` | GitLab Duo (v3.8) | Ipadabọ Legacy fun `GITLAB_DUO_BASE_URL`. Ti a lo nigbati iyatọ `_DUO_` ko ṣeto. |
| `GITLAB_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | Ipadabọ Legacy fun `GITLAB_DUO_OAUTH_CLIENT_ID` ti o jẹ nipasẹ `src/lib/oauth/constants/oauth.ts`. |
| `GITLAB_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | Ipadabọ Legacy fun `GITLAB_DUO_OAUTH_CLIENT_SECRET` ti o jẹ nipasẹ `src/lib/oauth/constants/oauth.ts`. |
| `QODER_OAUTH_CLIENT_SECRET` | Qoder | — |
| `QODER_OAUTH_AUTHORIZE_URL` | Qoder | Ṣeto lati mu Qoder OAuth ṣiṣẹ. |
| `QODER_OAUTH_TOKEN_URL` | Qoder | — |
| `QODER_OAUTH_USERINFO_URL` | Qoder | — |
| `QODER_OAUTH_CLIENT_ID` | Qoder | — |
| `QODER_PERSONAL_ACCESS_TOKEN` | Qoder | Ipadabọ bọtini API taara (pasẹ OAuth). |
| `QODER_CLI_WORKSPACE` | Qoder | Aaye iṣẹ ID fun Qoder CLI. |
| `OMNIROUTE_QODER_WORKSPACE` | Qoder | Inagijẹ fun `QODER_CLI_WORKSPACE`. |
| `QODER_CLI_CONFIG_DIR` | Qoder | Yipadanu atunto Qoder CLI dir (akoko PAT ti o ya sọtọ, yago fun didi buwolu aṣawakiri kan). |
| `QODER_CLI_MAX_CONCURRENCY` | Qoder | Awọn ṣiṣe qodercli nigbakanna ti o pọju (spawns ti a tẹ tabi ACP ta); afikun awọn ibeere isinyi FIFO. Unset (aiyipada) = ko si fila. |
| `QODER_CLI_QUEUE_TIMEOUT_MS` | Qoder | Bi o ṣe pẹ to ti ibeere Qoder n duro de iho qodercli (nikan pẹlu iṣeto fila) ṣaaju ki o to kuna pẹlu 429 `qodercli_busy` + `Retry-After`. aiyipada `120000`. |
| `QODER_CLI_TRANSPORT` | Qoder | `print` (aiyipada) spawns `qodercli --print` fun ìbéèrè; `acp` tọju ilana `qodercli --acp` itẹramọṣẹ kan fun PAT. |
| `QODER_CLI_ACP_IDLE_TIMEOUT_MS` | Qoder | ACP irinna: pa awọn judercli ilana lẹhin ti yi Elo laišišẹ akoko. `600000` aiyipada. |
| `QODER_CLI_ACP_STARTUP_TIMEOUT_MS` | Qoder | ACP irinna: akoko ipari fun qodercli lati dahun ACP `initialize`. aiyipada `60000`. |
| `QODER_CLI_ACP_MAX_SESSIONS_PER_PROCESS` | Qoder | gbigbe ACP : tunlo ilana qodercli ti o tẹsiwaju lẹhin ọpọlọpọ awọn akoko yii. `500` aiyipada. |
| `BLACKBOX_WEB_VALIDATED_TOKEN` | Blackbox Web | Iwaju ami `tk` lati firanṣẹ bi `validated` lori `/api/chat`. Ti beere nigbati Blackbox fi agbara mu ibaramu tokini; bibẹẹkọ OmniRoute ṣubu pada si UUID laileto. Wo oro #2252. |
| `VISION_BRIDGE_BASE_URL` | Iran Bridge guardrail | OpenAI-ibaramu URL mimọ fun ti kii-Anthropic iran-afara awọn ipe. Awọn aiyipada si julọ OpenAI URL env tabi api.openai.com. Tọkasi ni OmniRoute's `/v1` ara-loop tabi eyikeyi OpenAI-compat endpoint (Gemini OpenAI-compat, OpenRouter). Ọrọ #2232. Nigbati URL `/v1` OmniRoute ara rẹ, ibeere iha-apejuwe naa nfi `x-omniroute-admission-bypass: internal` ranṣẹ ati pe o jẹri pẹlu iwe-ẹri ti ara ẹni ti o yanju ( sentinel `sk_omniroute` ni ipo agbegbe, tabi `OMNIROUTE_API_KEY` / `ROUTER_API_KEY` — #1350) nitorinaa awọn imuṣiṣẹ `REQUIRE_API_KEY=true` ṣiṣẹ. |
| `VISION_BRIDGE_API_KEY` | Iran Bridge guardrail | bọtini API fun URL loke. Yipadanu fun olupese OpenAI / Google env vars fun awọn ipe afara iran ti kii-Anthropic. awọn awoṣe Anthropic tọju ọna bọtini Anthropic iyasọtọ wọn. Ọrọ #2232. |
| `OMNIROUTE_VISION_BRIDGE_NEGATIVE_CACHE_MS` | Iran Bridge guardrail | Igba melo ni abajade ipa ọna “ko si oludije lilo” jẹ cache, ni ms (aiyipada `30000`). Awọn iye ti ko tọ tabi odi ṣubu pada si aiyipada; `0` kaṣe odi kuro. Orisun: `src/lib/guardrails/visionBridgeRouter.ts`. |
| `OMNIROUTE_IMAGE_NORMALIZATION` | Iran image normalization | Jade-inu (yi kuro = kuro, iyipada ihuwasi odo; `1`/`true`/`on` ṣiṣẹ). Ṣe deede gbogbo inline (base64 data URI / Claude `source.data`) aworan ninu awọn ara ibeere iwiregbe ṣaaju fifiranṣẹ: iṣalaye EXIF loo, RGB (alpha flattened pẹlẹpẹlẹ funfun), eti gigun `<= 4096` px, lapapọ awọn piksẹli `<= ~4M`; awọn aworan ti o nilo iyipada ti wa ni tun-se koodu bi ipilẹ JPEG (alpha-free PNGs duro pipadanu PNG), tẹlẹ-ifaramọ RGB JPEG/PNG kọja laifọwọkan. Awọn inawo ti wa ni titọ. Awọn ibi-afẹde Qwen2-VL-style awọn opo gigun ti iran ti o kọ awọn aworan oversized/exotic pẹlu awọn aṣiṣe 400 parse tabi awọn idorikodo odo-jade. Awọn http(s) URLs latọna jijin ko ṣe igbasilẹ; alakomeji `sharp` ti o padanu tabi aworan ti a ko le sọ gba kọja laifọwọkan (ikuna-ṣii). Yiyipada aworan nla kan ṣafikun airi ibeere. Orisun: `open-sse/utils/visionImageNormalization.ts`. |
> [!WARNING]
>
> 1. Lọ si [Google Cloud Console → Awọn iwe-ẹri](https://console.cloud.google.com/apis/credentials) 2. Ṣẹda OAuth 2.0 Client ID (iru: "Ohun elo wẹẹbu") 3. Fi URL olupin rẹ kun gẹgẹbi Aṣẹ àtúnjúwe URI 4. Rọpo awọn iye ijẹrisi ni `.env`.
---
## 12. Olupese Olumulo-Aṣoju danu
Pa akọsori `User-Agent` ti a fi ranṣẹ si olupese iṣẹ oke kọọkan. Eyi jẹ ipinnu ni agbara ni akoko asiko ṣiṣe nipasẹ kilasi ipilẹ alaṣẹ:
```
process.env[`${PROVIDER_ID}_USER_AGENT`]
```
> **Orisun:** `open-sse/executors/base.ts` → `buildHeaders()`
| Ayípadà | Aiyipada Iye | Nigbati lati mu imudojuiwọn |
| -------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `CLAUDE_USER_AGENT` | `claude-cli/2.1.280 (external, cli)` | Nigbati Anthropic ṣe idasilẹ ẹya CLI tuntun kan |
| `CLAUDE_DISABLE_TOOL_NAME_CLOAK` | `false` | `executors/base.ts` + `executors/cliproxyapi.ts` | Ṣeto si `1`/`true` lati dari awọn orukọ ohun elo ijanu ẹni-kẹta lọrọ ẹnu si Anthropic lori awọn ipa ọna asopọ Anthropic mejeeji ( OAuth abinibi ati CLIProxyAPI). Nipa aiyipada executor deterministically aliases ti kii-Claude-Code ọpa awọn orukọ (Claude Code canonical aworan agbaye ibi ti ọkan wa, bibẹkọ ti PascalCase) ati ki o reverses wọn lori esi nipasẹ `_toolNameMap`, ki harnesses pẹlu snake_case irinṣẹ ti wa ni ko kọ bi itẹka ẹni-kẹta ibara. N ṣatunṣe aṣiṣe nikan. |
| `CODEX_USER_AGENT` | `codex-cli/0.155.0 (Windows 10.0.26200; x64)` | Nigbati OpenAI ṣe imudojuiwọn Codex CLI |
| `CODEX_CLIENT_VERSION` | `0.155.0` | Pa ẹyà onibara Codex ni ominira ti okun UA ni kikun |
| `GROK_CLI_CLIENT_VERSION` | `1.0.41` | Daju `x-grok-client-version` fun itọkasi, imuṣiṣẹpọ awoṣe, ati koodu ẹrọ OAuth, pẹlu aiyipada Olumulo Grok CLI -Aṣoju fun itọkasi ati imuṣiṣẹpọ awoṣe. Gba SemVer pẹlu metadata prerelease/build iyan, to awọn ohun kikọ 128 lẹhin gige gige agbegbe funfun. Ti ko ṣeto, ofo, aifẹ, tabi awọn iye ti o ni laini-pipin lo pin ti a firanṣẹ. Ifitonileti kikun ti o wa tẹlẹ Olumulo-Aṣoju danu duro ṣaaju. |
| `CLAUDE_CODE_CLIENT_VERSION` | `2.1.280` | Pa ẹyà koodu Claude ti a kede ni ominira ti `CLAUDE_USER_AGENT`. Anthropic ibode diẹ ninu awọn awoṣe lori iye yii (# 12417). |
| `CLAUDE_CODE_CLIENT_BUILD_REVISION` | `1e2` | Daju suffix awọn ohun kikọ 3 OmniRoute ti o somọ `cc_version=` ninu idina ìdíyelé Claude. Ijalu lẹgbẹẹ `CLAUDE_CODE_CLIENT_VERSION` — pinning ẹya nikan ti n polowo bata `version.revision` ko si awọn itujade alakomeji gidi. |
| `GITHUB_COPILOT_CLI_VERSION` | `1.0.91` | Pa ikede Copilot CLI ti a polowo ni ominira ti `GITHUB_USER_AGENT` |
| `GITHUB_USER_AGENT` | `GitHubCopilotChat/0.54.0` | Nigbati GitHub Copilot Chat imudojuiwọn |
| `ANTIGRAVITY_CLI_CL` | _(a ko ṣeto)_ | Daju Antigravity CLI (`agy`) Akojọ iyipada Piper ti a royin bi `cl=` ninu CLI Oluṣe-Aṣoju. Ko yo lati awọn ti ikede tabi fara nipasẹ awọn àkọsílẹ j'oba; irugbin fun ẹya lati igbasilẹ ifiwe kan (1.4.4 → `1003595037`). Unset lori ẹya aimọ omits `cl=` dipo ipolowo akojọ iyipada Kọ miiran. |
| `KIRO_USER_AGENT` | `AWS-SDK-JS/3.0.0 kiro-ide/1.0.0` | Nigbati Kiro IDE awọn imudojuiwọn |
| `KIRO_OAUTH_CLIENT_ID` | `kiro-cli` | Yiyọkuro Kiro ohun elo awujọ-koodu `clientId` (id ita gbangba) |
| `KIRO_VERIFY_FULL_CRC` | `false` | Jade ni kikun: ifiranṣẹ CRC ni kikun fun-fireemu kan lori ṣiṣan iṣẹlẹ Kiro (ṣatunṣe awọn ṣiṣan ibaje) |
| `KIRO_CREDIT_PRICE_USD` | `0.02` | USD fun Kiro gbese; ṣe iyipada awọn kirẹditi `meteringEvent` sinu idiyele ibeere fun gangan |
| `KIRO_REQUIRE_CREDITS` | `false` | Kuna idahun Kiro kan ti o ṣe ijabọ ko si iwọn-kirẹditi dipo gbigbasilẹ ti ko ni idiyele |
| `QODER_USER_AGENT` | `Qoder-Cli` | Nigbati Qoder CLI awọn imudojuiwọn |
| `CURSOR_USER_AGENT` | `Cursor/3.3` | Nigbati Cursor imudojuiwọn |
> [!TIP]
> O le ṣafikun awọn ifagile Olumulo-Aṣoju fun** eyikeyi** olupese lilo ilana `{PROVIDER_ID}_USER_AGENT`. Awọn executor ìmúdàgba kọ env var orukọ.
---
## 13. CLI Fingerprint Ibamu
Nigbati o ba ṣiṣẹ, OmniRoute tun paṣẹ awọn akọsori HTTP ati awọn aaye ara JSON lati ba ibuwọlu gangan ti awọn irinṣẹ CLI osise. Eyi dinku eewu ti ṣiṣafihan akọọlẹ lakoko ti o tọju IP aṣoju rẹ.
**Orisun:** `open-sse/config/cliFingerprints.ts`, `open-sse/executors/base.ts`
### Fun Olupese
| Ayípadà | Muu ṣiṣẹ | Ipa |
| ------------------------ | -------- | ------------------------------------ |
| `CLI_COMPAT_CODEX` | `=1` | Mimics Codex CLI ìbéèrè Ibuwọlu |
| `CLI_COMPAT_CLAUDE` | `=1` | Mimics Claude Code Ibuwọlu ibeere |
| `CLI_COMPAT_GITHUB` | `=1` | Mimics GitHub Copilot ìbéèrè Ibuwọlu |
| `CLI_COMPAT_ANTIGRAVITY` | `=1` | Mimics Antigravity Ibuwọlu ibeere |
| `CLI_COMPAT_CURSOR` | `=1` | Mimics Cursor Ibuwọlu ibeere |
| `CLI_COMPAT_KIMI_CODING` | `=1` | Mimics Kimi Ifaminsi ibeere Ibuwọlu |
| `CLI_COMPAT_KILOCODE` | `=1` | Mimics Kilo Code Ibuwọlu |
| `CLI_COMPAT_CLINE` | `=1` | Mimics Cline Ibuwọlu ibeere |
### Agbaye
| Ayípadà | Muu ṣiṣẹ | Ipa |
| ---------------- | -------- | --------------------------------------------------------------- |
| `CLI_COMPAT_ALL` | `=1` | Mu ibamu itẹka itẹka ṣiṣẹ fun** gbogbo** awọn olupese ni ẹẹkan. |
### Kimi Ifaminsi CLI idanimo idojuk
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------- | -------------------- | ---------------------------------------- | ------------------------------------------------------------------ |
| `KIMI_CLI_VERSION` | `1.36.0` | `src/lib/oauth/providers/kimi-coding.ts` | Fojusi ẹya Kimi CLI ti a firanṣẹ lakoko awọn ipe OAuth/API. |
| `KIMI_CODING_DEVICE_ID` | _(aiyipada ti a mu)_ | `src/lib/oauth/providers/kimi-coding.ts` | Pa ohun-elo Kimi ti o gba silẹ ID ti a lo ninu awọn akọle alabara. |
> [!NOTE]
> Ẹya yii n ṣiṣẹ lẹgbẹẹ Aṣoju Olumulo (§12). Eto ika ika ọwọ n ṣakoso pipaṣẹ akọsori ati pipaṣẹ aaye ara, lakoko ti Olumulo-Aṣoju danu mu okun UA kan pato. Mejeeji le ṣee mu ṣiṣẹ ni ominira.
---
## 14. API Key Olupese
awọn bọtini API fun awọn olupese ti o lo ijẹrisi taara.** Eto ti o fẹ:** Dasibodu → Awọn olupese → Fi bọtini API kun.
Ṣiṣeto nipasẹ awọn oniyipada ayika jẹ yiyan fun Docker tabi awọn ifilọlẹ ori.
Àpẹẹrẹ ti a mọ: `{PROVIDER_ID}_API_KEY`
| Ayípadà | Olupese |
| ------------------ | --------------------------------------------------- |
| `DEEPSEEK_API_KEY` | DeepSeek |
| `NVIDIA_API_KEY` | NVIDIA NIM |
| `JINA_AI_API_KEY` | Jina AI (Ipilẹṣẹ API + Reader fallback) |
| `JINA_API_KEY` | Jina AI (inagijẹ fun `JINA_AI_API_KEY`) |
| `GEMINI_API_KEY` | Gemini (Google AI Studio) ifibọ + iwiregbe fallback |
| `GOOGLE_API_KEY` | Gemini (inagijẹ fun `GEMINI_API_KEY`) |
> [!NOTE]
> Awọn titẹ sii `${PROVIDER}_API_KEY` aimi fun Groq, xAI, Mistral, Perplexity, Together AI, Fireworks, Cerebras, Cohere, Nebius , ati Qianfan ni a yọkuro ni v3.8.0 nitori akoko asiko ko ka wọn mọ — awọn olupese naa gbarale Dashboard / `data/provider-credentials.json` / DB ti paroko. Wo apakan _Audit: Yọ / Dead Variables_ apakan ni isale iwe yii fun ọna ijira.
> [!TIP]
> Awọn bọtini ti a ṣeto nipasẹ Dasibodu ti wa ni ipamọ ti paroko ni SQLite ati ki o gba iṣaaju lori awọn oniyipada ayika.
>
> **Jina:** `jina-ai/…` ifibọ, rerank, ṣe lẹtọ, apa, ati `jina-search` ṣe** kii ṣe** ṣe owo iṣupọ env bọtini nigbati dashboard `jina-ai` (tabi pín `jina-reader`) asopọ wa — `getProviderCredentials` jẹ kikun-akọkọ. `JINA_AI_API_KEY` / `JINA_API_KEY` jẹ lilo nikan nigbati ko si bọtini dasibodu ohun elo ti o wa. Awọn ipe ipe ṣe ifẹhinti env bi `connection_id=env:JINA_AI_API_KEY`. Kaadi Reader (`jina-reader`, `r.jina.ai`) ko sin `/v1/embeddings` tabi `/v1/rerank`.
>
> **Gemini:** `gemini/gemini-embedding-2` (inagijẹ `google/gemini-embedding-2`) nlo asopọ `gemini` dashboard akọkọ. `GEMINI_API_KEY` / `GOOGLE_API_KEY` ni a lo nigbati ko si bọtini dasibodu ti o ṣee lo wa. Awọn ipe ipe ṣe ifẹhinti env bi `connection_id=env:GEMINI_API_KEY`. Ijabọ multimodal abinibi nlo `x-goog-api-key` lodi si `:embedContent` / `:batchEmbedContents` — N OpenAI `input` awọn ohun di N fekito.
---
## 15. Aago Eto
Gbogbo awọn iye wa ninu** millise seconds** . Ipinnu aarin ni `src/shared/utils/runtimeTimeouts.ts`.
### Logalomomoise Timeout
```
REQUEST_TIMEOUT_MS (global override)
├─→ FETCH_TIMEOUT_MS (upstream provider calls, default: 600000)
│ ├─→ FETCH_HEADERS_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS)
│ ├─→ FETCH_BODY_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS)
│ ├─→ TLS_CLIENT_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS)
│ │ └── TLS_FIRST_BYTE_WATCHDOG_MS (independent, default: 10000)
│ ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (independent, default: 15000)
│ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MS (independent, default: 0 = off, suggested: 30000)
│ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS (independent, default: 2)
│ ├── FETCH_CONNECT_TIMEOUT_MS (independent, default: 30000)
│ └── FETCH_KEEPALIVE_TIMEOUT_MS (independent, default: 4000)
├─→ STREAM_IDLE_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 600000)
├─→ STREAM_ACTIVE_TIMEOUT_MS (independent; unset: 1260000, raised by declared budgets; set: hard cap; 0 disables)
├─→ STREAM_READINESS_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 80000)
├─→ STREAM_READINESS_MAX_TIMEOUT_MS (caps adaptive readiness extensions, default: 180000)
└─→ API_BRIDGE_PROXY_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 30000)
├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (derived, default: 300000)
├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS (default: 60000)
├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS (default: 5000)
└── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS (default: 0 = disabled)
```
| Ayípadà | Aiyipada | Apejuwe |
| ------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `REQUEST_TIMEOUT_MS` | _(a ko ṣeto)_ | Ọna abuja agbaye — dojukọ mejeeji `FETCH_TIMEOUT_MS` ati awọn aiyipada `STREAM_IDLE_TIMEOUT_MS`. |
| `FETCH_TIMEOUT_MS` | `600000` | Lapapọ akoko akoko ibeere HTTP fun awọn ipe olupese ti oke. |
| `STREAM_IDLE_TIMEOUT_MS` | `600000` | Idakẹjẹ ti o pọju laarin awọn baiti oke aise ṣaaju iṣẹyun. Awọn awoṣe ironu gbooro ṣọwọn da duro > 90s. |
| `STREAM_ACTIVE_TIMEOUT_MS` | `1260000` | O pọju lapapọ lọwọ ṣiṣan SSE ṣiṣan igbesi aye; ko tunto lori awọn baiti oke ati pe o jẹ ominira ti `REQUEST_TIMEOUT_MS`. Nigbati a ko ba ṣeto, aiyipada jẹ eyiti o tobi julọ fun apẹẹrẹ `timeoutMs` ninu iforukọsilẹ (1200000, Codex) pẹlu ala 60000 kan, ati ibi-afẹde kan ti o kede isuna to gun (asopọ `timeoutMs`, lẹhinna fun-apẹẹrẹ, lẹhinna ipele olupese, fun apẹẹrẹ GLM's 3000000) gba isuna yẹn dipo 60000. Iye rere jẹ fila lile fun gbogbo ibi-afẹde ti awọn isuna ti a kede ko le gbega. Ṣeto si `0` lati mu ṣiṣẹ fun gbogbo ibi-afẹde. |
| `OMNIROUTE_SSE_COMMENTS` | _(alaabo)_ | Boya OmniRoute le gbejade awọn laini asọye SSE `:` (fun apẹẹrẹ `: keepalive` heartbeat ati awọn tirela metadata `x-omniroute-*` ). Alaabo nipasẹ aiyipada (#10524) niwon awọn onibara OpenAI-ibaramu ti o muna JSON.parse gbogbo laini SSE ati jamba lori awọn asọye `:` ; `data:` heartbeats ko ni ipa. Ṣeto `on`/`true`/`1`/`yes` lati jade pada si. Ti `open-sse/utils/sseHeartbeat.ts` lo. |
| `SSE_COALESCE_MS` | `0` (pa) | Jade wọle: dapọ awọn iṣẹlẹ Claude `content_block_delta` itẹlera ( atọka bulọọki kanna ati iru delta) ti a firanṣẹ si awọn alabara Claude, ṣiṣan ni o kere ju gbogbo N ms. Ainipadanu; `signature_delta` ati awọn iṣẹlẹ aala ko dapọ rara. Kan si gbogbo iru delta ayafi ti a ti ṣeto oniyipada iru-iru kan ni isalẹ. Ti a lo nipasẹ `open-sse/utils/sseDeltaCoalesce.ts`. |
| `SSE_COALESCE_THINKING_MS` | `0` (pa) | Ni iru-aparun `SSE_COALESCE_MS` fun `thinking_delta`. |
| `SSE_COALESCE_TEXT_MS` | `0` (pa) | Ni iru-aparun `SSE_COALESCE_MS` fun `text_delta`. |
| `SSE_COALESCE_INPUT_JSON_MS` | `0` (pa) | Ni iru-aparun `SSE_COALESCE_MS` fun `input_json_delta`. |
| `SSE_FRAME_COALESCE_MS` | `0` (pa) | Jade wọle: awọn fireemu SSE ipele ti a firanṣẹ laarin N ms sinu kikọ kan si alabara. Awọn fireemu akọkọ ati awọn fireemu ebute (`[DONE]`, `message_stop`, `error`, `response.completed`/`failed`/`incomplete`) ko ni idaduro rara; pẹlu batching lori, ITL ṣe iwọn awọn ela ipele. Ti a lo nipasẹ `open-sse/utils/sseOutputSink.ts`. |
| `SSE_STALL_WATCHDOG` | `timer` | imuse oluṣọ Byte-stall fun awọn idahun ṣiṣanwọle. `timer` tun-apa kan aago kan fun ṣoki ti oke (ina ni pato ni isuna da duro); `interval` tọju ayẹwo kan fun ṣiṣan pẹlu akoko `clamp(budget/4, 1s, 5s)`, nitorinaa da duro duro laarin akoko + isuna. Ti a lo nipasẹ `open-sse/utils/streamStallWatchdog.ts`. |
| `STREAM_READINESS_TIMEOUT_MS` | `80000` | Akoko lati gba iṣẹlẹ akọkọ ti kii ṣe ping SSE. Jogun `REQUEST_TIMEOUT_MS` nigba ti ṣeto. |
| `STREAM_READINESS_MAX_TIMEOUT_MS` | `180000` | Fèrèsé ìmúrasílẹ̀ ìṣẹ̀lẹ̀ àkọ́kọ́ tí ó pọ̀ jùlọ fún àwọn ìbéèrè ìṣànjáde títóbi, wúwo, tàbí ìdí-giga. |
| `OMNIROUTE_AGENT_GOAL_POLICY_ENABLED` | `true` | Pa-yipada fun `/goal` heuristic. Ṣeto `false`/`0`/`off` lati mu wiwa ni kikun awọn akoko imurasilẹ — ati imularada ṣiṣan ko ni ga soke nipasẹ ibeere body/headers, idinku imudara akoko ipari akoko alabara ti iṣakoso alabara. |
| `OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS` | `600000` | Ferese imurasilẹ iṣẹlẹ akọkọ ti o pọju fun awọn ṣiṣiṣẹ aṣoju `/goal` ti a rii tabi awọn ibeere fi agbara mu pẹlu `x-omniroute-agent-goal`. |
| `OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY` | `true` | Mu imularada ṣiṣan ni kutukutu ṣiṣẹ laifọwọyi fun ṣiṣe aṣoju `/goal` ti a rii. Ṣeto `false`/`0`/`off` lati mu ijade-ibi-afẹde kan kuro. Eyi le gba imularada ADD sori oke ti aiyipada — oniṣẹ kii ṣe yọkuro awọn eto `STREAM_RECOVERY_ENABLED`/DB ti o fojuhan. |
| `OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS` | `true` | Yọ awọn iṣẹlẹ `codex.*` SSE ti kii ṣe boṣewa (fun apẹẹrẹ `codex.rate_limits`) ti o fọ OpenAI SDK's `responses.stream()` pẹlu 502. ON aiyipada (#11014). Ṣeto `0`/`false`/`no`/`off` lati dari wọn. |
| `OMNIROUTE_CODEX_APPSERVER_WS` | _(a ko ṣeto)_ | Jáde-ni Codex app-server irinna. aaye ipari WebSocket (`ws://`/`wss://`) ti ẹgbẹ ẹgbe `codex app-server` agbegbe kan. Nigbati a ba ṣeto papọ pẹlu ami-ami kan, awọn ibeere Codex yoo da lori JSON-RPC si ọkọ ẹgbẹ dipo awọn idahun HTTP API. Tun seto fun-asopọ nipasẹ `providerSpecificData.codexAppServerUrl`. Ti a lo nipasẹ `open-sse/executors/codex/appServerConfig.ts`. |
| `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` | _(a ko ṣeto)_ | Opopo ami capability/bearer gbekalẹ si app-server. Fun-asopọ danu: `providerSpecificData.codexAppServerToken`. |
| `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE` | _(a ko ṣeto)_ | Ona si faili ti o ni imudani ami agbara olupin app (lati `codex app-server --ws-token-file`). Ti a lo nigbati `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` ko ṣeto. Ibaṣepọ fun-asopọmọra: `providerSpecificData.codexAppServerTokenFile`. |
| `OMNIROUTE_CODEX_APPSERVER_CWD` | `/tmp` | Liana iṣẹ ṣiṣe titan app-server nṣiṣẹ sinu. Asopọmọra-pada lori: `providerSpecificData.codexAppServerCwd`. |
| `OMNIROUTE_CODEX_APPSERVER_APPROVAL` | _(a ko ṣeto)_ | Ilana ifọwọsi kọja si titan-olupin (fun apẹẹrẹ `never`, `on-request`). Ibaṣepọ fun-asopọmọra: `providerSpecificData.codexAppServerApprovalPolicy`. |
| `OMNIROUTE_CODEX_APPSERVER_SANDBOX` | _(a ko ṣeto)_ | Ilana Sandbox kọja si titan-olupin app (fun apẹẹrẹ `read-only`, `workspace-write`, `danger-full-access`). Nigbati a ba ṣeto awọn aseku alaṣẹ si `workspace-write` (lile; tẹlẹ `danger-full-access`). Fun-asopọ yi danu: `providerSpecificData.codexAppServerSandbox`. |
| `OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE` | `false` | Laifọwọyi fọwọsi awọn itọsi ifọwọsi olupin-app (ipaniyan command/file/permission lori agbalejo). Paa nipasẹ aiyipada — awọn itusilẹ jẹ sẹ ni aifọwọyi; Awọn ipe ohun elo ijanu ko ni ipa (wọn rin irin-ajo `item/tool/call` lọtọ). Gba `true`/`1`/`yes`. Fun-asopọ danu: `providerSpecificData.codexAppServerAutoApprove`. |
| `FETCH_HEADERS_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Akoko lati gba awọn akọle idahun. |
| `OMNIROUTE_FETCH_START_TIMEOUT_CAP_MS` | `110000` | Iduro ti o pọju fun awọn akọle idahun lori awọn ibeere ṣiṣanwọle (ms). `0` disables yi fila; olupese ti o fojuhan `fetchStartTimeoutCapMs` gba iwaju. |
| `OMNIROUTE_CODEX_IMAGE_RESPONSE_START_TIMEOUT_MS` | `600000` (iṣẹju 10) | Akoko ipari idahun-ibẹrẹ akọkọ (ms) fun Codex image-generation/edit POSTs sisan, mejeeji taara ati nipasẹ aṣoju HTTP(S)/SOCKS. Awọn ibeere wọnyi ni a ko tun ṣe lẹhin igbati o daadaa tabi ikuna nẹtiwọọki. Awọn relays Edge (`vercel`/`deno`/`cloudflare`) tun ṣe igbiyanju kan, ṣugbọn tọju akoko ipari `OMNIROUTE_RELAY_FETCH_TIMEOUT_MS` tiwọn. |
| `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` | `30000` (30s) | Idahun-ibẹrẹ ti o pọju (ms) fun igbiyanju aisi-aṣoju kọọkan taara. Aago akoko kan tun gbiyanju lẹẹkan lori iho tuntun; ṣeto `0` lati mu dè ati idaduro ihuwasi ti tẹlẹ. |
| `OMNIROUTE_LOCAL_DIRECT_HEADERS_TIMEOUT_MS` | `300000` (5 min) | Ibẹrẹ Ibẹrẹ Idahun (ms) fun awọn igbiyanju ti kii ṣe aṣoju taara ti agbalejo ibi-afẹde rẹ jẹ private/LAN/loopback (fun apẹẹrẹ `localhost`, `host.docker.internal`, `192.168.x.x`), nitorinaa ibẹrẹ tutu tutu Ollama abinibi ko ni ge nipasẹ aiyipada 30s loke. Awọn iṣe bi ilẹ-ilẹ: idaduro ti o munadoko jẹ tobi ti iye yii ati `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS`; `0` tabi iye aiṣedeede yọ ilẹ-ilẹ kuro. Awọn agbalejo latọna jijin ko ni ipa. |
| `OMNIROUTE_DIRECT_HEADERS_VOLUME_ADAPTIVE` | `1` | Ṣe agbega window idahun taara nipasẹ ipele isanwo ibeere: awọn ara ti o ju 512 KB gba × 2, ju 2 MB × 3, ti o ni 180 s ati ki o maṣe sọ silẹ ti ilẹ ti o ga tẹlẹ (oluṣeto bori tabi ilẹ local/LAN loke). Awọn agbegbe nla ṣapejuwe ni iwọn si iwọn titẹ sii laisi yiyan ero fun aja ero si bọtini lori, nitorinaa window alapin ge ni ilera ti o lọra-ṣapejuwe awọn ṣiṣan oke ni deede ilẹ-ilẹ. Ṣeto `0`/`false`/`off` lati pin ihuwasi alapin. |
| `OMNIROUTE_DIRECT_RESPONSE_RETRY_TIMEOUT_MS` | `600000` (iṣẹju 10) | Aja (ms) fun igbidanwo RETRY -socket lẹhin igbati a ti ṣajọpọ-igbiyanju idahun-ibẹrẹ akoko ipari loke (#13703). Kan nikan nigbati olupe ti so ami ifihan akoko ipari tirẹ (asopọ ti o yanju / awoṣe / olupese /`FETCH_TIMEOUT_MS` kasikedi); ifihan agbara yẹn jẹ adehun gidi ati ina ni akọkọ ni ọna ti a pinnu, nitorinaa eyi jẹ ẹhin oninurere dipo fila fila — laisi rẹ, tun gbiyanju lati lo ferese `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` kukuru kanna bi igbiyanju idapọ ati 504'd ni ilera awọn awoṣe ironu lọra-TTFB. Ko gba laaye ni isalẹ alapin pakà loke; nigbati olupe ko pese ifihan akoko ipari rara, atunwi yoo jẹ ki ilẹ alapin ko yipada. |
| `FETCH_BODY_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Akoko lati gba ara idahun ni kikun. |
| `FETCH_CONNECT_TIMEOUT_MS` | `30000` | akoko idasile asopọ TCP. |
| `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Jeki-laaye iho soketi aisimi akoko. |
| `TLS_CLIENT_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | TLS fingerprint aṣoju (wreq-js) akoko ti pari. |
| `TLS_FIRST_BYTE_WATCHDOG_MS` | `10000` | Lopin akoko-si-akọkọ-baiti lori wreq-js TLS-fingerprint irinna ká body pataki; `TLS_CLIENT_TIMEOUT_MS` nikan ko le mu ara ti o da duro niwon o ṣe ipinnu ni kete ti awọn akọle ba de (#12656). Aago akoko kan fagile oluka wreq ati ṣubu pada si dispatcher direct/proxy ; `0` mu ajafitafita ṣiṣẹ. |
| `RESPONSES_FIRST_BYTE_TIMEOUT_MS` | `15000` | OpenCode executor nikan, ati ki o nikan nigba ti `OPENCODE_RESPONSES_STALL_ROTATION` ẹya Flag wa ni titan (aiyipada pa): bounding awọn dè fun awọn igba akọkọ ti ara baiti kan ti a ti san Idahun lẹhin awọn oniwe-akọsori (#13484). Oṣan Awọn idahun ṣi pẹlu `response.created`, nitorinaa ipalọlọ ti o kọja window yii jẹ iduro: akọọlẹ naa ti tutu ati pe ibeere naa yi pada si akọọlẹ atẹle ni ẹẹkan; a keji da duro kuna sare. `0` mu oluso naa kuro paapaa pẹlu asia lori. |
| `OPENCODE_RESPONSES_HEADERS_WAIT_MS` | `0` (= kuro) | oluṣe OpenCode nikan: di idaduro idaduro fun awọn akọle idahun ti oke lori ipe Awọn idahun ṣiṣanwọle nigbati akọọlẹ miiran tun wa — ibeere ti o wa ni ila duro duro ati gbe siwaju dipo didimu window awọn akọle kikun. Awọn ipe Awọn idahun ṣiṣanwọle nikan ni o kan (Orin Awọn idahun ṣi pẹlu `response.created`, nitorinaa ipalọlọ wa ti isinyi, kii ṣe iran); Iwiregbe ipari ati awọn ipe ti kii ṣe ṣiṣanwọle ko fọwọkan, ati window nikan kuru aja ibẹrẹ ti o munadoko, ko fa siwaju rara. Iye aba nigbati o ba muu ṣiṣẹ: `30000`. `0` mu ṣiṣẹ. |
| `OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS` | `2` | oluṣe OpenCode nikan: iye igba fun ibeere fun awọn akọle-duro dè loke le gbe lọ si akọọlẹ atẹle. Iroyin to ku kẹhin nigbagbogbo ntọju window awọn akọle kikun. |
| `OPENCODE_PARK_AND_RESUME` | `false` | oluṣe OpenCode nikan: duro si ibeere naa pẹlu lilu ọkan lẹhin igbati o leralera 429s (tabi ami ami-iṣan adagun-odo tuntun), lẹhinna tun ṣe atunṣe ẹsẹ kan ti o ni awọn akọọlẹ ti o to awọn iroyin lẹsẹsẹ 3 dipo fifa gbogbo ọkọ oju-omi kekere (#13924). Paa nipasẹ aiyipada: gbogbo 429 n yi si akọọlẹ atẹle gangan bi iṣaaju. |
| `OPENCODE_PARK_REPLAY_SERVE_SETASIDE` | `false` | oluṣakoso OpenCode nikan: nigbati gbogbo iwe ipamọ ti o ti ṣetan ni ọgba-itura-ati-atunṣe ẹsẹ atunbere ti ṣeto si apakan nipasẹ iranti aṣoju-kikọ, sin wọn lonakona dipo ṣiṣiṣẹsẹhin ohunkohun (#14851, atẹle si #14750). Paa nipasẹ aiyipada: ẹsẹ atunwi jẹ ofo ni ọran yẹn, bi ṣaaju #14750. |
| `STREAM_READINESS_STALL_RETRY` | `false` | Iwiregbe ṣiṣanwọle nikan: nigbati ara iṣagbega akọkọ ba duro ṣaaju iṣelọpọ iṣẹlẹ ti o ṣee lo, gbejade igbiyanju keji ti o ni opin nipasẹ ọna ipa-ọna kanna pẹlu isuna imurasilẹ kanna ko si si ijiya akọọlẹ. Paa nipasẹ aiyipada: ara akọkọ ti o da duro kuna ibeere naa laisi atunwo. |
| `OPENCODE_POOL_RESELECT` | `false` | oluṣakoso OpenCode nikan: lẹhin 429 lati ọdọ olupese egress-bucketed lori iwe apamọ ti ko ni aṣoju labẹ agbegbe adagun omi ibaramu, beere adagun asopọ fun ọmọ ẹgbẹ miiran fun igbiyanju atẹle dipo tun gbiyanju adirẹsi egress kanna. Awọn aṣẹ, ko yọkuro rara: adagun-odo ti o rẹwẹsi ntọju ihuwasi lọwọlọwọ. Paa nipasẹ aiyipada: gbogbo 429 n yi si akọọlẹ atẹle gangan bi iṣaaju. |
| `OPENCODE_POOL_STRAIN_MARKER_PATH` | _(a ko ṣeto)_ | oluṣe OpenCode nikan: danu ipa-ọna ti ami isamisi-iṣan adagun ka ṣaaju gbigbe (`{since, reason, ttl_s}`, aiyipada `/tmp/opencode-pool-strain.json`, #13924). A alabapade asami itura lai recounting; isansa tabi stale ṣubu pada si awọn ti nwaye counter. |
| `API_BRIDGE_PROXY_TIMEOUT_MS` | `30000` | Aago hop aṣoju fun awọn ibeere afara `/v1`. |
| `FIRECRAWL_BASE_URL` | `https://api.firecrawl.dev` | Tọkasi oluṣeṣẹ oju opo wẹẹbu Firecrawl ni apẹẹrẹ gbigbalejo ti ara ẹni (aṣayan bọtini API ni pipa-awọsanma). |
| `FIRECRAWL_TIMEOUT_MS` | `30000` | Aago-ibere fun igba-ibeere fun oluṣe-ṣiṣe wẹẹbu Firecrawl. |
| `TAVILY_BASE_URL` | _(a ko ṣeto)_ | Ipilẹ URL fun Tavily `/usage` quota fetcher (Awọn opin Olupese); bikita nigbati o tọka si `api.tavily.com`. Aiyipada ṣubu pada si ipilẹ asopọ URL. |
| `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `300000` | Iwoye akoko ibeere olupin fun afara naa. |
| `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Akoko lati firanṣẹ awọn akọle idahun nipasẹ afara. |
| `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | Bridge pa-laaye laišišẹ akoko. |
| `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | Aise iho akoko asiko (0 = alaabo). |
| `SHUTDOWN_TIMEOUT_MS` | `30000` | Akoko oore-ọfẹ lori SIGTERM/SIGINT ṣaaju ijade-ipa. |
| `OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS` | `120000` | Ipadabọ ti `src/shared/utils/fetchTimeout.ts` nigbati `FETCH_TIMEOUT_MS` ko ṣeto. |
| `OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS` | `8000` | Aago (ms) fun awọn tito tẹlẹ `validationRead` ati `modelsProbe` ni `src/shared/network/safeOutboundFetch.ts`. Gbe soke fun awọn aaye ipari ti o lọra (Cerebras, Cloudflare AI, Groq) lati ṣe idiwọ gbigbọn laarin active/error ninu dasibodu naa. Ṣubu pada si 8000ms fun aitọ (< 1000) tabi awọn iye ti kii ṣe oni-nọmba. |
| `OMNIROUTE_RELAY_FETCH_TIMEOUT_MS` | `25000` | Ilọkuro-pato imudani akoko ni `open-sse/utils/proxyFetch.ts` (#9158). Relay ti fikọ gbọdọ kuna ṣaaju akoko asiko client/agent (~ 30s) nitorinaa awọn olupe rii ikuna kan pato-pada dipo akoko isọdọtun jeneriki. Capped ni `29000` ki o nigbagbogbo ina akọkọ. |
| `OMNIROUTE_RETRY_BACKOFF_MS` | `10` | Pipin tun gbiyanju ifẹhinti fun awọn ọna direct/relay/proxy tun gbiyanju-ẹẹkan ni `open-sse/utils/proxyFetch.ts` (#9158). `0` = tun gbiyanju lẹsẹkẹsẹ. |
| `OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS` | `60000` | Ibere akoko asiko wreq-js abinibi (`claudeTlsClient.ts`). |
| `OMNIROUTE_CLAUDE_TLS_GRACE_MS` | `10000` | Ore-ọfẹ akoko ipari-lile JS ti a ṣafikun lori oke akoko asiko abinibi. |
| `OMNIROUTE_PPLX_TLS_TIMEOUT_MS` | `30000` | Ibere akoko asiko wreq-js abinibi (`perplexityTlsClient.ts`). |
| `OMNIROUTE_PPLX_TLS_GRACE_MS` | `10000` | Ore-ọfẹ akoko ipari-lile JS ti a ṣafikun lori oke akoko asiko abinibi. |
| `OMNIROUTE_PPLX_SEARCH_HINT` | `0` (pa) | Appends "O ti ṣe sinu ayelujara search. Dahun ibeere taara lilo awọn èsì àwárí." si ifiranṣẹ eto olupe (`perplexity-web/protocol.ts`). Paa nipasẹ aiyipada — Perplexity wiwa lonakona, ati awọn gbolohun ọrọ jo sinu awọn idahun bi meta-commentary fun ifaminsi ibara. Ṣeto `1`/`true`/`yes`/`on` lati mu pada. |
| `OMNIROUTE_GROK_TLS_TIMEOUT_MS` | `60000` | Ibere akoko asiko wreq-js abinibi (`grokTlsClient.ts`). |
| `OMNIROUTE_GROK_TLS_GRACE_MS` | `10000` | Ore-ọfẹ akoko ipari-lile JS ti a ṣafikun lori oke akoko asiko abinibi. |
| `OMNIROUTE_NOTION_TLS_TIMEOUT_MS` | `30000` | Ibere wreq-js abinibi akoko ipari (`notionTlsClient.ts`); `notion-web` gbe soke fun ibeere lati `180000` fun awọn iran ti o gun. |
| `OMNIROUTE_NOTION_TLS_GRACE_MS` | `10000` | Ore-ọfẹ akoko ipari-lile JS ti a ṣafikun lori oke akoko asiko abinibi. |
| `OMNIROUTE_BROWSER_POOL` | `on` | Adagun aṣawakiri Playwright ti o pin fun iwiregbe kuki wẹẹbu ti o ṣe atilẹyin aṣawakiri (`browserPool.ts`); ṣeto `off` lati mu ṣiṣẹ. |
| `OBSCURA_BIN` | `auto-detect` | Ọna si alakomeji `obscura` ti a lo bi ẹrọ akọkọ nipasẹ adagun ẹrọ aṣawakiri ati alaṣẹ ibi ibi isere Cloudflare (`open-sse/services/obscura.ts`); a ṣe awari laifọwọyi lati eto PATH nigbati a ko ṣeto. |
| `OBSCURA_CDP_ENDPOINT` | _(a ko ṣeto)_ | Tọkasi ni Obscura ti n ṣiṣẹ tẹlẹ (`http://host:port`) dipo sisọ ọkan; module ko ni ara ti ilana (`open-sse/services/obscura.ts`). |
| `OBSCURA_PORT` | `random free port` | Ibudo ti o han gbangba fun `obscura serve` spawn; a yan ibudo ọfẹ laifọwọyi nigbati a ko ṣeto (`open-sse/services/obscura.ts`). |
| `WEB_COOKIE_USE_BROWSER` | `0` | Jade ibeere iwiregbe kuki wẹẹbu kan si ọna ti a ṣe atilẹyin ẹrọ aṣawakiri (`browserBackedChat.ts`); `1` lati mu ṣiṣẹ. |
| `KIMI_WEB_BASE_URL` | `https://www.kimi.ai` | Ipilẹ URL fun Kimi Wẹẹbu (kimi.ai Connect-RPC ti kariaye) alaṣẹ (`kimi-web.ts`); idojuk nikan fun mirror/proxy endpoints. |
| `KIMI_WEB_CHAT_URL` | `/apiv2/kimi.gateway.chat.v1.ChatService/Chat` | Aaye ipari iwiregbe ni kikun fun oluṣakoso oju opo wẹẹbu Kimi (`kimi-web.ts`). |
| `OMNIROUTE_LOGIN_BROWSER_PATH` | _(awari-laifọwọyi)_ | Ona si eto Chrome/Edge ṣiṣe fun Adobe Firefly ibanisọrọ aṣawakiri iwọle (`adobeFireflyBrowserLogin.ts`); idojuk fun-OS auto-iwari. |
| `OMNIROUTE_STANDALONE_DIR` | _.build/ iṣẹjade adaduro_ | Kọ-akoko idojuk fun awọn standalone o wu liana je nipasẹ awọn ranse si-Kọ colocation igbese (`scripts/build/colocate-standalone.mjs`); kọ tooling, ko asiko isise. |
Awọn igbiyanju ibi-afẹde Konbo jogun akoko akoko ibeere oke ti o yanju (`FETCH_TIMEOUT_MS`, tabi `REQUEST_TIMEOUT_MS` nigba ti o pese aifọwọyi bu). Ṣeto `targetTimeoutMs` sinu konbo, konbo aseku, tabi olupese idojuk nikan lati ṣe konbo fallback yiyara; awọn iye ti o wa loke akoko isunmọ oke lọwọlọwọ ni a fi kun si akoko isunmọ oke.
`comboTimeoutMs` jẹ isuna iṣọṣọ odidi gbogbo-konbo ti o yatọ kọja awọn ibi-afẹde ikuna. Fi silẹ ni aiṣeto tabi `0` lati tọju aṣetunṣe ailopin (iduro-iduro hardcoded iṣẹju mẹwa 10 ni `comboPredicates.ts` ṣi wulo). Iye rere kan rọpo netiwọki aabo yẹn fun konbo naa. Jeki `comboTimeoutMs` gun ju `targetTimeoutMs` ki failover tun ni akoko lẹhin ibi-afẹde akọkọ ti o lọra.
### Circuit Fifọ Ala
Olupese-ipele Circuit fifọ tuning. Awọn aiyipada ṣe afihan awọn iye iwọn ti a lo lati v3.6 fun awọn asopọ + 500.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------------------------- | --------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD` | `8` | `open-sse/config/constants.ts` | Ibẹrẹ ikuna itẹlera fun awọn olupese OAuth ṣaaju awọn irin ajo fifọ. |
| `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS` | `60000` | `open-sse/config/constants.ts` | Tun ferese tunto (ms) fun fifọ olupese OAuth. |
| `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD` | `12` | `open-sse/config/constants.ts` | Ikuna ikuna itẹlera fun awọn olupese bọtini API. |
| `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS` | `30000` | `open-sse/config/constants.ts` | Ferese tunto (ms) fun olupilẹṣẹ bọtini olupese API. |
| `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Ipari ikuna itẹlera fun awọn olupese agbegbe (Ollama, LM Studio, ...). |
| `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS` | `15000` | `open-sse/config/constants.ts` | Ferese tunto (ms) fun fifọ olupese agbegbe. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD` | `10` | `open-sse/config/constants.ts` | Olupese ipele fifọ: awọn ikuna laarin ferese ṣaaju ki gbogbo olupese OAuth wọ inu itutu agbaiye. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS` | `900000` | `open-sse/config/constants.ts` | Olupese ipele fifọ: sẹsẹ ikuna-window (ms) fun awọn olupese OAuth. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS` | `300000` | `open-sse/config/constants.ts` | Olupese ipele fifọ: itutu (ms) ni kete ti ala olupese OAuth ti de. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD` | `5` | `open-sse/config/constants.ts` | olupese OAuth wọ DEGRADED ni ọpọlọpọ awọn ikuna. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER` | `8` | `open-sse/config/constants.ts` | OAuth olupese max resetTimeout escalation multiplier. |
| `OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT` | `2` | `open-sse/config/constants.ts` | olupese OAuth pọ si lẹhin eyi ọpọlọpọ awọn iyipo ṣiṣi. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD` | `15` | `open-sse/config/constants.ts` | Olupese ipele fifọ: awọn ikuna laarin ferese ṣaaju ki gbogbo olupese API-bọtini wọ inu itutu agbaiye. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS` | `1800000` | `open-sse/config/constants.ts` | Fifọ ipele-olupese: ferese kika ikuna yiyi (ms) fun awọn olupese API-bọtini. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS` | `600000` | `open-sse/config/constants.ts` | Olupese ipele fifọ: itutu (ms) ni kete ti bọtini olupese API ti de opin. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD` | `7` | `open-sse/config/constants.ts` | Olupese bọtini API wọ DEGRADED ni ọpọlọpọ awọn ikuna. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER` | `4` | `open-sse/config/constants.ts` | API-bọtini olupese max resetTimeout escalation multiplier. |
| `OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT` | `3` | `open-sse/config/constants.ts` | Olupese bọtini API pọ si lẹhin eyi ọpọlọpọ awọn iyipo ṣiṣi. |
| `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Olupese ipele fifọ: awọn ikuna ṣaaju ki gbogbo olupese agbegbe wọ inu itutu agbaiye. |
| `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS` | `300000` | `open-sse/config/constants.ts` | Olupese ipele fifọ: sẹsẹ ikuna window (ms) fun awọn olupese agbegbe. |
| `OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS` | `60000` | `open-sse/config/constants.ts` | Olupese ipele fifọ: itutu (ms) ni kete ti ala olupese agbegbe ti de. |
| `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Itutu agbaiye-kọọkan (ms) ti a lo nipasẹ yiyi bọtini API-pupọ nigba ti 429 oke kan ko gbe `Retry-After` (#14573). Awọn iye ti kii ṣe rere tabi ti kii-nọmba ṣubu pada si aiyipada. |
| `OMNIROUTE_AVALANCHE_PROTECTION_ENABLED` | `false` | `open-sse/services/accountFallback/antiAvalanche.ts` | Jáde-ni ẹṣọ egboogi-owufo: nikan ohun ti ko boju mu `true` jeki o. Nigbati o ba wa ni titan, 429 kan ti o lorukọ awọn ami-ami-fun-iṣẹju-iṣẹju kan (ati iwọn-aponsedanu 400) duro ikuna cascading kọja awọn bọtini to ku ti olupese. 429 ti o ti rẹwẹsi ni o kuna lori bi o ti wu ki itọsi naa tobi to, ati pe HTTP 413 ko ni kan (o tọju #13350 tun gbiyanju-lori-isi-iroyin iwa ihuwasi miiran). |
| `OMNIROUTE_AVALANCHE_BURST_COOLDOWN_MS` | `60000` | `open-sse/services/accountFallback/antiAvalanche.ts` | Awoṣe-titiipa cooldown (ms) loo nigbati awọn oluso ina, dipo ti awọn escalating titiipa. A gun oke si ipilẹ nigbagbogbo AamiEye . Awọn iye ti kii ṣe rere tabi ti kii-nọmba ṣubu pada si aiyipada. |
| `PIN_DROP_BACKOFF_LEVEL` | `2` | `open-sse/services/combo.ts` | Ijinle Afẹyinti ninu eyiti olupese PIN kaṣe kan jẹ pe ko ni ilera ti o tọ ati pe PIN ti lọ silẹ fun ikuna. |
| `PIN_DROP_GRACE_MS` | `20000` | `open-sse/services/combo.ts` | Ferese Anti-flap (ms) fi aaye gba awọn itutu agbaiye ṣoki ṣoki ṣaaju sisọ PIN-kaṣe kan silẹ. |
### Awọn oju iṣẹlẹ
| Oju iṣẹlẹ | Iṣeto ni |
| ------------------------------ | --------------------------------------------------------- |
| **Gun-nṣiṣẹ koodu iran** | `REQUEST_TIMEOUT_MS=900000` (iṣẹju 15) |
| **Owun lapapọ san s'aiye** | `STREAM_ACTIVE_TIMEOUT_MS=1260000` (21 min) |
| **Ikuna-yara fun iṣelọpọ API** | `API_BRIDGE_PROXY_TIMEOUT_MS=10000` |
| **Awọn awoṣe ero gbooro** | `STREAM_IDLE_TIMEOUT_MS=300000` (iṣẹju 5 laarin awọn ege) |
---
## 16. Wọle
Eto gedu kọwe si mejeeji stdout ati awọn faili log ti yiyi. Gbogbo iṣeto ni a ka nipasẹ `src/lib/logEnv.ts`.
| Ayípadà | Aiyipada | Apejuwe |
| ----------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `APP_LOG_LEVEL` | `info` | Ipele akọọlẹ ti o kere julọ: `debug`, `info`, `warn`, `error`. |
| `APP_LOG_FORMAT` | `text` | Ọna kika jade: `text` (eniyan-ṣe kika) tabi `json` (ti a ṣeto). |
| `APP_LOG_TO_FILE` | `true` | Kọ awọn akọọlẹ lati faili lẹgbẹẹ stdout. |
| `APP_LOG_FILE_PATH` | `logs/application/app.log` | Ọna faili Wọle (i ibatan si root akanṣe tabi `DATA_DIR`). |
| `APP_LOG_MAX_FILE_SIZE` | `50M` | Iwọn faili ti o pọju ṣaaju iyipo. Gba: `50M`, `1G`, `512K`, tabi awọn baiti pẹtẹlẹ. |
| `APP_LOG_RETENTION_DAYS` | `7` | Awọn ọjọ lati tọju awọn faili log log ti yiyi. |
| `APP_LOG_MAX_FILES` | `20` | Awọn afẹyinti faili log yiyipo ti o pọju. |
| `CALL_LOG_RETENTION_DAYS` | `7` | Awọn ọjọ lati tọju awọn titẹ sii request/call sinu ibi ipamọ data. |
| `CALL_LOG_MAX_ENTRIES` | `10000` | Awọn titẹ sii ipe wọle ti o pọju ninu ifipamọ inu-iranti. |
| `CALL_LOGS_TABLE_MAX_ROWS` | `100000` | Awọn ori ila ti o pọju ninu tabili `call_logs` SQLite ṣaaju ki o to pruning. |
| `ENABLE_REQUEST_LOGS` | _(a ko ṣeto)_ | Fi ipa mu ibeere alaye wọle si tan tabi paa, ti o bori eto dasibodu naa. |
| `MAX_PENDING_REQUEST_AGE_MS` | `3600000` (wakati 1) | Ọjọ ori ti o pọ julọ fun awọn titẹ sii iforukọsilẹ ibeere alainibaba ti nṣiṣe lọwọ ṣaaju ṣiṣe mimọ inu-iranti. |
| `MAX_PENDING_DETAILS` | `5000` | Awọn alaye isunmọtosi ti o pọju (odidi to dara); fila kika: gba; awọn fila byte/map : fi sii. |
| `CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS` | `false` | Tọju awọn ege ṣiṣan ni awọn ohun-ọṣọ opo gigun ti epo nigbati `call_log_pipeline_enabled=true`. Jade-inu (`true`) — pipa nipasẹ aiyipada lati fi disk pamọ. |
| `CALL_LOG_PIPELINE_MAX_SIZE_KB` | `512` | Iwọn pipe pipe pipe log artifact iwọn ni KB nigbati `call_log_pipeline_enabled=true`. |
| `PROXY_LOGS_TABLE_MAX_ROWS` | `100000` | Awọn ori ila ti o pọju ninu tabili `proxy_logs` SQLite ṣaaju ki o to pruning. |
| `PROXY_LOG_INCLUDE_IPS` | `false` | Fi client/egress IPs ati awọn ami-iṣaaju akọọlẹ sinu awọn akọọlẹ console `[ProxyEgress]`. Awọn igbasilẹ dashboard/database aṣoju-log n ṣe idaduro awọn alaye ni kikun. |
| `PROXY_LOG_FIRST_CHUNK_TIMING` | `false` | Ṣeto si `"true"` tabi `"1"` lati ṣe igbasilẹ `first_chunk_ms` (firanṣẹ ibere si baiti ara iwulo akọkọ) lori awọn ori ila aṣoju-log. Murasilẹ kọọkan soke ara ni a ọlẹ passthrough san ati abulẹ awọn kana ni kete ti awọn baiti de; pipa nipa aiyipada ki awọn idahun kọja nipasẹ untouched. |
| `APP_LOG_ROTATION_CHECK_INTERVAL_MS` | `60000` (1 min) | Igba melo ni `src/lib/logRotation.ts` tun ṣayẹwo iwọn faili log ti nṣiṣe lọwọ. |
| `CHAT_LOG_TEXT_LIMIT` | `65536` | Ipari okun ti o pọju ni idaduro ni awọn ohun elo akọọlẹ iwiregbe (aiyipada 64 KB). |
| `CHAT_LOG_ARRAY_TAIL_ITEMS` | `128` | Nọmba awọn ohun orun ti o wa ni idaduro lati iru nigbati o ba npa awọn fifuye akọọlẹ iwiregbe ge. |
| `CHAT_LOG_MAX_DEPTH` | `6` | Ijinle itẹ-ẹiyẹ ti o pọ julọ ṣaaju ki awọn ẹru isanwo log iwiregbe ti ge ge. |
| `CHAT_LOG_MAX_OBJECT_KEYS` | `80` | Awọn bọtini ohun ti o pọju ti o wa ni idaduro ni awọn fifuye akọọlẹ iwiregbe (0 = ailopin). |
| `CHAT_LOG_MAX_BODY_KB` | `1024` | Gbogbo iwọn ara request/response (KB) ṣaaju ki o to rọpo rẹ nipasẹ akopọ igboro dipo ẹda oniye kikun. Gbe eyi soke ti awọn ibaraẹnisọrọ aṣoju gigun ba fihan ibi ipamọ dipo awọn ifiranṣẹ gidi ninu dasibodu naa. |
| `CHAT_DEBUG_FILE` | `false` | Nigbati o ba jẹ otitọ, `serializeArtifactForStorage` foju iwọn-ti o da lori iwọn. Ṣatunkọ nikan. |
---
## 17. Memory o dara ju
| Ayípadà | Aiyipada | Apejuwe |
| -------------------------------------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_HEAP_DIAGNOSTICS_ENABLED` | `0` (pa) | Ṣeto `1` lati wọle V8 okiti titẹ metiriki lati `src/lib/healthzLag.ts`. Awọn iwọn akọọlẹ ati kika inflight, maṣe beere akoonu, awọn itọpa tabi awọn aworan ifaworanhan. Nṣiṣẹ inu agbohunsilẹ-loop ibùso iṣẹlẹ, nitorina `OMNIROUTE_EVENT_LOOP_STALL_THRESHOLD_MS=0` tun wa ni pipa. |
| `OMNIROUTE_HEAP_DIAGNOSTICS_THRESHOLD_MB` | `900` | Ipele ti o dara fun heapUsed (MiB) ti o nfa iwe idanimọ ijade-inu. Awọn iye ti ko tọ lo 900 MiB; awọn ifiranṣẹ okiti giga ni opin si ẹẹkan fun iṣẹju-aaya 60. |
| `OMNIROUTE_MEMORY_MB` | _auto_ (irin igboro);**`1024` ninu aworan Docker** | **Ti ṣe iṣeduro** Docker/standalone V8 òkiti ààlà (MB). Nigbati a ko ṣeto, ti ṣe iwọn ni agbara (~ 35% ti eto RAM, dimọ si `[512, 4096]`); `512` jẹ ilẹ nikan nigbati iranti lapapọ ko le ka. Lori `run-standalone.mjs` (Docker CMD), an** fojuhan** iye ti wa ni appended bi `--max-old-space-size` ati** bori** lori asia òkiti NODE_OPTIONS rogbodiyan (V8 kẹhin-flag). `omniroute serve` tun fẹran òkiti NODE_OPTIONS o wa tẹlẹ (#5238). Maṣe ṣeto mejeeji si awọn nọmba oriṣiriṣi — ilana naa ṣe igbasilẹ ikilọ kan lorukọ awọn iye mejeeji ati olubori.** Aworan Docker osise nigbagbogbo n ṣeto `1024`, nitorinaa isọdọtun ko ṣiṣẹ nibẹ.** Ifaminsi-aṣoju `/v1/responses` nilo `8192`–`12288` plus cgroup headroom — wo [Docker Itọsọna — asiko isise RAM](../guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). |
| `OMNIROUTE_RSS_PRESSURE_MB` | _auto_ (`max(3072, 2 × OMNIROUTE_MEMORY_MB)`; pipa nigbati `OMNIROUTE_MEMORY_MB` ko ṣeto) | `open-sse/utils/resourcePressure.ts` | Ilana pipe-fiusi RSS (MB) fun iranti native/external ti V8 `heapUsed` ko le ri; loke rẹ awọn ibeere titun gba 503 `resource_pressure`. RSS ṣọwọn silẹ lẹhin iwasoke, nitorinaa so pọ pẹlu `OMNIROUTE_PRESSURE_SELF_RESTART`. |
| `PROMPT_CACHE_MAX_SIZE` | `50` | Ti o pọju awọn titẹ sii tọ eto cache. |
| `PROMPT_CACHE_MAX_BYTES` | `2097152` (2 MB) | Iwọn kaṣe kiakia lapapọ lapapọ. |
| `PROMPT_CACHE_TTL_MS` | `300000` (5 min) | Titẹ sii kaṣe kiakia TTL. |
| `SEMANTIC_CACHE_MAX_SIZE` | `100` | Iwọn otutu ti o pọju = 0 awọn idahun. |
| `SEMANTIC_CACHE_MAX_BYTES` | `4194304` (4 MB) | Iwọn kaṣe atunmọ lapapọ lapapọ. |
| `SEMANTIC_CACHE_TTL_MS` | `1800000` (30 min) | Titẹ sii kaṣe atunmọ TTL. |
| `OMNIROUTE_SEMANTIC_CACHE_PRUNE_INTERVAL_MS` | `1800000` (30 min) | SQLite prune aarin. `0` ṣe piparẹ ibẹrẹ ati awọn ṣiṣe igbakọọkan; awọn iye miiran ni isalẹ `60000` ṣubu pada si aiyipada. Awọn iye ti o wa loke `2147483647` ms dimole si idaduro aago Node ti o pọju, yago fun iṣan omi si ibo ibo 1ms. Akọkọ ṣiṣe lẹhin 1s; Aago ni o wa unref'd ati awọn gbalaye kò ni lqkan. |
| `OMNIROUTE_SEMANTIC_CACHE_PRUNE_BATCH_SIZE` | `2000` | Awọn ori ila fun SQLite prune DELETE, dimọ si `[100, 50000]`; Egbin si iṣẹlẹ iṣẹlẹ laarin awọn ipele. |
| `OMNIROUTE_SEMANTIC_CACHE_PRUNE_MAX_BATCHES` | `50` | Eto isuna ipele DELETE o pin fun ṣiṣe kọja ipari ipari ati iyan gba ila-fila, dimọ si `[1, 10000]`. Awọn ifẹhinti tẹsiwaju lori awọn ṣiṣe nigbamii. |
| `OMNIROUTE_SEMANTIC_CACHE_MAX_ROWS` | `0` | Iyan SQLite fila kana (`0` = kò si). Lẹhin piparẹ `expires_at <=` naa bẹrẹ-bẹrẹ ISO timestamp, ko jade `created_at` atijọ , lẹhinna `rowid`, pẹlu awọn ori ila laaye, koko-ọrọ si isuna ipele ipin. Awọn iye ti wa ni gedu si awọn odidi (titi de opin nomba ailewu). Ofo, ti kii-nọmba, ti kii-ipin tabi awọn iye odi fun gbogbo awọn oniyipada piruni mẹrin ṣubu pada si awọn aṣiṣe wọn; ida yika si isalẹ. Pruning ko yi TTL, iranti LRU tabi ihuwasi kaṣe vector. |
| `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | Awọn gbongbo agbegbe-corpus ti o tọju itọka iranti laaye ni ẹẹkan (`src/lib/localCorpus/configured.ts`). LRU: ni opin iwọn atọka root ti o kere julọ-laipe-lo ti yọ kuro ati tun ṣe lori ibeere atẹle rẹ. Dimọ si o kere ju `1`; iye ti kii ṣe nomba ṣubu pada si aiyipada. |
| `STREAM_HISTORY_MAX` | `50` | Awọn iṣẹlẹ ṣiṣan aipẹ ti o pọju ni ifipamọ wiwo ifiwe Dashboard. |
| `CONTEXT_LENGTH_DEFAULT` | _(a ko ṣeto)_ | Ipari ọrọ-ọrọ agbaye-ipari (awọn ami-ami) fun gbogbo olupese ti ko ni oniyipada `CONTEXT_LENGTH_`. Nigbati o ba ṣeto, o** rọpo** katalogi, dasibodu dasibodu ati awọn iye iforukọsilẹ fun awọn olupese wọnyẹn; nigbati a ko ṣeto, OmniRoute nlo pq ti a ṣe sinu rẹ, eyiti ibi-afẹde ikẹhin rẹ jẹ `128000`. Wo [ipari ọrọ-ọrọ fun Olupese](#per-provider-context-length-context_length_provider). |
| `USAGE_TOKEN_BUFFER` | `100` | Yara ori ami afikun ti o wa ni ipamọ nigba titọpa awọn ipin lilo. |
### Gigun ọrọ-ọrọ fun Olupese (`CONTEXT_LENGTH_`)
`open-sse/services/contextManager.ts` (`getEnvOverride()` / `resolveTokenLimit()`) tun ka a** fun-olupese** fọọmu ti a kọ orukọ rẹ lati ọdọ olupese ID ni akoko asiko, nitorinaa ko le ṣe atokọ ni ila-ila ninu tabili loke tabi ni `.env.example`.
**Oruko.** `CONTEXT_LENGTH_`, nibiti `` ti jẹ olupese ID oke-cased, pẹlu gbogbo ohun kikọ ita `A-Z` / `0-9` rọpo nipasẹ `_`. Olupese ID jẹ ọkan ti ilana lẹhin ipinnu inagijẹ (apakan `provider` ti okun `provider/model` ni kete ti inagijẹ kukuru ti ni ipinnu). Aṣa OpenAI- tabi awọn apa ibaramu Anthropic lo node ti ipilẹṣẹ ID wọn, nitorinaa UUID jẹ apakan ti orukọ oniyipada. Awọn iye ti wa ni a rere odidi nọmba ti àmi; ohunkohun miiran (ofo, `0`, odi, ti kii-nọmba) jẹ aibikita ati ipinnu gbe lọ si igbesẹ ti nbọ.
| Olupese ID | Orukọ oniyipada |
| ----------------------------------------------------------- | -------------------------------------------------------------------------- |
| oluranlowo olulana | CONTEXT_LENGTH_AGENTROUTER |
| openrouter | CONTEXT_LENGTH_OPENROUTER |
| openai-compatible-chat-0f8e2c1a-5b7d-4e3f-9a6c-2d1b8e4f7a90 | CONTEXT_LENGTH_OPENAI_COMPATIBLE_CHAT_0F8E2C1A_5B7D_4E3F_9A6C_2D1B8E4F7A90 |
**Iwaju.** Fun bata `provider/model`, igbesẹ akọkọ ti o mu iye kan yọrisi:
1. `CONTEXT_LENGTH_` fun olupese naa.
2. `CONTEXT_LENGTH_DEFAULT` (agbegbe ayika agbaye).
3. Ferese fun-awoṣe: ipo-ọrọ ti o tẹsiwaju (ṣeto sinu dasibodu, tabi afọwọṣe-pin nipasẹ olulaja wiwa, wo `CONTEXT_WINDOW_RECONCILE_INTERVAL`), bibẹẹkọ katalogi amuṣiṣẹpọ / awọn awoṣe.dev iye.
4. Iforukọsilẹ olupese `defaultContextLength`.
5. Awoṣe-orukọ heuristics (`claude` 200000, `gemini` 1000000, `gpt` / `o1` / `o3` / `o4` / `codex` 400000).
6. Awọn aṣiṣe ti a ṣe sinu fun olupese, lẹhinna `128000`.
Mejeeji ayika awọn igbesẹ ti waye si awọn** gbogbo olupese** : Gbogbo awoṣe ti olupese naa gba opin kanna, ati pe wọn bori lori awọn dasibodu awoṣe-apẹẹrẹ. Nigbati awoṣe kan ti olupese kan nilo window ti o yatọ, lo ifasilẹ fun-apẹẹrẹ ni dasibodu dipo.
**Ààlà.** Ẹwọn yii n ṣakiyesi akoko ibeere-akoko-window ( `context_length_exceeded` / “Input over context window” ijusile ni `open-sse/handlers/chatCore.ts`), awọn isuna funmorawon kiakia ati awọn opin ọrọ-ọrọ konbo. `context_length` ti a polowo nipasẹ `GET /v1/models` tun le wa lati inu iwe akọọlẹ tabi metadata iforukọsilẹ ati pe ko ṣe iṣeduro lati ṣe afihan ipadasẹhin ayika.
**Apeere.** Olupese ti awoṣe rẹ gba ferese ami-ami 1,050,000 nigba ti katalogi ṣe ijabọ 128,000:
```dotenv
CONTEXT_LENGTH_AGENTROUTER=1050000
```
Tun olupin bẹrẹ lẹhin ti o yi pada: iye ti ka lati agbegbe ilana olupin. Lori awọn** tabili app** olupin naa nṣiṣẹ bi ilana ọmọde ati pe ko ri iyipada eto kan lẹhin ti a ti ṣe ifilọlẹ app; fi laini sinu faili `.env` awọn ẹru app (aṣẹ wiwa ni [itọsọna Electron : Ṣiṣayẹwo faili ayika](../guides/ELECTRON_GUIDE.md#environment-file-lookup) ), lẹhinna dawọ kuro ni kikun ki o tun bẹrẹ app naa.
### Funmorawon
| Ayípadà | Aiyipada | Apejuwe |
| ------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | unset | Gbẹkẹle ise agbese `.rtk/filters.json` laisi hash `.rtk/trust.json` kan. Lo nikan ni idagbasoke agbegbe ti iṣakoso. |
### Ẹrọ iranti (ètò 21)
### Iye owo lupu iṣẹlẹ ti iranti, awọn ọgbọn, ati isọdọtun ami (#10349)
OmniRoute ni a** nikan Node ilana** . extraction/retrieval iranti, abẹrẹ awọn ọgbọn, ati isọdọtun olupese iṣẹ ṣiṣe lori iyẹn** kanna iṣẹlẹ lupu** bi `GET /healthz` ati dasibodu. Wọn kii ṣe okun oṣiṣẹ.
| Ṣiṣẹ | Koodu | Aiyipada | Iṣakoso onišẹ |
| -------------------------- | ---------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Iranti isediwon / igbapada | `src/lib/memory/` | Dasibodu**memoryEnabled** (aiyipada lori) | Paa** Eto → Memory** . Nibẹ ni ko si lọtọ env pa yipada kọja disabling ẹya-ara ni eto. |
| Abẹrẹ ogbon | `src/lib/skills/injection.ts` | Dasibodu**skillsEnabled** (aiyipada lori) | Paa** Eto → Memory/Skills** (`skillsEnabled`). Awọn bọtini apoti iyanrin ni isalẹ ipaniyan ti a dè nikan lẹhin abẹrẹ ti wa tẹlẹ. |
| Isọdọtun tokini | `src/sse/services/tokenRefresh.ts` | Tan fun awọn olupese OAuth/web ti a ti sopọ | Ge asopọ olupese tabi jẹ ki awọn ami duro wulo; ko si `TOKEN_REFRESH=0` env loni. |
Ti `/healthz` ba lọra lori apoti idakẹjẹ, mu awọn ọgbọn + iranti ṣiṣẹ ni akọkọ, lẹhinna ṣayẹwo fifuye catalog/compression (#10303, #9685). Awọn ẹya wọnyi mu jade ni awọn aaye `await` ṣugbọn tun dije fun okun kan.
Ifibọlẹ Layer, ibi-itaja fekito ati awọn bọtini atunto fun eto-iṣẹ iranti itẹramọṣẹ (`src/lib/memory/`).
| Ayípadà | Aiyipada | Apejuwe |
| ------------------------------------ | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MEMORY_EMBEDDING_CACHE_TTL_MS` | `300000` (5 min) | TTL fun kaṣe ifibọ inu-iranti (fun ibuwọlu source/model/dim ). |
| `MEMORY_EMBEDDING_CACHE_MAX` | `1000` | Awọn titẹ sii LRU ti o pọju ti a fipamọ sinu kaṣe ifibọ. |
| `MEMORY_TRANSFORMERS_MODEL` | `Xenova/all-MiniLM-L6-v2` | HF repo id fun ijade-inu `@huggingface/transformers` agbegbe opo gigun ti MiniLM (~ 23 MB int8, ~ 400 MB RAM). |
| `MEMORY_STATIC_MODEL` | `minishlab/potion-base-8M` | HF repo id fun iṣipopada tabili wiwa potion/Model2Vec aimi. Ti ṣe igbasilẹ ni ọlẹ sinu kaṣe dir. |
| `MEMORY_STATIC_CACHE_DIR` | `/embeddings` | Liana ti a lo lati kaṣe awọn faili awoṣe potion aimi. Awọn aiyipada labẹ `DATA_DIR` nigbati a ko ṣeto. |
| `HF_HUB_ENDPOINT` | `https://huggingface.co` | Paarẹ ipilẹ Face Hub ti o famọra URL ti o lo nipasẹ `staticPotion.ts` (fun apẹẹrẹ aaye ipari digi fun awọn iṣeto ti o ni gapped). |
| `MEMORY_VEC_TOP_K` | `20` | Oke-K aiyipada ti a lo nipasẹ wiwa `sqlite-vec` brute-force vector inu `src/lib/memory/vectorStore.ts`. |
| `MEMORY_RRF_K` | `60` | Atunse ipo Fusion ibakan `k` fun arabara FTS5 + fekito igbapada (sqlite-vec ohunelo). |
| `VECTOR_STORE_DISABLE_VEC` | `false` | Test/diagnostic seaam in `getVectorStore()` (`src/lib/memory/vectorStore.ts`): nigbati `true`, fi agbara mu ibi-itaja vector lati `null` (ṣe afiṣe agbegbe cloud/WASM laisi `sqlite-vec`), imupadabọ iranti abuku si wiwa ọrọ-ọrọ FTS5. Fi aifọkanbalẹ silẹ ni iṣelọpọ. |
| `NOTION_API_KEY` | _(a ko ṣeto)_ | bọtini API fun ẹyìn Notion (ti a lo nipasẹ `genericBackend.ts` tito tito lẹyin ti a mọ). |
| `NOTION_API_URL` | `https://api.notion.com/v1` | Ipilẹ URL fun Notion API (le bori fun awọn ọna yiyan Notion ti ara ẹni ti gbalejo). |
| `OBSIDIAN_API_KEY` | _(a ko ṣeto)_ | bọtini API fun Obsidian Vault backend (lo nipasẹ `genericBackend.ts` tito tito lẹyin ti a mọ). |
| `OBSIDIAN_API_URL` | `http://localhost:27123` | URL mimọ fun Obsidian Vault API (le bori fun ifinkan latọna jijin). |
| `MEMORY_TYPED_DECAY_ENABLED` | `false` | TV6 ti tẹ iranti ibajẹ oluwa yipada.** Jade (pa aiyipada)** — gbigba** npaarẹ** awọn iranti ti bajẹ. Pẹlu piparẹ, `access_count`/`last_accessed_at` jẹ telemetry mimọ ati pe ko si nkankan ti paarẹ. |
| `MEMORY_TYPED_DECAY_EPISODIC_DAYS` | `30` | TTL (awọn ọjọ) lẹhin eyi iranti `episodic` ti a ko lo yoo bajẹ. `0` ṣe ajẹsara episodic paapaa. Awọn oriṣi ti o tọ (`factual`/`procedural`/`semantic`) jẹ ajesara nigbagbogbo. Aago ibajẹ tun-ipilẹ lori `last_accessed_at`. |
| `MEMORY_TYPED_DECAY_ACCESS_IMMUNITY` | `3` | Iranti abẹrẹ `>=` yii ni ọpọlọpọ igba di ajesara si ibajẹ laibikita iru. `0` mu ajesara iwọle ṣiṣẹ. |
| `MEMORY_TYPED_DECAY_SWEEP_INTERVAL` | `0` (alaabo) | Àárín (ìṣẹ́jú àáyá) fún ìparun ìbàjẹ́ ìgbàkọọkan iyan ni `src/lib/memory/typedDecay.ts`. `0`/ unset = ko si gbigba igbakọọkan. Ijade-iwọle lẹmeji: tun nilo `MEMORY_TYPED_DECAY_ENABLED=true`. |
| `OMNIROUTE_STRICT_SYSTEM_PROVIDERS` | _(a ko ṣeto)_ | Awọn ids olupese ti o ya sọtọ komama (aibikita ọran) ti o gba ifiranṣẹ `system` kan** nikan ni atọka 0** (`src/lib/memory/injection.ts`). Fun iwọnyi, kaṣe-ailewu aarin-array iranti splice jẹ ailewu ni awọn ibaraẹnisọrọ titan-pupọ, nitorinaa iranti jẹ merged/prepended bi ifiranṣẹ eto idari dipo. Awọn aiyipada si `xiaomi-mimo`/`mimo` nikan; faagun fun awọn aaye ipari ibaramu OpenAI ti ara ẹni (fun apẹẹrẹ Qwen3.5 +/ 3.6) eyiti awoṣe iwiregbe nfi idinamọ-ifiranṣẹ eto-asiwaju kanṣoṣo. |
### Kekere-Ramu Docker Apeere
`128` jẹ dasibodu-nikan. Awọn aṣoju ifaminsi lori òkiti `FATAL ERROR` yii lakoko `/v1/responses` gigun. Maṣe lo apẹẹrẹ yii bi ẹnu-ọna Claude/Codex/Grok.
```bash
OMNIROUTE_MEMORY_MB=128
PROMPT_CACHE_MAX_SIZE=20
PROMPT_CACHE_MAX_BYTES=524288 # 512 KB
SEMANTIC_CACHE_MAX_SIZE=25
SEMANTIC_CACHE_MAX_BYTES=1048576 # 1 MB
STREAM_HISTORY_MAX=10
```
---
## 18. Ifowoleri Sync
Amuṣiṣẹpọ data ifowoleri awoṣe adaṣe lati awọn orisun ita.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------- | ------------------- | ------------------------ | --------------------------------------- |
| `PRICING_SYNC_ENABLED` | `false` | `src/lib/pricingSync.ts` | Jade ni amuṣiṣẹpọ ifowoleri igbakọọkan. |
| `PRICING_SYNC_INTERVAL` | `86400` (wakati 24) | `src/lib/pricingSync.ts` | Aago amuṣiṣẹpọ ni iṣẹju-aaya. |
| `PRICING_SYNC_SOURCES` | `litellm` | `src/lib/pricingSync.ts` | Awọn orisun data ti o ya sọtọ-koma. |
---
## Arena ELO Sync
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------- | ------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ARENA_ELO_SYNC_ENABLED` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Igbakọọkan Arena AI leaderboard ELO amuṣiṣẹpọ, atunto lati Awọn asia Ẹya Dasibodu tabi pẹlu `false` lati jade. |
| `MODELS_CATALOG_PREFIX_MODE` | `dual` | `src/shared/constants/featureFlagDefinitions.ts`, `src/app/api/v1/models/catalog.ts` | Fọọmu ìpele ti a lo fun ids awoṣe ni `GET /v1/models`. `dual` n polowo mejeeji ìpele inagijẹ kukuru ati ìpele olupese canonical fun gbogbo awoṣe (ibaramu sẹhin — ni aijọju ilọpo meji katalogi); `alias` njade id kan fun awoṣe; `canonical` njade nikan ni kikun olupese-id ìpele (awọn olupese ti inagijẹ wọn tẹlẹ jẹ awọn canonical id pa wọn nikan titẹsi). Awọn alabara le bori fun ibeere pẹlu `?prefix=alias`. Wo [API_REFERENCE](API_REFERENCE.md#model-id-prefixes-prefix). |
| `ARENA_ELO_SYNC_INTERVAL` | `86400` (wakati 24) | `src/lib/arenaEloSync.ts` | Aago amuṣiṣẹpọ ni iṣẹju-aaya. |
---
## PromptQL Olupese ibi isereile (Unofficial/Experimental)
Yipada-ẹrọ afara igba GraphQL fun kiakia.ql.app (`src/shared/constants/providers/web-cookie.ts`). Gbogbo awọn aseku — iyan tọka si awọn aaye ipari ibi-iṣere gbangba; idojuk nikan fun self-hosted/alternate PromptQL imuṣiṣẹ.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `PROMPTQL_GRAPHQL_ENDPOINT` | `https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql` | `open-sse/executors/promptql.ts` | GraphQL endpoint ti a lo fun awọn iṣẹ chat/session. |
| `PROMPTQL_CREDITS_ENDPOINT` | `https://data.pro.ql.app/v1/graphql` | `open-sse/executors/promptql.ts`, `open-sse/services/usage/promptql.ts` | aaye ipari GraphQL ti a lo lati beere kirẹditi balance/usage. |
| `PROMPTQL_TOKEN_REFRESH_URL` | `https://auth.pro.ql.app/ddn/project/token` | `open-sse/executors/promptql.ts` | Ipari ipari ti a lo fun isọdọtun-akitiyan tokini. |
| `PROMPTQL_POLL_TIMEOUT_MS` | `180000` | `open-sse/executors/promptql.ts` | Akoko ti o pọju (ms) lati didi `thread_events` ṣaaju ki akoko to jade. |
---
## Olupese Ayelujara HyperAgent (Unofficial/Experimental)
Afara igba ti a ṣe atunṣe-pada fun hyperagent.com (`src/shared/constants/providers/web-cookie.ts`). Iyan — awọn aaye aiyipada ni aaye ipari billing/usage ti gbogbo eniyan; idojuk nikan fun self-hosted/alternate HyperAgent imuṣiṣẹ.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------- | --------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------- |
| `HYPERAGENT_USAGE_URL` | `https://hyperagent.com/api/settings/billing/usage` | `open-sse/services/usage/hyperagent.ts` | Endpoint ti a lo lati mu awọn bulọọki kirẹditi billing/usage. |
---
## Unpriced Lilo Isuna Afihan
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------ | ------------------------------------------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `UNPRICED_USAGE_BUDGET_POLICY` | _(a ko ṣeto; kuna ni pipade ayafi ti ijade boolean ti ṣiṣẹ)_ | `src/shared/utils/featureFlags.ts` | Awọn opin-bọtini daily/weekly USD : awọn bulọọki `fail_closed` lilo ti ko ni idiyele nitootọ; `count_as_zero` ka rẹ si $0 lakoko ti o n fi ipa mu inawo idiyele. Enum ti o fojuhan (DB ṣaaju env) dojukọ ijade-jade boolean. Awọn iye ti ko tọ ati awọn ikuna wiwa idiyele kuna pipade. |
| `USAGE_LIMIT_IGNORE_UNPRICED` | `false` | `src/shared/utils/featureFlags.ts` | Ijade-jade ibamu boolean ti oke: ka lilo ti ko ni idiyele nitootọ bi $0 nikan nigbati ko ba si eto eto enum ti o han gbangba ti tunto. Awọn inawo ti o ni idiyele ati awọn wiwa ti o kuna si wa ni imuse. |
## Kilo koodu Lilo Quotas
Iwontunwonsi USD ti ara ẹni ati wiwa lilo Kilo Pass fun olupese koodu Kilo. Iyan — awọn aaye aiyipada ni gbangba Kilo API; idojuk nikan fun relay/test amuduro. Ijeri nlo ami iraye si OAuth ti o wa tẹlẹ.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| -------------- | --------------------- | ------------------------------------- | -------------------------------------------------------------------------------- |
| `KILO_API_URL` | `https://api.kilo.ai` | `open-sse/services/usage/kilocode.ts` | Ipilẹ URL ti a lo lati mu iwọntunwọnsi koodu Kilo ti ara ẹni ati lilo Kilo Pass. |
---
## Olupese wẹẹbu Adobe Firefly (Unofficial/Experimental)
Itura-itumọ ti ẹrọ aṣawakiri fun olupese wẹẹbu Adobe Firefly (`open-sse/services/adobeFireflyBrowserLogin.ts`, `open-sse/services/adobeFireflySession.ts`, `open-sse/services/adobeFireflyClient.ts`). Iyan — gbogbo awọn aseku wa ni aifwy fun fifi sori tabili deede.
> **Yiyọ kuro ni # 9255.** Akoko asiko asiko ti o somọ CDP atijọ ti Chrome (adobeFireflyChromeRuntime.ts) ti rọpo nipasẹ iṣẹ buwolu aṣawakiri Playwright kan, ati pe awọn koko rẹ ko si mọ. Awọn oniyipada ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART, pẹlu ADOBE_FIREFLY_LOGIN_WAIT_MS ati ADOBE_FIREFLY_FORTER_WAIT_MS, ko ka nibikibi ninu codebase — eto wọn ko ni ipa kankan.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------ | ------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Ṣeto si `1` fun Chrome ti ko ni ori otitọ (ti a mọ-fọ fun ipilẹṣẹ; yokokoro nikan). |
| `ADOBE_FIREFLY_BROWSER_REFRESH` | `1` | `open-sse/services/adobeFireflySession.ts` | Aṣàwákiri ìṣàfilọ́lẹ̀ tó gbóná opt-in/out. `0` jẹ́ kí gbóná tó máa ṣiṣẹ́ mọ́ (ìmúbọ̀sípò 408 àárín ìpele ṣi kan). |
| `ADOBE_FIREFLY_SESSION_DISK` | `1` | `open-sse/services/adobeFireflySession.ts` | Ṣeto si `0` lati mu idaduro igba Adobe Firefly si disk. |
| `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | _(a ko ṣeto)_ | `open-sse/services/adobeFireflySession.ts` | Aafo ti o kere ju (ms) ti fi agbara mu laarin awọn ifisilẹ ti o tẹle, ti o bori aiyipada ti a ṣe sinu. |
| `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | _(a ko ṣeto)_ | `open-sse/services/adobeFireflySession.ts` | Aafo afikun (ms) ti a ṣafikun lẹhin ipele aṣeyọri kan, ti o bori aiyipada ti a ṣe sinu. |
| `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | _(a ko ṣeto)_ | `open-sse/services/adobeFireflyClient.ts` | Idaduro ipilẹ (ms) ṣaaju fifisilẹ ibeere iran kan, ti o bori aiyipada ti a ṣe sinu. |
---
## 19. Awoṣe Amuṣiṣẹpọ (Dev)
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------------------- | ------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MODELS_DEV_SYNC_ENABLED` | _(a ko ṣeto)_ | `src/lib/modelsDevSync.ts` | Idojuk lile fun modeli.dev amuṣiṣẹpọ ifowoleri. Unset = ola Eto > AI (`modelsDevSyncEnabled`). `0`/`false`/`off`/`no`** bori DB** o si fo mejeeji amuṣiṣẹpọ igbakọọkan ati awọn ọlọjẹ `getModelsDevPricing()` SQL/JSON (imupadabọ nigbati dasibodu ti wa ni wiwọ lori iṣẹlẹ iṣẹlẹ kanna). `1`/`true`/`on`/`yes` awọn ologun amuṣiṣẹpọ lori. Ifowoleri save/clear ṣi pe `backupDbFile("pre-write")`, eyiti ko si-op labẹ isunmi iṣẹju 60 tabi `DISABLE_SQLITE_AUTO_BACKUP`. |
| `MODELS_DEV_SYNC_INTERVAL` | `86400` (wakati 24) | `src/lib/modelsDevSync.ts` | Àkókò ìsiṣẹ́pọ̀ àwòṣe àkópọ̀ ìdàgbàsókè ní ìṣẹ́jú àáyá. |
| `CONTEXT_WINDOW_RECONCILE_INTERVAL` | `86400` (wakati 24) | `src/lib/contextWindowResolver.ts` | Aarin (awọn iṣẹju-aaya) fun atunṣe ara ẹni-atunṣe-window reconciler (5004): awọn olupese pinni-pipe awọn window lati wiwa `/models` bi `auto:discovery` ṣe dojukọ nigbati wọn yapa lati katalogi. Ṣeto si `0` lati mu ṣiṣẹ. Tun lo data ti a muṣiṣẹpọ tẹlẹ (ko si bu tuntun); ko tun kọ `manual` danu. |
---
## 20. Eto Olupese-Pato
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OPENROUTER_CATALOG_TTL_MS` | `86400000` (wakati 24) | `src/lib/catalog/openrouterCatalog.ts` | OpenRouter awoṣe katalogi kaṣe TTL. |
| `MODEL_CATALOG_INCLUDE_NAMES` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Ṣafikun awọn aaye `name` ọrẹ-ifihan ni awọn idahun `/v1/models`. Pa fun awọn alabara ti o nireti IDs nikan. |
| `OMNIROUTE_GEMINI_WEB_ARGON_ENABLED` | `0` (pa) | `open-sse/config/providers/registry/gemini/web/index.ts` | Jade wọle (#16573). Ṣeto `1` (tabi `true`/`yes`) lati polowo `gweb/gemini-4-argon` lori olupese wẹẹbu Gemini ki o jẹ ki oluṣakoso rẹ yan ipo yẹn. Paa nipasẹ aiyipada nitori awọn yiyan akojọ aṣayan Argon ko ti ṣayẹwo lodi si akọọlẹ wẹẹbu Gemini laaye; nigba ti pa, awọn awoṣe ti wa ni ko akojọ ati ki o kan ìbéèrè fun o ti wa ni kọ bi ohun aimọ awoṣe, bi tẹlẹ. Ka ni ibẹrẹ, nitorinaa iyipada nilo atunbere. |
| `CATALOG_BUILD_TIMEOUT_MS` | `8000` (8s) | `src/app/api/v1/models/catalogCache.ts` | Idaduro oju-ọna tutu ti a dè fun atunkọ katalogi `GET /v1/models` kan ti a ṣajọpọ (#12627). Ni akoko ipari, 200 ti o dara ti o kẹhin yoo wa nigbati ọkan wa. |
| `OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS` | `2592000000` (30 ọjọ) | `src/lib/db/models/activeSyncedCatalog.ts` | Ọjọ ori lẹhin eyiti atokọ awoṣe imuṣiṣẹpọ asopọ kan duro jijẹ alaṣẹ fun ipa-ọna ati kuna ṣiṣi silẹ si iforukọsilẹ (#12849). Awọn ori ila ti a ko ni aami-akoko ka bi aiduro. |
| `OMNIROUTE_ANALYTICS_CACHE_TTL_MS` | `60000` (60s) | `src/lib/usage/analyticsResponseCache.ts` | Igba melo ni idahun `GET /api/usage/analytics` ti o lọra yoo tun lo fun okun ibeere kanna (#15629). `0` mu kaṣe kuro. |
| `OMNIROUTE_ANALYTICS_CACHE_MIN_COMPUTE_MS` | `1000` (1s) | `src/lib/usage/analyticsResponseCache.ts` | Awọn idahun atupale nikan ti o gba o kere ju gigun yii lati kọ jẹ cache, nitorinaa awọn iṣẹlẹ kekere nigbagbogbo rii data tuntun. |
| `OMNIROUTE_CACHE_METRICS_MIN_COMPUTE_MS` | aito (pa) | `src/app/api/cache/route.ts` nipasẹ `src/lib/usage/analyticsResponseCache.ts` | Jade wọle (#16361). Nigbati a ba ṣeto si odidi N ti kii ṣe odi, apakan lilo-itan ti `GET /api/cache` (aṣakaṣe-kiakia lapapọ + aṣa) jẹ iranṣẹ lati kaṣe esi esi atupale ti o pin nigbati o gba o kere ju N ms lati kọ, fun ferese `trendHours` dimole, fun `OMNIROUTE_ANALYTICS_CACHE_TTL_MS` (itan le jẹ aisunmọ si TTL yẹn; `DELETE /api/cache` sọ ọ di asan). Iyipada tabi aifẹ itan-akọọlẹ = ka laaye lori gbogbo ibeere. |
| `NANOBANANA_POLL_TIMEOUT_MS` | `120000` | `open-sse/handlers/imageGeneration.ts` | Max duro fun NanoBanana image iran ise. |
| `NANOBANANA_POLL_INTERVAL_MS` | `2500` | `open-sse/handlers/imageGeneration.ts` | NanoBanana ise idibo igbohunsafẹfẹ. |
| `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyUpscale.ts` | Idaduro ipilẹ fun Adobe Firefly upscale fi silẹ-tun gbiyanju ifẹhinti alapin. |
| `AWS_REGION` | _(a ko ṣeto)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Ekun ti a lo lati kọ awọn aaye ipari AWS Bedrock (Kiro, ohun ohun). |
| `AWS_DEFAULT_REGION` | _(a ko ṣeto)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Ipadabọ nigbati `AWS_REGION` ko ṣeto. |
| `CLOUDFLARE_ACCOUNT_ID` | _(a ko ṣeto)_ | `open-sse/executors/cloudflare-ai.ts` | Account ID fun Cloudflare Workers AI. |
| `CLOUDFLARE_PLAYGROUND_CHROME_PATH` | _(a ko ṣeto)_ | `open-sse/executors/cloudflare-playground.ts` | Oju-ọna alakomeji Chrome tabili ni kikun fun oluṣakoso aaye ibi-iṣere Cloudflare AI, ti a lo nigbati ayẹwo itẹka-aini ori ṣe dina Chromium ti Playwright's bundled. |
| `CODEBUDDY_SYSTEM_PROMPT_MAX_LEN` | ∅ (∞) — _unset = ko si fila ipari_ | `open-sse/executors/codebuddy/shared.ts` | Fila ipari iyan fun awọn eto olupe ti a firanṣẹ si CodeBuddy (CN ati International). Nipa aiyipada nikan ni kiakia ti o gbe ami idanimọ ifaminsi-aṣoju idanimọ jẹ rọpo nipasẹ didoju kan ( àlẹmọ akoonu Tencent kọ iyẹn); gun ta ti wa ni pa. Odidi > 0 tun rọpo eto eto eyikeyi to gun ju ti ọpọlọpọ awọn ohun kikọ lọ; unset, `0` tabi iye ti kii-odidi mu fila. Awọn akọọlẹ rirọpo kọọkan eyiti ofin ti yọ kuro (ami idanimọ tabi ipari). |
| `CLOUDFLARE_API_BASE` | `https://api.cloudflare.com/client/v4` | `src/app/api/settings/proxy/cloudflare-deploy/route.ts` | Pa ipilẹ Cloudflare REST API ti a lo nipasẹ aṣoju-pool Workers imuṣiṣẹ imuṣiṣẹ (#4640 / 9router#1360). |
| `NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx` | Orukọ iṣẹ akanṣe oṣiṣẹ aiyipada ti daba ninu adagun-aṣoju “Deploy Relay” modal. |
| `NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Ṣeto si `false` lati tọju aṣayan yiyi Awọn oṣiṣẹ Cloudflare lati taabu Aṣoju Pool. |
| `CLOUDFLARED_BIN` | auto-ri | `src/lib/cloudflaredTunnel.ts` | Ona aṣa si alakomeji `cloudflared`. |
| `CLOUDFLARED_PROTOCOL` | `http2` | `src/lib/cloudflaredTunnel.ts` | Ilana gbigbe oju eefin: `http2` (aiyipada), `quic`, tabi `auto`. |
| `CLOUDFLARED_CONFIG` | _(a ko ṣeto)_ | `src/lib/cloudflaredTunnel.ts` | Ọ̀nà sí ìṣàkóso Cloudflared `config.yml` (pẹlu `tunnel:`, `credentials-file:`, `ingress:`). Nigbati o ba ṣeto, OmniRoute nṣiṣẹ `tunnel --config run` (ti a npè ni eefin) dipo eefin iyara ephemeral. |
| `CLOUDFLARED_HOSTNAME` | _(lati inu iṣeto atunto)_ | `src/lib/cloudflaredTunnel.ts` | Pari fun orukọ igbalejo gbogbo eniyan ti oju eefin (fun apẹẹrẹ `ai.example.com`), royin bi `publicUrl`/`apiUrl`. Nigbati o ba ṣi silẹ o ti ka lati orukọ olupin `ingress` akọkọ ti iṣeto. |
| `DENO_DEPLOY_API_BASE` | `https://api.deno.com/v2` | `src/app/api/settings/proxy/deno-deploy/route.ts` | Paarẹ ipilẹ Deno Deploy REST API ti a lo nipasẹ oluṣe imuṣiṣẹ agbamii-pool aṣoju (#4643 / 9router#1437). |
| `NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT` | `omniroute-deno-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx` | Aiyipada Deno Ran awọn app orukọ daba ninu awọn aṣoju-pool "Deploy Relay" modal. |
| `NEXT_PUBLIC_DENO_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Ṣeto si `false` lati tọju aṣayan isọdọtun Deno Deploy lati taabu Aṣoju Pool. |
| `SEARCH_CACHE_TTL_MS` | `300000` (5 min) | `open-sse/services/searchCache.ts` | TTL fun wiwa API (Perplexity, Brave, ati bẹbẹ lọ) caching idahun. |
| `ENABLE_CC_COMPATIBLE_PROVIDER` | `false` | `src/shared/utils/featureFlags.ts` | Ṣafihan siperimenta CC-ibaramu olupese UI fun koodu Claude -nikan relays. |
| `NINEROUTER_HOST` | `127.0.0.1` | `open-sse/executors/ninerouter.ts` | Daju agbalejo nibiti apẹẹrẹ 9router ti a fi sii tẹtisi. |
| `NINEROUTER_PORT` | `20130` | `open-sse/executors/ninerouter.ts` | Yipada si ibudo nibiti apẹẹrẹ 9router ti a fi sii tẹtisi. |
| `EMBED_WS_PROXY_HOST` | `127.0.0.1` | `src/lib/services/embedWsProxy.ts` | Di agbalejo fun ifibọ-iṣẹ WebSocket aṣoju (loopback nikan nipasẹ aiyipada). |
| `EMBED_WS_PROXY_PORT` | `20131` | `src/lib/services/embedWsProxy.ts` | Ibudo fun iṣẹ ifibọ-iṣẹ WebSocket olupin aṣoju. |
| `CLIPROXYAPI_HOST` | `127.0.0.1` | `open-sse/executors/cliproxyapi.ts` | agbalejo afara CLIProxyAPI (ijumọsọrọpọ julọ). |
| `CLIPROXYAPI_PORT` | `5544` | `open-sse/executors/cliproxyapi.ts` | CLIProxyAPI Afara ibudo. |
| `CLIPROXYAPI_API_KEY` | _(sofo)_ | `open-sse/handlers/chatCore/cliproxyapiCredentials.ts` | Bọtini data-ofurufu ja botini nigbati eto `cliproxyapi_api_key` ko si. |
| `CLIPROXYAPI_MANAGEMENT_KEY` | _(sofo)_ | `src/lib/services/cliproxyAccountHealth.ts` | Bọtini iṣakoso fun ilera-iroyin ka lati apẹẹrẹ CLIProxyAPI ti a ṣakoso ni ita. |
| `CLIPROXYAPI_CONFIG_DIR` | `~/.cli-proxy-api` | `src/lib/versionManager/processManager.ts` | CLIProxyAPI konfigi liana. |
| `CLIPROXY_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Docker-pipase wiwo ogun ṣe atẹjade `cliproxyapi` sidecar lori (#12578). Iwọn data rẹ di awọn iwe-ẹri OAuth/API olupese ati aworan ti a pinni ko ni data ti o da lori env `api-keys` ( `config.yaml` ti a gbe nikan), nitorina `0.0.0.0` ṣe afihan iṣẹ ti o ni ẹri si gbogbo LAN. |
| `MUX_SERVICE_PORT` | `8322` | `src/lib/services/bootstrap.ts` | Yipada si ibudo nibiti Mux ti a fi sii (coder/mux) aṣoju-orchestration daemon ngbọ (nigbagbogbo 127.0.0.1). |
| `OPENWA_SERVICE_PORT` | `8323` | `src/lib/services/bootstrap.ts` | Yipada ibudo naa nibiti ṣiṣi-wa ti a fi sii ( automation Web WhatsApp ) daemon ngbọ (nigbagbogbo 127.0.0.1). |
| `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario ifibọ-iṣẹ bind/connect ogun (loopback nikan nipasẹ aiyipada). |
| `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario ifibọ-iṣẹ ibudo. |
| `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario ifibọ-iṣẹ bind/connect ogun (loopback nikan nipasẹ aiyipada). |
| `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario ifibọ-iṣẹ ibudo. |
| `LOCAL_HOSTNAMES` | _(sofo)_ | `open-sse/config/providerRegistry.ts` | Awọn orukọ agbalejo afikun-iyapa-koma ṣe itọju bi “agbegbe” (awọn orukọ iṣẹ Docker, ati bẹbẹ lọ). |
`ENABLE_CC_COMPATIBLE_PROVIDER` jẹ nikan fun awọn relays ẹni-kẹta ti o gba awọn onibara koodu Claude ni iyasọtọ. OmniRoute atunkọ awọn ibeere ki awọn relays wọnyẹn gba wọn. Ti o ba fẹ nikan lo Claude Code CLI, tabi o ko ni idaniloju kini awọn isọdọtun wọnyi jẹ, tọju alaabo yii ki o ṣafikun olupese ibaramu Anthropic deede dipo.
---
## 21. Ilera aṣoju
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PROXY_FAST_FAIL_TIMEOUT_MS` | `2000` | `src/lib/proxyHealth.ts` | Ikuna-iyara ayẹwo ilera akoko ipari. |
| `PROXY_LATENCY_WINDOW_HOURS` | `3` | `src/lib/db/proxies.ts` | Window akoko (awọn wakati) fun ṣiṣe iṣiro aropin aropin ti awọn aṣoju oludije ni ilana adagun-iṣapeye lairi. |
| `PROXY_HEALTH_CACHE_TTL_MS` | `30000` | `src/lib/proxyHealth.ts` | Abajade ayẹwo ilera TTL. |
| `NONE_HONORED_WINDOW_HOURS` | `24` | `src/lib/db/reasoningEffortCompliance.ts` | Ferese itọpa ni awọn wakati fun reasoning_effort = ko si oluka ibamu lori GET /v1/models/health. |
| `NONE_HONORED_CACHE_TTL_MS` | `20000` | `src/lib/db/reasoningEffortCompliance.ts` | Kaṣe TTL ninu ms fun aworan ifaramọ ti ko si (15-30s). |
| `NONE_HONORED_MIN_SAMPLE` | `3` | `src/lib/db/reasoningEffortCompliance.ts` | Ko kere ju ti o beere ṣaaju ki awoṣe kan ka ọlá tabi kii ṣe ọlá; ni isalẹ yi awoṣe ka aimọ. |
| `PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS` | `2000` | `src/lib/proxyHealth.ts` | Kaṣe TTL fun awọn iwadii ilera aṣoju ti kuna. Jeki eyi kuru ju `PROXY_HEALTH_CACHE_TTL_MS` nitoribẹẹ awọn akoko isunmọ aṣoju tionkojalo labẹ atunda concurrency giga ni iyara laisi piparẹ-ikuna-yara fun awọn aṣoju ti o ku nitootọ. |
| `PROXY_HEALTH_ENABLED` | `true` | `src/lib/proxyHealth/scheduler.ts` | Ṣeto `false` lati mu oluṣeto ilera aṣoju abẹlẹ kuro ti o ṣe iwadii awọn aṣoju ti o forukọsilẹ lorekore. |
| `PROXY_HEALTH_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Àárí ìgbálé ìlera ìpilẹ̀ṣẹ̀ olùṣàkóso nínú ms ( `60000` tó kéré jù). |
| `PROXY_HEALTH_RELAY_INTERVAL_MS` | `21600000` | `src/lib/proxyHealth/relayCadence.ts` | Àárín àkókò ìwádìí nínú ms fún àwọn aṣojú-ojú-igbẹ́ (`deno`/`vercel`/`cloudflare`), tí àwọn ìwádìí rẹ̀ jí àdádó aláìṣiṣẹ́mọ́ ( `60000` tó kéré jù). |
| `PROXY_HEALTH_RECOVERY_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Aarin igbapada-kọja abẹlẹ ni ms: melo ni awọn aṣoju ti ko ni ilera tẹlẹ ti wa ni atunyẹwo nitoribẹẹ aṣoju ti o gba pada si yiyi laisi atunbere. Awọn iye ni isalẹ `60000` ṣubu pada si aiyipada. |
| `PROXY_HEALTH_TEST_URL` | `https://httpbin.org/ip` | `src/lib/proxyHealth/probeTarget.ts` | Ibi-afẹde wiwa arọwọto ti a lo nipasẹ oluṣeto ati aaye ipari `/api/settings/proxies/auto-test`. Tọkasi si internal/self-hosted URL lati yago fun aiyipada gbogbo eniyan. |
| `PROXY_HEALTH_TEST_CONCURRENCY` | `10` | `src/lib/proxyHealth/probeTarget.ts` | Awọn iwadii bẹrẹ ni ẹẹkan fun ipele kan, pinpin nipasẹ oluṣeto ati aaye ipari `/api/settings/proxies/auto-test`. Pakà ni 1 ati pe o wa ni 50. |
| `PROXY_HEALTH_TEST_STAGGER_MS` | `100` | `src/lib/proxyHealth/probeTarget.ts` | Idaduro ni ms laarin awọn ilọkuro iwadii meji inu ipele kan. Laisi rẹ gbogbo ipele fi silẹ ni akoko kanna ati pinpin egress IP le ja ibi-afẹde opin-oṣuwọn kan. Ṣeto si `0` lati mu aye kuro; ti pari ni 5000. |
| `PROXY_HEALTH_USE_PROVIDER_TARGET` | `true` | `src/lib/proxyHealth/providerProbeTarget.ts` | Ṣeto “eke” lati dẹkun ṣiṣewadii agbalejo gidi ti olupese ti a yàn ti aṣoju (`GET /models`, ko si bọtini API ) ati nigbagbogbo lo `PROXY_HEALTH_TEST_URL` dipo. |
| `PROXY_HEALTH_AUTO_DEACTIVATE` | `false` | `src/lib/proxyHealth/statusPolicy.ts` | Nigbati `false` (aiyipada), awọn iwadii wiwa arọwọto adaṣe (oluṣeto + bọtini `/api/settings/proxies/auto-test` “Idanwo Gbogbo”) jẹ** kika-nikan** ati ki o ma ṣe kọ ipo aṣoju — nikan ni oniṣẹ ṣeto active/inactive, nitoribẹẹ iwadii alaburuku ko le fa aṣoju ti a yàn (#6246). Ṣeto `true` lati mu pada idanwo-jogunba-ati-ṣeto ihuwasi. |
| `FLUSH_EMPTY_RETRY_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). `true` (tabi `1`, `yes`) tun ṣe atunwo ṣiṣan ti o ṣofo ti yipada nipasẹ ọna ijẹrisi deede (to awọn igbiyanju `STREAM_RECOVERY.EMPTY_TURN_RETRY_MAX` ) dipo ṣiṣafihan 200 ofo tabi akoonu ofo 502. |
| `EMPTY_STREAM_SIBLING_RECOVERY_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). `true` (tabi `1`, `yes`) fi ọwọ si Claude/Codex ṣiṣan akoonu ofo ati ki o lo opin opin ti o wa tẹlẹ gbiyanju lori asopọ miiran ti o yẹ lẹhin titan `empty_content` kan, laisi itutu tabi titiipa awoṣe. |
| `STREAM_LATE_OUTPUT_PROBE_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). `true` (tabi `1`, `yes`) ntọju iṣapẹẹrẹ ọkan ti a firanṣẹ siwaju ni 16 lẹhin akọkọ 64 ti o pẹ ti o han ni ṣiṣamisi ṣiṣan bi o ti njadejade (jade lẹhin-jade nikan 5xx duro ibeere-scoped dipo titiipa awoṣe-nikan). |
| `PROXY_POOL_EGRESS_OBSERVATION` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). `true` (tabi `1`, `yes`) ṣe afihan akiyesi kika-nikan adagun egress labẹ adagun aṣoju ninu dasibodu (egress IPs ti o yatọ, awọn asopọ ati eyiti a rii julọ lẹhin IP kan lori wakati 24 to kẹhin, lati iwe aṣoju). Ko lo fun afisona. |
| `PROXY_OPERATOR_EGRESS_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Jade-ni ẹya asia (wo [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; a dasibodu DB bori bori). `true` (tabi `1`, `yes`) gba oniṣẹ-titari dati awọn adirẹsi ti a ṣe akiyesi fun ọmọ ẹgbẹ adagun kan ati pe o da wọn pọ pẹlu iwe-akọọlẹ kika fun ifihan ati aṣẹ adagun-odo. |
| `PROXY_OPERATOR_EGRESS_WINDOW_HOURS` | `24` | `src/lib/db/proxyOperatorEgress.ts` | Ferese akiyesi ni awọn wakati fun awọn ori ila egress ti ti oniṣẹ ẹrọ (ka lori gbogbo kika; ko si atunbẹrẹ nilo). Ti a dè si 1..168; jade-ti-ibiti o, ti kii-nọmba, tabi ofo ṣubu pada si 24 pẹlu kan nikan ilana-jakejado ìkìlọ, kò jabọ. |
| `PROXY_AUTO_REMOVE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Ṣeto `true` lati jẹ ki oluṣeto gbe awọn aṣoju kuro ni adaṣe lẹhin awọn ikuna itẹlera leralera. |
| `PROXY_AUTO_REMOVE_AFTER` | `3` | `src/lib/proxyHealth/scheduler.ts` | Awọn ikuna itẹlera ṣaaju ki oluṣeto afọwọṣe yọ aṣoju kuro (nigbati `PROXY_AUTO_REMOVE=true`). |
| `PROXY_AUTO_DISABLE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Ṣeto `true` lati jẹ ki oluṣeto rọra-mu (ipo `dead`, ko paarẹ) aṣoju kan lẹhin awọn ikuna itẹlera leralera, dipo yiyọ kuro. Yiyan ti kii ṣe iparun si `PROXY_AUTO_REMOVE`: aṣoju lọ silẹ ni ipinnu pool/rotation lẹsẹkẹsẹ (àlẹmọ ipo laaye ti a lo nipasẹ ipinnu adagun-omi ti o ti yọkuro tẹlẹ) ati pe a tun mu ṣiṣẹ laifọwọyi ni kete ti o bẹrẹ awọn iwadii lẹẹkansii. Ṣe alabapin ala `PROXY_AUTO_REMOVE_AFTER`. Ti awọn asia mejeeji ba jẹ `true`, `PROXY_AUTO_REMOVE` bori. |
| `PROXY_HEALTH_PASSIVE_SKIP` | `false` | `src/lib/proxyHealth/scheduler.ts` | Jade-in palolo skip: nigba ti `true`, awọn scheduler skips awọn ifiwe iwadi fun ohun endpoint ti laipe gbóògì ijabọ tẹlẹ mule o (ni o kere kan aseyori ko si si ikalara aṣoju ikuna ni awọn window, pato kan olupese woye). Paa nipa aiyipada: gbogbo aṣoju jẹ iwadii. |
| `PROXY_PASSIVE_WINDOW_MS` | `300000` | `src/lib/proxyHealth/passiveVerdict.ts` | Ferese ni ms ti iṣelọpọ ijabọ awọn palolo skip wulẹ ni (bounded `60000..599999`). Kukuru ju aarin igba gbigba iṣẹju mẹwa 10 nitoribẹẹ ikuna aipẹ kan jẹ gaba lori dipo ki a fomi po. |
| `OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Gba OAuth ati awọn ṣiṣan afọwọsi olupese lati fori aṣoju pinni ati sopọ taara nigbati awọn sọwedowo iṣaaju arọwọto aṣoju kuna. Itọkasi imunadoko ni Awọn asia Ẹya DB danu > env var > aiyipada. |
| `RATE_LIMIT_MAX_WAIT_MS` | `30000` (30s) | `src/lib/resilience/settings.ts` | Aiyipada** isinyi-duro** isuna: bi o gun a ìbéèrè le duro fun Iho olupese ati ki o joko ti isinyi ṣaaju ki o to ti o ti kọ, kò nínàgà awọn oke. Aago naa ti nu ni kete ti iṣẹ naa ba bẹrẹ sisẹ ṣiṣe — ti wa ni didi lọtọ nipasẹ `RATE_LIMIT_EXECUTION_MAX_WAIT_MS`. Env ṣeto aiyipada nikan: `resilienceSettings.requestQueue.maxWaitMs` ti o tẹsiwaju, ati lẹhinna asopọ kan `rateLimitOverrides.maxWaitMs`, kọọkan ṣẹgun rẹ. |
| `RATE_LIMIT_EXECUTION_MAX_WAIT_MS` | `600000` (iṣẹju 10) | `open-sse/services/rateLimitManager.ts` | Aja fun igba melo ti ibeere ti o gba wọle le duro ni ipaniyan ṣaaju ki ifiṣura iye-oṣuwọn rẹ dopin — yọkuro lati inu isuna-iduro-duro nitoribẹẹ ibẹrẹ-lọra lori awọn ẹnu-ọna ti kii ṣe afikun ko ni akoko (#12027). |
| `RATE_LIMIT_MAX_QUEUE_DEPTH` | `0` (alaabo) | `open-sse/services/rateLimitManager.ts` | Fila gbigba ti isinyi: kọ pẹlu 429 `queue_full` ni kete ti ọpọlọpọ awọn ibeere ti wa ni isinyi tẹlẹ. `0` = aipin (aiyipada). |
| `RATE_LIMIT_AUTO_ENABLE` | _(a ko ṣeto)_ | `open-sse/services/rateLimitManager.ts` | Fi agbara mu afọwọṣe agbara iye iwọn ailewu nẹtiwọki on/off laibikita eto Dashboard ti o duro (`resilienceSettings.requestQueue.autoEnableApiKeyProviders`). Gba `true`/`1`/`on` lati fi ipa mu, `false`/`0`/`off` lati fi ipa mu. Nigbati o ba n ṣiṣẹ (aiyipada), awọn asopọ bọtini API ti nṣiṣe lọwọ jẹ aabo oṣuwọn-iwọn laifọwọyi. Ṣiṣeto fun-asopọ `rateLimitProtection: false` mu aabo to fojuhan ṣiṣẹ ṣugbọn ko jade kuro ni nẹtiwọki aabo yii; Eto env var yii si `false` jẹ ilana agbaye lati ṣiṣe awọn asopọ bọtini API laisi awọn isinyi-iwọn-iye. |
| `PROVIDER_COOLDOWN_ENABLED` | _(kuro → kuro)_ | `open-sse/services/providerCooldownTracker.ts` | Jade ni agbaye agbelebu-ibeere provider/connection cooldown titele. OFF nipasẹ aiyipada (ṣe agbekọja Asopọ Cooldown / Olupese Circuit Fifọ). Gba `true`/`1`/`on` lati mu ṣiṣẹ. |
| `PROVIDER_COOLDOWN_MIN_MS` | `5000` | `open-sse/services/providerCooldownTracker.ts` | Itusilẹ ti o kere ju (ms) ṣaaju ki o to gbiyanju provider/connection ti o kuna. Ti ṣe iwọn ni iwọn pẹlu awọn ikuna itẹlera. Nikan lo nigbati `PROVIDER_COOLDOWN_ENABLED`. |
| `PROVIDER_COOLDOWN_MAX_MS` | `300000` (5 min) | `open-sse/services/providerCooldownTracker.ts` | Fila itutu agbaiye (ms) ti o pọju ṣaaju ki o to gbiyanju provider/connection ti o kuna laiwo. Nikan lo nigbati `PROVIDER_COOLDOWN_ENABLED`. |
| `STREAM_RECOVERY_ENABLED` | _(kuro → kuro)_ | `src/lib/resilience/settings.ts` (irugbin) → `open-sse/services/streamRecovery.ts` (logbon) | **Kini:** sihin imularada ti truncated oke ṣiṣan (free-claude-koodu ibudo). Di ferese SSE šiši soke si `STREAM_RECOVERY.HOLDBACK_MS` (750 ms) nitorina _pre-commit_ cutoff — ọkan ti o ṣẹlẹ ṣaaju ki eyikeyi baiti de ọdọ alabara — ti wa ni ṣiṣi ati tun gbiyanju lairi.** Nigbawo lati mu ṣiṣẹ:** flaky/upstreams pe nigbagbogbo 0-baiti-truncate ni ibẹrẹ ṣiṣan; fi OFF silẹ ti o ko ba le ni anfani to 750 ms ti akoko afikun-si-akọkọ-aami lori gbogbo ṣiṣan. Gba `true`/`1`/`on`. Awọn irugbin eto Resilience ti o duro; eto Dasibodu AamiEye ni kete ti ṣeto. |
| `STREAM_RECOVERY_MIDSTREAM_ENABLED` | _(kuro → kuro)_ | `src/lib/resilience/settings.ts` (irugbin) → `open-sse/services/streamRecovery.ts` (logbon) | **Kini:** itesiwaju ṣiṣan aarin (Fase 4.4) — lẹhin _post-commit_ truncation (awọn baiti ti de ọdọ alabara tẹlẹ), tun beere pẹlu ọrọ apa kan gẹgẹbi iṣaju oluranlọwọ ati ki o di suffix ti o padanu. Ọrọ pẹtẹlẹ OpenAI-ibaramu awọn ṣiṣan nikan; ko ina pẹlu ipe irinṣẹ ni flight.** Nigbawo lati mu ṣiṣẹ:** awọn iran ti o gun ti o ge ni aarin-idahun ati pe o gba iru ti o gba pada ti o de bi ọkan ti nwaye kuku ju ami-nipasẹ-ami. Ominira ti `STREAM_RECOVERY_ENABLED` (profaili eewu ti o yatọ). Gba `true`/`1`/`on`. |
| `STREAM_THROUGHPUT_WATCHDOG_ENABLED` | _(kuro → kuro)_ | `src/lib/resilience/settings.ts` → `open-sse/services/throughputWatchdog.ts` | Jade-si-ṣiṣẹ-ṣiṣẹ wulo-jade oluṣọ. Ṣe awari awọn ṣiṣan ti o tọju fifiranṣẹ awọn chunks ṣugbọn wa ni isalẹ oṣuwọn atunto oluranlọwọ-jade; awọn ikọlu ọkan, awọn iṣẹlẹ lilo, deltas ofo, ati awọn ipele tool/reasoning ko ṣe ararẹ bi ilọsiwaju. Yatọ si aiṣiṣẹ ati awọn akoko ipari-lile. Awọn irugbin aiyipada nikan: Boolean ti a fipamọ sinu `resilienceSettings` (Dashboard → Settings → Resilience) gba iṣaaju. |
| `STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Akoko oore-ọfẹ ṣaaju igbelewọn igbejade, ti a fi si 0–600000 ms. |
| `STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Yiyi ferese ti o wulo, ti a fi si 1000–600000 ms; window pipe kan nilo ṣaaju iṣẹyun. |
| `STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND` | `4` | `src/lib/resilience/settings/normalize.ts` | Oṣuwọn baiti oluranlọwọ-jade UTF-8 o kere ju (aṣoju àmi Konsafetifu), ti a dè si 1–1000000. |
| `STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES` | `1` | `src/lib/resilience/settings/normalize.ts` | Ayẹwo abajade ti o wulo ti kii-odo ti o kere julọ ti a ro pe o le ṣewọn, ti a diwọn si 1–1000000 awọn baiti. |
| `HEALTHCHECK_STAGGER_MS` | `3000` | `src/lib/tokenHealthCheck.ts` | Stagger aarin (ms) laarin awọn sọwedowo ilera ami olupese ni ibẹrẹ. |
| `HEALTHCHECK_JITTER_MIN_MS` | `500` | `src/lib/tokenHealthCheck.ts` | Jitter aileto ti o kere ju (ms) ti a ṣafikun lori oke `HEALTHCHECK_STAGGER_MS` laarin awọn sọwedowo ilera ami olupese, lati yago fun ti nwaye (Iran #1220). |
| `HEALTHCHECK_JITTER_MAX_MS` | `5000` | `src/lib/tokenHealthCheck.ts` | O pọju jitter aileto (ms) ti a ṣafikun lori oke `HEALTHCHECK_STAGGER_MS` laarin awọn sọwedowo ilera ti olupese, lati ṣe idiwọ ti nwaye (Iran #1220). |
| `HEALTHCHECK_BATCH_SIZE` | `20` | `src/lib/tokenHealthCheck.ts` | Ṣayẹwo-iwọn ipele nigbakanna fun gbigba ami-iṣayẹwo ibẹrẹ; awọn iye ti o tobi julọ ṣayẹwo awọn asopọ diẹ sii ni afiwe, awọn iye ti o kere julọ dinku fifuye ti nwaye (Iran # 7875, atunṣe ti # 7719). |
| `REQUEST_RETRY` | `2` | `src/sse/services/cooldownAwareRetry.ts` | Nọmba awọn igbiyanju aifọwọyi lori awọn idahun itutu agbaiye awoṣe dopin ṣaaju ki o to pada aṣiṣe si alabara. |
| `MAX_RETRY_INTERVAL_SEC` | `30` | `src/sse/services/cooldownAwareRetry.ts` | Aarin ẹhin ti o pọju (awọn iṣẹju-aaya) laarin awọn igbiyanju itutu agbaiye. Capped nipasẹ iye yii laibikita `Retry-After` oke . |
| `HEADROOM_URL` | `http://localhost:8787` | `src/lib/headroom/detect.ts` | Headroom tokini-ipamọ aṣoju URL. Igbesi aye dasibodu (`api/headroom/*`) nfa CLI `headroom-ai` agbegbe kan lori loopback nipasẹ aiyipada; idojuk nikan lati tọka si aṣoju ẹgbẹ ẹgbẹ Docker kan. |
### Ṣiṣan-imularada tuning ibakan
Ihuwasi idaduro imularada ti wa ni aifwy nipasẹ awọn alakọdi koodu ni `open-sse/config/constants.ts` (`STREAM_RECOVERY`), ti o han nibi fun itọkasi — yiyipada wọn nilo atunṣe koodu, kii ṣe env var:
- `STREAM_RECOVERY.HOLDBACK_MS = 750` — bi o ṣe pẹ to ti window SSE ṣiṣi yoo waye nitoribẹẹ truncation ni kutukutu ni a le tun gbiyanju ṣaaju ki eyikeyi baiti ṣe adehun si alabara.
- `STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536` — fila lile lori ferese ti o waye; ṣe (fifọ + passthrough) ni kete ti ọpọlọpọ awọn baiti kojọpọ, laibikita aago naa.
- `STREAM_RECOVERY.EARLY_RETRY_MAX = 4` — max ṣiṣatunṣe ṣiṣafihan ṣiṣafihan ṣiṣan ti oke nigba ti idaduro idaduro ṣi ko ni ifaramọ.
> **Opin oṣuwọn sisun-window olupese (ko si env var):** FCC-ported fun-olupese sliding-window rate-limit _fallback_ wa ninu koodu (`open-sse/services/providerDefaultRateLimit.ts`, ti firanṣẹ nipasẹ `open-sse/services/rateLimitManager.ts`) ṣugbọn awọn ọkọ oju omi pẹlu ẹya** ṣofo map aiyipada** o si ni** ko si oniṣẹ env var** loni — o ti ṣiṣẹ nikan nipasẹ kio idanwo / satunkọ koodu. O ti wa ni imomose ko akojọ si ni awọn tabili loke. Awọn per-`(token, IP)` relay limiter ti _does_ ni koko ni `RELAY_IP_PER_MINUTE` (§3 Network & Ports).
---
## 22. N ṣatunṣe aṣiṣe
> [!CAUTION]
> Awọn oniyipada wọnyi gbejade** iṣẹjade ọrọ-ọrọ** ati ki o le jo kókó data.** Maṣe mu ṣiṣẹ ni iṣelọpọ.**
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `CURSOR_DEBUG` | _(a ko ṣeto)_ | `open-sse/executors/cursor.ts` | Ṣeto `1` lati jẹ ki awọn iwe-igbimọ oluṣe verbose Cursor ṣiṣẹ (awọn chunks SSE ti a yipada, ati bẹbẹ lọ). |
| `CURSOR_STREAM_DEBUG` | _(a ko ṣeto)_ | `open-sse/executors/cursor.ts` | Inagijẹ ibaramu sẹhin ti `CURSOR_DEBUG`. |
| `CURSOR_DUMP_FILE` | _(a ko ṣeto)_ | `open-sse/executors/cursor.ts` | Ona faili iyan ti o gba aise decoded Cursor chunks nigbati `CURSOR_DEBUG=1`. |
| `CURSOR_STREAM_TIMEOUT_MS` | `300000` | `open-sse/executors/cursor.ts` | Aago iṣiṣẹ ṣiṣanwọle (ms) fun oluṣe Cursor. |
| `CURSOR_KV_GRACE_MS` | `2000` | `open-sse/executors/cursor.ts` | Ferese oore-ọfẹ (ms) lẹhin olupilẹṣẹ kv_after_text asọ ti ipari nigbati awọn baiti wa ni buffered — yoo fun akoko ipe ohun elo exec_mcp itọpa lati pari fireemu rẹ. |
| `CURSOR_TOOL_DIRECTIVE` | ṣiṣẹ (`!== "0"`) | `open-sse/executors/cursor.ts` | Irinṣẹ-ṣe itọsọna ti o jẹ ki composer-2.5 gbe awọn ipe irinṣẹ ni igbẹkẹle. Ṣeto `0` lati mu ṣiṣẹ. |
| `OMNIROUTE_SYSTEM_INSTRUCTION_APPEND` | _(a ko ṣeto)_ | `open-sse/translator/request/claude-to-openai.ts`, `open-sse/translator/response/openai-to-claude.ts` | Ẹ̀rọ ìtúmọ̀ ètò oníṣẹ́ tọ́ka sí ìfikún sí ìtúmọ̀ ìfisọ̀rọ̀ ẹ̀rọ AFTER (abẹrẹ ìtúmọ̀ lẹ́yìn), dé codex/Responses àti àwọn ọ̀nà `/v1/messages`. Paapaa ti a lo bi ìpele itọsọna ti o yọ kuro ninu awọn bulọọki iṣaju eto iwoyi. Fi silẹ aito lati mu ṣiṣẹ. |
| `OMNIROUTE_STRIP_SYSTEM_PREAMBLE` | `0` (pa) | `open-sse/translator/response/openai-to-claude.ts`, `open-sse/utils/directivePreambleStripper.ts` | Ṣeto si `1` lati yọ awọn bulọọki iṣaju-kia ti eto iwoyi lati ibẹrẹ ṣiṣan claude openai →. Paa nipasẹ aiyipada — awọn heuristics jẹ apẹrẹ-prose Gẹẹsi ati ṣe iyipada fifuye isanwo idahun, nitorinaa idahun ti o ṣi ni ẹtọ pẹlu iru apakan kan yoo padanu rẹ. |
| `CURSOR_IMAGE_FETCH_TIMEOUT_MS` | `15000` | `open-sse/utils/cursorImages.ts` | Aago-akoko mu aworan kan (ms) fun igbewọle iran `image_url` latọna jijin. |
| `CURSOR_STATE_DB_PATH` | _(ayẹwo)_ | `open-sse/utils/cursorVersionDetector.ts` | Fojusi wiwa Cursor DB IDE a lo fun wiwa ẹya IDE. |
| `CURSOR_AGENT_CLI_VERSION` | _(ri / pin) _ | `open-sse/utils/cursorAgentCliVersion.ts` | Aṣoju CLI kọ id (`YYYY.MM.DD-`) fun `x-cursor-client-version: cli-…` lori Ṣiṣe Aṣoju. |
| `CURSOR_AGENT_BIN` | _(a ko ṣeto)_ | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Ọna si alakomeji Aṣoju Cursor ti a lo fun iran aworan. Ti ko ṣeto, olutọju naa nlo `providerSpecificData.agentBin` lẹhinna PATH. |
| `CURSOR_IMG_TIMEOUT_MS` | `210000` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Aago ogiri fun-aworan (ms) fun awọn iṣẹ aworan Aṣoju Cursor. |
| `CURSOR_IMG_MAX_CONCURRENT` | `2` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Pipin-ijoko ẹnu-bode concurrency fun Cursor image ise. |
| `CURSOR_IMG_MODEL` | ìbéèrè / `auto` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Daju Cursor CLI `--model` fun awọn iṣẹ aworan. |
| `UC_IMAGE_POLL_INTERVAL_MS` | `2000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC (uncensored.com) aworan-gen esi-poll cadence (ms). |
| `UC_IMAGE_POLL_TIMEOUT_MS` | `60000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC image-gen esi-poll aago aago (ms). |
| `UC_VIDEO_POLL_INTERVAL_MS` | `3000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC (uncensored.com) fidio-gen esi-poll cadence (ms). |
| `UC_VIDEO_POLL_TIMEOUT_MS` | `300000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC video-gen esi-poll aago aago (ms). |
| `CURSOR_DATA_DIR` | _(ayẹwo)_ | `open-sse/utils/cursorAgentCliVersion.ts` | Daju Cursor Aṣoju CLI data dir (`…/versions/`); kanna var aṣoju aṣoju nlo. |
| `CURSOR_TOKEN` | _(a ko ṣeto)_ | `scripts/ad-hoc/cursor-tap.cjs` | Taara àmi arùrù Cursor ti a lo nipasẹ ohun elo olupilẹṣẹ. |
| `OMNIROUTE_LOG_REQUEST_SHAPE` | alaabo (jade-wọle nipasẹ `"1"`) | `src/app/api/v1/chat/completions/route.ts` | Wọle awọn asami content-type/length fun awọn fifuye iwiregbe nla nigbati `"1"` ti ṣeto. Paa nipa aiyipada lati dinku ariwo log. |
| `DEBUG_RESPONSES_SSE_TO_JSON` | _(a ko ṣeto)_ | `open-sse/handlers/responseTranslator.ts` | Ṣeto `true` lati wọle Awọn idahun API SSE→JSON awọn alaye itumọ. |
| `DEBUG_CLAUDE_NONSTREAM` | _(a ko ṣeto)_ | `open-sse/handlers/responseTranslator.ts` | Ṣeto `true` si dada awọn ṣofo textContent ni ọna itumọ idahun Claude (atunṣe nikan). |
| `NEXT_PUBLIC_OMNIROUTE_E2E_MODE` | _(a ko ṣeto)_ | E2E igbeyewo ijanu | Ṣeto `true` lati mu ipo idanwo E2E ṣiṣẹ (auth isinmi, awọn iwo idanwo). |
---
## 23. GitHub Integration
Gba awọn olumulo laaye lati jabo awọn ọran taara lati Dasibodu naa.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| --------------------- | ------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `GITHUB_ISSUES_REPO` | _(a ko ṣeto)_ | `src/app/api/v1/issues/report/route.ts` | Ibi ipamọ ni ọna kika `owner/repo`. |
| `GITHUB_ISSUES_TOKEN` | _(a ko ṣeto)_ | `src/app/api/v1/issues/report/route.ts` | GitHub Àmi Wiwọle Ti ara ẹni pẹlu aaye `issues:write`. |
| `GITHUB_TOKEN` | _(a ko ṣeto)_ | oro triage / awọsanma oluranlowo oluranlọwọ | Jeneriki àmi iraye si GitHub ti a lo bi ipadasẹhin fun `GITHUB_ISSUES_TOKEN` ati jẹun nipasẹ awọn oluranlọwọ aṣoju awọsanma ni `src/lib/cloudAgent/*`. |
---
## Mu Free-Tier Jeki-Laye
Ṣe spins iṣẹ wẹẹbu ọfẹ ni isalẹ lẹhin awọn iṣẹju 15 laisi ijabọ inbound. Ifilọlẹ imurasilẹ (`scripts/dev/run-standalone.mjs`, eyiti aworan Docker nṣiṣẹ) le ping URL ti gbogbo eniyan ti iṣẹ lati ṣe idiwọ yẹn. Ko ṣe nkankan ayafi ti URL ti gbogbo eniyan ba wa, ati pe o wọle nikan nigbati ipo ba yipada.
| Ayípadà | Aiyipada | Apejuwe |
| ---------------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `SELF_PING_ENABLED` | lori nigbati a ṣeto URL | `0`, `false`, `off` or `no` turns the pinger off. Use it on paid Render plans, where nothing spins down. |
| `SELF_PING_URL` | `RENDER_EXTERNAL_URL` | Ipilẹ URL si ping. Ṣeto ṣeto `RENDER_EXTERNAL_URL` funrararẹ lori gbogbo ero, nitorinaa pinger wa nibẹ nipasẹ aiyipada. |
| `SELF_PING_PATH` | `/api/monitoring/health` | Ona lori URL yẹn. Gbọdọ bẹrẹ pẹlu `/`; ohunkohun miiran disables awọn pinger pẹlu kan Ikilọ. |
| `SELF_PING_INTERVAL_SECONDS` | `180` | Awọn aaya laarin pings, lẹhin ping akọkọ 60 aaya in. Awọn iye ni isalẹ `30` ṣubu pada si `180`. |
Iṣẹ kan ti o ṣọna fun oṣu kan lo bii awọn wakati apẹẹrẹ 744, nitorinaa ṣayẹwo rẹ lodi si iyọọda ipele ọfẹ lọwọlọwọ ti Render.
## Awọn oju iṣẹlẹ imuṣiṣẹ
Fun itọnisọna SRE backend (iwa ts/bifrost/auto, 9router vs CLIProxyAPI placement, and high-throughput fallback nwon.Mirza), wo [Relay Backend Strategy](/docs/reference/RELAY_BACKEND_STRATEGY.md).
### Ilọsiwaju Agbegbe ti o kere julọ
```bash
JWT_SECRET=$(openssl rand -base64 48)
API_KEY_SECRET=$(openssl rand -hex 32)
INITIAL_PASSWORD=dev123
PORT=20128
NODE_ENV=development
```
### Docker Production
```bash
JWT_SECRET=
API_KEY_SECRET=
INITIAL_PASSWORD=
STORAGE_ENCRYPTION_KEY=
DATA_DIR=/data
PORT=20128
API_PORT=20129
NODE_ENV=production
AUTH_COOKIE_SECURE=true
REQUIRE_API_KEY=true
NEXT_PUBLIC_BASE_URL=https://omniroute.example.com
BASE_URL=http://localhost:20128
OMNIROUTE_MEMORY_MB=8192
CORS_ORIGIN=https://your-frontend.example.com
```
### Afẹfẹ-gapped / CI
```bash
JWT_SECRET=test-jwt-secret-for-ci
API_KEY_SECRET=test-api-key-secret-for-ci
INITIAL_PASSWORD=testpass
NODE_ENV=production
OMNIROUTE_DISABLE_BACKGROUND_SERVICES=true
APP_LOG_TO_FILE=false
```
### VPS pẹlu Aṣoju Yiyipada (nginx + Cloudflare)
```bash
JWT_SECRET=
API_KEY_SECRET=
STORAGE_ENCRYPTION_KEY=
PORT=20128
AUTH_COOKIE_SECURE=true
REQUIRE_API_KEY=true
NEXT_PUBLIC_BASE_URL=https://omniroute.example.com
BASE_URL=http://127.0.0.1:20128
CORS_ORIGIN=https://omniroute.example.com
ENABLE_TLS_FINGERPRINT=true
CLI_COMPAT_ALL=1
```
---
## 24. Apoti Iyanrin ogbon (v3.8.0 +)
Awọn ifilelẹ lọ ati awọn bọtini aabo ti a lo nigbati ilana Awọn ogbon (`src/lib/skills/`) nṣiṣẹ awọn adaṣe asọye olumulo ni agbegbe iyanrin.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| -------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SKILLS_SANDBOX_TIMEOUT_MS` | `10000` (iṣẹju 10) | `src/lib/skills/builtins.ts` | Akoko akoko odi-iṣiṣẹ-iṣiṣẹ fun koodu olorijori apoti iyanrin. Fila lile; ohunkohun to gun ti wa ni pa. |
| `SKILLS_EXECUTION_TIMEOUT_MS` | _(ṣubu pada si `SKILLS_SANDBOX_TIMEOUT_MS`) _ | `src/lib/skills/` | Ipele-giga olorijori orchestration akoko ti pari. Ṣeto ti o ga ju `SKILLS_SANDBOX_TIMEOUT_MS` lati gba awọn ṣiṣan iṣẹ-igbesẹ lọpọlọpọ. |
| `SKILLS_MAX_FILE_BYTES` | `1048576` (1 MB) | `src/lib/skills/builtins.ts` | Awọn baiti ti o pọju ọgbọn kan le ka lati eyikeyi faili ti o ni apoti iyanrin. |
| `SKILLS_MAX_HTTP_RESPONSE_BYTES` | `256000` (250 KB) | `src/lib/skills/builtins.ts` | Max awọn baiti sile lati eyikeyi nikan HTTP esi inu kan olorijori. |
| `SKILLS_MAX_SANDBOX_OUTPUT_CHARS` | `100000` | `src/lib/skills/builtins.ts` | Fila lile lori awọn kikọ stdout/stderr pada lati epe apoti iyanrin kan. |
| `SKILLS_SANDBOX_NETWORK_ENABLED` | `false` | `src/lib/skills/builtins.ts` | Ṣeto `1`/`true` lati gba nẹtiwọki laaye lati inu apoti iyanrin. Awọn aiyipada si** ya sọtọ** fun aabo. Aibikita nipasẹ akoko asiko `agent-sandbox` : ipinya nẹtiwọọki, faili faili kika-nikan ati awọn opin CPU/memory wa lati `SandboxTemplate` oniṣẹ ẹrọ. |
| `SKILLS_ALLOWED_SANDBOX_IMAGES` | _(sofo)_ | `src/lib/skills/builtins.ts` | Akojọ iyọọda ti o ya sọtọ komama ti awọn aworan apoti idasilẹ fun ipaniyan apoti iyanrin. Ofo tumọ si aiyipada ti a ṣe sinu nikan. |
| `SKILLS_SANDBOX_DOCKER_IMAGE` | _(aiyipada ti a ṣe sinu)_ | `src/lib/skills/` | Aworan apoti ti a lo nigbati o ba n tan apoti iyanrin ti o ṣe atilẹyin Docker. Daju lati pin aworan ipilẹ ti o ni lile ti aṣa. |
| `SKILLS_SANDBOX_RUNTIME` | `auto` | `src/lib/skills/sandbox.ts`, `src/lib/skills/containerProvider.ts` | Aago asiko apoti fun olorijori apoti: `auto` \| `docker` \| `apple` \| `wsl` \| `orbstack` \| `podman` \| `agent-sandbox`. `auto` yan akoko asiko ti o dara julọ ti a fi sori ẹrọ fun OS agbalejo (Apple Container/OrbStack lori macOS, apoti WSL lori Windows, Podman lori Linux), ja bo pada si Docker. `agent-sandbox` (awọn adagun adagun igbona Kubernetes latọna jijin) jẹ ijade nikan ko si ṣe awari ni adaṣe. |
| `SKILLS_AGENT_SANDBOX_POOLS` | _(sofo)_ | `src/lib/skills/agentSandboxProvider.ts` | `image=pool` orisii, koma-yapa: eyi ti `SandboxWarmPool` sin kọọkan aworan apoti iyanrin nigbati `SKILLS_SANDBOX_RUNTIME=agent-sandbox`. |
| `SKILLS_AGENT_SANDBOX_POOL` | _(sofo)_ | `src/lib/skills/agentSandboxProvider.ts` | Fallback gbona pool fun awọn aworan ti a ko ṣe akojọ si ni `SKILLS_AGENT_SANDBOX_POOLS`. Ṣiṣe kan kuna (ko si ipadabọ si awọn apoti agbegbe) nigbati ko ba pinnu. |
| `SKILLS_AGENT_SANDBOX_NAMESPACE` | `default` | `src/lib/skills/agentSandboxProvider.ts` | Namespace dani awọn gbona adagun; `SandboxClaim` kan fun ṣiṣe ni a ṣẹda ati paarẹ nibi. |
| `SKILLS_AGENT_SANDBOX_KUBECONFIG` | _(kubectl aiyipada)_ | `src/lib/skills/agentSandboxProvider.ts` | Kubeconfig fun aṣoju-sandbox asiko isise. Nilo sandboxclaims create/get/list/watch/delete, pods get, pods/exec ṣẹda ni aaye orukọ. |
| `SKILLS_AGENT_SANDBOX_KUBECTL` | `kubectl` | `src/lib/skills/agentSandboxProvider.ts` | kubectl alakomeji ti a lo nipasẹ aṣoju-sandbox asiko isise. |
| `SKILLS_AGENT_SANDBOX_CONTAINER` | `main` | `src/lib/skills/agentSandboxProvider.ts` | Orukọ apoti inu apoti iyanrin ti awọn aṣẹ ti wa ni ṣiṣe ni. |
| `SKILLS_AGENT_SANDBOX_CLAIM_TIMEOUT_S` | `60` | `src/lib/skills/agentSandboxProvider.ts` | Awọn iṣẹju-aaya lati duro fun ẹtọ lati di Ṣetan (max 600). Ibeere naa ti paarẹ ti ko ba ṣe rara. |
> [!CAUTION]
> Muu `SKILLS_SANDBOX_NETWORK_ENABLED=true` ṣiṣẹ ṣi ọna egress lati koodu ọgbọn lainidii. Papọ pẹlu `OUTBOUND_SSRF_GUARD_ENABLED=true` ati eto imulo `CORS_ORIGIN`/aṣoju ti o muna ni awọn imuṣiṣẹ pinpin.
---
## 25. Àwọn Quota Provider, Àwọn Tunnel, Àwọn Afẹ́yinti & Àwọn Miíràn Runtime
Ìfagilé fallback ìbámu-session Redis (opt-in nìkan; àiyipada SQLite kò yí padà):
Àwọn store ìbámu Redis kọ̀ọ̀kan gba àwọn iṣẹ́ tí kò tíì parí tó 8 péré; nígbà tí agbára bá kún, àwọn ìpè máa lo SQLite lẹ́sẹ̀kẹsẹ̀, àwọn slot sì máa wà ní ipò tí wọ́n ti gba títí iṣẹ́ Redis tó wà lábẹ́ rẹ̀ yóò fi yanju, kódà lẹ́yìn deadline 100 ms ẹni tó pè.
- R1. Gbogbo ìdáhùn Redis tí a bá fi dé ní àkókò fún iṣẹ́ session jẹ́ aláṣẹ: àwọn ìyípadà tí a gbà, CAS tí a kọ tàbí tí ó sọnù, àwọn kọ́kọ́rọ́ tí kò sí, àwọn ìparẹ́ kọ́kọ́rọ́ tí kò sí, àti àwọn ìṣẹ̀lẹ̀ eviction tí ó bá kọ́ tàbí tí kò bá kọ́, gbogbo wọn máa ń pa row fallback àdúgbò session yẹn rẹ̀ láìṣiṣẹ́pọ̀, láìsí await kankan láàárín ìdáhùn àti ìparẹ́. Ìparẹ́ jẹ́ àìléwu (ní búburú jù, yíyan padà kan lè ṣẹlẹ̀ nígbà outage tó kàn); row tó ti di àtijọ́ kì í ṣe bẹ́ẹ̀.
- R2. Iṣẹ́ kan tí ó bá kọjá àkókò tàbí tí ó bá ní aṣiṣe tí ó sì kọ fallback àdúgbò máa ń fi ohun tí ó kọ sílẹ̀ gẹ́gẹ́ bí bytes tí a serialize. Bí àṣẹ Redis rẹ̀ bá parí ní pẹ́, SQLite compare-and-delete tó ń ṣiṣẹ́pọ̀ máa ń pa row tó bá jẹ́ byte-for-byte pẹ̀lú rẹ̀ nìkan, kì í ṣe pẹ̀lú ìbámu account tàbí connection. Ìkọ̀ outage tuntun máa ń là á já.
- R3. Eviction máa ń yọ pin àdúgbò account tí ó kuna kúrò ní gbogbo ìgbà, pẹ̀lú nígbà outage; ìmúlò ìdáhùn rẹ̀ yóò tẹ̀lé R1/R2 lẹ́yìn náà. Redis tó ní ìlera kì í kọ pins àdúgbò: kò sí mirror tàbí ledger títọ́-sílẹ̀, àwọn instance sì lè yàtọ̀ sí ara wọn nígbà outage.
Àwọn endpoint quota provider, àwọn tunnel nẹ́tíwọ̀ọ̀kì (Tailscale, Ngrok, MITM debug proxy), adágún egress 1Proxy, àwọn afẹ́yinti database àti àwọn overrides kékeré fún feature kọ̀ọ̀kan tí layer executor tàbí àwọn script tọ́ka sí.
| Variable | Default | Source File | Description |
| ---------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_SESSION_AFFINITY_STORE` | `sqlite` | `src/lib/db/sessionAffinity/storeFactory.ts` | Ẹ̀yìn ìfaramọ́ láàárín session àti account. `redis` pẹ̀lú `REDIS_URL` tí a ti ṣètò nìkan ló máa ń mú kí pínpín ṣiṣẹ́; àwọn iye tí kò bá sí tàbí tí a kò mọ̀, tàbí àìsí ìṣètò Redis, máa ń lo SQLite. Ó nílò `sessionAffinityTtlMs` rere. Ìtọ́jú routing Redis máa ń fipamọ́ ìdánimọ̀ usage-account tí a ti hash pọ̀ mọ́ ID ìsopọ̀; routing SQLite àìyípadà máa ń pa irú JSON pápá mẹ́rin àtijọ́ mọ́. Ó máa ń bá ìdánimọ̀ mu nínú pool agbegbe tó yẹ kí ó tó lo ID. Ó ń lo `REDIS_KEY_PREFIX` oníbàárà pínpín, àwọn iye JSON àti TTL `PX`; àwọn ìyípadà máa ń fi iye gangan tí a rí wé. Àwọn ìdáhùn Redis tó ní ìlera máa ń sọ fallback ìdènà agbegbe di asán, àti pé ìdáhùn tó pẹ́ lè pa ìlà fallback tí a ṣe àkọsílẹ̀ rẹ̀ nìkan tí ó bá jẹ́ iye serialized gangan tí iṣẹ́ tó kọjá àkókò yẹn kọ. Àwọn pin tí a ṣàkọ́kọ́ mú wá tún máa ń jẹ́rìí sí nígbà lílo. Àwọn àṣìṣe Redis, àkókò tó kọjá tàbí kíkún àyè gbigba máa ń padà sí SQLite pẹ̀lú àwọn ìkìlọ̀ tí a dín ìgbà wọn kù (ààlà 100 ms fún ìpè store kọ̀ọ̀kan); àwọn Redis miss tó ṣàṣeyọrí kì í ka shadow. Kò pín ìdúróṣinṣin combo, àwọn pin ìyípadà Codex abinibi, ìdíje account, àwọn ìdènà tàbí àwọn ààlà ináwó. |
| `REDIS_URL` | `redis://localhost:6379` | `src/shared/utils/rateLimiter.ts` | Ọ̀nà ìsopọ̀ Redis fún ẹ̀yìn rate limiter. |
| `ALIBABA_CODING_PLAN_HOST` | _(host production)_ | `open-sse/services/bailianQuotaFetcher.ts` | Yí host tí a máa lò láti gba àwọn quota Alibaba Bailian coding-plan padà. |
| `ALIBABA_CODING_PLAN_QUOTA_URL` | derived from host | `open-sse/services/bailianQuotaFetcher.ts` | Àyípadà URL quota kíkún fún Alibaba Bailian. |
| `QWEN_CLOUD_COOKIE` | _(unset)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Kúkì session console fún ẹnu-ọ̀nà quota Token Plan ti ara ẹni Qwen Cloud / Model Studio (API key inference kò lè ka a). Da gbogbo `Cookie` request header kọ́ — ó ní `login_qwencloud_ticket` nínú — láti inú ìpè `api.json` èyíkéyìí sí `cs-data.qwencloud.com` lórí home.qwencloud.com › Billing › Subscription (F12 › Network). Ó ní ìpamọ́, ó sì ní ààlà session; ó dára kí a lo pápá Dashboard `qwenCloudCookie` fún ìsopọ̀ kọ̀ọ̀kan. |
| `QWEN_CLOUD_SEC_TOKEN` | _(unset)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Àyípadà afọwọ́kọ `sec_token` fún ẹnu-ọ̀nà console Token Plan. Ó ní ìpamọ́; nígbà tí kò bá sí, fetcher máa ń yọ ọ́ jáde láti inú HTML dashboard nípasẹ̀ kúkì náà. |
| `QWEN_TOKEN_PLAN_HOST` | `https://cs-data.qwencloud.com` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Àṣàyípadà host ẹnu-ọ̀nà fún olùgbà quota Token Plan ti ara ẹni (fún àpẹẹrẹ, `bailian-singapore-cs.alibabacloud.com` fún console Model Studio). |
| `QWEN_TOKEN_PLAN_DASHBOARD_URL` | `https://home.qwencloud.com/` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | URL Dashboard tí a ń lò láti yọ `sec_token` kúrò nínú HTML ẹni tí ó ti wọlé. |
| `XIAOMI_MIMO_CONSOLE_COOKIE` | _(kò ṣètò)_ | `open-sse/services/usage/xiaomi-mimo.ts` | Kúkì ìgbà ìpàdé console fún API quota Xiaomi MiMo Token Plan (`platform.xiaomimimo.com/api/v1/tokenPlan/usage` + `tokenPlan/detail` — kókó API inference kò lè kà á). Da gbogbo akọsórí ìbéèrè `Cookie` náà kọ — ó ní `api-platform_serviceToken` àti `userId` nínú — láti inú ìbéèrè èyíkéyìí sí `platform.xiaomimimo.com` lórí ojú-ìwé Token Plan (F12 › Network). Ó ní ìmọ̀ aṣírí, ó sì ní ààlà sí ìgbà ìpàdé; ó dára kí o lo pápá Dashboard `xiaomiMimoConsoleCookie` fún ìsopọ̀ kọ̀ọ̀kan. |
| `XIAOMI_MIMO_MONTHLY_TOKEN_LIMIT` | `4100000000` | `open-sse/services/usage/xiaomi-mimo.ts` | Isuna oṣù (Credits) fún fallback Xiaomi MiMo tí OmniRoute ń tọ́pinpin, tí a ń lò nígbà tí a kò bá ṣètò kúkì console. Àìpẹ́yà rẹ̀ jẹ́ 4.1B ti ipele Lite; ṣètò rẹ̀ sí Credits ètò náà (Standard 11B / Pro 38B / Max 82B). Àṣàyípadà `providerSpecificData.monthlyTokenLimit` fún ìsopọ̀ kọ̀ọ̀kan máa borí oníyípadà ayíká yìí. |
| `ALIBABA_FREE_TIER_VISION_FE_PATH` | `/costing-balance/free-quota-image-video` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Àṣàyípadà ọ̀nà iwájú console fún gbígba quota vision/media ti ipele ọ̀fẹ́ Alibaba Model Studio. |
| `ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH` | `/costing-balance/free-quota-multimodal` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Àṣàyípadà ọ̀nà iwájú console fún gbígba quota multimodal ti ipele ọ̀fẹ́ Alibaba Model Studio. |
| `ALIBABA_FREE_TIER_AUDIO_FE_PATH` | `/costing-balance/free-quota-audio` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Àṣàyípadà ọ̀nà iwájú console fún gbígba quota audio ti ipele ọ̀fẹ́ Alibaba Model Studio. |
| `ALIBABA_FREE_TIER_ALLOWLIST_PATH` | _(kò ṣètò)_ | `open-sse/services/alibabaFreeTierAllowlist.ts` | Ọ̀nà àṣàyàn sí override JSON àgbègbè fún allowlist àwọn model text ti ipele ọ̀fẹ́ Alibaba tí a kọ́ sí inú ètò. Tí kò bá sí, yóò lo `$DATA_DIR/alibaba-free-tier-allowlist.json`, lẹ́yìn náà `config/alibaba-free-tier-allowlist.json`. |
| `CONTEXT_RESERVE_TOKENS` | `1024` | `open-sse/services/contextManager.ts` | Àwọn token tí a pamọ́ fún àbájáde completion nígbà tí a ń ṣe iṣírò àwọn ààlà prompt. |
| `CONTEXT_KEEP_LATEST_IMAGES` | `2` | `open-sse/services/contextManager.ts` | Mélòó ni àwọn àwòrán inline tuntun jù lọ tí a óò pa mọ́ nígbà tí a bá ń yọ àwọn àwòrán àtijọ́ kúrò láti bá fèrèsé context mu (#8560). |
| `MODEL_ALIAS_COMPAT_ENABLED` | enabled | `open-sse/services/model.ts` | Yíyí layer ìbámu model-alias àtijọ́ tí àwọn client àgbà ń lò sílẹ̀ tàbí pípa á. |
| `OMNIROUTE_EMERGENCY_FALLBACK` | enabled | `open-sse/services/emergencyFallback.ts` | Ṣètò sí `false` (tàbí `0`) láti pa fallback pàjáwìrì ìparun budget tí ń darí àwọn ìbéèrè tó kùnà padà sí model ọ̀fẹ́ `nvidia`/`nvidia/nemotron-3.5-super-vl-120b-a12b`. Ìtẹ́síwájú pàtàkì ni Feature Flags DB override > env var > àiyépadà; tí kò bá sí, iṣẹ́ náà máa padà sí iye env àìṣeéyípadà. |
| `COMMAND_CODE_CALLBACK_PORT` | _(unset)_ | `src/app/api/providers/command-code/auth/shared.ts` | Port àdúgbò tí a ń lò fún àwọn callback irú OAuth láti ọ̀dọ̀ olùrànlọ́wọ́ Command Code CLI. |
| `COMMAND_CODE_VERSION` | `0.33.2` | `open-sse/executors/commandCode.ts` | Iye tí a ń rán gẹ́gẹ́ bí header `x-command-code-version` sí upstream Command Code. Yí i padà láti gbé ẹ̀dà CLI ga. |
| `COMMANDCODE_API_URL` | `https://api.commandcode.ai` | `open-sse/services/usage/command-code.ts` | URL ìpìlẹ̀ fún upstream lílo/quota Command Code tí smartphone quota-fetcher telemetry ń lò. Yí i padà fún API Command Code tí a gbàlejò fúnra wa tàbí omiì. |
| `MITM_LOCAL_PORT` | `443` | `src/mitm/server.cjs` | Port àdúgbò tí a so mọ́ fún MITM debug proxy. |
| `MITM_DISABLE_TLS_VERIFY` | `0` | `src/mitm/server.cjs` | Ṣètò sí `1` láti pa ìmúdájú TLS upstream rẹ̀ (fún ìdàgbàsókè nìkan). |
| `MITM_IDLE_TIMEOUT_MS` | `60000` | `src/mitm/socketTimeouts.ts`, `src/mitm/server.cjs` | Àkókò ìdúróṣinṣin socket (ms) fún àwọn ìsopọ̀ tí a ń pèsè lọ́nà aṣojú; àwọn socket tí wọ́n bá kọjá àkókò yìí ni a óò ti kí a má bàa jẹ́ kí àwọn tunnel tí ó ṣí ní apá kan jo. |
| `BRIDGE_PORT` | `20129` | `bin/antigravity-bridge.mjs` | Port tí afárá Antigravity MITM máa ń tẹ́tí sí. |
| `ROUTER_URL` | `http://127.0.0.1:20128/v1/antigravity` | `bin/antigravity-bridge.mjs` | Endpoint router tí afárá ń fi ìrìnàjò Antigravity ránṣẹ́ sí. |
| `CERT_DIR` | `/mitm` | `bin/antigravity-bridge.mjs` | Ó máa ń yí àkójọpọ̀ tí afárá ti ń ka ohun èlò TLS rẹ̀ padà. A yan àwòṣe cert gẹ́gẹ́ bí server AgentBridge ṣe ń ṣe: `server.crt`/`server.key` fún ìfìsí leaf ìbílẹ̀, bí kò bá rí bẹ́ẹ̀ `ca.crt`/`ca.key` (root CA, leaf kan fún host kọọkan tí a dá sílẹ̀; `MITM_ROOT_CA_ENABLED=true` ló fi dandan). Afárá máa ń jáde nígbà ìbẹ̀rẹ̀ bí àwọn fáìlì fún àwòṣe tí ń ṣiṣẹ́ bá sọnù. |
| `MITM_VERBOSE` | `1` | `src/mitm/server.cjs`, `src/mitm/_internal/bypass.cjs` | Ìpele àlàyé log fún ìpinnu routing: `0` máa ń pa á mọ́, àwọn iye tó ga sì máa ń kọ àwọn ìpinnu bypass/route sí log púpọ̀ síi. |
| `MITM_ROOT_CA_ENABLED` | `false` | `src/mitm/manager.ts` | Ṣètò sí `true` láti yàn láti lo àwòṣe root-CA àti cert leaf fún host kọọkan (#6684). Àwọn ìfìsí tuntun máa ń gba èyí láìsí ìgbésẹ̀ míì; àwọn ìfìsí tí trusted legacy leaf ti wà tẹ́lẹ̀ máa ń pa cert legacy fixed-SAN mọ́, àyàfi tí a bá yàn láti wọlé sí àwòṣe tuntun. |
| `MITM_CERT_MODE` | `legacy` | `src/mitm/manager.ts`, `src/mitm/server.cjs` | MITM manager ni ó ń ṣètò rẹ̀ fún proxy process tí a ṣẹ̀ṣẹ̀ dá sílẹ̀ (`root-ca` \| `legacy`) — ó ń fi ìpinnu ìyípadà cert hàn; a kò pinnu rẹ̀ fún ìṣètò ọwọ́. |
| `OMNIROUTE_NO_SUDO` | `0` | `src/mitm/systemCommands.ts` | Ṣètò `1` (truthy) láti yọ `sudo` tó wà ní ìbẹ̀rẹ̀ kúrò nínú àwọn àṣẹ ìgbẹ́kẹ̀lé-ẹ̀rí MITM — fún àwọn ìgbékalẹ̀ tí kò ní root / tí wọ́n ń lo user namespace, níbi tí operator ti ń gbẹ́kẹ̀lé CA náà ní ọwọ́ (fún àpẹẹrẹ, nípasẹ̀ ẹ̀rọ extra-CA-certs ti Node). |
| `SKIP_ANTIGRAVITY_DNS` | _(unset)_ | `src/mitm/dns/provision.ts` | Ṣètò `true` láti foju kọ́ pípèsè àwọn àkọsílẹ̀ DNS `/etc/hosts` fún àwọn orúkọ agbalejo aṣojú Antigravity pátápátá — fún àwọn kontéènà tí kò ní sudo/root. |
| `OMNIROUTE_SKIP_DNS_WRITE` | _(unset)_ | `src/mitm/dns/dnsConfig.ts` | Ṣètò `1` láti foju kọ́ kíkọ sí fáìlì hosts nígbà tí a bá ń ṣàfikún/yọ àwọn àkọsílẹ̀ DNS kúrò — fún àwọn àyíká ìdánwò sandbox tàbí tí a kò lè kọ̀ sí. |
| `OMNIROUTE_SKIP_SYSTEM_TRUST` | `0` | `src/mitm/cert/install.ts`, `src/mitm/tproxy/caTrust.ts` | Ààbò fún ìdánwò/CI nìkan: ṣètò `1` láti jẹ́ kí fifi sori/yíyọ ìgbẹ́kẹ̀lé-ẹ̀rí má ṣe ohunkóhun, kí suite náà má ṣe yí ibi ìpamọ́ ìgbẹ́kẹ̀lé OS padà láé. Àtòjọ ìdánwò àti àwọn workflow CI ló máa ń ṣètò rẹ̀ fúnra rẹ̀. |
| `CHANGELOG_BASE_REF` | _(auto)_ | `scripts/check/check-changelog-integrity.mjs` | Àtọ́kasí base tó ṣe kedere fún ẹnu-ọ̀nà ìdènà jíjẹ CHANGELOG (àìsìbàjẹ́) (ó máa ń lo ẹ̀ka base PR nínú CI, tàbí `release/v*` tó ga jù). |
| `FREE_PROXY_AUTO_SYNC_ENABLED` | `false` | `src/lib/freeProxyProviders/scheduler.ts` | Ṣètò `true` láti mú scheduler ìmúdójúìwọ̀n aládàáṣiṣẹ́ adágún free-proxy ṣiṣẹ́ ní abẹ́lẹ̀. Aṣàyàn-lọ́wọ́, ó máa ń wa ní pipa ní àìpẹ́. |
| `FREE_PROXY_AUTO_SYNC_INTERVAL_MS` | `1800000` | `src/lib/freeProxyProviders/scheduler.ts` | Àárín-àkókò ìmúdójúìwọ̀n aládàáṣiṣẹ́ ní milliseconds (àìpẹ́: ìṣẹ́jú 30). |
| `FREE_PROXY_1PROXY_ENABLED` | `true` | `src/lib/freeProxyProviders/oneproxy.ts` | Mú orísun free proxy 1proxy ṣiṣẹ́. Ṣètò sí `false` láti mú un ṣiṣẹ́ kúrò. |
| `FREE_PROXY_1PROXY_API_URL` | _(see oneproxy.ts)_ | `src/lib/freeProxyProviders/oneproxy.ts` | Àtúnṣe URL API 1proxy. |
| `FREE_PROXY_1PROXY_MAX` | `500` | `src/lib/freeProxyProviders/oneproxy.ts` | Àpapọ̀ àwọn proxy tí a máa gba fún ìmúdójúìwọ̀n kọ̀ọ̀kan láti 1proxy. |
| `FREE_PROXY_1PROXY_MIN_QUALITY` | `50` | `src/lib/freeProxyProviders/oneproxy.ts` | Ààlà ìdíwọ̀n didara tó kéré jù fún àwọn àgbéwọlé 1proxy. |
| `FREE_PROXY_PROXIFLY_ENABLED` | `true` | `src/lib/freeProxyProviders/proxifly.ts` | Mú orísun proxy ọ̀fẹ́ Proxifly ṣiṣẹ́. Ṣètò sí `false` láti dá a dúró. |
| `FREE_PROXY_PROXIFLY_QUANTITY` | `100` | `src/lib/freeProxyProviders/proxifly.ts` | Nọ́mbà àwọn proxy tí a máa gba fún ìmúdójúìwọ̀n Proxifly kọ̀ọ̀kan. |
| `FREE_PROXY_PROXIFLY_ANONYMITY` | `elite` | `src/lib/freeProxyProviders/proxifly.ts` | Àlẹ̀ àìmọ̀ ẹni fún Proxifly (`elite`, `anonymous`, `transparent`). |
| `FREE_PROXY_IPLOCATE_ENABLED` | `false` | `src/lib/freeProxyProviders/iplocate.ts` | Mú orísun proxy ọ̀fẹ́ IPLocate ṣiṣẹ́. Fún ìmúlò tí a yàn nìkan. |
| `FREE_PROXY_IPLOCATE_BASE_URL` | `https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols` | `src/lib/freeProxyProviders/iplocate.ts` | Àtúnṣe URL ìpilẹ̀ àtòjọ proxy IPLocate. |
| `FREE_PROXY_WEBSHARE_ENABLED` | `true` | `src/lib/freeProxyProviders/webshare.ts` | Mú orísun adágún Webshare ṣiṣẹ́. Ṣètò sí `false` láti pa á, ó tún nílò kí `FREE_PROXY_WEBSHARE_API_KEY` wà. |
| `FREE_PROXY_WEBSHARE_API_KEY` | _(kò sí)_ | `src/lib/freeProxyProviders/webshare.ts` | Àmi API àkáǹtì Webshare (`Authorization: Token `). Ó pọndandan — olùpèsè náà máa ń wà ní àìṣiṣẹ́ láìsí rẹ̀. |
| `FREE_PROXY_WEBSHARE_API_URL` | `https://proxy.webshare.io/api/v2/proxy/list/` | `src/lib/freeProxyProviders/webshare.ts` | Àṣàyàn URL API àkójọ adágún Webshare. |
| `FREE_PROXY_WEBSHARE_MAX` | `500` | `src/lib/freeProxyProviders/webshare.ts` | Iye tó pọ̀ jù ti àwọn adágún tí a lè kó wọlé fún ìmúdójúìwọ̀n Webshare kọ̀ọ̀kan. |
| `NEXT_PUBLIC_VERCEL_RELAY_ENABLED` | `true` | `src/app/(dashboard)/…/ProxyPoolTab.tsx` | Ṣàfihàn/fi bọtìnì Fọwọ́ sí Vercel Relay pamọ́ nínú taabu Proxy Pool. |
| `VERCEL_API_BASE` | `https://api.vercel.com` | `src/app/api/settings/proxy/vercel-deploy/route.ts` | Àṣàyàn URL ìpìlẹ̀ API Vercel (fún ìdánwò). |
| `NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/…/VercelRelayModal.tsx` | Orúkọ iṣẹ́ àkànṣe tí a ti kọ́ sílẹ̀ tẹ́lẹ̀ nínú fọ́ọ̀mù ìgbékalẹ̀ Vercel Relay. |
| `TAILSCALE_BIN` | _(ìṣàwárí aládàáṣiṣẹ́)_ | `src/lib/tailscaleTunnel.ts` | Ọ̀nà pàtó sí fáìlì aláṣẹ `tailscale`. |
| `TAILSCALED_BIN` | _(ìṣàwárí fúnra rẹ̀)_ | `src/lib/tailscaleTunnel.ts` | Ọ̀nà pàtó sí fáìlì alakóso `tailscaled`. |
| `TAILSCALE_AUTHKEY` | _(a kò ṣètò)_ | `src/lib/tailscaleTunnel.ts` | Kókó ìfọwọ́sí Tailscale tí a ti pín tẹ́lẹ̀ fún `tailscale up` tí kò nílò ìbáṣepọ̀ / tí kò ní ojú-iṣẹ́ (a máa fi ránṣẹ́ pẹ̀lú `--auth-key=`). Tí a kò bá ṣètò rẹ̀, ìwọlé máa padà sí URL ìfọwọ́sí aṣàwákiri tí ó nílò ìbáṣepọ̀. |
| `NGROK_AUTHTOKEN` | _(a kò ṣètò)_ | `src/lib/ngrokTunnel.ts` | Ó ń fọwọ́sí àwọn tunnel ngrok tí ń jáde. |
| `DB_BACKUP_MAX_FILES` | `20` | `src/lib/db/backup.ts` | Ìwọ̀n pọ̀ jùlọ àwọn fáìlì àfẹnusọ SQLite tí ìmúkúrò àfẹnusọ afọwọ́ṣe/tí a ṣètò máa pa mọ́. Àwọn àwòrán ìṣípòpadà jẹ́ àdírẹ́sì àkóónú, a sì tún máa lò wọ́n fún ipò DB kan náà; a kò máa yọ wọ́n kúrò nínú àkókò ìṣípòpadà alábàápín. Ó máa borí iye tí a fipamọ́ láti inú Ètò → Ìpamọ́ àfẹnusọ ibi-ipamọ́ dátà. |
| `DB_BACKUP_RETENTION_DAYS` | `0` | `src/lib/db/backup.ts` | Ọjọ́ orí tó pọ̀ jùlọ tí ìmúkúrò àfẹnusọ afọwọ́ṣe/tí a ṣètò máa pa mọ́. `0` máa pa ìmúkúrò tó dá lórí ọjọ́ orí. A kò máa yọ àwọn àwòrán ìṣípòpadà kúrò nínú àkókò ìṣípòpadà alábàápín. Ó máa borí iye tí a fipamọ́ láti inú Ètò → Ìpamọ́ àfẹnusọ ibi-ipamọ́ dátà. |
| `OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS` | `30000` | `src/lib/jobs/backupScheduleJob.ts` | Àárín àkókò ìtẹ̀sí (ms) ti iṣẹ́ ẹ̀gbẹ́ olupin tí ń ṣiṣẹ́ `backup-schedule.json`. Ó gbọ́dọ̀ wà ní ìsàlẹ̀ ìpín cron ìṣẹ́jú 1 dáadáa; àwọn iye tí ó kéré ju `5000` lọ tàbí tí a kò lè túmọ̀ sí nọ́mbà máa padà sí `30000`. |
| `CONTAINER_HOST` | `docker` | `scripts/check-permissions.sh` | Àbá ìṣiṣẹ́ container fún àyẹ̀wò àṣẹ entrypoint. Ṣètò sí `podman` fún ẹ̀dà Podman èyíkéyìí. Nítorí pé container kò lè mọ̀ bóyá engine wà ní agbègbè tàbí a ń dé ọ̀dọ̀ rẹ̀ nípasẹ̀ Podman Machine, ìkìlọ̀ náà máa dúró láì dá lórí topology, yóò sì tọ́ka sí `contrib/podman/README.md`. |
| `QUOTA_STORE_DRIVER` | `sqlite` | `src/lib/quota/storeFactory.ts` | Ẹ̀yìn ibi ìpamọ́ lílo quota-share: `sqlite` (àìpẹ́) tàbí `redis`. |
| `QUOTA_STORE_REDIS_URL` | _(a kò ṣètò)_ | `src/lib/quota/storeFactory.ts` | Ọ̀nà ìsopọ̀ Redis tí a máa lò nígbà tí `QUOTA_STORE_DRIVER=redis` (àpẹẹrẹ: `redis://localhost:6379`). |
| `QUOTA_SATURATION_THRESHOLD` | `0.5` | `src/lib/quota/enforce.ts` | Ìpín ìkúnà pool (0..1); ní ìpele yìí tàbí lókè rẹ̀, pool náà wọ ipo muna (a kò yá ohun èlò). |
| `QUOTA_SOFT_DEPRIORITIZE_FACTOR` | `0.7` | `open-sse/services/combo.ts` | Olùpọ̀n sọ́kè àmì (0..1) tí a máa lò sí ibi-afẹ́de nígbà tí ìlànà quota rírọ̀ bá dín ààyò rẹ̀ kù. |
| `STATUS_SOFT_DEPRIORITIZE_FACTOR` | `0.5` | `open-sse/services/combo/autoStrategy.ts` | Olùpọ̀n sọ́kè àmì (0..1) tí a máa lò sí olùpèsè tí àwọn ohun èlò rẹ̀ ti tán (`credits_exhausted`/`rate_limited`) nínú ìṣírò auto-combo nígbà tí ìdènà quota preflight bá wà ní PA (#4540). |
| `QUOTA_CONSUMPTION_RETENTION_DAYS` | `14` | `src/lib/db/quotaConsumption.ts` | Àkókò ìpamọ́ (ọjọ́) fún àwọn apá `quota_consumption` kí GC tó ṣe ìmúkúrò wọn (`gcQuotaConsumption`). |
| `QUOTA_PREFLIGHT_CUTOFF_ENABLED` | `false` | `src/lib/resilience/settings.ts` | Yíyan-láti-ṣiṣẹ́ (àìṣiṣẹ́ ní àkọ́kọ́): ó ń mú ìdènà quota líle fún auto-routing ṣiṣẹ́, èyí tí ń yọ àwọn olùdíje tí quota wọn kéré kúrò kí a tó ṣe ìṣírò àmì. Ó máa ń dá àiyipada àkọ́kọ́ nìkan sílẹ̀: iye boolean tí a fipamọ́ sínú `resilienceSettings` (Dasibodu → Ètò → Ìfaradà) ni ó máa ní ààyò. |
| `OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL` | `false` | `open-sse/services/autoCombo/virtualFactory.ts` | Yíyan-láti-ṣiṣẹ́ (àìṣiṣẹ́ ní àkọ́kọ́): nígbà tí àlẹ̀mọ́ `auto/:` kò bá bá àwọn olùdíje tó sopọ̀ mu, ó máa tún ihuwasi àtijọ́ ṣe nípa yípadà sí pool kíkún (tí a kò ṣe àlẹ̀mọ́) dípò kí ó dá pool òfo padà. Àìṣiṣẹ́ ní àkọ́kọ́ mú kí `:free` túmọ̀ sí “ipele ọ̀fẹ́ nìkan”. |
| `OMNIROUTE_CHAOS_MAX_PANEL` | `5` | `open-sse/services/autoCombo/virtualFactory.ts` | Ààlà ìwọ̀n paneli (a dá sí àárín 1–10) fún àyípadà ìfìwéránṣẹ́ `auto/*:chaos` — ìbéèrè kan máa tan sí àwọn àwòṣe tó pọ̀ jù lọ tí iye wọn bá dé ààlà yìí, tí wọ́n sì wá láti ọ̀dọ̀ àwọn olùpèsè onírúurú. |
| `OMNIROUTE_CHAOS_MIN_PANEL` | _(àìyípadà àìpẹ́yà ẹ́ńjìnnì)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Ìtúnṣe ìwọ̀n pánẹ́lì tó kéré jù tí a fi ránṣẹ́ sí olùdarí ìgbékalẹ̀ chaos; tí a kò bá ṣètò ó, àìyípadà àìpẹ́yà ẹ́ńjìnnì ni yóò wà. |
| `OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS` | _(àìyípadà àìpẹ́yà ẹ́ńjìnnì)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Àkókò ìdádúró líle (ms) fún gbogbo ìtànkálẹ̀ pánẹ́lì chaos; tí a kò bá ṣètò ó, àìyípadà àìpẹ́yà ẹ́ńjìnnì ni yóò wà. |
| `GROK_AUTH_PATH` | `~/.grok/auth.json` | `open-sse/services/grokQuotaFetcher.ts` | Ọ̀nà sí `auth.json` Grok CLI tí a ń lò láti gba àǹfààní ọ̀sẹ̀ grok-web; yí i padà fún àwọn ìdánwò tàbí fifi CLI sí ibi tí kì í ṣe bó ṣe wà déédéé. |
| `AGENTBRIDGE_UPSTREAM_CA_CERT` | _(àìṣètò)_ | `src/mitm/manager.ts` | Ẹ̀rí CA àfikún (PEM) tí a gbẹ́kẹ̀lé fún àwọn ìsopọ̀ TLS AgentBridge upstream. |
| `INSPECTOR_BUFFER_SIZE` | `1000` | `src/mitm/inspector/buffer.ts` | Ìwọ̀n tó pọ̀ jù fún àwọn ìbéèrè tí a gbà tí a ń tọ́jú sínú buffer oríṣi orùka Traffic Inspector. |
| `INSPECTOR_MAX_BODY_KB` | `1024` | `src/mitm/inspector/buffer.ts` | Ìwọ̀n ara ìbéèrè/ìdáhùn tí a gbà tó pọ̀ jù (KB) kí a tó gé e kúrú. |
| `INSPECTOR_HTTP_PROXY_PORT` | `8080` | `src/mitm/inspector/httpProxyServer.ts` | Pọ́ọ̀tì àdúgbò fún aṣojú HTTP Traffic Inspector. |
| `INSPECTOR_HTTP_PROXY_AUTOSTART` | `false` | `src/mitm/inspector/httpProxyServer.ts` | Bẹ̀rẹ̀ aṣojú HTTP inspector fúnra rẹ̀ nígbà ìbẹ̀rẹ̀. |
| `INSPECTOR_LLM_HOSTS_EXTRA` | _(unset)_ | `src/lib/inspector/captureState.ts` | Àwọn orúkọ agbègbè àfikún (tí koma yà sí ara wọn) tí a máa ka sí àwọn ibi ìparí LLM fún ìgbàkápá. |
| `INSPECTOR_MASK_SECRETS` | `true` | `src/mitm/inspector/buffer.ts` | Bo àwọn àṣírí (àwọn akọ́lé ìfọwọ́sí / àwọn kọ́kọ́rọ́ API) nínú ìrìnàjò tí a kà sílẹ̀. |
| `INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES` | `30` | `src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts` | Iṣẹ́jú mélòó kan kí olùṣọ́ aṣojú-ètò (system-proxy) tó dá àwọn ètò aṣojú OS padà fúnra rẹ̀. |
| `INSPECTOR_INTERNAL_INGEST_TOKEN` | _(auto)_ | `src/app/api/tools/traffic-inspector/internal/ingest/route.ts` | Àmi ìdánimọ̀ tí ń jẹ́rìí ìwọlé ìkójọpọ̀ inú ilé sí inspector. |
| `PLAYGROUND_COMPARE_MAX_COLUMNS` | `4` | `src/app/(dashboard)/dashboard/playground/` | Ìye pọọ́ọ̀kù àwọn ọ̀wọ̀n tí a lè fi sí ẹ̀gbẹ́-ẹ̀gbẹ́ nínú ìpo ìfiwéra Playground. |
| `PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL` | _(unset)_ | `src/app/(dashboard)/dashboard/playground/` | Àwòkọ́ṣe àiyípadà fún iṣẹ́ “mú prompt sunwọ̀n” ti Playground (ó máa lo àwòkọ́ṣe tó ń ṣiṣẹ́ nígbà náà bí a kò bá ṣètò rẹ̀). |
| `BIFROST_ENABLED` | `1` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Àtìlẹ́yìn pàtàkì fún pípa aṣojú sidecar bifrost. Nígbà tí a bá ṣètò sí `0`, route náà máa dá 503 padà pẹ̀lú akọ́lé `X-Bifrost-Killswitch`, a ó sì darí òṣìṣẹ́ náà padà sí ọ̀nà TS. Lo ó láti pa sidecar náà láì tún ṣe ìfirúpọ̀ (ìṣẹ̀lẹ̀ router tier-1, yíyí kọ́kọ́rọ́). |
| `BIFROST_BASE_URL` | _(unset)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Nígbà tí a bá ṣètò rẹ̀, route aṣojú sidecar Bifrost máa rán ìrìnàjò `/v1/chat/completions` lọ sí ẹnu-ọ̀nà Go yìí dípò olùdarí relay TS. Bí a kò bá ṣètò rẹ̀ → 503-pẹ̀lú-fallback. A máa yọ slash tó wà ní ìparí kúrò. |
| `BIFROST_PORT` | `8080` | `src/lib/services/bootstrap.ts` | Pọ́ọ̀tì tí iṣẹ́ Bifrost embedded tí a ń ṣàbójútó máa ń so mọ́ (`127.0.0.1:`) nígbà tí OmniRoute bá ń ṣàkóso ìgbésí ayé sidecar Bifrost. Àìpẹ̀yà jẹ́ `8080`. |
| `SINGBOX_PORT` | `20140` | `src/lib/services/bootstrap.ts` | Pọ́ọ̀tì tí iṣẹ́ sing-box embedded tí a ń ṣàbójútó máa ń so mọ́ (`127.0.0.1:`) nígbà tí OmniRoute bá ń ṣàkóso ìgbésí ayé sidecar sing-box. Àìpẹ̀yà jẹ́ `20140`. |
| `LLMLINGUA_PORT` | `20135` | `src/lib/services/bootstrap.ts` | Pọ́ọ̀tì tí iṣẹ́ ìfipádi LLMLingua tí a ń ṣàbójútó máa ń so mọ́ (`127.0.0.1:`). Àìpẹ̀yà jẹ́ `20135`. |
| `LLMLINGUA_BASE_URL` | `http://127.0.0.1:20135` | `open-sse/services/compression/engines/llmlingua/index.ts` | URL ìpìlẹ̀ fún daemon iṣẹ́ kékeré ìfipádi HTTP LLMLingua àdúgbò. Àìpẹ̀yà jẹ́ `http://127.0.0.1:20135`. |
| `LLMLINGUA_MODEL` | `atjsh/llmlingua-2-js-tinybert-meetingbank` | `src/lib/services/installers/llmlingua.ts` | ID model Hugging Face tí sidecar LLMLingua tí a ń ṣàbójútó máa ń gbé sórí (a máa ń fi ránṣẹ́ sí env ti child process). |
| `BIFROST_API_KEY` | _(unset)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Kọ́kọ́rọ́ API fún ẹnu-ọ̀nà Bifrost (a máa ń rán an gẹ́gẹ́ bí `Authorization: Bearer ...`). Tí a kò bá ṣètò ó, route náà máa ń retí pé ìbéèrè náà ní kọ́kọ́rọ́ API OmniRoute tó wúlò; kọ́kọ́rọ́ yìí wà fún ìfọwọ́sí ní ẹ̀gbẹ́ ẹnu-ọ̀nà nìkan. |
| `BIFROST_STREAMING_ENABLED` | `true` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Nígbà tí ó bá jẹ́ òtítọ́, route sidecar Bifrost máa ń rán àwọn ìdáhùn padà nípasẹ̀ SSE láti ẹnu-ọ̀nà dípò TS streaming executor. Ṣètò sí `0` láti fi ipa mú kí àwọn ìdáhùn JSON tí kì í ṣe streaming gba ẹnu-ọ̀nà kọjá. |
| `BIFROST_TIMEOUT_MS` | `30000` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Àkókò ìdúróṣinṣin fún ìbéèrè kọ̀ọ̀kan nígbà tí a bá ń fi ìbéèrè ránṣẹ́ sí ẹnu-ọ̀nà Bifrost (ms). Tí àkókò náà bá kọjá, route náà máa ń dá ọ̀nà ìfàṣẹ̀ṣẹ́ TS padà nípasẹ̀ akọsori `X-Bifrost-Fallback`. |
| `OMNIROUTE_BIFROST_KEY` | _(kò ṣeto)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Àpèjá fún `BIFROST_API_KEY` (tí àwọn script tí ń ka env náà nípasẹ̀ `OMNIROUTE_*` ń lò). `BIFROST_API_KEY` ni ààyò nígbà tí a bá ṣètò méjèèjì. |
| `OMNIROUTE_RELAY_BACKEND` | `ts` / `auto` | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | Ẹ̀yà backend relay fún `/api/v1/relay/chat/completions`: `ts \| bifrost \| auto`. `ts` = relay TypeScript (àìpẹ̀yà nígbà tí a kò bá ṣètò Bifrost); `auto` máa yan Bifrost nígbà tí a bá ṣètò `BIFROST_BASE_URL` tí `BIFROST_ENABLED` kò bá dọ́gba pẹ̀lú `0`, pẹ̀lú ìpadà aládàáṣiṣẹ́ sí TS tí sidecar kò bá dé; `bifrost` máa fi Bifrost lé (kíkọ́, láìsí ìpadà). Auth/rate-limit/injection-guard/allowlist máa ń ṣiṣẹ́ ní route Next kọ́kọ́ ní gbogbo ìgbà. Àwọn ìdáhùn ní `X-Routing-Backend` / `X-Routing-Fallback` / `X-Routing-Fallback-Reason`. |
| `RELAY_ROUTING_BACKEND` | _(kò ṣeto)_ | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | Àpèjá tí a gbà fún `OMNIROUTE_RELAY_BACKEND` (àwọn iye `ts \| bifrost \| auto` kan náà). `OMNIROUTE_RELAY_BACKEND` ni ààyò nígbà tí a bá ṣètò méjèèjì. |
| `OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS` | `5000` | `src/app/api/v1/relay/chat/completions/bifrostCooldown.ts` | Àkókò ìdákẹ́jẹ̀ (ms) lẹ́yìn tí ìgbésẹ̀ sidecar Bifrost bá kuna ní ìpo `auto`, kí relay tó tún gbìyànjú sidecar; ó máa darí lọ́gán sí ọ̀nà TS ní gbogbo àkókò ìdákẹ́jẹ̀, lẹ́yìn náà ó tún máa ṣàyẹ̀wò. `0` máa pa á. Ó kan nígbà tí `OMNIROUTE_RELAY_BACKEND=auto` nìkan. |
| `OMNIROUTE_TLS_CERT` | _(kò ṣeto)_ | `bin/cli/commands/serve.mjs` | Ọ̀nà sí ìwé-ẹ̀rí TLS PEM láti fi `omniroute serve` ṣiṣẹ́ lórí HTTPS (ó bá `--tls-cert` mu). Ó gbọ́dọ̀ wà pẹ̀lú `OMNIROUTE_TLS_KEY`; olupin adaduro náà á máa parí TLS lórí olùgbọ́ kan náà (`wss://` máa ń ṣiṣẹ́ láìyípadà). Kò ṣeto → HTTP lasan. Pípèsè cert/key kan ṣoṣo, tàbí ọ̀nà tí a kò lè kà, máa ń kọ ìkìlọ̀, ó sì máa dúró lórí HTTP. |
| `OMNIROUTE_TLS_KEY` | _(kò ṣeto)_ | `bin/cli/commands/serve.mjs` | Ọ̀nà sí kọ́kọ́rọ́ àṣírí TLS PEM fún HTTPS `omniroute serve` (ó bá `--tls-key` mu). Ó gbọ́dọ̀ wà pẹ̀lú `OMNIROUTE_TLS_CERT`. Wo `OMNIROUTE_TLS_CERT`. |
| `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED` | `0` | `src/lib/security/localEndpoints.ts` | Yíyípadà àkóso fún àwọn route `/api/local/*`. Nígbà tí a kò bá ṣètò rẹ̀ tàbí tí iye rẹ̀ bá jẹ́ `0`, gbogbo route `/api/local/*` máa dá `503` padà ní production. Ó gbọ́dọ̀ jẹ́ `1` nínú àwọn ìtẹ̀síwájú tí kò jẹ́ loopback láti lè ṣiṣẹ́ Redis launcher àti àwọn olùbẹ̀rẹ̀ iṣẹ́ local míì tí a lè bẹ̀rẹ̀ pẹ̀lú tẹ̀ kan. Ó jẹ́ ààbò àfikún pẹ̀lú ìpín route-guard `isLocalOnlyPath()` (`LOCAL_ONLY_API_PREFIXES` nínú `src/server/authz/routeGuard.ts`). |
| `OMNIROUTE_LOCAL_ENDPOINTS_TOKEN` | _(kò ṣeto)_ | `src/lib/security/localEndpoints.ts` | Tokeni Bearer fún àwọn olùpè `/api/local/*` tí kò wà lórí loopback (fún àpẹẹrẹ, app desktop). Nígbà tí a bá ṣètò rẹ̀, àwọn ìbéèrè láti àwọn IP tí kò jẹ́ loopback gbọ́dọ̀ ní `Authorization: Bearer `. Ó jẹ́ dandan nígbà tí `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1` nínú àwọn ìtẹ̀síwájú tí kò jẹ́ loopback. |
| `OMNIROUTE_REDIS_CONTAINER_NAME` | `omniroute-redis` | `bin/cli/commands/redis.mjs` | Orúkọ àpótí fún olùgbékalẹ̀ Redis títẹ̀kan (`omniroute redis up`). CLI àti GUI `RedisLauncherPanel` ló máa ń lò ó. |
| `OMNIROUTE_REDIS_HOST_PORT` | `6379` | `bin/cli/commands/redis.mjs` | Pọ́ọ̀tì host fún olùgbékalẹ̀ Redis títẹ̀kan. Yí i sókè bí host bá ti ń dì mọ́ 6379. Pọ́ọ̀tì inú àpótí náà ṣì máa jẹ́ 6379. |
| `OMNIROUTE_REDIS_BIND_HOST` | `127.0.0.1` | `bin/cli/commands/redis.mjs` | Ojú-ọ̀nà host tí olùgbékalẹ̀ Redis títẹ̀kan ti ń tẹ̀jáde sí. Olùgbékalẹ̀ náà máa ń bẹ̀rẹ̀ Redis LAÍ Ọ̀RỌ̀-ÌGBANIWỌLÉ, nítorí náà dídi mọ́ `0.0.0.0` máa fún gbogbo host tó wà lórí LAN rẹ ní Redis tí kò ní ìfọwọ́sí — gbé ààlà yìí sókè nìkan bí o bá tún ṣètò ọ̀rọ̀-ìgbaniwọlé fún instance náà fúnra rẹ. |
| `REDIS_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Ojú-ọ̀nà host tí docker-compose ti ń tẹ̀jáde Redis sidecar sí (#9286). Redis compose náà ń ṣiṣẹ́ láìsí `requirepass`; àwọn àpótí app máa ń dé ọ̀dọ̀ rẹ̀ lórí nẹ́tíwọ́ọ̀kì compose (`redis:6379`) — pọ́ọ̀tì tí a tẹ̀jáde wà fún àwọn irinṣẹ́ tó ń ṣiṣẹ́ ní ẹgbẹ́ host nìkan. `0.0.0.0` máa ń ṣí Redis tí kò ní ìfọwọ́sí sí gbogbo LAN. |
| `REDIS_PORT` | `6379` | `docker-compose.yml` | Pọ́ọ̀tì host fún Redis sidecar compose. |
| `APP_BIND_HOST` | `127.0.0.1` | `docker-compose.yml`, `docker-compose.prod.yml` | Ojú-ọ̀nà host tí docker-compose ti ń tẹ̀jáde àwọn pọ́ọ̀tì dashboard/API/live-WS ti app fúnra rẹ̀ sí (#12568). Níwọ̀n bí `REQUIRE_API_KEY=false` ti jẹ́ àṣàyàn aiyipada nínú `.env.example`, `0.0.0.0` máa ń ṣí aṣojú LLM aláìlórúkọ `/v1` sí gbogbo LAN/WAN — gbé ààlà yìí sókè lẹ́yìn tí `REQUIRE_API_KEY=true` bá wà tàbí tí reverse proxy kan tó wà níwájú bá ń fipá mú ìfọwọ́sí tirẹ̀. |
| `QDRANT_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Ojú-ọ̀nà host tí docker-compose ti ń tẹ̀jáde Qdrant memory sidecar sí (#12578). Ìdí tó kan ìfihàn sí LAN jẹ́ bákan náà pẹ̀lú `REDIS_BIND_HOST`. |
| `BIFROST_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Ojú-ọ̀nà host tí docker-compose ti ń tẹ̀jáde Bifrost router sidecar sí (#12578). Ìdí tó kan ìfihàn sí LAN jẹ́ bákan náà pẹ̀lú `REDIS_BIND_HOST`. |
| `REDIS_KEY_PREFIX` | `omniroute:` | `src/shared/utils/rateLimiter.ts` | Àfikún namespace tí a máa fi sí gbogbo kọ́kọ́rọ̀ OmniRoute Redis (olùdínà ìwọlé tó pọ̀jù, cache ìfàṣẹsí, ibi ìpamọ́ quota, àti circuit breaker ìmúgbóná). Ó dènà ìkọlù kọ́kọ́rọ̀ nígbà tí Redis instance bá ń bá àwọn app mìíràn pín (#11042). |
| `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | _(unset — mechanism disabled)_ | `src/lib/api/internalServiceAuth.ts` | Asiri tí a pín fún àwọn ìgbésẹ̀ REST inú iṣẹ́ tí ń pa ìdánimọ̀ mọ́ (#9260): àwọn paati OmniRoute tí ń pe àwọn route OmniRoute agbègbè mìíràn ń fi ránṣẹ́ gẹ́gẹ́ bí `x-omniroute-internal-service-token` kí ìdánimọ̀ olùpè ìpilẹ̀ṣẹ̀ lè wà láìyípadà. A fi wé `timingSafeEqual`. |
| `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | _(unset)_ | `src/lib/api/internalServiceAuth.ts` | Àyípadà fáìlì-asiri ti token iṣẹ́ inú: ọ̀nà sí fáìlì kan tí àkóónú rẹ̀ tí a gé ààyè yí ká jẹ́ token náà. A máa kàn wò ó nígbà tí inline var kò bá ṣètò. |
| `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | `src/lib/catalog/openrouterProviderStats.ts` | Fi àwọn iṣiro ìṣètò ọ̀sẹ̀ OpenRouter kún àtòjọ àwọn pèsè dashboard (#9324). Ó wà ní titan láìsí àgbékalẹ̀ mìíràn; ṣètò `false` láti fo ìgbéjáde abẹ́lẹ̀ náà kọjá pátápátá (kò dí ìṣiṣẹ́ dúró, kò sì lè fa aṣìṣe tó burú). |
| `OPENROUTER_PROVIDER_STATS_TTL_MS` | `86400000` (24h) | `src/lib/catalog/openrouterProviderStats.ts` | TTL cache fún àwòrán snapshot àwọn iṣiro pèsè OpenRouter, ní milliseconds. |
| `OMNIROUTE_REDIS_IMAGE` | `redis:7-alpine` | `bin/cli/commands/redis.mjs` | Àwòrán Redis tí olùgbékalẹ̀ Redis tí a tẹ̀ lẹ́ẹ̀kan máa ń lò. Yí i padà sí `redis:8-alpine` tàbí sí mirror registry aládàáni bí ó bá ṣe yẹ. |
| `QDRANT_HOST` | `qdrant` | _(opt-in cluster profile)_ | Orúkọ agbègbè ti sidecar Qdrant nígbà tí `--profile memory` bá ṣiṣẹ́. Àiyipada tọ́ka sí orúkọ iṣẹ́ qdrant tó wà nínú nẹ́tíwọ̀ọ̀kì; yí i padà fún ìgbékalẹ̀ òde. A máa lò ó nìkan nígbà tí `qdrantEnabled` bá jẹ́ `true` nínú kóòdù (`src/lib/memory/vectorStore.ts:108`). |
| `QDRANT_PORT` | `6333` | _(opt-in cluster profile)_ | Pọ́ọ̀tì REST ti sidecar Qdrant. |
| `QDRANT_GRPC_PORT` | `6334` | _(àṣàyàn profaili cluster)_ | Pọ́ọ̀tì gRPC ti sidecar Qdrant. Àwọn ilé-ìkàwé client tí wọ́n fẹ́ràn gRPC ju REST lọ fún àwọn iṣẹ́ ṣiṣanwọlé ni ó máa ń lò ó. |
| `QDRANT_API_KEY` | _(unset)_ | _(àṣàyàn profaili cluster)_ | Bọtini API àṣàyàn fún Qdrant Cloud tàbí àpẹrẹ on-prem tí ó ní ìfọwọ́sí. Empty → a kò fi akọsori `api-key` ránṣẹ́. |
| `QDRANT_COLLECTION` | `omniroute-memory` | _(àṣàyàn profaili cluster)_ | Orúkọ àkójọpọ̀ fún àwọn embeddings ìrántí ìjíròrò OmniRoute. A máa ṣẹ̀dá a ní ìṣàkọ́kọ́ pẹ̀lú àwọn dimensions `QDRANT_VECTOR_SIZE`. |
| `QDRANT_EMBEDDING_MODEL` | `text-embedding-3-small` | _(àṣàyàn profaili cluster)_ | Orúkọ àwòṣe embedding àiyípẹ́ tí a ṣàkọsílẹ̀ sínú metadata àkójọpọ̀ Qdrant. Àwọn embeddings gidi ni provider èyíkéyìí tí pápá `embeddingModel` nínú àwọn ètò OmniRoute tọ́ka sí máa ń ṣe. |
| `QDRANT_VECTOR_SIZE` | `1536` | _(àṣàyàn profaili cluster)_ | Ìwọ̀n vector embedding. Ó gbọ́dọ̀ bá àwòṣe tí ẹ fi ń ṣe embedding mu (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768). |
| `QDRANT_HNSW_EF_CONSTRUCT` | `128` | _(àṣàyàn profaili cluster)_ | Ìpéye ní àkókò kíkọ́ atọ́ka HNSW. Iye tó ga = kíkọ́ tó lọ́ra, ṣùgbọ́n ìṣàwárí tó yára. |
| `OMNIROUTE_ROTATION_ENABLED` | `true` | `open-sse/services/rotationConfig.ts` | Àyípadà àgbà fún yíyí àkọọ́lẹ̀ tí oniṣẹ́ lè ṣàtúnṣe. Nígbà tí ó bá jẹ́ `false`, kò sí ọ̀kan nínú àwọn class `OMNIROUTE_ROTATE_*` tó wà nísàlẹ̀ tí yóò mú account fallback ṣiṣẹ́ (ipò tí master bá wà ní pipa tún máa dí àwọn class 429/500/502 tí a gbà lágbára ní àiyípẹ́). Ó jẹ́ kí front-end alábòójútó (fún àpẹẹrẹ, app desktop VibeProxy) lè fi àwọn òfin yíyí tirẹ̀ hàn lórí ẹ́ńjìnnì account-fallback backend. |
| `OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS` | `0` | `open-sse/services/rotationConfig.ts` | Àkókò ìtútù (ìṣẹ́jú-aaya) tí a máa lò fún account tí a ti dá dúró nítorí rate limit nígbà tí upstream kò bá fún ní àfihàn ìtúnṣètò kankan. `0` = lo àkókò ìtútù àiyípẹ́ ẹ́ńjìnnì dípò override tí a ṣètò pẹ́ títí. |
| `OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET` | `true` | `open-sse/services/rotationConfig.ts` | Àfihàn ìfẹ́ràn iwájú-ẹ̀yìn “má ṣe samisi gẹ́gẹ́ bí ó ti dé ààlà ìbéèrè láìsí àkókò ìtúnṣe.” |
| `OMNIROUTE_ROTATE_ON_429` | `true` | `open-sse/services/rotationConfig.ts` | Ìmúṣiṣẹ́ àfidípò fún ipo `429`. Nígbà tí ó bá jẹ́ `false` (àti `OMNIROUTE_ROTATION_ENABLED=true`), `429` kò tún máa fa yíyí àkọọ́lẹ̀ padà, a sì máa dá a padà sí oníbàárà dípò. |
| `OMNIROUTE_ROTATE_429_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | Iye àwọn àṣìṣe `429` tí ó gbọ́dọ̀ ṣẹlẹ̀ láàárín `OMNIROUTE_ROTATE_429_WINDOW_SECONDS` kí a tó yí àkọọ́lẹ̀ padà. `1` (àìpẹ́) máa ń yí i padà lẹ́sẹ̀kẹsẹ̀, ó sì ń pa ìhùwàsí àtijọ́ mọ́. |
| `OMNIROUTE_ROTATE_429_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Àkókò yíyọ (ìṣẹ́jú-aaya) tí a máa ń ka àwọn àṣìṣe `429` sí nínú rẹ̀ láti bá `OMNIROUTE_ROTATE_429_THRESHOLD` mu. |
| `OMNIROUTE_ROTATE_ON_500` | `true` | `open-sse/services/rotationConfig.ts` | Ìmúṣiṣẹ́ àfidípò fún ipo àwọn àṣìṣe server `5xx` (yàtọ̀ sí `502`, tí ó ní kíláàsì tirẹ̀). Nígbà tí ó bá jẹ́ `false`, àwọn àṣìṣe wọ̀nyí kò tún máa fa yíyí àkọọ́lẹ̀ padà. |
| `OMNIROUTE_ROTATE_500_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | Iye àwọn àṣìṣe `5xx` tí ó gbọ́dọ̀ ṣẹlẹ̀ láàárín `OMNIROUTE_ROTATE_500_WINDOW_SECONDS` kí a tó yí àkọọ́lẹ̀ padà. `1` (àìpẹ́) máa ń yí i padà lẹ́sẹ̀kẹsẹ̀. |
| `OMNIROUTE_ROTATE_500_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Àkókò yíyọ (ìṣẹ́jú-aaya) tí a máa ń ka àwọn àṣìṣe `5xx` sí nínú rẹ̀ láti bá `OMNIROUTE_ROTATE_500_THRESHOLD` mu. |
| `OMNIROUTE_ROTATE_ON_502` | `true` | `open-sse/services/rotationConfig.ts` | Ìmúṣiṣẹ́ àfidípò fún àwọn àṣìṣe `502` (ẹnu-ọ̀nà búburú). Nígbà tí ó bá jẹ́ `false`, `502` kò tún máa fa yíyí àkọọ́lẹ̀ padà. |
| `OMNIROUTE_ROTATE_502_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | Nọ́mbà àwọn aṣìṣe `502` nínú `OMNIROUTE_ROTATE_502_WINDOW_SECONDS` tí a nílò kí a tó yí akọọlẹ padà. `1` (àìyípadà) máa ń yí i padà lẹ́sẹ̀kẹsẹ̀. |
| `OMNIROUTE_ROTATE_502_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Àkókò ìṣàkóso tí ń yí (ìṣẹ́jú-aaya) tí a máa ń ka àwọn aṣìṣe `502` sí nínú rẹ̀ fún `OMNIROUTE_ROTATE_502_THRESHOLD`. |
| `OMNIROUTE_ROTATE_ON_400` | `false` | `open-sse/services/rotationConfig.ts` | Ìmúṣiṣẹ́ pẹ̀lú ìfẹ́ (àìṣiṣẹ́ ní àìyípadà): nígbà tí ó bá jẹ́ `true`, `400` lasán (ìbéèrè tí kò tọ́) náà máa ń fa yíyí akọọlẹ padà. Èyí jẹ́ àfikún nìkan — kò ṣe díẹ̀kù sí ìhùwàsí tó wà tẹ́lẹ̀ nínú engine, níbi tí `400` tí ó ní ọ̀rọ̀ ààlà oṣùwọ̀n/quota ṣì máa ń fa ìṣàn padà láìka àsíá yìí sí. |
| `OMNIROUTE_ROTATE_400_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | Nọ́mbà àwọn aṣìṣe `400` nínú `OMNIROUTE_ROTATE_400_WINDOW_SECONDS` tí a nílò kí a tó yí akọọlẹ padà (a máa ń kàn sí i nígbà tí `OMNIROUTE_ROTATE_ON_400=true` nìkan). |
| `OMNIROUTE_ROTATE_400_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Àkókò ìṣàkóso tí ń yí (ìṣẹ́jú-aaya) tí a máa ń ka àwọn aṣìṣe `400` sí nínú rẹ̀ fún `OMNIROUTE_ROTATE_400_THRESHOLD`. |
### Olùṣètò Ìgbóná-àkọ́kọ́ Claude
Ìgbóná-àkọ́kọ́ tí Cron ń darí fún àwọn ìsopọ̀ Anthropic OAuth tí a ti yàn, kí ferese ààlà oṣùwọ̀n wákàtí 5 lè ṣí pẹ̀lú ìbéèrè kékeré tí a ṣètò dípò ìbéèrè gidi àkọ́kọ́ (#8848). Olùṣètò náà wà ní pipa àfi tí `OMNIROUTE_WARMUP_ENABLED` bá jẹ́ truthy **àti** tí a bá fi àsíá sí ìsopọ̀ náà nínú `settings.claudeWarmup.connections`; àkójọpọ̀ ìsopọ̀ tó ṣófo túmọ̀ sí pé a kò ní gbóná ìsopọ̀ kankan, kódà tí env var náà bá wà ní titan.
| Variable | Àìyípadà | Fáìlì Orísun | Àpèjúwe |
| ------------------------------ | --------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_WARMUP_ENABLED` | _(unset → off)_ | `src/lib/warmupScheduler.ts` | Àtọ́ka àgbáyé fún olùṣètò ìgbóná-àkọ́kọ́. Ó gba `1`/`true`/`yes`/`on` (kò ṣe pàtàkì bóyá lẹ́tà ńlá tàbí kékeré, a sì ń gé àlàfo kúrò). Iye míì, tàbí tí a kò bá ṣètò ọ́, máa ń jẹ́ kí olùṣètò náà wà ní pipa. |
| `OMNIROUTE_WARMUP_CRON` | `0 7 * * *` | `src/lib/warmupScheduler.ts` | Àpẹẹrẹ cron pápá márùn-ún fún ìgbà ìṣiṣẹ́ ìgbóná-àkọ́kọ́, tí a ń ṣe àyẹ̀wò rẹ̀ ní `America/Los_Angeles` (agbègbè àkókò ìtúnṣe Anthropic) láìka aago host sí. |
| `OMNIROUTE_WARMUP_CONCURRENCY` | `3` | `src/lib/warmupScheduler.ts` | Mélòó ni àwọn ìsopọ̀ tí a máa ń gbóná ní àkókò kan ṣoṣo fún ìgbà ìṣiṣẹ́ kọ̀ọ̀kan. A máa ń dí i sí `1`-`10`; iye tí kì í ṣe nọ́mbà máa ń padà sí `3`. |
| `OMNIROUTE_WARMUP_MODEL` | `claude-3-5-haiku-20241022` | `src/lib/warmupScheduler.ts` | Model tí a máa ń lò fún ìbéèrè ìgbóná-àkọ́kọ́. Yí i padà nìkan tí àìyípadà kò bá sí lórí ètò rẹ; yan model tó rọrùn jù lọ tí ó ṣì ń ṣí ferese náà. |
### Àwọn Ìpàdé VNC Ìwọlé-Browser àti Àpèjúwe Data-Dir
Chromium+VNC tí a kó sínú container, tí a ń lò fún gbigba ẹ̀rí ìwọlé-browser ní ìbáṣepọ̀ (`/api/vnc-session`), pẹ̀lú àpèjúwe `DATA_DIR` ogún. Gbogbo wọn jẹ́ àṣàyàn — àwọn àìyípadà VNC máa ń tọ́ka sí image `omniroute-vnc-chromium:local` tí a kó sínú rẹ̀, a sì máa ń yí wọn padà nìkan fún image container àṣà, àwọn pọ́ọ̀tì, tàbí àtúnṣe ìgbésí-ayé.
| Àyípadà | Àìyípadà àìpẹ̀yà | Fáìlì Orísun | Àpèjúwe |
| ------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | Ààmì àwòrán Docker fún àpótí ìwọlé Chromium+VNC. Kọ `docker/vnc-browser/chromium` tàbí tọ́ka sí àwòrán àṣà kan níbí. |
| `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | Bínárì àkókò-ṣiṣe àpótí tí a lò láti gbé àpótí VNC jáde (fún àpẹẹrẹ, ṣètò sí `podman`). |
| `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | Pọ́ọ̀tì VNC/noVNC tí a ṣí síta nínú àpótí náà. |
| `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Pọ́ọ̀tì Chrome DevTools Protocol nínú àpótí náà. |
| `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Ọ̀nà sí àkójọ profaili Chromium nínú àpótí náà. |
| `OMNIROUTE_VNC_PROFILE_DIR` | `$HOME/.omniroute/browser-login-profiles` | `src/lib/vncSession/manifest.ts` | Àkójọ agbàlejò tí ó ń tọ́jú àwọn profaili ìwọlé aṣàwákiri tí a fipamọ́. |
| `OMNIROUTE_VNC_IDLE_MS` | `600000` (10 min) | `src/lib/vncSession/manifest.ts` | Àkókò ìdúró (ms) kí ìgbà VNC tí kò ṣiṣẹ́ lè parẹ́. |
| `OMNIROUTE_VNC_MAX_MS` | `1800000` (30 min) | `src/lib/vncSession/manifest.ts` | Ààlà líle (ms) lórí àkókò ìgbésí-ayé ìgbà VNC kan ṣoṣo. |
| `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | Iye tó pọ̀ jù lọ ti àwọn ìgbà VNC tó lè ṣiṣẹ́ papọ̀. |
| `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Àkókò ìdákẹ́ (ms) tí a ń dúró de aṣàwákiri inú àpótí náà kí ó lè ṣetán fún CDP. |
| `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | Àkókò ìdákẹ́ (ms) fún kíkó ìgbà/àwọn kúkì tí a gbà sílẹ̀ lẹ́yìn tí ìwọlé bá parí. |
| `OMNIROUTE_VNC_CHROMIUM_ARGS` | `--remote-debugging-port=9222 --no-first-run --no-default-browser-check` | `src/lib/vncSession/manifest.ts` | Àwọn àsíyọ àṣẹ-lílò àfikún tí a ń fi ránṣẹ́ sí Chromium inú àpótí náà. |
| `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Nẹ́tíwọ́ọ̀kì Docker pàtàkì tí àpótí ìwọlé VNC darapọ̀ mọ́ (#12571) dípò bridge àìpẹ̀yà, kí àwọn àpótí arákùnrin má bàa lè dé ibi pọ́ọ̀tì afárá CDP rẹ̀. |
| `VIBEPROXY_DATA_DIR` | _(unset)_ | `open-sse/services/notionThreadSessions.ts` | **Àfúnni àtẹ́lẹwọ́** fún `DATA_DIR`, tí a máa ń ṣàyẹ̀wò lẹ́yìn tí `DATA_DIR` àti `OMNIROUTE_DATA_DIR` bá ti jẹ́ àìṣètò. Ó ń tọ́ka sí kaṣe ìgbà àwọn okun wẹ́ẹ̀bù Notion (`/notion-web-thread-sessions.json`). |
---
## 26. Idanwo & E2E ijanu
Ti a lo nipasẹ `scripts/dev/run-next-playwright.mjs`, `scripts/dev/smoke-electron-packaged.mjs`, `scripts/dev/run-ecosystem-tests.mjs`, ati `scripts/build/uninstall.mjs`. Fi gbogbo iye silẹ ni isalẹ aito ni awọn imuṣiṣẹ iṣelọpọ.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| -------------------------------------- | ------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_E2E_BOOTSTRAP_MODE` | `auth` | `scripts/dev/run-next-playwright.mjs` | E2E bootstrap mode (`auth`, `fresh`, `reuse`) fun Playwright olusare. |
| `OMNIROUTE_E2E_PASSWORD` | ṣubu pada si `INITIAL_PASSWORD` | `scripts/dev/run-next-playwright.mjs` | Ọrọigbaniwọle abojuto itasi sinu agbegbe Playwright. |
| `OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Pa idibo ayẹwo ilera agbegbe lakoko awọn ṣiṣe Playwright. |
| `OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Muu OAuth tokini loop ṣayẹwo ilera lakoko awọn idanwo. |
| `OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS` | _(a ko ṣeto)_ | `src/lib/tokenHealthCheck.ts` | Awọn olupese ti o ya sọtọ komama yọkuro kuro ninu gbigba-mimu isọdọtun ti nṣiṣẹ (fun apẹẹrẹ `codex,openai`). Omiiran ìfọkànsí si piparẹ ni kikun awọn olupese ilera — kukuru-TTL ntọju onitura lakoko ti awọn olupese kasikedi duro ni ifaseyin-nikan. |
| `OMNIROUTE_HIDE_HEALTHCHECK_LOGS` | `true` | `scripts/dev/run-next-playwright.mjs` | Pa ariwo ilera ṣayẹwo ni Playwright stdout. |
| `OMNIROUTE_PLAYWRIGHT_SKIP_BUILD` | `0` | `scripts/dev/run-next-playwright.mjs` | Rekọja iṣelọpọ Next.js ki o to bẹrẹ Playwright (iṣapejuwe CI ). |
| `OMNIROUTE_SKIP_UNINSTALL_HOOK` | `0` | `scripts/build/uninstall.mjs` | Rekọja kio aifi sipo OmniRoute (ti o nlo nipasẹ CI lati jẹ ki `node_modules` wa titi). |
| `ECOSYSTEM_SERVER_WAIT_MS` | `180000` | `scripts/dev/run-ecosystem-tests.mjs` | Akoko duro (ms) fun olupin lati ni ilera ṣaaju ṣiṣe awọn idanwo ecosystem/protocol. |
| `ELECTRON_SMOKE_URL` | `http://127.0.0.1:20128/login` | `scripts/dev/smoke-electron-packaged.mjs` | URL ẹfin ẹfin Electron nireti ohun elo ti a kojọpọ lati sin. |
| `ELECTRON_SMOKE_TIMEOUT_MS` | `45000` | `scripts/dev/smoke-electron-packaged.mjs` | Lapapọ akoko ipari (ms) ṣaaju ki ijanu ẹfin to lọ silẹ. |
| `ELECTRON_SMOKE_SETTLE_MS` | `2000` | `scripts/dev/smoke-electron-packaged.mjs` | Ṣeto ferese (ms) lẹhin awọn ẹru oju-iwe naa. |
| `ELECTRON_SMOKE_APP_EXECUTABLE` | _(laifọwọyi)_ | `scripts/dev/smoke-electron-packaged.mjs` | Ọna ti o han gbangba si ṣiṣiṣẹ Electron ti o ṣajọ. |
| `ELECTRON_SMOKE_DATA_DIR` | _(tmpdir)_ | `scripts/dev/smoke-electron-packaged.mjs` | Itọsọna data fun ṣiṣe ẹfin Electron. |
| `ELECTRON_SMOKE_KEEP_DATA` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Ṣeto `1` lati tọju ilana data ẹfin lẹhin ṣiṣe. |
| `ELECTRON_SMOKE_STREAM_LOGS` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Ṣeto `1` lati san awọn akọọlẹ Electron si stdout lakoko ṣiṣe. |
| `ELECTRON_SMOKE_COLD_RESTART` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | # 7592: tun bẹrẹ lodi si dir data kanna ki o sọ ifilọlẹ keji yan awakọ SQLite abinibi. |
| `CLI_DEVIN_BIN` | _(Ayẹwo PATH )_ | `open-sse/executors/devin-cli.ts` | Yipada si ọna alakomeji Devin CLI. |
### Opopona onitumọ Docs
Ti a lo nipasẹ `scripts/i18n/run-translation.mjs` (aṣẹ `npm run i18n:run` ). Gbogbo awọn oniyipada mẹfa ko ṣeto nipasẹ aiyipada — ṣeto wọn ni `.env` nikan lori awọn ẹrọ ti o yẹ ki o ni anfani lati ṣiṣẹ onitumọ docs.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------ | ------------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `OMNIROUTE_TRANSLATION_API_URL` | _(a ko ṣeto)_ | `scripts/i18n/run-translation.mjs` | Ṣii-ibaramu URL ipilẹ AI fun ẹhin itumọ. |
| `OMNIROUTE_TRANSLATION_API_KEY` | _(a ko ṣeto)_ | `scripts/i18n/run-translation.mjs` | Àmi olùrùsókè fún ìpìlẹ̀ ìtumọ̀ (kò wọlé láé). |
| `OMNIROUTE_TRANSLATION_MODEL` | _(a ko ṣeto)_ | `scripts/i18n/run-translation.mjs` | Awoṣe id, fun apẹẹrẹ `gpt-4o-mini` tabi `cx/gpt-5.4-mini`. |
| `OMNIROUTE_TRANSLATION_FALLBACK_MODELS` | _(a ko ṣeto)_ | `scripts/i18n/lib/translate-backend.mjs` | Ẹwọn awoṣe ti o ya sọtọ komama iyan gbiyanju ni ibere nigbati awoṣe akọkọ ba kuna (ipin 429, 401/402, 5xx, akoko ipari, nẹtiwọki); ibeere ti ko dara (400/413/422) ko tun gbiyanju ni ibomiiran. |
| `OMNIROUTE_TRANSLATION_TIMEOUT_MS` | `60000` | `scripts/i18n/run-translation.mjs` | Ibere-akoko akoko-ibere ni awọn iṣẹju-aaya. |
| `OMNIROUTE_TRANSLATION_REASONING_EFFORT` | _(a ko ṣeto)_ | `scripts/i18n/lib/translate-backend.mjs` | Iṣakoso ironu iyan, firanṣẹ bi-si ẹhin nigba ti ṣeto. |
| `OMNIROUTE_TRANSLATION_CONCURRENCY` | `4` | `scripts/i18n/run-translation.mjs` | Awọn ibeere itumọ ti o jọra nigbati o nṣiṣẹ lori ọpọlọpọ awọn faili / agbegbe. |
| `OMNIROUTE_TRANSLATION_ENGINE` | `llm` | `scripts/i18n/run-translation.mjs` | `llm` nlo ẹhin oke; `google` tumọ nipasẹ ẹrọ Google -ailewu ati pe ko nilo ọkan ninu awọn oniyipada LLM. |
| `OMNIROUTE_TRANSLATION_GOOGLE_FALLBACK` | `1` | `scripts/i18n/run-translation.mjs` | Pẹlu ẹrọ `llm`, chunk kan ti awoṣe ko le gbejade (oluṣọ ijade kuna lori gbogbo igbiyanju, tabi aṣiṣe awoṣe) jẹ itumọ nipasẹ Google dipo ikuna agbegbe naa. `0` mu u. |
| `OMNIROUTE_TRANSLATION_GOOGLE_API_KEY` | _(a ko ṣeto)_ | `scripts/i18n/lib/google-translate.mjs` | Itumọ awọsanma Itumọ v2 bọtini. Unset nlo aaye ipari wẹẹbu ti ko ni bọtini (opin-opin, itanran fun awọn igbi lẹẹkọọkan). |
| `OMNIROUTE_TRANSLATION_GOOGLE_CONCURRENCY` | `6` | `scripts/i18n/lib/google-translate.mjs` | Awọn ibeere Google ti o jọra ti o pin nipasẹ gbogbo agbegbe ti ṣiṣe kan. |
| `OMNIROUTE_TRANSLATION_GOOGLE_TIMEOUT_MS` | `30000` | `scripts/i18n/lib/google-translate.mjs` | Akoko akoko-ibere fun ẹnjini Google, ni milliseconds. |
| `UI_KIT_READ_TOKEN` | _(a ko ṣeto)_ | `scripts/check/check-ui-kit-upstream.mjs` | Àmi kika-nikan fun ikọkọ ohun elo UI kit repo, ti o nlo nipasẹ `npm run check:ui-kit-upstream` ati iṣisẹ iṣẹ-ọsẹ-ọsẹ "UI Kit upstream watch". Ni agbegbe ayẹwo naa nlo awọn iwe-ẹri git rẹ. |
---
## 27. Ifunni Radar (Alejo ti ara ẹni)
Iyan add-on gated nipasẹ RADAR_ENABLED ẹya Flag (aiyipada pa — a ẹya-ara Flag toggled nipasẹ Settings/DB, ko env var; wo [docs/frameworks/RADAR.md](../frameworks/RADAR.md#flag-radar_enabled-default-off) ). Awọn oniyipada mẹrin akọkọ ti o wa ni isalẹ jẹ awọn ifasilẹ iyan fun ifunni ti ara ẹni ti gbalejo tabi orita ati awọn ṣiṣan bọtini alatilẹyin. Karun, `RADAR_ADMIN_URL`, jẹ ọna asopọ aifọwọyi lọtọ lọtọ si igbimọ awọn iṣẹ ikọkọ ti eni. Wo [docs/frameworks/RADAR.md](../frameworks/RADAR.md) fun doc module ni kikun ati [imuṣiṣẹ ipari-si-opin ati ilana iṣeto-itọnisọna](../frameworks/RADAR.md#end-to-end-activation-and-guided-setup).
Oluka ikede Home/Changelog jeneriki ko ni tunto nipasẹ oniyipada ayika ati pe ko dale lori asia ẹya RADAR_ENABLED. O ka ibi ipamọ gbogbo eniyan `news.json` URL ti a kede ni `src/shared/utils/releaseNotes.ts` nipasẹ GET nikan; IDs yiyọ kuro ni ibi ipamọ agbegbe aṣawakiri.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ----------------------------- | -------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RADAR_FEED_URL` | `https://radar.omniroute.online` | `src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts` | Ipilẹ URL ti o pin nipasẹ katalogi ti a fowo si lọtọ, awọn itọkasi, awọn ifunni alatilẹyin, ati awọn ifunni Intel. Pari lati tọka si iṣẹ ti o gbalejo tabi orita. |
| `RADAR_FEED_PUBKEY` | _(bọtini aiyipada ti a pin) _ | `src/lib/radar/pinnedKeys.ts` | Ed25519 bọtini ita gbangba (base64-DER SPKI tabi PEM) ti a lo lati jẹrisi awọn ibuwọlu ifunni lati inu kikọ sii aṣa. |
| `RADAR_CONTRIBUTOR_CLAIM_URL` | `https://radar.omniroute.online/auth/github` | `src/lib/radar/links.ts` | URL bọtini dasibodu "Mo jẹ oluranlọwọ" ṣi (ṣàn sisan bọtini alatilẹyin GitHub OAuth ). |
| `RADAR_SUPPORTER_PLANS_URL` | `https://radar.omniroute.online/planos` | `src/lib/radar/links.ts` | URL bọtini dasibodu "Ṣe atilẹyin iṣẹ akanṣe" ṣi (oju-iwe payment/plans ). |
| `RADAR_ADMIN_URL` | _(a ko ṣeto)_ | `src/lib/radar/links.ts` | Olohun-nikan iṣiṣẹ ikọkọ-panel ọna asopọ. HTTPS nilo ayafi fun HTTP loopback SSH siwaju; aito tabi awọn iye aiṣedeede ko ṣẹda nkan lilọ kiri. |
---
## Ayẹwo: Awọn iyipada ti yọ kuro / ku
Awọn oniyipada atẹle han ni awọn ẹya ti tẹlẹ ti `.env.example` ṣugbọn wọn ni** ko si asiko isise to jo** ninu awọn ti isiyi codebase. Wọn ti yọ kuro:
| Ayípadà | Idi |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `STORAGE_DRIVER=sqlite` | Maṣe ka nipasẹ faili orisun eyikeyi. SQLite jẹ awakọ ti o ni atilẹyin — ko si yiyan ti o nilo. |
| `INSTANCE_NAME=omniroute` | Wa ninu awọn awoṣe docs/env atijọ ṣugbọn a ko lo ni akoko asiko. Le pada ni ẹya-ara olona-apeere ojo iwaju. |
| `SQLITE_MAX_SIZE_MB=2048` | Ko ṣe itọkasi ni koodu orisun. Iwọn aaye data ko ni opin lainidi. |
| `SQLITE_CLEAN_LEGACY_FILES=true` | Ko ṣe itọkasi ni koodu orisun. O ṣeese ki afọmọ-julọ yọkuro. |
| `CLI_ROO_BIN` | Ko forukọsilẹ ni `src/shared/services/cliRuntime.ts`. |
| `CLI_KIMI_CODING_BIN` | Ko forukọsilẹ ni `src/shared/services/cliRuntime.ts` ( Coding Kimi nlo OAuth, kii ṣe alakomeji CLI kan). |
| `IFLOW_OAUTH_CLIENT_ID` / `IFLOW_OAUTH_CLIENT_SECRET` | Ko ṣe itọkasi nibikibi ni koodu orisun. |
| `CEREBRAS_API_KEY` / `COHERE_API_KEY` / `FIREWORKS_API_KEY` / `GROQ_API_KEY` / `MISTRAL_API_KEY` / `NEBIUS_API_KEY` / `PERPLEXITY_API_KEY` / `TOGETHER_API_KEY` / `XAI_API_KEY` | Ti yọ kuro ni v3.8.0. Akoko asiko ko ka awọn iwe-ẹri env vars — wọnyi wa lati Dashboard / `data/provider-credentials.json` / DB ti paroko. |
| `CURSOR_PROTOBUF_DEBUG` | Ti yọ kuro ni v3.8.0. oluṣe Cursor `CURSOR_DEBUG` / `CURSOR_STREAM_DEBUG` (wo §22). |
| `CLI_COMPAT_KIRO` | Ti yọ kuro ni v3.8.0. Kiro wa ni `CLI_COMPAT_OMITTED_PROVIDER_IDS` — toggle rẹ ko ni ipa. |
| `QIANFAN_API_KEY` | Yọ kuro lẹgbẹẹ olupese miiran ti ko lo awọn bọtini bọtini API ni v3.8.0. |
### Aiyipada Iye Awọn atunṣe
| Ayípadà | Atijo `.env.example` Iye | Iyipada koodu gangan | Ti o wa titi |
| ------------------------- | ------------------------ | -------------------- | --------------------------------------------------- |
| `APP_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Kuro sinilona iye; `7` ti ṣe akọsilẹ bi aiyipada |
| `CALL_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Kuro sinilona iye; `7` ti ṣe akọsilẹ bi aiyipada |
### atunto atunto OpenCode (ad-hoc tooling)
Ti a lo nipasẹ `scripts/ad-hoc/regen-opencode-config.ts` lati tun `opencode.json` kan ṣe pẹlu awọn iye `limit.context` deede ati awọn iye `limit.output` ti o fa lati apẹẹrẹ OmniRoute nṣiṣẹ. Ko si ọkan ninu iwọnyi ti a beere fun ṣiṣe deede — iwe afọwọkọ jẹ irinṣẹ oluṣe idagbasoke nikan.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------ | ------------------------ | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_URL` | `http://localhost:20128` | `scripts/ad-hoc/regen-opencode-config.ts` | Ipilẹ URL ti apẹẹrẹ OmniRoute si ibeere fun `/v1/models`. |
| `OMNIROUTE_KEY` | _(a ko ṣeto)_ | `scripts/ad-hoc/regen-opencode-config.ts` | bọtini API lati jẹrisi lodi si aaye ipari `/v1/models` OmniRoute. Ṣubu pada si `OPENCODE_API_KEY` nigbati a ko ṣeto. |
| `OPENCODE_API_KEY` | _(a ko ṣeto)_ | `scripts/ad-hoc/regen-opencode-config.ts` | Kọ́kọ́rọ́ API ara koodu Ṣii (`sk-...`) ti a kọ sinu `opencode.json` ti a tun ṣe. Ṣubu pada si `OMNIROUTE_KEY` nigbati a ko ṣeto. |
### Funmorawon aisinipo-eval ijanu (irinṣẹ ad-hoc)
Ti a lo nipasẹ `scripts/compression-eval/index.ts`, igbelewọn funmorawon aisinipo CLI. Ko nilo fun iṣẹ ṣiṣe deede — ohun elo oluṣe idagbasoke nikan.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------- | ----------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_EVAL_CREDENTIALS` | `{}` (sofo) | `scripts/compression-eval/index.ts` | Awọn iwe eri JSON onišẹ ti pese fun olupese ti a ṣe adaṣe nipasẹ titẹkuro-eval CLI aisinipo (ti a ṣe itupalẹ pẹlu `JSON.parse`). Jẹ ki a ko ṣeto fun ṣiṣe gbigbẹ. |
### VNC Browser Awọn akoko
Ti a lo nipasẹ `src/lib/vncSession/manifest.ts` lati tunto awọn akoko Chromium alailori-orisun Docker fun awọn olupese ẹrọ aṣawakiri. Gbogbo awọn aiyipada — iyan han ni isalẹ.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------- | ------------------------------ | ------------------------------------------- | -------------------------------------------------------------------------- |
| `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | Ona si alakomeji Docker ti a lo lati spawn awọn apoti VNC. |
| `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | aworan Docker fun apoti Chromium VNC. |
| `OMNIROUTE_VNC_CHROMIUM_ARGS` | _(awọn asia ti a ṣe sinu)_ | `src/lib/vncSession/manifest.ts` | Afikun Chromium CLI args kọja si ẹrọ aṣawakiri inu apoti naa. |
| `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | VNC ibudo inu awọn eiyan. |
| `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Chrome DevTools Protocol ibudo inu awọn eiyan. |
| `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Ilana profaili inu eiyan naa. |
| `OMNIROUTE_VNC_PROFILE_DIR` | _(a ko ṣeto)_ | `src/lib/vncSession/manifest.ts` | Itọsọna ẹgbẹ-ogun fun awọn profaili aṣawakiri ti o tẹpẹlẹ. |
| `OMNIROUTE_VNC_IDLE_MS` | `600000` | `src/lib/vncSession/manifest.ts` | Aago aiṣiṣẹ (ms) ṣaaju ikore igba VNC kan. |
| `OMNIROUTE_VNC_MAX_MS` | `1800000` | `src/lib/vncSession/manifest.ts` | Iye akoko ti o pọju (ms). |
| `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | O pọju awọn akoko VNC nigbakanna. |
| `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Aago imurasilẹ ti aṣawakiri (ms). |
| `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | akoko asiko Harvest/cleanup (ms). |
| `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Nẹtiwọọki Docker ti a ti sọtọ ti o darapọ mọ (# 12571), pa afara aiyipada. |
| `VIBEPROXY_DATA_DIR` | _(a ko ṣeto)_ | `open-sse/services/notionThreadSessions.ts` | Itọsọna fun itẹramọṣẹ o tẹle igba Notion. |
### Ti abẹnu iṣẹ auth
| Ayípadà | Aiyipada | Apejuwe |
| --------------------------------------- | -------- | --------------------------------------------------------------------------------------- |
| `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | – | Àmi inline fun iṣakoso-ofurufu iṣẹ-si-iṣẹ ìfàṣẹsí. |
| `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | – | Ọna si faili ti o ni ami iṣẹ inu inu (ayanfẹ ninu awọn apoti; dojukọ oniyipada inline). |
### OpenRouter olupese awọn iṣiro
| Ayípadà | Aiyipada | Apejuwe |
| ----------------------------------- | --------- | ---------------------------------------------------------------------------------------- |
| `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | Ṣeto si `false` lati foju gbigba OpenRouter fun awọn iṣiro olupese fun imudara katalogi. |
| `OPENROUTER_PROVIDER_STATS_TTL_MS` | `3600000` | Kaṣe TTL (ms) fun awọn iṣiro olupese OpenRouter ti o mu. |
### Ifibọ Redis abuda
| Ayípadà | Aiyipada | Apejuwe |
| --------------------------- | ----------- | ------------------------------------------------------- |
| `REDIS_BIND_HOST` | `127.0.0.1` | Adirẹsi dè fun iṣẹ Redis ti a fi sinu. |
| `REDIS_PORT` | `6379` | Ibudo fun iṣẹ Redis ti a fi sinu. |
| `OMNIROUTE_REDIS_BIND_HOST` | – | OmniRoute-dopin idojuk fun awọn ifibọ Redis di adirẹsi. |
---
## 24. Tu v3.8.50 awọn afikun
Awọn eto wọnyi ni a ṣe afihan lẹhin aworan-adehun adehun ayika iṣaaju.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_CHAT_ADMISSION_QUEUE_MS` | `2000` | `src/shared/middleware/chatBodyAdmission.ts` | Iduro ti o pọju fun aaye gbigba iwiregbe iwuwo iwuwo ṣaaju ki o to tun `503` kan; a kukuru didi dè serializes oluranlowo bursts dipo ti ohun ese `503`. `0` ṣe atunṣe ijusile lẹsẹkẹsẹ. |
| `OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES` | `4194304` (4 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Isuna-bites ti o wa ni isinku fun idaduro gbigba: awọn aala lapapọ awọn baiti ara ti a fi silẹ gbesile ilana jakejado nitorina iduro naa ko le ṣe alekun okiti naa (#4380). Awọn idaduro isuna-lori gba `503` ti o le tun gbiyanju lẹsẹkẹsẹ. |
| `OMNIROUTE_CHAT_VIRTUAL_TTL_MS` | `60000` (60s) | `src/shared/middleware/chatBodyAdmission.ts` | Kosi-op ti a ti sọ silẹ lati #10110: awọn ọna gbigba igba-kọọkan ni a yọkuro ni ojurere ti isuna-ilana ilana kan. Ti gba fun ibamu iṣeto ni; bikita. |
| `OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Kosi-op ti a ti sọ silẹ lati #10110: awọn ọna gbigba igba-kọọkan ni a yọkuro ni ojurere ti isuna-ilana ilana kan. Ti gba fun ibamu iṣeto ni; bikita. |
| `OMNIROUTE_CHAT_VIRTUAL_LANES` | `0` (pa) | `open-sse/services/admission/runtime.ts` | Awọn ọna gbigba akoko adaṣe adaṣe (# 9654): yipada titunto si fun ẹnu-ọna imubadọgba agbatọju kọọkan (eto 2). Iyatọ si ọna isọpọ-apapọ ti o ti sọ loke (TTL_MS / MAX_SESSIONS, ko si-ops lati #10110). Dasibodu ẹya asia ti kanna orukọ; awọn env var bori lori Dasibodu idojuk; nbeere tun bẹrẹ. |
| `OMNIROUTE_RUNNOW_TIMEOUT_MS` | `30000` | `src/app/api/jobs/[id]/run-now/route.ts` | Dede bi ipe ṣiṣe-bayi ṣe pẹ to nduro fun iṣẹ inu-ofurufu ṣaaju ki o to bẹrẹ ṣiṣe isinyi. |
| `ADOBE_FIREFLY_BROWSER_REFRESH` | ṣiṣẹ | `open-sse/services/adobeFireflySession.ts` | Ṣe itọju IMS ati ipo eewu aṣawakiri tuntun nipasẹ awọn akoko CDP Chrome-dopin; ṣeto `0` lati mu ṣiṣẹ. |
| `ADOBE_FIREFLY_SESSION_DISK` | ṣiṣẹ | `open-sse/services/adobeFireflySession.ts` | Tẹsiwaju atunṣe awọn akoko Adobe labẹ `DATA_DIR`; ṣeto `0` fun iranti-nikan ipinle. |
| `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Aye to kere julọ laarin Adobe Firefly ṣe ipilẹṣẹ awọn ifisilẹ. |
| `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Afikun idakẹjẹ akoko lẹhin gbogbo kẹta aseyori Adobe ifakalẹ. |
| `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Ṣatunkọ-nikan ipo aisi-otitọ; Adobe colligo ni deede kọ igba eewu abajade. |
| `CHROME_PATH` | auto-ri | `open-sse/executors/cloudflare-playground.ts`, `open-sse/executors/chatgpt-web-codex.ts` | Iyanṣẹ ṣiṣe Chrome pipe ti a lo nipasẹ awọn alaṣẹ aṣawakiri ti n ṣakoso ẹrọ nigbati wiwa-alafọwọyi Syeed ko to. |
| `TELEGRAM_BOT_TOKEN` | _(a ko ṣeto)_ | `src/lib/telegram/config.ts` | BotFather tokini ti o mu ki awọn inbound webhook ati awọn ami Mini App `initData`. |
| `TELEGRAM_WEBHOOK_SECRET` | _(a ko ṣeto)_ | `src/lib/telegram/config.ts` | Aṣiri Pipin ti a forukọsilẹ nipasẹ `setWebhook` ati iṣeduro lodi si akọsori `X-Telegram-Bot-Api-Secret-Token` lori gbogbo ifijiṣẹ webhook. Ti a beere fun ọna webhook; aito tumo si wipe awọn ifijiṣẹ webhook kọ pẹlu 503. |
| `TELEGRAM_DEFAULT_MODEL` | `auto/chat` | `src/lib/telegram/chatProxy.ts` | Awoṣe ti a lo fun awọn idahun iwiregbe Telegram. |
| `TELEGRAM_BOT_API_BASE` | `https://api.telegram.org` | `src/lib/telegram/config.ts` | Bot API mimọ URL danu fun awọn aṣoju tabi awọn olupin Bot API ti ara ẹni ti gbalejo. |
| `TELEGRAM_WEBHOOK_TIMEOUT_MS` | `60000` | `src/lib/telegram/config.ts` | Aago ni milliseconds fun awọn ipe Bot API ti njade. |
| `TELEGRAM_USER_ALLOWLIST_ENABLED` | `false` | `src/lib/telegram/config.ts` | Ṣeto si `true` lati sin nikan awọn olumulo Telegram ti a ṣe akojọ si ni `TELEGRAM_ALLOWED_USER_IDS` (awọn miiran: Mini App 403, ifiranṣẹ webhook silẹ). Paa nipasẹ aiyipada: gbogbo olumulo Telegram ti wa ni iranṣẹ ati gba bọtini API minted ti o na ipin oke. |
| `TELEGRAM_ALLOWED_USER_IDS` | _(a ko ṣeto)_ | `src/lib/telegram/config.ts` | Awọn ids aṣàmúlò Telegram ti o ya sọtọ si nigba ti `TELEGRAM_USER_ALLOWLIST_ENABLED=true`. Awọn titẹ sii ti kii ṣe awọn nọmba rere ti o han gbangba jẹ aibikita pẹlu ikilọ-akoko kan. Foju nigba ti iwe-aṣẹ ti wa ni pipa; ofo pẹlu awọn allowlist on sìn ko si eniti o. |
| `OMNIROUTE_OPTIONAL_PACK_TAR` | `1` (ṣiṣẹ) | `scripts/build/optionalPackStaging.mjs` | Ṣeto `0` lati foju awọn tarballs `.tar.gz` ti njade lakoko ti o n ṣeto awọn idii ML/browser iyan fun igi adaduro Electron (awọn ilana idii ati `optional-packs.index.json` tun jẹ iṣelọpọ). Ti a lo nipasẹ ṣiṣan iṣẹ itusilẹ tabili tabili lati ge iwọn ikojọpọ artifact. |
| `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Ṣiṣe iforukọsilẹ awọn ọna aworan ṣiṣe alabapin xAI ; alaabo nipasẹ aiyipada ki ọna aworan bọtini API wa ko yipada. |
| `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Itutu-bọtini-kọọkan ni awọn iṣẹju-aaya nigbati idahun `429` ko ni itọka `Retry-After` ti o ṣee ṣe. |
| `OMNIROUTE_ESTIMATOR_CALIBRATION` | ṣiṣẹ | `open-sse/services/estimatorCalibration.ts` | Ṣeto si `off`, `0`, tabi `false` lati mu igbasilẹ isọdọtun iṣiro inu-iranti ati ohun elo ṣiṣẹ. |
| `NEXT_MANUAL_SIG_HANDLE` | _(ti inu)_ | `scripts/dev/standalone-server-ws.mjs` | Ti abẹnu standalone-server ifihan agbara-olutọju idojuk; deede ṣeto ati imukuro nipasẹ olupilẹṣẹ kuku ju tunto nipasẹ awọn oniṣẹ. |
| `CHATGPT_WEB_TURN_TIMEOUT_MS` | `180000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Ilẹ-ti-tan fun oju-iwe ayelujara ChatGPT (yara mimọ) titan ọrọ; awọn iye ti o wa ni isalẹ `1000` ko bikita. |
| `CHATGPT_WEB_TOOL_TURN_TIMEOUT_MS` | `180000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Aja titan fun oju opo wẹẹbu ChatGPT kan (yara mimọ) ti o gbe awọn irinṣẹ alabara (apowe `` ti a ṣe apẹẹrẹ); gbe silẹ lati da iṣakoso pada si alabara laipẹ. Awọn iye ti o wa ni isalẹ `1000` jẹ aibikita. |
| `CHATGPT_WEB_HEADLESS` | `1` (laisi ori) | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Ṣiṣe ChatGPT Web (Yọra mimọ) ẹrọ aṣawakiri laisi ori. Ṣeto `0` nikan fun awọn akọọlẹ ti ipenija ẹgbẹ akọkọ kọ ipo aini ori (aiyipada ti yipada lati ori si ori ni #14948). |
| `CHATGPT_WEB_BROWSER_ACQUIRE_TIMEOUT_MS` | `45000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Aja fun ifilọlẹ ChatGPT Web (Clean Room) ẹrọ aṣawakiri ati imorusi chatgpt.com, nitorinaa ẹrọ aṣawakiri ti o ku tabi igba ko le jẹ akoko ipari ti isinyi ibeere. |
| `UI_KIT_CLONE` | `_references/cheaper-inference-ui-kit` | `scripts/check/check-ui-kit-snapshot.mjs` | Ona ti ikọkọ CI UI Kit oniye awọn ataja-fonu ibode yato `packages/ui-kit/src` lodi si (KEA-7886); ẹnu-bode skips pẹlu kan Ikilọ nigbati awọn oniye ti wa ni nílé. |
### ChatGPT Web (Codex)
Globale Defaults für den headless Browser und den ausgehenden Ọpa-Tunnel. Im Dasibodu gesetzte Asopọ-Werte haben Vorrang.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| --------------------------------------- | ------------------------------ | -------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CHATGPT_WEB_CODEX_CHROME_PATH` | _(Ṣawari-laifọwọyi)_ | `open-sse/executors/chatgpt-web-codex.ts` | Expliziter Chrome-/Chromium-Pfad für npm-, systemd-und PM2-Betrieb. |
| `CHROME_PATH` | _(Ṣawari-laifọwọyi)_ | `open-sse/executors/chatgpt-web-codex.ts` | Gemeinsamer Fallback fun einen expliziten Chrome-/Chromium-Pfad. |
| `CHATGPT_WEB_CODEX_CDP_URL` | _(a ko ṣeto)_ | `open-sse/executors/chatgpt-web-codex.ts` | Ti abẹnu CDP-Endpunkt; Docker verwendet den Sidecar auf Port `9223`. |
| `CHATGPT_WEB_CODEX_USE_CDP_PROFILE` | _(kuro — kuro)_ | `open-sse/vendor/codex-chatgpt-web/persistent-cdp-context.ts` | Ṣeto si `1` (pẹlu atunto aaye ipari CDP kan) lati tun lo iṣakoso ita, profaili aṣawakiri ti a wọle si oju-iwe ChatGPT ti o wa dipo ipo ti o ya sọtọ fun titan; tun fi awọn taabu ChatGPT nigbakanna ni 1. Paa nipa aiyipada. Wo [profaili CDP o tẹsiwaju](../guides/CHATGPT-WEB-PERSISTENT-CDP.md). |
| `CDP_PROXY_TOKEN` | _(a ko ṣeto)_ | `docker/chatgpt-web-codex-browser/cdp-proxy.mjs` | Wenn gesetzt, muss jede Anfrage an den CDP-Proxy-Sidecar diesen Wert im Header `X-Omni-Cdp-Token` mitschicken (#13679). Ohne Wert leitet der Proxy unauthentifiziert weiter — dann schützt nur die Netzisolierung des Compose-Netzes `chatgpt-web-codex-net`. Erzeugen mit `openssl rand -hex 32`. |
| `CHATGPT_WEB_CODEX_TUNNEL_ID` | _(a ko ṣeto)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globale OpenAI-Tunnel-ID fun lilo Codex-Tool-Runden. |
| `CHATGPT_WEB_CODEX_RUNTIME_KEY` | _(a ko ṣeto)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globaler Tunnel Runtime-Kọtini; niemals ni Logs ausgeben. |
| `CHATGPT_WEB_CODEX_CONNECTOR_NAME` | `OmniRoute Codex v2` | `open-sse/executors/chatgpt-web-codex.ts` | Exakter Name des neu erstellten ChatGPT-Aṣa-Connectors für die MCP-Brücke. |
| `CODEX_CHATGPT_WEB_HOME` | `/chatgpt-web-codex` | `open-sse/vendor/codex-chatgpt-web/config.ts` | Dediziertes Verzeichnis fun Browser-, Alagbata- ati Tunnelzustand. |
| `CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS` | `0` | `open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts` | Jẹ `1` Browser-Diagnosebilder ati jedem Checkpoint erfasst. |
| `CODEX_CHATGPT_WEB_LAUNCHER` | _(a ko ṣeto)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Optionaler absoluter Pfad zu einem dauerhaften jiju-alakomeji. |
| `CODEX_CHATGPT_WEB_BUN` | _(Ṣawari-laifọwọyi)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Optionaler absoluter Pfad zum Bun-Runtime- Alakomeji. |
| `CODEX_WEB_GPT_BUN` | _(a ko ṣeto)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Legacy-Fallback für `CODEX_CHATGPT_WEB_BUN`; neue Setups verwenden den kanonischen Namen. |
---
## OmniConductor Bridge
Onibara SSE ti o pẹ ti o ṣe afihan awọn iṣẹ-ṣiṣe ibudo OmniConductor sinu agbegbe A2A TaskManager (`src/lib/conductor/`). Jade-ni — Afara nikan bẹrẹ nigbati `CONDUCTOR_HUB_URL` ti ṣeto. Ẹgbẹ olupin nikan: ami ibudo ko gbọdọ de ẹrọ aṣawakiri naa rara.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------ | ----------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `CONDUCTOR_HUB_URL` | _(sofo)_ | `src/lib/conductor/boot.ts` | Ipilẹ URL ti ibudo OmniConductor (fun apẹẹrẹ `http://127.0.0.1:7910`). Unset = Afara alaabo. |
| `CONDUCTOR_HUB_TOKEN` | _(sofo)_ | `src/lib/conductor/boot.ts` | Ijẹrisi ibudo fun ifunni SSE — njade `spokesperson` -kind ẹlẹgbẹ lori ibudo (`POST /v1/peers`, abojuto). |
| `CONDUCTOR_ORCHESTRATOR_TOKEN` | _(sofo)_ | `src/lib/conductor/hubProxy.ts` | Ijẹrisi fun inbound A2A→ hub iṣẹ aṣoju iṣẹ (`POST /v1/tasks`); ṣubu pada si `CONDUCTOR_HUB_TOKEN` nigbati a ko ṣeto. |
| `CONDUCTOR_SPOKESPERSON_URL` | `http://127.0.0.1:7920` | `src/lib/conductor/faroProxy.ts` | Ipilẹ URL ti iṣẹ agbẹnusọ (Faro) lẹhin aṣoju iwiregbe dasibodu (`/api/conductor/ask`). |
### Iṣeto-kiota-mọ
Ti a lo nipasẹ `open-sse/services/combo.ts` ati `src/lib/quota/quotaScheduler.ts` fun awọn sọwedowo-isuna-ibeere ami-tẹlẹ. Jade-ni ihuwasi afisona aiyipada — ko yipada nigbati aito.
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ---------------------------------- | -------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_QUOTA_AWARE_ROUTING` | `0` | `open-sse/services/combo.ts` | Nigba ti `1`, foo awọn asopọ ti isuna aami-window kọọkan (`rateLimitOverrides.tpm`, tabili `provider_quota_state`) ko le ni idiyele idiyele ibeere ṣaaju fifiranṣẹ. Ikuna-ṣii nigbati ko si iṣeto isuna. |
| `OMNIROUTE_ESTIMATOR_CALIBRATION` | _(lori)_ | `open-sse/services/estimatorCalibration.ts` | Isọdiwọn esi ti iṣiro ami-iṣọ ọrọ-ọrọ (#14931): fun (olupese, awoṣe, awọn irinṣẹ ti o wa) EMA ti `usage.prompt_tokens` / iṣiro, dimọ si 0.15–2.0, ni iranti nikan. `off`, `0` tabi `false` mu gbigbasilẹ ati ohun elo ṣiṣẹ. |
| `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Ṣe iforukọsilẹ `xai-oauth` (`xao`) ati awọn ọna aworan `grok-cli`. Dasibodu ẹya asia ti kanna orukọ; yi danu DB bori lori iye yi. |
## Awọn ayẹwo imuṣiṣẹpọ awoṣe
| Ayípadà | Aiyipada | Faili orisun | Apejuwe |
| ------------------------------ | -------- | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_MODEL_SYNC_TIMINGS` | `0` | `src/lib/providerModels/modelSyncTimings.ts` | Ṣeto si `1` lati wọle akoko alakoso, ibeere ti ipilẹṣẹ ID ati awọn abajade success/error alakoso lakoko imuṣiṣẹpọ awoṣe. Alaabo fun gbogbo awọn iye miiran. Awọn akọọlẹ fi ibeere silẹ, akọọlẹ, katalogi ati awọn ẹru isanwo aṣiṣe. |
## Ọ̀rò̩ṣẹ́ ìtúpalẹ̀ media OpenCode fún àdúgbò
`Used by` `scripts/cli/omniroute-media-mcp.mjs`. Ṣètò àwọn wọ̀nyí nínú àyíká iná iṣẹ́ ọ̀rò̩ṣẹ́ àdúgbò.
| Àyípadà | Àìpẹ̀yà | Àlàyé |
| -------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `OMNIROUTE_MEDIA_CONFIG` | `$XDG_CONFIG_HOME/opencode/opencode.json` (tàbí `~/.config/opencode/opencode.json`) | Iṣètò OpenCode tí ọ̀rò̩ṣẹ́ media àti ohun èlò fifi sori ẹrọ ń kà. |
| `OMNIROUTE_MEDIA_PROVIDER` | `omniroute` | Àkọsílẹ̀ olùpèsè tí ọ̀rò̩ṣẹ́ media ń kà láti inú iṣètò OpenCode. |
| `OMNIROUTE_MEDIA_MODEL` | `auto` | Àwòṣe tí ọ̀rò̩ṣẹ́ media ń fi ránṣẹ́. Olùpèsè rẹ̀ gbọ́dọ̀ ṣe àtìlẹ́yìn fún àwọn irú media tí a béèrè. |
| `OMNIROUTE_MEDIA_API_KEY` | Bọtìnì API olùpèsè tí a ṣètò tàbí ìtọ́kasí àyíká rẹ̀ | Ìyípadà ẹ̀rí ìdánimọ̀ tí ó jẹ́ àṣàyàn. Pa á mọ́ nínú àyíká iná iṣẹ́ àdúgbò; má ṣe fi í sínú commit láéláé. |