* 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.
629 KiB
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.exampleay dapat lumitaw rito. Ipinapatupad ito ngnpm run check:env-doc-syncsa commit at sa CI. Upang sadyang hindi isama ang isang variable, idagdag ito sa allowlist sa loob ngscripts/check/check-env-doc-sync.mjs.
Talaan ng mga Nilalaman
- 1. Mga Kinakailangang Lihim
- 2. Storage at Database
- 3. Network at mga Port
- 4. Seguridad at Authentication
- 5. Sanitization ng Input at Proteksyon ng PII
- 6. Mga Patakaran sa Tool at Routing
- 7. Mga URL at Cloud Sync
- 8. Outbound Proxy
- 9. Integrasyon ng CLI Tool
- 10. Mga Integrasyon ng Internal Agent at MCP
- 11. Mga Kredensyal ng OAuth Provider
- 12. Mga Override sa User-Agent ng Provider
- 13. Compatibility ng CLI Fingerprint
- 14. Mga Provider ng API Key
- 15. Mga Setting ng Timeout
- 16. Pag-log
- 17. Pag-optimize ng Memory
- 18. Pag-sync ng Presyo
- 19. Pag-sync ng Modelo (Dev)
- 20. Mga Setting na Partikular sa Provider
- 21. Kalagayan ng Proxy
- 22. Pag-debug
- 23. Integrasyon ng GitHub
- 24. Skills Sandbox (v3.8.0+)
- 27. Radar Feed (Self-Hosting)
- Mga Sitwasyon ng Deployment
- Audit: Mga Inalis / Hindi na Ginagamit na Variable
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
.envfile na may tunay na mga secret. Hindi na isinasama ng.gitignoreang.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 naDATA_DIRang mga garantiyang iyon, ligtas na nabibigo ang startup bago maglapat ng migration. Ilipat angDATA_DIRsa isang volume na may mga primitive na iyon; huwag gamitin angDISABLE_SQLITE_AUTO_BACKUPupang 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 ~12 Gi 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 (40–50) 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 MiB–2 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 40–50 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_URLsa 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_URLbilang panloob na loopback/container URL para sa mga server-to-server job. Huwag gumamit ng browserOrigino 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 angOMNIROUTE_TRUST_PROXYat 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 angsafeOutboundFetch({ bypassProxyPatch: true }). Isa itong nakadokumento at saklaw na exception — hindi nito naaapektuhan ang chat/usage egress. Ang bypass ay naka-pin sa saklaw ngtests/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: 256–1000000. 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
- Pumunta sa Google Cloud Console → Credentials
- Gumawa ng OAuth 2.0 Client ID (uri: "Web application")
- Idagdag ang URL ng iyong server bilang Authorized redirect URI
- 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.ts→buildHeaders()
| 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_KEYentry 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, atjina-searchay hindi naniningil sa isang cluster env key kapag may umiiral na dashboard connection najina-ai(o nakabahagingjina-reader) — fill-first anggetProviderCredentials. Ginagamit lamang angJINA_AI_API_KEY/JINA_API_KEYkapag walang magagamit na dashboard key. Itinatala ng mga call log ang env fallback bilangconnection_id=env:JINA_AI_API_KEY. Hindi kailanman nagsisilbi ang Reader card (jina-reader,r.jina.ai) sa/v1/embeddingso/v1/rerank.Gemini: Ginagamit muna ng
gemini/gemini-embedding-2(alias nagoogle/gemini-embedding-2) ang dashboard connection nagemini. Ginagamit lamang angGEMINI_API_KEY/GOOGLE_API_KEYkapag walang magagamit na dashboard key. Itinatala ng mga call log ang env fallback bilangconnection_id=env:GEMINI_API_KEY. Gumagamit ang native multimodal traffic ngx-goog-api-keylaban sa:embedContent/:batchEmbedContents— ang N OpenAIinputitem 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 8192–12288 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 iba’t 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.ts → open-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 0–600000 ms. |
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS |
30000 |
src/lib/resilience/settings/normalize.ts |
Gumugulong na window ng kapaki-pakinabang na output, na nililimitahan sa 1000–600000 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 1–1000000. |
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 1–1000000 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 ngopen-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 ayRELAY_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=trueay nagbubukas ng egress path mula sa arbitraryong skill code. Ipares ito saOUTBOUND_SSRF_GUARD_ENABLED=trueat isang mahigpit na patakaran saCORS_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 1–10) 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_ENABLED ≠ 0, 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. |