Files
OmniRoute/docs/i18n/phi/docs/reference/ENVIRONMENT.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

629 KiB
Raw Blame History

Environment Variables Reference (Filipino)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Kumpletong sanggunian para sa bawat environment variable na kinikilala ng OmniRoute. Para sa template ng mabilisang pagsisimula, tingnan ang .env.example.

Important

Ang bawat variable na nakadokumento rito ay dapat ding lumitaw sa .env.example, at ang bawat variable sa .env.example ay dapat lumitaw rito. Ipinapatupad ito ng npm run check:env-doc-sync sa commit at sa CI. Upang sadyang hindi isama ang isang variable, idagdag ito sa allowlist sa loob ng scripts/check/check-env-doc-sync.mjs.


Talaan ng mga Nilalaman


1. Mga Kinakailangang Lihim

Ang mga ito ay dapat itakda bago ang unang pagpapatakbo. Kung wala ang mga ito, tatanggi ang application na magsimula o gagana ito gamit ang mga hindi ligtas na default.

Variable Kinakailangan Default Source File Paglalarawan
JWT_SECRET Oo (wala) src/lib/auth Lumalagda/nagbe-verify sa lahat ng session cookie ng dashboard (JWT). Bumuo gamit ang openssl rand -base64 48.
API_KEY_SECRET Oo (wala) src/lib/db/apiKeys.ts AES encryption key para sa mga value ng API key na nakaimbak sa SQLite. Bumuo gamit ang openssl rand -hex 32.
INITIAL_PASSWORD Oo CHANGEME Bootstrap script Itinatakda ang paunang password ng admin dashboard (tumutugma sa default ng .env.example — sadyang pinananatiling hindi ligtas upang puwersahing palitan ito). Palitan bago ang unang paggamit. Pagkatapos mag-login, palitan sa pamamagitan ng Dashboard → Settings → Security.
OMNIROUTE_WS_BRIDGE_SECRET Oo (production) (hindi nakatakda) src/app/api/internal/codex-responses-ws/route.ts Shared secret para sa panloob na Codex Responses WebSocket bridge. Pinatutunayan nito ang mga bridge request sa pagitan ng Electron/browser WS relay at OmniRoute. ⚠️ KINAKAILANGAN sa production — kapag hindi nakatakda, tatanggihan ang lahat ng WS bridge request. Bumuo gamit ang openssl rand -base64 32.
OMNIROUTE_SW_BUILD_ID Hindi (git SHA) next.config.mjs, scripts/build/assembleStandalone.mjs Tiyak na service-worker cache-busting id para sa PWA shell (#11779); una sa resolution chain.
SOURCE_VERSION Hindi (hindi nakatakda) next.config.mjs, scripts/build/assembleStandalone.mjs Pangalawa sa chain — itinatakda ng mga PaaS builder (hal. Heroku-style) bilang naka-deploy na commit.
NEXT_PUBLIC_SW_BUILD_ID Hindi (hinango) src/shared/components/PwaRegister.tsx Pampublikong value sa build time na ginagamit ng client upang irehistro ang /sw.js?v=…; hinango mula sa dalawang nasa itaas, pagkatapos ay mula sa git SHA.
OMNIROUTE_PEER_STAMP_TOKEN Hindi (awtomatiko) (awtomatiko sa bawat boot) src/server/authz/policies/management.ts Secret sa bawat process na nagpapatunay na ang pinagkakatiwalaang peer-IP stamp ay nagmula sa sariling HTTP server ng OmniRoute (scripts/dev/peer-stamp.mjs). Pinagkakatiwalaan lamang ng authz middleware ang pagiging lokal ng request (loopback/LAN gating ng mga LOCAL_ONLY route) kapag taglay ng stamp ang token na ito. Awtomatikong binubuo sa bawat boot — iwang hindi nakatakda; i-pin lamang ito para sa mga multi-process setup na kailangang magbahagi ng stamp.

Mga Command sa Pagbuo

# Buuin ang lahat ng apat na secret nang sabay-sabay:
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

Huwag kailanman i-commit sa version control ang mga .env file na may tunay na mga secret. Hindi na isinasama ng .gitignore ang .env, ngunit tiyakin ito bago mag-push.


2. Imbakan at Database

Gumagamit ang OmniRoute ng SQLite (sa pamamagitan ng better-sqlite3) para sa lahat ng pagpapanatili ng data. Kinokontrol ng mga variable na ito ang lokasyon, pag-encrypt, at lifecycle ng data.

Variable Default Source File Paglalarawan
DATA_DIR ~/.omniroute/ src/lib/db/core.ts Root directory para sa SQLite DB, mga backup, at mga data file. I-override para sa mga Docker volume o custom na path.
OMNIROUTE_ALLOW_DEFAULT_DATA_DIR (hindi nakatakda) src/lib/dataPaths.ts Mekanismong pang-bypass para sa test/eval DATA_DIR guard (#10428). Ang mga test at Node eval/print probe (-e/--eval/-p/--print, kabilang ang mga anyong --eval=/--print=) na walang DATA_DIR ay nire-redirect sa isang pansamantalang directory na itatapon upang hindi mabuksan ng mga ito ang tunay na database ng operator; itakda sa 1 upang muling gumamit ng tunay na directory.
OMNIROUTE_BUILD_SHA (hindi nakatakda) src/lib/monitoring/buildSha.ts Git SHA ng tumatakbong artifact. Itinatatak ng npm run build:release; maaaring i-inject sa mga container na ipinapadala nang walang dist/BUILD_SHA sentinel. Inilalabas bilang system.buildSha sa /api/monitoring/health.
OMNIROUTE_RELEASE_REF origin/main scripts/build/buildProvenance.ts Ref na ginagamit ng provenance gate ng pack-artifact upang suriin ang build SHA (#10427).
OMNIROUTE_ALLOW_CANARY_BUILD (hindi nakatakda) scripts/build/buildProvenance.ts Itakda sa 1 upang payagan ang pag-package ng build na ang SHA ay wala sa release line, na itinatala ito bilang sinadyang canary sa halip na pabagsakin ang gate (#10427).
OMNIROUTE_SMOKE_API_KEY (hindi nakatakda) scripts/ops/deploy-canary.mjs API key para sa smoke probe ng canary deployment, na ipinapadala bilang Authorization: Bearer sa /v1/chat/completions. Ginagamit lamang ng deployment script (#10429), at hindi kailanman ng server. Hindi nauugnay sa mga variable na OMNIROUTE_SMOKE_* ng opt-in na CLI smoke harness (RUN_CLI_SMOKE=1, OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS sa tests/integration/upstream-cli-smoke.int.test.ts) — tingnan ang Mga Integrasyon ng CLI → Tunay na smoke sweep.
OMNIROUTE_BUILDING (hindi nakatakda) src/lib/buildPhase.ts Signal ng yugto ng build (#10060): itinatakda sa 1 ng scripts/build/build-next-isolated.mjs at minamana ng bawat inilulunsad na build worker upang magbalik ang DB layer ng no-op stub sa halip na i-load ang native na better-sqlite3 addon (na nagpapatigil sa worker kapag lumalabas). Hindi kailanman itinatakda para sa tumatakbong server.
OMNIROUTE_SKIP_NATIVE_DEP_CHECK 0 scripts/check/check-native-deps.mjs Itakda sa 1 upang laktawan ang opsyonal na prebuild check ng native dependency para sa mga hindi pangkaraniwang vendored tree. Hindi nito ginagawang buildable ang nawawalang dependency; gamitin lamang kapag ibinibigay ang mga native dependency sa labas ng karaniwang proseso.
OMNIROUTE_DATA_DIR (hindi nakatakda) open-sse/executors/promptql/threadSticky.ts Fallback alias para sa DATA_DIR, na sinusuri lamang kapag hindi nakatakda ang DATA_DIR. Ginagamit upang mahanap ang on-disk na thread-sticky session cache ng PromptQL executor (<dir>/promptql-thread-sessions.json); kung walang nakatakda sa alinmang variable, mananatili lamang sa memory ang cache (hindi napapanatili sa pagitan ng mga restart).
OMNIROUTE_PLUGINS_DIR (hindi nakatakda) src/lib/plugins/scanner.ts Directory na binabasa ng runtime plugin scanner — at root kung saan nag-i-install ang plugin manager — na nag-o-override sa default na hinango mula sa home (#11827). Ituro ito sa bind-mounted na plugin tree sa Docker/K8s sa halip na ilipat ang HOME para lamang ilipat ang scan path (pinamamahalaan din ng HOME ang lahat ng iba pang gawi na nauugnay sa home). Kapag hindi nakatakda = ~/.omniroute/plugins, o /tmp/.omniroute/plugins kapag walang anumang home na ine-export ang proseso — ang tahimik na hindi pagkakatuklas na inaalis ng variable na ito. Ang nalutas na directory ay nilo-log nang isang beses sa startup bilang scanner.dir_resolved kasama ang input na napili. Para lamang sa server side: pinananatili ng mga CLI command plugin ang sarili nilang OMNIROUTE_PLUGIN_PATH (seksyon 9).
STORAGE_ENCRYPTION_KEY (walang laman = hindi pinagana) src/lib/db/encryption.ts AES key para sa buong pag-encrypt ng SQLite database habang nakaimbak. Bumuo gamit ang openssl rand -hex 32.
STORAGE_ENCRYPTION_KEY_VERSION v1 scripts/build/bootstrap-env.mjs, electron/main.js Label ng bersyon para sa encryption key. Dagdagan kapag nagsasagawa ng pag-rotate ng key upang masuportahan ang pag-decrypt ng mga lumang backup.
DISABLE_SQLITE_AUTO_BACKUP false src/lib/db/backup.ts Kapag true, nilalaktawan ang mga regular/bago-magsulat na backup ng SQLite file (pag-save/pag-clear ng presyo sa models.dev, pagsusulat ng mga setting). Patuloy pa ring tumatakbo ang mga manu-manong backup at backup bago ang pag-restore. Hindi nito dini-disable ang mandatoryong permanenteng safety snapshot ng migration runner o ang mass-migration guard para sa kasalukuyang persistent DB. Nililimitahan ang mga hindi manu-manong backup sa hindi hihigit sa isang beses bawat 60 minuto. Maaaring i-disable nang hiwalay sa dashboard na Settings → Storage ang regular na awtomatikong pag-backup.
OMNIROUTE_CRYPT_KEY (hindi nakatakda) src/lib/db/encryption.ts Legacy na alias para sa STORAGE_ENCRYPTION_KEY. Tinatanggap bilang fallback kapag wala ang pangunahing variable.
OMNIROUTE_API_KEY_BASE64 (hindi nakatakda) src/lib/db/encryption.ts Legacy na alias (anyong naka-encode sa Base64) na tinatanggap bilang fallback. Awtomatikong dini-decode bago gamitin.
OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS (hindi nakatakda) src/lib/db/core.ts I-override ang pagitan ng pana-panahong SQLite healthcheck (ms). Kapag hindi nakatakda, kinukuha ang mga default mula sa NODE_ENV.
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6h) src/lib/db/walMaintenance.ts I-override ang pagitan ng pana-panahong wal_checkpoint(TRUNCATE) (ms). Hindi kailanman pinaliliit ng auto-checkpoint ang mismong WAL file, at hindi kailanman isinasara ng matagal nang tumatakbong server ang DB nito. Dini-disable ito ng 0.
OMNIROUTE_WAL_PASSIVE_INTERVAL_MS 300000 (5m) src/lib/db/walMaintenance.ts I-override ang pagitan ng madalas na wal_checkpoint(PASSIVE) (ms). Pinananatili nitong maliit ang mga nakabinbing WAL frame upang hindi kailanman kumopya ang pana-panahong TRUNCATE ng multi-GB na backlog sa main thread. Dini-disable ito ng 0.
OMNIROUTE_WAL_GUARD_MAX_MB 256 src/lib/db/walMaintenance.ts Kapag nakita ng PASSIVE tick na lampas sa laki na ito ang WAL file, agad na mag-escalate sa wal_checkpoint(TRUNCATE) sa halip na hintayin ang mabagal na tick.
OMNIROUTE_PRESSURE_SELF_RESTART false open-sse/utils/resourcePressure.ts Itakda sa 1/true/yes/on upang ihinto ang process matapos manatili ang kritikal na pressure sa resource sa loob ng OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS, na nagbibigay-daan sa isang supervisor (systemd Restart=always, patakaran sa pag-restart ng Docker) na ibalik ang isang malinis na process sa halip na patuloy na maghatid ng mga 503.
OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS 120000 (2m) open-sse/utils/resourcePressure.ts Gaano katagal dapat manatili ang kritikal na pressure bago ma-trigger ang pag-exit para sa self-restart.
OMNIROUTE_SQLJS_WASM_PATH (awtomatikong natutukoy) src/lib/db/adapters/sqljsAdapter.ts Tiyak na path (absolute o relative sa cwd) patungo sa sql-wasm.wasm kapag ginagamit ang sql.js WASM fallback adapter. Awtomatikong tinutukoy sa pamamagitan ng mga package dependency at posibleng layout kapag hindi nakatakda.
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6h) src/lib/db/core.ts I-override ang pagitan ng pana-panahong wal_checkpoint(TRUNCATE) (ms). Hindi kailanman pinaliliit ng auto-checkpoint ang mismong WAL file, at hindi kailanman isinasara ng matagal nang tumatakbong server ang DB nito. Dini-disable ito ng 0.
OMNIROUTE_BATCH_RETENTION_DAYS 30 src/lib/db/cleanup.ts Bilang ng mga araw na pananatilihin ng awtomatikong cleanup sweep bago burahin ang mga checkpoint, tinutukoy na input/output/error file, at row ng isang terminal (nakumpleto/nabigo/kinansela/nag-expire) na Batch API job. Magkakabisa lamang kapag naka-on ang BATCH_AND_FILE_AUTO_CLEANUP_ENABLED; tumutugma ito sa sariling panahon ng retention ng output ng Batch API ng OpenAI. Hindi nito naaapektuhan ang route na DELETE /api/v1/batches/delete-completed na tina-trigger ng operator, na nananatiling walang kondisyon (walang filter ayon sa edad) ayon sa disenyo.
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED false src/lib/db/cleanup.ts Kapag true, pahintulutan ang awtomatikong paglilinis na magtanggal ng mga natapos nang Batch API job (at ng kanilang mga checkpoint) na lumampas sa OMNIROUTE_BATCH_RETENTION_DAYS, at burahin ang BLOB content ng mga na-upload na file na lumampas sa sarili nilang expires_at. Naka-off bilang default: pananatilihin ng bawat kasalukuyang pag-install ang data na ito nang eksaktong gaya ng dati hanggang kusang i-enable ito ng isang operator. Isa rin itong feature flag na mae-edit sa dashboard — tingnan ang docs/reference/FEATURE_FLAGS.md → Runtime.
OMNIROUTE_SKIP_DB_HEALTHCHECK 0 src/lib/db/core.ts, src/lib/db/healthCheck.ts Itakda sa 1 upang ganap na laktawan ang DB healthcheck sa pagsisimula. Kapaki-pakinabang para sa mga panandaliang gawain at integration test.
OMNIROUTE_FORCE_DB_HEALTHCHECK 0 src/lib/db/core.ts Itakda sa 1 upang puwersahang i-enable ang DB healthcheck loop, kahit karaniwan itong nilalaktawan (hal., mga panandaliang gawain).
OMNIROUTE_SKIP_POSTINSTALL 0 scripts/postinstall.mjs Itakda sa 1 upang laktawan ang pag-warm-up ng native runtime habang isinasagawa ang npm install. Kapaki-pakinabang sa mga CI/headless na pag-install kung saan naka-build na ang sqlite.
OMNIROUTE_MIGRATIONS_DIR (awtomatikong tutukuyin) src/lib/db/migrationRunner.ts I-override ang directory na sini-scan ng migration runner. Kapaki-pakinabang kapag nagpapadala ng mga naka-bundle na migration sa mga custom build.
OMNIROUTE_EXTRA_MIGRATIONS_DIRS (hindi nakatakda) src/lib/db/migrationRunner/extraDirs.ts Mga karagdagang migration directory bilang mga entry na namespace=dir na pinaghihiwalay ng path delimiter ng platform (hal. ee=/opt/app/enterprise/db/migrations). Ang mga file na matatagpuan doon ay itinatala bilang <namespace>-<number>, kaya ang isang distribution na nagpapadala ng sarili nitong mga migration ay hindi kailanman sasalungat sa mga upstream na numeric slot. Ang maling-format na entry, invalid na namespace, o nawawalang directory ay magdudulot ng error sa pagsisimula sa halip na tahimik na laktawan ang schema.
OMNIROUTE_MAX_PENDING_MIGRATIONS 50 src/lib/db/migrationRunner.ts Threshold na pangkaligtasan para sa napakaraming nakabinbing migration (#3416). Ihihinto ang pagsisimula kung mas marami rito ang nakabinbing migration sa isang umiiral na DB (bilang proteksiyon laban sa naburang tracking table). Taasan ito upang mag-restore ng mas lumang backup; itakda sa 0 upang i-disable ang pagsusuri.
OMNIROUTE_INSTALL_UPGRADE_WORKDIR (<repo>/.install-upgrade) scripts/check/check-install-upgrade.mjs Working directory para sa check:install-upgrade release gate. Nangangailangan ito ng humigit-kumulang 12 GB (dalawang ~3 GB na install tree at ang tarball), kaya hindi ito dapat patakbuhin sa maliit na tmpfs — sa self-hosted runner, ang /tmp ay isang 12 GB RAM-backed tmpfs at naubos ito ng gate, na nagresulta sa pagkakaputol ng package.
OMNIROUTE_SPEND_FLUSH_INTERVAL_MS (default sa code) src/lib/spend/batchWriter.ts Flush interval (ms) para sa naka-batch na spend/cost writer. Binabawasan ng mas mababang value ang pagsasama-sama ng mga write; binabawasan naman ng mas mataas na value ang DB contention.
OMNIROUTE_SPEND_MAX_BUFFER_SIZE (default sa code) src/lib/spend/batchWriter.ts Pinakamaraming naka-buffer na spend entry bago ang sapilitang flush. Taasan sa mga deployment na may mataas na QPS; babaan kapag mas mahalaga ang limitadong paggamit ng memory.
OMNIROUTE_PROXY_FETCH_DEBUG (hindi nakatakda) open-sse/utils/proxyFetch.ts Itakda sa "true" upang maglabas ng mga [ProxyFetch] debug log sa Vercel relay path. Naka-off bilang default upang maiwasang mabunyag ang mga routing hint.
PROXY_LOG_INCLUDE_IPS false src/lib/proxyLogger.ts Itakda sa "true" o "1" upang isama ang mga client/egress IP at account prefix sa detalyadong [ProxyEgress] process-log line. Pinananatiling NAKA-OFF bilang default upang hindi mabunyag sa process log ang mga IP o ang account prefix.
OMNIROUTE_DEBUG (hindi nakatakda) bin/cli/commands/quota.mjs Itakda sa 1 upang i-print sa stderr ang per-request timing diagnostics ([omniroute] GET <path> completed in Nms) mula sa mga CLI quota command.
OMNIROUTE_HEALTHCHECK_PATH (awtomatiko) scripts/dev/healthcheck.mjs Tahasang path na sinusuri ng container health check. Kapag hindi nakatakda, kinukuha ito ng probe mula sa OMNIROUTE_BASE_PATH; kapag itinakda ito, muling gagamitin ang deep monitoring endpoint.
OMNIROUTE_DEBUG_COMPLETION (hindi nakatakda) bin/cli/commands/completion.mjs Itakda sa anumang value na hindi empty upang maglabas ng [omniroute completion] diagnostics mula sa mga CLI shell-completion cache path (read/refresh/write). Naka-off bilang default — tahimik na nabibigo ang mga cache na iyon upang hindi kailanman masira ng nawawala/corrupt na cache ang tab-completion.
BATCH_RETRY_DURATION_MS 86400000 (24h) open-sse/services/batchProcessor.ts Pinakamahabang panahon ng muling pagsubok para sa mga indibidwal na item ng batch (ms). Ang mga item na lumampas sa tagal na ito ay minamarkahang nabigo.
BATCH_BACKOFF_BASE_MS 5000 open-sse/services/batchProcessor.ts Batayang pagkaantala (ms) para sa exponential backoff sa mga muling pagsubok sa item ng batch.
BATCH_BACKOFF_MAX_MS 3600000 (1h) open-sse/services/batchProcessor.ts Pinakamataas na limitasyon (ms) para sa exponential backoff sa pagitan ng mga muling pagsubok sa item ng batch.
BATCH_MAX_CONCURRENT 1 open-sse/services/batchProcessor.ts Pinakamataas na bilang ng mga batch na sabay-sabay na pinoproseso. Taasan upang mapahusay ang throughput; panatilihing mababa upang maiwasan ang sunod-sunod na paglampas sa rate limit.

Important

Bago baguhin ang isang umiiral na persistent database, naglalathala ang migration runner ng isang kumpleto, content-addressed na snapshot sa ilalim ng DATA_DIR/db_backups/. Nangangailangan ang paglalathala ng filesystem na sumusuporta sa mga no-overwrite hard link sa iisang filesystem at durable file sync. Nangangailangan din ang mga POSIX host ng directory sync; sa Windows, maaaring tanggihan ng Node ang mga directory handle, kaya fina-flush ng OmniRoute ang inilathalang file at itinuturing ang directory-entry sync bilang best effort. Kung hindi maibibigay ng naka-mount na DATA_DIR ang mga garantiyang iyon, ligtas na nabibigo ang startup bago maglapat ng migration. Ilipat ang DATA_DIR sa isang volume na may mga primitive na iyon; huwag gamitin ang DISABLE_SQLITE_AUTO_BACKUP upang lampasan ang kaligtasan ng migration.

Mga Senaryo

Senaryo Configuration
Lokal na development Panatilihin ang lahat ng default. Matatagpuan ang DB sa ~/.omniroute/omniroute.db.
Docker DATA_DIR=/data + mag-mount ng volume sa /data.
Naka-encrypt at rest Itakda ang STORAGE_ENCRYPTION_KEY + panatilihin ang mga backup ng key! Kapag nawala ito = mawawala ang data.
CI/Testing DATA_DIR=/tmp/omniroute-test — pansamantala, hindi kailangan ng encryption.

3. Network at Mga Port

Variable Default Source File Paglalarawan
PORT 20128 src/lib/runtime/ports.ts Pangunahing port para sa parehong Dashboard UI at mga API endpoint (single-port mode).
OMNIROUTE_BASE_PATH (walang laman = root) next.config.mjs, scripts/docker/ensure-docker-base-path.mjs URL subpath para sa paghahatid ng OmniRoute sa likod ng reverse proxy (itinatakda ang Next.js basePath; isinasaalang-alang ng mga auth redirect ang basePath). Hal. /omniroute. Sa Docker, inilalagay ang value habang isinasagawa ang docker build (ARG OMNIROUTE_BASE_PATH); maaaring maglapat nang isang beses ang mga pre-built root image ng ibang runtime value sa pagsisimula ng container bago mag-boot ang Next.js. Itakda ang NEXT_PUBLIC_BASE_URL sa pampublikong origin na kinabibilangan ng parehong subpath.
NEXT_PUBLIC_OMNIROUTE_BASE_PATH (walang laman = root) src/shared/hooks/useDisplayBaseUrl.ts Mirror na nakikita ng browser ng OMNIROUTE_BASE_PATH, na ini-inline sa build time upang ipakita ng dashboard endpoint display ang https://host/omniroute/v1 sa halip na https://host/v1. Bumabalik sa OMNIROUTE_BASE_PATH kapag hindi nakatakda. Muling mag-build pagkatapos baguhin (ang Next basePath ay itinatakda sa build time).
DASHBOARD_ALLOW_EMBED (hindi nakatakda = hindi kailanman maaaring i-frame) next.config.mjs, scripts/build/dashboardEmbed.mjs Opsyonal na pagpapahintulot sa pag-embed ng mga HTML page sa iframe. Kapag hindi nakatakda, ipinapadala ang bawat route na may frame-ancestors 'none' + X-Frame-Options: DENY. Itakda sa vscode upang ihatid ang mga page (dashboard, login, docs, landing) nang may frame-ancestors 'self' vscode-webview: at walang X-Frame-Options, upang mai-render ang mga ito ng VS Code Simple Browser (dashboardOpen: "editor" mode ng OmniCopilot). Pinananatili ng API surface (/api, /v1, /v1beta, /a2a, /healthz, mga root-level alias) ang mahihigpit na header sa alinmang paraan. vscode lamang ang kinikilala — hindi ito pinapagana ng 1/true. Build-time: muling mag-build pagkatapos baguhin (docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode para sa mga image; walang epekto ang pagtatakda nito sa isang prebuilt install).
API_PORT (hindi nakatakda) src/lib/runtime/ports.ts Kapag nakatakda, inihahatid ang /v1/* proxy API sa hiwalay na port na ito.
API_HOST 0.0.0.0 src/lib/runtime/ports.ts Bind address para sa API port.
DASHBOARD_PORT (hindi nakatakda) src/lib/runtime/ports.ts Kapag nakatakda, inihahatid ang Dashboard UI sa hiwalay na port na ito.
OMNI_MAX_CONCURRENT_CONNECTIONS 0 (naka-disable) src/sse/utils/backpressure.ts Nililimitahan ang magkakasabay na kasalukuyang pinoprosesong chat connection; makakatanggap ang mga request na lampas sa limitasyon ng 503 na may Retry-After. Pinapagana ng positibong integer ang guard; dini-disable ito kapag hindi nakatakda o 0.
OMNIROUTE_INSTANCE_ID (hindi nakatakda) src/shared/resilience/peerRouting.ts Stable at natatanging ID para sa gateway na ito kapag pinagkakadena ang mga instance ng OmniRoute. Pinapagana nito ang mga inbound peer-loop check. Mga pinapayagang character: mga titik, digit, ., _, :, at -; maximum na 64 na character.
OMNIROUTE_PEER_URLS (hindi nakatakda) src/shared/resilience/peerRouting.ts, open-sse/executors/base.ts Mga base URL ng OmniRoute na pinaghihiwalay ng kuwit na maaaring makatanggap ng X-OmniRoute-Peer-Trace. Tanging ang mga upstream URL na tahasang nasa allowlist ang makakatanggap ng peer metadata; hindi naaapektuhan ang lahat ng iba pang provider.
OMNIROUTE_PEER_MAX_HOPS 4 src/shared/resilience/peerRouting.ts Pinakamataas na bilang ng mga dati nang binisitang instance ng OmniRoute na tinatanggap sa isang chained request (1-32). Ang mga naulit na instance o naubos na budget ay nagbabalik ng HTTP 508 Loop Detected.
PROD_DASHBOARD_PORT 20130 docker-compose.prod.yml Port na naka-publish sa panig ng host para sa Dashboard sa Docker production mode.
PROD_API_PORT 20131 docker-compose.prod.yml Port na naka-publish sa panig ng host para sa API sa Docker production mode.
OMNIROUTE_PORT (hindi nakatakda) src/lib/runtime/ports.ts Inuuna kaysa sa PORT kapag tumatakbo sa loob ng Electron o iba pang wrapper.
LIVE_WS_PORT 20129 src/server/ws/liveServer.ts Port para sa real-time na WebSocket live monitoring server.
LIVE_WS_HOST 127.0.0.1 src/server/ws/liveServer.ts Bind address para sa live WebSocket server. Itakda sa 0.0.0.0 upang ilantad sa LAN (i-configure din ang LIVE_WS_ALLOWED_ORIGINS).
LIVE_WS_ALLOWED_ORIGINS (hindi nakatakda) src/server/ws/liveServer.ts Mga karagdagang origin na pinaghihiwalay ng kuwit na pinapayagang magbukas ng live WebSocket. Pinapayagan na bilang default ang mga loopback dashboard origin.
LIVE_WS_ALLOWED_HOSTS (hindi nakatakda) src/server/ws/liveServerAllowList.ts Mga karagdagang hostname na pinaghihiwalay ng kuwit na pinapayagan para sa mga origin ng live WebSocket. Hindi tulad ng LIVE_WS_ALLOWED_ORIGINS (mga buong origin URL), ang bahagi lamang ng host ang itinutugma — kapaki-pakinabang para sa mga setup ng LAN/Tailscale.
NEXT_PUBLIC_LIVE_WS_PUBLIC_URL (hindi nakatakda) src/hooks/useLiveDashboard.ts Pampublikong URL para sa WebSocket ng live dashboard (sa panig ng browser). Itakda ito kapag inilalagay ang reverse proxy o Cloudflare Tunnel sa harap ng WS server (hal. wss://ws.my-ai.com/live-ws); doon kumokonekta ang browser sa halip na sa ws://hostname:20132. Ginagamit din ang bahagi ng pathname bilang WebSocket upgrade path (default: /live-ws).
OMNIROUTE_ENABLE_LIVE_WS true src/server/ws/liveServer.ts at scripts/start-ws-server.mjs Itakda sa 0 o false upang i-disable ang real-time na WebSocket server (naka-enable bilang default, nakatali sa loopback). Toggle para sa CI/harness na nagdi-disable sa standalone na live WebSocket helper script.
RELAY_IP_PER_MINUTE 30 src/app/api/v1/relay/chat/completions/route.ts Limitasyon sa rate ng relay bawat (token, IP), mga request/minuto. Nasa memory, bawat instance. Ang 0 o negatibong halaga ay nagdi-disable sa IP-dimension gate (nalalapat pa rin ang limitasyon ng DB bawat token).
NODE_ENV production Next.js core Kinokontrol ang antas ng detalye ng pag-log, pag-cache, paglalantad ng detalye ng error, at mga pag-optimize ng Next.js.
OMNIROUTE_USE_TURBOPACK 1 (Turbopack — default ng code) package.json / Next.js 16 Turbopack ang default na bundler para sa npm run dev at npm run build (2-3× mas mabilis na mga build, batay sa benchmark). Itakda sa 0 upang bumalik sa webpack sa Windows, kapag nakakaranas ng mga hindi pagkakatugma sa native binding / bundler, o sa mga makinang limitado ang RAM — ang mga production build ng Turbopack sa linyang ito ng bersyon ng Next.js (16.2.x) ay kilala sa upstream na umaabot sa mas mataas na pinakamataas na paggamit ng memory kaysa webpack sa malalaking module graph (hindi pa stable ang pag-aayos sa memory eviction ng Turbopack sa Next 16.3); mas mababa ang pinakamataas na paggamit ng memory ng webpack fallback. Tingnan ang #6409.
OMNIROUTE_SKIP_DB_HEALTHCHECK (hindi nakatakda) src/lib/db/core.ts / src/lib/db/healthCheck.ts Itakda sa 1 upang laktawan ang pagsusuri sa integridad ng SQLite sa pagsisimula. Kapaki-pakinabang para sa mas mabilis na pag-boot sa malalaking database.
NOTIFY_SOCKET (hindi nakatakda) systemd (sd_notify protocol) Itinatakda ng systemd kapag tumatakbo ang proseso sa ilalim ng service unit na may integrasyon ng sd_notify; binabasa ito ng OmniRoute (tingnan ang OMNIROUTE_DISABLE_SD_NOTIFY) upang magpadala ng mga notification na READY/WATCHDOG. Hindi ito kailanman itinatakda ng user.
OMNIROUTE_DISABLE_SD_NOTIFY (hindi nakatakda) scripts/dev/systemd-notify.mjs Itakda sa 1 upang i-disable ang systemd sd_notify (Type=notify / WatchdogSec=) kahit tumatakbo sa ilalim ng systemd unit. Walang ginagawa ang notifier sa labas ng systemd anuman ang setting.
CREDENTIAL_HEALTH_CHECK_INTERVAL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/scheduler.ts Agwat (ms) para sa background scheduler ng pagsusuri sa kalagayan ng credential. Minimum: 10000 (10s).
CREDENTIAL_HEALTH_CACHE_TTL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/cache.ts TTL (ms) para sa naka-cache na status ng kalagayan ng credential.
OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK false src/lib/credentialHealth/scheduler.ts Itakda sa 1 o true upang i-disable ang pana-panahong pagsusuri sa background ng mga koneksyon ng provider. Palaging hindi isinasama sa sweep ang mga search provider (SEARCH_VALIDATOR_CONFIGS sa src/lib/providers/validation/searchProviders.ts, hal. tavily-search) — isang tunay at sinisingil na upstream query ang kanilang "validation", kaya hindi kailanman awtomatikong sinusuri ang kalagayan ng mga ito ayon sa timer (#9970).
HOST 0.0.0.0 scripts/dev/run-next.mjs Bind address para sa Next.js dev/start server. Ino-override ang default na 0.0.0.0 kapag nakatakda.
HOSTNAME 127.0.0.1 scripts/dev/run-next-playwright.mjs Bind address na ginagamit ng Playwright runner kapag inilulunsad ang Next.js. Default nito ang 127.0.0.1 para sa mga hermetic test. Huwag gamitin para sa omniroute serve — gamitin sa halip ang OMNIROUTE_SERVER_HOST (awtomatikong itinatakda ng mga POSIX shell ang HOSTNAME sa pangalan ng makina; hindi ito mao-override ng .env).
OMNIROUTE_SERVER_HOST 0.0.0.0 bin/cli/commands/serve.mjs Bind address para sa omniroute serve. Iniiwasan nito ang salungatan sa POSIX shell variable na HOSTNAME (palaging itinatakda ng bash/zsh sa pangalan ng makina). Bumabalik sa 0.0.0.0 kapag hindi nakatakda. (#6194)

Mga Mode ng Port

┌─────────────────────────── Iisang Port (paunang-takda) ────────────────────┐
│  PORT=20128                                                                 │
│  → Dashboard: http://localhost:20128                                        │
│  → API:       http://localhost:20128/v1/chat/completions                    │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Magkahiwalay na mga Port ────────────────────────┐
│  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                     │
│  Gamit: Ilantad ang API sa LAN habang nililimitahan ang Dashboard sa localhost. │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Produksiyon sa Docker ──────────────────────────┐
│  PROD_DASHBOARD_PORT=443   PROD_API_PORT=8443                              │
│  → Itinatapat ang mga port ng container sa mga port ng host sa docker-compose.prod.yml. │
└─────────────────────────────────────────────────────────────────────────────┘

4. Seguridad at Pagpapatotoo

Variable Default Source File Paglalarawan
MACHINE_ID_SALT endpoint-proxy-salt src/lib/auth Salt na isinasama sa mga hardware identifier para sa pagbuo ng fingerprint ng machine. Baguhin sa bawat deployment para sa isolation.
OMNIROUTE_CLI_SALT (hindi nakatakda = random na salt sa bawat pag-install na pinapanatili sa <DATA_DIR>/cli-token-salt.json) src/lib/machineToken.ts HMAC salt para sa pag-derive ng lokal na CLI auth token. Ang pagtatakda sa value na ito ay nagro-rotate sa lahat ng CLI token sa machine at palaging inuuna kaysa sa pinanatiling salt. Tingnan ang docs/security/CLI_TOKEN.md.
AUTH_COOKIE_SECURE false src/lib/auth Itinatakda ang Secure flag sa mga session cookie. Dapat ay true kapag tumatakbo sa likod ng HTTPS.
REQUIRE_API_KEY false API middleware Kapag true, dapat magsama ang lahat ng /v1/* proxy request ng wastong API key.
ALLOW_API_KEY_REVEAL false src/shared/constants/featureFlagDefinitions.ts Nagbibigay-daan na ipakita ang buong value ng API key sa Dashboard UI. Nako-configure mula sa Dashboard Feature Flags; isang panganib sa seguridad sa mga shared instance.
NO_LOG_API_KEY_IDS (walang laman) src/lib/compliance/index.ts Mga API key ID na pinaghihiwalay ng kuwit at lumalampas sa pag-log ng request (pagsunod sa GDPR).
DEFAULT_RATE_LIMIT_PER_DAY (hindi nakatakda = walang limitasyon) src/shared/utils/apiKeyPolicy.ts Fallback na pang-araw-araw na budget ng request na inilalapat sa mga API key na may null na rate_limits column. Hindi nakatakda o walang laman: walang implicit na cap (#2289, #11017). Pareho rin ang 0 (walang limitasyon). Ang positibong integer na N ay nagbibigay-daan sa N/araw, 5N/linggo, 20N/buwan. Ang mga maling format na value na hindi walang laman ay bumabalik sa legacy na mga window na 1000/araw, 5000/linggo, 20000/buwan.
MAX_BODY_SIZE_BYTES 10485760 (10 MB) src/shared/middleware/bodySizeGuard.ts Maximum na pinapayagang laki ng request body. Tinatanggihan ang mga payload na lumalampas sa limitasyong ito.
OMNIROUTE_CHAT_LARGE_BODY_BYTES 262144 (256 KB) src/shared/middleware/chatBodyAdmission.ts Ang mga aktuwal na request body na nasa o lampas sa threshold na ito ay kumukuha ng atomic process-local heavyweight admission lease bago ang pag-parse ng JSON (BYTE path, kabilang ang POST /v1/responses). Kaparehong healthy-headroom escape ng #10437 gaya ng structure-heavy; nililimitahan pa rin ng OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110 upang hindi bumalik ang #7849.
OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES 52428800 (50 MB) src/shared/middleware/chatBodyAdmission.ts Hard cap ng chat route na ipinapatupad batay sa mga byte na nabasa habang may limitasyon ang ingestion, kabilang ang mga request na walang, may invalid, o may mapanlinlang na Content-Length; makakatanggap ng 413 ang lumalampas dito.
OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (hindi nakatakda — walang limitasyon sa bilang ng request) src/shared/middleware/chatBodyAdmission.ts #503-fanout: ang legacy na limitasyong ito sa BILANG ng request ay umiiral lamang kapag tahasang itinakda. Kapag hindi nakatakda (ang default), ang admission ng heavyweight na chat ay nililimitahan sa halip ng OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES — isang awtomatikong kinukuhang BYTE budget na ibinabatay sa tunay na limitasyon ng memory ng proseso sa isang proseso (isang V8 heap). Dalawang nagsasapawang /v1/responses na may ~750k token ang nagpapatigil sa mga ~12Gi heap (#7849) — isang babala tungkol sa memory budget, hindi isang mahigpit na maximum ng produkto na 2. MAAARING tumanggap ang isang maayos na proseso (heap na mas mababa sa shed ratio) ng mas marami pang magkakasabay na mahahabang /v1/responses sa pamamagitan ng OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM. Ang sampu-sampung mahahabang SSE client (4050) ay usapin ng heap + OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110, hindi “maximum na 2”. Ang basta-bastang pagtataas nito upang “gamitin ang host” ay muling magdudulot ng #7849. Paramihin ang mga heap gamit ang N independiyenteng DATA_DIR (#11024); huwag kailanman gumamit ng replicas>1 sa iisang SQLite file.
OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES (awtomatikong kinukuha) src/shared/middleware/admissionBudget.ts #503-fanout: override para sa awtomatikong kinukuhang ingest byte budget (25% ng mas mahigpit na limitasyon ng memory ng V8/cgroup na hinati sa 8x transient amplification). Ang mga nakuhang value at tahasang itinakdang value ay nililimitahan sa 8 MiB2 GiB. Agad na mabibigo ang body na mas malaki sa epektibong budget nang may 413 body_exceeds_budget; ang agawan sa pagitan ng mga body na maihahatid nang magkakahiwalay ay nananatiling maaaring subukang muli gamit ang 503. Ang 4050 magkakasabay na mahahabang SSE client ay usapin ng budget na ito + heap, hindi isang mahigpit na “maximum na 2”. Basahin ang chatAdmission.maxInflightBytes / budgetSource / pressureSeverity sa /api/monitoring/health bago mag-tune.
OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO 0.75 src/shared/middleware/chatBodyAdmission.ts Heap-pressure shed ratio (heapUsed / heap_size_limit) para sa heavyweight admission ng BYTE at STRUCTURE (#10183, #10268, #10437). Ang isang magkakasabay na heavyweight request na lumampas sa OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT ay ise-shed lamang gamit ang maaaring subukang muling 503 kapag ang heap ay NASA o lampas DIN sa ratio na ito; sa isang maayos na heap, tinatanggap ito sa halip sa pamamagitan ng healthy-headroom.
OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (default na 1) src/shared/middleware/chatBodyAdmission.ts Limitadong karagdagang kapasidad para sa fast path ng maayos na heap (#10437) sa parehong STRUCTURE at BYTE (admitChatRequest, kabilang ang mga body na ≥ OMNIROUTE_CHAT_LARGE_BODY_BYTES). Kung wala ang limitasyong ito, nilalampasan ng bawat abala ngunit may maayos na heap na request ang admission nang walang hangganan. Kapag aktibo na sa healthy-heap path ang ganitong karaming magkakasabay na lease, ang iba pang abalang request ay mapupunta sa PAREHONG bounded-wait/shed path na ginagamit sa ilalim ng tunay na pressure sa heap. Ganap na dini-disable ng 0 ang bypass.
OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT 200 src/shared/middleware/chatBodyAdmission.ts Bilang ng mensahe na nag-uuri sa isang chat request bilang heavyweight kahit mas mababa sa byte threshold ang body nito.
OMNIROUTE_CHAT_HEAVY_TOOL_COUNT 64 src/shared/middleware/chatBodyAdmission.ts Bilang ng tool na nag-uuri sa isang chat request bilang heavyweight kahit mas mababa sa byte threshold ang body nito.
OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS 32000 src/shared/middleware/chatBodyAdmission.ts Konserbatibong pagtatantya ng token batay sa laki ng string na nag-uuri sa isang request bilang heavyweight; proxy ito para sa gastos ng admission, hindi tokenization para sa pagsingil ng provider.
OMNIROUTE_CHAT_HARD_MAX_MESSAGES 0 (naka-disable) src/shared/middleware/chatBodyAdmission.ts Opsyonal at opt-in na limitasyon sa history ng chat. Naka-disable bilang default: ang bilang ng mensahe ay patakaran ng deployment, hindi pangkalahatang katangian ng isang request, at ang paglilimita rito ay tatanggi sa mga pag-uusap gamit ang terminal na 413 bago pa mapahintulutan ng compression pipeline na maihatid ang mga ito. Nililimitahan ang paglaki ng heap ng OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT at ng heap-pressure shed. Magtakda ng positibong value sa mga deployment na limitado ang memory at nangangailangan ng mahigpit na hangganan; makakatanggap ang labis na bilang ng structured compact-required na 413.
OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES 67108864 (64 MB) open-sse/handlers/chatCore/nonStreamingResponseBody.ts Mahigpit na limitasyon para sa non-streaming upstream response na ganap na bina-buffer sa memory. Kapag lumampas dito, kinakansela ang upstream reader at mabilis na nabibigo ang request sa halip na patuloy na lumaki ang isang walang-limitasyong string hanggang sa maubos ang heap.
OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES 768 open-sse/handlers/chatCore/responseHeaders.ts Pinakamataas na wire bytes na ipinapasa mula sa mga upstream response header. Kapag lumampas sa budget, inaalis ang mga header na mas mababa ang priyoridad (hal., custom na x-codex-*, x-oai-request-id) upang manatili sa loob ng mga karaniwang limitasyon ng header ng reverse proxy. Magtakda ng mas mataas na value upang magpasa ng mas maraming upstream metadata kapalit ng mas malaking response header.
CORS_ORIGIN (hindi nakatakda) src/server/cors/origins.ts Legacy na allowlist ng CORS para sa iisang origin. Gamitin ang CORS_ALLOWED_ORIGINS para sa mga bagong deployment. Ang CORS ay para lamang sa mga cross-origin na browser API client; sa halip, gumagamit ang mga authenticated na pagsusulat sa dashboard ng mga same-origin na request kasama ng proteksiyong CSRF na nakatali sa session.
CORS_ALLOWED_ORIGINS (hindi nakatakda) src/server/cors/origins.ts Allowlist ng CORS na pinaghihiwalay ng kuwit. Walang ipinapadalang wildcard maliban kung tahasang naka-configure ang CORS_ALLOW_ALL=true.
CORS_ALLOW_ALL false src/server/cors/origins.ts Escape hatch na para lamang sa development upang i-echo ang anumang browser Origin. Huwag itong i-enable sa mga shared o production deployment.
OUTBOUND_SSRF_GUARD_ENABLED true src/shared/network/outboundUrlGuard.ts I-block ang mga tawag sa provider na nagta-target ng mga private/loopback/link-local na saklaw ng IP. I-disable lamang sa mga nakahiwalay na test environment.
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS false src/shared/network/outboundUrlGuard.ts Payagan ang mga URL ng provider na nakaturo sa mga private/local na network (localhost, 192.168.x.x, 10.x.x.x, atbp.). KINAKAILANGAN para sa mga self-hosted na provider (LM Studio, Ollama, vLLM, Llamafile, Triton, SearXNG). Kapag false, tinatanggihan ng dashboard ang pag-validate ng mga lokal na URL.
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS true src/shared/network/outboundUrlGuard.ts Payagan ang pagdaragdag/pag-validate ng mga provider sa mga local/private na address (127.0.0.1, localhost, LAN, mga private na saklaw) — limitado sa path ng pag-validate ng provider. Default ang true (local-first); itakda sa false upang magpatupad ng mahigpit na pag-block na para lamang sa mga pampublikong address. Nananatiling naka-block ang mga cloud-metadata endpoint (169.254.169.254, metadata.google.internal) anuman ang setting. (#5066)
AUDIO_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/audioProviderNodes.ts Payagan ang mga route na /v1/audio/* (mga transcription, speech, translation) na gumamit ng OpenAI-compatible na provider node na naka-host sa labas ng localhost. Naka-off bilang default — binabago ng pag-route ng audio sa isang remote host ang egress identity at dapat itong maging tahasang desisyon ng operator. Palaging pinapayagan at hindi naaapektuhan ang mga loopback/private na node (localhost, 127.0.0.1, 172.16-31.x). (#3963)
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts Kapag naka-enable ang OIDC, i-disable ang password login upang sa pamamagitan lamang ng OIDC Single Sign-On makapag-authenticate ang mga user. Tinatanggap din ang bare alias na OIDC_DISABLE_PASSWORD_LOGIN; mas inuuna ang Dashboard Feature Flag na may kaparehong key. (#10889)
OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts Bare alias ng OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN (#10889).

Checklist sa Pagpapatibay ng Seguridad

# Minimum na seguridad para sa production:
AUTH_COOKIE_SECURE=true        # Nangangailangan ng HTTPS
REQUIRE_API_KEY=true           # I-authenticate ang lahat ng proxy call
ALLOW_API_KEY_REVEAL=false     # Huwag kailanman ilantad ang mga key sa UI
CORS_ALLOWED_ORIGINS=https://your.domain.com
MAX_BODY_SIZE_BYTES=5242880    # Limitasyong 5 MB

5. Paglilinis ng Input at Proteksyon sa PII

Nagbibigay ang OmniRoute ng dalawang antas ng depensa: pag-scan para sa injection sa panig ng request at pag-aalis ng PII sa panig ng response.

⚠️ Mga Limitasyon: Ang mga guardrail na ito ay mga best-effort heuristic na pagtukoy, hindi isang kumpletong firewall laban sa prompt injection o PII DLP system. Maaari silang magdulot ng mga false positive (ma-flag ang mga ligtas na persona/RPG prompt) at mga false negative (leetspeak, spacing, mga pattern na hindi Ingles). Hindi sapat ang mga ito nang mag-isa para sa pagsunod sa mga regulasyon. Iangkop ang mga mode at subukan ang mga ito sa iyong traffic bago umasa sa mga ito.

Panig ng Request: Prompt Injection Guard

Variable Default Source File Paglalarawan
INPUT_SANITIZER_ENABLED true src/middleware/promptInjectionGuard.ts I-enable ang pag-scan ng mga papasok na mensahe para sa mga pattern ng prompt injection.
INPUT_SANITIZER_MODE warn src/middleware/promptInjectionGuard.ts Patakaran sa injection: warn = mag-log lamang, block = tanggihan ang request gamit ang 400. Ang legacy na redact ay hindi nag-aalis ng injection text; gamitin ang PII_REDACTION_ENABLED para sa muling pagsulat ng PII sa request.
INJECTION_GUARD_MODE (hindi nakatakda) src/middleware/promptInjectionGuard.ts Legacy alias para sa INPUT_SANITIZER_MODE — parehong gawi.
INPUT_SANITIZER_BLOCK_THRESHOLD high src/shared/utils/injectionSeverity.ts Pinakamababang antas ng kalubhaan na tinatanggihan ng MODE=block: high (default), medium, o low. Ang mga medium na pattern ay para lamang sa obserbasyon maliban kung ibababa ang threshold.
INJECTION_GUARD_BLOCK_THRESHOLD (hindi nakatakda) src/shared/utils/injectionSeverity.ts Legacy alias para sa INPUT_SANITIZER_BLOCK_THRESHOLD — parehong gawi.
PII_REDACTION_ENABLED false src/lib/guardrails/piiMasker.ts Kapag true, i-redact ang PII sa mga papasok na request (hiwalay sa injection mode).
CREDENTIAL_REDACTION_ENABLED false src/lib/guardrails/credentialMasker.ts I-redact ang mga kilalang pattern ng API key / secret token mula sa mga payload ng request/response. Opt-in; tinutularan ang PII_REDACTION_ENABLED.

Panig ng Response: PII Sanitizer

Variable Default Source File Paglalarawan
PII_RESPONSE_SANITIZATION false src/lib/piiSanitizer.ts I-scan ang mga response ng LLM para sa tumagas na PII bago ibalik sa client.
PII_RESPONSE_SANITIZATION_MODE redact src/lib/piiSanitizer.ts redact = i-mask ang PII, warn = mag-log lamang, block = alisin ang buong response.

VS Code Tokenized-Route Context Sanitizer

Variable Default Source File Paglalarawan
OMNIROUTE_VSCODE_SANITIZE_CONTEXT 1 src/app/api/v1/vscode/contextSanitizer.ts Inaalis ang implicit na konteksto ng aktibong editor (editorContext, activeEditor, currentFile, selection, openTabs…) mula sa mga request sa /v1/vscode/[token]/* at nire-redact ang nilalaman ng mga tahasang naka-attach na sensitibong file. Secure-by-default; itakda sa 0 upang i-disable.

Mga Sitwasyon

Sitwasyon Configuration
Pagsunod ng enterprise INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=block, PII_REDACTION_ENABLED=true, PII_RESPONSE_SANITIZATION=true (pag-block ng injection + pag-redact ng PII sa request/response; magkahiwalay ang mga mode)
Pagsubaybay lamang INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=warn — nagla-log ngunit hindi kailanman nagba-block
Personal na paggamit Panatilihing naka-disable ang lahat — walang overhead

6. Mga Patakaran sa Tool at Routing

Variable Default Source File Paglalarawan
TOOL_POLICY_MODE disabled src/lib/toolPolicy.ts Kinokontrol ang access ng LLM sa pagtawag ng tool/function. allowlist = mga nakalistang tool lamang, denylist = lahat maliban sa mga nakalista, disabled = walang paghihigpit.
OMNIROUTE_PAYLOAD_RULES_PATH ./config/payloadRules.json open-sse/services/payloadRules.ts Path patungo sa JSON file ng mga panuntunan sa pagmamanipula ng payload (mga upstream na pagsasaayos ayon sa modelo/protocol).
OMNIROUTE_PAYLOAD_RULES_RELOAD_MS 5000 open-sse/services/payloadRules.ts Agwat ng pag-reload (ms) para sa hot-reloading ng file ng mga panuntunan sa payload. Minimum na 1000.
OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS false open-sse/services/model.ts Opsyonal: i-route ang mga walang-prefix na claude-* model ID mula sa mga Claude Code client sa pamamagitan ng Claude Code OAuth account sa halip na mangailangan ng provider prefix. May prayoridad pa rin ang mga tahasang provider prefix. Maaari din itong i-configure sa pamamagitan ng toggle sa dashboard sa pahina ng Claude provider.
COMBO_CONCURRENCY_PER_MODEL 3 open-sse/services/comboConfig.ts Limitasyon ng concurrency bawat modelo para sa mga round-robin combo (#9100). Ang round-robin combo semaphore ay dating mahigpit na nililimitahan sa 3 sabay-sabay na request bawat modelo nang walang override, kaya nagsi-serialize ang trapikong may mas mataas na concurrency sa likod ng limitasyong iyon. Bine-validate sa >= 1, at nililimitahan sa <= 32.
DISABLE_CONTEXT_WINDOW_CHECKS false open-sse/handlers/chatCore.ts Mapanganib na opsyon na nilalaktawan ang lokal na pagsusuri ng OmniRoute sa context window / maximum na input token para sa mga direktang request sa iisang modelo. Ipinapatupad pa rin ng mga upstream provider ang kanilang aktuwal na limitasyon; nananatiling aktibo ang prompt compression at ang sariling limitasyon ng output token ng modelo. Ang umiiral na pagkakasunod ng prayoridad ay override ng Feature Flags DB > environment variable > default; hindi kailangan ang pag-restart.
OMNIROUTE_DISABLE_CONVERSATION_TRACKING (hindi nakatakda) open-sse/services/conversationTracker.ts Itakda sa 1 upang ihinto ang pagkolekta ng history ng pag-uusap. Nagbabalik ang resolveConversationId() ng hindi sinusubaybayang resulta bago nito basahin ang SQLite o i-parse ang history ng mensahe, at saklaw din ang mga session ID na ibinigay ng client. Hindi nagbabago ang paghawak sa routing session at hindi dine-delete ang mga kasalukuyang record. Para ito sa mga deployment na hindi gumagamit ng view ng pag-uusap sa dashboard at gustong pigilan ang patuloy na paglaki ng turn table.

7. Mga URL at Cloud Sync

Variable Default Source File Paglalarawan
BASE_URL http://localhost:20128 src/lib/cloudSync.ts URL sa panig ng server na ginagamit ng mga internal na sync job upang tawagin ang /api/sync/cloud. Panatilihin ito bilang loopback/container URL kahit na pampublikong naka-proxy ang app.
CLOUD_URL (walang laman) src/lib/cloudSync.ts URL ng cloud relay endpoint (premium na feature).
CLOUD_SYNC_TIMEOUT_MS 12000 src/lib/cloudSync.ts HTTP timeout para sa mga kahilingan sa cloud sync.
OMNIROUTE_BUILD_PROFILE full Webpack build config Profile sa oras ng build (itakda sa minimal upang pisikal na hindi isama ang mga privileged module sa bundle).
OMNIROUTE_STANDALONE_DIR .build/ standalone na output scripts/build/colocate-standalone.mjs Override sa oras ng build para sa standalone output directory na ginagamit ng post-build colocation step. Hindi ito isang runtime setting.
OMNIROUTE_CLOUD_SYNC_SECRET (walang laman) src/lib/cloudSync.ts Shared secret na ginagamit upang beripikahin ang HMAC-SHA256 signature ng mga tugon mula sa Cloud Sync.
OMNIROUTE_CLOUD_SYNC_SECRETS false src/lib/cloudSync.ts Itakda sa true upang payagan ang Cloud Sync endpoint na patungan ang mga lokal na credential. Ang default ay false.
OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE false src/lib/cloudSync.ts Itakda sa true upang tanggihan ang isang unsigned na tugon mula sa Cloud Sync kapag walang naka-configure na lokal na secret (#13679). Ang isang signature na naroroon ay palaging bineberipika — at palaging tinatanggihan kapag hindi nakatakda ang OMNIROUTE_CLOUD_SYNC_SECRET — anuman ang flag na ito. Magiging enforced ang default sa v3.9.
OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP false src/app/api/providers/zed/import/route.ts Itakda sa true upang bumalik sa one-step na gawi ng v3.8.5 na "i-import ang lahat" nang walang kumpirmasyon ng user.
NEXT_PUBLIC_BASE_URL http://localhost:20128 OAuth, Dashboard, sync URL na nakikita ng publiko para sa OAuth redirect_uri, mga link ng Dashboard, at mga nabuong pampublikong URL. Itakda ito sa matatag na pampublikong URL kapag kailangang gumamit ang mga OAuth callback o nabuong browser link ng canonical na reverse-proxy host.
NEXT_PUBLIC_CLOUD_URL (walang laman) Panig ng client Mirror sa panig ng client ng CLOUD_URL.
NEXT_PUBLIC_APP_URL (hindi nakatakda) src/shared/services/cloudSyncScheduler.ts Legacy na fallback para sa NEXT_PUBLIC_BASE_URL.
OMNIROUTE_PUBLIC_BASE_URL (hindi nakatakda) Tagalutas ng pampublikong origin, mga URL ng larawan OmniRoute origin na nakikita ng browser at may pinakamataas na priyoridad, na ginagamit para sa pagbuo ng pampublikong URL at pagpapatunay ng browser origin na hindi dashboard. Itakda ito kapag naaabot ng OpenWebUI o ng ibang relay ang OmniRoute sa pamamagitan ng panloob na URL ngunit kailangang kunin ng browser ng user ang nabuong media mula sa isang LAN, tunnel, o pampublikong origin. Huwag isama ang /v1.
OMNIROUTE_PROVIDER_MANIFEST_URL (hindi nakatakda) open-sse/config/providerPluginManifestUrl.ts Ganap na URL ng manifest ng provider plugin na inaanunsyo sa mga sidecar client. Kapag hindi nakatakda, kinukuha ng OmniRoute ang /api/v1/provider-plugin-manifest mula sa origin ng request o sa HOST/PORT.
OMNIROUTE_PUBLIC_PROTOCOL http open-sse/config/providerPluginManifestUrl.ts Protocol na ginagamit kapag kinukuha ang URL ng manifest ng provider plugin mula sa HOST/PORT nang walang origin ng request. Itakda sa https sa likod ng pampublikong proxy na nagtatapos ng TLS kapag walang tahasang nakatakdang OMNIROUTE_PROVIDER_MANIFEST_URL.
OMNIROUTE_TRUST_PROXY (hindi nakatakda) src/server/origin/publicOrigin.ts Opsyonal na trust mode para sa mga ipinapasang header ng pampublikong origin. Hindi nakatakda = huwag pagkatiwalaan ang Forwarded / X-Forwarded-* para sa mga desisyong panseguridad. Pinagkakatiwalaan ng true / loopback ang ipinapasang host/proto mula lamang sa isang loopback proxy na may token stamp. Pinagkakatiwalaan din ng private / lan ang mga peer na proxy sa pribadong LAN. Mas piliin ang tahasang NEXT_PUBLIC_BASE_URL sa production.
KIE_CALLBACK_URL (hindi nakatakda) open-sse/utils/kieTask.ts Pampublikong callback URL para sa mga asynchronous na kie.ai job. Override na may pinakamataas na priyoridad bago ang OMNIROUTE_KIE_CALLBACK_URL at OMNIROUTE_PUBLIC_URL.
OMNIROUTE_KIE_CALLBACK_URL (hindi nakatakda) open-sse/utils/kieTask.ts Alternatibong pagbaybay ng KIE_CALLBACK_URL. Ginagamit bilang fallback kapag hindi nakatakda ang pangunahing variable.
OMNIROUTE_PUBLIC_URL (hindi nakatakda) open-sse/utils/kieTask.ts Pampublikong origin na ginagamit upang buuin ang mga async callback URL. Fallback na may pinakamababang priyoridad para sa mga kie.ai callback; ginagamit din bilang generic na pampublikong URL para sa iba pang relay.
OMNIROUTE_CROF_USAGE_URL https://crof.ai/usage_api/ open-sse/services/usage.ts Endpoint sa paghahanap ng quota ng CrofAI na ginagamit ng pahina ng Usage. I-override para sa mga relay / test fixture.
OMNIROUTE_OPENCODE_QUOTA_URL https://opencode.ai/zen/go/v1/usage open-sse/services/opencodeQuotaFetcher.ts Opisyal na endpoint ng paggamit ng OpenCode Go na gumagamit ng API key para sa authentication at ginagamit ng pahina ng Usage. I-override para sa mga relay / test fixture.
OPENCODE_SYNTHESIZE_CLI_HEADERS true open-sse/executors/opencode.ts Bumuo ng mga header ng pagkakakilanlan ng OpenCode CLI (User-Agent, x-opencode-client/project, mga UUID ng request/session) sa mga upstream request ng opencode-go/zen na hindi ipinadala ng client, upang tanggapin ng Cloudflare sa VPS egress ang mga ito (#6210/#5997). Naka-on bilang default mula noong #10571; mag-opt out gamit ang false/0/no/off.
OPENCODE_USER_AGENT opencode open-sse/executors/opencode.ts Default na User-Agent na ginagamit kapag naka-on ang OPENCODE_SYNTHESIZE_CLI_HEADERS at walang nakatakdang override na <PROVIDER>_USER_AGENT para sa bawat provider. Inilalapat lamang sa mga opencode executor.
OPENCODE_CLIENT desktop open-sse/executors/opencode.ts Value para sa binuong x-opencode-client header kapag naka-on ang OPENCODE_SYNTHESIZE_CLI_HEADERS.
OPENCODE_PROJECT global open-sse/executors/opencode.ts Halaga para sa binuong x-opencode-project header kapag naka-on ang OPENCODE_SYNTHESIZE_CLI_HEADERS.
OMNIROUTE_OLLAMA_CLOUD_USAGE_URL https://ollama.com/settings open-sse/services/usage.ts URL ng mga setting ng Ollama Cloud na ginagamit para sa pagkuha ng quota. I-override para sa mga relay / test fixture.
OLLAMA_USAGE_COOKIE (hindi nakatakda) open-sse/services/usage.ts Ollama Cloud __Secure-session cookie na ginagamit para sa pagkuha ng quota mula sa pahina ng mga setting. Sensitibo; mas mainam gamitin ang field sa Dashboard para sa bawat koneksyon kapag maraming account ang naka-configure.
OLLAMA_CLOUD_USAGE_COOKIE (hindi nakatakda) open-sse/services/usage.ts Alternatibong env var ng Ollama Cloud __Secure-session cookie. Sensitibo; mas mainam gamitin ang field sa Dashboard para sa bawat koneksyon kapag maraming account ang naka-configure.
OMNIROUTE_OLLAMA_USAGE_COOKIE (hindi nakatakda) open-sse/services/usage.ts Alternatibong env var ng Ollama Cloud __Secure-session cookie na ginagamit bago ang mas maiikling alias. Sensitibo; mas mainam gamitin ang field sa Dashboard para sa bawat koneksyon kapag maraming account ang naka-configure.
OMNIROUTE_CODEWHISPERER_BASE_URL https://codewhisperer.us-east-1.amazonaws.com open-sse/services/usage.ts Endpoint ng mga limitasyon sa paggamit ng CodeWhisperer (AWS Kiro). I-override para sa mga relay / test fixture.

Important

Kapag nagde-deploy sa likod ng reverse proxy (nginx, Caddy), itakda ang NEXT_PUBLIC_BASE_URL sa iyong matatag na pampublikong URL (hal., https://omniroute.example.com) kapag kailangang gamitin ng mga OAuth callback o binuong pampublikong link ang hostname na iyon. Kung wala ito, maaaring mabigo ang mga OAuth callback dahil hindi magtutugma ang redirect_uri at maaaring tumuro ang mga binuong pampublikong link sa panloob na origin ng container.

Panatilihin ang BASE_URL bilang panloob na loopback/container URL para sa mga server-to-server job. Huwag gumamit ng browser Origin o pampublikong hostname para sa mga panloob na self-fetch na may dalang credential.

Hindi nangangailangan ng static na pampublikong base URL ang mga authenticated na pagsusulat sa dashboard: nagpapadala ang dashboard ng mga unsafe request sa parehong origin gamit ang CSRF token na nakatali sa session. Isinasentralisa pa rin ng OmniRoute ang pagpapatunay ng pampublikong origin para sa mga browser integration na hindi mula sa dashboard: unang pinagkakatiwalaan ang mga tahasang env var ng pampublikong URL; binabalewala ang mga raw na Forwarded / X-Forwarded-* header maliban kung naka-enable ang OMNIROUTE_TRUST_PROXY at minarkahan ng token bilang pinagkakatiwalaan ang agarang proxy peer. Huwag gumamit ng mga setting ng CORS upang ayusin ang mga request sa dashboard na may parehong origin; para lamang ang CORS sa mga cross-origin browser client.


8. Papalabas na Proxy

Iruta ang mga tawag sa upstream na LLM provider sa pamamagitan ng HTTP o SOCKS5 proxy para sa pagkontrol ng egress, geo-routing, o pagtatago ng IP.

Variable Default Source File Paglalarawan
ENABLE_SOCKS5_PROXY true open-sse/executors Paganahin ang SOCKS5 proxy agent para sa mga upstream na tawag. Mag-opt out gamit ang false.
NEXT_PUBLIC_ENABLE_SOCKS5_PROXY true Client-side Kamalayan sa panig ng client tungkol sa availability ng SOCKS5.
PROXY_SKIP_RECENTLY_FAILED false src/shared/utils/featureFlags.ts Opt-in na feature flag (tingnan ang FEATURE_FLAGS.md; nangingibabaw ang override ng dashboard DB). Hihinto ang mga proxy pool at rotation kada account sa muling paggamit ng miyembrong kabibigo lamang (tinanggihan ang TCP probe, o nakatanggap ng 429 sa pamamagitan nito) sa loob ng panahong dumodoble sa bawat pag-ulit, hanggang sa isang limitasyon. Pinapagana ito ng true (o 1, yes).
HTTP_PROXY (hindi nakatakda) Node.js standard HTTP proxy para sa mga upstream na tawag.
HTTPS_PROXY (hindi nakatakda) Node.js standard HTTPS proxy para sa mga upstream na tawag.
ALL_PROXY (hindi nakatakda) Node.js standard Pangkalahatang proxy (sinusuportahan ang socks5://).
OMNIROUTE_PROXY_ECHO_URL (hindi nakatakda) src/lib/proxyEchoTarget.ts Itinatakda ang echo-IP target na ginagamit ng mga proxy egress probe sa iisang URL. Kapag hindi nakatakda, susubukan ng probe ang api64.ipify.org at pagkatapos ay ang api4.ipify.org upang hindi maiulat na hindi gumagana ang mga IPv4-only tunnel (#9694).
NO_PROXY (hindi nakatakda) Node.js standard Mga hostname/IP na pinaghihiwalay ng kuwit upang lampasan ang proxy.
OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS 32 open-sse/utils/proxyDispatcher.ts Pinakamaraming magkakasabay na socket sa bawat naka-cache na HTTP/SOCKS proxy dispatcher. Ang mga pangmatagalang SSE stream gaya ng Codex /v1/responses ay nangangailangan ng mahigit sa isang koneksyon kapag maraming request ang gumagamit ng parehong account-level proxy. Nililimitahan sa 256 ang mga value na mas mataas dito.
SOCKS_HANDSHAKE_TIMEOUT_MS 10000 open-sse/utils/socksConnectorWithFamily.ts Timeout ng SOCKS5 handshake (connect) sa ms. Taasan ito kapag ang isang residential gateway host ay nakararanas ng mataas na concurrency (hal. 100 sabay-sabay na request) — maaaring lumampas sa 10s ang aktuwal na handshake kapag saturated ang pool kahit naaabot ang proxy, na kung hindi ay maling lalabas bilang [Proxy Fast-Fail] Proxy unreachable. Nililimitahan sa 120000.
PROXY_FAIL_OPEN false src/sse/handlers/chatHelpers.ts Kapag false (default), ang request na hindi ma-resolve ang nakatalagang proxy ay tinatanggihan (fail-closed) sa halip na bumalik sa direktang koneksyon — pinipigilan nito ang pagtagas ng tunay na IP. Itakda sa true upang ibalik ang legacy na DIRECT fallback.
ENABLE_TLS_FINGERPRINT false open-sse/executors Gayahin ang TLS fingerprint gamit ang wreq-js (ginagaya ang Chrome 124). Nilalabanan ang pag-block ng JA3/JA4.
TLS_FINGERPRINT_PROVIDERS (hindi nakatakda) open-sse/utils/proxyFetch.ts Allowlist ng mga provider na pinaghihiwalay ng kuwit para sa bagong proxied TLS routing (open-sse/utils/proxyFetch.ts). Pinananatili ng direktang TLS ang dati nitong gawi kapag hindi nakatakda; ang mga provider lang na ito ang daraan sa Chrome-124 fingerprint bridge.
OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS false open-sse/services/claudeTurnstileSolver.ts Payagan ang Claude Turnstile Playwright browser context na balewalain ang mga error sa HTTPS certificate.

Mga Sitwasyon

Sitwasyon Configuration
SOCKS5 sa pamamagitan ng SSH tunnel ALL_PROXY=socks5://127.0.0.1:7890, ENABLE_SOCKS5_PROXY=true
Corporate HTTP proxy HTTP_PROXY=http://proxy.corp.com:3128, HTTPS_PROXY=http://proxy.corp.com:3128, NO_PROXY=localhost,internal.corp.com
Anti-fingerprint ENABLE_TLS_FINGERPRINT=true — nangangailangan ng wreq-js (kasama na)
Kontrolado ang egress / walang direktang access Panatilihing PROXY_FAIL_OPEN=false (default). Agad na mabibigo ang mga request kapag hindi available ang proxy sa halip na tumagas sa pamamagitan ng direktang koneksyon.
Legacy / dev — payagan ang direktang fallback PROXY_FAIL_OPEN=true. Ibinabalik ang gawi bago ang hardening: ginagamit ang direktang koneksyon kapag nabigo ang proxy resolution.

Tandaan (pag-bypass sa validation ng NVIDIA — #3226): Natitigil ang API-key validation endpoint ng NVIDIA kapag idinadaan sa global proxy/TLS-patched fetch (undici dispatcher → 504). Sinasadyang i-bypass ng src/lib/providers/validation.ts::directHttpsRequest() ang proxy patch para sa iisang validation call na iyon gamit ang safeOutboundFetch({ bypassProxyPatch: true }). Isa itong nakadokumento at saklaw na exception — hindi nito naaapektuhan ang chat/usage egress. Ang bypass ay naka-pin sa saklaw ng tests/unit/proxy-bypass-scope-guard-3226.test.ts.


9. Integrasyon ng CLI Tool

Kinokontrol kung paano natutuklasan at inilulunsad ng OmniRoute ang mga CLI sidecar (Claude Code, Codex, atbp.).

Variable Default Source File Paglalarawan
CLI_MODE auto src/shared/services/cliRuntime.ts auto = maghanap sa system PATH; manual = gumamit lamang ng mga tahasang path.
CLI_EXTRA_PATHS (hindi nakatakda) src/shared/services/cliRuntime.ts Mga karagdagang entry sa PATH para sa pagtuklas ng CLI binary (pinaghihiwalay ng tutuldok).
CLI_CONFIG_HOME (hindi nakatakda) src/shared/services/cliRuntime.ts I-override ang home directory para sa pagbasa ng mga config ng CLI (~/.claude, ~/.codex). Dapat itong absolute at nasa loob ng process home — o, sa isang container, isang bind-mounted path (ganito gumagana ang /host-home). Kapag iba rito, babalik ito sa home dir.
CLI_ALLOW_CONFIG_WRITES true src/shared/services/cliRuntime.ts Payagan ang OmniRoute na magsulat sa mga config file ng CLI (pag-refresh ng token, data ng session). Itakda sa false upang mabigo ang bawat pagtatangkang magsulat sa config ng CLI na may tahasang error na "hindi pinagana ang pagsusulat."
CLI_CLAUDE_BIN claude src/shared/services/cliRuntime.ts Custom na path patungo sa Claude CLI binary.
CLI_CODEX_BIN codex src/shared/services/cliRuntime.ts Custom na path patungo sa Codex CLI binary.
CLI_DROID_BIN droid src/shared/services/cliRuntime.ts Custom na path patungo sa Droid CLI binary.
CLI_OPENCLAW_BIN openclaw src/shared/services/cliRuntime.ts Custom na path patungo sa OpenClaw CLI binary.
CLI_CURSOR_BIN agent, pagkatapos ay cursor src/shared/services/cliRuntime.ts Custom na path patungo sa Cursor agent binary. Kung wala ito, susubukan muna ng pagtuklas ang agent at gagamitin ang cursor bilang fallback.
CLI_CLINE_BIN cline src/shared/services/cliRuntime.ts Custom na path patungo sa Cline CLI binary.
CLI_5DIVE_BIN 5dive src/shared/services/cliRuntime.ts Custom na path patungo sa 5dive CLI binary.
CLI_5DIVE_STATE_DIR /var/lib/5dive src/shared/services/cliRuntime.ts System state dir ng 5dive (mga auth profile na pagmamay-ari ng root); tumutugma sa sariling default na STATE_DIR ng 5dive.
CLI_CONTINUE_BIN cn src/shared/services/cliRuntime.ts Custom na path patungo sa Continue CLI binary.
CLI_QODER_BIN qodercli src/shared/services/cliRuntime.ts Custom na path patungo sa Qoder CLI binary.
CLI_QWEN_BIN qwen src/shared/services/cliRuntime.ts Custom na path patungo sa Qwen Code CLI binary.
CLI_AIDER_BIN aider src/shared/services/cliRuntime.ts Custom na path patungo sa Aider CLI binary.
CLI_GOOSE_BIN goose src/shared/services/cliRuntime.ts Custom na path patungo sa Goose CLI binary.
CLI_GEMINI_BIN gemini src/shared/services/cliRuntime.ts Custom na path patungo sa Google Gemini CLI binary — para lamang sa server-side na pagtuklas at mga health check; nire-resolve ng omniroute run gemini ang gemini binary mula sa system PATH.
CLI_KILO_BIN kilocode src/shared/services/cliRuntime.ts Custom na path patungo sa Kilo Code CLI binary.
CLI_OPENCODE_BIN opencode src/shared/services/cliRuntime.ts Custom na path patungo sa OpenCode CLI binary.
CLI_HERMES_BIN hermes src/shared/services/cliRuntime.ts Pasadyang path patungo sa Hermes binary. Pinagsasaluhan ng parehong catalog entry (hermes at hermes-agent).
CLI_FORGE_BIN forge src/shared/services/cliRuntime.ts Pasadyang path patungo sa ForgeCode CLI binary.
CLI_JCODE_BIN jcode src/shared/services/cliRuntime.ts Pasadyang path patungo sa jcode CLI binary.
CLI_DEEPSEEK_TUI_BIN deepseek-tui src/shared/services/cliRuntime.ts Pasadyang path patungo sa DeepSeek TUI binary.
CLI_CODEWHALE_BIN codewhale src/shared/services/cliRuntime.ts Pasadyang path patungo sa CodeWhale CLI binary.
CLI_SMELT_BIN smelt src/shared/services/cliRuntime.ts Pasadyang path patungo sa Smelt CLI binary.
CLI_PI_BIN pi src/shared/services/cliRuntime.ts Pasadyang path patungo sa Pi (pi-coding-agent) binary.
CLI_CRUSH_BIN crush src/shared/services/cliRuntime.ts Pasadyang path patungo sa Crush CLI binary.
CLI_OMP_BIN omp src/shared/services/cliRuntime.ts Pasadyang path patungo sa Oh My Pi (omp) agent binary.
CLI_LETTA_BIN letta src/shared/services/cliRuntime.ts Pasadyang path patungo sa Letta CLI binary.
CLI_PRIME_AGENT_BIN prime-agent src/shared/services/cliRuntime.ts Pasadyang path patungo sa Prime Agent (Prime Intellect) binary.
CLI_WINDSURF_BIN (wala) src/shared/services/cliRuntime.ts Pasadyang path patungo sa Windsurf binary. Walang default na command ang Windsurf — mananatiling naka-disable ang pagtukoy sa binary hanggang maitakda ito.
CLI_DEVIN_BIN devin open-sse/executors/devin-cli.ts Pasadyang path patungo sa Devin CLI binary (v3.8.0). Ginagamit ng Windsurf/Devin executor.
DEVIN_DESKTOP_VERSION 3.6.27 open-sse/executors/devin-desktop.ts ide_version ng Devin Desktop. Dapat gamitin ng mga override ang format na x.y.z; babalik ang mga hindi wastong value sa napatunayang default.
DEVIN_DESKTOP_EXTENSION_VERSION 1.48.2 open-sse/executors/devin-desktop.ts Naka-bundle na extension_version ng Codeium/language-server, na hiwalay sa ide_version ng Desktop. Dapat gamitin ng mga override ang x.y.z; gagamitin ng mga hindi wastong value ang naka-bundle na default.
CLI_DEVIN_AGENTIC_BIN devin open-sse/executors/devin-cli-agentic.ts Override sa Devin CLI na para lamang sa agentic bridge. Tinatanggap lamang ng executor ang lokal na ACP stdio upstream.
DEVIN_AGENTIC_HOME (kailangan) open-sse/executors/devin-cli-agentic.ts Ganap na nakahiwalay na home para sa agentic Devin subprocess; ang mga tinatanggap na bridge path ay /home/bridge at mga task-local na .sandbox path (sa Windows, C:\...\.sandbox\...).
DEVIN_AGENTIC_ACP_TIMEOUT_MS 120000 open-sse/executors/devin-cli-agentic.ts Pinakamahabang tagal ng isang Devin ACP turn bago wakasan ng bridge ang child at magbalik ng tahasang timeout.
DEVIN_BRIDGE_MODEL devin-cli-agentic/swe-1-7 docker/devin-bridge/compose.yml Pangunahing Claude Code model alias para sa nakahiwalay na bridge. Pinapalitan ng live harness ang halimbawa ng isang model na ibinalik ng kasalukuyang Devin account.
DEVIN_BRIDGE_SONNET_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias ng nakahiwalay na bridge na ginagamit kapag hinihiling ng Claude Code ang Sonnet default nito.
DEVIN_BRIDGE_OPUS_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias ng nakahiwalay na bridge na ginagamit kapag hinihiling ng Claude Code ang Opus default nito.
DEVIN_BRIDGE_HAIKU_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias ng nakahiwalay na bridge na ginagamit kapag hinihiling ng Claude Code ang Haiku default nito.
DEVIN_BRIDGE_SUBAGENT_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias ng nakahiwalay na bridge na ginagamit para sa mga Claude Code subagent.
DEVIN_SEAT_API_URL https://server.codeium.com open-sse/services/usage/devinCli.ts Opsyonal na override para sa Codeium seat-management API na ginagamit ng quota ng Devin CLI (GetUserStatus).
AUGGIE_BIN auggie open-sse/executors/auggie.ts Override ng absolute path para sa Augment (Auggie) CLI binary na ginagamit ng lokal na provider na auggie. Kapag hindi available, gagamitin ang CLI_AUGGIE_BIN, pagkatapos ay maghahanap sa PATH.
CLI_AUGGIE_BIN auggie open-sse/executors/auggie.ts Alias na override para sa path ng Augment (Auggie) CLI binary (sinusuri pagkatapos ng AUGGIE_BIN).
ZCODE_BIN zcode open-sse/executors/zcode.ts Binary na ginagamit para sa stdio client ng lokal na provider na zcode. Kapag hindi available, gagamitin ang zcode sa PATH.
ZCODE_ARGS open-sse/executors/zcode.ts JSON array (≤16 na string) ng mga karagdagang argument na ipinapasa sa zcode binary kapag inilunsad sa pamamagitan ng cliTools.
ZCODE_CWD process.cwd() open-sse/executors/zcode.ts Gumaganang directory para sa subprocess ng ZCode app-server.
ZCODE_PROVIDER_ID builtin:zai-coding-plan open-sse/executors/zcode.ts Override para sa provider id na ipinapadala sa app-server.
ZCODE_SERVER_RUNTIME_ROOT ~/.zcode/server open-sse/executors/zcode.ts Root ng runtime ng ZCode app-server (kung saan matatagpuan ang naka-bundle na node at zcode-server.cjs).
ZCODE_SERVER_NODE <runtimeRoot>/node open-sse/executors/zcode.ts Node executable na ginagamit upang i-host ang ZCode app-server.
ZCODE_SERVER_ENTRY <runtimeRoot>/zcode-server.cjs open-sse/executors/zcode.ts Entry script ng app-server na ginagamit upang i-host ang ZCode server.
ZCODE_STARTUP_TIMEOUT_MS 10000 open-sse/executors/zcode.ts Timeout sa pagsisimula (ms) bago ituring na nabigo ang paglulunsad ng ZCode app-server.
ZCODE_RPC_TIMEOUT_MS 30000 open-sse/executors/zcode.ts Timeout ng RPC sa bawat request (ms) para sa isang tawag sa ZCode app-server.
ZCODE_TURN_TIMEOUT_MS 120000 open-sse/executors/zcode.ts Pinakamahabang tagal (ms) ng isang ZCode turn bago ito i-timeout ng supervisor.
ZCODE_POLL_INTERVAL_MS 250 open-sse/executors/zcode.ts Agwat ng polling (ms) para sa pagkumpleto ng ZCode turn.
HERMES_HOME ~/.hermes src/lib/cli-helper/config-generator/hermesHome.ts Home directory ng Hermes Agent kung saan binabasa/isinusulat ng OmniRoute ang config ng Hermes CLI. Tumutugma sa env var na itinatakda ng Hermes PowerShell installer sa Windows (%LOCALAPPDATA%\hermes).

Awtomatikong Pag-sync ng CLI Profile

Ang mga feature flag na ito ay opt-in at naka-off bilang default. Maaari rin silang i-toggle mula sa dashboard ng CLI Code.

Variable Default Source File Paglalarawan
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES false src/shared/constants/featureFlagDefinitions.ts Pagkatapos ng pag-sync ng provider model, awtomatikong muling isinusulat ang mga profile file na ~/.codex/*.config.toml mula sa live catalog. Nangangailangan ng CLI_ALLOW_CONFIG_WRITES; hindi kailanman binabago ang aktibo/default na Codex config, auth, mga setting ng Codex-lb, o napiling provider.
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES false src/shared/constants/featureFlagDefinitions.ts Pagkatapos ng pag-sync ng provider model, awtomatikong muling isinusulat ang mga profile file ng Claude Code na ~/.claude/profiles/<name>/settings.json mula sa live catalog. Nangangailangan ng CLI_ALLOW_CONFIG_WRITES; hindi kailanman binabago ang aktibo/default na Claude config, auth, o napiling provider.

Halimbawa ng Docker

# I-mount ang mga host binary sa container at sabihin sa OmniRoute kung nasaan ang mga ito:
CLI_EXTRA_PATHS=/host-cli/bin
CLI_CONFIG_HOME=/host-home
CLI_ALLOW_CONFIG_WRITES=true
CLI_CLAUDE_BIN=/host-cli/bin/claude

Magkakabisa lamang ang CLI_CONFIG_HOME kapag ang path ay aktuwal na naka-bind mount mula sa host — ipares ito sa mga mount gaya ng ~/.codex:/host-home/.codex:rw (tingnan ang profile na host sa docker-compose.yml). Binabalewala ang path na wala sa loob ng home ng user ng container at hindi rin isang bind mount, dahil mawawala ang anumang isinulat doon kapag muling ginawa ang container.

Tumatakbo ang image bilang USER node, kaya ang hindi naka-mount na /root ay hindi wastong override.

Variable Default Source File Paglalarawan
OMNIROUTE_CONTAINER (awtomatiko) src/shared/utils/containerEnv.ts Sapilitang i-on (1/true) o i-off (0/false) ang pagtukoy sa container. Kailangan lamang ito sa mga runtime na hindi natutukoy ng awtomatikong pagtukoy.
OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE false src/shared/services/cliRuntime.ts Payagan pa rin ang pagsusulat ng configuration ng CLI tool sa isang hindi naka-mount na container path. Ang katumbas nito sa CLI ay --allow-container-write.

Mga helper ng CLI Binary (omniroute)

Inaayos ng mga variable na ito ang sariling gawi ng omniroute CLI binary (hindi ang pagtukoy sa sidecar sa itaas).

Variable Default Source File Paglalarawan
OMNIROUTE_LANG (system) bin/cli/i18n.mjs Sapilitang itakda ang wika ng output ng CLI. BCP-47 locale (hal. en, pt-BR). Ino-override ang mga system locale environment variable (LC_ALL, LC_MESSAGES).
OMNIROUTE_SHOW_LOG (hindi nakatakda) bin/cli/runtime/processSupervisor.mjs Itakda sa 1 upang ipasa ang stdout/stderr ng server sa terminal habang nasa supervised mode. Katumbas ng flag na --log sa omniroute serve.
OMNIROUTE_CLI_TOKEN (hindi nakatakda) bin/cli/api.mjs Token para sa machine authentication na inilalagay bilang header na x-omniroute-cli-token. Awtomatikong binubuo sa task 8.12.
OMNIROUTE_HTTP_TIMEOUT_MS 30000 bin/cli/api.mjs HTTP timeout sa bawat pagtatangka (ms) para sa mga request mula CLI → server.
OMNIROUTE_READY_TIMEOUT_MS 60000 bin/cli/utils/pid.mjs Pinakamahabang oras (ms) na hihintayin ng CLI para sa health endpoint ng server bago mag-print ng babala sa timeout. Kapaki-pakinabang para sa mababagal na cold start (hal. Windows). Maaari ring itakda sa pamamagitan ng --ready-timeout.
OMNIROUTE_VERBOSE 0 bin/cli/api.mjs Itakda sa 1 upang mag-print ng mga diagnostic ng retry/backoff sa stderr habang nagpapatakbo ng mga CLI command.
OMNIROUTE_PLUGIN_PATH (hindi nakatakda) bin/cli/plugins.mjs Custom na directory para sa pagtuklas ng CLI plugin (mga package na omniroute-cmd-*). Nagde-default sa ~/.omniroute/plugins/ kapag hindi nakatakda. Para sa CLI lamang — hindi ito kailanman umaabot sa server-side plugin scanner, na itinuturo ng OMNIROUTE_PLUGINS_DIR (seksyon 2).

10. Mga Integrasyon ng Internal Agent at MCP

Variable Default Source File Paglalarawan
OMNIROUTE_BASE_URL awtomatikong pagtukoy open-sse/mcp-server/server.ts Tahasang URL upang maabot ng mga tool ng MCP/A2A ang OmniRoute. Ino-override nito ang awtomatikong pagtukoy sa localhost.
OMNIROUTE_API_KEY (hindi nakatakda) Mga module ng MCP/A2A API key para sa mga internal na tawag ng MCP tool at A2A skill.
OMNIROUTE_API_KEY_ID (hindi nakatakda) open-sse/mcp-server/audit.ts Key ID para sa attribution ng audit log ng MCP.
ROUTER_API_KEY (hindi nakatakda) Luma Lumang alias para sa OMNIROUTE_API_KEY.
OMNIROUTE_A2A_HISTORY_RETENTION_DAYS 30 src/lib/a2a/taskManager.ts Bilang ng mga araw na pananatilihin sa lokal na database ang history ng gawain ng A2A bago magtanggal ng row ang araw-araw na purge. Kapag hindi nakatakda, hindi numeric, o <= 0, babalik ito sa 30.
OMNIROUTE_A2A_MEMORY_HITS 1 src/lib/a2a/taskExecution.ts Kill-switch para sa observability feature ng A2A memory-hits. Itakda sa 0 upang ganap na laktawan ang memory recall lookup para sa isang gawain; pananatilihin itong naka-enable ng anumang ibang value (kabilang ang hindi nakatakda).
OMNIROUTE_ISSUE_AGENT_ENABLED false src/app/api/issue-agent/runs/route.ts Ine-enable ang offline/lokal na recorded-triage endpoint ng Issue Agent. Panatilihin itong naka-disable maliban kung tahasang nagpapatakbo ng mga lokal na recorded-triage workflow.
OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS (hindi nakatakda) src/lib/issueAgent/execution.ts Timeout (ms) para sa isang recorded-triage run ng Issue Agent. Nililimitahan sa isang internal na maximum; bumabalik sa built-in na default kapag hindi nakatakda o invalid.
OMNIROUTE_CONTEXT (aktibong context) bin/cli/program.mjs, bin/cli/api.mjs Context/profile ng remote mode ng CLI para sa mga command na omniroute; ino-override ang aktibong context sa lokal na contexts store. Katumbas ng --context <name>.
OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED 0 bin/cli/contexts.mjs I-disable ang opsyonal na keytar OS-keychain backend para sa mga credential ng CLI context. Kapag naka-enable, mananatili ang mga credential sa config.json mode 0600 at maglalabas ang CLI ng isang beses na fallback warning; inilaan para sa sinasadyang headless/container operation.
OMNIROUTE_MCP_ENFORCE_SCOPES true open-sse/mcp-server/server.ts Ipatupad ang scope-based access control sa mga tawag ng MCP tool.
OMNIROUTE_MCP_SCOPES (lahat) open-sse/mcp-server/server.ts Mga scope na pinaghihiwalay ng kuwit: admin, combos, health, models, routing, budget, metrics, pricing, memory, skills.
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS false open-sse/mcp-server/descriptionCompressor.ts I-compress ang mga paglalarawan ng MCP tool bago i-serialize ang manifest. Mga value para i-enable: 1, true, on.
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION rtk open-sse/mcp-server/descriptionCompressor.ts Compression algorithm/profile. Mga value para i-disable: 0, false, off.
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 open-sse/mcp-server/fetchTimeout.ts Abort budget (ms) para sa mga internal management read ng MCP server (health, resilience, combos, quota, usage).
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 open-sse/mcp-server/fetchTimeout.ts Badyet sa pag-abort (ms) para sa mga MCP hop na naghihintay sa isang provider (route_request, web_search, web_fetch).
OMNIROUTE_CORPUS_CACHE_SIZE 5 src/lib/localCorpus/configured.ts Pinakamataas na bilang ng mga instance ng local-corpus index na naka-cache sa memory (LRU, isa bawat naka-index na root directory). Nililimitahan sa minimum na 1.
MODEL_SYNC_INTERVAL_HOURS 24 src/shared/services/modelSyncScheduler.ts Agwat ng pag-sync ng catalog ng modelo sa oras.
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 src/lib/usage/providerLimits.ts Agwat ng pag-poll sa rate limit at quota ng provider.
PROVIDER_LIMITS_SYNC_SPACING_MS 1500 src/lib/usage/providerLimits.ts Agwat (ms) sa pagitan ng magkakasunod na pagkuha ng OAuth quota sa isang bulk sync; isa-isang kinukuha ang mga koneksyong OAuth upang maiwasan ang biglaang dagsa sa upstream. Hindi ito gagamitin kapag 0 (sabay-sabay).
OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS 250 open-sse/services/quotaFetchThrottle.ts Minimum na agwat (ms) sa pagitan ng magkakasunod na upstream quota fetch sa preflight/monitor path ng bawat request; binibigyan ng pagitan ang magkakasabay na network call upang hindi magdulot ang maraming account sa iisang IP ng biglaang dagsa sa upstream. Nakakonekta sa mga quota fetcher ng Codex (/wham/usage), DeepSeek, Bailian (parehong fetch site), OpenCode, at Crof (#6009, #6911). Hindi pa saklaw ang generic na usage.ts::getUsageForProvider dispatch path (github/glm/minimax/nanogpt/xai/atbp.) — hiwalay itong sinusubaybayan. Hindi naaapektuhan ang mga cache hit. Idi-disable ng 0; nililimitahan sa 0..5000.
PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS 5000 src/lib/usage/providerLimits.ts Pagkaantala (ms) bago i-refresh ang mga limitasyon ng provider pagkatapos ng aktuwal na paggamit, upang mabigyan ng oras ang upstream quota API na maitala ang konsumo.
OMNIROUTE_LOGIN_BROWSER_PATH awtomatikong tukuyin open-sse/services/adobeFireflyBrowserLogin.ts Absolute path patungo sa system Chrome o Edge executable na ginagamit para sa interactive na pag-sign in sa Adobe Firefly at off-screen na pag-renew.
ADOBE_FIREFLY_BROWSER_REFRESH naka-enable open-sse/services/adobeFireflySession.ts Pinananatiling sariwa ang IMS at browser-risk state gamit ang mga Chrome CDP session na nakatalaga sa account. Itakda sa 0 upang i-disable ang pag-renew sa browser.
ADOBE_FIREFLY_SESSION_DISK naka-enable open-sse/services/adobeFireflySession.ts Pinapanatili sa disk ang mga naayos na Adobe session sa ilalim ng DATA_DIR sa pagitan ng mga pag-restart ng proseso. Itakda sa 0 upang sa memory lamang panatilihin ang mga session.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Minimum na pagitan sa millisecond ng mga pagsusumite para sa pag-generate sa Adobe Firefly; idi-disable ng 0 ang pagitan.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Karagdagang panahon ng paghinto sa millisecond pagkatapos ng bawat ikatlong matagumpay na pagsusumite sa Adobe.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyClient.ts Batayang backoff sa millisecond pagkatapos ng mga pansamantalang Adobe 408 response; isinasama sa pagitan ng pagsusumite sa loob ng hindi hihigit sa limang pagtatangka.
OMNIROUTE_DISABLE_BACKGROUND_SERVICES false src/instrumentation-node.ts I-disable ang lahat ng background service (sync, pagpepresyo, pag-refresh ng modelo). Kapaki-pakinabang para sa CI/test.
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS (hindi nakatakda) src/lib/config/runtimeSettings.ts Piliting i-on ang mga background task kapag natukoy ang automated test. Itakda sa 1 upang i-override ang test heuristic.
OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS 600000 src/lib/jobs/budgetResetJob.ts Dalas ng pagsusuri sa pag-reset ng badyet (ms). Pinakamababa ang 10000.
OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS 60000 src/lib/quota/connectionRecovery.ts Agwat ng maagap na pagbawi mula sa cooldown ng koneksyon (ms): muling bina-validate ang mga koneksyong lumipas na ang pansamantalang rate_limited_until, sa labas ng hot path ng kahilingan. Pinakamababa: 5000.
OMNIROUTE_DISABLE_CONNECTION_RECOVERY false src/lib/quota/connectionRecovery.ts I-disable ang maagap na scheduler ng pagbawi mula sa cooldown ng koneksyon (nalalapat pa rin ang lazy recovery sa getProviderCredentials).
OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS 1800000 src/lib/jobs/reasoningCacheCleanupJob.ts Agwat ng paglilinis ng reasoning cache (ms). Pinakamababa: 60000.
OMNIROUTE_REASONING_MIN_BUDGET hindi nakatakda (naka-disable) open-sse/services/reasoningTokenBuffer.ts Opsyonal na pinakamababang limitasyon para sa mga output budget ng thinking model: ang max_tokens ng tumatawag na nasa [256, floor) ay itinataas sa minimum na limitasyon (nililimitahan ng maximum na output ng modelo). Hindi nakatakda = hindi kailanman pinalalaki ang mga budget ng kliyente (#9507).
OMNIROUTE_LOG_EXPORT_CRON 0 * * * * src/lib/jobs/logExportJob.ts Cron expression (UTC) para sa job ng pag-export ng call log na naglalabas ng laman ng bawat naka-enable na destinasyon ng pag-export ng log.
OMNIROUTE_CONFIG_HOT_RELOAD_MS 5000 src/lib/config/hotReload.ts Agwat ng polling (ms) para sa hot-reload ng config. Tinatanggihan ang mas mababa sa 1000.
OMNIROUTE_DISABLE_REDIS_AUTH_CACHE (naka-enable) src/lib/db/apiKeys.ts Itakda sa 1 upang lampasan ang API-key auth cache na suportado ng Redis (pinipilit ang mga pagbasa sa DB).
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS 0 open-sse/services/compression/engines/rtk/filterLoader.ts Pagkatiwalaan ang mga panuntunan sa RTK project filter na pinamamahalaan ng user nang walang mahihigpit na pagsusuri ng lagda.
OMNIROUTE_LITE_MAX_TOOL_LENGTH 2000 open-sse/services/compression/lite.ts Limitasyon sa bilang ng character para sa maagap na pagpapaikli ng resulta ng tool sa Lite kapag hindi nakatakda ang lite.maxToolLength. Saklaw: 2561000000. Masusunod ang setting ng dashboard kaysa sa env na ito.
OMNI_COMPRESSION_WORKERS 2 open-sse/services/compression/compressionWorkerPool.ts Pinakamaraming sabay-sabay na synchronous RTK/Caveman worker; naghihintay sa FIFO ang mga sobrang job.
OMNI_COMPRESSION_WORKER_TIMEOUT_MS 120000 open-sse/services/compression/compressionWorkerPool.ts Timeout ng bawat job sa millisecond. Tinatapos ang mga worker na nag-timeout at nagpapatuloy ang kahilingan nang hindi binabago ang nilalaman.
OMNI_COMPRESSION_WORKER_IDLE_MS 60000 open-sse/services/compression/compressionWorkerPool.ts Tagal ng pagiging idle sa millisecond bago tapusin ang isang hindi ginagamit na compression worker.
COMPRESSION_PIPELINE_BREAKER_ENABLED false open-sse/services/compression/pipelineEngineBreaker.ts Pangunahing switch ng per-engine circuit breaker ng T02 stacked pipeline. Opsyonal (naka-off bilang default) — kapag naka-on, nilalaktawan (fail-open) sa loob ng cooldown ang isang engine na paulit-ulit na nagti-throw sa iba't ibang kahilingan; naka-off = byte-identical na dating gawi.
COMPRESSION_PIPELINE_BREAKER_THRESHOLD 3 open-sse/services/compression/pipelineEngineBreaker.ts Magkakasunod na pagkabigo sa iba't ibang kahilingan bago bumukas ang breaker ng isang engine.
COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS 30000 open-sse/services/compression/pipelineEngineBreaker.ts Bilang ng millisecond na nananatiling nilalaktawan ang isang nakabukas na engine bago ang isang half-open probe.
COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR 2 open-sse/services/compression/engines/ccr/index.ts T08/H8 CCR retrieval-feedback ramp: ang bawat naunang retrieval ng isang nakaimbak na block ay linear na nagtataas sa epektibo nitong minChars (mas kaunti ang compression sa nilalamang madalas kunin; >=3 retrieval = hindi kailanman iko-compress). Dini-disable ng 1 ang ramp (binary skip lamang kapag naabot ang threshold).
COMPRESSION_CCR_DURABLE_STORE true open-sse/services/compression/engines/ccr/index.ts Durable na imbakan ng block ng CCR (#9061). Sinusuportahan nito ang in-memory na imbakan gamit ang SQLite upang manatili ang isang block kahit maalis ito dahil sa LRU eviction o TTL, magkaroon ng restart, o mapunta ang retrieval sa ibang instance. Itakda sa false upang panatilihin lamang sa memory ang mga block. Mananatiling memory-only ang mga block na lampas 512KB at ang mga cloud runtime anuman ang setting.
COMPRESSION_PREFIX_FREEZE_ENABLED false open-sse/services/compression/prefixFreeze.ts Pangunahing switch ng T08/H5 usage-observed prefix freeze. Opt-in (naka-off bilang default) — kapag naka-on, ang system prompt na naobserbahan nang >= sa threshold ay itinuturing na stable at cacheable na prefix at pinoprotektahan mula sa compression kahit para sa mga provider na hindi natutukoy ng static cache heuristic (ang freeze ay nagpapanatili lamang at hindi kailanman nagmu-mutate).
COMPRESSION_PREFIX_FREEZE_THRESHOLD 3 open-sse/services/compression/prefixFreeze.ts Bilang ng mga obserbasyon sa isang system prompt bago ito ituring na frozen at stable na prefix.
OMNIROUTE_BOOTSTRAPPED false src/app/(dashboard)/dashboard/page.tsx Itinatakda sa true ng bootstrap script pagkatapos ng paunang pag-setup. Kinokontrol nito ang visibility ng setup wizard.
OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE 0 open-sse/executors/antigravity.ts Escape hatch: payagan ang request body na i-override ang project field ng Antigravity.
ANTIGRAVITY_CREDITS off open-sse/services/antigravityCredits.ts Patakaran sa Google One AI credits: ang off ay hindi kailanman nag-i-inject ng credits, ang retry ay isang beses na nag-i-inject pagkatapos ng kwalipikadong quota 429, at ang always ay nag-i-inject sa unang request.
ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS 0 open-sse/translator/request/openai-to-gemini.ts Payagan ang Antigravity request translator na laktawan ang mahigpit nitong validation ng CLI request signature kapag tinatanggihan ng upstream ang mga tunay na signature (debug/lumang-CLI mode). Ine-enable ng value na hindi zero ang bypass.
AGY_TOKEN_FILE ~/.gemini/antigravity-cli/antigravity-oauth-token src/app/api/providers/agy-auth/apply-local/route.ts I-override ang token-file path ng Antigravity CLI (agy) para sa awtomatikong pag-detect at pag-import ng lokal na login.

OAuth CLI Bridge (Panloob)

Variable Default Source File Paglalarawan
OMNIROUTE_SERVER auto-detect src/lib/oauth/config/index.ts URL ng server para sa CLI↔OmniRoute auth bridge.
OMNIROUTE_TOKEN (hindi nakatakda) src/lib/oauth/config/index.ts Auth token para sa CLI bridge.
OMNIROUTE_USER_ID cli src/lib/oauth/config/index.ts User ID para sa mga session ng CLI bridge.
SERVER_URL (hindi nakatakda) src/lib/oauth/config/index.ts Lumang alias para sa OMNIROUTE_SERVER.
CLI_TOKEN (hindi nakatakda) src/lib/oauth/config/index.ts Lumang alias para sa OMNIROUTE_TOKEN.
CLI_USER_ID (hindi nakatakda) src/lib/oauth/config/index.ts Lumang alias para sa OMNIROUTE_USER_ID.

11. Mga Kredensyal ng OAuth Provider

Mga built-in na kredensyal para sa pag-develop sa localhost. Para sa mga remote na deployment, irehistro ang sarili mong mga kredensyal sa developer console ng bawat provider.

Variable Provider Mga Tala
CLAUDE_OAUTH_CLIENT_ID Claude Code (Anthropic) Pampublikong client — hindi kailangan ng secret.
CLAUDE_CODE_REDIRECT_URI Claude Code I-override ang redirect URI. Default: https://platform.claude.com/oauth/code/callback
CODEX_OAUTH_CLIENT_ID Codex / OpenAI Pampublikong client.
GEMINI_OAUTH_CLIENT_ID Gemini (Google) Nangangailangan ng katugmang _SECRET.
GEMINI_OAUTH_CLIENT_SECRET Gemini (Google)
KIMI_CODING_OAUTH_CLIENT_ID Kimi Coding (Moonshot) Pampublikong client.
ANTIGRAVITY_OAUTH_CLIENT_ID Antigravity (Google) Nangangailangan ng katugmang _SECRET.
ANTIGRAVITY_OAUTH_CLIENT_SECRET Antigravity (Google)
GITHUB_OAUTH_CLIENT_ID GitHub Copilot Pampublikong client.
GHE_COPILOT_OAUTH_CLIENT_ID GHE Copilot Opsyonal na override para sa OAuth client id ng GitHub Enterprise Copilot. Kapag hindi nakatakda, gagamitin bilang fallback ang pampublikong default ng GITHUB_OAUTH_CLIENT_ID.
WINDSURF_API_KEY Windsurf / Devin (v3.8) Fallback na API key na ginagamit ng open-sse/executors/devin-cli.ts kapag walang available na kredensyal para sa bawat koneksyon. Opsyonal.
CLI_DEVIN_BIN Devin CLI (v3.8) Custom na path patungo sa Devin CLI binary (devin). Nire-resolve ng open-sse/executors/devin-cli.ts.
GITLAB_DUO_OAUTH_CLIENT_ID GitLab Duo (v3.8) OAuth client ID para sa GitLab Duo. Magrehistro ng app sa https://gitlab.com/-/profile/applications gamit ang redirect URI na <NEXT_PUBLIC_BASE_URL>/callback at mga scope na api, read_user, openid, profile, email. Gagamitin bilang fallback ang GITLAB_OAUTH_CLIENT_ID.
GITLAB_DUO_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) OAuth client secret para sa GitLab Duo. Opsyonal — hindi nangangailangan ng secret ang PKCE flow. Gagamitin bilang fallback ang GITLAB_OAUTH_CLIENT_SECRET.
GITLAB_DUO_BASE_URL GitLab Duo (v3.8) I-override ang base URL ng GitLab (self-hosted na GitLab). Ang default ay https://gitlab.com. Gagamitin bilang fallback ang GITLAB_BASE_URL.
GITLAB_BASE_URL GitLab Duo (v3.8) Legacy na fallback para sa GITLAB_DUO_BASE_URL. Ginagamit kapag hindi nakatakda ang variant na _DUO_.
GITLAB_OAUTH_CLIENT_ID GitLab Duo (v3.8) Legacy na fallback para sa GITLAB_DUO_OAUTH_CLIENT_ID na ginagamit ng src/lib/oauth/constants/oauth.ts.
GITLAB_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) Legacy na fallback para sa GITLAB_DUO_OAUTH_CLIENT_SECRET na ginagamit ng src/lib/oauth/constants/oauth.ts.
QODER_OAUTH_CLIENT_SECRET Qoder
QODER_OAUTH_AUTHORIZE_URL Qoder Itakda upang paganahin ang Qoder OAuth.
QODER_OAUTH_TOKEN_URL Qoder
QODER_OAUTH_USERINFO_URL Qoder
QODER_OAUTH_CLIENT_ID Qoder
QODER_PERSONAL_ACCESS_TOKEN Qoder Direktang fallback na API key (nilalampasan ang OAuth).
QODER_CLI_WORKSPACE Qoder Workspace ID para sa Qoder CLI.
OMNIROUTE_QODER_WORKSPACE Qoder Alias para sa QODER_CLI_WORKSPACE.
QODER_CLI_CONFIG_DIR Qoder I-override ang config dir ng Qoder CLI (nakahiwalay na session ng PAT, iniiwasang ma-overwrite ang browser login).
BLACKBOX_WEB_VALIDATED_TOKEN Blackbox Web Frontend na tk token na ipapadala bilang validated sa /api/chat. Kinakailangan kapag ipinapatupad ng Blackbox ang pagtutugma ng token; kung hindi, gumagamit ang OmniRoute ng random na UUID bilang fallback. Tingnan ang issue #2252.
VISION_BRIDGE_BASE_URL Vision Bridge guardrail OpenAI-compatible na base URL para sa mga non-Anthropic na vision-bridge call. Nagde-default sa legacy na OpenAI URL env o api.openai.com. Ituro sa sariling /v1 self-loop ng OmniRoute o sa anumang OpenAI-compat endpoint (Gemini OpenAI-compat, OpenRouter). Issue #2232. Kapag ang URL ay sariling /v1 ng OmniRoute, ipinapadala ng describe sub-request ang x-omniroute-admission-bypass: internal at nag-a-authenticate gamit ang nalutas na self-loop credential (sk_omniroute sentinel sa local mode, o OMNIROUTE_API_KEY / ROUTER_API_KEY — #1350) upang gumana ang mga deployment na may REQUIRE_API_KEY=true.
VISION_BRIDGE_API_KEY Vision Bridge guardrail API key para sa URL sa itaas. Ino-override nito ang bawat-provider na OpenAI / Google env vars para sa mga non-Anthropic na vision-bridge call. Patuloy na ginagamit ng mga Anthropic model ang nakalaan nilang Anthropic key path. Issue #2232.

Warning

  1. Pumunta sa Google Cloud Console → Credentials
  2. Gumawa ng OAuth 2.0 Client ID (uri: "Web application")
  3. Idagdag ang URL ng iyong server bilang Authorized redirect URI
  4. Palitan ang mga value ng credential sa .env.

12. Mga Override ng User-Agent ng Provider

I-override ang header na User-Agent na ipinapadala sa bawat upstream provider. Dinamikong nireresolba ito sa runtime ng executor base class:

process.env[`${PROVIDER_ID}_USER_AGENT`]

Pinagmulan: open-sse/executors/base.tsbuildHeaders()

Variable Default na Value Kailan Ia-update
CLAUDE_USER_AGENT claude-cli/2.1.258 (external, cli) Kapag naglabas ang Anthropic ng bagong bersyon ng CLI
CLAUDE_DISABLE_TOOL_NAME_CLOAK false executors/base.ts + executors/cliproxyapi.ts Itakda sa 1/true upang ipasa nang eksakto sa Anthropic ang mga pangalan ng tool ng third-party harness sa parehong path na patungong Anthropic (native OAuth at CLIProxyAPI). Bilang default, deterministikong nagtatakda ang executor ng mga alias sa mga pangalan ng tool na hindi mula sa Claude Code (canonical mapping ng Claude Code kung mayroon, at PascalCase kung wala) at ibinabalik ang mga ito sa tugon sa pamamagitan ng _toolNameMap, kaya hindi tinatanggihan ang mga harness na may mga tool na snake_case dahil napagkamalan silang mga natukoy na third-party client. Para lamang sa pag-debug.
CODEX_USER_AGENT codex-cli/0.142.0 (Windows 10.0.26200; x64) Kapag in-update ng OpenAI ang Codex CLI
CODEX_CLIENT_VERSION 0.131.0 I-override ang bersyon ng Codex client nang hiwalay sa buong UA string
CLAUDE_CODE_CLIENT_VERSION 2.1.258 I-override ang ina-advertise na bersyon ng Claude Code nang hiwalay sa CLAUDE_USER_AGENT. Nililimitahan ng Anthropic ang ilang modelo batay sa value na ito (#12417).
GITHUB_COPILOT_CLI_VERSION 1.0.81-6 I-override ang ina-advertise na bersyon ng Copilot CLI nang hiwalay sa GITHUB_USER_AGENT
GITHUB_USER_AGENT GitHubCopilotChat/0.54.0 Kapag in-update ang GitHub Copilot Chat
ANTIGRAVITY_USER_AGENT antigravity/2.0.1 darwin/arm64 Kapag in-update ang Antigravity IDE
KIRO_USER_AGENT AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 Kapag in-update ang Kiro IDE
KIRO_OAUTH_CLIENT_ID kiro-cli I-override ang clientId (pampublikong id) ng social device-code ng Kiro
KIRO_VERIFY_FULL_CRC false Opsyonal na pag-enable: buong per-frame na validation ng message CRC sa Kiro event stream (para i-debug ang mga sirang stream)
QODER_USER_AGENT Qoder-Cli Kapag in-update ang Qoder CLI
CURSOR_USER_AGENT Cursor/3.3 Kapag in-update ang Cursor

Tip

Maaari kang magdagdag ng mga override ng User-Agent para sa anumang provider gamit ang pattern na {PROVIDER_ID}_USER_AGENT. Dinamikong binubuo ng executor ang pangalan ng env var.


13. Pagkakatugma ng CLI Fingerprint

Kapag pinagana, muling inaayos ng OmniRoute ang mga HTTP header at field ng JSON body upang tumugma sa eksaktong signature ng mga opisyal na CLI tool. Binabawasan nito ang panganib na ma-flag ang account habang pinananatili ang iyong proxy IP.

Pinagmulan: open-sse/config/cliFingerprints.ts, open-sse/executors/base.ts

Bawat Provider

Variable Pag-activate Epekto
CLI_COMPAT_CODEX =1 Ginagaya ang signature ng request ng Codex CLI
CLI_COMPAT_CLAUDE =1 Ginagaya ang signature ng request ng Claude Code
CLI_COMPAT_GITHUB =1 Ginagaya ang signature ng request ng GitHub Copilot
CLI_COMPAT_ANTIGRAVITY =1 Ginagaya ang signature ng request ng Antigravity
CLI_COMPAT_CURSOR =1 Ginagaya ang signature ng request ng Cursor
CLI_COMPAT_KIMI_CODING =1 Ginagaya ang signature ng request ng Kimi Coding
CLI_COMPAT_KILOCODE =1 Ginagaya ang signature ng request ng Kilo Code
CLI_COMPAT_CLINE =1 Ginagaya ang signature ng request ng Cline

Pangkalahatan

Variable Pag-activate Epekto
CLI_COMPAT_ALL =1 Paganahin nang sabay-sabay ang fingerprint compatibility para sa lahat ng provider.

Mga override sa pagkakakilanlan ng Kimi Coding CLI

Variable Default Source File Paglalarawan
KIMI_CLI_VERSION 1.36.0 src/lib/oauth/providers/kimi-coding.ts I-override ang bersyon ng Kimi CLI na ipinapadala sa mga OAuth/API call.
KIMI_CODING_DEVICE_ID (nakuhang default) src/lib/oauth/providers/kimi-coding.ts I-override ang nakuhang Kimi device ID na ginagamit sa mga client header.

Note

Gumagana ang feature na ito kasabay ng mga User-Agent override (§12). Pinangangasiwaan ng fingerprint system ang pagkakasunod-sunod ng mga header at field ng body, habang pinangangasiwaan ng mga User-Agent override ang partikular na UA string. Maaaring paganahin ang dalawa nang magkahiwalay.


14. Mga Provider ng API Key

Mga API key para sa mga provider na gumagamit ng direktang authentication. Inirerekomendang pag-set up: Dashboard → Providers → Add API Key.

Alternatibo ang pagtatakda sa pamamagitan ng mga environment variable para sa mga Docker o headless deployment.

Kinikilalang pattern: {PROVIDER_ID}_API_KEY

Variable Provider
DEEPSEEK_API_KEY DeepSeek
NVIDIA_API_KEY NVIDIA NIM
JINA_AI_API_KEY Jina AI (Foundation API + Reader fallback)
JINA_API_KEY Jina AI (alias para sa JINA_AI_API_KEY)
GEMINI_API_KEY Gemini (Google AI Studio) embeddings + fallback ng chat
GOOGLE_API_KEY Gemini (alias para sa GEMINI_API_KEY)

Note

Inalis sa v3.8.0 ang mga static na ${PROVIDER}_API_KEY entry para sa Groq, xAI, Mistral, Perplexity, Together AI, Fireworks, Cerebras, Cohere, Nebius, at Qianfan dahil hindi na binabasa ng runtime ang mga ito — eksklusibong umaasa ang mga provider na iyon sa Dashboard / data/provider-credentials.json / naka-encrypt na DB. Tingnan ang seksyong Audit: Mga Inalis / Hindi na Ginagamit na Variable sa ibaba ng dokumentong ito para sa paraan ng migration.

Tip

Ang mga key na itinakda sa pamamagitan ng Dashboard ay iniimbak nang naka-encrypt sa SQLite at inuuna kaysa sa mga environment variable.

Jina: Ang jina-ai/… embeddings, rerank, classify, segment, at jina-search ay hindi naniningil sa isang cluster env key kapag may umiiral na dashboard connection na jina-ai (o nakabahaging jina-reader) — fill-first ang getProviderCredentials. Ginagamit lamang ang JINA_AI_API_KEY / JINA_API_KEY kapag walang magagamit na dashboard key. Itinatala ng mga call log ang env fallback bilang connection_id=env:JINA_AI_API_KEY. Hindi kailanman nagsisilbi ang Reader card (jina-reader, r.jina.ai) sa /v1/embeddings o /v1/rerank.

Gemini: Ginagamit muna ng gemini/gemini-embedding-2 (alias na google/gemini-embedding-2) ang dashboard connection na gemini. Ginagamit lamang ang GEMINI_API_KEY / GOOGLE_API_KEY kapag walang magagamit na dashboard key. Itinatala ng mga call log ang env fallback bilang connection_id=env:GEMINI_API_KEY. Gumagamit ang native multimodal traffic ng x-goog-api-key laban sa :embedContent / :batchEmbedContents — ang N OpenAI input item ay nagiging N vector.


15. Mga Setting ng Timeout

Ang lahat ng value ay nasa millisecond. Nakasentro ang pagresolba sa src/shared/utils/runtimeTimeouts.ts.

Hierarchy ng Timeout

REQUEST_TIMEOUT_MS (pangkalahatang override)
├─→ FETCH_TIMEOUT_MS (mga tawag sa upstream provider, default: 600000)
│   ├─→ FETCH_HEADERS_TIMEOUT_MS (nagmamana mula sa FETCH_TIMEOUT_MS)
│   ├─→ FETCH_BODY_TIMEOUT_MS (nagmamana mula sa FETCH_TIMEOUT_MS)
│   ├─→ TLS_CLIENT_TIMEOUT_MS (nagmamana mula sa FETCH_TIMEOUT_MS)
│   │   └── TLS_FIRST_BYTE_WATCHDOG_MS (hiwalay, default: 10000)
│   ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (hiwalay, default: 15000)
│   ├── FETCH_CONNECT_TIMEOUT_MS (hiwalay, default: 30000)
│   └── FETCH_KEEPALIVE_TIMEOUT_MS (hiwalay, default: 4000)
├─→ STREAM_IDLE_TIMEOUT_MS (nagmamana mula sa REQUEST_TIMEOUT_MS, default: 600000)
├─→ STREAM_ACTIVE_TIMEOUT_MS (hiwalay, default: 1260000; idi-disable ng 0)
├─→ STREAM_READINESS_TIMEOUT_MS (nagmamana mula sa REQUEST_TIMEOUT_MS, default: 80000)
├─→ STREAM_READINESS_MAX_TIMEOUT_MS (nililimitahan ang mga adaptive na pagpapalawig ng kahandaan, default: 180000)
└─→ API_BRIDGE_PROXY_TIMEOUT_MS (nagmamana mula sa REQUEST_TIMEOUT_MS, default: 30000)
    ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (hinango, 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 = naka-disable)
Variable Default Paglalarawan
REQUEST_TIMEOUT_MS (hindi nakatakda) Pandaigdigang shortcut — ino-override ang mga default ng FETCH_TIMEOUT_MS at STREAM_IDLE_TIMEOUT_MS.
FETCH_TIMEOUT_MS 600000 Kabuuang timeout ng HTTP request para sa mga tawag sa upstream provider.
STREAM_IDLE_TIMEOUT_MS 600000 Pinakamahabang katahimikan sa pagitan ng mga raw upstream byte bago i-abort. Bihirang huminto nang >90s ang mga extended-thinking model.
STREAM_ACTIVE_TIMEOUT_MS 1260000 Pinakamahabang kabuuang tagal ng aktibong SSE stream; hindi kailanman nagre-reset dahil sa mga upstream byte at hindi nakadepende sa REQUEST_TIMEOUT_MS. Hinango mula sa pinakamalaking timeoutMs kada modelo sa registry (1200000, Codex) at dinagdagan ng 60000 na palugit, upang hindi maputol sa kalagitnaan ng sagot ang isang modelong pinayagang gamitin ang buong budget nito. Itakda sa 0 upang i-disable.
OMNIROUTE_SSE_COMMENTS (naka-disable) Kung maaaring maglabas ang OmniRoute ng mga linyang komento na SSE : (hal. ang : keepalive heartbeat at mga x-omniroute-* metadata trailer). Naka-disable bilang default (#10524) dahil bina-JSON.parse ng mahihigpit na OpenAI-compatible client ang bawat linya ng SSE at nagka-crash sa mga komentong :; hindi naaapektuhan ang mga data: heartbeat. Itakda sa on/true/1/yes upang muling mag-opt in. Ginagamit ng open-sse/utils/sseHeartbeat.ts.
STREAM_READINESS_TIMEOUT_MS 80000 Oras upang matanggap ang unang hindi ping na SSE event. Minamana ang REQUEST_TIMEOUT_MS kapag nakatakda ito.
STREAM_READINESS_MAX_TIMEOUT_MS 180000 Pinakamahabang adaptive na readiness window para sa unang event ng malalaki, maraming tool, o high-reasoning na streaming request.
OMNIROUTE_AGENT_GOAL_POLICY_ENABLED true Kill-switch para sa /goal heuristic. Itakda sa false/0/off upang ganap na i-disable ang detection — hindi kailanman itinataas ng request body/header ang mga readiness timeout at stream recovery, na nagpapahina sa pagpapahaba ng timeout na kontrolado ng client.
OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS 600000 Pinakamahabang readiness window para sa unang event ng mga natukoy na /goal agent run o mga request na pinilit gamit ang x-omniroute-agent-goal.
OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY true Awtomatikong i-enable ang maagang stream recovery para sa mga natukoy na /goal agent run. Itakda sa false/0/off upang i-disable ang opt-in na partikular sa goal. Maaari lamang itong MAGDAGDAG ng recovery sa ibabaw ng default ng operator — hindi nito kailanman ino-override ang tahasang pag-opt out sa mga setting ng STREAM_RECOVERY_ENABLED/DB.
OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS true Alisin ang mga hindi pamantayang codex.* SSE event (hal. codex.rate_limits) na sumisira sa responses.stream() ng OpenAI SDK sa pamamagitan ng 502. NAKA-ON bilang default (#11014). Itakda sa 0/false/no/off upang i-forward ang mga ito.
OMNIROUTE_CODEX_APPSERVER_WS (hindi nakatakda) Opt-in na Codex app-server transport. WebSocket endpoint (ws:///wss://) ng isang lokal na codex app-server sidecar. Kapag itinakda kasama ng isang token, ipinapadaan ang mga Codex request sa JSON-RPC patungo sa sidecar sa halip na sa HTTP Responses API. Maaari ring itakda kada koneksyon sa pamamagitan ng providerSpecificData.codexAppServerUrl. Ginagamit ng open-sse/executors/codex/appServerConfig.ts.
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN (hindi nakatakda) Inline na capability/bearer token na ipinapakita sa app-server. Override kada koneksyon: providerSpecificData.codexAppServerToken.
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE (hindi nakatakda) Path patungo sa file na naglalaman ng capability token ng app-server (mula sa codex app-server --ws-token-file). Ginagamit kapag hindi nakatakda ang OMNIROUTE_CODEX_APPSERVER_WS_TOKEN. Override kada koneksyon: providerSpecificData.codexAppServerTokenFile.
OMNIROUTE_CODEX_APPSERVER_CWD /tmp Working directory kung saan tumatakbo ang app-server turn. Override kada koneksyon: providerSpecificData.codexAppServerCwd.
OMNIROUTE_CODEX_APPSERVER_APPROVAL (hindi nakatakda) Patakaran sa pag-apruba na ipinapasa sa app-server turn (hal. never, on-request). Override kada koneksyon: providerSpecificData.codexAppServerApprovalPolicy.
OMNIROUTE_CODEX_APPSERVER_SANDBOX (hindi nakatakda) Patakaran sa sandbox na ipinapasa sa app-server turn (hal. read-only, workspace-write, danger-full-access). Kapag hindi nakatakda, nagde-default ang executor sa workspace-write (mas pinatibay; dati ay danger-full-access). Override kada koneksyon: providerSpecificData.codexAppServerSandbox.
OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE false Awtomatikong aprubahan ang sariling mga prompt sa pag-apruba ng app-server (pagpapatupad ng command/file/pahintulot sa host). Naka-off bilang default — awtomatikong tinatanggihan ang mga prompt; hindi naaapektuhan ang mga harness tool call (dumadaan ang mga ito sa hiwalay na item/tool/call passthrough). Tumatanggap ng true/1/yes. Override kada koneksyon: providerSpecificData.codexAppServerAutoApprove.
FETCH_HEADERS_TIMEOUT_MS = FETCH_TIMEOUT_MS Oras upang matanggap ang mga response header.
OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS 30000 (30s) Pinakamahabang paghihintay sa pagsisimula ng tugon (ms) para sa bawat direktang pagtatangkang walang proxy. Kapag nag-timeout, susubukan itong muli nang isang beses sa bagong socket; itakda sa 0 upang huwag paganahin ang limitasyon at panatilihin ang dating gawi.
FETCH_BODY_TIMEOUT_MS = FETCH_TIMEOUT_MS Oras upang matanggap ang buong body ng tugon.
FETCH_CONNECT_TIMEOUT_MS 30000 Timeout sa pagtatatag ng koneksiyong TCP.
FETCH_KEEPALIVE_TIMEOUT_MS 4000 Timeout kapag idle ang keep-alive socket.
TLS_CLIENT_TIMEOUT_MS = FETCH_TIMEOUT_MS Timeout ng TLS fingerprint proxy (wreq-js).
TLS_FIRST_BYTE_WATCHDOG_MS 10000 Nililimitahan ang oras hanggang sa unang byte, partikular sa body ng TLS-fingerprint transport ng wreq-js; hindi kayang matukoy ng TLS_CLIENT_TIMEOUT_MS lamang ang natigil na body dahil nare-resolve ito sa sandaling dumating ang mga header (#12656). Kinakansela ng timeout ang wreq reader at bumabalik sa direct/proxy dispatcher; hindi pinapagana ng 0 ang watchdog.
RESPONSES_FIRST_BYTE_TIMEOUT_MS 15000 Para lamang sa OpenCode executor, at kapag naka-on lamang ang OPENCODE_RESPONSES_STALL_ROTATION feature flag (naka-off bilang default): nililimitahan ang paghihintay sa unang byte ng body ng isang naka-stream na tugon ng Responses pagkatapos ng mga header nito (#13484). Nagbubukas ang isang stream ng Responses gamit ang response.created, kaya ang kawalan ng tugon lampas sa palugit na ito ay itinuturing na pagkaantala: ilalagay sa cooldown ang account at iikot nang isang beses ang kahilingan patungo sa susunod na account; agad na mabibigo ang pangalawang pagkaantala. Hindi pinapagana ng 0 ang proteksiyong ito kahit naka-on ang flag.
API_BRIDGE_PROXY_TIMEOUT_MS 30000 Timeout ng proxy hop para sa mga kahilingan sa /v1 bridge.
FIRECRAWL_BASE_URL https://api.firecrawl.dev Ituro ang Firecrawl web-fetch executor sa isang self-hosted na instance (opsyonal ang API key kapag off-cloud).
FIRECRAWL_TIMEOUT_MS 30000 Timeout kada kahilingan para sa Firecrawl web-fetch executor.
API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS 300000 Pangkalahatang timeout ng kahilingan sa server para sa bridge.
API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS 60000 Oras upang ipadala ang mga header ng tugon sa pamamagitan ng bridge.
API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS 5000 Timeout kapag idle ang keep-alive ng bridge.
API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS 0 Timeout ng raw socket (0 = hindi pinagana).
SHUTDOWN_TIMEOUT_MS 30000 Palugit sa SIGTERM/SIGINT bago ang sapilitang pag-exit.
OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS 120000 Fallback na ginagamit ng src/shared/utils/fetchTimeout.ts kapag hindi nakatakda ang FETCH_TIMEOUT_MS.
OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS 8000 Timeout (ms) para sa mga preset na validationRead at modelsProbe sa src/shared/network/safeOutboundFetch.ts. Taasan para sa mababagal na endpoint (Cerebras, Cloudflare AI, Groq) upang maiwasan ang pabago-bagong paglipat sa pagitan ng active/error sa dashboard. Bumabalik sa 8000ms para sa mga invalid (<1000) o hindi numerikong value.
OMNIROUTE_RELAY_FETCH_TIMEOUT_MS 25000 Timeout sa pag-fetch na partikular sa relay sa open-sse/utils/proxyFetch.ts (#9158). Dapat mabigo ang isang natigil na relay bago ang timeout ng client/agent (~30s) upang makakita ang mga tumatawag ng kabiguang partikular sa relay sa halip na generic na upstream timeout. Nililimitahan sa 29000 upang palagi itong maunang ma-trigger.
OMNIROUTE_RETRY_BACKOFF_MS 10 Pinagsasaluhang retry backoff para sa mga path na sumusubok muli nang isang beses para sa direct/relay/proxy sa open-sse/utils/proxyFetch.ts (#9158). 0 = subukang muli kaagad.
OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS 60000 Timeout ng native na kahilingan ng wreq-js (claudeTlsClient.ts).
OMNIROUTE_CLAUDE_TLS_GRACE_MS 10000 Palugit sa ganap na hard deadline ng JS na idinaragdag sa native timeout.
OMNIROUTE_PPLX_TLS_TIMEOUT_MS 30000 Timeout ng native na kahilingan ng wreq-js (perplexityTlsClient.ts).
OMNIROUTE_PPLX_TLS_GRACE_MS 10000 Palugit sa ganap na hard deadline ng JS na idinaragdag sa native timeout.
OMNIROUTE_PPLX_SEARCH_HINT 0 (naka-off) Idinaragdag ang "Mayroon kang built-in na paghahanap sa web. Direktang sagutin ang mga tanong gamit ang mga resulta ng paghahanap." sa system message ng tumatawag (perplexity-web/protocol.ts). Naka-off bilang default — naghahanap pa rin ang Perplexity, at lumalabas ang pangungusap sa mga tugon bilang meta-commentary para sa mga coding client. Itakda sa 1/true/yes/on upang ibalik.
OMNIROUTE_GROK_TLS_TIMEOUT_MS 60000 Timeout ng native na wreq-js request (grokTlsClient.ts).
OMNIROUTE_GROK_TLS_GRACE_MS 10000 Palugit sa ganap na JS hard deadline na idinaragdag sa native timeout.
OMNIROUTE_NOTION_TLS_TIMEOUT_MS 30000 Timeout ng native na wreq-js request (notionTlsClient.ts); itinataas ito ng notion-web kada request sa 180000 para sa mahahabang pagbuo.
OMNIROUTE_NOTION_TLS_GRACE_MS 10000 Palugit sa ganap na JS hard deadline na idinaragdag sa native timeout.
OMNIROUTE_BROWSER_POOL on Nakabahaging Playwright browser pool para sa web-cookie chat na sinusuportahan ng browser (browserPool.ts); itakda sa off upang i-disable.
OBSCURA_BIN auto-detect Path patungo sa obscura binary na ginagamit bilang pangunahing engine ng browser pool at Cloudflare Playground executor (open-sse/services/obscura.ts); awtomatikong nade-detect mula sa system PATH kapag hindi nakatakda.
OBSCURA_CDP_ENDPOINT (hindi nakatakda) Ituro sa tumatakbo nang Obscura (http://host:port) sa halip na mag-spawn ng isa; hindi pagmamay-ari ng module ang prosesong iyon (open-sse/services/obscura.ts).
OBSCURA_PORT random free port Tahasang port para sa na-spawn na obscura serve; awtomatikong pipili ng libreng port kapag hindi nakatakda (open-sse/services/obscura.ts).
WEB_COOKIE_USE_BROWSER 0 Isama ang isang web-cookie chat request sa path na sinusuportahan ng browser (browserBackedChat.ts); 1 upang i-enable.
KIMI_WEB_BASE_URL https://www.kimi.ai Base URL para sa Kimi Web (internasyonal na kimi.ai Connect-RPC) executor (kimi-web.ts); i-override lamang para sa mga mirror/proxy endpoint.
KIMI_WEB_CHAT_URL <KIMI_WEB_BASE_URL>/apiv2/kimi.gateway.chat.v1.ChatService/Chat Buong chat endpoint para sa Kimi Web executor (kimi-web.ts).
OMNIROUTE_LOGIN_BROWSER_PATH (awtomatikong nade-detect) Path patungo sa isang system Chrome/Edge executable para sa interactive browser sign-in ng Adobe Firefly (adobeFireflyBrowserLogin.ts); ino-override ang awtomatikong pag-detect ayon sa OS.
OMNIROUTE_STANDALONE_DIR .build/ standalone output Build-time override para sa standalone output directory na ginagamit ng post-build colocation step (scripts/build/colocate-standalone.mjs); para sa build tooling, hindi sa runtime.

Namamana ng mga pagsubok sa combo target ang nalutas na timeout ng upstream request (FETCH_TIMEOUT_MS, o REQUEST_TIMEOUT_MS kapag ito ang nagbibigay ng default para sa fetch). Itakda ang targetTimeoutMs sa isang combo, mga default ng combo, o provider override kung nais lamang pabilisin ang combo fallback; ang mga value na mas mataas sa kasalukuyang upstream timeout ay nililimitahan sa upstream timeout.

Ang comboTimeoutMs ay isang hiwalay na wall-clock budget para sa buong combo sa lahat ng failover target. Huwag itong itakda o itakda sa 0 upang panatilihing walang limitasyon ang iteration (nalalapat pa rin ang 10 minutong COMBO_LOOP_SAFETY_TIMEOUT_MS na panghinto sa pag-hang). Pinapalitan ng positibong value ang safety net na iyon para sa combo. Panatilihing mas mahaba ang comboTimeoutMs kaysa sa targetTimeoutMs upang may oras pa rin ang failover pagkatapos ng mabagal na unang target.

Mga Threshold ng Circuit Breaker

Pag-tune ng circuit breaker sa antas ng provider. Sinasalamin ng mga default ang mga naka-scale na value na ginagamit mula pa noong v3.6 para sa 500+ koneksyon.

Variable Default Source File Paglalarawan
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD 8 open-sse/config/constants.ts Threshold ng magkakasunod na pagkabigo para sa mga OAuth provider bago mag-trigger ang breaker.
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS 60000 open-sse/config/constants.ts Palugit bago mag-reset (ms) para sa breaker ng OAuth provider.
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD 12 open-sse/config/constants.ts Threshold ng magkakasunod na pagkabigo para sa mga API-key provider.
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS 30000 open-sse/config/constants.ts Palugit bago mag-reset (ms) para sa breaker ng API-key provider.
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD 2 open-sse/config/constants.ts Threshold ng magkakasunod na pagkabigo para sa mga lokal na provider (Ollama, LM Studio, ...).
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS 15000 open-sse/config/constants.ts Palugit bago mag-reset (ms) para sa breaker ng lokal na provider.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD 10 open-sse/config/constants.ts Breaker sa antas ng provider: mga pagkabigo sa loob ng palugit bago pumasok sa cooldown ang buong OAuth provider.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS 900000 open-sse/config/constants.ts Breaker sa antas ng provider: rolling window ng bilang ng pagkabigo (ms) para sa mga OAuth provider.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS 300000 open-sse/config/constants.ts Breaker sa antas ng provider: cooldown (ms) kapag naabot ang threshold ng OAuth provider.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD 5 open-sse/config/constants.ts Papasok ang OAuth provider sa DEGRADED sa ganitong bilang ng mga pagkabigo.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER 8 open-sse/config/constants.ts Pinakamataas na multiplier ng pagtaas ng resetTimeout para sa OAuth provider.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT 2 open-sse/config/constants.ts Tataas ang antas ng backoff ng OAuth provider pagkatapos ng ganitong bilang ng mga open cycle.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD 15 open-sse/config/constants.ts Breaker sa antas ng provider: mga pagkabigo sa loob ng palugit bago pumasok sa cooldown ang buong API-key provider.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS 1800000 open-sse/config/constants.ts Breaker sa antas ng provider: rolling window ng bilang ng pagkabigo (ms) para sa mga API-key provider.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS 600000 open-sse/config/constants.ts Breaker sa antas ng provider: cooldown (ms) kapag naabot ang threshold ng API-key provider.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD 7 open-sse/config/constants.ts Papasok ang API-key provider sa DEGRADED sa ganitong bilang ng mga pagkabigo.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER 4 open-sse/config/constants.ts Pinakamataas na multiplier ng pagtaas ng resetTimeout para sa API-key provider.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT 3 open-sse/config/constants.ts Tataas ang antas ng backoff ng API-key provider pagkatapos ng ganitong bilang ng mga open cycle.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD 2 open-sse/config/constants.ts Breaker sa antas ng provider: mga pagkabigo bago pumasok sa cooldown ang buong lokal na provider.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS 300000 open-sse/config/constants.ts Breaker sa antas ng provider: rolling window ng bilang ng pagkabigo (ms) para sa mga lokal na provider.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS 60000 open-sse/config/constants.ts Breaker sa antas ng provider: cooldown (ms) kapag naabot ang threshold ng lokal na provider.
PIN_DROP_BACKOFF_LEVEL 2 open-sse/services/combo.ts Lalim ng backoff kung saan itinuturing na patuloy na hindi maayos ang provider ng isang context-cache pin at inaalis ang pin para sa failover.
PIN_DROP_GRACE_MS 20000 open-sse/services/combo.ts Anti-flap window (ms) na nagpapahintulot sa maiikling pansamantalang cooldown bago alisin ang isang context-cache pin.

Mga Sitwasyon

Sitwasyon Configuration
Matagalang pagbuo ng code REQUEST_TIMEOUT_MS=900000 (15 min)
Limitadong kabuuang tagal ng stream STREAM_ACTIVE_TIMEOUT_MS=1260000 (21 min)
Mabilis na pagkabigo para sa production API API_BRIDGE_PROXY_TIMEOUT_MS=10000
Mga modelong may pinalawig na pag-iisip STREAM_IDLE_TIMEOUT_MS=300000 (5 min sa pagitan ng mga chunk)

16. Pagla-log

Nagsusulat ang sistema ng pagla-log sa stdout at sa mga iniikot na log file. Binabasa ang lahat ng configuration mula sa src/lib/logEnv.ts.

Variable Default Paglalarawan
APP_LOG_LEVEL info Pinakamababang antas ng log: debug, info, warn, error.
APP_LOG_FORMAT text Format ng output: text (nababasa ng tao) o json (nakabalangkas).
APP_LOG_TO_FILE true Isulat ang mga log sa file kasabay ng stdout.
APP_LOG_FILE_PATH logs/application/app.log Path ng log file (kaugnay sa root ng proyekto o DATA_DIR).
APP_LOG_MAX_FILE_SIZE 50M Pinakamalaking laki ng file bago ito i-rotate. Tinatanggap ang: 50M, 1G, 512K, o mga byte lamang.
APP_LOG_RETENTION_DAYS 7 Bilang ng araw na pananatilihin ang mga iniikot na application log file.
APP_LOG_MAX_FILES 20 Pinakamataas na bilang ng mga backup ng iniikot na log file.
CALL_LOG_RETENTION_DAYS 7 Bilang ng araw na pananatilihin sa database ang mga entry ng request/call log.
CALL_LOG_MAX_ENTRIES 10000 Pinakamataas na bilang ng mga call log entry sa in-memory buffer.
CALL_LOGS_TABLE_MAX_ROWS 100000 Pinakamataas na bilang ng mga row sa SQLite table na call_logs bago mag-prune.
ENABLE_REQUEST_LOGS (hindi nakatakda) Sapilitang i-on o i-off ang detalyadong pagla-log ng request, na mananaig sa setting ng dashboard.
MAX_PENDING_REQUEST_AGE_MS 3600000 (1 oras) Pinakamataas na edad ng mga naulilang aktibong request log entry bago ang in-memory cleanup.
CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS false Iimbak ang mga stream chunk sa mga pipeline artifact kapag call_log_pipeline_enabled=true. Opsyonal (true) — naka-off bilang default upang makatipid ng espasyo sa disk.
CALL_LOG_PIPELINE_MAX_SIZE_KB 512 Pinakamalaking laki sa KB ng pipeline call log artifact kapag call_log_pipeline_enabled=true.
PROXY_LOGS_TABLE_MAX_ROWS 100000 Pinakamataas na bilang ng mga row sa SQLite table na proxy_logs bago mag-prune.
PROXY_LOG_INCLUDE_IPS false Isama ang mga client/egress IP at account prefix sa mga console log na [ProxyEgress]. Pinananatili ng mga proxy-log record sa dashboard/database ang kumpletong detalye.
APP_LOG_ROTATION_CHECK_INTERVAL_MS 60000 (1 min) Gaano kadalas muling sinusuri ng src/lib/logRotation.ts ang laki ng aktibong log file.
CHAT_LOG_TEXT_LIMIT 65536 Pinakamahabang string na pananatilihin sa mga chat log artifact (default na 64 KB).
CHAT_LOG_ARRAY_TAIL_ITEMS 128 Bilang ng mga array item na pananatilihin mula sa dulo kapag tina-truncate ang mga chat log payload.
CHAT_LOG_MAX_DEPTH 6 Pinakamalalim na antas ng nesting bago i-truncate ang mga chat log payload.
CHAT_LOG_MAX_OBJECT_KEYS 80 Pinakamataas na bilang ng mga object key na pananatilihin sa mga chat log payload (0 = walang limitasyon).
CHAT_LOG_MAX_BODY_KB 1024 Laki ng buong request/response body (KB) bago ito palitan ng simpleng buod sa halip na buong clone. Taasan ito kung nagpapakita ang mahahabang agentic na pag-uusap ng placeholder sa halip na mga tunay na mensahe sa dashboard.
CHAT_DEBUG_FILE false Kapag true, nilalaktawan ng serializeArtifactForStorage ang truncation batay sa laki. Para lamang sa pag-debug.

17. Pag-optimize ng Memorya

Variable Default Paglalarawan
OMNIROUTE_MEMORY_MB auto (pisikal na makina); 1024 sa Docker image Inirerekomendang limitasyon ng V8 heap (MB) para sa Docker/standalone. Kapag hindi nakatakda, dynamic itong kino-calibrate (~35% ng system RAM, nililimitahan sa [512, 4096]); ang 512 ay minimum lamang kapag hindi mabasa ang kabuuang memorya. Sa run-standalone.mjs (Docker CMD), idinadagdag ang isang tahasang value bilang --max-old-space-size at ito ang nangingibabaw sa sumasalungat na NODE_OPTIONS heap flag (huling flag ng V8). Mas pinipili pa rin ng omniroute serve ang umiiral na NODE_OPTIONS heap (#5238). Huwag itakda ang dalawa sa magkaibang numero — nagla-log ang proseso ng babala na binabanggit ang parehong value at ang mananaig. Palaging itinatakda ng opisyal na Docker image ang 1024, kaya hindi kailanman tumatakbo roon ang calibration. Nangangailangan ang coding-agent /v1/responses ng 819212288 at karagdagang cgroup headroom — tingnan ang Gabay sa Docker — runtime RAM.
PROMPT_CACHE_MAX_SIZE 50 Maximum na bilang ng naka-cache na system prompt entry.
PROMPT_CACHE_MAX_BYTES 2097152 (2 MB) Maximum na kabuuang laki ng prompt cache.
PROMPT_CACHE_TTL_MS 300000 (5 min) TTL ng entry sa prompt cache.
SEMANTIC_CACHE_MAX_SIZE 100 Maximum na bilang ng naka-cache na response na may temperature=0.
SEMANTIC_CACHE_MAX_BYTES 4194304 (4 MB) Maximum na kabuuang laki ng semantic cache.
SEMANTIC_CACHE_TTL_MS 1800000 (30 min) TTL ng entry sa semantic cache.
OMNIROUTE_CORPUS_CACHE_SIZE 5 Mga root ng lokal na corpus na sabay-sabay na nagpapanatili ng aktibong in-memory index (src/lib/localCorpus/configured.ts). LRU: kapag naabot ang limitasyon, inaalis ang index ng root na pinakamatagal nang hindi nagagamit at muli itong binubuo sa susunod na query nito. Nililimitahan ito sa minimum na 1; bumabalik sa default ang value na hindi numeric.
STREAM_HISTORY_MAX 50 Maximum na bilang ng kamakailang stream event sa buffer ng live view ng Dashboard.
CONTEXT_LENGTH_DEFAULT 128000 Pangkalahatang fallback na maximum na haba ng context para sa mga model na walang tahasang config.
USAGE_TOKEN_BUFFER 100 Karagdagang token headroom na nakalaan kapag sinusubaybayan ang mga quota sa paggamit.

Compression

Variable Default Paglalarawan
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS hindi nakatakda Pagkatiwalaan ang .rtk/filters.json ng proyekto nang walang .rtk/trust.json hash. Gamitin lamang sa kontroladong lokal na development.

Memory Engine (plano 21)

Gastos sa event loop ng memorya, mga skill, at pag-refresh ng token (#10349)

Ang OmniRoute ay isang proseso ng Node. Ang pagkuha/pagbawi ng memorya, pag-inject ng mga skill, at pag-refresh ng provider token ay tumatakbo sa parehong event loop na ginagamit ng GET /healthz at ng dashboard. Hindi worker thread ang mga ito.

Gawain Code Default Kontrol ng operator
Pagkuha / pagbawi ng memorya src/lib/memory/ Dashboard memoryEnabled (naka-on bilang default) I-off ang Settings → Memory. Walang hiwalay na env kill switch bukod sa pag-disable ng feature sa settings.
Pag-inject ng mga skill src/lib/skills/injection.ts Dashboard skillsEnabled (naka-on bilang default) I-off ang Settings → Memory/Skills (skillsEnabled). Nililimitahan lamang ng mga sandbox knob sa ibaba ang pagpapatupad kapag naka-on na ang injection.
Pag-refresh ng token src/sse/services/tokenRefresh.ts Naka-on para sa mga nakakonektang OAuth/web provider Idiskonekta ang provider o hayaang manatiling valid ang mga token; wala pang TOKEN_REFRESH=0 env sa kasalukuyan.

Kung mabagal ang /healthz sa isang walang gaanong ginagawa na makina, i-disable muna ang memory + skills, pagkatapos ay tingnan ang catalog/compression load (#10303, #9685). Nagbibigay-daan ang mga feature na ito sa ibang gawain sa mga puntong may await, ngunit nakikipag-agawan pa rin ang mga ito para sa iisang thread.

Mga knob para sa embedding layer, vector store, at reranking ng persistent memory subsystem (src/lib/memory/).

Variable Default Paglalarawan
MEMORY_EMBEDDING_CACHE_TTL_MS 300000 (5 min) TTL para sa in-memory embedding cache (bawat source/model/dim signature).
MEMORY_EMBEDDING_CACHE_MAX 1000 Pinakamaraming LRU entry na pananatilihin sa embedding cache.
MEMORY_TRANSFORMERS_MODEL Xenova/all-MiniLM-L6-v2 HF repo id para sa opt-in na lokal na MiniLM pipeline ng @huggingface/transformers (~23 MB int8, ~400 MB RAM).
MEMORY_STATIC_MODEL minishlab/potion-base-8M HF repo id para sa static potion/Model2Vec lookup-table embedder. Dina-download nang paunti-unti kapag kailangan sa cache dir.
MEMORY_STATIC_CACHE_DIR <DATA_DIR>/embeddings Directory na ginagamit upang i-cache ang mga static potion model file. Bilang default, nasa ilalim ito ng DATA_DIR kapag hindi itinakda.
HF_HUB_ENDPOINT https://huggingface.co I-override ang Hugging Face Hub base URL na ginagamit ng staticPotion.ts (hal. mirror endpoint para sa mga air-gapped na setup).
MEMORY_VEC_TOP_K 20 Default na top-K na ginagamit ng sqlite-vec brute-force vector search sa loob ng src/lib/memory/vectorStore.ts.
MEMORY_RRF_K 60 Reciprocal Rank Fusion constant na k para sa hybrid na FTS5 + vector retrieval (sqlite-vec recipe).
VECTOR_STORE_DISABLE_VEC false Test/diagnostic seam sa getVectorStore() (src/lib/memory/vectorStore.ts): kapag true, sapilitang ginagawang null ang vector store (ginagaya ang isang cloud/WASM environment na walang sqlite-vec), kaya bumababa ang memory retrieval sa FTS5 keyword search. Huwag itong itakda sa production.
NOTION_API_KEY (hindi nakatakda) API key para sa Notion backend (ginagamit ng kilalang backend preset ng genericBackend.ts).
NOTION_API_URL https://api.notion.com/v1 Base URL para sa Notion API (maaaring i-override para sa mga self-hosted na alternatibo sa Notion).
OBSIDIAN_API_KEY (hindi nakatakda) API key para sa Obsidian Vault backend (ginagamit ng kilalang backend preset ng genericBackend.ts).
OBSIDIAN_API_URL http://localhost:27123 Base URL para sa Obsidian Vault API (maaaring i-override para sa remote vault).
MEMORY_TYPED_DECAY_ENABLED false Pangunahing switch ng TV6 typed memory decay. Opt-in (naka-off bilang default)binubura ng sweep ang mga memoryang nag-decay. Kapag naka-off ito, purong telemetry lamang ang access_count/last_accessed_at at walang anumang binubura.
MEMORY_TYPED_DECAY_EPISODIC_DAYS 30 TTL (mga araw) kung kailan nagde-decay ang isang hindi nagamit na episodic memory. Ginagawa rin itong immune ng 0. Laging immune ang mga durable na uri (factual/procedural/semantic). Muling ibinabatay ang decay clock sa last_accessed_at.
MEMORY_TYPED_DECAY_ACCESS_IMMUNITY 3 Ang memoryang na-inject nang >= sa ganitong karaming beses ay nagiging immune sa decay anuman ang uri. Dini-disable ng 0 ang access immunity.
MEMORY_TYPED_DECAY_SWEEP_INTERVAL 0 (naka-disable) Interval (mga segundo) para sa opsyonal na periodic decay sweep sa src/lib/memory/typedDecay.ts. 0/hindi nakatakda = walang periodic sweep. Dalawang beses na opt-in: kailangan din ng MEMORY_TYPED_DECAY_ENABLED=true.
OMNIROUTE_STRICT_SYSTEM_PROVIDERS (hindi nakatakda) Mga provider id na pinaghihiwalay ng kuwit (case-insensitive) na tumatanggap ng system message sa index 0 lamang (src/lib/memory/injection.ts). Para sa mga ito, hindi ligtas sa mga multi-turn conversation ang cache-safe na mid-array memory splice, kaya sa halip ay pinagsasama/idinaragdag sa unahan ang memory bilang nangungunang system message. Bilang default, xiaomi-mimo/mimo lamang; palawakin para sa mga self-hosted na OpenAI-compatible endpoint (hal. Qwen3.5+/3.6) na ang chat template ay nagpapatupad ng parehong constraint na iisang nangungunang system message.

Halimbawa ng Docker na May Mababang RAM

Para sa dashboard lamang ang 128. Nagkakaroon ang mga coding agent sa heap na ito ng FATAL ERROR habang tumatakbo ang mahahabang /v1/responses. Huwag gamitin ang halimbawang ito bilang Claude/Codex/Grok gateway.

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. Pag-sync ng Presyo

Awtomatikong pag-synchronize ng datos ng pagpepresyo ng modelo mula sa mga panlabas na source.

Variable Default Source File Paglalarawan
PRICING_SYNC_ENABLED false src/lib/pricingSync.ts Opsyonal na pana-panahong pag-sync ng presyo.
PRICING_SYNC_INTERVAL 86400 (24h) src/lib/pricingSync.ts Agwat ng pag-sync sa segundo.
PRICING_SYNC_SOURCES litellm src/lib/pricingSync.ts Mga source ng datos na pinaghihiwalay ng kuwit.

Pag-sync ng Arena ELO

Variable Default Source File Paglalarawan
ARENA_ELO_SYNC_ENABLED true src/shared/constants/featureFlagDefinitions.ts Pana-panahong pag-sync ng ELO ng leaderboard ng Arena AI, na maaaring i-configure mula sa Dashboard Feature Flags o i-opt out gamit ang false.
MODELS_CATALOG_PREFIX_MODE dual src/shared/constants/featureFlagDefinitions.ts, src/app/api/v1/models/catalog.ts Anyo ng prefix na ginagamit para sa mga model id sa GET /v1/models. Inilalathala ng dual ang prefix ng maikling alias at ang canonical na prefix ng provider para sa bawat modelo (backward compatibility — halos dinodoble ang catalog); naglalabas ang alias ng isang id bawat modelo; ang canonical ay naglalabas lamang ng buong provider-id prefix (ang mga provider na ang alias ay canonical id na rin ay nagpapanatili ng kanilang nag-iisang entry). Maaaring i-override ng mga client ang bawat request gamit ang ?prefix=alias. Tingnan ang API_REFERENCE.
ARENA_ELO_SYNC_INTERVAL 86400 (24h) src/lib/arenaEloSync.ts Agwat ng pag-sync sa segundo.

Provider ng PromptQL Playground (Hindi Opisyal/Eksperimental)

Reverse-engineered na GraphQL session bridge para sa prompt.ql.app (src/shared/constants/providers/web-cookie.ts). Opsyonal ang lahat — ang mga default ay tumuturo sa mga pampublikong endpoint ng playground; i-override lamang para sa isang self-hosted/alternatibong deployment ng PromptQL.

Variable Default Source File Paglalarawan
PROMPTQL_GRAPHQL_ENDPOINT https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql open-sse/executors/promptql.ts GraphQL endpoint na ginagamit para sa mga operasyon ng chat/session.
PROMPTQL_CREDITS_ENDPOINT https://data.pro.ql.app/v1/graphql open-sse/executors/promptql.ts, open-sse/services/usage/promptql.ts GraphQL endpoint na ginagamit upang i-query ang balanse/paggamit ng credit.
PROMPTQL_TOKEN_REFRESH_URL https://auth.pro.ql.app/ddn/project/token open-sse/executors/promptql.ts Endpoint na ginagamit para sa best-effort na pag-refresh ng token.
PROMPTQL_POLL_TIMEOUT_MS 180000 open-sse/executors/promptql.ts Pinakamahabang oras (ms) ng pag-poll sa thread_events bago mag-timeout.

HyperAgent Web Provider (Hindi Opisyal/Eksperimental)

Na-reverse-engineer na session bridge para sa hyperagent.com (src/shared/constants/providers/web-cookie.ts). Opsyonal — nakaturo ang default sa pampublikong endpoint ng billing/paggamit; i-override lamang para sa self-hosted/alternatibong deployment ng HyperAgent.

Variable Default Source File Paglalarawan
HYPERAGENT_USAGE_URL https://hyperagent.com/api/settings/billing/usage open-sse/services/usage/hyperagent.ts Endpoint na ginagamit upang kunin ang mga credit block ng billing/paggamit.

Mga Quota sa Paggamit ng Kilo Code

Pagkuha ng personal na balanseng USD at paggamit ng Kilo Pass para sa provider na Kilo Code. Opsyonal — nakaturo ang default sa pampublikong Kilo API; i-override lamang para sa relay/test fixture. Ginagamit ng authentication ang umiiral na OAuth access token ng koneksyon.

Variable Default Source File Paglalarawan
KILO_API_URL https://api.kilo.ai open-sse/services/usage/kilocode.ts Base URL na ginagamit upang kunin ang personal na balanse sa Kilo Code at paggamit ng Kilo Pass.

Adobe Firefly Web Provider (Hindi Opisyal/Eksperimental)

Pag-refresh ng session na pinapatakbo sa pamamagitan ng browser para sa Adobe Firefly web provider (open-sse/services/adobeFireflyBrowserLogin.ts, open-sse/services/adobeFireflySession.ts, open-sse/services/adobeFireflyClient.ts). Opsyonal — iniangkop ang lahat ng default para sa isang normal na desktop install.

Inalis sa #9255. Ang lumang CDP-attached Chrome runtime (adobeFireflyChromeRuntime.ts) ay pinalitan ng isang Playwright browser-login service, at hindi na umiiral ang mga setting nito. Ang mga variable na ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART, pati ang ADOBE_FIREFLY_LOGIN_WAIT_MS at ADOBE_FIREFLY_FORTER_WAIT_MS, ay hindi binabasa saanman sa codebase — walang epekto ang pagtatakda sa mga ito.

Variable Default Source File Paglalarawan
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts Itakda sa 1 para sa tunay na headless Chrome (kilalang hindi gumagana para sa pag-generate; para lamang sa pag-debug).
ADOBE_FIREFLY_BROWSER_REFRESH 1 open-sse/services/adobeFireflySession.ts Pag-opt in/out sa maagap na browser warm-up. Hindi pinapagana ng 0 ang maagap na warm-up (nalalapat pa rin ang mid-batch 408 recovery).
ADOBE_FIREFLY_SESSION_DISK 1 open-sse/services/adobeFireflySession.ts Itakda sa 0 upang hindi i-persist sa disk ang session ng Adobe Firefly.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS (hindi nakatakda) open-sse/services/adobeFireflySession.ts Minimum na agwat (ms) na ipinapatupad sa pagitan ng magkakasunod na pagsusumite, na nag-o-override sa built-in na default.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS (hindi nakatakda) open-sse/services/adobeFireflySession.ts Karagdagang agwat (ms) na idinaragdag pagkatapos ng matagumpay na batch, na nag-o-override sa built-in na default.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS (hindi nakatakda) open-sse/services/adobeFireflyClient.ts Pangunahing pagkaantala (ms) bago magsumite ng generation request, na nag-o-override sa built-in na default.

19. Pag-sync ng Modelo (Dev)

Variable Default Source File Paglalarawan
MODELS_DEV_SYNC_ENABLED (hindi nakatakda) src/lib/modelsDevSync.ts Tahasang override para sa pag-sync ng presyo ng models.dev. Hindi nakatakda = sundin ang Settings > AI (modelsDevSyncEnabled). Ang 0/false/off/no ay nangingibabaw sa DB at nilalaktawan ang parehong pana-panahong pag-sync at mga SQL/JSON scan ng getModelsDevPricing() (para sa pagbawi kapag hindi tumutugon ang dashboard sa parehong event loop). Pinipilit ng 1/true/on/yes na i-on ang pag-sync. Tinatawag pa rin ng pag-save/pag-clear ng presyo ang backupDbFile("pre-write"), na walang ginagawa sa ilalim ng 60-minutong throttle o ng DISABLE_SQLITE_AUTO_BACKUP.
MODELS_DEV_SYNC_INTERVAL 86400 (24h) src/lib/modelsDevSync.ts Agwat ng pag-sync ng katalogo ng modelo sa panahon ng development, sa mga segundo.
CONTEXT_WINDOW_RECONCILE_INTERVAL 86400 (24h) src/lib/contextWindowResolver.ts Agwat (sa mga segundo) para sa kusang nagtutuwid na reconciler ng context window (5004): itinatakda ang mga window na idineklara ng provider mula sa pagtuklas sa /models bilang mga override na auto:discovery kapag naiiba ang mga ito sa katalogo. Itakda sa 0 upang i-disable. Muling ginagamit ang naka-sync nang data (walang bagong pag-fetch); hindi kailanman ino-overwrite ang mga manual na override.

20. Mga Setting na Partikular sa Provider

Variable Default Source File Paglalarawan
OPENROUTER_CATALOG_TTL_MS 86400000 (24h) src/lib/catalog/openrouterCatalog.ts TTL ng cache ng katalogo ng modelo ng OpenRouter.
MODEL_CATALOG_INCLUDE_NAMES true src/shared/constants/featureFlagDefinitions.ts Isama ang mga field na name na madaling basahin sa mga tugon ng /v1/models. I-disable para sa mga client na mga ID lang ang inaasahan.
CATALOG_BUILD_TIMEOUT_MS 8000 (8s) src/app/api/v1/models/catalogCache.ts Limitasyon sa paghihintay sa cold path para sa pinagsamang muling pagbuo ng katalogo ng GET /v1/models (#12627). Kapag nag-timeout, ihahatid ang huling wastong tugon na 200 kung mayroon.
OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS 2592000000 (30 araw) src/lib/db/models/activeSyncedCatalog.ts Tagal bago hindi na ituring na awtoritatibo sa pagruruta ang naka-sync na listahan ng modelo ng isang koneksyon at bumalik ito sa registry kapag nabigo (#12849). Itinuturing na stale ang mga row na hindi kailanman nagkaroon ng timestamp.
NANOBANANA_POLL_TIMEOUT_MS 120000 open-sse/handlers/imageGeneration.ts Pinakamahabang paghihintay para sa mga job ng pagbuo ng larawan ng NanoBanana.
NANOBANANA_POLL_INTERVAL_MS 2500 open-sse/handlers/imageGeneration.ts Dalas ng pag-poll sa mga job ng NanoBanana.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyUpscale.ts Batayang pagkaantala para sa exponential backoff ng muling pagsusumite para sa upscale ng Adobe Firefly.
AWS_REGION (hindi nakatakda) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts Rehiyong ginagamit upang buuin ang mga endpoint ng AWS Bedrock (Kiro, audio).
AWS_DEFAULT_REGION (hindi nakatakda) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts Fallback kapag hindi nakatakda ang AWS_REGION.
CLOUDFLARE_ACCOUNT_ID (hindi nakatakda) open-sse/executors/cloudflare-ai.ts Account ID para sa Cloudflare Workers AI.
CLOUDFLARE_PLAYGROUND_CHROME_PATH (hindi nakatakda) open-sse/executors/cloudflare-playground.ts Buong path ng desktop Chrome binary para sa Cloudflare AI Playground executor, na ginagamit kapag bina-block ng headless fingerprint check ang bundled Chromium ng Playwright.
CLOUDFLARE_API_BASE https://api.cloudflare.com/client/v4 src/app/api/settings/proxy/cloudflare-deploy/route.ts I-override ang base ng Cloudflare REST API na ginagamit ng proxy-pool Workers relay deployer (#4640 / 9router#1360).
NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx Default na pangalan ng worker project na iminumungkahi sa modal na "Deploy Relay" ng proxy pool.
NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Itakda sa false upang itago ang opsyon ng Cloudflare Workers relay sa tab na Proxy Pool.
CLOUDFLARED_BIN awtomatikong tinutukoy src/lib/cloudflaredTunnel.ts Custom na path patungo sa cloudflared binary.
CLOUDFLARED_PROTOCOL http2 src/lib/cloudflaredTunnel.ts Transport protocol ng tunnel: http2 (default), quic, o auto.
CLOUDFLARED_CONFIG (hindi nakatakda) src/lib/cloudflaredTunnel.ts Path patungo sa lokal na pinamamahalaang config.yml ng cloudflared (na may tunnel:, credentials-file:, ingress:). Kapag nakatakda, pinapatakbo ng OmniRoute ang tunnel --config <path> run (named tunnel) sa halip na isang pansamantalang quick tunnel.
CLOUDFLARED_HOSTNAME (mula sa config ingress) src/lib/cloudflaredTunnel.ts Override para sa pampublikong hostname ng named tunnel (hal. ai.example.com), na iniuulat bilang publicUrl/apiUrl. Kapag hindi nakatakda, binabasa ito mula sa unang hostname ng ingress sa config.
DENO_DEPLOY_API_BASE https://api.deno.com/v2 src/app/api/settings/proxy/deno-deploy/route.ts I-override ang base ng Deno Deploy REST API na ginagamit ng proxy-pool relay deployer (#4643 / 9router#1437).
NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT omniroute-deno-relay src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx Default na pangalan ng Deno Deploy app na iminumungkahi sa modal na "Deploy Relay" ng proxy-pool.
NEXT_PUBLIC_DENO_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Itakda sa false upang itago ang opsyon ng Deno Deploy relay mula sa tab na Proxy Pool.
SEARCH_CACHE_TTL_MS 300000 (5 min) open-sse/services/searchCache.ts TTL para sa pag-cache ng tugon ng search API (Perplexity, Brave, atbp.).
ENABLE_CC_COMPATIBLE_PROVIDER false src/shared/utils/featureFlags.ts Ipakita ang eksperimental na UI ng CC-compatible provider para sa mga relay na para lamang sa Claude Code.
NINEROUTER_HOST 127.0.0.1 open-sse/executors/ninerouter.ts I-override ang host kung saan nakikinig ang naka-embed na instance ng 9router.
NINEROUTER_PORT 20130 open-sse/executors/ninerouter.ts I-override ang port kung saan nakikinig ang naka-embed na instance ng 9router.
EMBED_WS_PROXY_HOST 127.0.0.1 src/lib/services/embedWsProxy.ts Bind host para sa WebSocket proxy ng naka-embed na serbisyo (loopback lamang bilang default).
EMBED_WS_PROXY_PORT 20131 src/lib/services/embedWsProxy.ts Port para sa WebSocket proxy server ng naka-embed na serbisyo.
CLIPROXYAPI_HOST 127.0.0.1 open-sse/executors/cliproxyapi.ts Host ng CLIProxyAPI bridge (legacy na integrasyon).
CLIPROXYAPI_PORT 5544 open-sse/executors/cliproxyapi.ts Port ng CLIProxyAPI bridge.
CLIPROXYAPI_API_KEY (walang laman) open-sse/handlers/chatCore/cliproxyapiCredentials.ts Fallback na data-plane key kapag wala ang setting na cliproxyapi_api_key.
CLIPROXYAPI_MANAGEMENT_KEY (walang laman) src/lib/services/cliproxyAccountHealth.ts Management key para sa mga pagbasa ng kalagayan ng account mula sa isang panlabas na pinamamahalaang instance ng CLIProxyAPI.
CLIPROXYAPI_CONFIG_DIR ~/.cli-proxy-api src/lib/versionManager/processManager.ts Direktoryo ng configuration ng CLIProxyAPI.
CLIPROXY_BIND_HOST 127.0.0.1 docker-compose.yml Host interface kung saan inilalathala ng docker-compose ang cliproxyapi sidecar (#12578). Naglalaman ang data volume nito ng mga OAuth/API credential ng provider at walang env-based na data-plane api-keys override ang naka-pin na image (may naka-mount lamang na config.yaml), kaya inilalantad ng 0.0.0.0 sa buong LAN ang isang serbisyong naglalaman ng mga credential.
MUX_SERVICE_PORT 8322 src/lib/services/bootstrap.ts I-override ang port kung saan nakikinig ang naka-embed na Mux (coder/mux) agent-orchestration daemon (palaging 127.0.0.1).
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Bind/connect host ng naka-embed na serbisyo ng Dario (loopback lamang bilang default).
DARIO_PORT 3456 open-sse/executors/dario.ts Port ng naka-embed na serbisyo ng Dario.
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Bind/connect host ng naka-embed na serbisyo ng Dario (loopback lamang bilang default).
DARIO_PORT 3456 open-sse/executors/dario.ts Port ng naka-embed na serbisyo ng Dario.
LOCAL_HOSTNAMES (walang laman) open-sse/config/providerRegistry.ts Mga karagdagang hostname na pinaghihiwalay ng kuwit at itinuturing na "lokal" (mga pangalan ng serbisyo ng Docker, atbp.).

Ang ENABLE_CC_COMPATIBLE_PROVIDER ay para lamang sa mga third-party relay na eksklusibong tumatanggap ng mga Claude Code client. Muling isinusulat ng OmniRoute ang mga request upang tanggapin ng mga relay na iyon ang mga ito. Kung Claude Code CLI lamang ang nais mong gamitin, o hindi ka sigurado kung ano ang mga relay na ito, panatilihin itong naka-disable at sa halip ay magdagdag ng karaniwang provider na compatible sa Anthropic.


21. Kalusugan ng Proxy

Variable Default Source File Paglalarawan
PROXY_FAST_FAIL_TIMEOUT_MS 2000 src/lib/proxyHealth.ts Timeout ng pagsusuri sa kalusugan para sa mabilis na pagkabigo.
PROXY_LATENCY_WINDOW_HOURS 3 src/lib/db/proxies.ts Saklaw ng oras (sa mga oras) para sa pagkalkula ng average na latency ng mga kandidatong proxy sa estratehiya ng pool na naka-optimize para sa latency.
PROXY_HEALTH_CACHE_TTL_MS 30000 src/lib/proxyHealth.ts TTL ng cache ng resulta ng pagsusuri sa kalusugan.
PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS 2000 src/lib/proxyHealth.ts TTL ng cache para sa mga nabigong pagsisiyasat sa kalusugan ng proxy. Panatilihin itong mas maikli kaysa sa PROXY_HEALTH_CACHE_TTL_MS upang mabilis na muling subukan ang mga pansamantalang timeout ng proxy sa ilalim ng mataas na concurrency nang hindi dini-disable ang mabilis na pagkabigo para sa mga proxy na talagang hindi gumagana.
PROXY_HEALTH_ENABLED true src/lib/proxyHealth/scheduler.ts Itakda sa false upang i-disable ang background proxy health scheduler na pana-panahong sumusuri sa mga nakarehistrong proxy.
PROXY_HEALTH_INTERVAL_MS 600000 src/lib/proxyHealth/scheduler.ts Interval ng sweep ng background health scheduler sa ms (minimum na 60000).
PROXY_HEALTH_TEST_URL https://httpbin.org/ip src/lib/proxyHealth/probeTarget.ts Target ng probe sa pagiging naaabot na ginagamit ng scheduler at ng endpoint na /api/settings/proxies/auto-test. Ituro ito sa isang internal/self-hosted na URL upang maiwasan ang pampublikong default.
PROXY_HEALTH_TEST_CONCURRENCY 10 src/lib/proxyHealth/probeTarget.ts Bilang ng mga probe na sabay-sabay na sinisimulan sa bawat batch, na pinagsasaluhan ng scheduler at ng endpoint na /api/settings/proxies/auto-test. Ibinababa sa minimum na 1 at nililimitahan sa maximum na 50.
PROXY_HEALTH_TEST_STAGGER_MS 100 src/lib/proxyHealth/probeTarget.ts Pagkaantala sa ms sa pagitan ng pagpapadala ng dalawang probe sa loob ng isang batch. Kung wala ito, sabay-sabay na ipapadala ang buong batch at maaaring ma-trigger ng isang nakabahaging egress IP ang limitasyon sa rate ng target. Itakda sa 0 upang huwag paganahin ang pagitan; nililimitahan sa maximum na 5000.
PROXY_HEALTH_USE_PROVIDER_TARGET true src/lib/proxyHealth/providerProbeTarget.ts Itakda sa "false" upang ihinto ang pag-probe sa aktuwal na host ng provider na nakatalaga sa isang proxy (GET /models, walang API key) at sa halip ay palaging gamitin ang PROXY_HEALTH_TEST_URL.
PROXY_HEALTH_AUTO_DEACTIVATE false src/lib/proxyHealth/statusPolicy.ts Kapag false (default), ang mga awtomatikong probe sa pagiging naaabot (ang scheduler + ang button na "Subukan Lahat" ng /api/settings/proxies/auto-test) ay read-only at hindi kailanman nagsusulat sa status ng proxy — ang operator lamang ang nagtatakda kung active/inactive, kaya hindi maiiwang hindi magamit ang isang nakatalagang proxy dahil sa isang hindi maaasahang probe (#6246). Itakda sa true upang ibalik ang dating gawi na pagsubok-at-pagtatakda.
PROXY_POOL_EGRESS_OBSERVATION false src/shared/utils/featureFlags.ts Opsyonal na feature flag (tingnan ang FEATURE_FLAGS.md; nangingibabaw ang override ng dashboard DB). Kapag true (o 1, yes), ipinapakita nito ang read-only na obserbasyon sa egress ng pool sa ilalim ng isang proxy pool sa dashboard (mga natatanging egress IP, mga koneksyon, at ang pinakamaraming nakitang nasa likod ng isang IP sa nakalipas na 24 h, mula sa proxy log). Hindi kailanman ginagamit para sa routing.
PROXY_AUTO_REMOVE false src/lib/proxyHealth/scheduler.ts Itakda sa true upang payagan ang scheduler na awtomatikong mag-alis ng mga proxy pagkatapos ng paulit-ulit at magkakasunod na pagkabigo.
PROXY_AUTO_REMOVE_AFTER 3 src/lib/proxyHealth/scheduler.ts Bilang ng magkakasunod na pagkabigo bago awtomatikong alisin ng scheduler ang isang proxy (kapag PROXY_AUTO_REMOVE=true).
PROXY_AUTO_DISABLE false src/lib/proxyHealth/scheduler.ts Itakda sa true upang payagan ang scheduler na pansamantalang i-disable (status na dead, hindi kailanman dine-delete) ang isang proxy pagkatapos ng magkakasunod na paulit-ulit na pagkabigo, sa halip na alisin ito. Hindi mapanirang alternatibo sa PROXY_AUTO_REMOVE: agad na inaalis ang proxy sa pool/rotation resolution (hindi na ito isinasama ng alive-status filter na ginagamit ng scope-pool resolution) at awtomatiko itong muling ina-activate kapag nagsimula na itong pumasa muli sa mga probe. Pareho nitong ginagamit ang threshold na PROXY_AUTO_REMOVE_AFTER. Kung true ang parehong flag, mananaig ang PROXY_AUTO_REMOVE.
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK false src/shared/constants/featureFlagDefinitions.ts Payagan ang mga daloy ng OAuth at validation ng provider na lampasan ang isang naka-pin na proxy at direktang kumonekta kapag nabigo ang mga paunang pagsusuri sa pagiging naaabot ng proxy. Ang umiiral na pagkakasunud-sunod ng priyoridad ay override ng Feature Flags DB > env var > default.
RATE_LIMIT_MAX_WAIT_MS 30000 (30s) open-sse/services/rateLimitManager.ts Pinakamahabang oras ng paghihintay sa isang 429 bago mabigo ang request.
RATE_LIMIT_EXECUTION_MAX_WAIT_MS 600000 (10 min) open-sse/services/rateLimitManager.ts Pinakamahabang oras na maaaring manatili sa execution ang isang tinanggap na request bago mag-expire ang reservation nito sa rate limit—nakahiwalay sa budget ng paghihintay sa queue upang hindi mag-time out ang mabagal na pagsisimula ng fetch sa mga non-incremental gateway (#12027).
RATE_LIMIT_MAX_QUEUE_DEPTH 0 (naka-disable) open-sse/services/rateLimitManager.ts Limitasyon sa pagtanggap sa queue: tumanggi gamit ang 429 queue_full kapag ganito karaming request na ang nasa queue. 0 = walang limitasyon (default).
RATE_LIMIT_AUTO_ENABLE (hindi nakatakda) open-sse/services/rateLimitManager.ts Sapilitang i-on/i-off ang safety net para sa awtomatikong pag-enable ng rate limit anuman ang naka-persist na setting sa Dashboard. Tumatanggap ng true/1/on upang sapilitang i-on, at false/0/off upang sapilitang i-off.
PROVIDER_COOLDOWN_ENABLED (hindi nakatakda → naka-off) open-sse/services/providerCooldownTracker.ts Opsyonal na global na pagsubaybay sa cooldown ng provider/connection sa ibat ibang request. Naka-OFF bilang default (nag-o-overlap sa Connection Cooldown / Provider Circuit Breaker). Tumatanggap ng true/1/on upang i-enable.
PROVIDER_COOLDOWN_MIN_MS 5000 open-sse/services/providerCooldownTracker.ts Minimum na cooldown (ms) bago muling subukan ang nabigong provider/connection. Eksponensiyal itong pinapataas kasabay ng magkakasunod na pagkabigo. Ginagamit lamang kapag naka-enable ang PROVIDER_COOLDOWN_ENABLED.
PROVIDER_COOLDOWN_MAX_MS 300000 (5 min) open-sse/services/providerCooldownTracker.ts Maximum na limitasyon ng cooldown (ms) bago muling subukan ang isang nabigong provider/koneksyon anuman ang mangyari. Ginagamit lamang kapag naka-enable ang PROVIDER_COOLDOWN_ENABLED.
STREAM_RECOVERY_ENABLED (hindi nakatakda → naka-off) src/lib/resilience/settings.ts (seed) → open-sse/services/streamRecovery.ts (lohika) Ano: transparent na pag-recover ng mga naputol na upstream stream (port ng free-claude-code). Pinipigilan nito ang pambungad na SSE window nang hanggang STREAM_RECOVERY.HOLDBACK_MS (750 ms) upang ang isang pre-commit na pagkaputol — na nangyayari bago makarating sa client ang anumang byte — ay muling buksan at subukan nang hindi napapansin. Kailan dapat i-enable: para sa mga hindi maaasahang upstream na madalas maputol nang may 0 byte sa simula ng stream; panatilihing NAKA-OFF kung hindi mo kayang magdagdag ng hanggang 750 ms sa oras bago lumabas ang unang token sa bawat stream. Tumatanggap ng true/1/on. Ito ang paunang halaga ng naka-persist na setting ng Resilience; mananaig ang setting ng Dashboard kapag naitakda na ito.
STREAM_RECOVERY_MIDSTREAM_ENABLED (hindi nakatakda → naka-off) src/lib/resilience/settings.ts (seed) → open-sse/services/streamRecovery.ts (lohika) Ano: pagpapatuloy sa kalagitnaan ng stream (Fase 4.4) — pagkatapos ng isang post-commit na pagkaputol (nakarating na sa client ang mga byte), muling humiling gamit ang bahagyang text bilang assistant prefill at pagdugtungin ang nawawalang suffix. Para lamang sa mga plain-text na stream na compatible sa OpenAI; hindi kailanman gagana habang may isinasagawang tool call. Kailan dapat i-enable: para sa mahahabang generation na napuputol sa kalagitnaan ng sagot at kung katanggap-tanggap sa iyo na dumating ang na-recover na hulihan bilang isang bugso sa halip na token-by-token. Hiwalay sa STREAM_RECOVERY_ENABLED (magkaibang profile ng panganib). Tumatanggap ng true/1/on.
STREAM_THROUGHPUT_WATCHDOG_ENABLED (hindi nakatakda → naka-off) src/lib/resilience/settings.tsopen-sse/services/throughputWatchdog.ts Opsyonal na watchdog para sa kapaki-pakinabang na output ng aktibong stream. Tinutukoy nito ang mga stream na patuloy na nagpapadala ng mga chunk ngunit nananatiling mas mababa sa naka-configure na rate ng output ng assistant; ang mga heartbeat, event ng paggamit, empty delta, at yugto ng tool/reasoning ay hindi napagkakamalang progreso. Hiwalay ito sa mga timeout para sa pagiging idle at hard deadline.
STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS 30000 src/lib/resilience/settings/normalize.ts Grace period bago suriin ang throughput, na nililimitahan sa 0600000 ms.
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS 30000 src/lib/resilience/settings/normalize.ts Gumugulong na window ng kapaki-pakinabang na output, na nililimitahan sa 1000600000 ms; kailangan ng isang kumpletong window bago i-abort.
STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND 4 src/lib/resilience/settings/normalize.ts Minimum na rate ng UTF-8 byte ng output ng assistant (konserbatibong proxy ng token), na nililimitahan sa 11000000.
STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES 1 src/lib/resilience/settings/normalize.ts Minimum na hindi zero na sample ng kapaki-pakinabang na output na itinuturing na nasusukat, na nililimitahan sa 11000000 byte.
HEALTHCHECK_STAGGER_MS 3000 src/lib/tokenHealthCheck.ts Agwat ng pagkakaantala (ms) sa pagitan ng mga healthcheck ng provider token sa pagsisimula.
HEALTHCHECK_JITTER_MIN_MS 500 src/lib/tokenHealthCheck.ts Minimum na random na jitter (ms) na idinaragdag sa HEALTHCHECK_STAGGER_MS sa pagitan ng mga healthcheck ng provider token upang maiwasan ang sabay-sabay na bugso (Isyu #1220).
HEALTHCHECK_JITTER_MAX_MS 5000 src/lib/tokenHealthCheck.ts Maximum na random na jitter (ms) na idinaragdag sa HEALTHCHECK_STAGGER_MS sa pagitan ng mga healthcheck ng provider token upang maiwasan ang sabay-sabay na bugso (Isyu #1220).
HEALTHCHECK_BATCH_SIZE 20 src/lib/tokenHealthCheck.ts Laki ng batch ng magkakasabay na pagsusuri para sa startup token-healthcheck sweep; mas maraming koneksyon ang sinusuri nang sabay-sabay ng mas malalaking value, habang binabawasan ng mas maliliit na value ang biglaang load (Issue #7875, regression ng #7719).
REQUEST_RETRY 2 src/sse/services/cooldownAwareRetry.ts Bilang ng mga awtomatikong retry sa mga model-scoped cooldown response bago ibalik ang error sa client.
MAX_RETRY_INTERVAL_SEC 30 src/sse/services/cooldownAwareRetry.ts Pinakamahabang backoff interval (segundo) sa pagitan ng mga cooldown retry. Nililimitahan ng value na ito anuman ang upstream na Retry-After.
HEADROOM_URL http://localhost:8787 src/lib/headroom/detect.ts Proxy URL ng Headroom token-saver. Ang lifecycle ng dashboard (api/headroom/*) ay naglulunsad ng lokal na headroom-ai CLI sa loopback bilang default; i-override lamang upang tumuro sa isang external na Docker sidecar proxy.

Mga constant para sa pag-tune ng stream recovery

Ang gawi ng recovery holdback ay tina-tune sa pamamagitan ng mga hardcoded na constant sa open-sse/config/constants.ts (STREAM_RECOVERY), na ipinapakita rito bilang sanggunian — nangangailangan ng pag-edit sa code ang pagbabago sa mga ito, hindi ng env var:

  • STREAM_RECOVERY.HOLDBACK_MS = 750 — kung gaano katagal pipigilan ang panimulang SSE window upang ma-retry ang maagang pagkaputol bago mai-commit ang anumang byte sa client.
  • STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536 — mahigpit na limitasyon sa pinipigilang window; i-commit (flush + passthrough) sa sandaling maipon ang ganitong karaming byte, anuman ang timer.
  • STREAM_RECOVERY.EARLY_RETRY_MAX = 4 — maximum na bilang ng mga transparent na muling pagbubukas ng upstream stream habang hindi pa naka-commit ang holdback.

Per-provider na sliding-window rate limit (walang env var): ang FCC-ported na per-provider na sliding-window rate-limit fallback ay nasa code (open-sse/services/providerDefaultRateLimit.ts, nakakonekta sa pamamagitan ng open-sse/services/rateLimitManager.ts) ngunit inilalabas na may walang lamang default map at walang operator env var sa kasalukuyan — pinapagana lamang ito sa pamamagitan ng test hook / pag-edit sa code. Sadyang hindi ito nakalista sa talahanayan sa itaas. Ang per-(token, IP) relay limiter na mayroon talagang setting ay RELAY_IP_PER_MINUTE (§3 Network at Mga Port).


22. Pag-debug

Caution

Ang mga variable na ito ay lumilikha ng detalyadong output at maaaring maglantad ng sensitibong data. Huwag kailanman i-enable sa production.

Variable Default Source File Paglalarawan
CURSOR_DEBUG (hindi nakatakda) open-sse/executors/cursor.ts Itakda sa 1 upang i-enable ang detalyadong mga log ng Cursor executor (mga na-decode na SSE chunk, atbp.).
CURSOR_STREAM_DEBUG (hindi nakatakda) open-sse/executors/cursor.ts Alias ng CURSOR_DEBUG na backward-compatible.
CURSOR_DUMP_FILE (hindi nakatakda) open-sse/executors/cursor.ts Opsyonal na file path na tatanggap ng mga raw na na-decode na Cursor chunk kapag CURSOR_DEBUG=1.
CURSOR_STREAM_TIMEOUT_MS 300000 open-sse/executors/cursor.ts Timeout ng kawalan ng aktibidad ng stream (ms) para sa Cursor executor.
CURSOR_KV_GRACE_MS 2000 open-sse/executors/cursor.ts Palugit (ms) pagkatapos ng isang composer kv_after_text soft terminator kapag may mga byte pang nananatiling naka-buffer — nagbibigay ito ng panahon sa isang kasunod na exec_mcp tool call upang makumpleto ang frame nito.
CURSOR_TOOL_DIRECTIVE naka-enable (!== "0") open-sse/executors/cursor.ts Direktiba sa pag-commit ng tool na nagsisiguro na maaasahang magsasagawa ng mga tool call ang composer-2.5. Itakda sa 0 upang i-disable.
OMNIROUTE_SYSTEM_INSTRUCTION_APPEND (hindi nakatakda) open-sse/translator/request/claude-to-openai.ts, open-sse/translator/response/openai-to-claude.ts Teksto ng system prompt na tinukoy ng operator at idinadagdag sa system message PAGKATAPOS ng pagsasalin (post-translation injection), na umaabot sa mga path ng codex/Responses at /v1/messages. Ginagamit din bilang prefix ng direktibang inaalis mula sa mga inulit na system preamble block. Iwanang hindi nakatakda upang i-disable.
CURSOR_IMAGE_FETCH_TIMEOUT_MS 15000 open-sse/utils/cursorImages.ts Timeout sa pag-fetch ng bawat larawan (ms) para sa remote na image_url vision input.
CURSOR_STATE_DB_PATH (sinusuri) open-sse/utils/cursorVersionDetector.ts I-override ang paghahanap sa state DB ng Cursor IDE na ginagamit sa pagtukoy ng bersyon ng IDE.
CURSOR_AGENT_CLI_VERSION (tukuyin / i-pin) open-sse/utils/cursorAgentCliVersion.ts Build id ng Agent CLI (YYYY.MM.DD-<hash>) para sa x-cursor-client-version: cli-… sa Agent Run.
CURSOR_AGENT_BIN (hindi nakatakda) open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Path patungo sa Cursor Agent binary na ginagamit sa pagbuo ng larawan. Kapag hindi nakatakda, gagamitin ng handler ang providerSpecificData.agentBin at pagkatapos ay ang PATH.
CURSOR_IMG_TIMEOUT_MS 210000 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Tagal sa wall clock para sa bawat larawan (ms) para sa mga image job ng Cursor Agent.
CURSOR_IMG_MAX_CONCURRENT 2 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Gate sa concurrency ng shared seat para sa mga image job ng Cursor.
CURSOR_IMG_MODEL request / auto open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts I-override ang --model ng Cursor CLI para sa mga image job.
UC_IMAGE_POLL_INTERVAL_MS 2000 open-sse/handlers/imageGeneration/providers/ucImage.ts Dalas ng pag-poll sa resulta ng image-gen ng UC (uncensored.com) (ms).
UC_IMAGE_POLL_TIMEOUT_MS 60000 open-sse/handlers/imageGeneration/providers/ucImage.ts Tagal sa wall clock ng pag-poll sa resulta ng image-gen ng UC (ms).
UC_VIDEO_POLL_INTERVAL_MS 3000 open-sse/handlers/videoGeneration/providers/ucVideo.ts Dalas ng pag-poll sa resulta ng video-gen ng UC (uncensored.com) (ms).
UC_VIDEO_POLL_TIMEOUT_MS 300000 open-sse/handlers/videoGeneration/providers/ucVideo.ts Tagal sa wall clock ng pag-poll sa resulta ng video-gen ng UC (ms).
CURSOR_DATA_DIR (sinusuri) open-sse/utils/cursorAgentCliVersion.ts I-override ang data dir ng Cursor Agent CLI (…/versions/<id>); ito rin ang variable na ginagamit ng opisyal na agent.
CURSOR_TOKEN (hindi nakatakda) scripts/ad-hoc/cursor-tap.cjs Direktang Cursor bearer token na ginagamit ng mga tool ng developer.
OMNIROUTE_LOG_REQUEST_SHAPE naka-disable (opsyonal sa pamamagitan ng "1") src/app/api/v1/chat/completions/route.ts I-log ang mga marker ng uri/haba ng content para sa malalaking chat payload kapag nakatakda ang "1". Naka-off bilang default upang mabawasan ang ingay sa log.
DEBUG_RESPONSES_SSE_TO_JSON (hindi nakatakda) open-sse/handlers/responseTranslator.ts Itakda sa true upang i-log ang mga detalye ng pagsasalin ng Responses API SSE→JSON.
DEBUG_CLAUDE_NONSTREAM (hindi nakatakda) open-sse/handlers/responseTranslator.ts Itakda sa true upang ilantad ang mga walang-lamang textContent chunk sa path ng pagsasalin ng Claude response (para lamang sa pag-debug).
NEXT_PUBLIC_OMNIROUTE_E2E_MODE (hindi nakatakda) E2E test harness Itakda sa true upang i-enable ang E2E test mode (mas maluwag na auth, mga test hook).

23. Integrasyon sa GitHub

Payagan ang mga user na direktang mag-ulat ng mga isyu mula sa Dashboard.

Variable Default Source File Paglalarawan
GITHUB_ISSUES_REPO (hindi nakatakda) src/app/api/v1/issues/report/route.ts Repository na nasa format na owner/repo.
GITHUB_ISSUES_TOKEN (hindi nakatakda) src/app/api/v1/issues/report/route.ts GitHub Personal Access Token na may saklaw na issues:write.
GITHUB_TOKEN (hindi nakatakda) pag-uuri ng isyu / mga helper ng cloud agent Pangkalahatang GitHub access token na ginagamit bilang fallback para sa GITHUB_ISSUES_TOKEN at ginagamit ng mga helper ng cloud agent sa src/lib/cloudAgent/*.

Mga Sitwasyon sa Deployment

Para sa gabay ng SRE para sa relay backend (gawi ng ts/bifrost/auto, paglalagay ng 9router kumpara sa CLIProxyAPI, at fallback na estratehiya para sa mataas na throughput), tingnan ang Estratehiya sa Relay Backend.

Minimal na Lokal na Development

JWT_SECRET=$(openssl rand -base64 48)
API_KEY_SECRET=$(openssl rand -hex 32)
INITIAL_PASSWORD=dev123
PORT=20128
NODE_ENV=development

Produksyon gamit ang Docker

JWT_SECRET=<generated>
API_KEY_SECRET=<generated>
INITIAL_PASSWORD=<generated>
STORAGE_ENCRYPTION_KEY=<generated>
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

Air-Gapped / CI

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 na may Reverse Proxy (nginx + Cloudflare)

JWT_SECRET=<generated>
API_KEY_SECRET=<generated>
STORAGE_ENCRYPTION_KEY=<generated>
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. Skills Sandbox (v3.8.0+)

Mga limitasyon at kontrol sa kaligtasan na inilalapat kapag nagpapatakbo ang Skills framework (src/lib/skills/) ng mga automation na tinukoy ng user sa isang sandboxed na kapaligiran.

Variable Default Source File Paglalarawan
SKILLS_SANDBOX_TIMEOUT_MS 10000 (10 s) src/lib/skills/builtins.ts Wall-clock timeout sa bawat pagpapatakbo para sa sandboxed skill code. Mahigpit na limitasyon; anumang lalampas dito ay ihihinto.
SKILLS_EXECUTION_TIMEOUT_MS (bumabalik sa SKILLS_SANDBOX_TIMEOUT_MS) src/lib/skills/ Timeout para sa high-level na orkestrasyon ng skill. Magtakda ng mas mataas na halaga kaysa sa SKILLS_SANDBOX_TIMEOUT_MS upang payagan ang mga multi-step workflow.
SKILLS_MAX_FILE_BYTES 1048576 (1 MB) src/lib/skills/builtins.ts Maximum na bilang ng byte na maaaring basahin ng isang skill mula sa anumang indibidwal na sandboxed file.
SKILLS_MAX_HTTP_RESPONSE_BYTES 256000 (250 KB) src/lib/skills/builtins.ts Maximum na bilang ng byte na maaaring makuha mula sa anumang indibidwal na HTTP response sa loob ng isang skill.
SKILLS_MAX_SANDBOX_OUTPUT_CHARS 100000 src/lib/skills/builtins.ts Mahigpit na limitasyon sa bilang ng mga character ng stdout/stderr na ibinabalik mula sa isang sandbox invocation.
SKILLS_SANDBOX_NETWORK_ENABLED false src/lib/skills/builtins.ts Itakda sa 1/true upang payagan ang outbound network mula sa loob ng sandbox. Bilang default, nakahiwalay ito para sa kaligtasan.
SKILLS_ALLOWED_SANDBOX_IMAGES (walang laman) src/lib/skills/builtins.ts Allowlist na pinaghihiwalay ng kuwit ng mga container image na pinapayagan para sa sandbox execution. Kapag walang laman, built-in na default lamang ang pinapayagan.
SKILLS_SANDBOX_DOCKER_IMAGE (built-in na default) src/lib/skills/ Container image na ginagamit kapag gumagawa ng Docker-backed sandbox. I-override upang i-pin ang isang custom at pinatibay na base image.
SKILLS_SANDBOX_RUNTIME auto src/lib/skills/sandbox.ts, src/lib/skills/containerProvider.ts Container runtime para sa pag-sandbox ng skill: auto | docker | apple | wsl | orbstack | podman. Pinipili ng auto ang pinakamahusay na naka-install na runtime ayon sa host OS (Apple Container/OrbStack sa macOS, WSL Container sa Windows, Podman sa Linux), at bumabalik sa Docker kung kinakailangan.

Caution

Ang pagpapagana sa SKILLS_SANDBOX_NETWORK_ENABLED=true ay nagbubukas ng egress path mula sa arbitraryong skill code. Ipares ito sa OUTBOUND_SSRF_GUARD_ENABLED=true at isang mahigpit na patakaran sa CORS_ORIGIN/proxy sa mga shared deployment.


25. Mga Quota ng Provider, Tunnel, Backup at Iba Pang Runtime

Mga endpoint ng quota ng provider, mga network tunnel (Tailscale, Ngrok, MITM debug proxy), ang 1Proxy egress pool, mga backup ng database, at maliliit na override para sa bawat feature na nire-reference ng executor layer o mga script.

Variable Default Source File Paglalarawan
REDIS_URL redis://localhost:6379 src/shared/utils/rateLimiter.ts String ng koneksyon sa Redis para sa backend ng rate limiter.
ALIBABA_CODING_PLAN_HOST (production host) open-sse/services/bailianQuotaFetcher.ts I-override ang host na ginagamit upang kunin ang mga quota ng coding plan ng Alibaba Bailian.
ALIBABA_CODING_PLAN_QUOTA_URL hinango mula sa host open-sse/services/bailianQuotaFetcher.ts Override ng buong quota URL para sa Alibaba Bailian.
QWEN_CLOUD_COOKIE (hindi nakatakda) open-sse/services/qwenTokenPlanQuotaFetcher.ts Cookie ng console session para sa gateway ng quota ng personal na Token Plan ng Qwen Cloud / Model Studio (hindi ito mababasa ng inference API key). Kopyahin ang buong Cookie request header — naglalaman ito ng login_qwencloud_ticket — mula sa anumang api.json call sa cs-data.qwencloud.com sa home.qwencloud.com Billing Subscription (F12 Network). Sensitibo at nakatali sa session; mas mainam ang per-connection na qwenCloudCookie field ng Dashboard.
QWEN_CLOUD_SEC_TOKEN (hindi nakatakda) open-sse/services/qwenTokenPlanQuotaFetcher.ts Manu-manong override ng sec_token para sa console gateway ng Token Plan. Sensitibo; kapag hindi nakatakda, kinukuha ito ng fetcher mula sa HTML ng dashboard gamit ang cookie.
QWEN_TOKEN_PLAN_HOST https://cs-data.qwencloud.com open-sse/services/qwenTokenPlanQuotaFetcher.ts Override ng gateway host para sa fetcher ng quota ng personal na Token Plan (hal. bailian-singapore-cs.alibabacloud.com para sa console ng Model Studio).
QWEN_TOKEN_PLAN_DASHBOARD_URL https://home.qwencloud.com/ open-sse/services/qwenTokenPlanQuotaFetcher.ts URL ng dashboard na ginagamit upang kunin ang sec_token mula sa HTML na naka-log in.
ALIBABA_FREE_TIER_VISION_FE_PATH /costing-balance/free-quota-image-video open-sse/services/alibabaFreeTierQuotaFetcher.ts Override ng front-end path ng console para sa pagkuha ng free-tier na quota sa vision/media ng Alibaba Model Studio.
ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH /costing-balance/free-quota-multimodal open-sse/services/alibabaFreeTierQuotaFetcher.ts Pag-override sa path ng console front end para sa pagkuha ng libreng-tier na multimodal quota ng Alibaba Model Studio.
ALIBABA_FREE_TIER_AUDIO_FE_PATH /costing-balance/free-quota-audio open-sse/services/alibabaFreeTierQuotaFetcher.ts Pag-override sa path ng console front end para sa pagkuha ng libreng-tier na audio quota ng Alibaba Model Studio.
ALIBABA_FREE_TIER_ALLOWLIST_PATH (hindi nakatakda) open-sse/services/alibabaFreeTierAllowlist.ts Opsyonal na path patungo sa lokal na JSON override para sa built-in na allowlist ng mga libreng-tier na text model ng Alibaba. Magfa-fallback sa $DATA_DIR/alibaba-free-tier-allowlist.json, at pagkatapos ay sa config/alibaba-free-tier-allowlist.json.
CONTEXT_RESERVE_TOKENS 1024 open-sse/services/contextManager.ts Mga token na nakalaan para sa output ng completion kapag kinukuwenta ang mga budget ng prompt.
CONTEXT_KEEP_LATEST_IMAGES 2 open-sse/services/contextManager.ts Bilang ng mga pinakabagong inline na larawan na pananatilihin kapag inaalis ang mga mas luma upang magkasya sa context window (#8560).
MODEL_ALIAS_COMPAT_ENABLED naka-enable open-sse/services/model.ts I-toggle ang legacy na compatibility layer para sa model alias na ginagamit ng mga mas lumang client.
OMNIROUTE_EMERGENCY_FALLBACK naka-enable open-sse/services/emergencyFallback.ts Itakda sa false (o 0) upang i-disable ang emergency fallback kapag naubos ang budget, na nagre-reroute ng mga nabigong request sa libreng model na nvidia/openai/gpt-oss-120b. Ang umiiral na precedence ay Feature Flags DB override > env var > default; kung hindi available, magfa-fallback ang service sa raw na value ng env.
COMMAND_CODE_CALLBACK_PORT (hindi nakatakda) src/app/api/providers/command-code/auth/shared.ts Lokal na port na ginagamit para sa mga callback na istilong OAuth mula sa Command Code CLI helper.
COMMAND_CODE_VERSION 0.33.2 open-sse/executors/commandCode.ts Value na ipinapadala bilang header na x-command-code-version sa Command Code upstream. I-override upang itaas ang bersyon ng CLI.
COMMANDCODE_API_URL https://api.commandcode.ai open-sse/services/usage/command-code.ts Base URL para sa upstream ng paggamit/quota ng Command Code na ginagamit ng telemetry ng smartphone quota fetcher. I-override para sa isang self-hosted/alternatibong Command Code API.
MITM_LOCAL_PORT 443 src/mitm/server.cjs Lokal na bind port para sa MITM debug proxy.
MITM_DISABLE_TLS_VERIFY 0 src/mitm/server.cjs Itakda sa 1 upang i-disable ang upstream TLS verification (para sa development lamang).
MITM_IDLE_TIMEOUT_MS 60000 src/mitm/socketTimeouts.ts, src/mitm/server.cjs Timeout ng idle socket (ms) para sa mga naka-proxy na koneksyon; isinasara ang mga idle socket na lumampas dito upang maiwasan ang pagtagas ng mga half-open tunnel.
MITM_VERBOSE 1 src/mitm/server.cjs, src/mitm/_internal/bypass.cjs Detalye ng log para sa mga desisyon sa routing: pinatatahimik ng 0 ang mga log, habang nagla-log ang mas matataas na value ng mas maraming desisyon sa bypass/routing.
MITM_ROOT_CA_ENABLED false src/mitm/manager.ts Itakda sa true upang mag-opt in sa modelo ng root-CA + per-host-leaf cert (#6684). Awtomatiko itong nakukuha ng mga bagong installation; pinananatili ng mga installation na may dati nang pinagkakatiwalaang legacy leaf ang legacy fixed-SAN cert maliban kung mag-opt in.
MITM_CERT_MODE legacy src/mitm/manager.ts, src/mitm/server.cjs Itinatakda NG MITM manager para sa inilunsad na proxy process (root-ca | legacy) — ipinapakita nito ang desisyon sa cert migration; hindi ito nilalayong itakda nang manu-mano.
OMNIROUTE_NO_SUDO 0 src/mitm/systemCommands.ts Itakda sa 1 (truthy) upang alisin ang nauunang sudo sa mga command para sa pagtitiwala sa MITM cert — para sa mga root-less / user-namespaced deployment kung saan manu-manong pinagkakatiwalaan ng operator ang CA (hal. sa pamamagitan ng mekanismo ng extra-CA-certs ng Node).
SKIP_ANTIGRAVITY_DNS (hindi nakatakda) src/mitm/dns/provision.ts Itakda sa true upang ganap na laktawan ang provisioning ng mga DNS entry sa /etc/hosts para sa mga hostname ng Antigravity proxy — para sa mga container na walang magagamit na sudo/root.
OMNIROUTE_SKIP_DNS_WRITE (hindi nakatakda) src/mitm/dns/dnsConfig.ts Itakda sa 1 upang laktawan ang pagsusulat sa hosts file kapag nagdaragdag/nag-aalis ng mga DNS entry — para sa mga sandboxed o read-only na test environment.
OMNIROUTE_SKIP_SYSTEM_TRUST 0 src/mitm/cert/install.ts, src/mitm/tproxy/caTrust.ts Guard para lamang sa test/CI: itakda sa 1 upang gawing no-op ang pag-install/pag-uninstall ng pagtitiwala sa cert nang sa gayon ay hindi kailanman mabago ng suite ang OS trust store. Awtomatiko itong itinatakda ng test setup at mga CI workflow.
CHANGELOG_BASE_REF (awtomatiko) scripts/check/check-changelog-integrity.mjs Tiyak na base ref para sa anti-CHANGELOG-eat gate (bilang default, ginagamit ang base branch ng PR sa CI, o ang pinakamataas na release/v*).
FREE_PROXY_AUTO_SYNC_ENABLED false src/lib/freeProxyProviders/scheduler.ts Itakda sa true upang paganahin ang background na auto-sync scheduler ng free-proxy pool. Opt-in ito at naka-off bilang default.
FREE_PROXY_AUTO_SYNC_INTERVAL_MS 1800000 src/lib/freeProxyProviders/scheduler.ts Agwat ng auto-sync sa millisecond (default na 30 min).
FREE_PROXY_1PROXY_ENABLED true src/lib/freeProxyProviders/oneproxy.ts Paganahin ang 1proxy free proxy source. Itakda sa false upang i-disable.
FREE_PROXY_1PROXY_API_URL (tingnan ang oneproxy.ts) src/lib/freeProxyProviders/oneproxy.ts Pag-override sa API URL ng 1proxy.
FREE_PROXY_1PROXY_MAX 500 src/lib/freeProxyProviders/oneproxy.ts Maximum na bilang ng mga proxy na kinukuha sa bawat pag-sync mula sa 1proxy.
FREE_PROXY_1PROXY_MIN_QUALITY 50 src/lib/freeProxyProviders/oneproxy.ts Minimum na threshold ng quality score para sa mga import mula sa 1proxy.
FREE_PROXY_PROXIFLY_ENABLED true src/lib/freeProxyProviders/proxifly.ts Paganahin ang Proxifly free proxy source. Itakda sa false upang i-disable.
FREE_PROXY_PROXIFLY_QUANTITY 100 src/lib/freeProxyProviders/proxifly.ts Bilang ng mga proxy na kukunin sa bawat pag-sync ng Proxifly.
FREE_PROXY_PROXIFLY_ANONYMITY elite src/lib/freeProxyProviders/proxifly.ts Filter ng antas ng anonymity para sa Proxifly (elite, anonymous, transparent).
FREE_PROXY_IPLOCATE_ENABLED false src/lib/freeProxyProviders/iplocate.ts I-enable ang libreng proxy source ng IPLocate. Opt-in lamang.
FREE_PROXY_IPLOCATE_BASE_URL https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols src/lib/freeProxyProviders/iplocate.ts Pag-override sa base URL ng listahan ng proxy ng IPLocate.
FREE_PROXY_WEBSHARE_ENABLED true src/lib/freeProxyProviders/webshare.ts I-enable ang source ng Webshare proxy pool. Itakda sa false upang i-disable; kailangan ding nakatakda ang FREE_PROXY_WEBSHARE_API_KEY.
FREE_PROXY_WEBSHARE_API_KEY (wala) src/lib/freeProxyProviders/webshare.ts API token ng Webshare account (Authorization: Token <key>). Kinakailangan — mananatiling naka-disable ang provider kung wala ito.
FREE_PROXY_WEBSHARE_API_URL https://proxy.webshare.io/api/v2/proxy/list/ src/lib/freeProxyProviders/webshare.ts Pag-override sa API URL ng listahan ng proxy ng Webshare.
FREE_PROXY_WEBSHARE_MAX 500 src/lib/freeProxyProviders/webshare.ts Maximum na bilang ng mga proxy na ini-import sa bawat pag-sync ng Webshare.
NEXT_PUBLIC_VERCEL_RELAY_ENABLED true src/app/(dashboard)/…/ProxyPoolTab.tsx Ipakita/itago ang button na Deploy Vercel Relay sa tab na Proxy Pool.
VERCEL_API_BASE https://api.vercel.com src/app/api/settings/proxy/vercel-deploy/route.ts Pag-override sa base URL ng Vercel API (para sa pagsubok).
NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/…/VercelRelayModal.tsx Default na pangalan ng proyekto na paunang inilalagay sa modal sa pag-deploy ng Vercel Relay.
TAILSCALE_BIN (awtomatikong tukuyin) src/lib/tailscaleTunnel.ts Eksaktong path patungo sa tailscale binary.
TAILSCALED_BIN (awtomatikong tinutukoy) src/lib/tailscaleTunnel.ts Tahasang path patungo sa binary ng daemon na tailscaled.
TAILSCALE_AUTHKEY (hindi nakatakda) src/lib/tailscaleTunnel.ts Paunang ibinahaging Tailscale auth key para sa hindi interaktibo / headless na tailscale up (ipinapasa sa pamamagitan ng --auth-key=). Kapag hindi nakatakda, babalik ang pag-login sa interaktibong auth URL ng browser.
NGROK_AUTHTOKEN (hindi nakatakda) src/lib/ngrokTunnel.ts Pinatutunayan ang pagkakakilanlan ng mga papalabas na ngrok tunnel.
DB_BACKUP_MAX_FILES 20 src/lib/db/backup.ts Pinakamataas na bilang ng mga SQLite backup file na pananatilihin ng manu-mano/naka-iskedyul na paglilinis ng backup. Nakabatay sa nilalaman ang address ng mga snapshot ng migration at muling ginagamit ang mga ito para sa magkaparehong estado ng DB; hindi inaalis ang mga ito sa loob ng kasabay na panahon ng migration. Ino-override nito ang value na naka-save mula sa Settings → Database backup retention.
DB_BACKUP_RETENTION_DAYS 0 src/lib/db/backup.ts Pinakamataas na edad (mga araw) na pananatilihin ng manu-mano/naka-iskedyul na paglilinis ng backup. Hindi pinapagana ng 0 ang pag-aalis batay sa edad. Hindi inaalis ang mga snapshot ng migration sa loob ng kasabay na panahon ng migration. Ino-override nito ang value na naka-save mula sa Settings → Database backup retention.
OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS 30000 src/lib/jobs/backupScheduleJob.ts Agwat ng tick (ms) ng server-side job na nagpapatupad sa backup-schedule.json. Dapat itong manatiling mas maikli sa 1 minutong granularity ng cron; ang mga value na mas mababa sa 5000 o hindi ma-parse ay babalik sa 30000.
CONTAINER_HOST docker scripts/check-permissions.sh Pahiwatig ng container runtime para sa pagsusuri ng pahintulot ng entrypoint. Itakda sa podman para sa anumang topology ng Podman. Dahil hindi matutukoy ng container kung lokal ang engine o ina-access sa pamamagitan ng Podman Machine, nananatiling neutral sa topology ang babala at itinuturo ang contrib/podman/README.md.
QUOTA_STORE_DRIVER sqlite src/lib/quota/storeFactory.ts Backend ng imbakan ng pagkonsumo sa quota-share: sqlite (default) o redis.
QUOTA_STORE_REDIS_URL (hindi nakatakda) src/lib/quota/storeFactory.ts String ng koneksyon sa Redis na ginagamit kapag QUOTA_STORE_DRIVER=redis (hal. redis://localhost:6379).
QUOTA_SATURATION_THRESHOLD 0.5 src/lib/quota/enforce.ts Ratio ng saturation ng pool (0..1); kapag umabot dito o lumampas dito, papasok ang pool sa strict mode (walang panghihiram).
QUOTA_SOFT_DEPRIORITIZE_FACTOR 0.7 open-sse/services/combo.ts Multiplier ng score (0..1) na inilalapat sa isang target kapag ibinababa ng soft quota policy ang priyoridad nito.
STATUS_SOFT_DEPRIORITIZE_FACTOR 0.5 open-sse/services/combo/autoStrategy.ts Multiplier ng score (0..1) na inilalapat sa isang ubos nang provider (credits_exhausted/rate_limited) sa auto-combo scoring kapag NAKA-OFF ang preflight quota cutoff (#4540).
QUOTA_CONSUMPTION_RETENTION_DAYS 14 src/lib/db/quotaConsumption.ts Palugit ng retention (mga araw) para sa mga bucket ng quota_consumption bago ang GC (gcQuotaConsumption).
QUOTA_PREFLIGHT_CUTOFF_ENABLED false src/lib/resilience/settings.ts Opsyonal na paganahin (default na NAKA-OFF): pinapagana ang hard quota cutoff ng auto-routing na nag-aalis ng mga kandidatong may mababang quota bago ang scoring.
OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL false open-sse/services/autoCombo/virtualFactory.ts Opsyonal na paganahin (default na NAKA-OFF): kapag walang tumugmang nakakonektang kandidato sa isang filter na auto/<category>:<tier>, ibinabalik ang dating gawi na bumalik sa buong (hindi na-filter na) pool sa halip na magbalik ng bakanteng pool. Kapag NAKA-OFF bilang default, ang :free ay nangangahulugang "libreng tier lamang".
OMNIROUTE_CHAOS_MAX_PANEL 5 open-sse/services/autoCombo/virtualFactory.ts Limitasyon sa laki ng panel (nililimitahan sa 110) para sa broadcast variant na auto/*:chaos — ang isang request ay ipinapadala sa hindi hihigit sa ganitong karaming modelo mula sa magkakaibang provider.
OMNIROUTE_CHAOS_MIN_PANEL (default ng engine) open-sse/services/autoCombo/virtualFactory.ts Minimum na pagsasaayos sa laki ng panel na ipinapasa sa chaos broadcast handler; kapag hindi itinakda, pananatilihin ang default ng engine.
OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS (default ng engine) open-sse/services/autoCombo/virtualFactory.ts Hard timeout (ms) para sa buong fan-out ng chaos panel; kapag hindi itinakda, pananatilihin ang default ng engine.
GROK_AUTH_PATH ~/.grok/auth.json open-sse/services/grokQuotaFetcher.ts Path ng auth.json ng Grok CLI na ginagamit upang kunin ang lingguhang quota ng grok-web; i-override para sa mga pagsubok o hindi karaniwang pag-install ng CLI.
AGENTBRIDGE_UPSTREAM_CA_CERT (hindi itinakda) src/mitm/manager.ts Karagdagang CA certificate (PEM) na pinagkakatiwalaan para sa mga upstream TLS connection ng AgentBridge.
INSPECTOR_BUFFER_SIZE 1000 src/mitm/inspector/buffer.ts Pinakamataas na bilang ng mga na-capture na request na pinananatili sa ring buffer ng Traffic Inspector.
INSPECTOR_MAX_BODY_KB 1024 src/mitm/inspector/buffer.ts Pinakamataas na laki ng body ng na-capture na request/response (KB) bago ito putulin.
INSPECTOR_HTTP_PROXY_PORT 8080 src/mitm/inspector/httpProxyServer.ts Lokal na port para sa HTTP proxy ng Traffic Inspector.
INSPECTOR_HTTP_PROXY_AUTOSTART false src/mitm/inspector/httpProxyServer.ts Awtomatikong simulan ang HTTP proxy ng inspector sa pag-boot.
INSPECTOR_TLS_INTERCEPT false src/lib/inspector/captureState.ts I-enable ang TLS interception (MITM) para sa na-capture na HTTPS traffic.
INSPECTOR_LLM_HOSTS_EXTRA (hindi nakatakda) src/lib/inspector/captureState.ts Mga karagdagang hostname (pinaghihiwalay ng kuwit) na itinuturing na mga LLM endpoint para sa pag-capture.
INSPECTOR_MASK_SECRETS true src/mitm/inspector/buffer.ts Itago ang mga lihim (mga auth header / API key) sa na-capture na traffic.
INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES 30 src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts Bilang ng minuto bago awtomatikong ibalik ng system-proxy guard ang mga setting ng OS proxy.
INSPECTOR_INTERNAL_INGEST_TOKEN (awtomatiko) src/app/api/tools/traffic-inspector/internal/ingest/route.ts Token na nagpapatunay sa internal capture ingest papunta sa inspector.
PLAYGROUND_COMPARE_MAX_COLUMNS 4 src/app/(dashboard)/dashboard/playground/ Pinakamataas na bilang ng magkakatabing column sa compare mode ng Playground.
PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL (hindi nakatakda) src/app/(dashboard)/dashboard/playground/ Default na modelo para sa aksyong 'improve prompt' ng Playground (babalik sa aktibong modelo kapag hindi nakatakda).
BIFROST_ENABLED 1 src/app/api/v1/relay/chat/completions/bifrost/route.ts Pangunahing kill switch para sa bifrost sidecar proxy. Kapag itinakda sa 0, nagbabalik ang route ng 503 na may header na X-Bifrost-Killswitch, at inililipat ang operator sa TS path. Gamitin upang i-disable ang sidecar nang hindi muling nagde-deploy (tier-1 router incident, key rotation).
BIFROST_BASE_URL (hindi nakatakda) src/app/api/v1/relay/chat/completions/bifrost/route.ts Kapag nakatakda, ipinapasa ng Bifrost sidecar proxy route ang trapiko ng /v1/chat/completions sa Go gateway na ito sa halip na sa TS relay handler. Hindi nakatakda → 503 na may fallback. Inaalis ang trailing slash.
BIFROST_PORT 8080 src/lib/services/bootstrap.ts Port na bina-bind ng pinangangasiwaang Bifrost embedded service (127.0.0.1:<port>) kapag pinamamahalaan ng OmniRoute ang lifecycle ng Bifrost sidecar. Ang default ay 8080.
BIFROST_API_KEY (hindi nakatakda) src/app/api/v1/relay/chat/completions/bifrost/route.ts API key para sa Bifrost gateway (ipinapadala bilang Authorization: Bearer ...). Kung hindi nakatakda, inaasahan ng route na may wastong OmniRoute API key ang request; para lamang sa gateway-side auth ang key na ito.
BIFROST_STREAMING_ENABLED true src/app/api/v1/relay/chat/completions/bifrost/route.ts Kapag true, ini-stream pabalik ng Bifrost sidecar route ang mga response sa pamamagitan ng SSE sa gateway sa halip na sa TS streaming executor. Itakda sa 0 upang sapilitang gumamit ng mga non-streaming JSON response sa pamamagitan ng gateway.
BIFROST_TIMEOUT_MS 30000 src/app/api/v1/relay/chat/completions/bifrost/route.ts Timeout sa bawat request kapag nagpo-proxy sa Bifrost gateway (ms). Kapag nag-timeout, ibinabalik ng route ang TS relay path sa pamamagitan ng header na X-Bifrost-Fallback.
OMNIROUTE_BIFROST_KEY (hindi nakatakda) src/app/api/v1/relay/chat/completions/bifrost/route.ts Alias para sa BIFROST_API_KEY (ginagamit ng mga script na nagbabasa ng env sa pamamagitan ng OMNIROUTE_*). Mas inuuna ang BIFROST_API_KEY kapag parehong nakatakda ang dalawa.
OMNIROUTE_RELAY_BACKEND ts / auto src/app/api/v1/relay/chat/completions/routingBackend.ts Relay backend para sa /api/v1/relay/chat/completions: ts | bifrost | auto. ts = TypeScript relay (default kapag hindi naka-configure ang Bifrost); pinipili ng auto ang Bifrost kapag nakatakda ang BIFROST_BASE_URL at BIFROST_ENABLED0, na may awtomatikong TS fallback kung hindi maabot ang sidecar; ipinipilit ng bifrost ang Bifrost (mahigpit, walang fallback). Palaging unang pinapatakbo sa Next route ang auth/rate-limit/injection-guard/allowlist. Taglay ng mga response ang X-Routing-Backend / X-Routing-Fallback / X-Routing-Fallback-Reason.
RELAY_ROUTING_BACKEND (hindi nakatakda) src/app/api/v1/relay/chat/completions/routingBackend.ts Tinatanggap na alias para sa OMNIROUTE_RELAY_BACKEND (parehong mga value na ts | bifrost | auto). Mas inuuna ang OMNIROUTE_RELAY_BACKEND kapag parehong nakatakda ang dalawa.
OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS 5000 src/app/api/v1/relay/chat/completions/bifrostCooldown.ts Cooldown (ms) matapos mabigo ang isang Bifrost sidecar hop sa auto mode bago muling subukan ng relay ang sidecar; direktang dumaraan ito sa TS path habang umiiral ang cooldown, at pagkatapos ay sumusubok muli. Hindi pinapagana ng 0. Nalalapat lamang kapag OMNIROUTE_RELAY_BACKEND=auto.
OMNIROUTE_TLS_CERT (hindi nakatakda) bin/cli/commands/serve.mjs Path patungo sa isang PEM TLS certificate upang ihatid ang omniroute serve sa HTTPS (katumbas ng --tls-cert). Dapat itong ipares sa OMNIROUTE_TLS_KEY; pagkatapos ay tina-terminate ng standalone server ang TLS sa parehong listener (wss:// ay gumagana nang walang pagbabago). Hindi nakatakda → plain HTTP. Kapag cert o key lamang ang ibinigay, o hindi mabasa ang path, nagla-log ito ng babala at nananatili sa HTTP.
OMNIROUTE_TLS_KEY (hindi nakatakda) bin/cli/commands/serve.mjs Path patungo sa PEM TLS private key para sa HTTPS ng omniroute serve (katumbas ng --tls-key). Dapat itong ipares sa OMNIROUTE_TLS_CERT. Tingnan ang OMNIROUTE_TLS_CERT.
OMNIROUTE_LOCAL_ENDPOINTS_ENABLED 0 src/lib/security/localEndpoints.ts Pangunahing switch para sa mga route na /api/local/*. Kapag hindi nakatakda o 0, nagbabalik ng 503 ang lahat ng route na /api/local/* sa production. Dapat ay 1 ito sa mga non-loopback deployment upang paganahin ang Redis launcher at mga katulad na 1-click local service starter. Karagdagang proteksiyon kasama ng route-guard classification na isLocalOnlyPath() (LOCAL_ONLY_API_PREFIXES sa src/server/authz/routeGuard.ts).
OMNIROUTE_LOCAL_ENDPOINTS_TOKEN (hindi nakatakda) src/lib/security/localEndpoints.ts Bearer token para sa mga caller ng /api/local/* na wala sa loopback (hal. ang desktop app). Kapag nakatakda, ang mga request mula sa mga non-loopback IP ay dapat maglaman ng Authorization: Bearer <token>. Kinakailangan kapag OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1 sa mga non-loopback deployment.
OMNIROUTE_REDIS_CONTAINER_NAME omniroute-redis bin/cli/commands/redis.mjs Pangalan ng container para sa 1-click Redis launcher (omniroute redis up). Ginagamit ng CLI at ng RedisLauncherPanel GUI.
OMNIROUTE_REDIS_HOST_PORT 6379 bin/cli/commands/redis.mjs Host port para sa 1-click Redis launcher. Taasan ito kung ginagamit na ng host ang 6379. Nananatiling 6379 ang internal port ng container.
OMNIROUTE_REDIS_BIND_HOST 127.0.0.1 bin/cli/commands/redis.mjs Host interface kung saan nagpa-publish ang 1-click Redis launcher. Sinisimulan ng launcher ang Redis nang WALANG password, kaya ang pag-bind sa 0.0.0.0 ay nagbibigay sa bawat host sa iyong LAN ng Redis na walang authentication — palawakin lamang ito kung ikaw mismo ay magtatakda rin ng password sa instance.
REDIS_BIND_HOST 127.0.0.1 docker-compose.yml Host interface kung saan pina-publish ng docker-compose ang Redis sidecar (#9286). Tumatakbo ang compose Redis nang walang requirepass; naaabot ito ng mga app container sa pamamagitan ng compose network (redis:6379) — umiiral lamang ang published port para sa host-side tooling. Inilalantad ng 0.0.0.0 ang Redis na walang authentication sa buong LAN.
REDIS_PORT 6379 docker-compose.yml Host port para sa compose Redis sidecar.
APP_BIND_HOST 127.0.0.1 docker-compose.yml, docker-compose.prod.yml Host interface kung saan inilalathala ng docker-compose ang sariling dashboard/API/live-WS ports ng app (#12568). Dahil ang REQUIRE_API_KEY=false ang ipinapadalang default sa .env.example, inilalantad ng 0.0.0.0 ang anonymous na /v1 LLM proxy sa buong LAN/WAN — palawakin lamang kapag REQUIRE_API_KEY=true o kapag nagpapatupad ng sarili nitong auth ang isang reverse proxy sa harap.
QDRANT_BIND_HOST 127.0.0.1 docker-compose.yml Host interface kung saan inilalathala ng docker-compose ang Qdrant memory sidecar (#12578). Kapareho ng pangangatwiran tungkol sa pagkalantad sa LAN para sa REDIS_BIND_HOST.
BIFROST_BIND_HOST 127.0.0.1 docker-compose.yml Host interface kung saan inilalathala ng docker-compose ang Bifrost router sidecar (#12578). Kapareho ng pangangatwiran tungkol sa pagkalantad sa LAN para sa REDIS_BIND_HOST.
REDIS_KEY_PREFIX omniroute: src/shared/utils/rateLimiter.ts Namespace prefix na inilalapat sa bawat OmniRoute Redis key (rate limiter, auth cache, quota store, warmup circuit breaker). Pinipigilan nito ang mga banggaan ng key kapag ibinabahagi ang Redis instance sa ibang mga app (#11042).
OMNIROUTE_INTERNAL_SERVICE_TOKEN (hindi nakatakda — hindi pinagana ang mekanismo) src/lib/api/internalServiceAuth.ts Nakabahaging secret para sa mga internal REST hop na nagpapanatili ng identidad (#9260): ipinapadala ito bilang x-omniroute-internal-service-token ng mga component ng OmniRoute na tumatawag sa iba pang lokal na OmniRoute route upang mapanatili ang identidad ng orihinal na tumatawag. Inihahambing gamit ang timingSafeEqual.
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE (hindi nakatakda) src/lib/api/internalServiceAuth.ts Variant na secret file ng internal service token: path patungo sa isang file na ang trimmed na nilalaman ang siyang token. Kinokonsulta lamang kapag hindi nakatakda ang inline var.
OPENROUTER_PROVIDER_STATS_ENABLED true src/lib/catalog/openrouterProviderStats.ts Pinagyayaman ang listahan ng mga provider sa dashboard gamit ang lingguhang ranking stats ng OpenRouter (#9324). Naka-on bilang default; itakda sa false upang ganap na laktawan ang background fetch (non-blocking, hindi kailanman fatal).
OPENROUTER_PROVIDER_STATS_TTL_MS 86400000 (24h) src/lib/catalog/openrouterProviderStats.ts Cache TTL para sa snapshot ng provider stats ng OpenRouter, sa mga millisecond.
OMNIROUTE_REDIS_IMAGE redis:7-alpine bin/cli/commands/redis.mjs Redis image na ginagamit ng 1-click Redis launcher. I-override sa redis:8-alpine o sa isang private registry mirror kung kinakailangan.
QDRANT_HOST qdrant (opt-in na cluster profile) Hostname ng Qdrant sidecar kapag aktibo ang --profile memory. Nakaturo ang default sa pangalan ng qdrant service sa loob ng network; i-override para sa isang external deployment. Ginagamit lamang kapag ang qdrantEnabled ay true sa code (src/lib/memory/vectorStore.ts:108).
QDRANT_PORT 6333 (opsyonal na cluster profile) REST port ng Qdrant sidecar.
QDRANT_GRPC_PORT 6334 (opsyonal na cluster profile) gRPC port ng Qdrant sidecar. Ginagamit ng mga client library na mas pinipili ang gRPC kaysa REST para sa mga streaming operation.
QDRANT_API_KEY (hindi nakatakda) (opsyonal na cluster profile) Opsyonal na API key para sa Qdrant Cloud o isang authenticated na on-prem instance. Walang laman → walang ipinapadalang api-key header.
QDRANT_COLLECTION omniroute-memory (opsyonal na cluster profile) Pangalan ng collection para sa mga conversation memory embedding ng OmniRoute. Ginagawa sa unang pagpapatakbo na may mga dimensyong tinukoy ng QDRANT_VECTOR_SIZE.
QDRANT_EMBEDDING_MODEL text-embedding-3-small (opsyonal na cluster profile) Pangalan ng default na embedding model na itinatala sa metadata ng Qdrant collection. Ang mga aktuwal na embedding ay binubuo ng anumang provider na tinutukoy ng field na embeddingModel sa mga setting ng OmniRoute.
QDRANT_VECTOR_SIZE 1536 (opsyonal na cluster profile) Dimensyon ng embedding vector. Dapat tumugma sa model na ginagamit mo sa pag-embed (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768).
QDRANT_HNSW_EF_CONSTRUCT 128 (opsyonal na cluster profile) Katumpakan ng HNSW index sa oras ng pagbuo. Mas mataas = mas mabagal na pagbuo, mas mabilis na paghahanap.
OMNIROUTE_ROTATION_ENABLED true open-sse/services/rotationConfig.ts Pangunahing switch para sa rotation ng account na nako-configure ng operator. Kapag false, wala sa mga class na OMNIROUTE_ROTATE_* sa ibaba ang magti-trigger ng fallback ng account (hinaharangan din ng master-off na estado ang mga class na 429/500/502 na naka-enable bilang default). Nagbibigay-daan ito sa isang nangangasiwang front-end (hal. ang VibeProxy desktop app) na itugma ang sarili nitong mga panuntunan sa rotation sa account-fallback engine ng backend.
OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS 0 open-sse/services/rotationConfig.ts Cooldown (mga segundo) na inilalapat sa isang account na nalimitahan ang rate kapag walang ibinigay na tahasang reset hint ang upstream. 0 = gamitin ang default na cooldown ng engine sa halip na isang nakapirming override.
OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET true open-sse/services/rotationConfig.ts Katumbas ng kagustuhan sa front-end na "huwag i-tag bilang rate-limited nang walang oras ng pag-reset."
OMNIROUTE_ROTATE_ON_429 true open-sse/services/rotationConfig.ts Pag-enable ng fallback ayon sa status para sa mga error na 429. Kapag false (at OMNIROUTE_ROTATION_ENABLED=true), hindi na nagti-trigger ng pag-rotate ng account ang isang 429 at sa halip ay ibinabalik ito sa client.
OMNIROUTE_ROTATE_429_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilang ng mga error na 429 sa loob ng OMNIROUTE_ROTATE_429_WINDOW_SECONDS na kinakailangan bago i-rotate ang account. Agad na nagro-rotate ang 1 (default), na pinapanatili ang dating gawi.
OMNIROUTE_ROTATE_429_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Sliding window (sa segundo) kung kailan binibilang ang mga error na 429 para sa OMNIROUTE_ROTATE_429_THRESHOLD.
OMNIROUTE_ROTATE_ON_500 true open-sse/services/rotationConfig.ts Pag-enable ng fallback ayon sa status para sa mga server error na 5xx (hindi kasama ang 502, na may sarili nitong class). Kapag false, hindi na nagti-trigger ng pag-rotate ng account ang mga error na ito.
OMNIROUTE_ROTATE_500_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilang ng mga error na 5xx sa loob ng OMNIROUTE_ROTATE_500_WINDOW_SECONDS na kinakailangan bago i-rotate ang account. Agad na nagro-rotate ang 1 (default).
OMNIROUTE_ROTATE_500_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Sliding window (sa segundo) kung kailan binibilang ang mga error na 5xx para sa OMNIROUTE_ROTATE_500_THRESHOLD.
OMNIROUTE_ROTATE_ON_502 true open-sse/services/rotationConfig.ts Pag-enable ng fallback ayon sa status para sa mga error na 502 (bad gateway). Kapag false, hindi na nagti-trigger ng pag-rotate ng account ang mga 502.
OMNIROUTE_ROTATE_502_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilang ng mga error na 502 sa loob ng OMNIROUTE_ROTATE_502_WINDOW_SECONDS na kinakailangan bago i-rotate ang account. Agad na nagro-rotate ang 1 (default).
OMNIROUTE_ROTATE_502_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Sliding window (sa segundo) kung kailan binibilang ang mga error na 502 para sa OMNIROUTE_ROTATE_502_THRESHOLD.
OMNIROUTE_ROTATE_ON_400 false open-sse/services/rotationConfig.ts Opsyonal (default na NAKA-OFF): kapag true, nagti-trigger din ng pag-rotate ng account ang isang karaniwang 400 (bad request). Pandagdag lamang ito — hindi nito kailanman bina-block ang kasalukuyang gawi ng engine kung saan nagfa-fallback pa rin ang isang 400 na naglalaman ng text tungkol sa rate limit/quota anuman ang flag na ito.
OMNIROUTE_ROTATE_400_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilang ng mga error na 400 sa loob ng OMNIROUTE_ROTATE_400_WINDOW_SECONDS na kinakailangan bago i-rotate ang account (sinusuri lamang kapag OMNIROUTE_ROTATE_ON_400=true).
OMNIROUTE_ROTATE_400_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Sliding window (sa mga segundo) kung kailan binibilang ang mga error na 400 para sa OMNIROUTE_ROTATE_400_THRESHOLD.

Scheduler ng Claude Warmup

Warmup na pinapatakbo ng cron para sa mga Anthropic OAuth connection na nag-opt in, upang mabuksan ang 5-oras na rate-limit window sa pamamagitan ng isang payak na naka-iskedyul na request sa halip na ng unang aktuwal na request (#8848). Naka-off ang scheduler maliban kung truthy ang OMNIROUTE_WARMUP_ENABLED at naka-flag ang connection sa settings.claudeWarmup.connections; kapag walang laman ang listahan ng mga connection, walang iwi-warm up kahit naka-on ang env var.

Variable Default Source File Paglalarawan
OMNIROUTE_WARMUP_ENABLED (hindi nakatakda → naka-off) src/lib/warmupScheduler.ts Pangunahing switch para sa warmup scheduler. Tumatanggap ng 1/true/yes/on (hindi sensitibo sa laki o liit ng titik, at tina-trim). Anumang ibang value, o kapag hindi nakatakda, ay mag-iiwan sa scheduler na naka-off.
OMNIROUTE_WARMUP_CRON 0 7 * * * src/lib/warmupScheduler.ts Limang-field na cron expression para sa warmup tick, na sinusuri sa America/Los_Angeles (reset timezone ng Anthropic) anuman ang oras ng host.
OMNIROUTE_WARMUP_CONCURRENCY 3 src/lib/warmupScheduler.ts Dami ng mga connection na iwi-warm up nang sabay-sabay sa bawat tick. Nililimitahan sa 1-10; babalik sa 3 ang value na hindi numeric.
OMNIROUTE_WARMUP_MODEL claude-3-5-haiku-20241022 src/lib/warmupScheduler.ts Model na ginagamit para sa warmup request. I-override lamang kung hindi available ang default sa iyong plan; piliin ang pinakamurang model na makapagbubukas pa rin ng window.

Mga VNC Session para sa Browser Login at Data-Dir Alias

Containerized na Chromium+VNC na ginagamit para sa interactive na pagkuha ng credential sa browser login (/api/vnc-session), kasama ang legacy na DATA_DIR alias. Opsyonal ang lahat—ang mga default ng VNC ay nakatuon sa kasamang omniroute-vnc-chromium:local image at ino-override lamang para sa custom na container image, mga port, o pagsasaayos ng lifecycle.

Variable Default Source File Paglalarawan
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Tag ng Docker image para sa Chromium+VNC login container. I-build ang docker/vnc-browser/chromium o ituro ito sa isang custom na image.
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts Binary ng container runtime na ginagamit upang ilunsad ang VNC container (hal., itakda sa podman).
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts VNC/noVNC port na inilalantad sa loob ng container.
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Port ng Chrome DevTools Protocol sa loob ng container.
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Path ng direktoryo ng Chromium profile sa loob ng container.
OMNIROUTE_VNC_PROFILE_DIR $HOME/.omniroute/browser-login-profiles src/lib/vncSession/manifest.ts Direktoryo sa host na naglalaman ng mga naka-persist na browser-login profile.
OMNIROUTE_VNC_IDLE_MS 600000 (10 min) src/lib/vncSession/manifest.ts Timeout sa pagiging idle (ms) bago alisin ang isang hindi aktibong VNC session.
OMNIROUTE_VNC_MAX_MS 1800000 (30 min) src/lib/vncSession/manifest.ts Mahigpit na limitasyon (ms) sa tagal ng isang VNC session.
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Pinakamataas na bilang ng magkakasabay na VNC session.
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Timeout (ms) sa paghihintay na maging handa para sa CDP ang browser na nasa container.
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Timeout (ms) para sa pagkuha ng nakuhang session/cookies pagkatapos makumpleto ang pag-login.
OMNIROUTE_VNC_CHROMIUM_ARGS --remote-debugging-port=9222 --no-first-run --no-default-browser-check src/lib/vncSession/manifest.ts Mga karagdagang command-line flag na ipinapasa sa Chromium na nasa container.
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Nakalaang Docker network na sinasalihan ng VNC login container (#12571) sa halip na ang default bridge, upang hindi maabot ng mga sibling container ang CDP bridge port nito.
VIBEPROXY_DATA_DIR (hindi nakatakda) open-sse/services/notionThreadSessions.ts Legacy alias para sa DATA_DIR, na sinusuri lamang kapag parehong hindi nakatakda ang DATA_DIR at OMNIROUTE_DATA_DIR. Tinutukoy nito ang lokasyon ng cache ng Notion web-thread session (<dir>/notion-web-thread-sessions.json).

26. Test at E2E Harness

Ginagamit ng scripts/dev/run-next-playwright.mjs, scripts/dev/smoke-electron-packaged.mjs, scripts/dev/run-ecosystem-tests.mjs, at scripts/build/uninstall.mjs. Iwang hindi nakatakda ang lahat ng value sa ibaba sa mga production deployment.

Variable Default Source File Paglalarawan
OMNIROUTE_E2E_BOOTSTRAP_MODE auth scripts/dev/run-next-playwright.mjs E2E bootstrap mode (auth, fresh, reuse) para sa Playwright runner.
OMNIROUTE_E2E_PASSWORD bumabalik sa INITIAL_PASSWORD scripts/dev/run-next-playwright.mjs Admin password na inilalagay sa Playwright environment.
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK true scripts/dev/run-next-playwright.mjs I-disable ang lokal na healthcheck poll habang tumatakbo ang Playwright.
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK true scripts/dev/run-next-playwright.mjs I-disable ang OAuth token healthcheck loop habang isinasagawa ang mga test.
OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS (hindi nakatakda) src/lib/tokenHealthCheck.ts Mga provider na pinaghihiwalay ng kuwit at hindi isinasama sa proactive token-refresh sweep (hal. codex,openai). Nakatutok na alternatibo sa ganap na pag-disable ng healthcheck — patuloy na nagre-refresh ang mga short-TTL provider habang nananatiling reactive-only ang mga cascade provider.
OMNIROUTE_HIDE_HEALTHCHECK_LOGS true scripts/dev/run-next-playwright.mjs Patahimikin ang ingay ng healthcheck sa stdout ng Playwright.
OMNIROUTE_PLAYWRIGHT_SKIP_BUILD 0 scripts/dev/run-next-playwright.mjs Laktawan ang Next.js production build bago magsimula ang Playwright (pag-optimize para sa CI).
OMNIROUTE_SKIP_UNINSTALL_HOOK 0 scripts/build/uninstall.mjs Laktawan ang OmniRoute uninstall hook (ginagamit ng CI upang mapanatiling buo ang node_modules).
ECOSYSTEM_SERVER_WAIT_MS 180000 scripts/dev/run-ecosystem-tests.mjs Tagal ng paghihintay (ms) na maging healthy ang server bago patakbuhin ang mga ecosystem/protocol test.
ELECTRON_SMOKE_URL http://127.0.0.1:20128/login scripts/dev/smoke-electron-packaged.mjs URL na inaasahan ng Electron smoke harness na ihahatid ng packaged app.
ELECTRON_SMOKE_TIMEOUT_MS 45000 scripts/dev/smoke-electron-packaged.mjs Kabuuang timeout (ms) bago sumuko ang smoke harness.
ELECTRON_SMOKE_SETTLE_MS 2000 scripts/dev/smoke-electron-packaged.mjs Settle window (ms) pagkatapos mag-load ang page.
ELECTRON_SMOKE_APP_EXECUTABLE (awtomatiko) scripts/dev/smoke-electron-packaged.mjs Tahasang path patungo sa packaged Electron executable.
ELECTRON_SMOKE_DATA_DIR (tmpdir) scripts/dev/smoke-electron-packaged.mjs Data directory para sa Electron smoke run.
ELECTRON_SMOKE_KEEP_DATA 0 scripts/dev/smoke-electron-packaged.mjs Itakda sa 1 upang mapanatili ang direktoryo ng smoke data pagkatapos ng pagpapatakbo.
ELECTRON_SMOKE_STREAM_LOGS 0 scripts/dev/smoke-electron-packaged.mjs Itakda sa 1 upang i-stream ang mga log ng Electron sa stdout habang isinasagawa.
ELECTRON_SMOKE_COLD_RESTART 0 scripts/dev/smoke-electron-packaged.mjs #7592: muling ilunsad gamit ang parehong direktoryo ng data at tiyaking pinipili ng ikalawang paglulunsad ang native na SQLite driver.
CLI_DEVIN_BIN (paghahanap sa PATH) open-sse/executors/devin-cli.ts I-override ang path ng binary ng Devin CLI.

Pipeline ng pagsasalin ng dokumentasyon

Ginagamit ng scripts/i18n/run-translation.mjs (ang command na npm run i18n:run). Hindi nakatakda bilang default ang lahat ng limang variable — itakda lamang ang mga ito sa .env sa mga machine na dapat makapagpatakbo ng tagasalin ng dokumentasyon.

Variable Default Source File Paglalarawan
OMNIROUTE_TRANSLATION_API_URL (hindi nakatakda) scripts/i18n/run-translation.mjs Base URL na compatible sa OpenAI para sa backend ng pagsasalin.
OMNIROUTE_TRANSLATION_API_KEY (hindi nakatakda) scripts/i18n/run-translation.mjs Bearer token para sa backend ng pagsasalin (hindi kailanman itinatala sa log).
OMNIROUTE_TRANSLATION_MODEL (hindi nakatakda) scripts/i18n/run-translation.mjs Model id, hal. gpt-4o-mini o cx/gpt-5.4-mini.
OMNIROUTE_TRANSLATION_TIMEOUT_MS 60000 scripts/i18n/run-translation.mjs Timeout sa bawat request, sa millisecond.
OMNIROUTE_TRANSLATION_CONCURRENCY 4 scripts/i18n/run-translation.mjs Mga parallel na request sa pagsasalin kapag pinapatakbo sa maraming file / locale.

27. Radar Feed (Sariling Pagho-host)

Opsyonal na add-on na kinokontrol ng RADAR_ENABLED feature flag (naka-off bilang default — isang feature flag na binabago sa pamamagitan ng Settings/DB, hindi isang env var; tingnan ang docs/frameworks/RADAR.md). Ang unang apat na variable sa ibaba ay mga opsyonal na override para sa isang sariling hino-host o forked na feed at mga daloy ng supporter key. Ang ikalima, RADAR_ADMIN_URL, ay isang hiwalay na link na walang default papunta sa pribadong operations panel ng may-ari. Tingnan ang docs/frameworks/RADAR.md para sa kumpletong dokumentasyon ng module at sa end-to-end na pagkakasunod-sunod ng pag-activate at ginabayang pag-setup.

Ang generic na reader ng anunsyo sa Home/Changelog ay hindi kino-configure ng isang environment variable at hindi nakadepende sa RADAR_ENABLED feature flag. Binabasa nito ang pampublikong repository na news.json URL na idineklara sa src/shared/utils/releaseNotes.ts gamit lamang ang GET; nananatili sa lokal na storage ng browser ang mga dismissal ID.

Variable Default Source File Paglalarawan
RADAR_FEED_URL https://radar.omniroute.online src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts Base URL na pinagsasaluhan ng magkakahiwalay na nilagdaang catalog, referrals, supporter-offers, at Intel feed. I-override upang ituro sa isang sariling hino-host o forked na serbisyo.
RADAR_FEED_PUBKEY (naka-pin na default na key) src/lib/radar/pinnedKeys.ts Ed25519 public key (base64-DER SPKI o PEM) na ginagamit upang beripikahin ang mga lagda ng feed mula sa isang custom na feed.
RADAR_CONTRIBUTOR_CLAIM_URL https://radar.omniroute.online/auth/github src/lib/radar/links.ts URL na binubuksan ng button na "Contributor ako" sa dashboard (daloy ng pag-claim ng supporter key gamit ang GitHub OAuth).
RADAR_SUPPORTER_PLANS_URL https://radar.omniroute.online/planos src/lib/radar/links.ts URL na binubuksan ng button na "Suportahan ang proyekto" sa dashboard (pahina ng pagbabayad/mga plano).
RADAR_ADMIN_URL (hindi nakatakda) src/lib/radar/links.ts Pribadong link ng operations panel para lamang sa may-ari. Kinakailangan ang HTTPS maliban sa isang HTTP loopback SSH forward; hindi gumagawa ng navigation item ang mga hindi nakatakda o invalid na value.

Audit: Mga Inalis / Hindi Na Ginagamit na Variable

Lumitaw ang mga sumusunod na variable sa mga nakaraang bersyon ng .env.example ngunit walang runtime reference sa kasalukuyang codebase. Inalis na ang mga ito:

Variable Dahilan
STORAGE_DRIVER=sqlite Hindi kailanman binabasa ng anumang source file. SQLite lang ang sinusuportahang driver — hindi kailangan ang pagpili.
INSTANCE_NAME=omniroute Makikita sa mga lumang dokumento/env template ngunit hindi ginagamit sa runtime. Maaaring ibalik sa isang feature para sa maraming instance sa hinaharap.
SQLITE_MAX_SIZE_MB=2048 Hindi nire-reference sa source code. Hindi artipisyal na nililimitahan ang laki ng database.
SQLITE_CLEAN_LEGACY_FILES=true Hindi nire-reference sa source code. Malamang na inalis na ang paglilinis ng mga legacy file.
CLI_ROO_BIN Hindi nakarehistro sa src/shared/services/cliRuntime.ts.
CLI_KIMI_CODING_BIN Hindi nakarehistro sa src/shared/services/cliRuntime.ts (gumagamit ang Kimi Coding ng OAuth, hindi ng CLI binary).
IFLOW_OAUTH_CLIENT_ID / IFLOW_OAUTH_CLIENT_SECRET Hindi nire-reference saanman sa source code.
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 Inalis sa v3.8.0. Hindi na binabasa ng runtime ang mga env var na ito — nagmumula ang mga credential sa Dashboard / data/provider-credentials.json / naka-encrypt na DB.
CURSOR_PROTOBUF_DEBUG Inalis sa v3.8.0. Ginagamit ng Cursor executor ang CURSOR_DEBUG / CURSOR_STREAM_DEBUG (tingnan ang §22).
CLI_COMPAT_KIRO Inalis sa v3.8.0. Kasama ang Kiro sa CLI_COMPAT_OMITTED_PROVIDER_IDS — walang epekto ang toggle nito.
QIANFAN_API_KEY Inalis kasama ng iba pang hindi ginagamit na stub ng provider API key sa v3.8.0.

Mga Pagwawasto sa Default na Value

Variable Lumang Value sa .env.example Aktuwal na Default sa Code Pagwawasto
APP_LOG_RETENTION_DAYS 90 7 Inalis ang mapanlinlang na value; idinokumentong 7 ang default
CALL_LOG_RETENTION_DAYS 90 7 Inalis ang mapanlinlang na value; idinokumentong 7 ang default

Muling pagbuo ng config ng OpenCode (ad-hoc na tooling)

Ginagamit ng scripts/ad-hoc/regen-opencode-config.ts upang muling bumuo ng opencode.json na may mga tumpak na value ng limit.context at limit.output na kinukuha mula sa tumatakbong instance ng OmniRoute. Wala sa mga ito ang kinakailangan para sa normal na operasyon — para lamang sa mga developer ang script na ito.

Variable Default Source File Paglalarawan
OMNIROUTE_URL http://localhost:20128 scripts/ad-hoc/regen-opencode-config.ts Base URL ng instance ng OmniRoute na kukunan ng /v1/models.
OMNIROUTE_KEY (hindi nakatakda) scripts/ad-hoc/regen-opencode-config.ts API key para mag-authenticate sa endpoint na /v1/models ng OmniRoute. Gagamitin ang OPENCODE_API_KEY bilang fallback kapag hindi ito nakatakda.
OPENCODE_API_KEY (hindi nakatakda) scripts/ad-hoc/regen-opencode-config.ts OpenCode-style API key (sk-...) na isinusulat sa muling nabuong opencode.json. Gagamitin ang OMNIROUTE_KEY bilang fallback kapag hindi ito nakatakda.

Offline-eval harness ng compression (ad-hoc na tooling)

Ginagamit ng scripts/compression-eval/index.ts, ang offline compression evaluation CLI. Hindi kinakailangan para sa normal na operasyon — tooling lamang para sa developer.

Variable Default Source File Paglalarawan
OMNIROUTE_EVAL_CREDENTIALS {} (walang laman) scripts/compression-eval/index.ts Mga JSON credential na ibinigay ng operator para sa provider na sinusubukan ng offline compression-eval CLI (pina-parse gamit ang JSON.parse). Huwag itakda para sa dry run.

Mga VNC Browser Session

Ginagamit ng src/lib/vncSession/manifest.ts upang i-configure ang mga Docker-based na headless Chromium session para sa mga browser-automation provider. Opsyonal ang lahat — ipinapakita sa ibaba ang mga default.

Variable Default Source File Paglalarawan
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts Path patungo sa Docker binary na ginagamit upang gumawa ng mga VNC container.
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Docker image para sa VNC Chromium container.
OMNIROUTE_VNC_CHROMIUM_ARGS (mga built-in na flag) src/lib/vncSession/manifest.ts Mga karagdagang Chromium CLI argument na ipinapasa sa browser sa loob ng container.
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts VNC port sa loob ng container.
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Chrome DevTools Protocol port sa loob ng container.
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Directory ng profile sa loob ng container.
OMNIROUTE_VNC_PROFILE_DIR (hindi nakatakda) src/lib/vncSession/manifest.ts Directory sa panig ng host para sa mga persistent na browser profile.
OMNIROUTE_VNC_IDLE_MS 600000 src/lib/vncSession/manifest.ts Idle timeout (ms) bago i-harvest ang isang VNC session.
OMNIROUTE_VNC_MAX_MS 1800000 src/lib/vncSession/manifest.ts Pinakamahabang tagal ng session (ms).
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Pinakamaraming magkakasabay na VNC session.
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Timeout sa paghihintay na maging handa ang browser (ms).
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Timeout sa pag-harvest/paglilinis (ms).
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Nakalaang Docker network na sinasalihan ng container (#12571), hiwalay sa default bridge.
VIBEPROXY_DATA_DIR (hindi nakatakda) open-sse/services/notionThreadSessions.ts Directory para sa persistence ng Notion thread session.

Authentication ng internal service

Variable Default Paglalarawan
OMNIROUTE_INTERNAL_SERVICE_TOKEN Inline token para sa service-to-service authentication ng management plane.
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE Path patungo sa file na naglalaman ng internal service token (inirerekomenda sa mga container; ino-override nito ang inline variable).

Mga stats ng OpenRouter provider

Variable Default Paglalarawan
OPENROUTER_PROVIDER_STATS_ENABLED true Itakda sa false upang laktawan ang pagkuha ng mga stats ng OpenRouter para sa bawat provider para sa pagpapayaman ng catalog.
OPENROUTER_PROVIDER_STATS_TTL_MS 3600000 Cache TTL (ms) para sa mga nakuhang stats ng OpenRouter provider.

Naka-embed na Redis binding

Variable Default Paglalarawan
REDIS_BIND_HOST 127.0.0.1 Bind address para sa naka-embed na serbisyo ng Redis.
REDIS_PORT 6379 Port para sa naka-embed na serbisyo ng Redis.
OMNIROUTE_REDIS_BIND_HOST Override na saklaw ng OmniRoute para sa bind address ng naka-embed na Redis.

24. Mga idinagdag sa release v3.8.50

Ipinakilala ang mga setting na ito pagkatapos ng nakaraang snapshot ng kontrata ng environment.

Variable Default Source File Paglalarawan
OMNIROUTE_CHAT_ADMISSION_QUEUE_MS 2000 src/shared/middleware/chatBodyAdmission.ts Pinakamahabang paghihintay para sa isang heavyweight chat admission slot bago magbalik ng retryable na 503; sini-serialize ng maikli at limitadong paghihintay ang sunod-sunod na bugso mula sa mga agent sa halip na agad magbalik ng 503. Ibinabalik ng 0 ang agarang pagtanggi.
OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES 4194304 (4 MB) src/shared/middleware/chatBodyAdmission.ts Badyet ng mga naka-queue na byte para sa paghihintay sa admission: nililimitahan ang kabuuang byte ng mga naka-buffer na body na nakahimpil sa buong proseso upang hindi mapalaki ng paghihintay ang heap (#4380). Agad na makakatanggap ng retryable na 503 ang mga paghihintay na lampas sa badyet.
OMNIROUTE_CHAT_VIRTUAL_TTL_MS 60000 (60 s) src/shared/middleware/chatBodyAdmission.ts Deprecated na no-op mula noong #10110: inalis ang mga per-session admission lane at pinalitan ng isang badyet para sa buong proseso. Tinatanggap para sa compatibility ng configuration; binabalewala.
OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS 64 src/shared/middleware/chatBodyAdmission.ts Deprecated na no-op mula noong #10110: inalis ang mga per-session admission lane at pinalitan ng isang badyet para sa buong proseso. Tinatanggap para sa compatibility ng configuration; binabalewala.
OMNIROUTE_CHAT_VIRTUAL_LANES 0 (naka-off) open-sse/services/admission/runtime.ts Mga adaptive runtime virtual admission lane (#9654): pangunahing switch para sa per-tenant adaptive gate (system 2). Naiiba sa mga deprecated na per-connection lane variable sa itaas (TTL_MS / MAX_SESSIONS, mga no-op mula noong #10110). Dashboard feature flag na may parehong pangalan; inuuna ang env var kaysa sa dashboard override; nangangailangan ng restart.
OMNIROUTE_RUNNOW_TIMEOUT_MS 30000 src/app/api/jobs/[id]/run-now/route.ts Nililimitahan kung gaano katagal maghihintay ang isang run-now call sa kasalukuyang tumatakbong job bago simulan ang naka-queue na run.
ADOBE_FIREFLY_BROWSER_REFRESH naka-enable open-sse/services/adobeFireflySession.ts Pinananatiling napapanahon ang IMS at browser-risk state sa pamamagitan ng mga account-scoped na Chrome CDP session; itakda sa 0 upang i-disable.
ADOBE_FIREFLY_SESSION_DISK naka-enable open-sse/services/adobeFireflySession.ts Pinapanatili sa disk ang mga naayos na Adobe session sa ilalim ng DATA_DIR; itakda sa 0 para sa memory-only na state.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Pinakamababang agwat sa pagitan ng mga pagsusumite ng pag-generate sa Adobe Firefly.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Karagdagang panahon ng pahinga pagkatapos ng bawat ikatlong matagumpay na pagsusumite sa Adobe.
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts True-headless mode para lamang sa pag-debug; karaniwang tinatanggihan ng Adobe colligo ang nabubuong risk session.
CHROME_PATH awtomatikong pagtukoy open-sse/executors/cloudflare-playground.ts, open-sse/executors/chatgpt-web-codex.ts Opsyonal na absolute Chrome executable na ginagamit ng mga browser-driven executor kapag hindi sapat ang awtomatikong pagtukoy ng platform.
TELEGRAM_BOT_TOKEN (hindi nakatakda) src/lib/telegram/config.ts BotFather token na nag-e-enable sa inbound webhook at lumalagda sa Mini App initData.
TELEGRAM_WEBHOOK_SECRET (hindi nakatakda) src/lib/telegram/config.ts Shared secret na nakarehistro sa pamamagitan ng setWebhook at bine-verify laban sa X-Telegram-Bot-Api-Secret-Token header sa bawat paghahatid ng webhook. Kinakailangan para sa webhook path; kapag hindi nakatakda, tatanggihan ang mga paghahatid ng webhook gamit ang 503.
TELEGRAM_DEFAULT_MODEL auto/chat src/lib/telegram/chatProxy.ts Model na ginagamit para sa mga tugon sa Telegram chat.
TELEGRAM_BOT_API_BASE https://api.telegram.org src/lib/telegram/config.ts Override sa base URL ng Bot API para sa mga proxy o self-hosted na Bot API server.
TELEGRAM_WEBHOOK_TIMEOUT_MS 60000 src/lib/telegram/config.ts Timeout sa millisecond para sa mga outbound na Bot API call.
OMNIROUTE_OPTIONAL_PACK_TAR 1 (naka-enable) scripts/build/optionalPackStaging.mjs Itakda sa 0 upang laktawan ang paggawa ng mga .tar.gz tarball habang inihahanda ang mga opsyonal na ML/browser pack para sa Electron standalone tree (gagawin pa rin ang mga direktoryo ng pack at optional-packs.index.json). Ginagamit ng workflow ng desktop release upang bawasan ang laki ng ina-upload na artifact.

ChatGPT Web (Codex)

Mga pangkalahatang default para sa headless browser at outbound na tool tunnel. Inuuna ang mga value ng connection na itinakda sa Dashboard.

Variable Default Source File Paglalarawan
CHATGPT_WEB_CODEX_CHROME_PATH (awtomatikong tukuyin) open-sse/executors/chatgpt-web-codex.ts Tahasang Chrome-/Chromium-path para sa pagpapatakbo gamit ang npm, systemd, at PM2.
CHROME_PATH (awtomatikong tukuyin) open-sse/executors/chatgpt-web-codex.ts Karaniwang fallback para sa isang tahasang Chrome-/Chromium-path.
CHATGPT_WEB_CODEX_CDP_URL (hindi nakatakda) open-sse/executors/chatgpt-web-codex.ts Panloob na CDP endpoint; ginagamit ng Docker ang sidecar sa port 9223.
CDP_PROXY_TOKEN (hindi nakatakda) docker/chatgpt-web-codex-browser/cdp-proxy.mjs Kapag nakatakda, dapat isama ng bawat kahilingan sa CDP proxy sidecar ang halagang ito sa header na X-Omni-Cdp-Token (#13679). Kapag walang halaga, nagpapasa ang proxy nang walang authentication—sa ganitong sitwasyon, ang network isolation lamang ng Compose network na chatgpt-web-codex-net ang nagbibigay ng proteksyon. Buuin gamit ang openssl rand -hex 32.
CHATGPT_WEB_CODEX_TUNNEL_ID (hindi nakatakda) open-sse/executors/chatgpt-web-codex.ts Pandaigdigang OpenAI tunnel ID para sa mga lokal na Codex tool round.
CHATGPT_WEB_CODEX_RUNTIME_KEY (hindi nakatakda) open-sse/executors/chatgpt-web-codex.ts Pandaigdigang tunnel runtime key; huwag kailanman ilabas sa mga log.
CHATGPT_WEB_CODEX_CONNECTOR_NAME OmniRoute Codex v2 open-sse/executors/chatgpt-web-codex.ts Eksaktong pangalan ng bagong likhang ChatGPT custom connector para sa MCP bridge.
CODEX_CHATGPT_WEB_HOME <DATA_DIR>/chatgpt-web-codex open-sse/vendor/codex-chatgpt-web/config.ts Nakalaang direktoryo para sa estado ng browser, broker, at tunnel.
CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS 0 open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts Kapag 1, kumukuha ng mga diagnostic image ng browser sa bawat checkpoint.
CODEX_CHATGPT_WEB_LAUNCHER (hindi nakatakda) open-sse/vendor/codex-chatgpt-web/config.ts Opsyonal na absolute path patungo sa isang permanenteng launcher binary.
CODEX_CHATGPT_WEB_BUN (awtomatikong tukuyin) open-sse/vendor/codex-chatgpt-web/config.ts Opsyonal na absolute path patungo sa Bun runtime binary.
CODEX_WEB_GPT_BUN (hindi nakatakda) open-sse/vendor/codex-chatgpt-web/config.ts Legacy fallback para sa CODEX_CHATGPT_WEB_BUN; ginagamit ng mga bagong setup ang canonical na pangalan.

OmniConductor Bridge

Pangmatagalang SSE consumer na sumasalamin sa mga gawain ng OmniConductor hub sa lokal na A2A TaskManager (src/lib/conductor/). Opt-in — magsisimula lamang ang bridge kapag nakatakda ang CONDUCTOR_HUB_URL. Para sa server side lamang: hindi kailanman dapat makarating sa browser ang hub token.

Variable Default Source File Paglalarawan
CONDUCTOR_HUB_URL (walang laman) src/lib/conductor/boot.ts Base URL ng OmniConductor hub (hal. http://127.0.0.1:7910). Hindi nakatakda = naka-disable ang bridge.
CONDUCTOR_HUB_TOKEN (walang laman) src/lib/conductor/boot.ts Kredensyal ng hub para sa SSE feed — gumawa ng peer na may uri na spokesperson sa hub (POST /v1/peers, admin).
CONDUCTOR_ORCHESTRATOR_TOKEN (walang laman) src/lib/conductor/hubProxy.ts Kredensyal para sa papasok na pagtatalaga ng gawain mula A2A→hub (POST /v1/tasks); gagamitin ang CONDUCTOR_HUB_TOKEN bilang fallback kapag hindi ito nakatakda.
CONDUCTOR_SPOKESPERSON_URL http://127.0.0.1:7920 src/lib/conductor/faroProxy.ts Base URL ng serbisyong spokesperson (Faro) sa likod ng dashboard chat proxy (/api/conductor/ask).

Pag-iiskedyul na isinasaalang-alang ang quota

Ginagamit ng open-sse/services/combo.ts at src/lib/quota/quotaScheduler.ts para sa mga pagsusuri ng token budget bago ang request. Opt-in — hindi nagbabago ang default na gawi ng routing kapag hindi ito nakatakda.

Variable Default Source File Paglalarawan
OMNIROUTE_QUOTA_AWARE_ROUTING 0 open-sse/services/combo.ts Kapag 1, laktawan ang mga koneksiyong hindi kayang tustusan ng token budget sa bawat window (rateLimitOverrides.tpm, talahanayang provider_quota_state) ang tinatayang gastos ng request bago ang dispatch. Magpatuloy kahit walang naka-configure na budget.