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

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

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

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

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

767 KiB
Raw Blame History

Environment Variables Reference (Հայերեն)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 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


OmniRoute-ի կողմից ճանաչվող յուրաքանչյուր միջավայրի փոփոխականի ամբողջական տեղեկատու։ Արագ մեկնարկի ձևանմուշի համար տե՛ս .env.example։

Important

Այստեղ փաստաթղթավորված յուրաքանչյուր փոփոխական պետք է նաև առկա լինի .env.example-ում, իսկ .env.example-ի յուրաքանչյուր փոփոխական պետք է ներկայացված լինի այստեղ։ npm run check:env-doc-sync հրամանը ստուգում է սա commit-ի և CI-ի ժամանակ։ Փոփոխականը միտումնավոր բաց թողնելու համար այն ավելացրեք scripts/check/check-env-doc-sync.mjs-ի թույլատրելի ցանկում։


Բովանդակություն


1. Պարտադիր գաղտնիքներ

Դրանք պետք է սահմանվեն առաջին գործարկումից առաջ։ Առանց դրանց հավելվածը կա՛մ կհրաժարվի գործարկվել, կա՛մ կաշխատի ոչ անվտանգ լռելյայն կարգավորումներով։

Փոփոխական Պարտադիր Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
JWT_SECRET Այո (չկա) src/lib/auth Ստորագրում/ստուգում է կառավարման վահանակի աշխատաշրջանի բոլոր cookie-ները (JWT)։ Ստեղծեք՝ օգտագործելով openssl rand -base64 48։
API_KEY_SECRET Այո (չկա) src/lib/db/apiKeys.ts AES գաղտնագրման բանալի՝ SQLite-ում հանգստի վիճակում գտնվող API բանալիների արժեքների համար։ Ստեղծեք՝ օգտագործելով openssl rand -hex 32։
INITIAL_PASSWORD Այո CHANGEME Սկզբնականացման սկրիպտ Սահմանում է ադմինիստրատորի կառավարման վահանակի սկզբնական գաղտնաբառը (համապատասխանում է .env.example-ի լռելյայն արժեքին. այն միտումնավոր ակնհայտորեն անապահով է պահված՝ փոփոխությունը պարտադրելու համար)։ Փոխեք առաջին օգտագործումից առաջ։ Մուտք գործելուց հետո փոխեք այն՝ Կառավարման վահանակ → Կարգավորումներ → Անվտանգություն։
OMNIROUTE_WS_BRIDGE_SECRET Այո (արտադրական միջավայրում) (սահմանված չէ) src/app/api/internal/codex-responses-ws/route.ts Ընդհանուր գաղտնիք՝ ներքին Codex Responses WebSocket կամրջի համար։ Նույնականացնում է Electron/դիտարկիչի WS վերահաղորդիչի և OmniRoute-ի միջև կամրջի հարցումները։ ⚠️ ՊԱՐՏԱԴԻՐ Է արտադրական միջավայրում. երբ սահմանված չէ, WS կամրջի բոլոր հարցումները մերժվում են։ Ստեղծեք՝ օգտագործելով openssl rand -base64 32։
OMNIROUTE_SW_BUILD_ID Ոչ (git SHA) next.config.mjs, scripts/build/assembleStandalone.mjs PWA թաղանթի համար service worker-ի քեշը անվավեր դարձնելու բացահայտ նույնացուցիչ (#11779)՝ որոշման շղթայում առաջինը։
SOURCE_VERSION Ոչ (սահմանված չէ) next.config.mjs, scripts/build/assembleStandalone.mjs Շղթայում երկրորդը. տեղակայված commit-ը նշելու համար սահմանվում է PaaS կառուցման համակարգերի կողմից (օրինակ՝ Heroku-ի ոճով)։
NEXT_PUBLIC_SW_BUILD_ID Ոչ (ածանցված) src/shared/components/PwaRegister.tsx Կառուցման ժամանակ սահմանվող հանրային արժեք, որը հաճախորդն օգտագործում է /sw.js?v=…-ը գրանցելու համար. ածանցվում է վերը նշված երկուսից, այնուհետև՝ git SHA-ից։
OMNIROUTE_PEER_STAMP_TOKEN Ոչ (ինքնաշխատ) (ինքնաշխատ՝ յուրաքանչյուր մեկնարկի ժամանակ) src/server/authz/policies/management.ts Յուրաքանչյուր գործընթացի համար առանձին գաղտնիք, որն ապացուցում է, որ վստահելի peer-IP դրոշմը ստացվել է հենց OmniRoute-ի HTTP սերվերից (scripts/dev/peer-stamp.mjs)։ authz միջնաշերտը հարցման տեղային լինելուն (LOCAL_ONLY երթուղիների loopback/LAN սահմանափակում) վստահում է միայն այն դեպքում, երբ դրոշմը պարունակում է այս թոքենը։ Յուրաքանչյուր մեկնարկի ժամանակ ստեղծվում է ինքնաշխատ. թողեք չսահմանված և ամրագրեք միայն բազմագործընթաց կազմաձևումների համար, որոնք պետք է համօգտագործեն դրոշմը։

Ստեղծման հրամաններ

# Ստեղծել բոլոր չորս գաղտնիքները միանգամից.
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

Երբեք իրական գաղտնիքներ պարունակող .env ֆայլերը մի՛ ամրագրեք տարբերակների կառավարման համակարգում։ .gitignore-ն արդեն բացառում է .env-ը, սակայն ուղարկելուց առաջ ստուգեք։


2. Պահեստավորում և տվյալների բազա

OmniRoute-ը տվյալների ամբողջական պահպանման համար օգտագործում է SQLite (better-sqlite3-ի միջոցով)։ Այս փոփոխականները կառավարում են տվյալների տեղադրությունը, կոդավորումը և կենսացիկլը։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
DATA_DIR ~/.omniroute/ src/lib/db/core.ts SQLite տվյալների բազայի, պահուստային պատճենների և տվյալների ֆայլերի արմատային պանակը։ Վերասահմանեք Docker հատորների կամ հատուկ ուղիների համար։
OMNIROUTE_ALLOW_DEFAULT_DATA_DIR (սահմանված չէ) src/lib/dataPaths.ts Թեստային/գնահատման DATA_DIR պաշտպանիչ մեխանիզմը շրջանցելու միջոց (#10428)։ Առանց DATA_DIR-ի թեստերը և Node-ի eval/print փորձարկումները (-e/--eval/-p/--print, ներառյալ --eval=/--print= ձևերը) վերահղվում են ժամանակավոր, միանգամյա օգտագործման պանակ, որպեսզի չկարողանան բացել օպերատորի իրական տվյալների բազան․ սահմանեք 1՝ իրական պանակի օգտագործումը կրկին թույլատրելու համար։
OMNIROUTE_BUILD_SHA (սահմանված չէ) src/lib/monitoring/buildSha.ts Գործարկվող արտեֆակտի Git SHA-ն։ Դրոշմվում է npm run build:release-ի միջոցով․ կարող է ներարկվել այն կոնտեյներներում, որոնք մատակարարվում են առանց dist/BUILD_SHA նշիչի։ /api/monitoring/health հասցեում ներկայացվում է որպես system.buildSha։
OMNIROUTE_RELEASE_REF origin/main scripts/build/buildProvenance.ts Հղումը, որի հետ փաթեթավորման արտեֆակտի ծագման ստուգիչը համեմատում է կառուցման SHA-ն (#10427)։
OMNIROUTE_ALLOW_CANARY_BUILD (սահմանված չէ) scripts/build/buildProvenance.ts Սահմանեք 1, որպեսզի թույլատրվի այնպիսի կառուցման փաթեթավորումը, որի SHA-ն թողարկման ճյուղում չէ՝ ստուգումը ձախողելու փոխարեն այն գրանցելով որպես միտումնավոր canary տարբերակ (#10427)։
OMNIROUTE_SMOKE_API_KEY (սահմանված չէ) scripts/ops/deploy-canary.mjs API բանալի՝ canary տեղակայման smoke ստուգման համար, որն ուղարկվում է որպես Authorization: Bearer՝ /v1/chat/completions հասցեին։ Օգտագործվում է միայն տեղակայման սկրիպտի կողմից (#10429), երբեք՝ սերվերի կողմից։ Կապ չունի մասնակցությամբ միացվող CLI smoke գործիքակազմի OMNIROUTE_SMOKE_* փոփոխականների հետ (RUN_CLI_SMOKE=1, OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS՝ tests/integration/upstream-cli-smoke.int.test.ts-ում) — տե՛ս CLI ինտեգրումներ → Իրական smoke ստուգումների շարք։
OMNIROUTE_BUILDING (սահմանված չէ) src/lib/buildPhase.ts Կառուցման փուլի ազդանշան (#10060) scripts/build/build-next-isolated.mjs-ի կողմից սահմանվում է 1 և ժառանգվում է գործարկված կառուցման յուրաքանչյուր աշխատող գործընթացի կողմից, որպեսզի տվյալների բազայի շերտը վերադարձնի ոչինչ չանող փոխարինիչ՝ native better-sqlite3 հավելումը բեռնելու փոխարեն (որը ելքի ժամանակ ընդհատում է աշխատող գործընթացը)։ Երբեք չի սահմանվում աշխատող սերվերի համար։
OMNIROUTE_SKIP_NATIVE_DEP_CHECK 0 scripts/check/check-native-deps.mjs Սահմանեք 1՝ ոչ սովորական, ներառված կախվածությունների ծառերի համար ընտրովի native կախվածությունների նախնական կառուցման ստուգումը բաց թողնելու նպատակով։ Սա բացակայող կախվածությունը կառուցելի չի դարձնում․ օգտագործեք միայն այն դեպքում, երբ native կախվածությունները տրամադրվում են արտաքին եղանակով։
OMNIROUTE_DATA_DIR (սահմանված չէ) open-sse/executors/promptql/threadSticky.ts Պահուստային այլանուն՝ DATA_DIR-ի համար, որը ստուգվում է միայն այն դեպքում, երբ DATA_DIR-ը սահմանված չէ։ Օգտագործվում է PromptQL կատարիչի՝ սկավառակի վրա պահվող, հոսքին ամրակցված աշխատաշրջանների քեշը (<dir>/promptql-thread-sessions.json) գտնելու համար․ եթե փոփոխականներից ոչ մեկը սահմանված չէ, քեշը մնում է միայն հիշողության մեջ (վերագործարկումների միջև չի պահպանվում)։
OMNIROUTE_PLUGINS_DIR (սահմանված չէ) src/lib/plugins/scanner.ts Պանակը, որն ընթերցում է կատարման ժամանակի փլագինների սկանավորիչը, և արմատային պանակը, որտեղ փլագինների կառավարիչը տեղադրում է դրանք՝ վերասահմանելով տնային պանակից ածանցվող լռելյայն արժեքը (#11827)։ Docker/K8s-ում այն ուղղեք bind-mount-ով միացված փլագինների ծառին՝ HOME-ը միայն սկանավորման ուղին տեղափոխելու համար փոխելու փոխարեն (HOME-ը կառավարում է նաև տնային պանակի նկատմամբ հարաբերական մյուս բոլոր վարքագծերը)։ Սահմանված չէ = ~/.omniroute/plugins, կամ /tmp/.omniroute/plugins, երբ գործընթացն ընդհանրապես տնային պանակ չի արտահանում․ այս փոփոխականը վերացնում է դրա հետևանքով առաջացող աննկատ չհայտնաբերումը։ Լուծված պանակը մեկնարկի ժամանակ մեկ անգամ գրանցվում է մատյանում որպես scanner.dir_resolved՝ հաղթած մուտքային արժեքի հետ միասին։ Միայն սերվերի կողմում․ CLI հրամանների փլագինները շարունակում են օգտագործել իրենց սեփական OMNIROUTE_PLUGIN_PATH-ը (բաժին 9)։
STORAGE_ENCRYPTION_KEY (դատարկ = անջատված) src/lib/db/encryption.ts AES բանալի՝ հանգստի վիճակում գտնվող ամբողջ SQLite տվյալների բազայի կոդավորման համար։ Ստեղծեք այն openssl rand -hex 32 հրամանով։
STORAGE_ENCRYPTION_KEY_VERSION v1 scripts/build/bootstrap-env.mjs, electron/main.js Կոդավորման բանալու տարբերակի պիտակ։ Հին պահուստային պատճենների վերծանումն ապահովելու համար բանալին փոխարինելիս ավելացրեք այն։
DISABLE_SQLITE_AUTO_BACKUP false src/lib/db/backup.ts Երբ true է, բաց է թողնում SQLite ֆայլի պարբերական/գրումից առաջ կատարվող պահուստավորումները (models.dev-ի գնագոյացման պահպանում/մաքրում, կարգավորումների գրանցումներ)։ Ձեռքով և վերականգնումից առաջ կատարվող պահուստավորումները շարունակում են աշխատել։ Այն չի անջատում միգրացիաների գործարկիչի պարտադիր, կայուն անվտանգության պատճենը կամ գոյություն ունեցող մշտական DB-ի զանգվածային միգրացիայի պաշտպանիչ մեխանիզմը։ Ոչ ձեռքով կատարվող պահուստավորումները սահմանափակվում են առավելագույնը 60 րոպեն մեկ անգամ հաճախականությամբ։ Վահանակի Կարգավորումներ → Պահեստ բաժնում հնարավոր է անկախորեն անջատել սովորական ավտոմատ պահուստավորումը։
OMNIROUTE_CRYPT_KEY (սահմանված չէ) src/lib/db/encryption.ts STORAGE_ENCRYPTION_KEYհին կեղծանունը։ Ընդունվում է որպես պահուստային տարբերակ, երբ հիմնական փոփոխականը բացակայում է։
OMNIROUTE_API_KEY_BASE64 (սահմանված չէ) src/lib/db/encryption.ts Հին կեղծանուն (Base64-ով կոդավորված ձև), որն ընդունվում է որպես պահուստային տարբերակ։ Օգտագործելուց առաջ ինքնաբերաբար ապակոդավորվում է։
OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS (սահմանված չէ) src/lib/db/core.ts Վերասահմանում է SQLite-ի պարբերական առողջության ստուգման միջակայքը (մվ)։ Երբ սահմանված չէ, լռելյայն արժեքները ստացվում են NODE_ENV-ից։
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6ժ) src/lib/db/walMaintenance.ts Վերասահմանում է պարբերական wal_checkpoint(TRUNCATE) միջակայքը (մվ)։ Ավտոմատ checkpoint-ը երբեք չի փոքրացնում հենց WAL ֆայլը, իսկ երկար աշխատող սերվերը երբեք չի փակում իր DB-ն։ 0-ն անջատում է։
OMNIROUTE_WAL_PASSIVE_INTERVAL_MS 300000 (5ր) src/lib/db/walMaintenance.ts Վերասահմանում է հաճախակի կատարվող wal_checkpoint(PASSIVE) միջակայքը (մվ)։ Սպասող WAL շրջանակները փոքր է պահում, որպեսզի պարբերական TRUNCATE-ը հիմնական հոսքում երբեք չպատճենի բազմագիգաբայթ կուտակում։ 0-ն անջատում է։
OMNIROUTE_WAL_GUARD_MAX_MB 256 src/lib/db/walMaintenance.ts Երբ PASSIVE ցիկլը հայտնաբերում է, որ WAL ֆայլը գերազանցում է այս չափը, անմիջապես անցնում է wal_checkpoint(TRUNCATE)-ի՝ դանդաղ ցիկլին սպասելու փոխարեն։
OMNIROUTE_PRESSURE_SELF_RESTART false open-sse/utils/resourcePressure.ts Սահմանեք 1/true/yes/on, որպեսզի գործընթացը դադարեցվի այն բանից հետո, երբ ռեսուրսների կրիտիկական ճնշումը պահպանվի OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS ժամանակով՝ թույլ տալով վերահսկիչին (systemd Restart=always, Docker-ի վերագործարկման քաղաքականություն) վերականգնել մաքուր գործընթաց՝ անորոշ ժամանակով 503 պատասխաններ սպասարկելու փոխարեն։
OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS 120000 (2ր) open-sse/utils/resourcePressure.ts Որքան ժամանակ պետք է պահպանվի կրիտիկական ճնշումը, մինչև գործարկվի ինքնավերագործարկման նպատակով ելքը։
OMNIROUTE_SQLJS_WASM_PATH (ինքնահայտնաբերում) src/lib/db/adapters/sqljsAdapter.ts Հստակ ուղի (բացարձակ կամ cwd-ի նկատմամբ հարաբերական) դեպի sql-wasm.wasm՝ sql.js WASM պահուստային ադապտերն օգտագործելիս։ Երբ սահմանված չէ, ինքնաբերաբար հայտնաբերվում է փաթեթի կախվածությունների և հավանական դասավորությունների միջոցով։
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6ժ) src/lib/db/core.ts Վերասահմանում է պարբերական wal_checkpoint(TRUNCATE) միջակայքը (մվ)։ Ավտոմատ checkpoint-ը երբեք չի փոքրացնում հենց WAL ֆայլը, իսկ երկար աշխատող սերվերը երբեք չի փակում իր DB-ն։ 0-ն անջատում է։
OMNIROUTE_BATCH_RETENTION_DAYS 30 src/lib/db/cleanup.ts Այն օրերի քանակը, որոնց ընթացքում ավարտված վիճակում գտնվող (ավարտված/ձախողված/չեղարկված/ժամկետանց) Batch API առաջադրանքի checkpoint-ները, հղված մուտքային/ելքային/սխալի ֆայլերը և տողը պահպանվում են՝ նախքան ավտոմատ մաքրման ընթացքում ջնջվելը։ Ուժի մեջ է մտնում միայն BATCH_AND_FILE_AUTO_CLEANUP_ENABLED-ը միացնելուց հետո և համապատասխանում է OpenAI-ի սեփական Batch API ելքային տվյալների պահպանման ժամանակահատվածին։ Չի ազդում օպերատորի կողմից գործարկվող DELETE /api/v1/batches/delete-completed երթուղու վրա, որը նախագծով մնում է անվերապահ (առանց տարիքային զտիչի)։
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED false src/lib/db/cleanup.ts Երբ true է, ավտոմատ մաքրման գործընթացին թույլ է տալիս ջնջել ավարտված Batch API առաջադրանքները (և դրանց ստուգակետերը), որոնց համար անցել է OMNIROUTE_BATCH_RETENTION_DAYS-ով սահմանված ժամկետը, ինչպես նաև մաքրել իրենց սեփական expires_at-ը գերազանցած վերբեռնված ֆայլերի BLOB բովանդակությունը։ Լռելյայն անջատված է. յուրաքանչյուր գոյություն ունեցող տեղադրում պահպանում է այս տվյալները ճիշտ այնպես, ինչպես նախկինում, մինչև օպերատորն այն միացնի։ Սա նաև կառավարման վահանակից խմբագրվող գործառույթի դրոշակ է — տե՛ս docs/reference/FEATURE_FLAGS.md → Կատարման միջավայր։
OMNIROUTE_SKIP_DB_HEALTHCHECK 0 src/lib/db/core.ts, src/lib/db/healthCheck.ts Սահմանեք 1, որպեսզի գործարկման ժամանակ ամբողջությամբ բաց թողնվի DB-ի աշխատունակության ստուգումը։ Օգտակար է կարճատև առաջադրանքների և ինտեգրացիոն թեստերի համար։
OMNIROUTE_FORCE_DB_HEALTHCHECK 0 src/lib/db/core.ts Սահմանեք 1, որպեսզի DB-ի աշխատունակության ստուգման ցիկլը հարկադրաբար միացվի, նույնիսկ երբ սովորաբար այն բաց կթողնվեր (օրինակ՝ կարճատև առաջադրանքների դեպքում)։
OMNIROUTE_SKIP_POSTINSTALL 0 scripts/postinstall.mjs Սահմանեք 1, որպեսզի npm install-ի ընթացքում բաց թողնվի բնիկ կատարման միջավայրի նախնական տաքացումը։ Օգտակար է CI/առանց գրաֆիկական միջավայրի տեղադրումներում, որտեղ sqlite-ն արդեն կառուցված է։
OMNIROUTE_MIGRATIONS_DIR (ինքնահայտնաբերում) src/lib/db/migrationRunner.ts Վերասահմանում է այն գրացուցակը, որը սկանավորում է միգրացիաների գործարկիչը։ Օգտակար է անհատական կառուցվածքներում փաթեթավորված միգրացիաներ մատակարարելիս։
OMNIROUTE_EXTRA_MIGRATIONS_DIRS (սահմանված չէ) src/lib/db/migrationRunner/extraDirs.ts Միգրացիաների լրացուցիչ գրացուցակներ՝ հարթակի ուղու բաժանիչով առանձնացված namespace=dir գրառումների տեսքով (օրինակ՝ ee=/opt/app/enterprise/db/migrations)։ Այնտեղ հայտնաբերված ֆայլերը գրանցվում են որպես <namespace>-<number>, այնպես որ սեփական միգրացիաներով բաշխումը երբեք չի բախվում սկզբնական նախագծի թվային դիրքերի հետ։ Սխալ ձևաչափով գրառումը, անվավեր անվանատարածքը կամ բացակայող գրացուցակը գործարկման ժամանակ սխալ է առաջացնում՝ սխեման աննկատ բաց թողնելու փոխարեն։
OMNIROUTE_MAX_PENDING_MIGRATIONS 50 src/lib/db/migrationRunner.ts Զանգվածային առկախ միգրացիաների անվտանգության շեմը (#3416)։ Գործարկումն ընդհատվում է, եթե գոյություն ունեցող DB-ում այս քանակից ավելի առկախ միգրացիաներ կան (պաշտպանում է դատարկված հետևման աղյուսակից)։ Մեծացրեք այն՝ ավելի հին պահուստային պատճենը վերականգնելու համար, կամ սահմանեք 0՝ ստուգումն անջատելու համար։
OMNIROUTE_INSTALL_UPGRADE_WORKDIR (<repo>/.install-upgrade) scripts/check/check-install-upgrade.mjs check:install-upgrade թողարկման անցակետի աշխատանքային գրացուցակը։ Դրա համար անհրաժեշտ է մոտավորապես 12 GB (երկու ~3 GB տեղադրման ծառ՝ գումարած tarball-ը), ուստի այն չպետք է գործարկվի փոքր tmpfs-ում. ինքնուրույն սպասարկվող runner-ում /tmp-ը 12 GB RAM-ի վրա հիմնված tmpfs է, և անցակետը սպառել էր այն՝ կրճատելով փաթեթը։
OMNIROUTE_SPEND_FLUSH_INTERVAL_MS (լռելյայնը՝ կոդում) src/lib/spend/batchWriter.ts Փաթեթավորված ծախսերի/արժեքների գրանցիչի դատարկման միջակայքը (ms)։ Ավելի փոքր արժեքները նվազեցնում են գրառումների միավորումը, իսկ ավելի մեծ արժեքները՝ DB-ի ռեսուրսային մրցակցությունը։
OMNIROUTE_SPEND_MAX_BUFFER_SIZE (լռելյայնը՝ կոդում) src/lib/spend/batchWriter.ts Բուֆերում պահվող ծախսերի գրառումների առավելագույն քանակը՝ մինչև հարկադիր դատարկումը։ Մեծացրեք բարձր QPS ունեցող տեղակայումներում, իսկ երբ սահմանափակ հիշողությունն ավելի կարևոր է՝ նվազեցրեք։
OMNIROUTE_PROXY_FETCH_DEBUG (սահմանված չէ) open-sse/utils/proxyFetch.ts Սահմանեք "true", որպեսզի Vercel-ի փոխանցման ուղու վրա արտածվեն [ProxyFetch] վրիպազերծման մատյանները։ Լռելյայն անջատված է՝ երթուղավորման հուշումների արտահոսքից խուսափելու համար։
PROXY_LOG_INCLUDE_IPS false src/lib/proxyLogger.ts Սահմանեք "true" կամ "1", որպեսզի հաճախորդի/ելքային IP-ները և հաշվի նախածանցը ներառվեն մանրամասն [ProxyEgress] գործընթացային մատյանի տողում։ Լռելյայն ԱՆՋԱՏՎԱԾ է, որպեսզի գործընթացային մատյանը չարտահոսի IP-ները կամ հաշվի նախածանցը։
OMNIROUTE_DEBUG (սահմանված չէ) bin/cli/commands/quota.mjs Սահմանեք 1, որպեսզի CLI-ի քվոտայի հրամանները stderr-ում տպեն յուրաքանչյուր հարցման ժամանակային ախտորոշումները ([omniroute] GET <path> completed in Nms)։
OMNIROUTE_HEALTHCHECK_PATH (ավտոմատ) scripts/dev/healthcheck.mjs Կոնտեյների աշխատունակության ստուգմամբ հարցվող բացահայտ ուղին։ Եթե սահմանված չէ, ստուգումն այն ստանում է OMNIROUTE_BASE_PATH-ից, իսկ սահմանելու դեպքում կրկին օգտագործվում է խորքային մշտադիտարկման վերջնակետը։
OMNIROUTE_DEBUG_COMPLETION (սահմանված չէ) bin/cli/commands/completion.mjs Սահմանեք ցանկացած ոչ դատարկ արժեք, որպեսզի CLI-ի shell-ի ավտոլրացման քեշերի ուղիներից (ընթերցում/թարմացում/գրում) արտածվեն [omniroute completion] ախտորոշումները։ Լռելյայն անջատված է. այդ քեշերի ձախողումներն աննկատ են կատարվում, որպեսզի բացակայող/վնասված քեշը երբեք չխափանի Tab-ով ավտոլրացումը։
BATCH_RETRY_DURATION_MS 86400000 (24 ժ) open-sse/services/batchProcessor.ts Փաթեթի առանձին տարրերի վերափորձարկման առավելագույն ժամանակահատվածը (մվ)։ Այս տևողությունը գերազանցող տարրերը նշվում են որպես ձախողված։
BATCH_BACKOFF_BASE_MS 5000 open-sse/services/batchProcessor.ts Փաթեթի տարրերի վերափորձարկումների էքսպոնենցիալ հետաձգման բազային դադարը (մվ)։
BATCH_BACKOFF_MAX_MS 3600000 (1 ժ) open-sse/services/batchProcessor.ts Փաթեթի տարրերի վերափորձարկումների միջև էքսպոնենցիալ հետաձգման առավելագույն սահմանը (մվ)։
BATCH_MAX_CONCURRENT 1 open-sse/services/batchProcessor.ts Միաժամանակ մշակվող փաթեթների առավելագույն քանակը։ Արտադրողականությունը բարձրացնելու համար ավելացրեք այն, սակայն ցածր պահեք՝ հարցումների հաճախականության սահմանաչափի զանգվածային խախտումներից խուսափելու համար։

Important

Նախքան գոյություն ունեցող մշտական տվյալների բազան փոփոխելը՝ միգրացիաների գործարկիչը հրապարակում է ամբողջական, բովանդակությամբ հասցեավորվող ակնթարթային պատճենը DATA_DIR/db_backups/-ում։ Հրապարակման համար անհրաժեշտ է ֆայլային համակարգ, որն աջակցում է նույն ֆայլային համակարգի սահմաններում առանց վերագրման կոշտ հղումներ, ինչպես նաև ֆայլերի հուսալի համաժամացում։ POSIX հոսթերը նաև պահանջում են գրացուցակների համաժամացում․ Windows-ում Node-ը կարող է մերժել գրացուցակների դեսկրիպտորները, ուստի OmniRoute-ը գրանցում է հրապարակված ֆայլը և գրացուցակի գրառման համաժամացումը կատարում է հնարավորության սահմաններում։ Եթե միակցված DATA_DIR-ը չի կարող ապահովել այդ երաշխիքները, գործարկումը անվտանգ կերպով ձախողվում է՝ նախքան միգրացիան կիրառելը։ Տեղափոխեք DATA_DIR-ը այդ հնարավորություններն ապահովող հատորի վրա․ մի օգտագործեք DISABLE_SQLITE_AUTO_BACKUP-ը՝ միգրացիայի անվտանգությունը շրջանցելու համար։

Սցենարներ

Սցենար Կազմաձևում
Տեղային մշակում Թողեք բոլոր լռելյայն արժեքները։ ՏԲ-ն գտնվում է ~/.omniroute/omniroute.db հասցեում։
Docker DATA_DIR=/data + միակցեք հատոր /data հասցեում։
Պահպանման պահին կոդավորված Սահմանեք STORAGE_ENCRYPTION_KEY + պահեք բանալու պահուստային պատճենները։ Այն կորցնելը նշանակում է կորցնել տվյալները։
CI/Թեստավորում DATA_DIR=/tmp/omniroute-test — ժամանակավոր է, կոդավորում անհրաժեշտ չէ։

3. Ցանց և պորտեր

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
PORT 20128 src/lib/runtime/ports.ts Հիմնական պորտը՝ թե՛ Dashboard UI-ի, թե՛ API վերջնակետերի համար (մեկ պորտով ռեժիմ)։
OMNIROUTE_BASE_PATH (դատարկ = արմատ) next.config.mjs, scripts/docker/ensure-docker-base-path.mjs URL-ի ենթաուղին՝ OmniRoute-ը հակադարձ պրոքսիի հետևում սպասարկելու համար (սահմանում է Next.js-ի basePath-ը, իսկ նույնականացման վերահղումները հաշվի են առնում basePath-ը)։ Օրինակ՝ /omniroute։ Docker-ում արժեքը ներկառուցվում է docker build-ի ընթացքում (ARG OMNIROUTE_BASE_PATH) նախապես կառուցված արմատային պատկերները կարող են գործարկման ժամանակ մեկ անգամ կիրառել այլ արժեք՝ կոնտեյների մեկնարկի պահին, նախքան Next.js-ի բեռնումը։ NEXT_PUBLIC_BASE_URL-ը սահմանեք որպես հանրային սկզբնաղբյուր՝ ներառելով նույն ենթաուղին։
NEXT_PUBLIC_OMNIROUTE_BASE_PATH (դատարկ = արմատ) src/shared/hooks/useDisplayBaseUrl.ts OMNIROUTE_BASE_PATH-ի՝ դիտարկիչին տեսանելի հայելային արժեքը, որը կառուցման ժամանակ ներկառուցվում է, որպեսզի վահանակի վերջնակետի ցուցադրումը https://host/v1-ի փոխարեն ցույց տա https://host/omniroute/v1։ Եթե սահմանված չէ, օգտագործում է OMNIROUTE_BASE_PATH-ը։ Փոփոխելուց հետո վերակառուցեք (Next-ի basePath-ը սահմանվում է կառուցման ժամանակ)։
DASHBOARD_ALLOW_EMBED (սահմանված չէ = երբեք չի կարող ցուցադրվել շրջանակում) next.config.mjs, scripts/build/dashboardEmbed.mjs HTML էջերի՝ iframe-ում ներկառուցման կամավոր միացում։ Եթե սահմանված չէ, յուրաքանչյուր երթուղի տրամադրվում է frame-ancestors 'none' + X-Frame-Options: DENY վերնագրերով։ Սահմանեք vscode, որպեսզի էջերը (վահանակ, մուտք, փաստաթղթեր, գլխավոր էջ) սպասարկվեն frame-ancestors 'self' vscode-webview:-ով և առանց X-Frame-Options-ի, որպեսզի VS Code Simple Browser-ը կարողանա արտապատկերել դրանք (OmniCopilot-ի dashboardOpen: "editor" ռեժիմ)։ API մակերեսը (/api, /v1, /v1beta, /a2a, /healthz, արմատային մակարդակի այլանուններ) երկու դեպքում էլ պահպանում է խիստ վերնագրերը։ Ճանաչվում է միայն vscode-ը. 1/true արժեքները դա չեն միացնում։ Կառուցման ժամանակի կարգավորում է. փոփոխելուց հետո վերակառուցեք (պատկերների համար՝ docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode, իսկ նախապես կառուցված տեղադրման վրա այն սահմանելը ազդեցություն չունի)։
API_PORT (սահմանված չէ) src/lib/runtime/ports.ts Եթե սահմանված է, /v1/* պրոքսի API-ն սպասարկում է այս առանձին պորտով։
API_HOST 0.0.0.0 src/lib/runtime/ports.ts API պորտի կապակցման հասցեն։
DASHBOARD_PORT (սահմանված չէ) src/lib/runtime/ports.ts Եթե սահմանված է, Dashboard UI-ն սպասարկում է այս առանձին պորտով։
OMNI_MAX_CONCURRENT_CONNECTIONS 0 (անջատված) src/sse/utils/backpressure.ts Սահմանափակում է միաժամանակ ընթացքի մեջ գտնվող զրույցի միացումների քանակը. սահմանաչափը գերազանցող հարցումները ստանում են 503՝ Retry-After-ով։ Դրական ամբողջ թիվը միացնում է պաշտպանիչ սահմանափակումը, իսկ չսահմանված արժեքը կամ 0-ն անջատում է այն։
OMNIROUTE_INSTANCE_ID (սահմանված չէ) src/shared/resilience/peerRouting.ts Այս դարպասի կայուն, եզակի ID-ն՝ OmniRoute-ի օրինակները շղթայելու դեպքում։ Միացնում է մուտքային գործընկերային հանգույցների ցիկլերի ստուգումները։ Թույլատրելի նիշերն են՝ տառեր, թվանշաններ, ., _, : և -, առավելագույնը՝ 64 նիշ։
OMNIROUTE_PEER_URLS (սահմանված չէ) src/shared/resilience/peerRouting.ts, open-sse/executors/base.ts Ստորակետերով բաժանված OmniRoute-ի բազային URL-ներ, որոնք կարող են ստանալ X-OmniRoute-Peer-Trace։ Հանգույցի մետատվյալները ստանում են միայն բացահայտ թույլատրված ցանկում ներառված վերին հոսքի URL-ները․ մնացած բոլոր մատակարարները մնում են անփոփոխ։
OMNIROUTE_PEER_MAX_HOPS 4 src/shared/resilience/peerRouting.ts Շղթայված հարցման մեջ ընդունվող՝ նախկինում այցելված OmniRoute օրինակների առավելագույն քանակը (1-32)։ Կրկնվող օրինակների կամ սպառված սահմանաչափի դեպքում վերադարձվում է HTTP 508 Loop Detected։
PROD_DASHBOARD_PORT 20130 docker-compose.prod.yml Docker-ի արտադրական ռեժիմում Dashboard-ի համար հոսթ կողմում հրապարակվող պորտը։
PROD_API_PORT 20131 docker-compose.prod.yml Docker-ի արտադրական ռեժիմում API-ի համար հոսթ կողմում հրապարակվող պորտը։
OMNIROUTE_PORT (սահմանված չէ) src/lib/runtime/ports.ts Electron-ի կամ այլ փաթաթիչների ներսում աշխատելիս գերակայում է PORT-ի նկատմամբ։
LIVE_WS_PORT 20129 src/server/ws/liveServer.ts Իրական ժամանակի WebSocket կենդանի մոնիթորինգի սերվերի պորտը։
LIVE_WS_HOST 127.0.0.1 src/server/ws/liveServer.ts Կենդանի WebSocket սերվերի կապակցման հասցեն։ LAN-ում հասանելի դարձնելու համար սահմանեք 0.0.0.0 (նաև կարգավորեք LIVE_WS_ALLOWED_ORIGINS)։
LIVE_WS_ALLOWED_ORIGINS (սահմանված չէ) src/server/ws/liveServer.ts Ստորակետերով բաժանված լրացուցիչ սկզբնաղբյուրներ, որոնց թույլատրված է բացել կենդանի WebSocket։ Հետադարձ օղակի Dashboard սկզբնաղբյուրները լռելյայն արդեն թույլատրված են։
LIVE_WS_ALLOWED_HOSTS (սահմանված չէ) src/server/ws/liveServerAllowList.ts Ստորակետերով բաժանված լրացուցիչ հոսթանուններ, որոնք թույլատրված են կենդանի WebSocket սկզբնաղբյուրների համար։ Ի տարբերություն LIVE_WS_ALLOWED_ORIGINS-ի (սկզբնաղբյուրների ամբողջական URL-ներ), համընկնում է միայն հոսթի հատվածը, ինչը օգտակար է LAN/Tailscale կարգավորումների համար։
NEXT_PUBLIC_LIVE_WS_PUBLIC_URL (սահմանված չէ) src/hooks/useLiveDashboard.ts Կենդանի Dashboard WebSocket-ի հանրային URL-ը (զննարկիչի կողմում)։ Սահմանեք, երբ WS սերվերի դիմաց օգտագործվում է հակադարձ պրոքսի կամ Cloudflare Tunnel (օր.՝ wss://ws.my-ai.com/live-ws) զննարկիչը ws://hostname:20132-ի փոխարեն միանում է այդ հասցեին։ Ճանապարհի հատվածը նաև օգտագործվում է որպես WebSocket-ի արդիականացման ճանապարհ (լռելյայն՝ /live-ws)։
OMNIROUTE_ENABLE_LIVE_WS true src/server/ws/liveServer.ts և scripts/start-ws-server.mjs Իրական ժամանակի WebSocket սերվերն անջատելու համար սահմանեք 0 կամ false (լռելյայն միացված է և կապված է հետադարձ օղակին)։ CI/փորձարկման միջավայրի փոխարկիչ, որն անջատում է առանձին կենդանի WebSocket օժանդակ սկրիպտը։
RELAY_IP_PER_MINUTE 30 src/app/api/v1/relay/chat/completions/route.ts Փոխանցման արագության սահմանաչափը յուրաքանչյուր (թոքեն, IP) զույգի համար՝ հարցումներ/րոպե։ Պահվում է հիշողության մեջ՝ յուրաքանչյուր օրինակի համար առանձին։ 0 կամ բացասական արժեքն անջատում է IP չափման սահմանափակիչը (յուրաքանչյուր թոքենի համար DB սահմանաչափը շարունակում է կիրառվել)։
NODE_ENV production Next.js-ի միջուկ Կառավարում է գրանցամատյանի մանրամասնության մակարդակը, քեշավորումը, սխալների մանրամասների ցուցադրումը և Next.js-ի օպտիմալացումները։
OMNIROUTE_USE_TURBOPACK 1 (Turbopack — կոդում լռելյայն) package.json / Next.js 16 Turbopack-ը npm run dev և npm run build հրամանների լռելյայն փաթեթավորիչն է (ըստ չափումների՝ կառուցումները 2-3× ավելի արագ են)։ Սահմանեք 0՝ Windows-ում webpack-ին վերադառնալու համար, երբ հանդիպում են բնիկ կապակցման / փաթեթավորիչի համատեղելիության խնդիրներ, կամ սահմանափակ RAM ունեցող մեքենաներում հայտնի է, որ Next.js-ի այս տարբերակաշարի (16.2.x) Turbopack-ի production կառուցումները մեծ մոդուլային գրաֆների դեպքում օգտագործում են շատ ավելի մեծ առավելագույն հիշողություն, քան webpack-ը (Next 16.3-ում Turbopack-ի հիշողության ազատման ուղղումը դեռ կայուն չէ), մինչդեռ webpack-ին վերադարձի դեպքում առավելագույն օգտագործումը շատ ավելի ցածր է։ Տե՛ս #6409։
OMNIROUTE_SKIP_DB_HEALTHCHECK (սահմանված չէ) src/lib/db/core.ts / src/lib/db/healthCheck.ts Սահմանեք 1՝ գործարկման ժամանակ SQLite-ի ամբողջականության առողջական ստուգումը բաց թողնելու համար։ Օգտակար է մեծ տվյալների բազաների ավելի արագ մեկնարկի համար։
NOTIFY_SOCKET (սահմանված չէ) systemd (sd_notify արձանագրություն) Սահմանվում է systemd-ի կողմից, երբ գործընթացն աշխատում է sd_notify ինտեգրում ունեցող ծառայության միավորի ներքո․ OmniRoute-ն այն կարդում է (տե՛ս OMNIROUTE_DISABLE_SD_NOTIFY)՝ READY/WATCHDOG ծանուցումներ ուղարկելու համար։ Օգտատերը երբեք չպետք է սահմանի այն։
OMNIROUTE_DISABLE_SD_NOTIFY (սահմանված չէ) scripts/dev/systemd-notify.mjs Սահմանեք 1՝ systemd-ի sd_notify-ն (Type=notify / WatchdogSec=) անջատելու համար, նույնիսկ երբ ծրագիրն աշխատում է systemd միավորի ներքո։ systemd-ից դուրս ծանուցիչը որևէ գործողություն չի կատարում։
CREDENTIAL_HEALTH_CHECK_INTERVAL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/scheduler.ts Հետին պլանում նույնականացման տվյալների առողջական ստուգման ժամանակացույցի միջակայքը (մվ)։ Նվազագույնը՝ 10000 (10 վրկ)։
CREDENTIAL_HEALTH_CACHE_TTL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/cache.ts Քեշավորված նույնականացման տվյալների առողջական վիճակի TTL-ը (մվ)։
OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK false src/lib/credentialHealth/scheduler.ts Սահմանեք 1 կամ true՝ մատակարարների կապերի հետին պլանային պարբերական ստուգումն անջատելու համար։ Որոնման մատակարարները (SEARCH_VALIDATOR_CONFIGS՝ src/lib/providers/validation/searchProviders.ts-ում, օրինակ՝ tavily-search) միշտ բացառվում են պարբերական ստուգումից, քանի որ դրանց «վավերացումը» իրական, վճարովի վերին մակարդակի հարցում է, ուստի դրանք երբեք ժամանակաչափով առողջական ստուգման չեն ենթարկվում (#9970)։
HOST 0.0.0.0 scripts/dev/run-next.mjs Next.js-ի dev/start սերվերի կապակցման հասցեն։ Սահմանված լինելու դեպքում փոխարինում է լռելյայն 0.0.0.0-ը։
HOSTNAME 127.0.0.1 scripts/dev/run-next-playwright.mjs Կապակցման հասցե, որն օգտագործվում է Playwright գործարկիչի կողմից Next.js-ը մեկնարկելիս։ Հերմետիկ թեստերի համար լռելյայն արժեքը 127.0.0.1 է։ Մի՛ օգտագործեք omniroute serve-ի համար դրա փոխարեն օգտագործեք OMNIROUTE_SERVER_HOST-ը (POSIX shell-երը HOSTNAME-ը ավտոմատ սահմանում են որպես մեքենայի անուն, իսկ .env-ը չի կարող փոխարինել այն)։
OMNIROUTE_SERVER_HOST 0.0.0.0 bin/cli/commands/serve.mjs omniroute serve-ի կապակցման հասցեն։ Խուսափում է POSIX shell-ի HOSTNAME փոփոխականի հետ բախումից (bash/zsh-ը այն միշտ սահմանում է որպես մեքենայի անուն)։ Սահմանված չլինելու դեպքում օգտագործվում է 0.0.0.0։ (#6194)

Պորտերի ռեժիմներ

┌─────────────────────────── Մեկ պորտ (լռելյայն) ────────────────────────────┐
│  PORT=20128                                                                 │
│  → Կառավարման վահանակ՝ http://localhost:20128                               │
│  → API՝                http://localhost:20128/v1/chat/completions           │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Առանձին պորտեր ─────────────────────────────────┐
│  DASHBOARD_PORT=20128                                                       │
│  API_PORT=20129                                                             │
│  API_HOST=0.0.0.0                                                           │
│  → Կառավարման վահանակ՝ http://localhost:20128                               │
│  → API՝                http://0.0.0.0:20129/v1/chat/completions            │
│  Կիրառման դեպք՝ API-ն հասանելի դարձնել LAN-ում՝ կառավարման վահանակը         │
│  սահմանափակելով localhost-ով։                                               │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Docker-ի արտադրական միջավայր ──────────────────┐
│  PROD_DASHBOARD_PORT=443   PROD_API_PORT=8443                              │
│  → Կոնտեյների պորտերը համապատասխանեցնում է հոսթի պորտերին                   │
│    docker-compose.prod.yml-ում։                                             │
└─────────────────────────────────────────────────────────────────────────────┘

4. Անվտանգություն և նույնականացում

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
MACHINE_ID_SALT endpoint-proxy-salt src/lib/auth Մեքենայի թվային մատնահետքը կազմելու համար սարքաշարային նույնացուցիչների հետ համակցվող աղ։ Մեկուսացումն ապահովելու համար փոխեք յուրաքանչյուր տեղակայման դեպքում։
OMNIROUTE_CLI_SALT (սահմանված չէ = յուրաքանչյուր տեղադրման համար պատահական աղ, որը պահպանվում է <DATA_DIR>/cli-token-salt.json-ում) src/lib/machineToken.ts Տեղային CLI նույնականացման նշանը ստանալու համար օգտագործվող HMAC աղ։ Այս արժեքը սահմանելու դեպքում մեքենայի բոլոր CLI նշանները փոխարինվում են, և այն միշտ գերակայում է պահպանված աղի նկատմամբ։ Տե՛ս docs/security/CLI_TOKEN.md։
AUTH_COOKIE_SECURE false src/lib/auth Սեսիայի cookie-ների համար սահմանում է Secure դրոշը։ HTTPS-ի հետևում աշխատելիս պետք է լինի true։
REQUIRE_API_KEY false API միջնաշերտ Երբ true է, բոլոր /v1/* պրոքսի հարցումները պետք է ներառեն վավեր API բանալի։
ALLOW_API_KEY_REVEAL false src/shared/constants/featureFlagDefinitions.ts Թույլ է տալիս կառավարման վահանակի միջերեսում ցուցադրել API բանալիների ամբողջական արժեքները։ Կարգավորվում է կառավարման վահանակի գործառույթների դրոշների միջոցով․ ընդհանուր օգտագործման օրինակներում անվտանգության ռիսկ է ներկայացնում։
NO_LOG_API_KEY_IDS (դատարկ) src/lib/compliance/index.ts Ստորակետերով բաժանված API բանալիների ID-ներ, որոնց հարցումները չեն գրանցվում (GDPR համապատասխանության համար)։
DEFAULT_RATE_LIMIT_PER_DAY (սահմանված չէ = անսահմանափակ) src/shared/utils/apiKeyPolicy.ts Օրական հարցումների պահուստային սահմանաչափ, որը կիրառվում է այն API բանալիների նկատմամբ, որոնց rate_limits սյունակը null է։ Սահմանված չէ կամ դատարկ է՝ ենթադրյալ սահմանաչափ չկա (#2289, #11017)։ 0-ն ունի նույն նշանակությունը (անսահմանափակ)։ Դրական ամբողջ N թիվը սահմանում է N/օր, 5N/շաբաթ, 20N/ամիս։ Ոչ դատարկ, բայց սխալ ձևաչափված արժեքների դեպքում կիրառվում են նախկին սահմանաչափերը՝ 1000/օր, 5000/շաբաթ, 20000/ամիս։
MAX_BODY_SIZE_BYTES 10485760 (10 MB) src/shared/middleware/bodySizeGuard.ts Հարցման մարմնի առավելագույն թույլատրելի չափը։ Այս սահմանաչափը գերազանցող բեռնվածքները մերժվում են։
OMNIROUTE_CHAT_LARGE_BODY_BYTES 262144 (256 KB) src/shared/middleware/chatBodyAdmission.ts Այս շեմին հասնող կամ այն գերազանցող հարցումների իրական մարմինները JSON-ի վերլուծությունից առաջ ստանում են ծանր բեռնվածության ընդունման ատոմային, տվյալ գործընթացի համար տեղային վարձակալումը (BYTE ուղի՝ ներառյալ POST /v1/responses)։ Կառուցվածքային առումով ծանր հարցումների պես գործում է ազատ առողջ պաշարի նույն #10437 բացառությունը, սակայն այն շարունակում է սահմանափակվել OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110-ով, որպեսզի #7849-ը չկրկնվի։
OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES 52428800 (50 MB) src/shared/middleware/chatBodyAdmission.ts Չաթի երթուղու կոշտ սահմանաչափ, որը կիրառվում է սահմանափակված ընդունման ընթացքում կարդացված բայթերի նկատմամբ՝ ներառյալ բացակայող, անվավեր կամ իրականությանը չհամապատասխանող Content-Length ունեցող հարցումները․ սահմանաչափը գերազանցելու դեպքում վերադարձվում է 413։
OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (սահմանված չէ — հարցումների քանակի սահմանափակում չկա) src/shared/middleware/chatBodyAdmission.ts #503-fanout: հարցումների ՔԱՆԱԿԻ այս հնացած սահմանափակումն այժմ կիրառվում է միայն այն դեպքում, երբ բացահայտորեն սահմանված է։ Եթե այն սահմանված չէ (լռելյայն վիճակը), ծանրաքաշ չաթի ընդունումը փոխարենը վերահսկվում է OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES-ով՝ ԲԱՅԹԵՐԻ ինքնաշխատ հաշվարկվող բյուջեով, որի չափը որոշվում է մեկ գործընթացում (մեկ V8 heap) գործընթացի հիշողության իրական սահմանաչափից։ Երկու համընկնող՝ մոտ 750k-token ծավալով /v1/responses հարցումներ ընդհատում են մոտ 12 GiB ծավալով heap-երը (#7849). սա հիշողության բյուջեի նախազգուշացում է, այլ ոչ թե արտադրանքի՝ 2-ի կոշտ առավելագույն սահմանաչափ։ Առողջ գործընթացը (heap-ը՝ բեռնաթափման հարաբերակցությունից ցածր) ԿԱՐՈՂ Է ընդունել ավելի շատ միաժամանակյա երկարատև /v1/responses հարցումներ՝ OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM-ի միջոցով։ Տասնյակ երկարատև SSE հաճախորդների (4050) սահմանափակող գործոնը heap + OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110-ն է, այլ ոչ թե «առավելագույնը 2»-ը։ Այս արժեքը կուրորեն բարձրացնելը՝ «հոսթի ռեսուրսներն օգտագործելու» համար, կրկին առաջացնում է #7849-ը։ Բազմապատկեք heap-երը՝ N անկախ DATA_DIR-ներով (#11024). երբեք մի օգտագործեք replicas>1 մեկ SQLite ֆայլի համար։
OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES (ինքնաշխատ հաշվարկվող) src/shared/middleware/admissionBudget.ts #503-fanout: ինքնաշխատ հաշվարկվող մուտքային տվյալների բայթային բյուջեն վերասահմանող արժեք (V8/cgroup հիշողության առավել խիստ սահմանաչափի 25%-ը՝ բաժանված 8x ժամանակավոր ուժեղացման վրա)։ Ե՛վ հաշվարկված, և՛ բացահայտորեն սահմանված արժեքները սահմանափակվում են 8 MiB2 GiB միջակայքում։ Արդյունավետ բյուջեից մեծ մարմինն անմիջապես ձախողվում է 413 body_exceeds_budget-ով, իսկ առանձին-առանձին սպասարկելի մարմինների միջև մրցակցությունը մնում է կրկնափորձարկելի 503։ 4050 միաժամանակյա երկարատև SSE հաճախորդների սահմանափակող գործոնն այս բյուջեն + heap-ն է, այլ ոչ թե կոշտ «առավելագույնը 2»-ը։ Կարգավորումից առաջ /api/monitoring/health-ում կարդացեք chatAdmission.maxInflightBytes / budgetSource / pressureSeverity արժեքները։
OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO 0.75 src/shared/middleware/chatBodyAdmission.ts Heap-ի ճնշման դեպքում բեռնաթափման հարաբերակցությունը (heapUsed / heap_size_limit)՝ ԲԱՅԹԵՐԻ և ԿԱՌՈՒՑՎԱԾՔԻ հիման վրա ծանրաքաշ հարցումների ընդունման համար (#10183, #10268, #10437)։ OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT-ը գերազանցող միաժամանակյա ծանրաքաշ հարցումը բեռնաթափվում է կրկնափորձարկելի 503-ով միայն այն դեպքում, երբ heap-ը ՆԱԵՎ այս հարաբերակցությանը հավասար է կամ դրանից բարձր է. առողջ heap-ի դեպքում այն ընդունվում է healthy-headroom-ի միջոցով։
OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (լռելյայն՝ 1) src/shared/middleware/chatBodyAdmission.ts Սահմանափակ լրացուցիչ թողունակություն՝ առողջ heap-ի արագ ուղու համար (#10437), ինչպես ԿԱՌՈՒՑՎԱԾՔԻ, այնպես էլ ԲԱՅԹԵՐԻ պարագայում (admitChatRequest, ներառյալ ≥ OMNIROUTE_CHAT_LARGE_BODY_BYTES մարմինները)։ Առանց այս սահմանի՝ զբաղված, բայց առողջ heap ունեցող յուրաքանչյուր հարցում շրջանցում էր ընդունման վերահսկումը՝ առանց որևէ վերին սահմանի։ Երբ healthy-heap ուղով այսքան միաժամանակյա վարձակալումներ են ակտիվանում, հետագա զբաղված հարցումները փոխանցվում են ԻՐԱԿԱՆ heap-ի ճնշման դեպքում օգտագործվող ՆՈՒՅՆ սահմանափակ սպասման/բեռնաթափման ուղուն։ 0-ն ամբողջությամբ անջատում է շրջանցումը։
OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT 200 src/shared/middleware/chatBodyAdmission.ts Հաղորդագրությունների քանակը, որի դեպքում չաթի հարցումը դասակարգվում է որպես ծանրաքաշ, նույնիսկ երբ դրա մարմինը բայթային շեմից ցածր է։
OMNIROUTE_CHAT_HEAVY_TOOL_COUNT 64 src/shared/middleware/chatBodyAdmission.ts Գործիքների քանակը, որի դեպքում չաթի հարցումը դասակարգվում է որպես ծանրաքաշ, նույնիսկ երբ դրա մարմինը բայթային շեմից ցածր է։
OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS 32000 src/shared/middleware/chatBodyAdmission.ts Տողի չափի հիման վրա token-ների պահպանողական գնահատականը, որի դեպքում հարցումը դասակարգվում է որպես ծանրաքաշ. սա ընդունման արժեքի մոտարկիչ է, այլ ոչ թե մատակարարի վճարահաշվարկային token-ացում։
OMNIROUTE_CHAT_HARD_MAX_MESSAGES 0 (անջատված) src/shared/middleware/chatBodyAdmission.ts Չաթի պատմության ընտրովի, բացահայտ միացվող սահմանափակում։ Լռելյայն անջատված է. հաղորդագրությունների քանակը տեղակայման քաղաքականություն է, այլ ոչ թե հարցման համընդհանուր հատկություն, և այստեղ սահմանափակումը մերժում է խոսակցությունները վերջնական 413-ով՝ նախքան սեղմման մշակաշարը կկարողանա դրանք սպասարկելի դարձնել։ Heap-ի աճը սահմանափակվում է OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT-ով և heap-ի ճնշման դեպքում բեռնաթափմամբ։ Հիշողությամբ սահմանափակ տեղակայումներում, որոնց կոշտ վերին սահման է անհրաժեշտ, սահմանեք դրական արժեք. գերազանցող հարցումներն այդ դեպքում կստանան կառուցվածքային՝ սեղմում պահանջող 413։
OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES 67108864 (64 MB) open-sse/handlers/chatCore/nonStreamingResponseBody.ts Հիշողության մեջ ամբողջությամբ բուֆերացվող՝ չհոսքային upstream պատասխանի կոշտ սահմանաչափը։ Այն գերազանցելու դեպքում upstream ընթերցիչը չեղարկվում է, և հարցումն արագ ձախողվում է՝ անսահմանափակ տողի աճը մինչև heap-ի սպառումը կանխելու համար։
OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES 768 open-sse/handlers/chatCore/responseHeaders.ts Upstream պատասխանի վերնագրերից փոխանցվող wire բայթերի առավելագույն քանակը։ Բյուջեն գերազանցելու դեպքում ավելի ցածր առաջնահերթության վերնագրերը (օրինակ՝ հատուկ x-codex-*, x-oai-request-id) հեռացվում են՝ տարածված reverse-proxy-ների վերնագրերի սահմանաչափերում մնալու համար։ Սահմանեք ավելի բարձր արժեք՝ ավելի շատ upstream մետատվյալներ փոխանցելու համար՝ պատասխանի վերնագրերի ավելի մեծ չափի գնով։
CORS_ORIGIN (չսահմանված) src/server/cors/origins.ts CORS-ի հին՝ մեկ սկզբնաղբյուրով թույլատրելի հասցեների ցանկը։ Նոր տեղակայումների համար նախընտրեք CORS_ALLOWED_ORIGINS-ը։ CORS-ը նախատեսված է միայն տարբեր սկզբնաղբյուրներից աշխատող զննարկչային API հաճախորդների համար․ նույնականացված կառավարման վահանակից գրանցման հարցումներն օգտագործում են նույն սկզբնաղբյուրի հարցումներ՝ նստաշրջանին կապված CSRF պաշտպանության հետ միասին։
CORS_ALLOWED_ORIGINS (չսահմանված) src/server/cors/origins.ts Ստորակետերով բաժանված CORS-ի թույլատրելի հասցեների ցանկը։ Ընդհանուր նշանակիչ չի ուղարկվում, եթե CORS_ALLOW_ALL=true-ը հստակ կազմաձևված չէ։
CORS_ALLOW_ALL false src/server/cors/origins.ts Միայն մշակման համար նախատեսված շրջանցման միջոց՝ զննարկչի ցանկացած Origin կրկնելու համար։ Մի միացրեք համօգտագործվող կամ արտադրական տեղակայումներում։
OUTBOUND_SSRF_GUARD_ENABLED true src/shared/network/outboundUrlGuard.ts Արգելափակել մատակարարներին ուղղված կանչերը, որոնց թիրախը մասնավոր/հետադարձ կապի/տեղային հղման IP տիրույթներն են։ Անջատեք միայն մեկուսացված փորձարկման միջավայրերում։
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS false src/shared/network/outboundUrlGuard.ts Թույլատրել մասնավոր/տեղային ցանցերին (localhost, 192.168.x.x, 10.x.x.x և այլն) մատնանշող մատակարարների URL-ները։ ՊԱՐՏԱԴԻՐ է ինքնուրույն հոսթինգով մատակարարների համար (LM Studio, Ollama, vLLM, Llamafile, Triton, SearXNG)։ Երբ արժեքը false է, կառավարման վահանակը մերժում է տեղային URL-ների վավերացումը։
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS true src/shared/network/outboundUrlGuard.ts Թույլատրել տեղային/մասնավոր հասցեներում (127.0.0.1, localhost, LAN, մասնավոր տիրույթներ) մատակարարների ավելացումն ու վավերացումը․ կիրառվում է միայն մատակարարի վավերացման ուղու նկատմամբ։ Լռելյայն՝ true (առաջնահերթությունը՝ տեղայինին) սահմանեք false՝ միայն հանրային հասցեների խիստ սահմանափակում կիրառելու համար։ Ամպային մետատվյալների վերջնակետերը (169.254.169.254, metadata.google.internal) շարունակում են արգելափակված մնալ՝ անկախ կարգավորումից։ (#5066)
AUDIO_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/audioProviderNodes.ts Թույլատրել /v1/audio/* երթուղիներին (վերծանումներ, խոսք, թարգմանություններ) օգտագործել localhost-ից դուրս հոսթավորված՝ OpenAI-ի հետ համատեղելի մատակարարի հանգույց։ Լռելյայն անջատված է․ ձայնային տվյալները հեռակա հոսթ ուղղորդելը փոխում է ելքային նույնականացումը և պետք է լինի օպերատորի հստակ որոշումը։ Հետադարձ կապի/մասնավոր հանգույցները (localhost, 127.0.0.1, 172.16-31.x) միշտ թույլատրված են և չեն ազդվում։ (#3963)
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts Երբ OIDC-ը միացված է, անջատել գաղտնաբառով մուտքը, որպեսզի օգտատերերը կարողանան նույնականացվել միայն OIDC միասնական մուտքի միջոցով։ Ընդունվում է նաև OIDC_DISABLE_PASSWORD_LOGIN պարզ այլանունը․ նույն բանալին ունեցող կառավարման վահանակի գործառույթի դրոշն ունի գերակայություն։ (#10889)
OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN-ի պարզ այլանունը (#10889)։

Անվտանգության ամրապնդման ստուգաթերթ

# Արտադրական միջավայրի անվտանգության նվազագույն պահանջները՝
AUTH_COOKIE_SECURE=true        # Պահանջում է HTTPS
REQUIRE_API_KEY=true           # Նույնականացնել պրոքսիի բոլոր կանչերը
ALLOW_API_KEY_REVEAL=false     # Երբեք չցուցադրել բանալիները օգտատիրոջ միջերեսում
CORS_ALLOWED_ORIGINS=https://your.domain.com
MAX_BODY_SIZE_BYTES=5242880    # 5 MB սահմանաչափ

5. Մուտքային տվյալների մաքրում և անձը նույնականացնող տվյալների պաշտպանություն

OmniRoute-ն ապահովում է երկշերտ պաշտպանություն՝ հարցման կողմում ներարկումների սկանավորում և պատասխանի կողմում անձը նույնականացնող տվյալների հեռացում։

⚠️ Սահմանափակումներ․ Այս պաշտպանիչ մեխանիզմները հիմնված են առավելագույն ջանքերի սկզբունքով աշխատող էվրիստիկ հայտնաբերման վրա և չեն հանդիսանում հրահանգների ներարկումից պաշտպանող ամբողջական firewall կամ անձը նույնականացնող տվյալների DLP համակարգ։ Դրանք կարող են առաջացնել կեղծ դրական արդյունքներ (անվնաս կերպարային/RPG հրահանգները նշվում են որպես վտանգավոր) և կեղծ բացասական արդյունքներ (leetspeak, բացատների օգտագործում, ոչ անգլերեն օրինաչափություններ)։ Միայն դրանք բավարար չեն համապատասխանության պահանջները կատարելու համար։ Նախքան դրանց ապավինելը՝ կարգավորեք ռեժիմները և փորձարկեք ձեր թրաֆիկի վրա։

Հարցման կողմում․ հրահանգների ներարկման պաշտպանություն

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
INPUT_SANITIZER_ENABLED true src/middleware/promptInjectionGuard.ts Միացնել մուտքային հաղորդագրությունների սկանավորումը՝ հրահանգների ներարկման օրինաչափություններ հայտնաբերելու համար։
INPUT_SANITIZER_MODE warn src/middleware/promptInjectionGuard.ts Ներարկման քաղաքականություն՝ warn = միայն գրանցել մատյանում, block = մերժել հարցումը 400 կոդով։ Ժառանգական redact ռեժիմը չի հեռացնում ներարկման տեքստը․ հարցման անձը նույնականացնող տվյալները վերաշարադրելու համար օգտագործեք PII_REDACTION_ENABLED։
INJECTION_GUARD_MODE (սահմանված չէ) src/middleware/promptInjectionGuard.ts INPUT_SANITIZER_MODE-ի ժառանգական այլընտրանքային անվանումը՝ նույն վարքագծով։
INPUT_SANITIZER_BLOCK_THRESHOLD high src/shared/utils/injectionSeverity.ts Նվազագույն վտանգավորության մակարդակը, որը մերժվում է MODE=block-ի դեպքում՝ high (լռելյայն), medium կամ low։ Միջին մակարդակի օրինաչափությունները միայն դիտարկվում են, եթե շեմը չի իջեցվել։
INJECTION_GUARD_BLOCK_THRESHOLD (սահմանված չէ) src/shared/utils/injectionSeverity.ts INPUT_SANITIZER_BLOCK_THRESHOLD-ի ժառանգական այլընտրանքային անվանումը՝ նույն վարքագծով։
PII_REDACTION_ENABLED false src/lib/guardrails/piiMasker.ts Եթե true է, մուտքային հարցումներում քողարկել անձը նույնականացնող տվյալները (անկախ ներարկման ռեժիմից)։
CREDENTIAL_REDACTION_ENABLED false src/lib/guardrails/credentialMasker.ts Հարցման/պատասխանի բեռնվածքներից քողարկել հայտնի API բանալիների / գաղտնի թոքենների օրինաչափությունները։ Ըստ ցանկության միացվող է և արտացոլում է PII_REDACTION_ENABLED-ի վարքագիծը։

Պատասխանի կողմում․ անձը նույնականացնող տվյալների մաքրիչ

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
PII_RESPONSE_SANITIZATION false src/lib/piiSanitizer.ts Նախքան հաճախորդին վերադարձնելը՝ սկանավորել LLM-ի պատասխանները արտահոսած անձը նույնականացնող տվյալների համար։
PII_RESPONSE_SANITIZATION_MODE redact src/lib/piiSanitizer.ts redact = քողարկել անձը նույնականացնող տվյալները, warn = միայն գրանցել մատյանում, block = ամբողջությամբ հեռացնել պատասխանը։

VS Code-ի թոքենացված երթուղու համատեքստի մաքրիչ

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_VSCODE_SANITIZE_CONTEXT 1 src/app/api/v1/vscode/contextSanitizer.ts /v1/vscode/[token]/* հարցումներից հեռացնում է ակտիվ խմբագրիչի անուղղակի համատեքստը (editorContext, activeEditor, currentFile, selection, openTabs…) և քողարկում է բացահայտորեն կցված զգայուն ֆայլերի բովանդակությունը։ Լռելյայն անվտանգ է․ անջատելու համար սահմանեք 0։

Սցենարներ

Սցենար Կազմաձև
Կորպորատիվ համապատասխանություն INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=block, PII_REDACTION_ENABLED=true, PII_RESPONSE_SANITIZATION=true (ներարկումների արգելափակում + հարցման/պատասխանի անձը նույնականացնող տվյալների քողարկում․ ռեժիմներն անկախ են)
Միայն մշտադիտարկում INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=warn — գրանցում է մատյանում, բայց երբեք չի արգելափակում
Անձնական օգտագործում Բոլորը թողնել անջատված՝ առանց լրացուցիչ ծախսի

6. Գործիքների և երթուղավորման քաղաքականություններ

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
TOOL_POLICY_MODE disabled src/lib/toolPolicy.ts Կառավարում է LLM-ի հասանելիությունը գործիքների/ֆունկցիաների կանչերին։ allowlist = միայն ցուցակված գործիքները, denylist = բոլորը՝ բացի ցուցակվածներից, disabled = առանց սահմանափակումների։
OMNIROUTE_PAYLOAD_RULES_PATH ./config/payloadRules.json open-sse/services/payloadRules.ts Օգտակար բեռի մշակման կանոնների JSON ֆայլի ուղին (ըստ մոդելի/արձանագրության՝ վերին հոսքի ճշգրտումներ)։
OMNIROUTE_PAYLOAD_RULES_RELOAD_MS 5000 open-sse/services/payloadRules.ts Օգտակար բեռի կանոնների ֆայլի թեժ վերաբեռնման միջակայքը (մվ)։ Նվազագույնը՝ 1000։
OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS false open-sse/services/model.ts Ըստ ցանկության միացվող տարբերակ․ Claude Code հաճախորդներից ստացված՝ պրովայդերի նախածանց չունեցող claude-* մոդելների ID-ները երթուղավորել Claude Code OAuth հաշվի միջոցով՝ պրովայդերի նախածանց պահանջելու փոխարեն։ Հստակ նշված պրովայդերի նախածանցերը շարունակում են գերակայել։ Կարելի է նաև կարգավորել կառավարման վահանակի՝ Claude պրովայդերի էջի փոխարկիչի միջոցով։
COMBO_CONCURRENCY_PER_MODEL 3 open-sse/services/comboConfig.ts Մեկ մոդելի համար զուգահեռության սահմանաչափ՝ շրջանաձև հերթագայմամբ համակցությունների համար (#9100)։ Շրջանաձև հերթագայմամբ համակցությունների սեմաֆորը խիստ սահմանափակված էր մեկ մոդելի համար 3 զուգահեռ հարցումով՝ առանց վերասահմանման հնարավորության, ինչի հետևանքով ավելի բարձր զուգահեռությամբ տրաֆիկը հերթագրվում էր այդ սահմանաչափի հետևում։ Ստուգվում է, որ լինի >= 1, և սահմանափակվում է <= 32 արժեքով։
DISABLE_CONTEXT_WINDOW_CHECKS false open-sse/handlers/chatCore.ts Վտանգավոր, ըստ ցանկության միացվող տարբերակ, որն ուղղակի՝ մեկ մոդելով հարցումների համար բաց է թողնում OmniRoute-ի տեղային համատեքստային պատուհանի / մուտքային թոքենների առավելագույն քանակի ստուգումը։ Վերին հոսքի պրովայդերները շարունակում են կիրառել իրենց իրական սահմանափակումները․ հուշման սեղմումը և մոդելի՝ ելքային թոքենների սեփական սահմանաչափը մնում են ակտիվ։ Արդյունավետ առաջնահերթությունն է՝ Feature Flags տվյալների բազայի վերասահմանում > միջավայրի փոփոխական > լռելյայն արժեք․ վերագործարկում չի պահանջվում։
OMNIROUTE_DISABLE_CONVERSATION_TRACKING (սահմանված չէ) open-sse/services/conversationTracker.ts Սահմանեք 1՝ զրույցների պատմության հավաքումը դադարեցնելու համար։ resolveConversationId()-ը վերադարձնում է չհետագծվող արդյունք՝ նախքան SQLite-ը կարդալը կամ հաղորդագրությունների պատմությունը վերլուծելը, և հաճախորդի տրամադրած աշխատաշրջանի ID-ները նույնպես ներառված են։ Երթուղավորման աշխատաշրջանների մշակումը չի փոխվում, իսկ առկա գրառումները չեն ջնջվում։ Նախատեսված է այն տեղակայումների համար, որոնք չեն օգտագործում կառավարման վահանակի՝ զրույցների դիտման հնարավորությունը և ցանկանում են դադարեցնել հերթերի աղյուսակի աճը։

7. URL-ներ և ամպային համաժամացում

Փոփոխական Լռելյայն արժեք Աղբյուրի ֆայլ Նկարագրություն
BASE_URL http://localhost:20128 src/lib/cloudSync.ts Սերվերի կողմի URL, որով ներքին համաժամացման առաջադրանքները կանչում են /api/sync/cloud-ը։ Պահեք սա որպես loopback/կոնտեյների URL, նույնիսկ երբ հավելվածը հանրայնորեն հասանելի է պրոքսիի միջոցով։
CLOUD_URL (դատարկ) src/lib/cloudSync.ts Ամպային միջնորդ հանգույցի URL (պրեմիում գործառույթ)։
CLOUD_SYNC_TIMEOUT_MS 12000 src/lib/cloudSync.ts Ամպային համաժամացման հարցումների HTTP սպասման առավելագույն ժամանակը։
OMNIROUTE_BUILD_PROFILE full Webpack կառուցման կազմաձև Կառուցման ժամանակի պրոֆիլը (սահմանեք minimal, որպեսզի արտոնյալ մոդուլները ֆիզիկապես բացառվեն փաթեթից)։
OMNIROUTE_STANDALONE_DIR .build/ ինքնուրույն ելք scripts/build/colocate-standalone.mjs Կառուցման ժամանակի վերասահմանում ինքնուրույն ելքային գրացուցակի համար, որն օգտագործվում է հետկառուցման համատեղ տեղակայման քայլում։ Սա կատարման ժամանակի կարգավորում չէ։
OMNIROUTE_CLOUD_SYNC_SECRET (դատարկ) src/lib/cloudSync.ts Համօգտագործվող գաղտնիք, որն օգտագործվում է ամպային համաժամացման պատասխանների HMAC-SHA256 ստորագրությունը ստուգելու համար։
OMNIROUTE_CLOUD_SYNC_SECRETS false src/lib/cloudSync.ts Սահմանեք true, որպեսզի ամպային համաժամացման վերջնակետին թույլատրվի վերագրանցել տեղային հավատարմագրերը։ Լռելյայն արժեքը false է։
OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE false src/lib/cloudSync.ts Սահմանեք true, որպեսզի չստորագրված ամպային համաժամացման պատասխանը մերժվի, երբ որևէ տեղային գաղտնիք կազմաձևված չէ (#13679)։ Առկա ստորագրությունը միշտ ստուգվում է և միշտ մերժվում է, երբ OMNIROUTE_CLOUD_SYNC_SECRET-ը սահմանված չէ՝ անկախ այս դրոշակից։ v3.9-ում լռելյայն արժեքը կդառնա պարտադրված։
OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP false src/app/api/providers/zed/import/route.ts Սահմանեք true, որպեսզի առանց օգտատիրոջ հաստատման հետադարձ անցում կատարվի դեպի v3.8.5-ի մեկքայլ «ներմուծել ամեն ինչ» վարքագիծը։
NEXT_PUBLIC_BASE_URL http://localhost:20128 OAuth, կառավարման վահանակ, համաժամացում Հանրությանը հասանելի URL՝ OAuth redirect_uri-ի, կառավարման վահանակի հղումների և ստեղծվող հանրային URL-ների համար։ Սահմանեք սա որպես կայուն հանրային URL, երբ OAuth հետկանչերը կամ ստեղծվող դիտարկիչի հղումները պետք է օգտագործեն կանոնական հակադարձ պրոքսիի հոսթ։
NEXT_PUBLIC_CLOUD_URL (դատարկ) Հաճախորդի կողմ CLOUD_URL-ի հաճախորդի կողմի հայելային տարբերակը։
NEXT_PUBLIC_APP_URL (սահմանված չէ) src/shared/services/cloudSyncScheduler.ts NEXT_PUBLIC_BASE_URL-ի հնացած պահուստային տարբերակ։
OMNIROUTE_PUBLIC_BASE_URL (սահմանված չէ) Հանրային սկզբնաղբյուրի որոշիչ, պատկերների URL-ներ Հանրային URL-ներ ստեղծելու և կառավարման վահանակից դուրս դիտարկչի սկզբնաղբյուրը վավերացնելու համար օգտագործվող՝ դիտարկչին հասանելի OmniRoute սկզբնաղբյուրի ամենաբարձր առաջնահերթությամբ տարբերակը։ Սահմանեք սա, երբ OpenWebUI-ն կամ մեկ այլ վերահաղորդիչ OmniRoute-ին հասանելի է ներքին URL-ով, սակայն օգտատիրոջ դիտարկիչը պետք է ստեղծված մեդիաֆայլերը ներբեռնի LAN-ից, թունելից կամ հանրային սկզբնաղբյուրից։ Մի՛ ներառեք /v1։
OMNIROUTE_PROVIDER_MANIFEST_URL (սահմանված չէ) open-sse/config/providerPluginManifestUrl.ts Կողային հաճախորդներին հայտարարվող՝ մատակարարի հավելման մանիֆեստի բացարձակ URL-ը։ Երբ սահմանված չէ, OmniRoute-ը /api/v1/provider-plugin-manifest-ը ձևավորում է հարցման սկզբնաղբյուրից կամ HOST/PORT-ից։
OMNIROUTE_PUBLIC_PROTOCOL http open-sse/config/providerPluginManifestUrl.ts Արձանագրություն, որն օգտագործվում է մատակարարի հավելման մանիֆեստի URL-ը HOST/PORT-ից ձևավորելիս՝ հարցման սկզբնաղբյուրի բացակայության դեպքում։ TLS-ն ավարտող հանրային պրոքսիի հետևում սահմանեք https, երբ հստակ OMNIROUTE_PROVIDER_MANIFEST_URL սահմանված չէ։
OMNIROUTE_TRUST_PROXY (սահմանված չէ) src/server/origin/publicOrigin.ts Վերահասցեագրված հանրային սկզբնաղբյուրի վերնագրերի վստահության ընտրովի ռեժիմ։ Սահմանված չէ = անվտանգության որոշումների համար չվստահել Forwarded / X-Forwarded-* վերնագրերին։ true / loopback-ը վստահում է վերահասցեագրված host/proto-ին միայն թոքենով նշված loopback պրոքսիից։ private / lan-ը նաև վստահում է մասնավոր LAN-ի պրոքսի հանգույցներին։ Արտադրական միջավայրում նախընտրեք հստակ NEXT_PUBLIC_BASE_URL։
KIE_CALLBACK_URL (սահմանված չէ) open-sse/utils/kieTask.ts Հանրային հետկանչի URL՝ kie.ai-ի ասինխրոն առաջադրանքների համար։ Ամենաբարձր առաջնահերթությամբ վերասահմանում՝ նախքան OMNIROUTE_KIE_CALLBACK_URL-ը և OMNIROUTE_PUBLIC_URL-ը։
OMNIROUTE_KIE_CALLBACK_URL (սահմանված չէ) open-sse/utils/kieTask.ts KIE_CALLBACK_URL-ի այլընտրանքային գրությունը։ Օգտագործվում է որպես պահուստային տարբերակ, երբ հիմնական փոփոխականը սահմանված չէ։
OMNIROUTE_PUBLIC_URL (սահմանված չէ) open-sse/utils/kieTask.ts Հանրային սկզբնաղբյուր, որն օգտագործվում է ասինխրոն հետկանչի URL-ներ կազմելու համար։ kie.ai-ի հետկանչերի ամենացածր առաջնահերթությամբ պահուստային տարբերակ․ նաև օգտագործվում է որպես ընդհանուր հանրային URL այլ վերահաղորդիչների համար։
OMNIROUTE_CROF_USAGE_URL https://crof.ai/usage_api/ open-sse/services/usage.ts CrofAI-ի քվոտայի հարցման վերջնակետ, որն օգտագործվում է Օգտագործման էջի կողմից։ Վերասահմանեք վերահաղորդիչների / թեստային ֆիքստուրների համար։
OMNIROUTE_OPENCODE_QUOTA_URL https://opencode.ai/zen/go/v1/usage open-sse/services/opencodeQuotaFetcher.ts API բանալիով նույնականացվող պաշտոնական OpenCode Go օգտագործման վերջնակետ, որն օգտագործվում է Օգտագործման էջի կողմից։ Վերասահմանեք վերահաղորդիչների / թեստային ֆիքստուրների համար։
OPENCODE_SYNTHESIZE_CLI_HEADERS true open-sse/executors/opencode.ts Ստեղծել OpenCode CLI-ի ինքնության վերնագրեր (User-Agent, x-opencode-client/project, հարցման/նստաշրջանի UUID-ներ) հաճախորդի կողմից չուղարկված opencode-go/zen վերին հոսքի հարցումների համար, որպեսզի VPS-ի ելքային տրաֆիկում Cloudflare-ն ընդունի դրանք (#6210/#5997)։ #10571-ից ի վեր լռելյայն միացված է․ անջատելու համար օգտագործեք false/0/no/off։
OPENCODE_USER_AGENT opencode open-sse/executors/opencode.ts Լռելյայն User-Agent-ը, որն օգտագործվում է, երբ OPENCODE_SYNTHESIZE_CLI_HEADERS-ը միացված է, և ըստ մատակարարի <PROVIDER>_USER_AGENT վերասահմանում չկա։ Կիրառվում է միայն opencode կատարիչների նկատմամբ։
OPENCODE_CLIENT desktop open-sse/executors/opencode.ts Ստեղծվող x-opencode-client վերնագրի արժեքը, երբ OPENCODE_SYNTHESIZE_CLI_HEADERS-ը միացված է։
OPENCODE_PROJECT global open-sse/executors/opencode.ts Սինթեզված x-opencode-project վերնագրի արժեքը, երբ OPENCODE_SYNTHESIZE_CLI_HEADERS-ը միացված է։
OMNIROUTE_OLLAMA_CLOUD_USAGE_URL https://ollama.com/settings open-sse/services/usage.ts Քվոտայի տվյալների քաղման համար օգտագործվող Ollama Cloud-ի կարգավորումների URL-ը։ Վերասահմանեք ռելեների / թեստային ֆիքստուրների համար։
OLLAMA_USAGE_COOKIE (սահմանված չէ) open-sse/services/usage.ts Ollama Cloud-ի __Secure-session cookie-ն, որն օգտագործվում է կարգավորումների էջից քվոտայի տվյալները քաղելու համար։ Զգայուն տվյալ է․ երբ կազմաձևված են մի քանի հաշիվներ, նախընտրեք յուրաքանչյուր կապի համար նախատեսված Dashboard դաշտը։
OLLAMA_CLOUD_USAGE_COOKIE (սահմանված չէ) open-sse/services/usage.ts Ollama Cloud-ի __Secure-session cookie-ի այլընտրանքային env var-ը։ Զգայուն տվյալ է․ երբ կազմաձևված են մի քանի հաշիվներ, նախընտրեք յուրաքանչյուր կապի համար նախատեսված Dashboard դաշտը։
OMNIROUTE_OLLAMA_USAGE_COOKIE (սահմանված չէ) open-sse/services/usage.ts Ollama Cloud-ի __Secure-session cookie-ի այլընտրանքային env var-ը, որն օգտագործվում է ավելի կարճ այլանուններից առաջ։ Զգայուն տվյալ է․ երբ կազմաձևված են մի քանի հաշիվներ, նախընտրեք յուրաքանչյուր կապի համար նախատեսված Dashboard դաշտը։
OMNIROUTE_CODEWHISPERER_BASE_URL https://codewhisperer.us-east-1.amazonaws.com open-sse/services/usage.ts CodeWhisperer-ի (AWS Kiro) օգտագործման սահմանաչափերի վերջնակետը։ Վերասահմանեք ռելեների / թեստային ֆիքստուրների համար։

Important

Հակադարձ պրոքսիի (nginx, Caddy) հետևում տեղակայելիս NEXT_PUBLIC_BASE_URL-ը սահմանեք որպես ձեր կայուն հանրային URL (օրինակ՝ https://omniroute.example.com), երբ OAuth-ի հետկանչերը կամ գեներացված հանրային հղումները պետք է օգտագործեն այդ հոսթանունը։ Առանց դրա OAuth-ի հետկանչերը կարող են ձախողվել, քանի որ redirect_uri-ն չի համընկնի, իսկ գեներացված հանրային հղումները կարող են մատնանշել կոնտեյների ներքին origin-ը։

BASE_URL-ը պահեք որպես ներքին loopback/կոնտեյներային URL՝ սերվերից սերվեր առաջադրանքների համար։ Հավաստագրեր պարունակող ներքին ինքնահարցումների համար մի օգտագործեք դիտարկիչի Origin կամ հանրային հոսթանուն։

Նույնականացված Dashboard-ի գրանցման գործողությունները ստատիկ հանրային հիմնական URL չեն պահանջում․ Dashboard-ը նույն origin-ին ուղարկում է ոչ անվտանգ հարցումներ՝ աշխատաշրջանին կապված CSRF թոքենով։ OmniRoute-ը շարունակում է կենտրոնացնել հանրային origin-ի վավերացումը ոչ Dashboard դիտարկիչային ինտեգրումների համար․ հստակ սահմանված հանրային URL env var-երին վստահվում է առաջին հերթին, իսկ անմշակ Forwarded / X-Forwarded-* վերնագրերն անտեսվում են, եթե OMNIROUTE_TRUST_PROXY-ն միացված չէ, և անմիջական պրոքսի peer-ը թոքենով նշված չէ որպես վստահելի։ Մի օգտագործեք CORS-ի կարգավորումները նույն origin-ի Dashboard հարցումները շտկելու համար․ CORS-ը նախատեսված է միայն տարբեր origin-ներից դիտարկիչային հաճախորդների համար։


8. Ելքային պրոքսի

Վերահսկվող ելքային կապի, աշխարհագրական երթուղավորման կամ IP-ի քողարկման համար վերին մակարդակի LLM մատակարարներին ուղղված կանչերն ուղարկեք HTTP կամ SOCKS5 պրոքսիի միջոցով։

Փոփոխական Լռելյայն Աղբյուր ֆայլ Նկարագրություն
ENABLE_SOCKS5_PROXY true open-sse/executors Միացնում է SOCKS5 պրոքսի գործակալը վերին մակարդակի կանչերի համար։ Անջատելու համար սահմանեք false։
NEXT_PUBLIC_ENABLE_SOCKS5_PROXY true Հաճախորդի կողմ Հաճախորդի կողմում SOCKS5-ի հասանելիության մասին իրազեկում։
PROXY_SKIP_RECENTLY_FAILED false src/shared/utils/featureFlags.ts Ըստ ցանկության միացվող ֆունկցիոնալության դրոշակ (տե՛ս FEATURE_FLAGS.md, վահանակի ՏԲ-ի վերասահմանումն ունի առաջնահերթություն)։ Պրոքսի խմբերը և յուրաքանչյուր հաշվի համար հերթագայումը որոշ ժամանակով դադարում են կրկին տրամադրել հենց նոր խափանված անդամը (մերժված TCP ստուգում կամ դրա միջոցով ստացված 429), ընդ որում՝ այդ ժամանակահատվածը յուրաքանչյուր կրկնության դեպքում կրկնապատկվում է՝ մինչև սահմանված առավելագույնը։ true-ը (կամ 1, yes) միացնում է այն։
HTTP_PROXY (սահմանված չէ) Node.js ստանդարտ HTTP պրոքսի՝ վերին մակարդակի կանչերի համար։
HTTPS_PROXY (սահմանված չէ) Node.js ստանդարտ HTTPS պրոքսի՝ վերին մակարդակի կանչերի համար։
ALL_PROXY (սահմանված չէ) Node.js ստանդարտ Ունիվերսալ պրոքսի (աջակցում է socks5://)։
OMNIROUTE_PROXY_ECHO_URL (սահմանված չէ) src/lib/proxyEchoTarget.ts Պրոքսիի ելքային կապի ստուգումների համար օգտագործվող արձագանքող IP-ի թիրախը ամրագրում է մեկ URL-ի վրա։ Եթե սահմանված չէ, ստուգումը նախ փորձում է api64.ipify.org, ապա՝ api4.ipify.org, որպեսզի միայն IPv4 աջակցող թունելները չհամարվեն չաշխատող (#9694)։
NO_PROXY (սահմանված չէ) Node.js ստանդարտ Ստորակետերով բաժանված հոսթերի անուններ/IP-ներ, որոնց համար պրոքսին պետք է շրջանցվի։
OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS 32 open-sse/utils/proxyDispatcher.ts Միաժամանակյա սոկետների առավելագույն քանակը՝ քեշավորված HTTP/SOCKS պրոքսի դիսպետչերի համար։ Երկարակյաց SSE հոսքերին, ինչպիսին է Codex /v1/responses-ը, անհրաժեշտ է մեկից ավելի կապ, երբ մի քանի հարցումներ համօգտագործում են հաշվի մակարդակով նույն պրոքսին։ 256-ից բարձր արժեքները սահմանափակվում են այդ առավելագույնով։
SOCKS_HANDSHAKE_TIMEOUT_MS 10000 open-sse/utils/socksConnectorWithFamily.ts SOCKS5 սկզբնական համաձայնեցման (միացման) սպասման ժամանակը՝ մվ-ով։ Մեծացրեք այն, երբ մեկ բնակելի շլյուզի հոսթը բարձր զուգահեռ բեռնվածություն է ստանում (օրինակ՝ 100 միաժամանակյա հարցում). գերբեռնված խմբի դեպքում իրական համաձայնեցումը կարող է գերազանցել 10 վրկ-ը, թեև պրոքսին հասանելի է, ինչն այլապես կարտահայտվի որպես կեղծ [Proxy Fast-Fail] Proxy unreachable։ Առավելագույնը սահմանափակված է 120000-ով։
PROXY_FAIL_OPEN false src/sse/handlers/chatHelpers.ts Երբ false է (լռելյայն), հարցումը, որի նշանակված պրոքսին չի կարող լուծվել, ուղիղ կապի վերադառնալու փոխարեն մերժվում է (փակ խափանում)՝ իրական IP-ի արտահոսքը կանխելու համար։ Ժառանգական DIRECT պահուստային տարբերակը վերականգնելու համար սահմանեք true։
ENABLE_TLS_FINGERPRINT false open-sse/executors Կեղծել TLS մատնահետքը՝ օգտագործելով wreq-js-ը (ընդօրինակում է Chrome 124-ը)։ Հակազդում է JA3/JA4 արգելափակմանը։
TLS_FINGERPRINT_PROVIDERS (սահմանված չէ) open-sse/utils/proxyFetch.ts Ստորակետերով բաժանված մատակարարների թույլատրելի ցանկ՝ նոր պրոքսիավորված TLS երթուղավորման համար (open-sse/utils/proxyFetch.ts)։ Եթե սահմանված չէ, ուղիղ TLS-ը պահպանում է իր նախկին վարքագիծը․ միայն այս մատակարարներն են երթուղավորվում Chrome-124 մատնահետքի կամրջի միջոցով։
OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS false open-sse/services/claudeTurnstileSolver.ts Թույլ տալ Claude Turnstile Playwright դիտարկչի համատեքստին անտեսել HTTPS հավաստագրի սխալները։

Սցենարներ

Սցենար Կազմաձևում
SOCKS5՝ SSH թունելի միջոցով ALL_PROXY=socks5://127.0.0.1:7890, ENABLE_SOCKS5_PROXY=true
Կորպորատիվ HTTP պրոքսի HTTP_PROXY=http://proxy.corp.com:3128, HTTPS_PROXY=http://proxy.corp.com:3128, NO_PROXY=localhost,internal.corp.com
Մատնահետքի կեղծման կանխարգելում ENABLE_TLS_FINGERPRINT=true — պահանջում է wreq-js (ներառված է)
Ելքային կապի վերահսկմամբ / առանց ուղիղ հասանելիության Թողնել PROXY_FAIL_OPEN=false (լռելյայն)։ Երբ պրոքսին անհասանելի է, հարցումները անմիջապես ձախողվում են՝ ուղիղ կապով արտահոսելու փոխարեն։
Հին / մշակման միջավայր — թույլատրել ուղիղ պահուստային կապը PROXY_FAIL_OPEN=true։ Վերականգնում է մինչև խստացումը եղած վարքագիծը․ երբ պրոքսիի որոշումը ձախողվում է, օգտագործվում է ուղիղ կապ։

Նշում (NVIDIA վավերացման շրջանցում — #3226) NVIDIA-ի API բանալու վավերացման վերջնակետը կանգ է առնում, երբ երթուղավորվում է գլոբալ պրոքսիով/TLS-փոփոխված fetch-ի միջոցով (undici dispatcher → 504)։ src/lib/providers/validation.ts::directHttpsRequest()-ը միտումնավոր շրջանցում է պրոքսիի փոփոխությունն այդ մեկ վավերացման կանչի համար՝ օգտագործելով safeOutboundFetch({ bypassProxyPatch: true })։ Սա փաստաթղթավորված, սահմանափակ շրջանակով բացառություն է․ այն չի ազդում զրույցի/օգտագործման ելքային կապի վրա։ Շրջանցման շրջանակը ամրագրված է tests/unit/proxy-bypass-scope-guard-3226.test.ts-ով։


9. CLI գործիքների ինտեգրում

Կառավարում է, թե ինչպես է OmniRoute-ը հայտնաբերում և գործարկում CLI ուղեկից ծառայությունները (Claude Code, Codex և այլն)։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
CLI_MODE auto src/shared/services/cliRuntime.ts auto = որոնել համակարգի PATH-ում, manual = օգտագործել միայն բացահայտորեն նշված ուղիները։
CLI_EXTRA_PATHS (սահմանված չէ) src/shared/services/cliRuntime.ts Լրացուցիչ PATH գրառումներ՝ CLI երկուական ֆայլերը հայտնաբերելու համար (երկու կետով բաժանված)։
CLI_CONFIG_HOME (սահմանված չէ) src/shared/services/cliRuntime.ts Վերասահմանում է տնային գրացուցակը՝ CLI կազմաձևերը (~/.claude, ~/.codex) կարդալու համար։ Այն պետք է լինի բացարձակ և գտնվի գործընթացի տնային գրացուցակի ներսում՝ կամ, կոնտեյներում, bind-mounted ուղի (այդպես է աշխատում /host-home-ը)։ Ցանկացած այլ արժեքի դեպքում օգտագործվում է տնային գրացուցակը։
CLI_ALLOW_CONFIG_WRITES true src/shared/services/cliRuntime.ts Թույլ է տալիս OmniRoute-ին գրել CLI կազմաձևման ֆայլերում (թոքենի թարմացում, աշխատաշրջանի տվյալներ)։ Սահմանեք false, որպեսզի CLI կազմաձևի գրառման յուրաքանչյուր փորձ ձախողվի բացահայտ «գրելն անջատված է» սխալով։
CLI_CLAUDE_BIN claude src/shared/services/cliRuntime.ts Claude CLI երկուական ֆայլի հատուկ ուղի։
CLI_CODEX_BIN codex src/shared/services/cliRuntime.ts Codex CLI երկուական ֆայլի հատուկ ուղի։
CLI_DROID_BIN droid src/shared/services/cliRuntime.ts Droid CLI երկուական ֆայլի հատուկ ուղի։
CLI_OPENCLAW_BIN openclaw src/shared/services/cliRuntime.ts OpenClaw CLI երկուական ֆայլի հատուկ ուղի։
CLI_CURSOR_BIN agent, ապա cursor src/shared/services/cliRuntime.ts Cursor գործակալի երկուական ֆայլի հատուկ ուղի։ Դրա բացակայության դեպքում հայտնաբերումը նախ փորձում է agent, ապա անցնում է cursor-ին։
CLI_CLINE_BIN cline src/shared/services/cliRuntime.ts Cline CLI երկուական ֆայլի հատուկ ուղի։
CLI_5DIVE_BIN 5dive src/shared/services/cliRuntime.ts 5dive CLI երկուական ֆայլի հատուկ ուղի։
CLI_5DIVE_STATE_DIR /var/lib/5dive src/shared/services/cliRuntime.ts 5dive-ի համակարգային վիճակի գրացուցակը (root-ին պատկանող իսկորոշման պրոֆիլներ), որը համապատասխանում է 5dive-ի սեփական STATE_DIR լռելյայն արժեքին։
CLI_CONTINUE_BIN cn src/shared/services/cliRuntime.ts Continue CLI երկուական ֆայլի հատուկ ուղի։
CLI_QODER_BIN qodercli src/shared/services/cliRuntime.ts Qoder CLI երկուական ֆայլի հատուկ ուղի։
CLI_QWEN_BIN qwen src/shared/services/cliRuntime.ts Qwen Code CLI երկուական ֆայլի հատուկ ուղի։
CLI_AIDER_BIN aider src/shared/services/cliRuntime.ts Aider CLI երկուական ֆայլի հատուկ ուղի։
CLI_GOOSE_BIN goose src/shared/services/cliRuntime.ts Goose CLI երկուական ֆայլի հատուկ ուղի։
CLI_GEMINI_BIN gemini src/shared/services/cliRuntime.ts Google Gemini CLI երկուական ֆայլի հատուկ ուղի՝ միայն սերվերային հայտնաբերման/առողջության ստուգումների համար. omniroute run geminigemini երկուական ֆայլը գտնում է համակարգի PATH-ից։
CLI_KILO_BIN kilocode src/shared/services/cliRuntime.ts Kilo Code CLI երկուական ֆայլի հատուկ ուղի։
CLI_OPENCODE_BIN opencode src/shared/services/cliRuntime.ts OpenCode CLI երկուական ֆայլի հատուկ ուղի։
CLI_HERMES_BIN hermes src/shared/services/cliRuntime.ts Hermes երկուական ֆայլի հատուկ ուղին։ Համօգտագործվում է կատալոգի երկու գրառումների (hermes և hermes-agent) կողմից։
CLI_FORGE_BIN forge src/shared/services/cliRuntime.ts ForgeCode CLI երկուական ֆայլի հատուկ ուղին։
CLI_JCODE_BIN jcode src/shared/services/cliRuntime.ts jcode CLI երկուական ֆայլի հատուկ ուղին։
CLI_DEEPSEEK_TUI_BIN deepseek-tui src/shared/services/cliRuntime.ts DeepSeek TUI երկուական ֆայլի հատուկ ուղին։
CLI_CODEWHALE_BIN codewhale src/shared/services/cliRuntime.ts CodeWhale CLI երկուական ֆայլի հատուկ ուղին։
CLI_SMELT_BIN smelt src/shared/services/cliRuntime.ts Smelt CLI երկուական ֆայլի հատուկ ուղին։
CLI_PI_BIN pi src/shared/services/cliRuntime.ts Pi (pi-coding-agent) երկուական ֆայլի հատուկ ուղին։
CLI_CRUSH_BIN crush src/shared/services/cliRuntime.ts Crush CLI երկուական ֆայլի հատուկ ուղին։
CLI_OMP_BIN omp src/shared/services/cliRuntime.ts Oh My Pi (omp) գործակալի երկուական ֆայլի հատուկ ուղին։
CLI_LETTA_BIN letta src/shared/services/cliRuntime.ts Letta CLI երկուական ֆայլի հատուկ ուղին։
CLI_PRIME_AGENT_BIN prime-agent src/shared/services/cliRuntime.ts Prime Agent (Prime Intellect) երկուական ֆայլի հատուկ ուղին։
CLI_WINDSURF_BIN (չկա) src/shared/services/cliRuntime.ts Windsurf երկուական ֆայլի հատուկ ուղին։ Windsurf-ը տրամադրվում է առանց լռելյայն հրամանի երկուական ֆայլի հայտնաբերումը մնում է անջատված, մինչև սա սահմանվի։
CLI_DEVIN_BIN devin open-sse/executors/devin-cli.ts Devin CLI երկուական ֆայլի հատուկ ուղին (v3.8.0)։ Օգտագործվում է Windsurf/Devin կատարիչի կողմից։
DEVIN_DESKTOP_VERSION 3.6.27 open-sse/executors/devin-desktop.ts Devin Desktop-ի ide_version։ Վերասահմանումները պետք է օգտագործեն x.y.z ձևաչափը․ անվավեր արժեքների դեպքում օգտագործվում է ստուգված լռելյայն արժեքը։
DEVIN_DESKTOP_EXTENSION_VERSION 1.48.2 open-sse/executors/devin-desktop.ts Ներառված Codeium/language-server-ի extension_version, որը տարբերվում է Desktop-ի ide_version-ից։ Վերասահմանումները պետք է օգտագործեն x.y.z անվավեր արժեքների դեպքում օգտագործվում է ներառված լռելյայն արժեքը։
CLI_DEVIN_AGENTIC_BIN devin open-sse/executors/devin-cli-agentic.ts Միայն agentic կամրջի համար Devin CLI-ի վերասահմանում։ Կատարիչն ընդունում է միայն տեղային ACP stdio վերին հոսքը։
DEVIN_AGENTIC_HOME (պարտադիր) open-sse/executors/devin-cli-agentic.ts Բացարձակ մեկուսացված տնային գրացուցակ agentic Devin ենթագործընթացի համար․ կամրջի ընդունելի ուղիներն են /home/bridge-ը և առաջադրանքին տեղային .sandbox ուղիները (Windows-ում՝ C:\...\.sandbox\...)։
DEVIN_AGENTIC_ACP_TIMEOUT_MS 120000 open-sse/executors/devin-cli-agentic.ts Devin ACP-ի մեկ քայլի առավելագույն տևողությունը, որից հետո կամուրջը դադարեցնում է զավակ գործընթացը և վերադարձնում ժամանակի սպառման հստակ սխալ։
DEVIN_BRIDGE_MODEL devin-cli-agentic/swe-1-7 docker/devin-bridge/compose.yml Claude Code-ի հիմնական մոդելի կեղծանունը մեկուսացված կամրջի համար։ Ակտիվ փորձարկման միջավայրը օրինակը փոխարինում է ընթացիկ Devin հաշվի կողմից վերադարձված մոդելով։
DEVIN_BRIDGE_SONNET_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Մեկուսացված կամրջի կեղծանունը, որն օգտագործվում է, երբ Claude Code-ը հարցում է կատարում իր լռելյայն Sonnet մոդելի համար։
DEVIN_BRIDGE_OPUS_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Մեկուսացված կամրջի կեղծանունը, որն օգտագործվում է, երբ Claude Code-ը հարցում է կատարում իր լռելյայն Opus մոդելի համար։
DEVIN_BRIDGE_HAIKU_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Մեկուսացված կամրջի կեղծանունը, որն օգտագործվում է, երբ Claude Code-ը հարցում է կատարում իր լռելյայն Haiku մոդելի համար։
DEVIN_BRIDGE_SUBAGENT_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Մեկուսացված կամրջի կեղծանունը, որն օգտագործվում է Claude Code-ի ենթագործակալների համար։
DEVIN_SEAT_API_URL https://server.codeium.com open-sse/services/usage/devinCli.ts Devin CLI-ի քվոտայի համար օգտագործվող Codeium-ի տեղերի կառավարման API-ի կամընտիր վերասահմանում (GetUserStatus)։
AUGGIE_BIN auggie open-sse/executors/auggie.ts Տեղային auggie մատակարարի կողմից օգտագործվող Augment (Auggie) CLI-ի երկուական ֆայլի բացարձակ ուղու վերասահմանում։ Այլապես օգտագործվում է CLI_AUGGIE_BIN, այնուհետև՝ որոնում PATH-ում։
CLI_AUGGIE_BIN auggie open-sse/executors/auggie.ts Augment (Auggie) CLI-ի երկուական ֆայլի ուղու այլընտրանքային վերասահմանում (ստուգվում է AUGGIE_BIN-ից հետո)։
ZCODE_BIN zcode open-sse/executors/zcode.ts Տեղային zcode մատակարարի stdio հաճախորդի կողմից օգտագործվող երկուական ֆայլը։ Այլապես օգտագործվում է PATH-ում գտնվող zcode-ը։
ZCODE_ARGS open-sse/executors/zcode.ts cliTools-ի միջոցով գործարկվելիս zcode երկուական ֆայլին փոխանցվող լրացուցիչ արգումենտների JSON զանգված (≤16 տող)։
ZCODE_CWD process.cwd() open-sse/executors/zcode.ts ZCode հավելվածային սերվերի ենթագործընթացի աշխատանքային գրացուցակը։
ZCODE_PROVIDER_ID builtin:zai-coding-plan open-sse/executors/zcode.ts Հավելվածային սերվերին ուղարկվող մատակարարի ID-ի վերասահմանում։
ZCODE_SERVER_RUNTIME_ROOT ~/.zcode/server open-sse/executors/zcode.ts ZCode հավելվածային սերվերի կատարման միջավայրի արմատային գրացուցակը (որտեղ գտնվում են փաթեթավորված node-ը և zcode-server.cjs-ը)։
ZCODE_SERVER_NODE <runtimeRoot>/node open-sse/executors/zcode.ts ZCode հավելվածային սերվերը գործարկելու համար օգտագործվող Node գործարկվող ֆայլը։
ZCODE_SERVER_ENTRY <runtimeRoot>/zcode-server.cjs open-sse/executors/zcode.ts ZCode սերվերը գործարկելու համար օգտագործվող հավելվածային սերվերի մուտքային սկրիպտը։
ZCODE_STARTUP_TIMEOUT_MS 10000 open-sse/executors/zcode.ts Գործարկման ժամանակի սահմանափակումը (մվ), որից հետո ZCode հավելվածային սերվերի գործարկումը համարվում է ձախողված։
ZCODE_RPC_TIMEOUT_MS 30000 open-sse/executors/zcode.ts Յուրաքանչյուր հարցման RPC ժամանակի սահմանափակումը (մվ) ZCode հավելվածային սերվերի կանչի համար։
ZCODE_TURN_TIMEOUT_MS 120000 open-sse/executors/zcode.ts ZCode-ի մեկ քայլի առավելագույն տևողությունը (մվ), որից հետո վերահսկիչը դադարեցնում է այն՝ ժամանակի սահմանափակումը գերազանցելու պատճառով։
ZCODE_POLL_INTERVAL_MS 250 open-sse/executors/zcode.ts ZCode-ի քայլի ավարտի հարցման միջակայքը (մվ)։
HERMES_HOME ~/.hermes src/lib/cli-helper/config-generator/hermesHome.ts Hermes Agent-ի հիմնական գրացուցակը, որտեղ OmniRoute-ը կարդում/գրում է Hermes CLI-ի կազմաձևը։ Համապատասխանում է միջավայրի այն փոփոխականին, որը Hermes PowerShell տեղադրիչը սահմանում է Windows-ում (%LOCALAPPDATA%\hermes)։

CLI պրոֆիլների ավտոմատ համաժամացում

Այս գործառույթների դրոշները կամընտիր են և լռելյայն անջատված են։ Դրանք կարող են նաև միացվել կամ անջատվել CLI Code կառավարման վահանակից։

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES false src/shared/constants/featureFlagDefinitions.ts Մատակարարի մոդելների համաժամացումից հետո կենդանի կատալոգի հիման վրա ավտոմատ վերագրում է ~/.codex/*.config.toml պրոֆիլների ֆայլերը։ Պահանջում է CLI_ALLOW_CONFIG_WRITES; երբեք չի փոխում ակտիվ/լռելյայն Codex կազմաձևը, իսկորոշումը, Codex-lb կարգավորումները կամ մատակարարի ընտրությունը։
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES false src/shared/constants/featureFlagDefinitions.ts Մատակարարի մոդելների համաժամացումից հետո կենդանի կատալոգի հիման վրա ավտոմատ վերագրում է ~/.claude/profiles/<name>/settings.json Claude Code պրոֆիլների ֆայլերը։ Պահանջում է CLI_ALLOW_CONFIG_WRITES; երբեք չի փոխում ակտիվ/լռելյայն Claude կազմաձևը, իսկորոշումը կամ մատակարարի ընտրությունը։

Docker-ի օրինակ

# Հոսթի երկուական ֆայլերը միացրեք կոնտեյներին և OmniRoute-ին նշեք դրանց գտնվելու վայրը.
CLI_EXTRA_PATHS=/host-cli/bin
CLI_CONFIG_HOME=/host-home
CLI_ALLOW_CONFIG_WRITES=true
CLI_CLAUDE_BIN=/host-cli/bin/claude

CLI_CONFIG_HOME-ը գործում է միայն այն դեպքում, երբ ուղին իրականում bind mount-ով միացված է հոսթից․ օգտագործեք այն այնպիսի mount-երի հետ, ինչպիսին է ~/.codex:/host-home/.codex:rw-ը (տե՛ս docker-compose.ymlhost պրոֆիլը)։ Կոնտեյների օգտատիրոջ home պանակից դուրս գտնվող և bind mount չհանդիսացող ուղին անտեսվում է, քանի որ այնտեղ գրված տվյալները կկորչեն կոնտեյների վերաստեղծման ժամանակ։

Պատկերն աշխատում է որպես USER node, ուստի չմիացված /rootվավեր վերասահմանում չէ։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_CONTAINER (ավտոմատ) src/shared/utils/containerEnv.ts Հարկադրաբար միացնել (1/true) կամ անջատել (0/false) կոնտեյների հայտնաբերումը։ Անհրաժեշտ է միայն այն գործարկման միջավայրերում, որոնք ավտոմատ հայտնաբերումը չի ճանաչում։
OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE false src/shared/services/cliRuntime.ts Միևնույն է թույլատրել CLI գործիքի կազմաձևման տվյալների գրառումը կոնտեյների չմիացված ուղում։ CLI համարժեքը --allow-container-write-ն է։

CLI երկուական ֆայլի (omniroute) օժանդակ կարգավորումներ

Այս փոփոխականները կարգավորում են հենց omniroute CLI երկուական ֆայլի վարքագիծը (ոչ թե վերոնշյալ sidecar-ի հայտնաբերումը)։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_LANG (համակարգային) bin/cli/i18n.mjs Հարկադրաբար սահմանել CLI արտածման լեզուն։ BCP-47 տեղայնացուցիչ (օրինակ՝ en, pt-BR)։ Գերակայում է համակարգի տեղայնացման միջավայրային փոփոխականների (LC_ALL, LC_MESSAGES) նկատմամբ։
OMNIROUTE_SHOW_LOG (սահմանված չէ) bin/cli/runtime/processSupervisor.mjs Սահմանեք 1, որպեսզի վերահսկվող ռեժիմում սերվերի stdout/stderr-ը փոխանցվի տերմինալ։ Համարժեք է omniroute serve հրամանի --log դրոշին։
OMNIROUTE_CLI_TOKEN (սահմանված չէ) bin/cli/api.mjs Մեքենայական նույնականացման թոքեն, որը ներարկվում է որպես x-omniroute-cli-token վերնագիր։ Ավտոմատ ստեղծվում է 8.12 առաջադրանքում։
OMNIROUTE_HTTP_TIMEOUT_MS 30000 bin/cli/api.mjs CLI → սերվեր հարցումների յուրաքանչյուր փորձի HTTP ժամանակասպառման սահմանը (մվ)։
OMNIROUTE_READY_TIMEOUT_MS 60000 bin/cli/utils/pid.mjs Առավելագույն ժամանակը (մվ), որի ընթացքում CLI-ն սպասում է սերվերի առողջական վիճակի վերջնակետին՝ նախքան ժամանակասպառման նախազգուշացում ցուցադրելը։ Օգտակար է դանդաղ սառը մեկնարկների դեպքում (օրինակ՝ Windows-ում)։ Կարելի է սահմանել նաև --ready-timeout-ի միջոցով։
OMNIROUTE_VERBOSE 0 bin/cli/api.mjs Սահմանեք 1, որպեսզի CLI հրամանների կատարման ընթացքում stderr-ում տպվեն կրկնափորձերի/հետաձգումների ախտորոշիչ տվյալները։
OMNIROUTE_PLUGIN_PATH (սահմանված չէ) bin/cli/plugins.mjs CLI հավելումների հայտնաբերման հատուկ պանակ (omniroute-cmd-* փաթեթներ)։ Եթե սահմանված չէ, լռելյայն օգտագործվում է ~/.omniroute/plugins/-ը։ Միայն CLI-ի համար է․ այն երբեք չի հասնում սերվերային հավելումների սկանավորիչին, որի ուղին սահմանվում է OMNIROUTE_PLUGINS_DIR-ով (բաժին 2)։

10. Ներքին գործակալի և MCP ինտեգրումներ

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_BASE_URL ինքնահայտնաբերում open-sse/mcp-server/server.ts Հստակ URL, որով MCP/A2A գործիքները հասնում են OmniRoute-ին։ Գերակայում է localhost-ի ինքնահայտնաբերման նկատմամբ։
OMNIROUTE_API_KEY (սահմանված չէ) MCP/A2A մոդուլներ API բանալի՝ ներքին MCP գործիքի և A2A հմտության կանչերի համար։
OMNIROUTE_API_KEY_ID (սահմանված չէ) open-sse/mcp-server/audit.ts Բանալու ID՝ MCP աուդիտի մատյանի գրառումները վերագրելու համար։
ROUTER_API_KEY (սահմանված չէ) Ժառանգական OMNIROUTE_API_KEY-ի ժառանգական այլանունը։
OMNIROUTE_A2A_HISTORY_RETENTION_DAYS 30 src/lib/a2a/taskManager.ts A2A առաջադրանքների պատմությունը տեղային տվյալների բազայում պահելու օրերի քանակը՝ մինչև ամենօրյա մաքրման ժամանակ տողի ջնջումը։ Սահմանված չլինելու, ոչ թվային կամ <= 0 արժեքի դեպքում օգտագործվում է 30։
OMNIROUTE_A2A_MEMORY_HITS 1 src/lib/a2a/taskExecution.ts A2A հիշողության համընկնումների դիտարկելիության գործառույթի անջատիչ։ Սահմանեք 0, որպեսզի տվյալ առաջադրանքի համար հիշողությունից վերականգնման որոնումն ամբողջությամբ բաց թողնվի․ ցանկացած այլ արժեքի դեպքում (ներառյալ չսահմանվածը) այն մնում է միացված։
OMNIROUTE_ISSUE_AGENT_ENABLED false src/app/api/issue-agent/runs/route.ts Միացնում է անցանց/տեղային Issue Agent-ի գրանցված տրիաժի վերջնակետը։ Թողեք անջատված, եթե հստակորեն չեք գործարկում տեղային գրանցված տրիաժի աշխատանքային հոսքեր։
OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS (սահմանված չէ) src/lib/issueAgent/execution.ts Մեկ Issue Agent-ի գրանցված տրիաժի գործարկման ժամանակի սահմանաչափը (մվ)։ Սահմանափակվում է ներքին առավելագույն արժեքով․ սահմանված չլինելու կամ անվավեր լինելու դեպքում օգտագործվում է ներկառուցված լռելյայն արժեքը։
OMNIROUTE_CONTEXT (ակտիվ համատեքստ) bin/cli/program.mjs, bin/cli/api.mjs CLI-ի հեռակա ռեժիմի համատեքստը/պրոֆիլը omniroute հրամանների համար․ գերակայում է տեղային համատեքստերի պահոցում առկա ակտիվ համատեքստի նկատմամբ։ Համարժեք է --context <name>-ին։
OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED 0 bin/cli/contexts.mjs Անջատում է CLI համատեքստի հավատարմագրերի համար նախատեսված կամընտիր keytar ՕՀ բանալիների շղթայի հետնամասը։ Միացնելու դեպքում հավատարմագրերը մնում են config.json-ում՝ 0600 ռեժիմով, իսկ CLI-ն մեկ անգամ ցուցադրում է պահուստային տարբերակի մասին նախազգուշացում․ նախատեսված է միտումնավոր առանց գրաֆիկական միջավայրի/կոնտեյներային աշխատանքի համար։
OMNIROUTE_MCP_ENFORCE_SCOPES true open-sse/mcp-server/server.ts Կիրառում է տիրույթների վրա հիմնված մուտքի վերահսկում MCP գործիքների կանչերի նկատմամբ։
OMNIROUTE_MCP_SCOPES (բոլորը) open-sse/mcp-server/server.ts Ստորակետերով բաժանված տիրույթներ՝ admin, combos, health, models, routing, budget, metrics, pricing, memory, skills։
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS false open-sse/mcp-server/descriptionCompressor.ts Սեղմում է MCP գործիքների նկարագրությունները՝ նախքան մանիֆեստի սերիականացումը։ Միացնող արժեքներն են՝ 1, true, on։
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION rtk open-sse/mcp-server/descriptionCompressor.ts Սեղմման ալգորիթմը/պրոֆիլը։ Անջատող արժեքներն են՝ 0, false, off։
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 open-sse/mcp-server/fetchTimeout.ts Ընդհատման ժամանակային սահմանաչափը (մվ)՝ MCP սերվերի ներքին կառավարման ընթերցումների համար (առողջական վիճակ, դիմակայունություն, համակցություններ, քվոտա, օգտագործում)։
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 open-sse/mcp-server/fetchTimeout.ts Ընդհատման ժամանակային սահմանաչափը (մվ) այն MCP անցումների համար, որոնք սպասում են մատակարարին (route_request, web_search, web_fetch)։
OMNIROUTE_CORPUS_CACHE_SIZE 5 src/lib/localCorpus/configured.ts Հիշողությունում քեշավորվող տեղային կորպուսի ինդեքսների օրինակների առավելագույն քանակը (LRU, մեկական՝ յուրաքանչյուր ինդեքսավորված արմատային պանակի համար)։ Սահմանափակվում է նվազագույնը 1 արժեքով։
MODEL_SYNC_INTERVAL_HOURS 24 src/shared/services/modelSyncScheduler.ts Մոդելների կատալոգի համաժամացման պարբերականությունը՝ ժամերով։
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 src/lib/usage/providerLimits.ts Մատակարարի հաճախականության սահմանափակումների և քվոտաների հարցման պարբերականությունը։
PROVIDER_LIMITS_SYNC_SPACING_MS 1500 src/lib/usage/providerLimits.ts Զանգվածային համաժամացման ընթացքում OAuth քվոտաների հաջորդական ստացումների միջև ընդմիջումը (մվ) OAuth կապերը ստացվում են մեկ առ մեկ՝ վերին հոսքի հարցումների կտրուկ աճից խուսափելու համար։ 0-ն անջատում է այս վարքագիծը (զուգահեռ կատարում)։
OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS 250 open-sse/services/quotaFetchThrottle.ts Յուրաքանչյուր հարցման նախնական ստուգման/մոնիթորինգի ուղում վերին հոսքից քվոտայի հաջորդական ստացումների միջև նվազագույն ընդմիջումը (մվ) տարանջատում է զուգահեռ ցանցային կանչերը, որպեսզի մեկ IP-ի բազմաթիվ հաշիվները հարցումների կտրուկ աճ չառաջացնեն վերին հոսքում։ Ներդրված է Codex (/wham/usage), DeepSeek, Bailian (ստացման երկու տեղերում), OpenCode և Crof քվոտաների ստացման բաղադրիչներում (#6009, #6911)։ Ընդհանուր usage.ts::getUsageForProvider ուղարկման ուղին (github/glm/minimax/nanogpt/xai/և այլն) դեռ ընդգրկված չէ․ այն հետևվում է առանձին։ Քեշի համընկնումների վրա չի ազդում։ 0-ն անջատում է․ սահմանափակվում է 0..5000 միջակայքով։
PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS 5000 src/lib/usage/providerLimits.ts Իրական օգտագործման իրադարձությունից հետո մատակարարի սահմանաչափերը թարմացնելուց առաջ ուշացումը (մվ), որպեսզի վերին հոսքի քվոտայի API-ն հասցնի գրանցել սպառումը։
OMNIROUTE_LOGIN_BROWSER_PATH ավտոմատ հայտնաբերում open-sse/services/adobeFireflyBrowserLogin.ts Համակարգային Chrome կամ Edge գործարկելի ֆայլի բացարձակ ուղին, որն օգտագործվում է Adobe Firefly-ի ինտերակտիվ մուտքի և էկրանից դուրս թարմացման համար։
ADOBE_FIREFLY_BROWSER_REFRESH միացված open-sse/services/adobeFireflySession.ts IMS-ի և դիտարկչի ռիսկի վիճակը պահում է արդիական՝ հաշվի շրջանակով Chrome CDP աշխատաշրջանների միջոցով։ Սահմանեք 0՝ դիտարկչով թարմացումն անջատելու համար։
ADOBE_FIREFLY_SESSION_DISK միացված open-sse/services/adobeFireflySession.ts Վերականգնված Adobe աշխատաշրջանները պահպանում է DATA_DIR-ում՝ գործընթացի վերագործարկումների միջև։ Սահմանեք 0՝ աշխատաշրջանները միայն հիշողությունում պահելու համար։
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Adobe Firefly-ի ստեղծման ուղարկումների միջև նվազագույն ընդմիջումը՝ միլիվայրկյաններով․ 0-ն անջատում է ընդմիջումը։
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Լռության լրացուցիչ ժամանակահատվածը՝ միլիվայրկյաններով, Adobe-ի յուրաքանչյուր երրորդ հաջող ուղարկումից հետո։
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyClient.ts Հիմնական հետաձգումը՝ միլիվայրկյաններով, Adobe-ի ժամանակավոր 408 պատասխաններից հետո․ զուգակցվում է ուղարկումների միջև ընդմիջման հետ՝ առավելագույնը հինգ փորձի ընթացքում։
OMNIROUTE_DISABLE_BACKGROUND_SERVICES false src/instrumentation-node.ts Անջատում է բոլոր ֆոնային ծառայությունները (համաժամացում, գնագոյացում, մոդելների թարմացում)։ Օգտակար է CI/թեստավորման համար։
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS (սահմանված չէ) src/lib/config/runtimeSettings.ts Հարկադրաբար միացնում է ֆոնային առաջադրանքները ավտոմատացված թեստի հայտնաբերման դեպքում։ Սահմանեք 1՝ թեստային էվրիստիկան անտեսելու համար։
OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS 600000 src/lib/jobs/budgetResetJob.ts Բյուջեի վերակայման ստուգման պարբերականությունը (մվ)։ Նվազագույնը՝ 10000։
OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS 60000 src/lib/quota/connectionRecovery.ts Կապի կանխարգելիչ վերականգնման պարբերականություն (մվրկ) կրկին վավերացնում է այն կապերը, որոնց անցողիկ rate_limited_until-ը լրացել է՝ հարցումների ակտիվ ուղուց դուրս։ Նվազագույնը՝ 5000։
OMNIROUTE_DISABLE_CONNECTION_RECOVERY false src/lib/quota/connectionRecovery.ts Անջատել կապի սառեցումից կանխարգելիչ վերականգնման ժամանակացույցը (getProviderCredentials-ում ծույլ վերականգնումը շարունակում է գործել)։
OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS 1800000 src/lib/jobs/reasoningCacheCleanupJob.ts Դատողության քեշի մաքրման պարբերականություն (մվրկ)։ Նվազագույնը՝ 60000։
OMNIROUTE_REASONING_MIN_BUDGET սահմանված չէ (անջատված է) open-sse/services/reasoningTokenBuffer.ts Մտածողության մոդելների ելքային բյուջեների ընտրովի նվազագույն շեմ․ կանչողի՝ [256, floor) միջակայքում գտնվող max_tokens-ը բարձրացվում է մինչև նվազագույն շեմը (սահմանափակվելով մոդելի ելքային առավելագույնով)։ Սահմանված չէ = հաճախորդի բյուջեները երբեք չեն մեծացվում (#9507)։
OMNIROUTE_LOG_EXPORT_CRON 0 * * * * src/lib/jobs/logExportJob.ts Cron արտահայտություն (UTC)՝ կանչերի մատյանների արտահանման առաջադրանքի համար, որը մշակում է մատյանների արտահանման բոլոր միացված նպատակակետերը։
OMNIROUTE_CONFIG_HOT_RELOAD_MS 5000 src/lib/config/hotReload.ts Կազմաձևի թեժ վերաբեռնման հարցման պարբերականություն (մվրկ)։ 1000-ից փոքր արժեքը մերժվում է։
OMNIROUTE_DISABLE_REDIS_AUTH_CACHE (միացված է) src/lib/db/apiKeys.ts Սահմանեք 1՝ Redis-ի վրա հիմնված API բանալիների նույնականացման քեշը շրջանցելու համար (հարկադրաբար կատարվում են DB ընթերցումներ)։
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS 0 open-sse/services/compression/engines/rtk/filterLoader.ts Վստահել օգտատիրոջ կողմից կառավարվող RTK նախագծի զտիչի կանոններին՝ առանց ստորագրության խիստ ստուգումների։
OMNIROUTE_LITE_MAX_TOOL_LENGTH 2000 open-sse/services/compression/lite.ts Lite-ի կողմից գործիքի արդյունքի կանխարգելիչ կրճատման նիշերի սահմանաչափը, երբ lite.maxToolLength-ը սահմանված չէ։ Միջակայքը՝ 2561000000։ Կառավարման վահանակի կարգավորումը գերակայում է այս միջավայրի փոփոխականի նկատմամբ։
OMNI_COMPRESSION_WORKERS 2 open-sse/services/compression/compressionWorkerPool.ts Միաժամանակյա համաժամանակյա RTK/Caveman աշխատիչների առավելագույն քանակը․ ավելցուկային առաջադրանքները սպասում են FIFO կարգով։
OMNI_COMPRESSION_WORKER_TIMEOUT_MS 120000 open-sse/services/compression/compressionWorkerPool.ts Յուրաքանչյուր առաջադրանքի ժամանակի սահմանաչափը՝ միլիվայրկյաններով։ Ժամանակը սպառած աշխատիչները դադարեցվում են, իսկ հարցումը ձախողման դեպքում շարունակվում է անփոփոխ։
OMNI_COMPRESSION_WORKER_IDLE_MS 60000 open-sse/services/compression/compressionWorkerPool.ts Պարապ մնալու տևողությունը՝ միլիվայրկյաններով, որից հետո չօգտագործվող սեղմման աշխատիչը դադարեցվում է։
COMPRESSION_PIPELINE_BREAKER_ENABLED false open-sse/services/compression/pipelineEngineBreaker.ts T02 շերտավորված խողովակաշարի՝ յուրաքանչյուր շարժիչի շղթայի անջատիչի գլխավոր փոխարկիչ։ Ընտրովի (լռելյայն անջատված է) — միացված լինելու դեպքում հարցումների ընթացքում բազմիցս բացառություն նետող շարժիչը սառեցման ժամանակահատվածում բաց է թողնվում (խափանման դեպքում աշխատանքը շարունակվում է), իսկ անջատված լինելու դեպքում պահպանվում է բայթ առ բայթ նույնական նախկին վարքագիծը։
COMPRESSION_PIPELINE_BREAKER_THRESHOLD 3 open-sse/services/compression/pipelineEngineBreaker.ts Հարցումների միջև հաջորդական ձախողումների քանակը, որից հետո շարժիչի անջատիչը բացվում է։
COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS 30000 open-sse/services/compression/pipelineEngineBreaker.ts Միլիվայրկյանների քանակը, որի ընթացքում բացված շարժիչը բաց է թողնվում՝ մինչև կիսաբաց փորձարկումը։
COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR 2 open-sse/services/compression/engines/ccr/index.ts T08/H8 CCR առբերման հետադարձ կապի աճ․ պահված բլոկի յուրաքանչյուր նախորդ առբերում գծային կերպով բարձրացնում է դրա արդյունավետ minChars-ը (հաճախ առբերվող բովանդակությունն ավելի քիչ է սեղմվում, իսկ >=3 առբերման դեպքում՝ երբեք չի սեղմվում)։ 1-ն անջատում է աճը (միայն շեմին հասնելիս երկուական բացթողում)։
COMPRESSION_CCR_DURABLE_STORE true open-sse/services/compression/engines/ccr/index.ts CCR-ի դիմացկուն բլոկային պահոց (#9061)։ Հիշողության մեջ գտնվող պահոցը ապահովում է SQLite-ով, որպեսզի բլոկը պահպանվի LRU-ից հեռացումից, TTL-ի ժամկետի ավարտից, վերագործարկումից կամ մեկ այլ օրինակի վրա հայտնված առբերումից հետո։ Սահմանեք false, որպեսզի բլոկները պահվեն միայն հիշողության մեջ։ 512KB-ից մեծ բլոկները և ամպային կատարման միջավայրերը բոլոր դեպքերում մնում են միայն հիշողության մեջ։
COMPRESSION_PREFIX_FREEZE_ENABLED false open-sse/services/compression/prefixFreeze.ts Օգտագործման դիտարկման վրա հիմնված T08/H5 նախածանցի սառեցման գլխավոր անջատիչ։ Ըստ ցանկության միացվող (լռելյայն անջատված) — միացված լինելու դեպքում համակարգային հուշումը, որը դիտարկվել է շեմին >= անգամ, համարվում է կայուն, քեշավորվող նախածանց և պաշտպանվում է սեղմումից նույնիսկ այն մատակարարների համար, որոնց ստատիկ քեշի էվրիստիկան բաց է թողնում (սառեցումը միայն պահպանում է և երբեք չի փոփոխում)։
COMPRESSION_PREFIX_FREEZE_THRESHOLD 3 open-sse/services/compression/prefixFreeze.ts Համակարգային հուշման դիտարկումների քանակը՝ նախքան այն սառեցված կայուն նախածանց համարելը։
OMNIROUTE_BOOTSTRAPPED false src/app/(dashboard)/dashboard/page.tsx Սկզբնական կարգավորումից հետո bootstrap սկրիպտը սահմանում է true։ Վերահսկում է կարգավորման օգնականի տեսանելիությունը։
OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE 0 open-sse/executors/antigravity.ts Արտակարգ շրջանցման միջոց․ թույլ է տալիս հարցման մարմնին վերասահմանել Antigravity-ի նախագծի դաշտը։
ANTIGRAVITY_CREDITS off open-sse/services/antigravityCredits.ts Google One AI կրեդիտների քաղաքականություն․ off-ը երբեք չի ներարկում կրեդիտներ, retry-ն ներարկում է մեկ անգամ՝ համապատասխան քվոտայի 429 սխալից հետո, իսկ always-ը ներարկում է առաջին հարցման ժամանակ։
ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS 0 open-sse/translator/request/openai-to-gemini.ts Թույլ է տալիս Antigravity-ի հարցումների թարգմանիչին բաց թողնել CLI հարցման ստորագրության խիստ վավերացումը, երբ վերին հոսքի ծառայությունը մերժում է իրական ստորագրությունները (վրիպազերծման/հնացած CLI-ի ռեժիմ)։ Զրոյից տարբեր արժեքը միացնում է շրջանցումը։
AGY_TOKEN_FILE ~/.gemini/antigravity-cli/antigravity-oauth-token src/app/api/providers/agy-auth/apply-local/route.ts Վերասահմանում է Antigravity CLI-ի (agy) թոքենի ֆայլի ուղին՝ ավտոմատ հայտնաբերվող տեղային մուտքի ներմուծման համար։

OAuth CLI կամուրջ (ներքին)

Փոփոխական Լռելյայն Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_SERVER ավտոմատ հայտնաբերում src/lib/oauth/config/index.ts Սերվերի URL-ը CLI↔OmniRoute իսկորոշման կամրջի համար։
OMNIROUTE_TOKEN (սահմանված չէ) src/lib/oauth/config/index.ts Իսկորոշման թոքեն CLI կամրջի համար։
OMNIROUTE_USER_ID cli src/lib/oauth/config/index.ts Օգտատիրոջ ID-ն CLI կամրջի աշխատաշրջանների համար։
SERVER_URL (սահմանված չէ) src/lib/oauth/config/index.ts OMNIROUTE_SERVER-ի հին կեղծանունը։
CLI_TOKEN (սահմանված չէ) src/lib/oauth/config/index.ts OMNIROUTE_TOKEN-ի հին կեղծանունը։
CLI_USER_ID (սահմանված չէ) src/lib/oauth/config/index.ts OMNIROUTE_USER_ID-ի հին կեղծանունը։

11. OAuth մատակարարների հավատարմագրեր

Ներկառուցված հավատարմագրեր՝ localhost-ում մշակման համար։ Հեռակա տեղակայումների դեպքում գրանցեք ձեր սեփական հավատարմագրերը յուրաքանչյուր մատակարարի մշակողների վահանակում։

Փոփոխական Մատակարար Նշումներ
CLAUDE_OAUTH_CLIENT_ID Claude Code (Anthropic) Հանրային հաճախորդ․ գաղտնիք անհրաժեշտ չէ։
CLAUDE_CODE_REDIRECT_URI Claude Code Վերասահմանում է վերահղման URI-ն։ Լռելյայն՝ https://platform.claude.com/oauth/code/callback
CODEX_OAUTH_CLIENT_ID Codex / OpenAI Հանրային հաճախորդ։
GEMINI_OAUTH_CLIENT_ID Gemini (Google) Պահանջում է համապատասխան _SECRET։
GEMINI_OAUTH_CLIENT_SECRET Gemini (Google)
KIMI_CODING_OAUTH_CLIENT_ID Kimi Coding (Moonshot) Հանրային հաճախորդ։
ANTIGRAVITY_OAUTH_CLIENT_ID Antigravity (Google) Պահանջում է համապատասխան _SECRET։
ANTIGRAVITY_OAUTH_CLIENT_SECRET Antigravity (Google)
GITHUB_OAUTH_CLIENT_ID GitHub Copilot Հանրային հաճախորդ։
GHE_COPILOT_OAUTH_CLIENT_ID GHE Copilot GitHub Enterprise Copilot-ի OAuth հաճախորդի ID-ի կամընտիր վերասահմանում։ Եթե սահմանված չէ, օգտագործվում է GITHUB_OAUTH_CLIENT_ID-ի հանրային լռելյայն արժեքը։
WINDSURF_API_KEY Windsurf / Devin (v3.8) API բանալու պահուստային տարբերակ, որն օգտագործվում է open-sse/executors/devin-cli.ts-ի կողմից, երբ առանձին կապի հավատարմագիր հասանելի չէ։ Կամընտիր է։
CLI_DEVIN_BIN Devin CLI (v3.8) Devin CLI-ի երկուական ֆայլի (devin) հատուկ ուղի։ Մշակվում է open-sse/executors/devin-cli.ts-ի կողմից։
GITLAB_DUO_OAUTH_CLIENT_ID GitLab Duo (v3.8) OAuth հաճախորդի ID՝ GitLab Duo-ի համար։ Գրանցեք հավելված https://gitlab.com/-/profile/applications հասցեում՝ վերահղման URI-ն սահմանելով որպես <NEXT_PUBLIC_BASE_URL>/callback, իսկ հասանելիության շրջանակները՝ api, read_user, openid, profile, email։ Պահուստային տարբերակն է GITLAB_OAUTH_CLIENT_ID։
GITLAB_DUO_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) OAuth հաճախորդի գաղտնիք՝ GitLab Duo-ի համար։ Կամընտիր է․ PKCE հոսքը գաղտնիք չի պահանջում։ Պահուստային տարբերակն է GITLAB_OAUTH_CLIENT_SECRET։
GITLAB_DUO_BASE_URL GitLab Duo (v3.8) Վերասահմանում է GitLab-ի հիմնական URL-ը (ինքնուրույն հոսթինգով GitLab)։ Լռելյայն՝ https://gitlab.com։ Պահուստային տարբերակն է GITLAB_BASE_URL։
GITLAB_BASE_URL GitLab Duo (v3.8) Հին պահուստային տարբերակ՝ GITLAB_DUO_BASE_URL-ի համար։ Օգտագործվում է, երբ _DUO_ տարբերակը սահմանված չէ։
GITLAB_OAUTH_CLIENT_ID GitLab Duo (v3.8) Հին պահուստային տարբերակ՝ GITLAB_DUO_OAUTH_CLIENT_ID-ի համար, որն օգտագործվում է src/lib/oauth/constants/oauth.ts-ի կողմից։
GITLAB_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) Հետադարձ համատեղելիության տարբերակ GITLAB_DUO_OAUTH_CLIENT_SECRET-ի համար, որն օգտագործվում է src/lib/oauth/constants/oauth.ts-ի կողմից։
QODER_OAUTH_CLIENT_SECRET Qoder
QODER_OAUTH_AUTHORIZE_URL Qoder Սահմանեք՝ Qoder OAuth-ը միացնելու համար։
QODER_OAUTH_TOKEN_URL Qoder
QODER_OAUTH_USERINFO_URL Qoder
QODER_OAUTH_CLIENT_ID Qoder
QODER_PERSONAL_ACCESS_TOKEN Qoder API բանալու անմիջական հետադարձ տարբերակ (շրջանցում է OAuth-ը)։
QODER_CLI_WORKSPACE Qoder Աշխատանքային տարածքի ID-ն՝ Qoder CLI-ի համար։
OMNIROUTE_QODER_WORKSPACE Qoder QODER_CLI_WORKSPACE-ի այլանունը։
QODER_CLI_CONFIG_DIR Qoder Վերասահմանում է Qoder CLI-ի կազմաձևման պանակը (մեկուսացված PAT աշխատաշրջան՝ զննարկչի մուտքի տվյալները վերագրելուց խուսափելու համար)։
BLACKBOX_WEB_VALIDATED_TOKEN Blackbox Web Frontend-ի tk թոքենը, որը պետք է ուղարկվի որպես validated՝ /api/chat-ում։ Պահանջվում է, երբ Blackbox-ը պարտադրում է թոքենների համապատասխանությունը, հակառակ դեպքում OmniRoute-ն օգտագործում է պատահական UUID։ Տե՛ս խնդիր #2252։
VISION_BRIDGE_BASE_URL Vision Bridge պաշտպանիչ սահմանափակում OpenAI-ի հետ համատեղելի բազային URL՝ ոչ Anthropic vision-bridge կանչերի համար։ Լռելյայն օգտագործվում է հին OpenAI URL միջավայրի փոփոխականը կամ api.openai.com-ը։ Ուղղորդեք դեպի OmniRoute-ի /v1 ինքնաշրջապտույտը կամ OpenAI-ի հետ համատեղելի ցանկացած վերջնակետ (Gemini OpenAI-compat, OpenRouter)։ Խնդիր #2232։ Երբ URL-ը OmniRoute-ի սեփական /v1-ն է, նկարագրության ենթահարցումն ուղարկում է x-omniroute-admission-bypass: internal և նույնականացվում է լուծված ինքնաշրջապտույտի հավատարմագրով (sk_omniroute սենթինել՝ տեղային ռեժիմում, կամ OMNIROUTE_API_KEY / ROUTER_API_KEY — #1350), որպեսզի REQUIRE_API_KEY=true տեղակայումները գործեն։
VISION_BRIDGE_API_KEY Vision Bridge պաշտպանիչ սահմանափակում Վերոնշյալ URL-ի API բանալին։ Ոչ Anthropic vision-bridge կանչերի համար վերասահմանում է ըստ մատակարարի OpenAI / Google միջավայրի փոփոխականները։ Anthropic մոդելները շարունակում են օգտագործել Anthropic-ի իրենց հատուկ բանալու ուղին։ Խնդիր #2232։

Warning

  1. Անցեք Google Cloud Console → Credentials
  2. Ստեղծեք OAuth 2.0 Client ID (տեսակը՝ "Web application")
  3. Ավելացրեք ձեր սերվերի URL-ը որպես լիազորված վերահղման URI
  4. Փոխարինեք հավատարմագրերի արժեքները .env-ում։

12. Պրովայդերի User-Agent-ի վերասահմանումներ

Վերասահմանեք յուրաքանչյուր վերին մակարդակի պրովայդերին ուղարկվող User-Agent վերնագիրը։ Այն կատարման ժամանակ դինամիկորեն որոշվում է կատարիչի բազային դասի կողմից՝

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

Աղբյուր՝ open-sse/executors/base.tsbuildHeaders()

Փոփոխական Լռելյայն արժեք Երբ թարմացնել
CLAUDE_USER_AGENT claude-cli/2.1.258 (external, cli) Երբ Anthropic-ը թողարկում է CLI-ի նոր տարբերակ
CLAUDE_DISABLE_TOOL_NAME_CLOAK false executors/base.ts + executors/cliproxyapi.ts Սահմանեք 1/true, որպեսզի երրորդ կողմի harness-ի գործիքների անուններն անփոփոխ փոխանցվեն Anthropic-ին՝ դեպի Anthropic ուղղված երկու ուղիներով էլ (բնիկ OAuth և CLIProxyAPI)։ Լռելյայնորեն կատարիչը որոշակի կանոններով այլանուններ է տալիս ոչ Claude Code գործիքների անուններին (օգտագործելով Claude Code-ի կանոնական համապատասխանեցումը, երբ այն գոյություն ունի, իսկ հակառակ դեպքում՝ PascalCase) և պատասխանում վերականգնում է դրանք _toolNameMap-ի միջոցով, որպեսզի snake_case գործիքներով harness-ները չմերժվեն որպես մատնահետքով ճանաչված երրորդ կողմի հաճախորդներ։ Միայն վրիպազերծման համար։
CODEX_USER_AGENT codex-cli/0.142.0 (Windows 10.0.26200; x64) Երբ OpenAI-ը թարմացնում է Codex CLI-ը
CODEX_CLIENT_VERSION 0.131.0 Վերասահմանել Codex հաճախորդի տարբերակը՝ ամբողջական UA տողից անկախ
CLAUDE_CODE_CLIENT_VERSION 2.1.258 Վերասահմանել ներկայացվող Claude Code տարբերակը՝ CLAUDE_USER_AGENT-ից անկախ։ Anthropic-ը որոշ մոդելների հասանելիությունը սահմանափակում է այս արժեքի հիման վրա (#12417)։
GITHUB_COPILOT_CLI_VERSION 1.0.81-6 Վերասահմանել ներկայացվող Copilot CLI տարբերակը՝ GITHUB_USER_AGENT-ից անկախ
GITHUB_USER_AGENT GitHubCopilotChat/0.54.0 Երբ GitHub Copilot Chat-ը թարմացվում է
ANTIGRAVITY_USER_AGENT antigravity/2.0.1 darwin/arm64 Երբ Antigravity IDE-ն թարմացվում է
KIRO_USER_AGENT AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 Երբ Kiro IDE-ն թարմացվում է
KIRO_OAUTH_CLIENT_ID kiro-cli Վերասահմանել Kiro-ի սոցիալական սարքի կոդի clientId-ը (հանրային նույնացուցիչ)
KIRO_VERIFY_FULL_CRC false Ըստ ցանկության՝ միացնել Kiro իրադարձությունների հոսքի յուրաքանչյուր կադրի հաղորդագրության ամբողջական CRC ստուգումը (վրիպազերծել վնասված հոսքերը)
QODER_USER_AGENT Qoder-Cli Երբ Qoder CLI-ը թարմացվում է
CURSOR_USER_AGENT Cursor/3.3 Երբ Cursor-ը թարմացվում է

Tip

Դուք կարող եք User-Agent-ի վերասահմանումներ ավելացնել ցանկացած պրովայդերի համար՝ օգտագործելով {PROVIDER_ID}_USER_AGENT ձևանմուշը։ Կատարիչը դինամիկորեն կառուցում է միջավայրի փոփոխականի անունը։


13. CLI մատնահետքի համատեղելիություն

Միացված լինելու դեպքում OmniRoute-ը վերադասավորում է HTTP վերնագրերը և JSON մարմնի դաշտերը՝ պաշտոնական CLI գործիքների ճշգրիտ ստորագրությանը համապատասխանելու համար։ Սա նվազեցնում է հաշվի նշագրման վտանգը՝ միաժամանակ պահպանելով ձեր պրոքսի IP-ն։

Աղբյուր՝ open-sse/config/cliFingerprints.ts, open-sse/executors/base.ts

Ըստ մատակարարի

Փոփոխական Ակտիվացում Ազդեցություն
CLI_COMPAT_CODEX =1 Ընդօրինակում է Codex CLI հարցման ստորագրությունը
CLI_COMPAT_CLAUDE =1 Ընդօրինակում է Claude Code հարցման ստորագրությունը
CLI_COMPAT_GITHUB =1 Ընդօրինակում է GitHub Copilot հարցման ստորագրությունը
CLI_COMPAT_ANTIGRAVITY =1 Ընդօրինակում է Antigravity հարցման ստորագրությունը
CLI_COMPAT_CURSOR =1 Ընդօրինակում է Cursor հարցման ստորագրությունը
CLI_COMPAT_KIMI_CODING =1 Ընդօրինակում է Kimi Coding հարցման ստորագրությունը
CLI_COMPAT_KILOCODE =1 Ընդօրինակում է Kilo Code հարցման ստորագրությունը
CLI_COMPAT_CLINE =1 Ընդօրինակում է Cline հարցման ստորագրությունը

Համընդհանուր

Փոփոխական Ակտիվացում Ազդեցություն
CLI_COMPAT_ALL =1 Միանգամից միացնում է մատնահետքի համատեղելիությունը բոլոր մատակարարների համար։

Kimi Coding CLI ինքնության վերասահմանումներ

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
KIMI_CLI_VERSION 1.36.0 src/lib/oauth/providers/kimi-coding.ts Վերասահմանում է OAuth/API կանչերի ընթացքում ուղարկվող Kimi CLI տարբերակը։
KIMI_CODING_DEVICE_ID (գրանցված լռելյայն արժեք) src/lib/oauth/providers/kimi-coding.ts Վերասահմանում է հաճախորդի վերնագրերում օգտագործվող՝ գրանցված Kimi սարքի ID-ն։

Note

Այս գործառույթն աշխատում է User-Agent-ի վերասահմանումների հետ համատեղ (§12)։ Մատնահետքի համակարգը կարգավորում է վերնագրերի և մարմնի դաշտերի հերթականությունը, իսկ User-Agent-ի վերասահմանումները՝ կոնկրետ UA տողը։ Երկուսն էլ կարող են միացվել անկախ միմյանցից։


14. API բանալի օգտագործող մատակարարներ

Ուղղակի նույնականացում օգտագործող մատակարարների API բանալիները։ Նախընտրելի կարգավորում՝ Dashboard → Providers → Add API Key։

Միջավայրի փոփոխականների միջոցով սահմանումը Docker կամ առանց գրաֆիկական միջերեսի տեղակայումների այլընտրանքային տարբերակ է։

Ճանաչվող ձևանմուշ՝ {PROVIDER_ID}_API_KEY

Փոփոխական Մատակարար
DEEPSEEK_API_KEY DeepSeek
NVIDIA_API_KEY NVIDIA NIM
JINA_AI_API_KEY Jina AI (Foundation API + Reader պահուստային տարբերակ)
JINA_API_KEY Jina AI (JINA_AI_API_KEY-ի այլանուն)
GEMINI_API_KEY Gemini (Google AI Studio) ներդրումներ + զրույցի պահուստային տարբերակ
GOOGLE_API_KEY Gemini (GEMINI_API_KEY-ի այլանուն)

Note

Groq-ի, xAI-ի, Mistral-ի, Perplexity-ի, Together AI-ի, Fireworks-ի, Cerebras-ի, Cohere-ի, Nebius-ի և Qianfan-ի ստատիկ ${PROVIDER}_API_KEY գրառումները հեռացվել են v3.8.0-ում, քանի որ կատարման միջավայրն այլևս չի կարդում դրանք․ այդ մատակարարները հիմնվում են բացառապես Dashboard-ի / data/provider-credentials.json-ի / գաղտնագրված տվյալների բազայի վրա։ Տեղափոխման ուղու համար տե՛ս այս փաստաթղթի վերջում գտնվող Աուդիտ․ հեռացված / չօգտագործվող փոփոխականներ բաժինը։

Tip

Dashboard-ի միջոցով սահմանված բանալիները գաղտնագրված կերպով պահվում են SQLite-ում և գերակայում են միջավայրի փոփոխականների նկատմամբ։

Jina՝ jina-ai/… ներդրումները, վերադասավորումը, դասակարգումը, հատվածավորումը և jina-searchչեն գանձում կլաստերի միջավայրի բանալուց, երբ առկա է Dashboard-ի jina-ai (կամ համօգտագործվող jina-reader) միացում․ getProviderCredentials-ը նախ լրացման սկզբունքով է աշխատում։ JINA_AI_API_KEY / JINA_API_KEY-ն օգտագործվում են միայն այն դեպքում, երբ Dashboard-ում օգտագործելի բանալի չկա։ Կանչերի մատյանները միջավայրից պահուստային օգտագործումը վերագրում են որպես connection_id=env:JINA_AI_API_KEY։ Reader քարտը (jina-reader, r.jina.ai) երբեք չի սպասարկում /v1/embeddings կամ /v1/rerank։

Gemini՝ gemini/gemini-embedding-2-ը (այլանունը՝ google/gemini-embedding-2) նախ օգտագործում է Dashboard-ի gemini միացումը։ GEMINI_API_KEY / GOOGLE_API_KEY-ն օգտագործվում են միայն այն դեպքում, երբ Dashboard-ում օգտագործելի բանալի չկա։ Կանչերի մատյանները միջավայրից պահուստային օգտագործումը վերագրում են որպես connection_id=env:GEMINI_API_KEY։ Բնիկ բազմամոդալ երթևեկությունն օգտագործում է x-goog-api-key-ը՝ :embedContent / :batchEmbedContents վերջնակետերի համար․ OpenAI-ի N input տարրերը դառնում են N վեկտորներ։


15. Թայմաութի կարգավորումներ

Բոլոր արժեքները տրված են միլիվայրկյաններով։ Կենտրոնացված որոշումը կատարվում է src/shared/utils/runtimeTimeouts.ts-ում։

Թայմաութների հիերարխիա

REQUEST_TIMEOUT_MS (ընդհանուր վերագրում)
├─→ FETCH_TIMEOUT_MS (վերին մակարդակի մատակարարներին ուղղված կանչեր, լռելյայն՝ 600000)
│   ├─→ FETCH_HEADERS_TIMEOUT_MS (ժառանգում է FETCH_TIMEOUT_MS-ից)
│   ├─→ FETCH_BODY_TIMEOUT_MS (ժառանգում է FETCH_TIMEOUT_MS-ից)
│   ├─→ TLS_CLIENT_TIMEOUT_MS (ժառանգում է FETCH_TIMEOUT_MS-ից)
│   │   └── TLS_FIRST_BYTE_WATCHDOG_MS (անկախ, լռելյայն՝ 10000)
│   ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (անկախ, լռելյայն՝ 15000)
│   ├── FETCH_CONNECT_TIMEOUT_MS (անկախ, լռելյայն՝ 30000)
│   └── FETCH_KEEPALIVE_TIMEOUT_MS (անկախ, լռելյայն՝ 4000)
├─→ STREAM_IDLE_TIMEOUT_MS (ժառանգում է REQUEST_TIMEOUT_MS-ից, լռելյայն՝ 600000)
├─→ STREAM_ACTIVE_TIMEOUT_MS (անկախ, լռելյայն՝ 1260000; 0-ն անջատում է)
├─→ STREAM_READINESS_TIMEOUT_MS (ժառանգում է REQUEST_TIMEOUT_MS-ից, լռելյայն՝ 80000)
├─→ STREAM_READINESS_MAX_TIMEOUT_MS (սահմանափակում է պատրաստության հարմարվողական երկարաձգումները, լռելյայն՝ 180000)
└─→ API_BRIDGE_PROXY_TIMEOUT_MS (ժառանգում է REQUEST_TIMEOUT_MS-ից, լռելյայն՝ 30000)
    ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (ածանցյալ, լռելյայն՝ 300000)
    ├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS (լռելյայն՝ 60000)
    ├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS (լռելյայն՝ 5000)
    └── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS (լռելյայն՝ 0 = անջատված)
Փոփոխական Լռելյայն արժեք Նկարագրություն
REQUEST_TIMEOUT_MS (սահմանված չէ) Ընդհանուր կրճատ տարբերակ․ վերասահմանում է ինչպես FETCH_TIMEOUT_MS-ի, այնպես էլ STREAM_IDLE_TIMEOUT_MS-ի լռելյայն արժեքները։
FETCH_TIMEOUT_MS 600000 Վերին մակարդակի մատակարարներին ուղղված կանչերի HTTP հարցման ընդհանուր ժամանակի սահմանափակումը։
STREAM_IDLE_TIMEOUT_MS 600000 Վերին մակարդակից ստացվող չմշակված բայթերի միջև լռության առավելագույն տևողությունը՝ նախքան ընդհատումը։ Ընդլայնված մտածողությամբ մոդելները հազվադեպ են դադար տալիս >90վ։
STREAM_ACTIVE_TIMEOUT_MS 1260000 Ակտիվ SSE հոսքի ընդհանուր կյանքի առավելագույն տևողությունը․ այն երբեք չի զրոյացվում վերին մակարդակից ստացվող բայթերի պատճառով և կախված չէ REQUEST_TIMEOUT_MS-ից։ Ստացվում է ռեեստրում առկա մեկ մոդելի համար նախատեսված ամենամեծ timeoutMs-ից (1200000, Codex)՝ գումարած 60000 պահուստ, որպեսզի իր ամբողջ բյուջեն օգտագործելու թույլտվություն ստացած մոդելը երբեք չընդհատվի պատասխանի կեսում։ Անջատելու համար սահմանեք 0։
OMNIROUTE_SSE_COMMENTS (անջատված) Արդյոք OmniRoute-ը կարող է արտածել SSE : մեկնաբանության տողեր (օրինակ՝ : keepalive սրտազարկը և x-omniroute-* մետատվյալների վերջնամասերը)։ Լռելյայն անջատված է (#10524), քանի որ OpenAI-ի հետ խիստ համատեղելի հաճախորդները յուրաքանչյուր SSE տող վերլուծում են JSON.parse-ով և խափանվում : մեկնաբանությունների դեպքում․ data: սրտազարկերի վրա դա չի ազդում։ Կրկին միացնելու համար սահմանեք on/true/1/yes։ Օգտագործվում է open-sse/utils/sseHeartbeat.ts-ի կողմից։
STREAM_READINESS_TIMEOUT_MS 80000 Առաջին ոչ ping SSE իրադարձությունը ստանալու ժամանակը։ Սահմանված լինելու դեպքում ժառանգում է REQUEST_TIMEOUT_MS-ը։
STREAM_READINESS_MAX_TIMEOUT_MS 180000 Առաջին իրադարձությանը պատրաստ լինելու հարմարվողական պատուհանի առավելագույն տևողությունը՝ մեծ, գործիքներով հագեցած կամ խոր դատողություն պահանջող հոսքային հարցումների համար։
OMNIROUTE_AGENT_GOAL_POLICY_ENABLED true /goal էվրիստիկայի արտակարգ անջատիչը։ Հայտնաբերումն ամբողջությամբ անջատելու համար սահմանեք false/0/off պատրաստության ժամանակի սահմանափակումներն ու հոսքի վերականգնումը երբեք չեն ավելացվի հարցման մարմնի/վերնագրերի հիման վրա՝ մեղմելով հաճախորդի կողմից կառավարվող ժամանակի սահմանափակման մեծացումը։
OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS 600000 Հայտնաբերված /goal գործակալի գործարկումների կամ x-omniroute-agent-goal-ով պարտադրված հարցումների համար առաջին իրադարձությանը պատրաստ լինելու պատուհանի առավելագույն տևողությունը։
OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY true Հայտնաբերված /goal գործակալի գործարկումների համար ինքնաբերաբար միացնել հոսքի վաղ վերականգնումը։ Նպատակին հատուկ համաձայնությունը անջատելու համար սահմանեք false/0/off։ Սա կարող է միայն ԱՎԵԼԱՑՆԵԼ վերականգնումը՝ ի լրումն օպերատորի լռելյայն կարգավորման․ այն երբեք չի վերասահմանում STREAM_RECOVERY_ENABLED-ի/ՏԲ-ի կարգավորումներով հստակ հրաժարումը։
OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS true Հեռացնել ոչ ստանդարտ codex.* SSE իրադարձությունները (օրինակ՝ codex.rate_limits), որոնք 502 սխալով խափանում են OpenAI SDK-ի responses.stream()-ը։ Լռելյայն ՄԻԱՑՎԱԾ Է (#11014)։ Դրանք փոխանցելու համար սահմանեք 0/false/no/off։
OMNIROUTE_CODEX_APPSERVER_WS (սահմանված չէ) Codex app-server փոխադրամիջոցի կամավոր միացում։ Տեղային codex app-server կողմնակի ծառայության WebSocket վերջնակետը (ws:///wss://)։ Երբ սա սահմանված է թոքենի հետ միասին, Codex հարցումները HTTP Responses API-ի փոխարեն JSON-RPC-ով ուղղորդվում են դեպի կողմնակի ծառայություն։ Կարելի է նաև սահմանել յուրաքանչյուր կապի համար՝ providerSpecificData.codexAppServerUrl-ի միջոցով։ Օգտագործվում է open-sse/executors/codex/appServerConfig.ts-ի կողմից։
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN (սահմանված չէ) app-server-ին ներկայացվող ներկառուցված հնարավորության/bearer թոքենը։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerToken։
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE (սահմանված չէ) app-server-ի հնարավորության թոքենը պարունակող ֆայլի ուղին (codex app-server --ws-token-file-ից)։ Օգտագործվում է, երբ OMNIROUTE_CODEX_APPSERVER_WS_TOKEN-ը սահմանված չէ։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerTokenFile։
OMNIROUTE_CODEX_APPSERVER_CWD /tmp Աշխատանքային գրացուցակը, որտեղ կատարվում է app-server-ի ընթացիկ քայլը։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerCwd։
OMNIROUTE_CODEX_APPSERVER_APPROVAL (սահմանված չէ) app-server-ի ընթացիկ քայլին փոխանցվող հաստատման քաղաքականությունը (օրինակ՝ never, on-request)։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerApprovalPolicy։
OMNIROUTE_CODEX_APPSERVER_SANDBOX (սահմանված չէ) app-server-ի ընթացիկ քայլին փոխանցվող մեկուսացված միջավայրի քաղաքականությունը (օրինակ՝ read-only, workspace-write, danger-full-access)։ Երբ սահմանված չէ, կատարիչը լռելյայն օգտագործում է workspace-write (ուժեղացված անվտանգությամբ․ նախկինում՝ danger-full-access)։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerSandbox։
OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE false Ինքնաբերաբար հաստատել app-server-ի սեփական հաստատման հարցումները (հրամանի/ֆայլի/թույլտվության կատարում հոսթում)։ Լռելյայն անջատված է․ հարցումներն ինքնաբերաբար մերժվում են, իսկ գործիքակազմի գործիքների կանչերի վրա դա չի ազդում (դրանք անցնում են առանձին item/tool/call միջանցքով)։ Ընդունում է true/1/yes։ Յուրաքանչյուր կապի համար վերասահմանում՝ providerSpecificData.codexAppServerAutoApprove։
FETCH_HEADERS_TIMEOUT_MS = FETCH_TIMEOUT_MS Պատասխանի վերնագրերը ստանալու ժամանակը։
OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS 30000 (30վ) Պատասխանի մեկնարկին սպասելու առավելագույն ժամանակը (մվ)՝ առանց պրոքսիի յուրաքանչյուր ուղիղ փորձի համար։ Սպասման ժամանակի սպառման դեպքում փորձը մեկ անգամ կրկնվում է նոր սոկետով․ սահմանափակումն անջատելու և նախորդ վարքագիծը պահպանելու համար սահմանեք 0։
FETCH_BODY_TIMEOUT_MS = FETCH_TIMEOUT_MS Պատասխանի ամբողջական մարմինը ստանալու ժամանակը։
FETCH_CONNECT_TIMEOUT_MS 30000 TCP կապի հաստատման սպասման առավելագույն ժամանակը։
FETCH_KEEPALIVE_TIMEOUT_MS 4000 Keep-alive սոկետի պարապ մնալու առավելագույն ժամանակը։
TLS_CLIENT_TIMEOUT_MS = FETCH_TIMEOUT_MS TLS մատնահետքի պրոքսիի (wreq-js) սպասման առավելագույն ժամանակը։
TLS_FIRST_BYTE_WATCHDOG_MS 10000 Սահմանափակում է հատկապես wreq-js TLS մատնահետքային փոխադրիչի մարմնի առաջին բայթը ստանալու ժամանակը․ միայն TLS_CLIENT_TIMEOUT_MS-ը չի կարող հայտնաբերել կանգ առած մարմինը, քանի որ այն ավարտվում է վերնագրերը ստանալուն պես (#12656)։ Սպասման ժամանակի սպառումը չեղարկում է wreq ընթերցիչը և անցում կատարում ուղիղ/պրոքսի դիսպետչերին․ 0-ն անջատում է հսկիչը։
RESPONSES_FIRST_BYTE_TIMEOUT_MS 15000 Միայն OpenCode կատարիչի համար և միայն այն ժամանակ, երբ OPENCODE_RESPONSES_STALL_ROTATION հնարավորության դրոշը միացված է (լռելյայն՝ անջատված) սահմանափակում է հոսքային Responses պատասխանի վերնագրերից հետո մարմնի առաջին բայթին սպասելու ժամանակը (#13484)։ Responses հոսքը բացվում է response.created-ով, ուստի այս ժամանակահատվածից ավելի երկար լռությունը համարվում է կանգ․ հաշիվը ժամանակավորապես սառեցվում է, իսկ հարցումը մեկ անգամ փոխանցվում է հաջորդ հաշվին։ Երկրորդ կանգի դեպքում այն անմիջապես ձախողվում է։ 0-ն անջատում է պաշտպանիչը նույնիսկ միացված դրոշի դեպքում։
API_BRIDGE_PROXY_TIMEOUT_MS 30000 Պրոքսիի անցման սպասման առավելագույն ժամանակը /v1 կամրջային հարցումների համար։
FIRECRAWL_BASE_URL https://api.firecrawl.dev Firecrawl վեբ-ներբեռնման կատարիչն ուղղորդում է ինքնուրույն հոսթավորված օրինակի վրա (ամպից դուրս API բանալին պարտադիր չէ)։
FIRECRAWL_TIMEOUT_MS 30000 Յուրաքանչյուր հարցման սպասման առավելագույն ժամանակը Firecrawl վեբ-ներբեռնման կատարիչի համար։
API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS 300000 Կամրջի սերվերային հարցման ընդհանուր սպասման առավելագույն ժամանակը։
API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS 60000 Կամրջի միջոցով պատասխանի վերնագրերն ուղարկելու ժամանակը։
API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS 5000 Կամրջի keep-alive կապի պարապ մնալու առավելագույն ժամանակը։
API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS 0 Սոկետի անմշակ սպասման առավելագույն ժամանակը (0 = անջատված)։
SHUTDOWN_TIMEOUT_MS 30000 SIGTERM/SIGINT-ից հետո արտոնյալ ժամանակահատվածը՝ մինչև հարկադիր ելքը։
OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS 120000 Պահուստային արժեքը, որն օգտագործվում է src/shared/utils/fetchTimeout.ts-ի կողմից, երբ FETCH_TIMEOUT_MS-ը սահմանված չէ։
OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS 8000 src/shared/network/safeOutboundFetch.ts-ում գտնվող validationRead և modelsProbe նախակարգավորումների սպասման առավելագույն ժամանակը (մվ)։ Դանդաղ վերջնակետերի (Cerebras, Cloudflare AI, Groq) համար մեծացրեք այն՝ կառավարման վահանակում ակտիվ/սխալ վիճակների միջև տատանումները կանխելու նպատակով։ Անվավեր (<1000) կամ ոչ թվային արժեքների դեպքում օգտագործվում է պահուստային 8000մվ արժեքը։
OMNIROUTE_RELAY_FETCH_TIMEOUT_MS 25000 Ռելեին հատուկ ներբեռնման սպասման առավելագույն ժամանակը open-sse/utils/proxyFetch.ts-ում (#9158)։ Կախված ռելեն պետք է ձախողվի հաճախորդի/գործակալի սպասման ժամանակից (~30վ) առաջ, որպեսզի կանչողները ընդհանուր վերին հոսքի սպասման ժամանակի սպառման փոխարեն տեսնեն ռելեին հատուկ ձախողում։ Սահմանափակվում է 29000-ով, որպեսզի միշտ առաջինը գործարկվի։
OMNIROUTE_RETRY_BACKOFF_MS 10 Կրկնափորձերի ընդհանուր դադարը open-sse/utils/proxyFetch.ts-ի ուղիղ/ռելե/պրոքսի մեկանգամյա կրկնափորձի ուղիների համար (#9158)։ 0 = կրկնել անմիջապես։
OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS 60000 Նատիվ wreq-js հարցման սպասման առավելագույն ժամանակը (claudeTlsClient.ts)։
OMNIROUTE_CLAUDE_TLS_GRACE_MS 10000 Բացարձակ JS վերջնաժամկետի լրացուցիչ արտոնյալ ժամանակը, որն ավելացվում է նատիվ սպասման առավելագույն ժամանակին։
OMNIROUTE_PPLX_TLS_TIMEOUT_MS 30000 Նատիվ wreq-js հարցման սպասման առավելագույն ժամանակը (perplexityTlsClient.ts)։
OMNIROUTE_PPLX_TLS_GRACE_MS 10000 Բացարձակ JS վերջնաժամկետի լրացուցիչ արտոնյալ ժամանակը, որն ավելացվում է նատիվ սպասման առավելագույն ժամանակին։
OMNIROUTE_PPLX_SEARCH_HINT 0 (անջատված) Կանչողի համակարգային հաղորդագրությանը կցում է «Դուք ունեք ներկառուցված վեբ որոնում։ Հարցերին պատասխանեք անմիջապես՝ օգտագործելով որոնման արդյունքները» (perplexity-web/protocol.ts)։ Լռելյայն անջատված է․ Perplexity-ն միևնույն է որոնում է, իսկ նախադասությունը ծրագրավորման հաճախորդների պատասխաններում արտահոսում է որպես մետա-մեկնաբանություն։ Վերականգնելու համար սահմանեք 1/true/yes/on։
OMNIROUTE_GROK_TLS_TIMEOUT_MS 60000 wreq-js-ի բնիկ հարցման ժամանակի սպառում (grokTlsClient.ts)։
OMNIROUTE_GROK_TLS_GRACE_MS 10000 Բացարձակ JS վերջնաժամկետի համար լրացուցիչ ժամանակ, որն ավելացվում է բնիկ ժամանակի սպառմանը։
OMNIROUTE_NOTION_TLS_TIMEOUT_MS 30000 wreq-js-ի բնիկ հարցման ժամանակի սպառում (notionTlsClient.ts) երկար գեներացումների համար notion-web-ը յուրաքանչյուր հարցման դեպքում այն բարձրացնում է մինչև 180000։
OMNIROUTE_NOTION_TLS_GRACE_MS 10000 Բացարձակ JS վերջնաժամկետի համար լրացուցիչ ժամանակ, որն ավելացվում է բնիկ ժամանակի սպառմանը։
OMNIROUTE_BROWSER_POOL on Համօգտագործվող Playwright դիտարկիչների պուլ՝ դիտարկիչով սպասարկվող վեբ-քուքիով չաթի համար (browserPool.ts) անջատելու համար սահմանեք off։
OBSCURA_BIN auto-detect Դիտարկիչների պուլի և Cloudflare Playground կատարիչի կողմից որպես հիմնական շարժիչ օգտագործվող obscura երկուականի ուղին (open-sse/services/obscura.ts) երբ սահմանված չէ, ավտոմատ հայտնաբերվում է համակարգային PATH-ից։
OBSCURA_CDP_ENDPOINT (սահմանված չէ) Նոր գործընթաց գործարկելու փոխարեն կապվեք արդեն աշխատող Obscura-ին (http://host:port) մոդուլը չի կառավարում այդ գործընթացը (open-sse/services/obscura.ts)։
OBSCURA_PORT պատահական ազատ պորտ Գործարկվող obscura serve-ի բացահայտ պորտը․ երբ սահմանված չէ, ազատ պորտն ընտրվում է ավտոմատ (open-sse/services/obscura.ts)։
WEB_COOKIE_USE_BROWSER 0 Վեբ-քուքիով չաթի հարցման համար ընտրել դիտարկիչով սպասարկվող ուղին (browserBackedChat.ts) միացնելու համար՝ 1։
KIMI_WEB_BASE_URL https://www.kimi.ai Kimi Web-ի (միջազգային kimi.ai Connect-RPC) կատարիչի բազային URL-ը (kimi-web.ts) փոխարինեք միայն հայելային/պրոքսի վերջնակետերի համար։
KIMI_WEB_CHAT_URL <KIMI_WEB_BASE_URL>/apiv2/kimi.gateway.chat.v1.ChatService/Chat Kimi Web կատարիչի չաթի ամբողջական վերջնակետը (kimi-web.ts)։
OMNIROUTE_LOGIN_BROWSER_PATH (ավտոմատ հայտնաբերված) Adobe Firefly-ի ինտերակտիվ՝ դիտարկիչով մուտք գործելու համար համակարգային Chrome/Edge գործարկելի ֆայլի ուղին (adobeFireflyBrowserLogin.ts) փոխարինում է ըստ ՕՀ-ի ավտոմատ հայտնաբերումը։
OMNIROUTE_STANDALONE_DIR .build/ առանձին ելք Կառուցման ժամանակ առանձին ելքային գրացուցակի վերասահմանում, որն օգտագործվում է կառուցումից հետո համատեղ տեղակայման քայլում (scripts/build/colocate-standalone.mjs) վերաբերում է կառուցման գործիքակազմին, ոչ թե կատարման միջավայրին։

Համակցված թիրախների փորձերը ժառանգում են սկզբնաղբյուրի հարցման որոշված ժամանակի սպառումը (FETCH_TIMEOUT_MS, կամ REQUEST_TIMEOUT_MS, երբ այն տրամադրում է fetch-ի լռելյայն արժեքը)։ Համակցությունում, համակցության լռելյայն արժեքներում կամ մատակարարի վերասահմանման մեջ սահմանեք targetTimeoutMs միայն համակցված պահուստային անցումն արագացնելու համար․ ընթացիկ սկզբնաղբյուրի ժամանակի սպառումից մեծ արժեքները սահմանափակվում են սկզբնաղբյուրի ժամանակի սպառմամբ։

comboTimeoutMs-ը առանձին՝ ամբողջ համակցության պատային ժամացույցով բյուջե է՝ խափանման դեպքում փոխարինող թիրախների միջև։ Թողեք այն չսահմանված կամ սահմանեք 0՝ անսահմանափակ կրկնությունը պահպանելու համար (10 րոպեանոց COMBO_LOOP_SAFETY_TIMEOUT_MS կախման կասեցումը շարունակում է գործել)։ Դրական արժեքը համակցության համար փոխարինում է այդ ապահովագրիչը։ comboTimeoutMs-ը պահեք targetTimeoutMs-ից ավելի երկար, որպեսզի դանդաղ առաջին թիրախից հետո խափանման դեպքում փոխարինման համար դեռ ժամանակ մնա։

Շղթայի անջատիչի շեմերը

Մատակարարի մակարդակի շղթայի անջատիչի կարգավորում։ Լռելյայն արժեքներն արտացոլում են v3.6-ից ի վեր 500+ միացումների համար օգտագործվող մասշտաբավորված արժեքները։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD 8 open-sse/config/constants.ts OAuth մատակարարների հաջորդական խափանումների շեմը, որից հետո անջատիչը գործարկվում է։
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS 60000 open-sse/config/constants.ts OAuth մատակարարի անջատիչի վերակայման ժամանակահատվածը (մվ)։
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD 12 open-sse/config/constants.ts API բանալիով մատակարարների հաջորդական խափանումների շեմը։
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS 30000 open-sse/config/constants.ts API բանալիով մատակարարի անջատիչի վերակայման ժամանակահատվածը (մվ)։
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD 2 open-sse/config/constants.ts Տեղային մատակարարների (Ollama, LM Studio, ...) հաջորդական խափանումների շեմը։
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS 15000 open-sse/config/constants.ts Տեղային մատակարարի անջատիչի վերակայման ժամանակահատվածը (մվ)։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD 10 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ ժամանակահատվածում խափանումների քանակը, որից հետո ամբողջ OAuth մատակարարն անցնում է դադարի ռեժիմի։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS 900000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ OAuth մատակարարների խափանումների շարժական հաշվարկի ժամանակահատվածը (մվ)։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS 300000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ դադարի տևողությունը (մվ), երբ OAuth մատակարարի շեմը հասնում է սահմանված արժեքին։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD 5 open-sse/config/constants.ts OAuth մատակարարն այսքան խափանումից հետո անցնում է DEGRADED վիճակի։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER 8 open-sse/config/constants.ts OAuth մատակարարի resetTimeout-ի աճի առավելագույն բազմապատկիչը։
OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT 2 open-sse/config/constants.ts OAuth մատակարարն այսքան բաց ցիկլից հետո բարձրացնում է հետաձգման մակարդակը։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD 15 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ ժամանակահատվածում խափանումների քանակը, որից հետո ամբողջ API բանալիով մատակարարն անցնում է դադարի ռեժիմի։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS 1800000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ API բանալիով մատակարարների խափանումների շարժական հաշվարկի ժամանակահատվածը (մվ)։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS 600000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ դադարի տևողությունը (մվ), երբ API բանալիով մատակարարի շեմը հասնում է սահմանված արժեքին։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD 7 open-sse/config/constants.ts API բանալիով մատակարարն այսքան խափանումից հետո անցնում է DEGRADED վիճակի։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER 4 open-sse/config/constants.ts API բանալիով մատակարարի resetTimeout-ի աճի առավելագույն բազմապատկիչը։
OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT 3 open-sse/config/constants.ts API բանալիով մատակարարն այսքան բաց ցիկլից հետո բարձրացնում է հետաձգման մակարդակը։
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD 2 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ խափանումների քանակը, որից հետո ամբողջ տեղային մատակարարն անցնում է դադարի ռեժիմի։
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS 300000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ տեղային մատակարարների խափանումների շարժական հաշվարկի ժամանակահատվածը (մվ)։
OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS 60000 open-sse/config/constants.ts Մատակարարի մակարդակի անջատիչ․ դադարի տևողությունը (մվ), երբ տեղային մատակարարի շեմը հասնում է սահմանված արժեքին։
PIN_DROP_BACKOFF_LEVEL 2 open-sse/services/combo.ts Հետաձգման խորությունը, որի դեպքում համատեքստի քեշի ամրագրման մատակարարը համարվում է կայուն կերպով անառողջ, և ամրագրումը հեռացվում է՝ պահուստային անցում կատարելու համար։
PIN_DROP_GRACE_MS 20000 open-sse/services/combo.ts Տատանումները կանխող ժամանակահատվածը (մվ), որը հանդուրժում է կարճատև անցողիկ դադարները՝ նախքան համատեքստի քեշի ամրագրումը հեռացնելը։

Սցենարներ

Սցենար Կազմաձևում
Երկարատև կոդի գեներացում REQUEST_TIMEOUT_MS=900000 (15 րոպե)
Հոսքի ընդհանուր տևողության սահմանափակում STREAM_ACTIVE_TIMEOUT_MS=1260000 (21 րոպե)
Արագ խափանում արտադրական API-ի համար API_BRIDGE_PROXY_TIMEOUT_MS=10000
Ընդլայնված մտածողության մոդելներ STREAM_IDLE_TIMEOUT_MS=300000 (հատվածների միջև՝ 5 րոպե)

16. Լոգավորում

Լոգավորման համակարգը գրում է ինչպես stdout-ում, այնպես էլ ռոտացիայի ենթարկվող լոգի ֆայլերում։ Ամբողջ կազմաձևումը կարդացվում է src/lib/logEnv.ts-ի կողմից։

Փոփոխական Լռելյայն արժեք Նկարագրություն
APP_LOG_LEVEL info Լոգավորման նվազագույն մակարդակը՝ debug, info, warn, error։
APP_LOG_FORMAT text Արտածման ձևաչափը՝ text (մարդու համար ընթեռնելի) կամ json (կառուցվածքային)։
APP_LOG_TO_FILE true Լոգերը գրել ֆայլում՝ stdout-ի հետ մեկտեղ։
APP_LOG_FILE_PATH logs/application/app.log Լոգի ֆայլի ուղին (նախագծի արմատի կամ DATA_DIR-ի նկատմամբ)։
APP_LOG_MAX_FILE_SIZE 50M Ֆայլի առավելագույն չափը մինչև ռոտացիան։ Ընդունելի արժեքներ՝ 50M, 1G, 512K կամ սովորական բայթեր։
APP_LOG_RETENTION_DAYS 7 Ռոտացիայի ենթարկված հավելվածի լոգի ֆայլերի պահպանման օրերի քանակը։
APP_LOG_MAX_FILES 20 Ռոտացիայի ենթարկված լոգի ֆայլերի պահուստային պատճենների առավելագույն քանակը։
CALL_LOG_RETENTION_DAYS 7 Հարցումների/կանչերի լոգի գրառումները տվյալների բազայում պահելու օրերի քանակը։
CALL_LOG_MAX_ENTRIES 10000 Կանչերի լոգի գրառումների առավելագույն քանակը հիշողության բուֆերում։
CALL_LOGS_TABLE_MAX_ROWS 100000 Տողերի առավելագույն քանակը call_logs SQLite աղյուսակում՝ նախքան մաքրումը։
ENABLE_REQUEST_LOGS (սահմանված չէ) Հարկադրաբար միացնել կամ անջատել հարցումների մանրամասն լոգավորումը՝ անտեսելով վահանակի կարգավորումը։
MAX_PENDING_REQUEST_AGE_MS 3600000 (1 ժամ) Լքված ակտիվ հարցումների լոգի գրառումների առավելագույն տարիքը՝ մինչև հիշողությունից մաքրվելը։
CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS false Պահել հոսքի հատվածները խողովակաշարի արտեֆակտներում, երբ call_log_pipeline_enabled=true։ Ըստ ցանկության (true) — լռելյայն անջատված է՝ սկավառակի տարածքը խնայելու համար։
CALL_LOG_PIPELINE_MAX_SIZE_KB 512 Խողովակաշարի կանչերի լոգի արտեֆակտի առավելագույն չափը ԿԲ-ով, երբ call_log_pipeline_enabled=true։
PROXY_LOGS_TABLE_MAX_ROWS 100000 Տողերի առավելագույն քանակը proxy_logs SQLite աղյուսակում՝ նախքան մաքրումը։
PROXY_LOG_INCLUDE_IPS false Ներառել հաճախորդի/ելքային IP-ները և հաշիվների նախածանցները [ProxyEgress] կոնսոլային լոգերում։ Վահանակի/տվյալների բազայի պրոքսի լոգերի գրառումները պահպանում են ամբողջական մանրամասները։
APP_LOG_ROTATION_CHECK_INTERVAL_MS 60000 (1 րոպե) Որքան հաճախ է src/lib/logRotation.ts-ը կրկին ստուգում ակտիվ լոգի ֆայլի չափը։
CHAT_LOG_TEXT_LIMIT 65536 Չաթի լոգի արտեֆակտներում պահպանվող տողի առավելագույն երկարությունը (լռելյայն՝ 64 ԿԲ)։
CHAT_LOG_ARRAY_TAIL_ITEMS 128 Չաթի լոգի տվյալները կրճատելիս զանգվածի վերջից պահպանվող տարրերի քանակը։
CHAT_LOG_MAX_DEPTH 6 Ներդրման առավելագույն խորությունը, որից հետո չաթի լոգի տվյալները կրճատվում են։
CHAT_LOG_MAX_OBJECT_KEYS 80 Չաթի լոգի տվյալներում պահպանվող օբյեկտի բանալիների առավելագույն քանակը (0 = անսահմանափակ)։
CHAT_LOG_MAX_BODY_KB 1024 Ամբողջ հարցման/պատասխանի մարմնի չափը (ԿԲ), որից հետո ամբողջական պատճենի փոխարեն այն փոխարինվում է պարզ ամփոփմամբ։ Բարձրացրեք այս արժեքը, եթե երկար գործակալային զրույցների դեպքում վահանակում իրական հաղորդագրությունների փոխարեն ցուցադրվում է տեղապահ։
CHAT_DEBUG_FILE false Երբ արժեքը true է, serializeArtifactForStorage-ը բաց է թողնում չափի վրա հիմնված կրճատումը։ Միայն վրիպազերծման համար։

17. Հիշողության օպտիմալացում

Փոփոխական Լռելյայն արժեք Նկարագրություն
OMNIROUTE_MEMORY_MB ավտոմատ (ֆիզիկական սերվերի վրա); 1024 Docker պատկերում Առաջարկվող Docker/ինքնուրույն V8 heap-ի սահմանաչափը (MB)։ Եթե սահմանված չէ, դինամիկորեն չափաբերվում է (համակարգի RAM-ի մոտ 35%-ը՝ սահմանափակված [512, 4096] միջակայքով) 512-ը միայն նվազագույն շեմն է, երբ ընդհանուր հիշողությունը հնարավոր չէ կարդալ։ run-standalone.mjs-ում (Docker CMD) բացահայտորեն նշված արժեքը կցվում է որպես --max-old-space-size և գերակայում է NODE_OPTIONS-ի հակասող heap դրոշին (V8-ի վերջին դրոշի կանոն)։ omniroute serve-ը դեռևս նախապատվությունը տալիս է NODE_OPTIONS-ում առկա heap-ի արժեքին (#5238)։ Մի՛ սահմանեք երկուսն էլ տարբեր թվերով․ գործընթացը գրանցամատյանում նախազգուշացում է գրում՝ նշելով երկու արժեքներն ու հաղթողը։ Պաշտոնական Docker պատկերը միշտ սահմանում է 1024, ուստի այնտեղ չափաբերումը երբեք չի գործարկվում։ Կոդավորման գործակալի /v1/responses-ին անհրաժեշտ է 819212288, ինչպես նաև cgroup-ի լրացուցիչ պաշար․ տե՛ս Docker ուղեցույց — կատարման միջավայրի RAM։
PROMPT_CACHE_MAX_SIZE 50 Քեշավորված համակարգային հուշումների գրառումների առավելագույն քանակը։
PROMPT_CACHE_MAX_BYTES 2097152 (2 MB) Հուշումների քեշի առավելագույն ընդհանուր չափը։
PROMPT_CACHE_TTL_MS 300000 (5 րոպե) Հուշումների քեշի գրառման TTL-ը։
SEMANTIC_CACHE_MAX_SIZE 100 Քեշավորված temperature=0 պատասխանների առավելագույն քանակը։
SEMANTIC_CACHE_MAX_BYTES 4194304 (4 MB) Իմաստաբանական քեշի առավելագույն ընդհանուր չափը։
SEMANTIC_CACHE_TTL_MS 1800000 (30 րոպե) Իմաստաբանական քեշի գրառման TTL-ը։
OMNIROUTE_CORPUS_CACHE_SIZE 5 Տեղային կորպուսի արմատների քանակը, որոնց համար միաժամանակ հիշողության մեջ պահվում է ակտիվ ինդեքս (src/lib/localCorpus/configured.ts)։ LRU սահմանաչափին հասնելու դեպքում ամենաերկար ժամանակ չօգտագործված արմատի ինդեքսը հեռացվում է և վերակառուցվում դրա հաջորդ հարցման ժամանակ։ Սահմանափակվում է նվազագույնը 1 արժեքով․ ոչ թվային արժեքի դեպքում օգտագործվում է լռելյայն արժեքը։
STREAM_HISTORY_MAX 50 Վահանակի իրական ժամանակի դիտման բուֆերում վերջին հոսքային իրադարձությունների առավելագույն քանակը։
CONTEXT_LENGTH_DEFAULT 128000 Բացահայտ կազմաձևում չունեցող մոդելների համատեքստի առավելագույն երկարության համընդհանուր պահուստային արժեքը։
USAGE_TOKEN_BUFFER 100 Օգտագործման քվոտաները հետևելիս պահուստավորվող թոքենների լրացուցիչ պաշարը։

Սեղմում

Փոփոխական Լռելյայն արժեք Նկարագրություն
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS սահմանված չէ Վստահել նախագծի .rtk/filters.json-ին՝ առանց .rtk/trust.json հեշի։ Օգտագործեք միայն վերահսկվող տեղային մշակման միջավայրում։

Հիշողության շարժիչ (պլան 21)

Հիշողության, հմտությունների և թոքենների թարմացման ազդեցությունը իրադարձությունների ցիկլի վրա (#10349)

OmniRoute-ը մեկ Node գործընթաց է։ Հիշողության արտահանումը/որոնումը, հմտությունների ներարկումը և մատակարարի թոքենների թարմացումն աշխատում են նույն իրադարձությունների ցիկլում, ինչ GET /healthz-ը և վահանակը։ Դրանք worker thread չեն։

Աշխատանք Կոդ Լռելյայն Օպերատորի կառավարում
Հիշողության արտահանում / որոնում src/lib/memory/ Կառավարման վահանակի memoryEnabled (լռելյայն միացված է) Անջատեք Կարգավորումներ → Հիշողություն բաժնում։ Կարգավորումներում գործառույթն անջատելուց բացի՝ միջավայրի փոփոխականի առանձին վթարային անջատիչ չկա։
Հմտությունների ներարկում src/lib/skills/injection.ts Կառավարման վահանակի skillsEnabled (լռելյայն միացված է) Անջատեք Կարգավորումներ → Հիշողություն/Հմտություններ (skillsEnabled) բաժնում։ Ստորև նշված սանդբոքսի կարգավորիչները միայն սահմանափակում են կատարումը, երբ ներարկումն արդեն միացված է։
Թոքենի թարմացում src/sse/services/tokenRefresh.ts Միացված է կապակցված OAuth/վեբ մատակարարների համար Անջատեք մատակարարի կապը կամ թույլ տվեք, որ թոքենները վավեր մնան․ ներկայում TOKEN_REFRESH=0 միջավայրի փոփոխական չկա։

Եթե հանգիստ համակարգում /healthz-ը դանդաղ է աշխատում, նախ անջատեք հիշողությունն ու հմտությունները, ապա ստուգեք կատալոգի/սեղմման բեռնվածությունը (#10303, #9685)։ Այս գործառույթները զիջում են կառավարումը await կետերում, սակայն, միևնույն է, մրցակցում են միակ հոսքի համար։

Ներդրման շերտի, վեկտորային պահոցի և վերադասակարգման կարգավորիչներ՝ կայուն հիշողության ենթահամակարգի (src/lib/memory/) համար։

Փոփոխական Լռելյայն արժեք Նկարագրություն
MEMORY_EMBEDDING_CACHE_TTL_MS 300000 (5 րոպե) Հիշողության մեջ ներդրումների քեշի TTL-ը (ըստ աղբյուրի/մոդելի/չափայնության ստորագրության)։
MEMORY_EMBEDDING_CACHE_MAX 1000 Ներդրումների քեշում պահվող LRU գրառումների առավելագույն քանակը։
MEMORY_TRANSFORMERS_MODEL Xenova/all-MiniLM-L6-v2 HF ռեպոզիտորիայի նույնացուցիչ՝ ընտրովի @huggingface/transformers տեղային MiniLM խողովակաշարի համար (~23 ՄԲ int8, ~400 ՄԲ RAM)։
MEMORY_STATIC_MODEL minishlab/potion-base-8M HF ռեպոզիտորիայի նույնացուցիչ՝ ստատիկ potion/Model2Vec որոնման աղյուսակով ներդրիչի համար։ Անհրաժեշտության դեպքում ներբեռնվում է քեշի պանակ։
MEMORY_STATIC_CACHE_DIR <DATA_DIR>/embeddings Ստատիկ potion մոդելի ֆայլերը քեշավորելու համար օգտագործվող պանակը։ Եթե սահմանված չէ, լռելյայն գտնվում է DATA_DIR-ի ներքո։
HF_HUB_ENDPOINT https://huggingface.co Փոխարինում է staticPotion.ts-ի կողմից օգտագործվող Hugging Face Hub-ի բազային URL-ը (օրինակ՝ մեկուսացված միջավայրերի հայելային վերջնակետով)։
MEMORY_VEC_TOP_K 20 Լռելյայն top-K-ը, որն օգտագործվում է sqlite-vec-ի ամբողջական վեկտորային որոնման կողմից՝ src/lib/memory/vectorStore.ts-ի ներսում։
MEMORY_RRF_K 60 Reciprocal Rank Fusion-ի k հաստատունը՝ հիբրիդային FTS5 + վեկտորային որոնման համար (sqlite-vec բաղադրատոմս)։
VECTOR_STORE_DISABLE_VEC false Փորձարկման/ախտորոշման միջերես getVectorStore()-ում (src/lib/memory/vectorStore.ts) երբ true է, վեկտորային պահոցը հարկադրաբար դարձնում է null (նմանակում է առանց sqlite-vec-ի ամպային/WASM միջավայր)՝ հիշողության որոնումը սահմանափակելով FTS5 բանալի բառերով որոնմամբ։ Արտադրական միջավայրում թողեք չսահմանված։
NOTION_API_KEY (սահմանված չէ) Notion հետնամասի API բանալին (օգտագործվում է genericBackend.ts-ի՝ հայտնի հետնամասի նախակարգավորման կողմից)։
NOTION_API_URL https://api.notion.com/v1 Notion API-ի բազային URL-ը (կարելի է փոխարինել ինքնուրույն հոսթինգով Notion այլընտրանքների համար)։
OBSIDIAN_API_KEY (սահմանված չէ) Obsidian Vault հետնամասի API բանալին (օգտագործվում է genericBackend.ts-ի՝ հայտնի հետնամասի նախակարգավորման կողմից)։
OBSIDIAN_API_URL http://localhost:27123 Obsidian Vault API-ի բազային URL-ը (կարելի է փոխարինել հեռակա պահոցի համար)։
MEMORY_TYPED_DECAY_ENABLED false TV6 տիպավորված հիշողության քայքայման գլխավոր անջատիչը։ Ընտրովի է (լռելյայն անջատված է) — մաքրման գործողությունը ջնջում է քայքայված հիշողությունները։ Երբ այն անջատված է, access_count/last_accessed_at-ը զուտ հեռաչափական տվյալներ են, և ոչինչ երբեք չի ջնջվում։
MEMORY_TYPED_DECAY_EPISODIC_DAYS 30 TTL-ը (օրերով), որից հետո չօգտագործված episodic հիշողությունը քայքայվում է։ 0-ը նաև episodic տեսակը դարձնում է անձեռնմխելի։ Երկարակյաց տեսակները (factual/procedural/semantic) միշտ անձեռնմխելի են։ Քայքայման ժամացույցը վերահաշվարկվում է last_accessed_at-ի հիման վրա։
MEMORY_TYPED_DECAY_ACCESS_IMMUNITY 3 Եթե հիշողությունը ներարկվել է այսքան կամ ավելի անգամ (>=), այն անձեռնմխելի է դառնում քայքայումից՝ անկախ տեսակից։ 0-ն անջատում է հասանելիության հիմքով անձեռնմխելիությունը։
MEMORY_TYPED_DECAY_SWEEP_INTERVAL 0 (անջատված է) Միջակայքը (վայրկյաններով)՝ src/lib/memory/typedDecay.ts-ում ընտրովի պարբերական քայքայման մաքրման համար։ 0/չսահմանված = պարբերական մաքրում չկա։ Կրկնակի ընտրովի է․ պահանջում է նաև MEMORY_TYPED_DECAY_ENABLED=true։
OMNIROUTE_STRICT_SYSTEM_PROVIDERS (սահմանված չէ) Ստորակետերով բաժանված մատակարարների նույնացուցիչներ (առանց տառաչափը հաշվի առնելու), որոնք ընդունում են system հաղորդագրություն միայն 0 ինդեքսում (src/lib/memory/injection.ts)։ Դրանց դեպքում քեշի համար անվտանգ՝ զանգվածի միջնամասում հիշողության ներդրումը վտանգավոր է բազմափուլ զրույցներում, ուստի հիշողությունը միաձուլվում/ավելացվում է սկզբում՝ որպես առաջատար համակարգային հաղորդագրություն։ Լռելյայն ներառում է միայն xiaomi-mimo/mimo-ն․ ընդլայնեք ինքնուրույն հոսթինգով OpenAI-համատեղելի վերջնակետերի համար (օրինակ՝ Qwen3.5+/3.6), որոնց զրույցի ձևանմուշը պարտադրում է նույն՝ մեկ առաջատար համակարգային հաղորդագրության սահմանափակումը։

Ցածր RAM-ով Docker-ի օրինակ

128-ը նախատեսված է միայն կառավարման վահանակի համար։ Այս կույտում կոդավորման գործակալները երկարատև /v1/responses հարցումների ժամանակ ստանում են FATAL ERROR։ Մի օգտագործեք այս օրինակը որպես Claude/Codex/Grok անցուղի։

OMNIROUTE_MEMORY_MB=128
PROMPT_CACHE_MAX_SIZE=20
PROMPT_CACHE_MAX_BYTES=524288        # 512 ԿԲ
SEMANTIC_CACHE_MAX_SIZE=25
SEMANTIC_CACHE_MAX_BYTES=1048576     # 1 ՄԲ
STREAM_HISTORY_MAX=10

18. Գնագոյացման համաժամացում

Մոդելների գնագոյացման տվյալների ավտոմատ համաժամացում արտաքին աղբյուրներից։

Փոփոխական Լռելյայն Աղբյուրի ֆայլ Նկարագրություն
PRICING_SYNC_ENABLED false src/lib/pricingSync.ts Գնագոյացման պարբերական համաժամացման միացում։
PRICING_SYNC_INTERVAL 86400 (24h) src/lib/pricingSync.ts Համաժամացման միջակայքը՝ վայրկյաններով։
PRICING_SYNC_SOURCES litellm src/lib/pricingSync.ts Ստորակետերով բաժանված տվյալների աղբյուրներ։

Arena ELO-ի համաժամացում

Փոփոխական Լռելյայն Աղբյուրի ֆայլ Նկարագրություն
ARENA_ELO_SYNC_ENABLED true src/shared/constants/featureFlagDefinitions.ts Arena AI առաջատարների աղյուսակի ELO-ի պարբերական համաժամացում, որը կարգավորվում է Dashboard-ի Feature Flags բաժնից կամ կարող է անջատվել՝ սահմանելով false։
MODELS_CATALOG_PREFIX_MODE dual src/shared/constants/featureFlagDefinitions.ts, src/app/api/v1/models/catalog.ts GET /v1/models-ում մոդելների id-ների համար օգտագործվող նախածանցի ձևը։ dual-ը յուրաքանչյուր մոդելի համար հրապարակում է ինչպես կարճ կեղծանվան նախածանցը, այնպես էլ մատակարարի կանոնական նախածանցը (հետադարձ համատեղելիության համար՝ մոտավորապես կրկնապատկելով կատալոգը), alias-ը յուրաքանչյուր մոդելի համար վերադարձնում է մեկ id, իսկ canonical-ը վերադարձնում է միայն մատակարարի ամբողջական id-ի նախածանցը (այն մատակարարները, որոնց կեղծանունն արդեն կանոնական id-ն է, պահպանում են իրենց միակ գրառումը)։ Հաճախորդները կարող են դա վերասահմանել յուրաքանչյուր հարցման համար՝ օգտագործելով ?prefix=alias։ Տե՛ս API_REFERENCE։
ARENA_ELO_SYNC_INTERVAL 86400 (24h) src/lib/arenaEloSync.ts Համաժամացման միջակայքը՝ վայրկյաններով։

PromptQL Playground-ի մատակարար (ոչ պաշտոնական/փորձարարական)

Հակադարձ ինժեներիայի միջոցով ստեղծված GraphQL նստաշրջանի կամուրջ prompt.ql.app-ի համար (src/shared/constants/providers/web-cookie.ts)։ Բոլոր կարգավորումները կամընտիր են․ լռելյայն արժեքները մատնանշում են հանրային playground-ի վերջնակետերը։ Վերասահմանեք դրանք միայն ինքնուրույն հոսթինգով/այլընտրանքային PromptQL տեղակայման դեպքում։

Փոփոխական Լռելյայն Աղբյուրի ֆայլ Նկարագրություն
PROMPTQL_GRAPHQL_ENDPOINT https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql open-sse/executors/promptql.ts Զրույցի/նստաշրջանի գործողությունների համար օգտագործվող GraphQL վերջնակետ։
PROMPTQL_CREDITS_ENDPOINT https://data.pro.ql.app/v1/graphql open-sse/executors/promptql.ts, open-sse/services/usage/promptql.ts Վարկային մնացորդը/օգտագործումը հարցելու համար օգտագործվող GraphQL վերջնակետ։
PROMPTQL_TOKEN_REFRESH_URL https://auth.pro.ql.app/ddn/project/token open-sse/executors/promptql.ts Հնարավորության սահմաններում թոքենը թարմացնելու համար օգտագործվող վերջնակետ։
PROMPTQL_POLL_TIMEOUT_MS 180000 open-sse/executors/promptql.ts thread_events-ի հարցման առավելագույն ժամանակը (ms)՝ նախքան ժամանակի սպառումը։

HyperAgent վեբ մատակարար (ոչ պաշտոնական/փորձարարական)

Հետադարձ ինժեներիայի միջոցով ստեղծված աշխատաշրջանի կամուրջ hyperagent.com-ի համար (src/shared/constants/providers/web-cookie.ts)։ Ընտրովի է. լռելյայնորեն մատնանշում է հանրային վճարումների/օգտագործման վերջնակետը. վերասահմանեք միայն ինքնուրույն հոսթավորվող/այլընտրանքային HyperAgent տեղակայման համար։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
HYPERAGENT_USAGE_URL https://hyperagent.com/api/settings/billing/usage open-sse/services/usage/hyperagent.ts Վճարումների/օգտագործման վարկային բլոկները ստանալու համար օգտագործվող վերջնակետը։

Kilo Code-ի օգտագործման քվոտաներ

Անձնական USD մնացորդի և Kilo Pass-ի օգտագործման տվյալների հարցում Kilo Code մատակարարի համար։ Ընտրովի է. լռելյայնորեն մատնանշում է հանրային Kilo API-ն. վերասահմանեք միայն միջնորդային/թեստային ֆիքստուրայի համար։ Նույնականացումն օգտագործում է կապի առկա OAuth հասանելիության թոքենը։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
KILO_API_URL https://api.kilo.ai open-sse/services/usage/kilocode.ts Անձնական Kilo Code մնացորդը և Kilo Pass-ի օգտագործումը ստանալու համար կիրառվող բազային URL-ը։

Adobe Firefly վեբ մատակարար (ոչ պաշտոնական/փորձարարական)

Բրաուզերի միջոցով աշխատաշրջանի թարմացում Adobe Firefly վեբ մատակարարի համար (open-sse/services/adobeFireflyBrowserLogin.ts, open-sse/services/adobeFireflySession.ts, open-sse/services/adobeFireflyClient.ts)։ Ընտրովի է. բոլոր լռելյայն արժեքները կարգավորված են սովորական աշխատասեղանային տեղադրման համար։

Հեռացվել է #9255-ում։ Chrome-ի հին՝ CDP-ին կցված կատարման միջավայրը (adobeFireflyChromeRuntime.ts) փոխարինվել է Playwright-ի՝ բրաուզերով մուտք գործելու ծառայությամբ, և դրա կարգավորիչներն այլևս գոյություն չունեն։ ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART փոփոխականները, ինչպես նաև ADOBE_FIREFLY_LOGIN_WAIT_MS և ADOBE_FIREFLY_FORTER_WAIT_MS փոփոխականները կոդային բազայում ոչ մի տեղ չեն ընթերցվում. դրանց սահմանումը որևէ ազդեցություն չունի։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts Սահմանեք 1՝ իրական առանց ինտերֆեյսի Chrome-ի համար (հայտնի է, որ գեներացման դեպքում չի աշխատում. միայն վրիպազերծման համար)։
ADOBE_FIREFLY_BROWSER_REFRESH 1 open-sse/services/adobeFireflySession.ts Բրաուզերի կանխարգելիչ նախապատրաստման միացում/անջատում։ 0-ն անջատում է կանխարգելիչ նախապատրաստումը (փաթեթի ընթացքում 408 սխալից վերականգնումը շարունակում է կիրառվել)։
ADOBE_FIREFLY_SESSION_DISK 1 open-sse/services/adobeFireflySession.ts Սահմանեք 0՝ Adobe Firefly-ի աշխատաշրջանի սկավառակի վրա պահպանումն անջատելու համար։
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS (սահմանված չէ) open-sse/services/adobeFireflySession.ts Հաջորդական ուղարկումների միջև պարտադրվող նվազագույն ընդմիջումը (մվ), որը վերասահմանում է ներկառուցված լռելյայն արժեքը։
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS (սահմանված չէ) open-sse/services/adobeFireflySession.ts Հաջող փաթեթից հետո ավելացվող լրացուցիչ ընդմիջումը (մվ), որը վերասահմանում է ներկառուցված լռելյայն արժեքը։
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS (սահմանված չէ) open-sse/services/adobeFireflyClient.ts Գեներացման հարցումն ուղարկելուց առաջ բազային ուշացումը (մվ), որը վերասահմանում է ներկառուցված լռելյայն արժեքը։

19. Մոդելների համաժամացում (մշակում)

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
MODELS_DEV_SYNC_ENABLED (սահմանված չէ) src/lib/modelsDevSync.ts models.dev-ի գնագոյացման համաժամացման պարտադիր վերասահմանում։ Սահմանված չէ = հետևել Կարգավորումներ > ԱԲ (modelsDevSyncEnabled) արժեքին։ 0/false/off/no արժեքը գերակայում է ՏԲ-ի նկատմամբ և բաց է թողնում ինչպես պարբերական համաժամացումը, այնպես էլ getModelsDevPricing() SQL/JSON սկանավորումները (վերականգնման համար, երբ կառավարման վահանակը կախվել է նույն իրադարձությունների ցիկլում)։ 1/true/on/yes արժեքը պարտադրաբար միացնում է համաժամացումը։ Գնագոյացման պահպանումը/մաքրումը դեռ կանչում է backupDbFile("pre-write"), որը ոչինչ չի անում 60 րոպեանոց սահմանափակման կամ DISABLE_SQLITE_AUTO_BACKUP-ի դեպքում։
MODELS_DEV_SYNC_INTERVAL 86400 (24 ժ) src/lib/modelsDevSync.ts Մշակման ընթացքում մոդելների կատալոգի համաժամացման միջակայքը՝ վայրկյաններով։
CONTEXT_WINDOW_RECONCILE_INTERVAL 86400 (24 ժ) src/lib/contextWindowResolver.ts Ինքնաշտկվող համատեքստային պատուհանի համաձայնեցման գործիքի (5004) միջակայքը (վայրկյաններով). /models հայտնաբերման միջոցով մատակարարի կողմից հայտարարված պատուհանները ամրագրում է որպես auto:discovery վերասահմանումներ, երբ դրանք տարբերվում են կատալոգից։ Անջատելու համար սահմանեք 0։ Վերօգտագործում է արդեն համաժամացված տվյալները (նոր հարցում չի կատարվում) և երբեք չի վերագրում manual վերասահմանումները։

20. Մատակարարին հատուկ կարգավորումներ

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OPENROUTER_CATALOG_TTL_MS 86400000 (24 ժ) src/lib/catalog/openrouterCatalog.ts OpenRouter-ի մոդելների կատալոգի քեշի TTL-ը։
MODEL_CATALOG_INCLUDE_NAMES true src/shared/constants/featureFlagDefinitions.ts /v1/models պատասխաններում ներառել ցուցադրման համար հարմար name դաշտերը։ Անջատեք միայն ID-ներ ակնկալող հաճախորդների համար։
CATALOG_BUILD_TIMEOUT_MS 8000 (8 վ) src/app/api/v1/models/catalogCache.ts Միավորված GET /v1/models կատալոգի վերակառուցման սառը ուղու սպասման սահմանը (#12627)։ Ժամանակի սպառման դեպքում, առկայության պարագայում, վերադարձվում է վերջին հաջողված 200 պատասխանը։
OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS 2592000000 (30 օր) src/lib/db/models/activeSyncedCatalog.ts Ժամանակահատված, որից հետո կապի համաժամացված մոդելների ցանկը դադարում է երթուղավորման համար հեղինակավոր լինել, և գործընթացը բաց ռեժիմով անցնում է գրանցամատյան (#12849)։ Ժամանակային նշում երբևէ չստացած տողերը համարվում են հնացած։
NANOBANANA_POLL_TIMEOUT_MS 120000 open-sse/handlers/imageGeneration.ts NanoBanana-ի պատկերների ստեղծման առաջադրանքների սպասման առավելագույն ժամանակը։
NANOBANANA_POLL_INTERVAL_MS 2500 open-sse/handlers/imageGeneration.ts NanoBanana-ի առաջադրանքների հարցման հաճախականությունը։
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyUpscale.ts Adobe Firefly-ի մասշտաբավորման ուղարկման կրկնափորձերի էքսպոնենցիալ հետաձգման բազային ուշացումը։
AWS_REGION (սահմանված չէ) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts AWS Bedrock-ի վերջնակետերը (Kiro, աուդիո) կառուցելու համար օգտագործվող տարածաշրջանը։
AWS_DEFAULT_REGION (սահմանված չէ) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts Պահուստային արժեքը, երբ AWS_REGION-ը սահմանված չէ։
CLOUDFLARE_ACCOUNT_ID (սահմանված չէ) open-sse/executors/cloudflare-ai.ts Cloudflare Workers AI-ի հաշվի ID-ն։
CLOUDFLARE_PLAYGROUND_CHROME_PATH (սահմանված չէ) open-sse/executors/cloudflare-playground.ts Սեղանադիր Chrome-ի գործարկվող ֆայլի ամբողջական ուղին Cloudflare AI Playground-ի կատարիչի համար, որն օգտագործվում է, երբ առանց ինտերֆեյսի նույնականացման ստուգումն արգելափակում է Playwright-ի փաթեթավորված Chromium-ը։
CLOUDFLARE_API_BASE https://api.cloudflare.com/client/v4 src/app/api/settings/proxy/cloudflare-deploy/route.ts Վերագրել պրոքսի-ավազանի Workers ռելեի տեղակայիչի կողմից օգտագործվող Cloudflare REST API-ի բազային հասցեն (#4640 / 9router#1360)։
NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx Աշխատողի նախագծի լռելյայն անունը, որն առաջարկվում է պրոքսի-ավազանի «Տեղակայել ռելեն» պատուհանում։
NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Սահմանեք false, որպեսզի Cloudflare Workers ռելեի տարբերակը թաքցվի «Պրոքսի ավազան» ներդիրից։
CLOUDFLARED_BIN ինքնահայտնաբերում src/lib/cloudflaredTunnel.ts cloudflared գործարկվող ֆայլի հատուկ ուղին։
CLOUDFLARED_PROTOCOL http2 src/lib/cloudflaredTunnel.ts Թունելի փոխադրման արձանագրությունը՝ http2 (լռելյայն), quic կամ auto։
CLOUDFLARED_CONFIG (սահմանված չէ) src/lib/cloudflaredTunnel.ts Տեղային կառավարվող cloudflared config.yml ֆայլի ուղին (tunnel:, credentials-file:, ingress: պարունակությամբ)։ Երբ սահմանված է, OmniRoute-ն անցողիկ արագ թունելի փոխարեն գործարկում է tunnel --config <path> run (անվանված թունել)։
CLOUDFLARED_HOSTNAME (կազմաձևի ingress-ից) src/lib/cloudflaredTunnel.ts Անվանված թունելի հանրային հոսթի անվան վերագրումը (օրինակ՝ ai.example.com), որը հաղորդվում է որպես publicUrl/apiUrl։ Երբ սահմանված չէ, այն կարդացվում է կազմաձևի առաջին ingress հոսթի անունից։
DENO_DEPLOY_API_BASE https://api.deno.com/v2 src/app/api/settings/proxy/deno-deploy/route.ts Վերասահմանում է Deno Deploy REST API-ի բազային հասցեն, որն օգտագործվում է proxy-pool-ի relay տեղակայիչի կողմից (#4643 / 9router#1437)։
NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT omniroute-deno-relay src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx Deno Deploy հավելվածի լռելյայն անունը, որն առաջարկվում է proxy-pool-ի «Deploy Relay» մոդալ պատուհանում։
NEXT_PUBLIC_DENO_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Սահմանեք false, որպեսզի Proxy Pool ներդիրում թաքցնեք Deno Deploy relay տարբերակը։
SEARCH_CACHE_TTL_MS 300000 (5 րոպե) open-sse/services/searchCache.ts Որոնման API-ի (Perplexity, Brave և այլն) պատասխանների քեշավորման TTL-ը։
ENABLE_CC_COMPATIBLE_PROVIDER false src/shared/utils/featureFlags.ts Ցուցադրում է փորձարարական՝ CC-ի հետ համատեղելի provider-ի UI-ը՝ միայն Claude Code-ի համար նախատեսված relay-ների համար։
NINEROUTER_HOST 127.0.0.1 open-sse/executors/ninerouter.ts Վերասահմանում է host-ը, որի վրա լսում է ներդրված 9router օրինակը։
NINEROUTER_PORT 20130 open-sse/executors/ninerouter.ts Վերասահմանում է port-ը, որի վրա լսում է ներդրված 9router օրինակը։
EMBED_WS_PROXY_HOST 127.0.0.1 src/lib/services/embedWsProxy.ts Ներդրված ծառայության WebSocket proxy-ի bind host-ը (լռելյայն՝ միայն loopback)։
EMBED_WS_PROXY_PORT 20131 src/lib/services/embedWsProxy.ts Ներդրված ծառայության WebSocket proxy սերվերի port-ը։
CLIPROXYAPI_HOST 127.0.0.1 open-sse/executors/cliproxyapi.ts CLIProxyAPI կամրջի host-ը (ժառանգական ինտեգրում)։
CLIPROXYAPI_PORT 5544 open-sse/executors/cliproxyapi.ts CLIProxyAPI կամրջի port-ը։
CLIPROXYAPI_API_KEY (դատարկ) open-sse/handlers/chatCore/cliproxyapiCredentials.ts Տվյալների հարթության պահուստային բանալին, երբ cliproxyapi_api_key կարգավորումը բացակայում է։
CLIPROXYAPI_MANAGEMENT_KEY (դատարկ) src/lib/services/cliproxyAccountHealth.ts Կառավարման բանալին՝ արտաքինից կառավարվող CLIProxyAPI օրինակից հաշվի առողջական վիճակի տվյալները կարդալու համար։
CLIPROXYAPI_CONFIG_DIR ~/.cli-proxy-api src/lib/versionManager/processManager.ts CLIProxyAPI-ի կազմաձևման պանակը։
CLIPROXY_BIND_HOST 127.0.0.1 docker-compose.yml Host ինտերֆեյսը, որի վրա docker-compose-ը հրապարակում է cliproxyapi sidecar-ը (#12578)։ Դրա տվյալների volume-ը պարունակում է provider-ի OAuth/API հավատարմագրերը, իսկ ամրագրված image-ը չունի env-ի վրա հիմնված տվյալների հարթության api-keys վերասահմանում (միայն mount արված config.yaml), ուստի 0.0.0.0-ը հավատարմագրեր պարունակող ծառայությունը հասանելի է դարձնում ամբողջ LAN-ին։
MUX_SERVICE_PORT 8322 src/lib/services/bootstrap.ts Վերասահմանում է port-ը, որի վրա լսում է ներդրված Mux (coder/mux) agent-ների կառավարման daemon-ը (միշտ 127.0.0.1)։
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Dario-ի ներդրված ծառայության bind/connect host-ը (լռելյայն՝ միայն loopback)։
DARIO_PORT 3456 open-sse/executors/dario.ts Dario-ի ներդրված ծառայության port-ը։
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Dario-ի ներդրված ծառայության bind/connect host-ը (լռելյայն՝ միայն loopback)։
DARIO_PORT 3456 open-sse/executors/dario.ts Dario-ի ներդրված ծառայության port-ը։
LOCAL_HOSTNAMES (դատարկ) open-sse/config/providerRegistry.ts Ստորակետերով բաժանված լրացուցիչ հոսթանուններ, որոնք համարվում են «տեղային» (Docker ծառայությունների անուններ և այլն)։

ENABLE_CC_COMPATIBLE_PROVIDER-ը նախատեսված է միայն երրորդ կողմի այն միջնորդ ծառայությունների համար, որոնք ընդունում են բացառապես Claude Code հաճախորդներ։ OmniRoute-ը վերագրում է հարցումները, որպեսզի այդ միջնորդ ծառայություններն ընդունեն դրանք։ Եթե ցանկանում եք օգտագործել միայն Claude Code CLI-ն, կամ վստահ չեք, թե ինչ են այդ միջնորդ ծառայությունները, թողեք այս հնարավորությունն անջատված և դրա փոխարեն ավելացրեք սովորական Anthropic-ի հետ համատեղելի մատակարար։


21. Պրոքսիի առողջական վիճակ

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
PROXY_FAST_FAIL_TIMEOUT_MS 2000 src/lib/proxyHealth.ts Արագ ձախողման առողջական վիճակի ստուգման ժամանակի սահմանաչափը։
PROXY_LATENCY_WINDOW_HOURS 3 src/lib/db/proxies.ts Ժամանակային պատուհանը (ժամերով)՝ ուշացման համար օպտիմալացված պուլի ռազմավարության թեկնածու պրոքսիների միջին ուշացումը հաշվարկելու համար։
PROXY_HEALTH_CACHE_TTL_MS 30000 src/lib/proxyHealth.ts Առողջական վիճակի ստուգման արդյունքների քեշի TTL-ը։
PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS 2000 src/lib/proxyHealth.ts Չհաջողված պրոքսիի առողջական վիճակի զոնդավորումների քեշի TTL-ը։ Այն պահեք PROXY_HEALTH_CACHE_TTL_MS-ից կարճ, որպեսզի բարձր զուգահեռության պայմաններում պրոքսիի ժամանակավոր ժամանակի սպառման դեպքերը արագ կրկին փորձարկվեն՝ առանց իսկապես չաշխատող պրոքսիների համար արագ ձախողումն անջատելու։
PROXY_HEALTH_ENABLED true src/lib/proxyHealth/scheduler.ts Սահմանեք false՝ ֆոնային պրոքսիի առողջական վիճակի ժամանակացույցիչն անջատելու համար, որը պարբերաբար զոնդավորում է գրանցված պրոքսիները։
PROXY_HEALTH_INTERVAL_MS 600000 src/lib/proxyHealth/scheduler.ts Առողջական վիճակի ֆոնային ժամանակացույցիչի ամբողջական ստուգման միջակայքը՝ միլիվայրկյաններով (նվազագույնը՝ 60000)։
PROXY_HEALTH_TEST_URL https://httpbin.org/ip src/lib/proxyHealth/probeTarget.ts Հասանելիության ստուգման թիրախ, որն օգտագործվում է պլանավորիչի և /api/settings/proxies/auto-test վերջնակետի կողմից։ Նշեք ներքին/ինքնուրույն հոսթինգով URL՝ հանրային լռելյայն տարբերակից խուսափելու համար։
PROXY_HEALTH_TEST_CONCURRENCY 10 src/lib/proxyHealth/probeTarget.ts Յուրաքանչյուր փաթեթի համար միաժամանակ մեկնարկող ստուգումների քանակը, որը համատեղ օգտագործվում է պլանավորիչի և /api/settings/proxies/auto-test վերջնակետի կողմից։ Նվազագույնը 1 է, առավելագույնը՝ 50։
PROXY_HEALTH_TEST_STAGGER_MS 100 src/lib/proxyHealth/probeTarget.ts Մեկ փաթեթի ներսում երկու ստուգումների մեկնարկների միջև ուշացումը՝ մվ-ով։ Առանց դրա ամբողջ փաթեթը կմեկնարկի նույն պահին, և ընդհանուր ելքային IP-ն կարող է գործարկել թիրախի հարցումների հաճախականության սահմանափակումը։ Սահմանեք 0՝ ընդմիջումն անջատելու համար. առավելագույնը՝ 5000։
PROXY_HEALTH_USE_PROVIDER_TARGET true src/lib/proxyHealth/providerProbeTarget.ts Սահմանեք "false"՝ պրոքսիին նշանակված մատակարարի իրական հոսթի (GET /models, առանց API բանալու) ստուգումը դադարեցնելու և դրա փոխարեն միշտ PROXY_HEALTH_TEST_URL-ն օգտագործելու համար։
PROXY_HEALTH_AUTO_DEACTIVATE false src/lib/proxyHealth/statusPolicy.ts Երբ false է (լռելյայն), հասանելիության ավտոմատ ստուգումները (պլանավորիչը + /api/settings/proxies/auto-test-ի "Ստուգել բոլորը" կոճակը) միայն ընթերցման համար են և երբեք չեն փոխում պրոքսիի կարգավիճակը. ակտիվ/ոչ ակտիվ վիճակը սահմանում է միայն օպերատորը, ուստի անկայուն ստուգումը չի կարող անմատչելի դարձնել նշանակված պրոքսին (#6246)։ Սահմանեք true՝ ստուգման և կարգավիճակի սահմանման նախկին վարքագիծը վերականգնելու համար։
PROXY_POOL_EGRESS_OBSERVATION false src/shared/utils/featureFlags.ts Ըստ ցանկության միացվող գործառույթի դրոշակ (տե՛ս FEATURE_FLAGS.md. վահանակի ՏԲ-ի վերասահմանումն ունի գերակայություն)։ true-ն (կամ 1, yes) վահանակում՝ պրոքսիների խմբի տակ, ցուցադրում է միայն ընթերցման համար նախատեսված ելքային հոսքի դիտարկումը (տարբեր ելքային IP-ներ, կապեր և վերջին 24 ժամվա ընթացքում մեկ IP-ի հետևում առավել հաճախ հանդիպած քանակը՝ պրոքսիի մատյանի տվյալների հիման վրա)։ Երբեք չի օգտագործվում երթուղավորման համար։
PROXY_AUTO_REMOVE false src/lib/proxyHealth/scheduler.ts Սահմանեք true, որպեսզի պլանավորիչը հաջորդական կրկնվող ձախողումներից հետո ինքնաբերաբար հեռացնի պրոքսիները։
PROXY_AUTO_REMOVE_AFTER 3 src/lib/proxyHealth/scheduler.ts Հաջորդական ձախողումների քանակը, որից հետո պլանավորիչը ինքնաբերաբար հեռացնում է պրոքսին (երբ PROXY_AUTO_REMOVE=true)։
PROXY_AUTO_DISABLE false src/lib/proxyHealth/scheduler.ts Սահմանեք true, որպեսզի պլանավորիչը կրկնվող հաջորդական ձախողումներից հետո պրոքսին մեղմորեն անջատի (կարգավիճակը՝ dead, երբեք չի ջնջվում), այլ ոչ թե հեռացնի այն։ PROXY_AUTO_REMOVE-ի ոչ կործանարար այլընտրանքն է․ պրոքսին անմիջապես դուրս է մնում փուլի/ռոտացիայի որոշման գործընթացից (շրջանակի փուլի որոշման ժամանակ օգտագործվող ակտիվ կարգավիճակի զտիչն արդեն իսկ բացառում է այն) և ինքնաբերաբար վերաակտիվացվում է, երբ կրկին սկսում է հաջողությամբ անցնել ստուգումները։ Օգտագործում է PROXY_AUTO_REMOVE_AFTER-ի նույն շեմը։ Եթե երկու դրոշներն էլ true են, գերակայում է PROXY_AUTO_REMOVE-ը։
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK false src/shared/constants/featureFlagDefinitions.ts Թույլատրում է OAuth-ի և մատակարարի վավերացման հոսքերին շրջանցել ամրակցված պրոքսին և անմիջապես միանալ, երբ պրոքսիի հասանելիության նախնական ստուգումները ձախողվում են։ Գործող առաջնահերթությունն է՝ Feature Flags DB-ի վերագրում > միջավայրի փոփոխական > լռելյայն արժեք։
RATE_LIMIT_MAX_WAIT_MS 30000 (30 վ) open-sse/services/rateLimitManager.ts 429 պատասխանի դեպքում հարցումը ձախողելուց առաջ սպասելու առավելագույն ժամանակը։
RATE_LIMIT_EXECUTION_MAX_WAIT_MS 600000 (10 րոպե) open-sse/services/rateLimitManager.ts Առավելագույն ժամանակը, որի ընթացքում ընդունված հարցումը կարող է մնալ կատարման փուլում՝ նախքան արագության սահմանափակման ամրագրման ժամկետի ավարտը․ սա առանձնացված է հերթում սպասելու ժամանակային բյուջեից, որպեսզի ոչ ինկրեմենտալ դարպասներում հարցման դանդաղ մեկնարկը ժամանակի սպառում չառաջացնի (#12027)։
RATE_LIMIT_MAX_QUEUE_DEPTH 0 (անջատված) open-sse/services/rateLimitManager.ts Հերթ ընդունելու սահմանաչափը․ մերժել 429 queue_full պատասխանով, երբ այսքան հարցում արդեն հերթում է։ 0 = անսահմանափակ (լռելյայն)։
RATE_LIMIT_AUTO_ENABLE (սահմանված չէ) open-sse/services/rateLimitManager.ts Ստիպողաբար միացնում կամ անջատում է արագության սահմանափակման ավտոմատ միացման պաշտպանիչ մեխանիզմը՝ անկախ Dashboard-ում պահպանված կարգավորումից։ Ընդունում է true/1/on՝ ստիպողաբար միացնելու, և false/0/off՝ ստիպողաբար անջատելու համար։
PROVIDER_COOLDOWN_ENABLED (սահմանված չէ → անջատված) open-sse/services/providerCooldownTracker.ts Ըստ ցանկության միացվող՝ հարցումների միջև գործող մատակարարի/միացման սպասման ժամանակի գլոբալ հետևում։ Լռելյայն ԱՆՋԱՏՎԱԾ է (համընկնում է Connection Cooldown / Provider Circuit Breaker գործառույթների հետ)։ Միացնելու համար ընդունում է true/1/on։
PROVIDER_COOLDOWN_MIN_MS 5000 open-sse/services/providerCooldownTracker.ts Նվազագույն սպասման ժամանակը (մվ), որից հետո ձախողված մատակարարի/միացման փորձը կրկնվում է։ Հաջորդական ձախողումների դեպքում աճում է էքսպոնենցիալ կերպով։ Օգտագործվում է միայն, երբ միացված է PROVIDER_COOLDOWN_ENABLED։
PROVIDER_COOLDOWN_MAX_MS 300000 (5 րոպե) open-sse/services/providerCooldownTracker.ts Առավելագույն դադարի սահմանաչափը (մվ), որից հետո ձախողված մատակարարը/կապը կրկին փորձարկվում է՝ անկախ հանգամանքներից։ Օգտագործվում է միայն այն դեպքում, երբ PROVIDER_COOLDOWN_ENABLED-ը միացված է։
STREAM_RECOVERY_ENABLED (սահմանված չէ → անջատված) src/lib/resilience/settings.ts (սկզբնական արժեք) → open-sse/services/streamRecovery.ts (տրամաբանություն) Ինչ է անում․ վերականգնում է ընդհատված վերին հոսքերը թափանցիկ եղանակով (free-claude-code պորտ)։ Բացվող SSE պատուհանը պահում է մինչև STREAM_RECOVERY.HOLDBACK_MS (750 մվ), որպեսզի ամրագրումից առաջ տեղի ունեցած ընդհատումը՝ երբ հաճախորդին դեռ ոչ մի բայթ չի հասել, անտեսանելիորեն վերաբացվի և կրկին փորձարկվի։ Երբ միացնել․ անկայուն/վերին հոսքերի դեպքում, որոնք հաճախ հոսքի սկզբում ընդհատվում են՝ փոխանցելով 0 բայթ։ Թողեք ԱՆՋԱՏՎԱԾ, եթե չեք կարող թույլ տալ յուրաքանչյուր հոսքի առաջին տոկենին հասնելու ժամանակի մինչև 750 մվ ավելացում։ Ընդունում է true/1/on։ Սահմանում է պահպանվող Resilience կարգավորման սկզբնական արժեքը․ սահմանվելուց հետո Dashboard-ի կարգավորումն ունի առաջնահերթություն։
STREAM_RECOVERY_MIDSTREAM_ENABLED (սահմանված չէ → անջատված) src/lib/resilience/settings.ts (սկզբնական արժեք) → open-sse/services/streamRecovery.ts (տրամաբանություն) Ինչ է անում․ հոսքի միջնամասից շարունակություն (Փուլ 4.4)՝ ամրագրումից հետո տեղի ունեցած ընդհատումից հետո (բայթերն արդեն հասել են հաճախորդին) կրկին հարցում է ուղարկում՝ մասնակի տեքստը որպես օգնականի նախալրացում օգտագործելով, և կցում է բացակայող վերջնամասը։ Միայն պարզ տեքստով OpenAI-ի հետ համատեղելի հոսքերի համար․ երբեք չի գործարկվում ընթացիկ գործիքի կանչի ժամանակ։ Երբ միացնել․ երկար գեներացումների դեպքում, որոնք ընդհատվում են պատասխանի կեսում, և երբ ընդունելի է, որ վերականգնված վերջնամասը հասնի միանգամից՝ ոչ թե տոկեն առ տոկեն։ Անկախ է STREAM_RECOVERY_ENABLED-ից (ռիսկի այլ պրոֆիլ ունի)։ Ընդունում է true/1/on։
STREAM_THROUGHPUT_WATCHDOG_ENABLED (սահմանված չէ → անջատված) src/lib/resilience/settings.tsopen-sse/services/throughputWatchdog.ts Ընտրովի ակտիվ հոսքի օգտակար ելքի վերահսկիչ։ Հայտնաբերում է այն հոսքերը, որոնք շարունակում են հատվածներ ուղարկել, սակայն մնում են օգնականի ելքի կազմաձևված արագությունից ցածր․ պարբերական ազդանշանները, օգտագործման իրադարձությունները, դատարկ դելտաները և գործիքի/դատողության փուլերը կեղծ առաջընթաց չեն համարվում։ Առանձին է անգործության և կոշտ վերջնաժամկետի ժամանակային սահմանափակումներից։
STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS 30000 src/lib/resilience/settings/normalize.ts Թողունակության գնահատումից առաջ արտոնյալ ժամանակահատված՝ սահմանափակված 0600000 մվ միջակայքով։
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS 30000 src/lib/resilience/settings/normalize.ts Օգտակար ելքի շարժական պատուհան՝ սահմանափակված 1000600000 մվ միջակայքով․ ընդհատումից առաջ պահանջվում է մեկ ամբողջական պատուհան։
STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND 4 src/lib/resilience/settings/normalize.ts UTF-8 ձևաչափով օգնականի ելքի բայթերի նվազագույն արագությունը (տոկենների պահպանողական փոխարինիչ)՝ սահմանափակված 11000000 միջակայքով։
STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES 1 src/lib/resilience/settings/normalize.ts Չափելի համարվող օգտակար ելքի զրոյից մեծ նմուշի նվազագույն չափը՝ սահմանափակված 11000000 բայթ միջակայքով։
HEALTHCHECK_STAGGER_MS 3000 src/lib/tokenHealthCheck.ts Գործարկման ժամանակ մատակարարների տոկենների առողջության ստուգումների միջև աստիճանական ընդմիջումը (մվ)։
HEALTHCHECK_JITTER_MIN_MS 500 src/lib/tokenHealthCheck.ts Պոռթկումները կանխելու համար մատակարարների տոկենների առողջության ստուգումների միջև HEALTHCHECK_STAGGER_MS-ին ավելացվող պատահական տատանման նվազագույն արժեքը (մվ) (Խնդիր #1220)։
HEALTHCHECK_JITTER_MAX_MS 5000 src/lib/tokenHealthCheck.ts Պոռթկումները կանխելու համար մատակարարների տոկենների առողջության ստուգումների միջև HEALTHCHECK_STAGGER_MS-ին ավելացվող պատահական տատանման առավելագույն արժեքը (մվ) (Խնդիր #1220)։
HEALTHCHECK_BATCH_SIZE 20 src/lib/tokenHealthCheck.ts Մեկնարկային թոքենների առողջության ստուգման անցման զուգահեռ ստուգումների փաթեթի չափը․ ավելի մեծ արժեքները զուգահեռ ստուգում են ավելի շատ կապեր, իսկ ավելի փոքր արժեքները նվազեցնում են բեռնվածության կտրուկ աճը (Issue #7875, #7719-ի հետընթաց)։
REQUEST_RETRY 2 src/sse/services/cooldownAwareRetry.ts Մոդելի մակարդակով սառեցման պատասխանների դեպքում ավտոմատ կրկնափորձերի քանակը՝ նախքան հաճախորդին սխալ վերադարձնելը։
MAX_RETRY_INTERVAL_SEC 30 src/sse/services/cooldownAwareRetry.ts Սառեցման կրկնափորձերի միջև հետաձգման առավելագույն միջակայքը (վայրկյաններով)։ Անկախ վերին հոսքի Retry-After արժեքից՝ սահմանափակվում է այս արժեքով։
HEADROOM_URL http://localhost:8787 src/lib/headroom/detect.ts Headroom թոքենների խնայողության պրոքսիի URL-ը։ Կառավարման վահանակի կենսացիկլը (api/headroom/*) լռելյայն տեղային headroom-ai CLI է գործարկում loopback հասցեում․ վերասահմանեք միայն արտաքին Docker sidecar պրոքսի մատնանշելու համար։

Հոսքի վերականգնման կարգավորման հաստատուններ

Վերականգնման պահման վարքագիծը կարգավորվում է open-sse/config/constants.ts-ում (STREAM_RECOVERY) կոշտ կոդավորված հաստատուններով, որոնք տեղեկանքի համար ներկայացված են այստեղ․ դրանք փոխելու համար անհրաժեշտ է խմբագրել կոդը, ոչ թե միջավայրի փոփոխականը․

  • STREAM_RECOVERY.HOLDBACK_MS = 750 — որքան ժամանակ է պահվում բացվող SSE պատուհանը, որպեսզի վաղ ընդհատման դեպքում հնարավոր լինի կրկնափորձ կատարել՝ նախքան որևէ բայթ հաճախորդին ուղարկելը։
  • STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536 — պահվող պատուհանի կոշտ սահմանաչափը․ կատարել հանձնում (մաքրում + անմիջական փոխանցում), հենց որ այսքան բայթ կուտակվի՝ անկախ ժամանակաչափից։
  • STREAM_RECOVERY.EARLY_RETRY_MAX = 4 — վերին հոսքի հոսքի թափանցիկ վերաթողարկումների առավելագույն քանակը, քանի դեռ պահումը հանձնված չէ։

Յուրաքանչյուր մատակարարի համար սահող պատուհանով հաճախականության սահմանաչափ (առանց միջավայրի փոփոխականի) FCC-ից տեղափոխված յուրաքանչյուր մատակարարի համար սահող պատուհանով հաճախականության սահմանաչափի պահուստային մեխանիզմը առկա է կոդում (open-sse/services/providerDefaultRateLimit.ts, միացված է open-sse/services/rateLimitManager.ts-ի միջոցով), սակայն մատակարարվում է դատարկ լռելյայն քարտեզով և ներկայում չունի օպերատորի միջավայրի փոփոխական այն միացվում է միայն թեստային hook-ի / կոդի խմբագրման միջոցով։ Այն միտումնավոր ներառված չէ վերևի աղյուսակում։ Յուրաքանչյուր (token, IP)-ի համար relay սահմանափակիչը, որն ունի կարգավորման պարամետր, RELAY_IP_PER_MINUTE-ն է (§3 Ցանց և պորտեր)։


22. Վրիպազերծում

Caution

Այս փոփոխականները ստեղծում են մանրամասն արտածում և կարող են արտահոսել զգայուն տվյալներ։ Երբեք մի՛ միացրեք արտադրական միջավայրում։

Փոփոխական Լռելյայն արժեք Աղբյուրի ֆայլ Նկարագրություն
CURSOR_DEBUG (սահմանված չէ) open-sse/executors/cursor.ts Սահմանեք 1՝ Cursor կատարիչի մանրամասն գրանցամատյանները միացնելու համար (վերծանված SSE հատվածներ և այլն)։
CURSOR_STREAM_DEBUG (սահմանված չէ) open-sse/executors/cursor.ts CURSOR_DEBUG-ի հետադարձ համատեղելի կեղծանունը։
CURSOR_DUMP_FILE (սահմանված չէ) open-sse/executors/cursor.ts Ֆայլի ընտրովի ուղի, որտեղ գրվում են Cursor-ի հում վերծանված հատվածները, երբ CURSOR_DEBUG=1։
CURSOR_STREAM_TIMEOUT_MS 300000 open-sse/executors/cursor.ts Հոսքի անգործության ժամանակի սահմանափակում (մվ) Cursor կատարիչի համար։
CURSOR_KV_GRACE_MS 2000 open-sse/executors/cursor.ts Լրացուցիչ ժամանակային պատուհան (մվ) composer-ի kv_after_text մեղմ ավարտիչից հետո, երբ բայթեր դեռևս բուֆերացված են. սա exec_mcp գործիքի հաջորդող կանչին ժամանակ է տալիս ավարտելու իր կադրը։
CURSOR_TOOL_DIRECTIVE միացված է (!== "0") open-sse/executors/cursor.ts Գործիքի հաստատման հրահանգ, որի շնորհիվ composer-2.5-ը հուսալիորեն գործիքների կանչեր է կատարում։ Սահմանեք 0՝ անջատելու համար։
OMNIROUTE_SYSTEM_INSTRUCTION_APPEND (սահմանված չէ) open-sse/translator/request/claude-to-openai.ts, open-sse/translator/response/openai-to-claude.ts Օպերատորի կողմից սահմանված համակարգային հուշման տեքստ, որը թարգմանությունից ՀԵՏՈ կցվում է համակարգային հաղորդագրությանը (հետթարգմանական ներդրում)՝ հասնելով codex/Responses և /v1/messages ուղիներին։ Նաև օգտագործվում է որպես հրահանգի նախածանց, որը հեռացվում է արձագանքված համակարգային նախաբանի բլոկներից։ Անջատելու համար թողեք չսահմանված։
CURSOR_IMAGE_FETCH_TIMEOUT_MS 15000 open-sse/utils/cursorImages.ts Յուրաքանչյուր պատկերի ստացման ժամանակի սահմանափակում (մվ) հեռավար image_url տեսողական մուտքագրման համար։
CURSOR_STATE_DB_PATH (որոնվում է) open-sse/utils/cursorVersionDetector.ts Վերասահմանում է Cursor IDE-ի վիճակի տվյալների բազայի որոնումը, որն օգտագործվում է IDE-ի տարբերակը հայտնաբերելու համար։
CURSOR_AGENT_CLI_VERSION (հայտնաբերել / ամրագրել) open-sse/utils/cursorAgentCliVersion.ts Agent CLI-ի կառուցման նույնացուցիչը (YYYY.MM.DD-<hash>)՝ Agent Run-ի x-cursor-client-version: cli-…-ի համար։
CURSOR_AGENT_BIN (սահմանված չէ) open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Պատկերների ստեղծման համար օգտագործվող Cursor Agent-ի երկուական ֆայլի ուղին։ Եթե սահմանված չէ, մշակիչն օգտագործում է providerSpecificData.agentBin, ապա՝ PATH-ը։
CURSOR_IMG_TIMEOUT_MS 210000 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Յուրաքանչյուր պատկերի ընդհանուր ժամանակային սահմանափակում (մվ) Cursor Agent-ի պատկերների առաջադրանքների համար։
CURSOR_IMG_MAX_CONCURRENT 2 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Համօգտագործվող հասանելիության միաժամանակության սահմանափակիչը Cursor-ի պատկերների առաջադրանքների համար։
CURSOR_IMG_MODEL հարցում / auto open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Վերասահմանում է Cursor CLI-ի --model-ը պատկերների առաջադրանքների համար։
UC_IMAGE_POLL_INTERVAL_MS 2000 open-sse/handlers/imageGeneration/providers/ucImage.ts UC-ի (uncensored.com) պատկերների ստեղծման արդյունքի հարցման հաճախականությունը (մվ)։
UC_IMAGE_POLL_TIMEOUT_MS 60000 open-sse/handlers/imageGeneration/providers/ucImage.ts UC-ի պատկերների ստեղծման արդյունքի հարցման ընդհանուր ժամանակային սահմանափակումը (մվ)։
UC_VIDEO_POLL_INTERVAL_MS 3000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UC-ի (uncensored.com) տեսանյութերի ստեղծման արդյունքի հարցման հաճախականությունը (մվ)։
UC_VIDEO_POLL_TIMEOUT_MS 300000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UC-ի տեսանյութերի ստեղծման արդյունքի հարցման ընդհանուր ժամանակային սահմանափակումը (մվ)։
CURSOR_DATA_DIR (որոնվում է) open-sse/utils/cursorAgentCliVersion.ts Վերասահմանում է Cursor Agent CLI-ի տվյալների պանակը (…/versions/<id>)՝ նույն փոփոխականը, որն օգտագործում է պաշտոնական գործակալը։
CURSOR_TOKEN (սահմանված չէ) scripts/ad-hoc/cursor-tap.cjs Cursor-ի անմիջական bearer նշանը, որն օգտագործվում է մշակողների գործիքակազմի կողմից։
OMNIROUTE_LOG_REQUEST_SHAPE անջատված է (միացվում է "1"-ով) src/app/api/v1/chat/completions/route.ts Գրանցում է բովանդակության տեսակի/երկարության նշիչները զրույցի մեծ օգտակար բեռների համար, երբ սահմանված է "1"։ Լռելյայն անջատված է՝ գրանցամատյանի աղմուկը նվազեցնելու համար։
DEBUG_RESPONSES_SSE_TO_JSON (սահմանված չէ) open-sse/handlers/responseTranslator.ts Սահմանեք true՝ Responses API-ի SSE→JSON թարգմանության մանրամասները գրանցելու համար։
DEBUG_CLAUDE_NONSTREAM (սահմանված չէ) open-sse/handlers/responseTranslator.ts Սահմանեք true՝ Claude-ի պատասխանի թարգմանության ուղում textContent-ի դատարկ հատվածները ցուցադրելու համար (միայն վրիպազերծման նպատակով)։
NEXT_PUBLIC_OMNIROUTE_E2E_MODE (սահմանված չէ) E2E թեստային գործարկիչ Սահմանեք true՝ E2E թեստային ռեժիմը միացնելու համար (մեղմացված նույնականացում, թեստային կեռիկներ)։

23. GitHub-ի ինտեգրում

Թույլ տվեք օգտատերերին խնդիրների մասին հաղորդել անմիջապես Dashboard-ից։

Փոփոխական Լռելյայն Աղբյուր ֆայլ Նկարագրություն
GITHUB_ISSUES_REPO (սահմանված չէ) src/app/api/v1/issues/report/route.ts Պահոց՝ owner/repo ձևաչափով։
GITHUB_ISSUES_TOKEN (սահմանված չէ) src/app/api/v1/issues/report/route.ts GitHub-ի անձնական մուտքի թոքեն՝ issues:write շրջանակով։
GITHUB_TOKEN (սահմանված չէ) խնդիրների դասակարգման / ամպային գործակալի օժանդակ գործիքներ GitHub-ի ընդհանուր մուտքի թոքեն, որն օգտագործվում է որպես GITHUB_ISSUES_TOKEN-ի պահուստային տարբերակ և կիրառվում է src/lib/cloudAgent/*-ում գտնվող ամպային գործակալի օժանդակ գործիքների կողմից։

Տեղակայման սցենարներ

Ռելեյի բեքենդի SRE ուղեցույցների համար (ts/bifrost/auto վարքագիծ, 9router-ի և CLIProxyAPI-ի տեղակայում, ինչպես նաև բարձր թողունակության պահուստային ռազմավարություն) տե՛ս Ռելեյի բեքենդի ռազմավարությունը։

Նվազագույն տեղային մշակում

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

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

Մեկուսացված միջավայր / 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 (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. Հմտությունների ավազարկղ (v3.8.0+)

Սահմանափակումներ և անվտանգության կարգավորիչներ, որոնք կիրառվում են, երբ Skills շրջանակը (src/lib/skills/) ավազարկղային միջավայրում կատարում է օգտատիրոջ կողմից սահմանված ավտոմատացումներ։

Փոփոխական Լռելյայն Աղբյուր ֆայլ Նկարագրություն
SKILLS_SANDBOX_TIMEOUT_MS 10000 (10 վ) src/lib/skills/builtins.ts Ավազարկղում հմտության կոդի յուրաքանչյուր կատարման իրական ժամանակի սահմանաչափ։ Կոշտ սահմանափակում է․ ավելի երկար տևող ցանկացած գործողություն դադարեցվում է։
SKILLS_EXECUTION_TIMEOUT_MS (հետադարձորեն օգտագործում է SKILLS_SANDBOX_TIMEOUT_MS) src/lib/skills/ Հմտության բարձր մակարդակի կազմակերպման ժամանակի սահմանաչափ։ Բազմաքայլ աշխատանքային հոսքեր թույլատրելու համար սահմանեք SKILLS_SANDBOX_TIMEOUT_MS-ից բարձր արժեք։
SKILLS_MAX_FILE_BYTES 1048576 (1 ՄԲ) src/lib/skills/builtins.ts Բայթերի առավելագույն քանակը, որը հմտությունը կարող է կարդալ ավազարկղում գտնվող ցանկացած առանձին ֆայլից։
SKILLS_MAX_HTTP_RESPONSE_BYTES 256000 (250 ԿԲ) src/lib/skills/builtins.ts Հմտության ներսում որևէ առանձին HTTP պատասխանից վերցվող բայթերի առավելագույն քանակը։
SKILLS_MAX_SANDBOX_OUTPUT_CHARS 100000 src/lib/skills/builtins.ts Ավազարկղի կանչից վերադարձվող stdout/stderr նիշերի քանակի կոշտ սահմանափակում։
SKILLS_SANDBOX_NETWORK_ENABLED false src/lib/skills/builtins.ts Սահմանեք 1/true՝ ավազարկղի ներսից ելքային ցանցային հասանելիություն թույլատրելու համար։ Անվտանգության նկատառումներով լռելյայն մեկուսացված է։
SKILLS_ALLOWED_SANDBOX_IMAGES (դատարկ) src/lib/skills/builtins.ts Ավազարկղում կատարելու համար թույլատրված կոնտեյներային պատկերների՝ ստորակետերով բաժանված թույլատրացանկ։ Դատարկ լինելը նշանակում է միայն ներկառուցված լռելյայն տարբերակը։
SKILLS_SANDBOX_DOCKER_IMAGE (ներկառուցված լռելյայն տարբերակ) src/lib/skills/ Docker-ի վրա հիմնված ավազարկղ ստեղծելիս օգտագործվող կոնտեյներային պատկեր։ Վերասահմանեք՝ հատուկ ամրապնդված բազային պատկերը ֆիքսելու համար։
SKILLS_SANDBOX_RUNTIME auto src/lib/skills/sandbox.ts, src/lib/skills/containerProvider.ts Հմտությունների ավազարկղման կոնտեյներային կատարման միջավայր՝ auto | docker | apple | wsl | orbstack | podman։ auto-ն յուրաքանչյուր հյուրընկալող ՕՀ-ի համար ընտրում է տեղադրված լավագույն կատարման միջավայրը (Apple Container/OrbStack՝ macOS-ում, WSL Container՝ Windows-ում, Podman՝ Linux-ում)՝ որպես պահուստային տարբերակ օգտագործելով Docker-ը։

Caution

SKILLS_SANDBOX_NETWORK_ENABLED=true-ի միացումը կամայական հմտության կոդի համար բացում է ելքային ուղի։ Համատեղ տեղակայումներում այն զուգակցեք OUTBOUND_SSRF_GUARD_ENABLED=true-ի և խիստ CORS_ORIGIN/պրոքսի քաղաքականության հետ։


25. Մատակարարի քվոտաներ, թունելներ, պահուստային պատճեններ և կատարման միջավայրի այլ կարգավորումներ

Մատակարարի քվոտաների վերջնակետեր, ցանցային թունելներ (Tailscale, Ngrok, MITM վրիպազերծման պրոքսի), 1Proxy ելքային կապերի պուլ, տվյալների բազայի պահուստային պատճեններ և առանձին գործառույթների փոքր վերասահմանումներ, որոնց հղում է կատարում executor շերտը կամ սկրիպտները։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
REDIS_URL redis://localhost:6379 src/shared/utils/rateLimiter.ts Redis-ի միացման տողը՝ հարցումների հաճախականության սահմանափակիչի բեքենդի համար։
ALIBABA_CODING_PLAN_HOST (արտադրական հոսթ) open-sse/services/bailianQuotaFetcher.ts Վերասահմանում է Alibaba Bailian-ի կոդավորման պլանի քվոտաները ստանալու համար օգտագործվող հոսթը։
ALIBABA_CODING_PLAN_QUOTA_URL ստացվում է հոսթից open-sse/services/bailianQuotaFetcher.ts Alibaba Bailian-ի քվոտայի ամբողջական URL-ի վերասահմանում։
QWEN_CLOUD_COOKIE (սահմանված չէ) open-sse/services/qwenTokenPlanQuotaFetcher.ts Կոնսոլի աշխատաշրջանի cookie-ն՝ Qwen Cloud / Model Studio-ի անձնական Token Plan քվոտայի դարպասի համար (ինֆերենսի API բանալին չի կարող այն կարդալ)։ Պատճենեք ամբողջ Cookie հարցման վերնագիրը, որը պարունակում է login_qwencloud_ticket, home.qwencloud.com Billing Subscription բաժնի cs-data.qwencloud.com հասցեին ուղղված ցանկացած api.json կանչից (F12 Network)։ Զգայուն է և կապված է աշխատաշրջանի հետ․ նախընտրելի է օգտագործել յուրաքանչյուր կապի համար նախատեսված qwenCloudCookie Dashboard դաշտը։
QWEN_CLOUD_SEC_TOKEN (սահմանված չէ) open-sse/services/qwenTokenPlanQuotaFetcher.ts Token Plan կոնսոլի դարպասի համար sec_token-ի ձեռքով վերասահմանում։ Զգայուն է․ երբ սահմանված չէ, ստացողը այն որոշում է Dashboard-ի HTML-ից՝ օգտագործելով cookie-ն։
QWEN_TOKEN_PLAN_HOST https://cs-data.qwencloud.com open-sse/services/qwenTokenPlanQuotaFetcher.ts Անձնական Token Plan քվոտայի ստացողի դարպասի հոսթի վերասահմանում (օրինակ՝ bailian-singapore-cs.alibabacloud.com՝ Model Studio կոնսոլի համար)։
QWEN_TOKEN_PLAN_DASHBOARD_URL https://home.qwencloud.com/ open-sse/services/qwenTokenPlanQuotaFetcher.ts Dashboard-ի URL-ը, որն օգտագործվում է մուտք գործած օգտատիրոջ HTML-ից sec_token-ը որոշելու համար։
ALIBABA_FREE_TIER_VISION_FE_PATH /costing-balance/free-quota-image-video open-sse/services/alibabaFreeTierQuotaFetcher.ts Alibaba Model Studio-ի անվճար մակարդակի տեսողական/մեդիա քվոտան ստանալու համար կոնսոլի ֆրոնտենդի ուղու վերասահմանում։
ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH /costing-balance/free-quota-multimodal open-sse/services/alibabaFreeTierQuotaFetcher.ts Կոնսոլի արտաքին ինտերֆեյսի ուղու վերասահմանում՝ Alibaba Model Studio-ի անվճար մակարդակի բազմամոդալ քվոտան ստանալու համար։
ALIBABA_FREE_TIER_AUDIO_FE_PATH /costing-balance/free-quota-audio open-sse/services/alibabaFreeTierQuotaFetcher.ts Կոնսոլի արտաքին ինտերֆեյսի ուղու վերասահմանում՝ Alibaba Model Studio-ի անվճար մակարդակի աուդիո քվոտան ստանալու համար։
ALIBABA_FREE_TIER_ALLOWLIST_PATH (սահմանված չէ) open-sse/services/alibabaFreeTierAllowlist.ts Ներկառուցված Alibaba-ի անվճար մակարդակի տեքստային մոդելների թույլատրված ցանկի համար տեղային JSON վերասահմանման ընտրովի ուղի։ Չգտնելու դեպքում օգտագործվում է $DATA_DIR/alibaba-free-tier-allowlist.json, ապա՝ config/alibaba-free-tier-allowlist.json։
CONTEXT_RESERVE_TOKENS 1024 open-sse/services/contextManager.ts Հուշումների բյուջեները հաշվարկելիս լրացման ելքի համար պահուստավորված թոքեններ։
CONTEXT_KEEP_LATEST_IMAGES 2 open-sse/services/contextManager.ts Ամենավերջին ներկառուցված պատկերներից քանիսը պահել՝ ավելի հները հեռացնելիս, որպեսզի դրանք տեղավորվեն համատեքստի պատուհանում (#8560)։
MODEL_ALIAS_COMPAT_ENABLED միացված open-sse/services/model.ts Միացնում կամ անջատում է հին հաճախորդների կողմից օգտագործվող՝ մոդելների այլանունների համատեղելիության ժառանգական շերտը։
OMNIROUTE_EMERGENCY_FALLBACK միացված open-sse/services/emergencyFallback.ts Սահմանեք false (կամ 0)՝ անջատելու բյուջեի սպառման արտակարգ պահուստային մեխանիզմը, որը ձախողված հարցումները վերաուղղորդում է անվճար nvidia/openai/gpt-oss-120b մոդելին։ Արդյունավետ առաջնահերթությունն է՝ Feature Flags DB-ի վերասահմանում > միջավայրի փոփոխական > լռելյայն արժեք․ անհասանելիության դեպքում ծառայությունն օգտագործում է միջավայրի փոփոխականի չմշակված արժեքը։
COMMAND_CODE_CALLBACK_PORT (սահմանված չէ) src/app/api/providers/command-code/auth/shared.ts Տեղային պորտ, որն օգտագործվում է Command Code CLI օժանդակ գործիքից OAuth ոճի հետադարձ կանչերի համար։
COMMAND_CODE_VERSION 0.33.2 open-sse/executors/commandCode.ts Command Code-ի վերին հոսքին որպես x-command-code-version վերնագիր ուղարկվող արժեք։ Վերասահմանեք՝ CLI-ի տարբերակը թարմացնելու համար։
COMMANDCODE_API_URL https://api.commandcode.ai open-sse/services/usage/command-code.ts Command Code-ի օգտագործման/քվոտայի վերին հոսքի բազային URL-ը, որն օգտագործվում է սմարթֆոնի քվոտայի ստացման հեռաչափության կողմից։ Վերասահմանեք ինքնահոսթինգով/այլընտրանքային Command Code API-ի համար։
MITM_LOCAL_PORT 443 src/mitm/server.cjs MITM վրիպազերծման պրոքսիի տեղային կապակցման պորտը։
MITM_DISABLE_TLS_VERIFY 0 src/mitm/server.cjs Սահմանեք `1՝ հոսանքին հակառակ TLS ստուգումն անջատելու համար (միայն մշակման միջավայրում)։
MITM_IDLE_TIMEOUT_MS 60000 src/mitm/socketTimeouts.ts, src/mitm/server.cjs Պրոքսիավորված կապերի պարապ սոքեթի ժամանակասպառում (մվ) այս շեմը գերազանցած պարապ սոքեթները փակվում են՝ կիսաբաց թունելների արտահոսքը կանխելու համար։
MITM_VERBOSE 1 src/mitm/server.cjs, src/mitm/_internal/bypass.cjs Երթուղավորման որոշումների գրանցամատյանի մանրամասնության մակարդակը․ 0-ն անջատում է գրանցումը, իսկ ավելի բարձր արժեքները գրանցում են շրջանցման/երթուղավորման ավելի շատ որոշումներ։
MITM_ROOT_CA_ENABLED false src/mitm/manager.ts Սահմանեք `true՝ արմատային CA + յուրաքանչյուր հոսթի համար առանձին վերջնական սերտիֆիկատի մոդելն ընտրելու համար (#6684)։ Նոր տեղադրումներն այն ստանում են ինքնաբերաբար․ նախապես վստահված հին վերջնական սերտիֆիկատ ունեցող տեղադրումները պահպանում են հին՝ ամրագրված SAN-ով սերտիֆիկատը, եթե այս մոդելն ուղղակիորեն չի ընտրվել։
MITM_CERT_MODE legacy src/mitm/manager.ts, src/mitm/server.cjs Սահմանվում է MITM կառավարչի ԿՈՂՄԻՑ գործարկված պրոքսի գործընթացի համար (root-ca | legacy)՝ արտացոլելով սերտիֆիկատի տեղափոխման որոշումը․ նախատեսված չէ ձեռքով սահմանելու համար։
OMNIROUTE_NO_SUDO 0 src/mitm/systemCommands.ts Սահմանեք 1 (ճշմարտացի արժեք)՝ MITM սերտիֆիկատի վստահության հրամանների սկզբի sudo-ն հեռացնելու համար․ նախատեսված է առանց root-ի / օգտագործողի անունների տարածքով տեղակայումների համար, որտեղ օպերատորը ձեռքով վստահում է CA-ին (օրինակ՝ Node-ի լրացուցիչ CA սերտիֆիկատների մեխանիզմի միջոցով)։
SKIP_ANTIGRAVITY_DNS (սահմանված չէ) src/mitm/dns/provision.ts Սահմանեք true՝ Antigravity պրոքսիի հոսթանունների համար /etc/hosts DNS գրառումների նախապատրաստումն ամբողջությամբ բաց թողնելու համար․ նախատեսված է sudo/root հասանելիություն չունեցող կոնտեյներների համար։
OMNIROUTE_SKIP_DNS_WRITE (սահմանված չէ) src/mitm/dns/dnsConfig.ts Սահմանեք 1՝ DNS գրառումներ ավելացնելիս/հեռացնելիս hosts ֆայլում գրանցումը բաց թողնելու համար․ նախատեսված է մեկուսացված կամ միայն ընթերցման համար հասանելի թեստային միջավայրերի համար։
OMNIROUTE_SKIP_SYSTEM_TRUST 0 src/mitm/cert/install.ts, src/mitm/tproxy/caTrust.ts Միայն թեստերի/CI-ի համար նախատեսված պաշտպանիչ միջոց․ սահմանեք 1, որպեսզի սերտիֆիկատի վստահության տեղադրումը/հեռացումը որևէ գործողություն չկատարի, և թեստերի հավաքածուն երբեք չփոփոխի ՕՀ-ի վստահության պահոցը։ Ինքնաբերաբար սահմանվում է թեստերի կարգավորման և CI աշխատանքային հոսքերի կողմից։
CHANGELOG_BASE_REF (ավտոմատ) scripts/check/check-changelog-integrity.mjs Հստակ բազային հղում՝ CHANGELOG-ի ջնջումը կանխող ստուգման համար (լռելյայն՝ CI-ում PR-ի բազային ճյուղը կամ ամենաբարձր release/v*-ը)։
FREE_PROXY_AUTO_SYNC_ENABLED false src/lib/freeProxyProviders/scheduler.ts Սահմանեք true՝ ֆոնային անվճար պրոքսիների փուլի ավտոմատ համաժամացման պլանավորիչը միացնելու համար։ Միացվում է ըստ ցանկության, լռելյայն անջատված է։
FREE_PROXY_AUTO_SYNC_INTERVAL_MS 1800000 src/lib/freeProxyProviders/scheduler.ts Ավտոմատ համաժամացման միջակայքը՝ միլիվայրկյաններով (լռելյայն՝ 30 րոպե)։
FREE_PROXY_1PROXY_ENABLED true src/lib/freeProxyProviders/oneproxy.ts Միացնել 1proxy անվճար պրոքսի աղբյուրը։ Անջատելու համար սահմանեք false։
FREE_PROXY_1PROXY_API_URL (տե՛ս oneproxy.ts) src/lib/freeProxyProviders/oneproxy.ts 1proxy API URL-ի վերասահմանում։
FREE_PROXY_1PROXY_MAX 500 src/lib/freeProxyProviders/oneproxy.ts Յուրաքանչյուր համաժամացման ընթացքում 1proxy-ից ստացվող պրոքսիների առավելագույն քանակը։
FREE_PROXY_1PROXY_MIN_QUALITY 50 src/lib/freeProxyProviders/oneproxy.ts Որակի գնահատականի նվազագույն շեմը՝ 1proxy-ից ներմուծումների համար։
FREE_PROXY_PROXIFLY_ENABLED true src/lib/freeProxyProviders/proxifly.ts Միացնել Proxifly անվճար պրոքսի աղբյուրը։ Անջատելու համար սահմանեք false։
FREE_PROXY_PROXIFLY_QUANTITY 100 src/lib/freeProxyProviders/proxifly.ts Յուրաքանչյուր Proxifly համաժամացման ընթացքում ստացվող պրոքսիների քանակը։
FREE_PROXY_PROXIFLY_ANONYMITY elite src/lib/freeProxyProviders/proxifly.ts Proxifly-ի անանունության մակարդակի զտիչը (elite, anonymous, transparent)։
FREE_PROXY_IPLOCATE_ENABLED false src/lib/freeProxyProviders/iplocate.ts Միացնել IPLocate-ի անվճար պրոքսի աղբյուրը։ Միայն համաձայնությամբ միացվող։
FREE_PROXY_IPLOCATE_BASE_URL https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols src/lib/freeProxyProviders/iplocate.ts IPLocate-ի պրոքսիների ցանկի բազային URL-ի վերասահմանում։
FREE_PROXY_WEBSHARE_ENABLED true src/lib/freeProxyProviders/webshare.ts Միացնել Webshare-ի պրոքսիների հավաքակազմի աղբյուրը։ Անջատելու համար սահմանեք false. նաև անհրաժեշտ է սահմանել FREE_PROXY_WEBSHARE_API_KEY։
FREE_PROXY_WEBSHARE_API_KEY (չկա) src/lib/freeProxyProviders/webshare.ts Webshare հաշվի API թոքեն (Authorization: Token <key>)։ Պարտադիր է. առանց դրա մատակարարը մնում է անջատված։
FREE_PROXY_WEBSHARE_API_URL https://proxy.webshare.io/api/v2/proxy/list/ src/lib/freeProxyProviders/webshare.ts Webshare-ի պրոքսիների ցանկի API URL-ի վերասահմանում։
FREE_PROXY_WEBSHARE_MAX 500 src/lib/freeProxyProviders/webshare.ts Webshare-ի յուրաքանչյուր համաժամացման ժամանակ ներմուծվող պրոքսիների առավելագույն քանակը։
NEXT_PUBLIC_VERCEL_RELAY_ENABLED true src/app/(dashboard)/…/ProxyPoolTab.tsx Ցուցադրել կամ թաքցնել «Deploy Vercel Relay» կոճակը «Proxy Pool» ներդիրում։
VERCEL_API_BASE https://api.vercel.com src/app/api/settings/proxy/vercel-deploy/route.ts Vercel API-ի բազային URL-ի վերասահմանում (թեստավորման համար)։
NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/…/VercelRelayModal.tsx Նախագծի լռելյայն անվանումը, որը նախապես լրացվում է Vercel Relay-ի տեղակայման պատուհանում։
TAILSCALE_BIN (ինքնաբերաբար հայտնաբերվող) src/lib/tailscaleTunnel.ts Բացահայտ ուղի դեպի tailscale երկուական ֆայլը։
TAILSCALED_BIN (ինքնահայտնաբերում) src/lib/tailscaleTunnel.ts tailscaled դեմոնի գործարկվող ֆայլի հստակ ուղին։
TAILSCALE_AUTHKEY (սահմանված չէ) src/lib/tailscaleTunnel.ts Նախապես համօգտագործվող Tailscale նույնականացման բանալի՝ ոչ ինտերակտիվ / առանց գրաֆիկական միջերեսի tailscale up հրամանի համար (փոխանցվում է --auth-key=-ի միջոցով)։ Եթե սահմանված չէ, մուտքագրումն անցնում է ինտերակտիվ դիտարկչային նույնականացման URL-ին։
NGROK_AUTHTOKEN (սահմանված չէ) src/lib/ngrokTunnel.ts Նույնականացնում է ելքային ngrok թունելները։
DB_BACKUP_MAX_FILES 20 src/lib/db/backup.ts SQLite-ի պահուստային պատճենների առավելագույն քանակը, որոնք պահպանվում են ձեռքով/ժամանակացույցով կատարվող մաքրման ժամանակ։ Միգրացիայի ակնթարթային պատճենները հասցեավորվում են ըստ բովանդակության և կրկին օգտագործվում են տվյալների բազայի նույնական վիճակի դեպքում․ դրանք չեն հեռացվում զուգահեռ միգրացիայի ժամանակահատվածում։ Գերակայում է Կարգավորումներ → Տվյալների բազայի պահուստային պատճենների պահպանում բաժնում պահպանված արժեքին։
DB_BACKUP_RETENTION_DAYS 0 src/lib/db/backup.ts Առավելագույն տարիքը (օրերով), որի ընթացքում պահուստային պատճենները պահպանվում են ձեռքով/ժամանակացույցով կատարվող մաքրման ժամանակ։ 0-ն անջատում է ըստ տարիքի հեռացումը։ Միգրացիայի ակնթարթային պատճենները չեն հեռացվում զուգահեռ միգրացիայի ժամանակահատվածում։ Գերակայում է Կարգավորումներ → Տվյալների բազայի պահուստային պատճենների պահպանում բաժնում պահպանված արժեքին։
OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS 30000 src/lib/jobs/backupScheduleJob.ts backup-schedule.json-ը կատարող սերվերային առաջադրանքի կրկնման միջակայքը (մվ)։ Այն պետք է զգալիորեն փոքր լինի cron-ի 1 րոպեանոց մանրամասնությունից․ 5000-ից փոքր կամ վերլուծման չենթարկվող արժեքների դեպքում օգտագործվում է 30000։
CONTAINER_HOST docker scripts/check-permissions.sh Կոնտեյներների կատարման միջավայրի հուշում՝ մուտքի կետի թույլտվությունների ստուգման համար։ Podman-ի ցանկացած կառուցվածքի դեպքում սահմանեք podman։ Քանի որ կոնտեյները չի կարող որոշել՝ շարժիչը տեղակա՞ն է, թե՞ հասանելի է Podman Machine-ի միջոցով, նախազգուշացումը մնում է կառուցվածքից անկախ և հղում է կատարում դեպի contrib/podman/README.md։
QUOTA_STORE_DRIVER sqlite src/lib/quota/storeFactory.ts Քվոտայի բաժնեմասի սպառման պահոցի հետնամաս՝ sqlite (լռելյայն) կամ redis։
QUOTA_STORE_REDIS_URL (սահմանված չէ) src/lib/quota/storeFactory.ts Redis-ի միացման տողը, որն օգտագործվում է, երբ QUOTA_STORE_DRIVER=redis (օրինակ՝ redis://localhost:6379)։
QUOTA_SATURATION_THRESHOLD 0.5 src/lib/quota/enforce.ts Հավաքակազմի հագեցվածության հարաբերակցությունը (0..1) դրան հասնելիս կամ այն գերազանցելիս հավաքակազմն անցնում է խիստ ռեժիմի (փոխառում չի թույլատրվում)։
QUOTA_SOFT_DEPRIORITIZE_FACTOR 0.7 open-sse/services/combo.ts Գնահատականի բազմապատկիչ (0..1), որը կիրառվում է թիրախի նկատմամբ, երբ քվոտայի մեղմ քաղաքականությունը նվազեցնում է դրա առաջնահերթությունը։
STATUS_SOFT_DEPRIORITIZE_FACTOR 0.5 open-sse/services/combo/autoStrategy.ts Գնահատականի բազմապատկիչ (0..1), որը կիրառվում է սպառված մատակարարի (credits_exhausted/rate_limited) նկատմամբ ավտոմատ համակցման գնահատման ժամանակ, երբ քվոտայի նախնական ստուգման շեմային անջատումը ԱՆՋԱՏՎԱԾ է (#4540)։
QUOTA_CONSUMPTION_RETENTION_DAYS 14 src/lib/db/quotaConsumption.ts quota_consumption բաքեթների պահպանման ժամանակահատվածը (օրերով)՝ նախքան աղբահավաքը (gcQuotaConsumption)։
QUOTA_PREFLIGHT_CUTOFF_ENABLED false src/lib/resilience/settings.ts Ըստ ցանկության միացվող (լռելյայն՝ ԱՆՋԱՏՎԱԾ) միացնում է ավտոմատ երթուղավորման քվոտայի կոշտ շեմային անջատումը, որը ցածր քվոտայով թեկնածուները հեռացնում է նախքան գնահատումը։
OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL false open-sse/services/autoCombo/virtualFactory.ts Ըստ ցանկության միացվող (լռելյայն՝ ԱՆՋԱՏՎԱԾ) երբ auto/<category>:<tier> զտիչը չի համապատասխանում միացված որևէ թեկնածուի, դատարկ բազմություն վերադարձնելու փոխարեն վերականգնում է ամբողջական (չզտված) բազմությանը հետադարձ անցման հին վարքագիծը։ Լռելյայն ԱՆՋԱՏՎԱԾ լինելը նշանակում է, որ :free-ը նշանակում է «միայն անվճար մակարդակ»։
OMNIROUTE_CHAOS_MAX_PANEL 5 open-sse/services/autoCombo/virtualFactory.ts Վահանակի չափի վերին սահմանը (սահմանափակված 110 միջակայքում) auto/*:chaos հեռարձակման տարբերակի համար․ մեկ հարցումը տարածվում է առավելագույնը այսքան՝ մատակարարների բազմազանությունն ապահովող մոդելների վրա։
OMNIROUTE_CHAOS_MIN_PANEL (շարժիչի լռելյայն արժեք) open-sse/services/autoCombo/virtualFactory.ts Վահանակի նվազագույն չափի կարգավորում, որը փոխանցվում է chaos հեռարձակման մշակիչին․ չսահմանված լինելու դեպքում պահպանվում է շարժիչի լռելյայն արժեքը։
OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS (շարժիչի լռելյայն արժեք) open-sse/services/autoCombo/virtualFactory.ts Կոշտ ժամանակային սահմանափակում (մվ) chaos վահանակի ամբողջական զուգահեռ տարածման համար․ չսահմանված լինելու դեպքում պահպանվում է շարժիչի լռելյայն արժեքը։
GROK_AUTH_PATH ~/.grok/auth.json open-sse/services/grokQuotaFetcher.ts Grok CLI-ի auth.json ֆայլի ուղին, որն օգտագործվում է grok-web-ի շաբաթական քվոտան ստանալու համար․ վերասահմանեք թեստերի կամ ոչ ստանդարտ CLI տեղադրման դեպքում։
AGENTBRIDGE_UPSTREAM_CA_CERT (սահմանված չէ) src/mitm/manager.ts Լրացուցիչ CA վկայագիր (PEM), որին վստահում են AgentBridge-ի վերին հոսքի TLS կապերը։
INSPECTOR_BUFFER_SIZE 1000 src/mitm/inspector/buffer.ts Traffic Inspector-ի օղակաձև բուֆերում պահվող գրանցված հարցումների առավելագույն քանակը։
INSPECTOR_MAX_BODY_KB 1024 src/mitm/inspector/buffer.ts Գրանցված հարցման/պատասխանի մարմնի առավելագույն չափը (ԿԲ)՝ նախքան կրճատումը։
INSPECTOR_HTTP_PROXY_PORT 8080 src/mitm/inspector/httpProxyServer.ts Traffic Inspector-ի HTTP պրոքսիի տեղային պորտը։
INSPECTOR_HTTP_PROXY_AUTOSTART false src/mitm/inspector/httpProxyServer.ts Համակարգի մեկնարկի ժամանակ ավտոմատ գործարկել Inspector-ի HTTP պրոքսին։
INSPECTOR_TLS_INTERCEPT false src/lib/inspector/captureState.ts Միացնել TLS միջամտումը (MITM)՝ գրանցվող HTTPS տրաֆիկի համար։
INSPECTOR_LLM_HOSTS_EXTRA (սահմանված չէ) src/lib/inspector/captureState.ts Լրացուցիչ հոսթերի անուններ (ստորակետերով բաժանված), որոնք գրանցման համար դիտարկվում են որպես LLM վերջնակետեր։
INSPECTOR_MASK_SECRETS true src/mitm/inspector/buffer.ts Քողարկել գաղտնի տվյալները (նույնականացման վերնագրեր / API բանալիներ) գրանցված տրաֆիկում։
INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES 30 src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts Րոպեների քանակը, որից հետո համակարգային պրոքսիի պաշտպանիչ մեխանիզմը ավտոմատորեն հետ է վերադարձնում ՕՀ-ի պրոքսիի կարգավորումները։
INSPECTOR_INTERNAL_INGEST_TOKEN (ավտոմատ) src/app/api/tools/traffic-inspector/internal/ingest/route.ts Inspector-ում ներքին գրանցման ներմուծումը նույնականացնող թոքեն։
PLAYGROUND_COMPARE_MAX_COLUMNS 4 src/app/(dashboard)/dashboard/playground/ Playground-ի համեմատման ռեժիմում կողք կողքի սյունակների առավելագույն քանակը։
PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL (սահմանված չէ) src/app/(dashboard)/dashboard/playground/ Playground-ի «բարելավել հուշումը» գործողության լռելյայն մոդելը (եթե սահմանված չէ, օգտագործվում է ակտիվ մոդելը)։
BIFROST_ENABLED 1 src/app/api/v1/relay/chat/completions/bifrost/route.ts Bifrost կողմնակի պրոքսիի գլխավոր անջատիչը։ Երբ սահմանված է 0, երթուղին վերադարձնում է 503՝ X-Bifrost-Killswitch վերնագրով, իսկ օպերատորը վերահղվում է TS ուղի։ Օգտագործեք կողմնակի ծառայությունն առանց վերատեղակայման անջատելու համար (1-ին մակարդակի երթուղիչի միջադեպ, բանալու փոխարինում)։
BIFROST_BASE_URL (սահմանված չէ) src/app/api/v1/relay/chat/completions/bifrost/route.ts Երբ սահմանված է, Bifrost կողմնակի պրոքսիի երթուղին /v1/chat/completions թրաֆիկը TS relay մշակիչի փոխարեն փոխանցում է այս Go դարպասին։ Սահմանված չէ → 503՝ հետադարձ անցմամբ։ Վերջի շեղ գիծը հեռացվում է։
BIFROST_PORT 8080 src/lib/services/bootstrap.ts Պորտը, որին կապվում է վերահսկվող ներդրված Bifrost ծառայությունը (127.0.0.1:<port>), երբ OmniRoute-ը կառավարում է Bifrost կողմնակի ծառայության կենսացիկլը։ Լռելյայն արժեքը՝ 8080։
BIFROST_API_KEY (սահմանված չէ) src/app/api/v1/relay/chat/completions/bifrost/route.ts Bifrost դարպասի API բանալին (ուղարկվում է որպես Authorization: Bearer ...)։ Եթե սահմանված չէ, երթուղին ակնկալում է, որ հարցումը կպարունակի վավեր OmniRoute API բանալի․ այս բանալին նախատեսված է միայն դարպասի կողմում նույնականացման համար։
BIFROST_STREAMING_ENABLED true src/app/api/v1/relay/chat/completions/bifrost/route.ts Երբ true է, Bifrost կողմնակի ծառայության երթուղին պատասխանները TS հոսքային կատարիչի փոխարեն դարպասի միջոցով հետ է փոխանցում SSE հոսքով։ Սահմանեք 0՝ դարպասի միջոցով ոչ հոսքային JSON պատասխաններ հարկադրելու համար։
BIFROST_TIMEOUT_MS 30000 src/app/api/v1/relay/chat/completions/bifrost/route.ts Յուրաքանչյուր հարցման ժամանակի սահմանաչափը Bifrost դարպասին պրոքսիավորելիս (մվ)։ Ժամանակի սահմանաչափը լրանալու դեպքում երթուղին X-Bifrost-Fallback վերնագրի միջոցով վերադարձնում է TS relay ուղին։
OMNIROUTE_BIFROST_KEY (սահմանված չէ) src/app/api/v1/relay/chat/completions/bifrost/route.ts BIFROST_API_KEY-ի այլանունը (օգտագործվում է env-ը OMNIROUTE_*-ի միջոցով կարդացող սկրիպտների կողմից)։ Եթե երկուսն էլ սահմանված են, առաջնահերթ է BIFROST_API_KEY-ը։
OMNIROUTE_RELAY_BACKEND ts / auto src/app/api/v1/relay/chat/completions/routingBackend.ts /api/v1/relay/chat/completions-ի relay բեքենդը՝ ts | bifrost | auto։ ts = TypeScript relay (լռելյայն, երբ Bifrost-ը կազմաձևված չէ), auto-ն ընտրում է Bifrost-ը, երբ BIFROST_BASE_URL-ը սահմանված է և BIFROST_ENABLED0՝ ավտոմատ անցնելով TS-ի, եթե կողմնակի ծառայությունն անհասանելի է, իսկ bifrost-ը հարկադրաբար ընտրում է Bifrost-ը (խիստ ռեժիմ՝ առանց հետադարձ անցման)։ Նույնականացման, հաճախականության սահմանափակման, ներարկումից պաշտպանության և թույլատրվածների ցանկի ստուգումները միշտ նախ կատարվում են Next երթուղում։ Պատասխանները պարունակում են X-Routing-Backend / X-Routing-Fallback / X-Routing-Fallback-Reason։
RELAY_ROUTING_BACKEND (սահմանված չէ) src/app/api/v1/relay/chat/completions/routingBackend.ts OMNIROUTE_RELAY_BACKEND-ի ընդունվող այլանունը (նույն ts | bifrost | auto արժեքներով)։ Եթե երկուսն էլ սահմանված են, առաջնահերթ է OMNIROUTE_RELAY_BACKEND-ը։
OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS 5000 src/app/api/v1/relay/chat/completions/bifrostCooldown.ts Սպասման ժամանակահատվածը (մվ)՝ auto ռեժիմում Bifrost sidecar անցման ձախողումից հետո, մինչև relay-ը կրկին կփորձի օգտագործել sidecar-ը․ սպասման ժամանակահատվածի ընթացքում հարցումն անմիջապես ուղղվում է TS ուղով, որից հետո կրկին կատարվում է փորձնական հարցում։ 0-ն անջատում է։ Կիրառվում է միայն այն դեպքում, երբ OMNIROUTE_RELAY_BACKEND=auto։
OMNIROUTE_TLS_CERT (սահմանված չէ) bin/cli/commands/serve.mjs PEM TLS վկայագրի ուղին՝ omniroute serve-ը HTTPS-ով սպասարկելու համար (համարժեք է --tls-cert-ին)։ Պետք է օգտագործվի OMNIROUTE_TLS_KEY-ի հետ միասին․ այդ դեպքում ինքնուրույն սերվերն ավարտում է TLS-ը նույն ունկնդրի վրա (wss://-ն աշխատում է անփոփոխ)։ Սահմանված չէ → սովորական HTTP։ Միայն վկայագիրը կամ բանալին տրամադրելու, կամ անընթեռնելի ուղի նշելու դեպքում գրանցվում է նախազգուշացում, և օգտագործվում է HTTP։
OMNIROUTE_TLS_KEY (սահմանված չէ) bin/cli/commands/serve.mjs PEM TLS մասնավոր բանալու ուղին՝ omniroute serve-ը HTTPS-ով սպասարկելու համար (համարժեք է --tls-key-ին)։ Պետք է օգտագործվի OMNIROUTE_TLS_CERT-ի հետ միասին։ Տե՛ս OMNIROUTE_TLS_CERT։
OMNIROUTE_LOCAL_ENDPOINTS_ENABLED 0 src/lib/security/localEndpoints.ts /api/local/* երթուղիների գլխավոր անջատիչը։ Երբ սահմանված չէ կամ 0 է, բոլոր /api/local/* երթուղիներն արտադրական միջավայրում վերադարձնում են 503։ Ոչ loopback տեղակայումներում պետք է լինի 1՝ Redis գործարկիչը և նմանատիպ մեկ սեղմումով տեղային ծառայությունների գործարկիչները միացնելու համար։ Լրացուցիչ պաշտպանություն է isLocalOnlyPath() երթուղու պաշտպանության դասակարգման հետ միասին (LOCAL_ONLY_API_PREFIXES՝ src/server/authz/routeGuard.ts-ում)։
OMNIROUTE_LOCAL_ENDPOINTS_TOKEN (սահմանված չէ) src/lib/security/localEndpoints.ts Bearer թոքեն՝ /api/local/* կանչողների համար, որոնք loopback հասցեում չեն (օրինակ՝ աշխատասեղանի հավելվածը)։ Երբ սահմանված է, ոչ loopback IP-ներից ուղարկված հարցումները պետք է պարունակեն Authorization: Bearer <token>։ Պարտադիր է, երբ ոչ loopback տեղակայումներում OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1 է։
OMNIROUTE_REDIS_CONTAINER_NAME omniroute-redis bin/cli/commands/redis.mjs Կոնտեյների անունը՝ մեկ սեղմումով Redis գործարկիչի համար (omniroute redis up)։ Օգտագործվում է և՛ CLI-ի, և՛ RedisLauncherPanel GUI-ի կողմից։
OMNIROUTE_REDIS_HOST_PORT 6379 bin/cli/commands/redis.mjs Հոսթի պորտը՝ մեկ սեղմումով Redis գործարկիչի համար։ Փոխեք, եթե հոսթն արդեն օգտագործում է 6379 պորտը։ Կոնտեյների ներքին պորտը մնում է 6379։
OMNIROUTE_REDIS_BIND_HOST 127.0.0.1 bin/cli/commands/redis.mjs Հոսթի միջերեսը, որի վրա հրապարակում է մեկ սեղմումով Redis գործարկիչը։ Գործարկիչը Redis-ը սկսում է ԱՌԱՆՑ գաղտնաբառի, ուստի 0.0.0.0-ին կապակցելը ձեր LAN-ի յուրաքանչյուր հոսթի տրամադրում է չնույնականացված հասանելիություն Redis-ին․ ընդլայնեք հասանելիությունը միայն այն դեպքում, եթե ինքներդ նաև գաղտնաբառ եք սահմանել օրինակի համար։
REDIS_BIND_HOST 127.0.0.1 docker-compose.yml Հոսթի միջերեսը, որի վրա docker-compose-ը հրապարակում է Redis sidecar-ը (#9286)։ Compose-ի Redis-ն աշխատում է առանց requirepass-ի․ հավելվածի կոնտեյներները դրան հասանելիություն են ստանում compose ցանցով (redis:6379), իսկ հրապարակված պորտը նախատեսված է միայն հոսթի կողմի գործիքների համար։ 0.0.0.0-ն ամբողջ LAN-ին հասանելի է դարձնում չնույնականացված Redis-ը։
REDIS_PORT 6379 docker-compose.yml Հոսթի պորտը՝ compose Redis sidecar-ի համար։
APP_BIND_HOST 127.0.0.1 docker-compose.yml, docker-compose.prod.yml Հոսթի ինտերֆեյսը, որի վրա docker-compose-ը հրապարակում է հավելվածի սեփական կառավարման վահանակի/API/live-WS պորտերը (#12568)։ Քանի որ .env.example-ում լռելյայն մատակարարվում է REQUIRE_API_KEY=false, 0.0.0.0-ը անանուն /v1 LLM պրոքսին հասանելի է դարձնում ամբողջ LAN/WAN-ի համար․ ընդլայնեք հասանելիությունը միայն այն ժամանակ, երբ REQUIRE_API_KEY=true, կամ առջևում գտնվող հակադարձ պրոքսին կիրառում է իր սեփական նույնականացումը։
QDRANT_BIND_HOST 127.0.0.1 docker-compose.yml Հոսթի ինտերֆեյսը, որի վրա docker-compose-ը հրապարակում է Qdrant հիշողության օժանդակ ծառայությունը (#12578)։ LAN-ի համար հասանելիության վերաբերյալ հիմնավորումը նույնն է, ինչ REDIS_BIND_HOST-ի դեպքում։
BIFROST_BIND_HOST 127.0.0.1 docker-compose.yml Հոսթի ինտերֆեյսը, որի վրա docker-compose-ը հրապարակում է Bifrost երթուղիչի օժանդակ ծառայությունը (#12578)։ LAN-ի համար հասանելիության վերաբերյալ հիմնավորումը նույնն է, ինչ REDIS_BIND_HOST-ի դեպքում։
REDIS_KEY_PREFIX omniroute: src/shared/utils/rateLimiter.ts Անվանատարածքի նախածանց, որը կիրառվում է OmniRoute-ի Redis-ի յուրաքանչյուր բանալու նկատմամբ (արագության սահմանափակիչ, նույնականացման քեշ, քվոտաների պահոց, նախնական տաքացման շղթայի անջատիչ)։ Կանխում է բանալիների բախումները, երբ Redis-ի օրինակը համօգտագործվում է այլ հավելվածների հետ (#11042)։
OMNIROUTE_INTERNAL_SERVICE_TOKEN (սահմանված չէ՝ մեխանիզմն անջատված է) src/lib/api/internalServiceAuth.ts Համօգտագործվող գաղտնիք՝ ինքնությունը պահպանող ներքին REST անցումների համար (#9260) OmniRoute-ի բաղադրիչները, որոնք կանչում են OmniRoute-ի այլ տեղային երթուղիներ, այն ուղարկում են որպես x-omniroute-internal-service-token, որպեսզի սկզբնական կանչողի ինքնությունը պահպանվի։ Համեմատվում է timingSafeEqual-ի միջոցով։
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE (սահմանված չէ) src/lib/api/internalServiceAuth.ts Ներքին ծառայության թոքենի՝ գաղտնի ֆայլով տարբերակը․ ուղի դեպի ֆայլ, որի՝ եզրային բացատներից մաքրված բովանդակությունը թոքենն է։ Օգտագործվում է միայն այն դեպքում, երբ ներկառուցված փոփոխականը սահմանված չէ։
OPENROUTER_PROVIDER_STATS_ENABLED true src/lib/catalog/openrouterProviderStats.ts Կառավարման վահանակի մատակարարների ցանկը հարստացնում է OpenRouter-ի շաբաթական վարկանիշային վիճակագրությամբ (#9324)։ Լռելյայն միացված է․ սահմանեք false, որպեսզի ֆոնային բեռնումն ամբողջությամբ բաց թողնվի (չարգելափակող է և երբեք ճակատագրական սխալ չի առաջացնում)։
OPENROUTER_PROVIDER_STATS_TTL_MS 86400000 (24 ժ) src/lib/catalog/openrouterProviderStats.ts OpenRouter-ի մատակարարների վիճակագրության ակնթարթային պատկերի քեշի TTL-ը՝ միլիվայրկյաններով։
OMNIROUTE_REDIS_IMAGE redis:7-alpine bin/cli/commands/redis.mjs Redis-ի պատկեր, որն օգտագործվում է մեկ սեղմումով Redis գործարկիչի կողմից։ Անհրաժեշտության դեպքում փոխարինեք redis:8-alpine-ով կամ մասնավոր ռեեստրի հայելիով։
QDRANT_HOST qdrant (ըստ ցանկության միացվող կլաստերային պրոֆիլ) Qdrant օժանդակ ծառայության հոսթի անունը, երբ --profile memory-ն ակտիվ է։ Լռելյայն արժեքը մատնանշում է ներքին ցանցի qdrant ծառայության անունը․ արտաքին տեղակայման դեպքում փոխարինեք այն։ Օգտագործվում է միայն այն ժամանակ, երբ կոդում qdrantEnabledtrue է (src/lib/memory/vectorStore.ts:108)։
QDRANT_PORT 6333 (ըստ ցանկության միացվող կլաստերային պրոֆիլ) Qdrant-ի կողմնակի ծառայության REST պորտը։
QDRANT_GRPC_PORT 6334 (ըստ ցանկության միացվող կլաստերային պրոֆիլ) Qdrant-ի կողմնակի ծառայության gRPC պորտը։ Օգտագործվում է այն հաճախորդային գրադարանների կողմից, որոնք հոսքային գործողությունների համար գերադասում են gRPC-ն REST-ից։
QDRANT_API_KEY (սահմանված չէ) (ըստ ցանկության միացվող կլաստերային պրոֆիլ) API-ի ընտրովի բանալի՝ Qdrant Cloud-ի կամ նույնականացում պահանջող տեղային օրինակի համար։ Դատարկ լինելու դեպքում api-key վերնագիր չի ուղարկվում։
QDRANT_COLLECTION omniroute-memory (ըստ ցանկության միացվող կլաստերային պրոֆիլ) OmniRoute-ի զրույցների հիշողության ներդրումների հավաքածուի անվանումը։ Ստեղծվում է առաջին գործարկման ժամանակ՝ QDRANT_VECTOR_SIZE չափողականությամբ։
QDRANT_EMBEDDING_MODEL text-embedding-3-small (ըստ ցանկության միացվող կլաստերային պրոֆիլ) Qdrant-ի հավաքածուի մետատվյալներում գրանցվող ներդրման մոդելի լռելյայն անվանումը։ Փաստացի ներդրումները ստեղծվում են այն մատակարարի կողմից, որին հղվում է OmniRoute-ի կարգավորումների embeddingModel դաշտը։
QDRANT_VECTOR_SIZE 1536 (ըստ ցանկության միացվող կլաստերային պրոֆիլ) Ներդրման վեկտորի չափողականությունը։ Պետք է համապատասխանի այն մոդելին, որով ստեղծվում է ներդրումը (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768)։
QDRANT_HNSW_EF_CONSTRUCT 128 (ըստ ցանկության միացվող կլաստերային պրոֆիլ) HNSW ինդեքսի կառուցման ժամանակ կիրառվող ճշգրտությունը։ Ավելի բարձր արժեք = ավելի դանդաղ կառուցում, ավելի արագ որոնում։
OMNIROUTE_ROTATION_ENABLED true open-sse/services/rotationConfig.ts Օպերատորի կողմից կարգավորվող հաշիվների հերթափոխի գլխավոր անջատիչը։ Երբ արժեքը false է, ստորև նշված OMNIROUTE_ROTATE_* դասերից ոչ մեկը չի գործարկում անցում պահուստային հաշվի (գլխավոր անջատված վիճակը նաև արգելափակում է լռելյայն միացված 429/500/502 դասերը)։ Սա թույլ է տալիս վերահսկող ճակատային մասին (օրինակ՝ VibeProxy աշխատասեղանի հավելվածին) իր հերթափոխի կանոնները համադրել հետին մասի՝ պահուստային հաշվի անցման մեխանիզմի հետ։
OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS 0 open-sse/services/rotationConfig.ts Սպասման ժամանակահատվածը (վայրկյաններով), որը կիրառվում է հաճախականության սահմանափակման ենթարկված հաշվի նկատմամբ, երբ վերին հոսքի ծառայությունը վերակայման հստակ հուշում չի տրամադրում։ 0 = ֆիքսված վերասահմանման փոխարեն օգտագործել մեխանիզմի լռելյայն սպասման ժամանակահատվածը։
OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET true open-sse/services/rotationConfig.ts Ճակատային մասի «առանց վերակայման ժամանակի չնշել որպես հաճախականության սահմանափակման ենթարկված» նախապատվության արտապատկերումը։
OMNIROUTE_ROTATE_ON_429 true open-sse/services/rotationConfig.ts Յուրաքանչյուր կարգավիճակի համար հետանցման միացում՝ 429 սխալների դեպքում։ Երբ false է (և OMNIROUTE_ROTATION_ENABLED=true), 429-ն այլևս չի գործարկում հաշվի փոխարկումը և դրա փոխարեն վերադարձվում է հաճախորդին։
OMNIROUTE_ROTATE_429_THRESHOLD 1 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_429_WINDOW_SECONDS-ի ընթացքում 429 սխալների քանակը, որն անհրաժեշտ է հաշվի փոխարկումից առաջ։ 1-ը (լռելյայն) անմիջապես փոխարկում է՝ պահպանելով նախկին վարքագիծը։
OMNIROUTE_ROTATE_429_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Սահող պատուհանը (վայրկյաններով), որի ընթացքում 429 սխալները հաշվվում են OMNIROUTE_ROTATE_429_THRESHOLD-ին հասնելու համար։
OMNIROUTE_ROTATE_ON_500 true open-sse/services/rotationConfig.ts Յուրաքանչյուր կարգավիճակի համար հետանցման միացում՝ սերվերի 5xx սխալների դեպքում (բացառությամբ 502-ի, որն ունի իր առանձին դասը)։ Երբ false է, այս սխալներն այլևս չեն գործարկում հաշվի փոխարկումը։
OMNIROUTE_ROTATE_500_THRESHOLD 1 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_500_WINDOW_SECONDS-ի ընթացքում 5xx սխալների քանակը, որն անհրաժեշտ է հաշվի փոխարկումից առաջ։ 1-ը (լռելյայն) անմիջապես փոխարկում է։
OMNIROUTE_ROTATE_500_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Սահող պատուհանը (վայրկյաններով), որի ընթացքում 5xx սխալները հաշվվում են OMNIROUTE_ROTATE_500_THRESHOLD-ին հասնելու համար։
OMNIROUTE_ROTATE_ON_502 true open-sse/services/rotationConfig.ts Յուրաքանչյուր կարգավիճակի համար հետանցման միացում՝ 502 (անվավեր միջանկյալ դարպաս) սխալների դեպքում։ Երբ false է, 502 սխալներն այլևս չեն գործարկում հաշվի փոխարկումը։
OMNIROUTE_ROTATE_502_THRESHOLD 1 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_502_WINDOW_SECONDS-ի ընթացքում 502 սխալների քանակը, որն անհրաժեշտ է հաշվի փոխարկումից առաջ։ 1-ը (լռելյայն) անմիջապես փոխարկում է։
OMNIROUTE_ROTATE_502_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Սահող պատուհանը (վայրկյաններով), որի ընթացքում 502 սխալները հաշվվում են OMNIROUTE_ROTATE_502_THRESHOLD-ին հասնելու համար։
OMNIROUTE_ROTATE_ON_400 false open-sse/services/rotationConfig.ts Ըստ ցանկության միացվող (լռելյայն՝ ԱՆՋԱՏՎԱԾ). երբ true է, սովորական 400-ը (անվավեր հարցում) նույնպես գործարկում է հաշվի փոխարկումը։ Սա միայն ընդլայնում է վարքագիծը և երբեք չի արգելափակում շարժիչի առկա վարքագիծը, ըստ որի՝ արագության սահմանափակման կամ քվոտայի մասին տեքստ պարունակող 400-ի դեպքում հետանցումը միևնույն է կատարվում է՝ անկախ այս դրոշակից։
OMNIROUTE_ROTATE_400_THRESHOLD 1 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_400_WINDOW_SECONDS ժամանակահատվածում 400 սխալների քանակը, որն անհրաժեշտ է հաշիվը փոխարինելուց առաջ (հաշվի է առնվում միայն, երբ OMNIROUTE_ROTATE_ON_400=true)։
OMNIROUTE_ROTATE_400_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Սահող պատուհանը (վայրկյաններով), որի ընթացքում 400 սխալները հաշվվում են OMNIROUTE_ROTATE_400_THRESHOLD շեմին հասնելու համար։

Claude-ի նախնական ակտիվացման ժամանակացույց

Cron-ով կառավարվող նախնական ակտիվացում՝ մասնակցությունը միացրած Anthropic OAuth կապերի համար, որպեսզի 5-ժամյա արագության սահմանափակման պատուհանը բացվի պարզ պլանավորված հարցմամբ, այլ ոչ թե առաջին իրական հարցմամբ (#8848)։ Ժամանակացույցն անջատված է, եթե OMNIROUTE_WARMUP_ENABLED-ը ճշմարտացի արժեք չունի և կապը նշված չէ settings.claudeWarmup.connections-ում․ կապերի դատարկ ցանկը նշանակում է, որ ոչինչ չի նախապես ակտիվացվի, նույնիսկ եթե միջավայրի փոփոխականը միացված է։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_WARMUP_ENABLED (սահմանված չէ → անջատված) src/lib/warmupScheduler.ts Նախնական ակտիվացման ժամանակացույցի գլխավոր անջատիչը։ Ընդունում է 1/true/yes/on (առանց տառաչափը հաշվի առնելու, բացատները հեռացնելուց հետո)։ Ցանկացած այլ արժեքի կամ չսահմանված լինելու դեպքում ժամանակացույցը մնում է անջատված։
OMNIROUTE_WARMUP_CRON 0 7 * * * src/lib/warmupScheduler.ts Նախնական ակտիվացման գործարկման հինգ դաշտից բաղկացած cron արտահայտությունը, որը գնահատվում է America/Los_Angeles ժամային գոտում (Anthropic-ի վերակայման ժամային գոտին)՝ անկախ հոսթի ժամացույցից։
OMNIROUTE_WARMUP_CONCURRENCY 3 src/lib/warmupScheduler.ts Յուրաքանչյուր գործարկման ժամանակ զուգահեռ նախապես ակտիվացվող կապերի քանակը։ Սահմանափակվում է 1-10 միջակայքով․ ոչ թվային արժեքի դեպքում օգտագործվում է 3։
OMNIROUTE_WARMUP_MODEL claude-3-5-haiku-20241022 src/lib/warmupScheduler.ts Նախնական ակտիվացման հարցման համար օգտագործվող մոդելը։ Փոխեք միայն այն դեպքում, երբ լռելյայն մոդելը հասանելի չէ ձեր սակագնային պլանում․ ընտրեք ամենաէժան մոդելը, որը, այնուամենայնիվ, բացում է պատուհանը։

Բրաուզերով մուտքի VNC աշխատաշրջաններ և տվյալների պանակի այլանուն

Կոնտեյներացված Chromium+VNC՝ բրաուզերով ինտերակտիվ մուտքի հավատարմագրերը ստանալու համար (/api/vnc-session), ինչպես նաև հնացած DATA_DIR այլանուն։ Բոլորը կամընտիր են․ VNC-ի լռելյայն արժեքները նախատեսված են ներկառուցված omniroute-vnc-chromium:local պատկերի համար և վերասահմանվում են միայն հատուկ կոնտեյների պատկերի, պորտերի կամ կենսաշրջանի կարգավորման դեպքում։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Chromium+VNC մուտքի կոնտեյների Docker պատկերի թեգը։ Կառուցեք docker/vnc-browser/chromium-ը կամ այստեղ նշեք հատուկ պատկեր։
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts VNC կոնտեյները գործարկելու համար օգտագործվող կոնտեյներների կատարման միջավայրի երկուական ֆայլը (օրինակ՝ սահմանեք որպես podman)։
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts Կոնտեյների ներսում բացված VNC/noVNC պորտը։
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Chrome DevTools Protocol-ի պորտը կոնտեյների ներսում։
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Chromium-ի պրոֆիլի գրացուցակի ուղին կոնտեյների ներսում։
OMNIROUTE_VNC_PROFILE_DIR $HOME/.omniroute/browser-login-profiles src/lib/vncSession/manifest.ts Բրաուզերի մուտքի պահպանվող պրոֆիլները պարունակող հոսթի գրացուցակը։
OMNIROUTE_VNC_IDLE_MS 600000 (10 րոպե) src/lib/vncSession/manifest.ts Պարապուրդի ժամանակասահմանը (մվ), որից հետո ոչ ակտիվ VNC աշխատաշրջանը մաքրվում է։
OMNIROUTE_VNC_MAX_MS 1800000 (30 րոպե) src/lib/vncSession/manifest.ts Մեկ VNC աշխատաշրջանի տևողության խիստ առավելագույն սահմանը (մվ)։
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Միաժամանակյա VNC աշխատաշրջանների առավելագույն քանակը։
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Կոնտեյներացված բրաուզերի՝ CDP-ին պատրաստ դառնալուն սպասելու ժամանակասահմանը (մվ)։
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Մուտքի ավարտից հետո գրանցված աշխատաշրջանը/քուքիները հավաքելու ժամանակասահմանը (մվ)։
OMNIROUTE_VNC_CHROMIUM_ARGS --remote-debugging-port=9222 --no-first-run --no-default-browser-check src/lib/vncSession/manifest.ts Կոնտեյներացված Chromium-ին փոխանցվող հրամանի տողի լրացուցիչ դրոշները։
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Հատկացված Docker ցանցը, որին լռելյայն bridge-ի փոխարեն միանում է VNC մուտքի կոնտեյները (#12571), որպեսզի հարակից կոնտեյները չկարողանան հասնել դրա CDP bridge պորտին։
VIBEPROXY_DATA_DIR (սահմանված չէ) open-sse/services/notionThreadSessions.ts DATA_DIRհնացած այլանունը, որը ստուգվում է միայն այն դեպքում, երբ և՛ DATA_DIR-ը, և՛ OMNIROUTE_DATA_DIR-ը սահմանված չեն։ Որոշում է Notion վեբ-շղթայի աշխատաշրջանների քեշի տեղադրությունը (<dir>/notion-web-thread-sessions.json)։

26. Թեստավորման և E2E գործիքակազմ

Օգտագործվում է scripts/dev/run-next-playwright.mjs, scripts/dev/smoke-electron-packaged.mjs, scripts/dev/run-ecosystem-tests.mjs և scripts/build/uninstall.mjs ֆայլերի կողմից։ Արտադրական տեղակայումներում ստորև նշված բոլոր արժեքները թողեք չսահմանված։

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_E2E_BOOTSTRAP_MODE auth scripts/dev/run-next-playwright.mjs Playwright գործարկիչի E2E սկզբնավորման ռեժիմը (auth, fresh, reuse)։
OMNIROUTE_E2E_PASSWORD օգտագործում է INITIAL_PASSWORD scripts/dev/run-next-playwright.mjs Playwright միջավայր ներարկվող ադմինիստրատորի գաղտնաբառը։
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Անջատում է տեղային աշխատունակության ստուգման հարցումը Playwright-ի գործարկումների ընթացքում։
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Անջատում է OAuth նշանի աշխատունակության ստուգման ցիկլը թեստերի ընթացքում։
OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS (չսահմանված) src/lib/tokenHealthCheck.ts Ստորակետերով բաժանված մատակարարներ, որոնք բացառվում են նշանների կանխարգելիչ թարմացման շրջանցումից (օրինակ՝ codex,openai)։ Աշխատունակության ստուգումն ամբողջությամբ անջատելու նպատակային այլընտրանք է․ կարճ TTL ունեցող մատակարարները շարունակում են թարմացվել, իսկ շղթայական մատակարարները մնում են միայն ռեակտիվ ռեժիմում։
OMNIROUTE_HIDE_HEALTHCHECK_LOGS true scripts/dev/run-next-playwright.mjs Լռեցնում է աշխատունակության ստուգման հաղորդագրությունները Playwright-ի ստանդարտ ելքում։
OMNIROUTE_PLAYWRIGHT_SKIP_BUILD 0 scripts/dev/run-next-playwright.mjs Բաց է թողնում Next.js-ի արտադրական կառուցումը՝ նախքան Playwright-ի մեկնարկը (CI-ի օպտիմալացում)։
OMNIROUTE_SKIP_UNINSTALL_HOOK 0 scripts/build/uninstall.mjs Բաց է թողնում OmniRoute-ի ապատեղադրման կեռիկը (օգտագործվում է CI-ի կողմից՝ node_modules-ը անփոփոխ պահելու համար)։
ECOSYSTEM_SERVER_WAIT_MS 180000 scripts/dev/run-ecosystem-tests.mjs Սպասման ժամանակը (մվ), մինչև սերվերը պատրաստ լինի էկոհամակարգի/արձանագրության թեստերը գործարկելուն։
ELECTRON_SMOKE_URL http://127.0.0.1:20128/login scripts/dev/smoke-electron-packaged.mjs URL-ը, որով Electron-ի արագ ստուգման գործիքակազմն ակնկալում է փաթեթավորված հավելվածի հասանելի լինելը։
ELECTRON_SMOKE_TIMEOUT_MS 45000 scripts/dev/smoke-electron-packaged.mjs Ընդհանուր ժամանակի սահմանը (մվ), որից հետո արագ ստուգման գործիքակազմը դադարեցնում է փորձը։
ELECTRON_SMOKE_SETTLE_MS 2000 scripts/dev/smoke-electron-packaged.mjs Կայունացման ժամանակահատվածը (մվ)՝ էջի բեռնումից հետո։
ELECTRON_SMOKE_APP_EXECUTABLE (ինքնաշխատ) scripts/dev/smoke-electron-packaged.mjs Փաթեթավորված Electron գործարկելի ֆայլի բացահայտ ուղին։
ELECTRON_SMOKE_DATA_DIR (tmpdir) scripts/dev/smoke-electron-packaged.mjs Electron-ի արագ ստուգման գործարկման տվյալների գրացուցակը։
ELECTRON_SMOKE_KEEP_DATA 0 scripts/dev/smoke-electron-packaged.mjs Սահմանեք `1՝ գործարկումից հետո smoke տվյալների գրացուցակը պահպանելու համար։
ELECTRON_SMOKE_STREAM_LOGS 0 scripts/dev/smoke-electron-packaged.mjs Սահմանեք `1՝ գործարկման ընթացքում Electron-ի գրանցամատյանի գրառումները stdout փոխանցելու համար։
ELECTRON_SMOKE_COLD_RESTART 0 scripts/dev/smoke-electron-packaged.mjs #7592. վերագործարկել՝ օգտագործելով տվյալների նույն գրացուցակը, և ստուգել, որ երկրորդ գործարկումն ընտրում է բնիկ SQLite դրայվերը։
CLI_DEVIN_BIN (PATH որոնում) open-sse/executors/devin-cli.ts Վերասահմանել Devin CLI-ի գործարկելի ֆայլի ուղին։

Փաստաթղթերի թարգմանության հոսքաշար

Օգտագործվում է scripts/i18n/run-translation.mjs-ի կողմից (npm run i18n:run հրամանը)։ Բոլոր հինգ փոփոխականները լռելյայն սահմանված չեն․ դրանք սահմանեք .env-ում միայն այն համակարգիչներում, որոնք պետք է կարողանան գործարկել փաստաթղթերի թարգմանիչը։

Փոփոխական Լռելյայն Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_TRANSLATION_API_URL (սահմանված չէ) scripts/i18n/run-translation.mjs Թարգմանության հետին համակարգի՝ OpenAI-ի հետ համատեղելի բազային URL-ը։
OMNIROUTE_TRANSLATION_API_KEY (սահմանված չէ) scripts/i18n/run-translation.mjs Թարգմանության հետին համակարգի Bearer տոկենը (երբեք չի գրանցվում մատյանում)։
OMNIROUTE_TRANSLATION_MODEL (սահմանված չէ) scripts/i18n/run-translation.mjs Մոդելի ID-ն, օրինակ՝ gpt-4o-mini կամ cx/gpt-5.4-mini։
OMNIROUTE_TRANSLATION_TIMEOUT_MS 60000 scripts/i18n/run-translation.mjs Յուրաքանչյուր հարցման սպասման առավելագույն ժամանակը՝ միլիվայրկյաններով։
OMNIROUTE_TRANSLATION_CONCURRENCY 4 scripts/i18n/run-translation.mjs Զուգահեռ թարգմանության հարցումների քանակը՝ մի քանի ֆայլերի / տեղայնացումների մշակման ժամանակ։

27. Radar հոսք (ինքնուրույն հոսթինգ)

Ընտրովի հավելում, որը կառավարվում է RADAR_ENABLED հնարավորության դրոշակով (լռելյայն անջատված է․ հնարավորության դրոշակը փոխարկվում է Settings/DB-ի միջոցով և միջավայրի փոփոխական չէ, տե՛ս docs/frameworks/RADAR.md)։ Ստորև ներկայացված առաջին չորս փոփոխականները ընտրովի վերասահմանումներ են ինքնուրույն հոսթինգով կամ ճյուղավորված հոսքի և աջակիցների բանալիների գործընթացների համար։ Հինգերորդը՝ RADAR_ADMIN_URL-ը, առանձին, առանց լռելյայն արժեքի հղում է դեպի սեփականատիրոջ գործողությունների մասնավոր վահանակը։ Մոդուլի ամբողջական փաստաթղթերի և դրա ծայրից ծայր ակտիվացման ու ուղղորդվող կարգավորման հաջորդականության համար տե՛ս docs/frameworks/RADAR.md։

Home/Changelog հայտարարությունների ընդհանուր ընթերցիչը չի կազմաձևվում միջավայրի փոփոխականի միջոցով և կախված չէ RADAR_ENABLED հնարավորության դրոշակից։ Այն միայն GET-ի միջոցով կարդում է src/shared/utils/releaseNotes.ts-ում հայտարարված հանրային պահոցի news.json URL-ը․ անտեսման նույնացուցիչները մնում են դիտարկիչի տեղային պահեստում։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
RADAR_FEED_URL https://radar.omniroute.online src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts Առանձին ստորագրված կատալոգի, ուղղորդումների, աջակիցների առաջարկների և Intel հոսքերի համար ընդհանուր բազային URL։ Վերասահմանեք՝ ինքնուրույն հոսթինգով կամ ճյուղավորված ծառայություն մատնանշելու համար։
RADAR_FEED_PUBKEY (ամրագրված լռելյայն բանալի) src/lib/radar/pinnedKeys.ts Ed25519 հանրային բանալի (base64-DER SPKI կամ PEM), որն օգտագործվում է հատուկ հոսքից ստացվող հոսքի ստորագրությունները ստուգելու համար։
RADAR_CONTRIBUTOR_CLAIM_URL https://radar.omniroute.online/auth/github src/lib/radar/links.ts URL, որը բացում է կառավարման վահանակի «Ես ներդրող եմ» կոճակը (GitHub OAuth-ի միջոցով աջակիցների բանալին ստանալու գործընթաց)։
RADAR_SUPPORTER_PLANS_URL https://radar.omniroute.online/planos src/lib/radar/links.ts URL, որը բացում է կառավարման վահանակի «Աջակցել նախագծին» կոճակը (վճարումների/պլանների էջ)։
RADAR_ADMIN_URL (սահմանված չէ) src/lib/radar/links.ts Միայն սեփականատիրոջ համար նախատեսված գործողությունների մասնավոր վահանակի հղում։ HTTPS-ը պարտադիր է՝ բացառությամբ HTTP loopback SSH վերահասցեավորման․ չսահմանված կամ անվավեր արժեքների դեպքում նավարկման տարր չի ստեղծվում։

Աուդիտ․ հեռացված / չօգտագործվող փոփոխականներ

Հետևյալ փոփոխականները առկա էին .env.example-ի նախորդ տարբերակներում, սակայն ընթացիկ կոդային բազայում կատարման ժամանակի հղումներ չունեն։ Դրանք հեռացվել են․

Փոփոխական Պատճառ
STORAGE_DRIVER=sqlite Երբեք չի կարդացվում որևէ սկզբնաղբյուր ֆայլի կողմից։ SQLite-ը միակ աջակցվող դրայվերն է, ուստի ընտրության կարիք չկա։
INSTANCE_NAME=omniroute Առկա է հին փաստաթղթերում/env ձևանմուշներում, սակայն կատարման ժամանակ չի օգտագործվում։ Հնարավոր է՝ վերադառնա ապագա բազմաինստանս գործառույթում։
SQLITE_MAX_SIZE_MB=2048 Սկզբնաղբյուր կոդում չի հիշատակվում։ Տվյալների բազայի չափն արհեստականորեն սահմանափակված չէ։
SQLITE_CLEAN_LEGACY_FILES=true Սկզբնաղբյուր կոդում չի հիշատակվում։ Հավանաբար հին ֆայլերի մաքրման գործառույթը հեռացվել է։
CLI_ROO_BIN Գրանցված չէ src/shared/services/cliRuntime.ts-ում։
CLI_KIMI_CODING_BIN Գրանցված չէ src/shared/services/cliRuntime.ts-ում (Kimi Coding-ն օգտագործում է OAuth, ոչ թե CLI գործարկվող ֆայլ)։
IFLOW_OAUTH_CLIENT_ID / IFLOW_OAUTH_CLIENT_SECRET Սկզբնաղբյուր կոդի որևէ հատվածում չի հիշատակվում։
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 Հեռացվել են v3.8.0-ում։ Կատարման միջավայրն այլևս չի կարդում այս env փոփոխականները. հավատարմագրերը ստացվում են Dashboard-ից / data/provider-credentials.json-ից / գաղտնագրված DB-ից։
CURSOR_PROTOBUF_DEBUG Հեռացվել է v3.8.0-ում։ Cursor executor-ն օգտագործում է CURSOR_DEBUG / CURSOR_STREAM_DEBUG (տե՛ս §22)։
CLI_COMPAT_KIRO Հեռացվել է v3.8.0-ում։ Kiro-ն ներառված է CLI_COMPAT_OMITTED_PROVIDER_IDS-ում, ուստի դրա փոխարկիչը որևէ ազդեցություն չունի։
QIANFAN_API_KEY Հեռացվել է մյուս չօգտագործվող մատակարարների API բանալիների նախնական տարրերի հետ միասին v3.8.0-ում։

Լռելյայն արժեքների ուղղումներ

Փոփոխական Հին .env.example արժեք Կոդի փաստացի լռելյայն արժեք Ուղղում
APP_LOG_RETENTION_DAYS 90 7 Ապակողմնորոշող արժեքը հեռացվել է, իսկ 7-ը փաստաթղթավորվել է որպես լռելյայն արժեք
CALL_LOG_RETENTION_DAYS 90 7 Ապակողմնորոշող արժեքը հեռացվել է, իսկ 7-ը փաստաթղթավորվել է որպես լռելյայն արժեք

OpenCode-ի կազմաձևի վերաստեղծում (ըստ անհրաժեշտության գործիքակազմ)

Օգտագործվում է scripts/ad-hoc/regen-opencode-config.ts-ի կողմից՝ opencode.json-ը վերաստեղծելու համար՝ գործող OmniRoute ինստանսից ստացված ճշգրիտ limit.context և limit.output արժեքներով։ Սրանցից ոչ մեկը չի պահանջվում սովորական աշխատանքի համար. սկրիպտը նախատեսված է միայն մշակողների գործիքակազմի համար։

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_URL http://localhost:20128 scripts/ad-hoc/regen-opencode-config.ts OmniRoute օրինակի բազային URL-ը՝ /v1/models հարցման համար։
OMNIROUTE_KEY (սահմանված չէ) scripts/ad-hoc/regen-opencode-config.ts API բանալի՝ OmniRoute-ի /v1/models վերջնակետի նկատմամբ նույնականացման համար։ Եթե սահմանված չէ, օգտագործվում է OPENCODE_API_KEY։
OPENCODE_API_KEY (սահմանված չէ) scripts/ad-hoc/regen-opencode-config.ts OpenCode ոճի API բանալի (sk-...), որը գրվում է վերագեներացված opencode.json-ում։ Եթե սահմանված չէ, օգտագործվում է OMNIROUTE_KEY։

Սեղմման անցանց գնահատման գործիքաշար (հատուկ գործիքավորում)

Օգտագործվում է scripts/compression-eval/index.ts-ի՝ սեղմման անցանց գնահատման CLI-ի կողմից։ Սովորական աշխատանքի համար անհրաժեշտ չէ․ նախատեսված է միայն մշակողների համար։

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_EVAL_CREDENTIALS {} (դատարկ) scripts/compression-eval/index.ts Օպերատորի տրամադրած JSON հավատարմագրերը այն մատակարարի համար, որն օգտագործվում է սեղմման անցանց գնահատման CLI-ի կողմից (վերլուծվում է JSON.parse-ով)։ Փորձնական գործարկման համար թողեք չսահմանված։

VNC դիտարկիչի աշխատաշրջաններ

Օգտագործվում է src/lib/vncSession/manifest.ts-ի կողմից՝ դիտարկիչի ավտոմատացման մատակարարների համար Docker-ի վրա հիմնված առանց գրաֆիկական միջերեսի Chromium աշխատաշրջանները կազմաձևելու նպատակով։ Բոլորն ընտրովի են․ լռելյայն արժեքները ներկայացված են ստորև։

Փոփոխական Լռելյայն արժեք Աղբյուր ֆայլ Նկարագրություն
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts VNC կոնտեյներներ գործարկելու համար օգտագործվող Docker երկուական ֆայլի ուղին։
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Docker պատկերը VNC Chromium կոնտեյների համար։
OMNIROUTE_VNC_CHROMIUM_ARGS (ներկառուցված դրոշներ) src/lib/vncSession/manifest.ts Chromium CLI-ի լրացուցիչ արգումենտներ, որոնք փոխանցվում են կոնտեյների ներսում գտնվող դիտարկիչին։
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts VNC պորտը կոնտեյների ներսում։
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Chrome DevTools Protocol-ի պորտը կոնտեյների ներսում։
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Պրոֆիլի գրացուցակը կոնտեյների ներսում։
OMNIROUTE_VNC_PROFILE_DIR (սահմանված չէ) src/lib/vncSession/manifest.ts Հոսթի գրացուցակը՝ դիտարկիչի մշտական պրոֆիլների համար։
OMNIROUTE_VNC_IDLE_MS 600000 src/lib/vncSession/manifest.ts Անգործության ժամանակի սահմանաչափը (մվ), որից հետո VNC աշխատաշրջանը հավաքվում է։
OMNIROUTE_VNC_MAX_MS 1800000 src/lib/vncSession/manifest.ts Աշխատաշրջանի առավելագույն տևողությունը (մվ)։
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Միաժամանակյա VNC աշխատաշրջանների առավելագույն քանակը։
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Դիտարկիչի պատրաստ լինելու ժամանակի սահմանաչափը (մվ)։
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Հավաքման/մաքրման ժամանակի սահմանաչափը (մվ)։
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Հատուկ Docker ցանցը, որին միանում է կոնտեյները (#12571)՝ լռելյայն bridge ցանցից դուրս։
VIBEPROXY_DATA_DIR (սահմանված չէ) open-sse/services/notionThreadSessions.ts Notion թեմաների աշխատաշրջանների մշտական պահպանման գրացուցակը։

Ներքին ծառայությունների նույնականացում

Փոփոխական Լռելյայն արժեք Նկարագրություն
OMNIROUTE_INTERNAL_SERVICE_TOKEN Ներկառուցված թոքեն՝ կառավարման հարթության ծառայությունների միջև նույնականացման համար։
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE Ներքին ծառայության թոքենը պարունակող ֆայլի ուղին (նախընտրելի է կոնտեյներներում, գերակայում է ներկառուցված փոփոխականի նկատմամբ)։

OpenRouter մատակարարի վիճակագրություն

Փոփոխական Լռելյայն արժեք Նկարագրություն
OPENROUTER_PROVIDER_STATS_ENABLED true Սահմանեք false՝ կատալոգի հարստացման համար OpenRouter-ի՝ ըստ մատակարարի վիճակագրության ստացումը բաց թողնելու համար։
OPENROUTER_PROVIDER_STATS_TTL_MS 3600000 Ստացված OpenRouter մատակարարի վիճակագրության քեշի TTL-ը (մվ)։

Ներկառուցված Redis կապակցում

Փոփոխական Լռելյայն արժեք Նկարագրություն
REDIS_BIND_HOST 127.0.0.1 Ներկառուցված Redis ծառայության կապակցման հասցեն։
REDIS_PORT 6379 Ներկառուցված Redis ծառայության միացքի համարը։
OMNIROUTE_REDIS_BIND_HOST OmniRoute-ի շրջանակում ներկառուցված Redis-ի կապակցման հասցեի վերասահմանում։

24. v3.8.50 թողարկման հավելումներ

Այս կարգավորումները ներկայացվել են միջավայրի պայմանագրի նախորդ պատկերի ստեղծումից հետո։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_CHAT_ADMISSION_QUEUE_MS 2000 src/shared/middleware/chatBodyAdmission.ts Ծանրաքաշ չաթի ընդունման հասանելի տեղին սպասելու առավելագույն ժամանակը՝ մինչև կրկին փորձարկելի 503 պատասխանը․ կարճ, սահմանափակ սպասումը հերթականացնում է գործակալների կտրուկ հոսքերը՝ ակնթարթային 503 վերադարձնելու փոխարեն։ 0-ն վերականգնում է անհապաղ մերժումը։
OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES 4194304 (4 ՄԲ) src/shared/middleware/chatBodyAdmission.ts Ընդունման սպասման հերթագրված բայթերի բյուջեն․ սահմանափակում է գործընթացի ամբողջ մասշտաբով պահվող՝ բուֆերացված մարմինների բայթերի ընդհանուր քանակը, որպեսզի սպասումը չմեծացնի կույտային հիշողության օգտագործումը (#4380)։ Բյուջեն գերազանցող սպասումներն անմիջապես ստանում են կրկին փորձարկելի 503։
OMNIROUTE_CHAT_VIRTUAL_TTL_MS 60000 (60 վ) src/shared/middleware/chatBodyAdmission.ts #10110-ից ի վեր հնացած և ոչինչ չանող կարգավորում է․ յուրաքանչյուր աշխատաշրջանի ընդունման գոտիները հեռացվել են՝ հօգուտ գործընթացի ամբողջ մասշտաբով մեկ բյուջեի։ Ընդունվում է կազմաձևման համատեղելիության համար, սակայն անտեսվում է։
OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS 64 src/shared/middleware/chatBodyAdmission.ts #10110-ից ի վեր հնացած և ոչինչ չանող կարգավորում է․ յուրաքանչյուր աշխատաշրջանի ընդունման գոտիները հեռացվել են՝ հօգուտ գործընթացի ամբողջ մասշտաբով մեկ բյուջեի։ Ընդունվում է կազմաձևման համատեղելիության համար, սակայն անտեսվում է։
OMNIROUTE_CHAT_VIRTUAL_LANES 0 (անջատված) open-sse/services/admission/runtime.ts Հարմարվողական գործարկման միջավայրի ընդունման վիրտուալ գոտիներ (#9654) յուրաքանչյուր վարձակալի հարմարվողական անցակետի գլխավոր անջատիչը (համակարգ 2)։ Տարբերվում է վերևում նշված՝ յուրաքանչյուր կապի համար նախատեսված հնացած գոտիների փոփոխականներից (TTL_MS / MAX_SESSIONS, որոնք #10110-ից ի վեր ոչինչ չեն անում)։ Նույն անունով կառավարման վահանակի գործառույթի դրոշակ է․ միջավայրի փոփոխականը գերակայում է կառավարման վահանակում սահմանված վերագրանցմանը․ պահանջում է վերագործարկում։
OMNIROUTE_RUNNOW_TIMEOUT_MS 30000 src/app/api/jobs/[id]/run-now/route.ts Սահմանափակում է, թե որքան ժամանակ է անմիջապես գործարկման կանչը սպասում ընթացքի մեջ գտնվող առաջադրանքին՝ նախքան հերթագրված գործարկումը սկսելը։
ADOBE_FIREFLY_BROWSER_REFRESH միացված open-sse/services/adobeFireflySession.ts Հաշվին կապված Chrome CDP աշխատաշրջանների միջոցով թարմ է պահում IMS-ի և դիտարկիչի ռիսկային վիճակը․ անջատելու համար սահմանեք 0։
ADOBE_FIREFLY_SESSION_DISK միացված open-sse/services/adobeFireflySession.ts Վերականգնված Adobe աշխատաշրջանները պահպանում է DATA_DIR-ում․ միայն հիշողության մեջ վիճակ պահելու համար սահմանեք 0։
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Adobe Firefly-ի գեներացման ուղարկումների միջև նվազագույն ընդմիջումը։
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Յուրաքանչյուր երրորդ հաջող Adobe ուղարկումից հետո լրացուցիչ դադար։
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts Միայն վրիպազերծման համար նախատեսված՝ իսկապես առանց ինտերֆեյսի ռեժիմ․ Adobe colligo-ն սովորաբար մերժում է դրա արդյունքում ստեղծված ռիսկային աշխատաշրջանը։
CHROME_PATH ինքնահայտնաբերում open-sse/executors/cloudflare-playground.ts, open-sse/executors/chatgpt-web-codex.ts Chrome-ի գործարկվող ֆայլի կամընտիր բացարձակ ուղին, որն օգտագործվում է դիտարկիչով կառավարվող կատարիչների կողմից, երբ հարթակի ինքնահայտնաբերումը բավարար չէ։
TELEGRAM_BOT_TOKEN (սահմանված չէ) src/lib/telegram/config.ts BotFather-ի թոքենը, որը միացնում է մուտքային webhook-ը և ստորագրում Mini App-ի initData-ն։
TELEGRAM_WEBHOOK_SECRET (սահմանված չէ) src/lib/telegram/config.ts setWebhook-ի միջոցով գրանցված և յուրաքանչյուր webhook առաքման ժամանակ X-Telegram-Bot-Api-Secret-Token վերնագրի նկատմամբ ստուգվող ընդհանուր գաղտնիքը։ Պարտադիր է webhook ուղու համար․ եթե սահմանված չէ, webhook առաքումները մերժվում են 503-ով։
TELEGRAM_DEFAULT_MODEL auto/chat src/lib/telegram/chatProxy.ts Telegram չաթի պատասխանների համար օգտագործվող մոդելը։
TELEGRAM_BOT_API_BASE https://api.telegram.org src/lib/telegram/config.ts Bot API-ի բազային URL-ի վերագրանցում՝ պրոքսիների կամ սեփական սպասարկիչում տեղակայված Bot API սպասարկիչների համար։
TELEGRAM_WEBHOOK_TIMEOUT_MS 60000 src/lib/telegram/config.ts Արտաքին Bot API կանչերի ժամանակի սահմանափակումը՝ միլիվայրկյաններով։
OMNIROUTE_OPTIONAL_PACK_TAR 1 (միացված) scripts/build/optionalPackStaging.mjs Սահմանեք 0, որպեսզի Electron-ի ինքնուրույն ծառի համար կամընտիր ML/դիտարկիչի փաթեթները նախապատրաստելիս բաց թողնվի .tar.gz tarball-ների ստեղծումը (փաթեթների պանակները և optional-packs.index.json-ը, միևնույն է, ստեղծվում են)։ Օգտագործվում է աշխատասեղանի թողարկման աշխատանքային հոսքի կողմից՝ արտեֆակտների վերբեռնման չափը կրճատելու համար։

ChatGPT Web (Codex)

Առանց ինտերֆեյսի դիտարկիչի և արտաքին գործիքային թունելի գլոբալ լռելյայն արժեքները։ Կառավարման վահանակում սահմանված կապի արժեքները գերակայում են։

Փոփոխական Լռելյայն Սկզբնաղբյուր ֆայլ Նկարագրություն
CHATGPT_WEB_CODEX_CHROME_PATH (ինքնաշխատ հայտնաբերում) open-sse/executors/chatgpt-web-codex.ts Chrome/Chromium-ի հստակ ուղին՝ npm-ի, systemd-ի և PM2-ի միջոցով գործարկման համար։
CHROME_PATH (ինքնաշխատ հայտնաբերում) open-sse/executors/chatgpt-web-codex.ts Ընդհանուր պահուստային տարբերակ՝ Chrome/Chromium-ի հստակ ուղու համար։
CHATGPT_WEB_CODEX_CDP_URL (սահմանված չէ) open-sse/executors/chatgpt-web-codex.ts Ներքին CDP վերջնակետ․ Docker-ն օգտագործում է 9223 միացքի sidecar-ը։
CDP_PROXY_TOKEN (սահմանված չէ) docker/chatgpt-web-codex-browser/cdp-proxy.mjs Եթե սահմանված է, CDP proxy sidecar-ին ուղղված յուրաքանչյուր հարցում պետք է այս արժեքը փոխանցի X-Omni-Cdp-Token վերնագրում (#13679)։ Առանց արժեքի proxy-ն հարցումները փոխանցում է առանց նույնականացման․ այդ դեպքում պաշտպանությունն ապահովում է միայն chatgpt-web-codex-net Compose ցանցի մեկուսացումը։ Ստեղծեք՝ օգտագործելով openssl rand -hex 32։
CHATGPT_WEB_CODEX_TUNNEL_ID (սահմանված չէ) open-sse/executors/chatgpt-web-codex.ts OpenAI-ի ընդհանուր թունելի ID-ն՝ տեղային Codex գործիքային փուլերի համար։
CHATGPT_WEB_CODEX_RUNTIME_KEY (սահմանված չէ) open-sse/executors/chatgpt-web-codex.ts Թունելի ընդհանուր Runtime բանալին․ երբեք չարտածել մատյաններում։
CHATGPT_WEB_CODEX_CONNECTOR_NAME OmniRoute Codex v2 open-sse/executors/chatgpt-web-codex.ts MCP կամրջի համար նոր ստեղծված ChatGPT հատուկ միակցիչի ճշգրիտ անունը։
CODEX_CHATGPT_WEB_HOME <DATA_DIR>/chatgpt-web-codex open-sse/vendor/codex-chatgpt-web/config.ts Առանձին գրացուցակ՝ դիտարկիչի, broker-ի և թունելի վիճակի համար։
CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS 0 open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts 1 արժեքի դեպքում յուրաքանչյուր ստուգման կետում գրանցվում են դիտարկիչի ախտորոշիչ պատկերները։
CODEX_CHATGPT_WEB_LAUNCHER (սահմանված չէ) open-sse/vendor/codex-chatgpt-web/config.ts Մշտական launcher binary-ի կամընտիր բացարձակ ուղին։
CODEX_CHATGPT_WEB_BUN (ինքնաշխատ հայտնաբերում) open-sse/vendor/codex-chatgpt-web/config.ts Bun Runtime binary-ի կամընտիր բացարձակ ուղին։
CODEX_WEB_GPT_BUN (սահմանված չէ) open-sse/vendor/codex-chatgpt-web/config.ts Հնացած պահուստային տարբերակ CODEX_CHATGPT_WEB_BUN-ի համար․ նոր տեղակայումներն օգտագործում են կանոնական անունը։

OmniConductor կամուրջ

Երկարակյաց SSE սպառիչ, որը OmniConductor հանգույցի առաջադրանքները հայելային կերպով փոխանցում է տեղային A2A TaskManager-ին (src/lib/conductor/)։ Ըստ ցանկության միացվող է․ կամուրջը գործարկվում է միայն այն դեպքում, երբ սահմանված է CONDUCTOR_HUB_URL-ը։ Միայն սերվերային կողմի համար է․ հանգույցի տոկենը երբեք չպետք է հասնի դիտարկիչին։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
CONDUCTOR_HUB_URL (դատարկ) src/lib/conductor/boot.ts OmniConductor հանգույցի բազային URL-ը (օրինակ՝ http://127.0.0.1:7910)։ Սահմանված չէ = կամուրջն անջատված է։
CONDUCTOR_HUB_TOKEN (դատարկ) src/lib/conductor/boot.ts SSE հոսքի համար հանգույցի հավատարմագիր․ հանգույցում ստեղծեք spokesperson տեսակի համակիր (POST /v1/peers, ադմինիստրատոր)։
CONDUCTOR_ORCHESTRATOR_TOKEN (դատարկ) src/lib/conductor/hubProxy.ts Մուտքային A2A→հանգույց առաջադրանքների պատվիրակման հավատարմագիր (POST /v1/tasks) եթե սահմանված չէ, օգտագործվում է CONDUCTOR_HUB_TOKEN-ը։
CONDUCTOR_SPOKESPERSON_URL http://127.0.0.1:7920 src/lib/conductor/faroProxy.ts Վահանակի զրույցի պրոքսիի (/api/conductor/ask) հետևում գտնվող spokesperson (Faro) ծառայության բազային URL-ը։

Քվոտան հաշվի առնող պլանավորում

Օգտագործվում է open-sse/services/combo.ts-ի և src/lib/quota/quotaScheduler.ts-ի կողմից՝ հարցումից առաջ տոկենների բյուջեն ստուգելու համար։ Ըստ ցանկության միացվող է․ եթե սահմանված չէ, երթուղավորման լռելյայն վարքագիծը չի փոխվում։

Փոփոխական Լռելյայն արժեք Սկզբնաղբյուր ֆայլ Նկարագրություն
OMNIROUTE_QUOTA_AWARE_ROUTING 0 open-sse/services/combo.ts Երբ 1 է, բաց է թողնում այն կապերը, որոնց յուրաքանչյուր ժամանակային պատուհանի տոկենների բյուջեն (rateLimitOverrides.tpm, provider_quota_state աղյուսակ) չի բավարարում հարցման գնահատված արժեքը մինչև ուղարկումը։ Եթե բյուջե սահմանված չէ, շարունակում է աշխատանքը՝ թույլատրելով հարցումը։