# Environment Variables Reference (Latviešu) 🌐 **Languages:** 🇺🇸 [English](../../../../reference/ENVIRONMENT.md) · 🇪🇹 [am](../../../am/docs/reference/ENVIRONMENT.md) · 🇸🇦 [ar](../../../ar/docs/reference/ENVIRONMENT.md) · 🇦🇿 [az](../../../az/docs/reference/ENVIRONMENT.md) · 🇧🇬 [bg](../../../bg/docs/reference/ENVIRONMENT.md) · 🇧🇩 [bn](../../../bn/docs/reference/ENVIRONMENT.md) · 🇧🇦 [bs](../../../bs/docs/reference/ENVIRONMENT.md) · 🇨🇿 [cs](../../../cs/docs/reference/ENVIRONMENT.md) · 🇩🇰 [da](../../../da/docs/reference/ENVIRONMENT.md) · 🇩🇪 [de](../../../de/docs/reference/ENVIRONMENT.md) · 🇬🇷 [el](../../../el/docs/reference/ENVIRONMENT.md) · 🇪🇸 [es](../../../es/docs/reference/ENVIRONMENT.md) · 🇪🇪 [et](../../../et/docs/reference/ENVIRONMENT.md) · 🇮🇷 [fa](../../../fa/docs/reference/ENVIRONMENT.md) · 🇫🇮 [fi](../../../fi/docs/reference/ENVIRONMENT.md) · 🇫🇷 [fr](../../../fr/docs/reference/ENVIRONMENT.md) · 🇮🇪 [ga](../../../ga/docs/reference/ENVIRONMENT.md) · 🇮🇳 [gu](../../../gu/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ha](../../../ha/docs/reference/ENVIRONMENT.md) · 🇮🇱 [he](../../../he/docs/reference/ENVIRONMENT.md) · 🇮🇳 [hi](../../../hi/docs/reference/ENVIRONMENT.md) · 🇭🇷 [hr](../../../hr/docs/reference/ENVIRONMENT.md) · 🇭🇺 [hu](../../../hu/docs/reference/ENVIRONMENT.md) · 🇦🇲 [hy](../../../hy/docs/reference/ENVIRONMENT.md) · 🇮🇩 [id](../../../id/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ig](../../../ig/docs/reference/ENVIRONMENT.md) · 🇮🇹 [it](../../../it/docs/reference/ENVIRONMENT.md) · 🇯🇵 [ja](../../../ja/docs/reference/ENVIRONMENT.md) · 🇬🇪 [ka](../../../ka/docs/reference/ENVIRONMENT.md) · 🇰🇭 [km](../../../km/docs/reference/ENVIRONMENT.md) · 🇮🇳 [kn](../../../kn/docs/reference/ENVIRONMENT.md) · 🇰🇷 [ko](../../../ko/docs/reference/ENVIRONMENT.md) · 🇱🇹 [lt](../../../lt/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ml](../../../ml/docs/reference/ENVIRONMENT.md) · 🇮🇳 [mr](../../../mr/docs/reference/ENVIRONMENT.md) · 🇲🇾 [ms](../../../ms/docs/reference/ENVIRONMENT.md) · 🇲🇹 [mt](../../../mt/docs/reference/ENVIRONMENT.md) · 🇲🇲 [my](../../../my/docs/reference/ENVIRONMENT.md) · 🇳🇵 [ne](../../../ne/docs/reference/ENVIRONMENT.md) · 🇳🇱 [nl](../../../nl/docs/reference/ENVIRONMENT.md) · 🇳🇴 [no](../../../no/docs/reference/ENVIRONMENT.md) · 🇮🇳 [or](../../../or/docs/reference/ENVIRONMENT.md) · 🇮🇳 [pa](../../../pa/docs/reference/ENVIRONMENT.md) · 🇵🇭 [phi](../../../phi/docs/reference/ENVIRONMENT.md) · 🇵🇱 [pl](../../../pl/docs/reference/ENVIRONMENT.md) · 🇵🇹 [pt](../../../pt/docs/reference/ENVIRONMENT.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/reference/ENVIRONMENT.md) · 🇷🇴 [ro](../../../ro/docs/reference/ENVIRONMENT.md) · 🇷🇺 [ru](../../../ru/docs/reference/ENVIRONMENT.md) · 🇱🇰 [si](../../../si/docs/reference/ENVIRONMENT.md) · 🇸🇰 [sk](../../../sk/docs/reference/ENVIRONMENT.md) · 🇸🇮 [sl](../../../sl/docs/reference/ENVIRONMENT.md) · 🇷🇸 [sr](../../../sr/docs/reference/ENVIRONMENT.md) · 🇸🇪 [sv](../../../sv/docs/reference/ENVIRONMENT.md) · 🇰🇪 [sw](../../../sw/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ta](../../../ta/docs/reference/ENVIRONMENT.md) · 🇮🇳 [te](../../../te/docs/reference/ENVIRONMENT.md) · 🇹🇭 [th](../../../th/docs/reference/ENVIRONMENT.md) · 🇹🇷 [tr](../../../tr/docs/reference/ENVIRONMENT.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/reference/ENVIRONMENT.md) · 🇵🇰 [ur](../../../ur/docs/reference/ENVIRONMENT.md) · 🇺🇿 [uz](../../../uz/docs/reference/ENVIRONMENT.md) · 🇻🇳 [vi](../../../vi/docs/reference/ENVIRONMENT.md) · 🇳🇬 [yo](../../../yo/docs/reference/ENVIRONMENT.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/reference/ENVIRONMENT.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/reference/ENVIRONMENT.md) --- > Pilnīga atsauce uz visiem OmniRoute atpazītajiem vides mainīgajiem. > Ātrās sākšanas veidni skatiet failā [`.env.example`](../../.env.example). > [!IMPORTANT] > Katram šeit dokumentētajam mainīgajam jābūt norādītam arī failā `.env.example`, un > katram failā `.env.example` norādītajam mainīgajam jābūt dokumentētam šeit. `npm run check:env-doc-sync` > to pārbauda komita izveides laikā un CI vidē. Lai apzināti izlaistu kādu mainīgo, pievienojiet to > atļauto vienumu sarakstam failā `scripts/check/check-env-doc-sync.mjs`. --- ## Satura rādītājs - [1. Obligātie noslēpumi](#1-required-secrets) - [2. Krātuve un datubāze](#2-storage--database) - [3. Tīkls un porti](#3-network--ports) - [4. Drošība un autentifikācija](#4-security--authentication) - [5. Ievades sanitizācija un PII aizsardzība](#5-input-sanitization--pii-protection) - [6. Rīku un maršrutēšanas politikas](#6-tool--routing-policies) - [7. URL un mākoņa sinhronizācija](#7-urls--cloud-sync) - [8. Izejošais starpniekserveris](#8-outbound-proxy) - [9. CLI rīku integrācija](#9-cli-tool-integration) - [10. Iekšējo aģentu un MCP integrācijas](#10-internal-agent--mcp-integrations) - [11. OAuth nodrošinātāju akreditācijas dati](#11-oauth-provider-credentials) - [12. Nodrošinātāju User-Agent vērtību pārrakstīšana](#12-provider-user-agent-overrides) - [13. CLI digitālnospieduma saderība](#13-cli-fingerprint-compatibility) - [14. API atslēgu nodrošinātāji](#14-api-key-providers) - [15. Taimauta iestatījumi](#15-timeout-settings) - [16. Žurnalēšana](#16-logging) - [17. Atmiņas optimizācija](#17-memory-optimization) - [18. Cenu sinhronizācija](#18-pricing-sync) - [19. Modeļu sinhronizācija (izstrāde)](#19-model-sync-dev) - [20. Nodrošinātājiem specifiski iestatījumi](#20-provider-specific-settings) - [21. Starpniekservera darbspēja](#21-proxy-health) - [22. Atkļūdošana](#22-debugging) - [23. GitHub integrācija](#23-github-integration) - [24. Prasmju smilškaste (v3.8.0+)](#24-skills-sandbox-v380) - [27. Radar plūsma (pašmitināšana)](#27-radar-feed-self-hosting) - [Izvietošanas scenāriji](#deployment-scenarios) - [Audits: noņemtie / neizmantotie mainīgie](#audit-removed--dead-variables) --- ## 1. Obligātie noslēpumi Nesetie noslēpumi ar atzīmi **Jā** pirmajā palaišanas reizē tiek automātiski ģenerēti (`JWT_SECRET`, `API_KEY_SECRET`) un saglabāti datu direktorijas failā `server.env` — iestatiet tos nepārprotami, ja šī direktorija ir īslaicīga. Izņēmums ir `OMNIROUTE_WS_BRIDGE_SECRET`: tas netiek saglabāts `server.env` — servera palaišanas ievades punkti katrā palaišanas reizē izveido īslaicīgu vērtību, kuru var izmantot tikai paša procesa iekšienē darbojošais tilts, tāpēc ārējiem tilta klientiem šī vērtība ir nepārprotami jāiestata. | Mainīgais | Obligāts | Noklusējums | Avota fails | Apraksts | | ---------------------------- | ------------------- | -------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `JWT_SECRET` | **Jā** | _(nav)_ | `src/lib/auth` | Paraksta/pārbauda visus informācijas paneļa sesijas sīkfailus (JWT). Ģenerējiet ar `openssl rand -base64 48`. | | `API_KEY_SECRET` | **Jā** | _(nav)_ | `src/lib/db/apiKeys.ts` | AES šifrēšanas atslēga SQLite datubāzē glabātajām API atslēgu vērtībām. Ģenerējiet ar `openssl rand -hex 32`. | | `INITIAL_PASSWORD` | Nē | _(nav iestatīts)_ | `src/lib/auth/managementPassword.ts` | Iestata informācijas paneļa paroli palaišanas laikā, kamēr vēl nav saglabāta neviena parole; pēc paroles saglabāšanas to ignorē. npm instalācijas un instalācijas no pirmkoda kopē `.env.example` uz `.env`, tāpēc tās sākas ar tā publiski zināmo vietturi `CHANGEME`: nomainiet to pirms pirmās palaišanas vai iestatiet `INITIAL_PASSWORD=` (tukšu vērtību) šajā `.env`, lai paroli izveidotu pirmā apmeklējuma reizē sākotnējās iestatīšanas vednī — tāpat, kā to dara neiestatīta vērtība (Docker attēla noklusējums). Saglabāto paroli nomainiet sadaļā Informācijas panelis → Iestatījumi → Drošība vai izpildiet `omniroute reset-password` (`node bin/reset-password.mjs` pirmkoda izrakstā), iestatot `DATA_DIR` uz servera datu direktoriju. | | `OMNIROUTE_WS_BRIDGE_SECRET` | **Jā** (produkcijā) | _(nav iestatīts)_ | `src/app/api/internal/codex-responses-ws/route.ts` | Koplietojams noslēpums iekšējam Codex Responses WebSocket tiltam. Autentificē tilta pieprasījumus starp Electron/pārlūkprogrammas WS releju un OmniRoute. ⚠️ **OBLIGĀTS produkcijā — ja tas nav iestatīts, visi WS tilta pieprasījumi tiek noraidīti.** Ģenerējiet ar `openssl rand -base64 32`. | | `OMNIROUTE_SW_BUILD_ID` | Nē | _(git SHA)_ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Nepārprotams servisa darbinieka kešatmiņas apiešanas identifikators PWA čaulai (#11779); pirmais noteikšanas ķēdē. | | `SOURCE_VERSION` | Nē | _(nav iestatīts)_ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Otrais ķēdē — PaaS būvētāji (piemēram, Heroku tipa) to iestata uz izvietotā komita vērtību. | | `NEXT_PUBLIC_SW_BUILD_ID` | Nē | _(atvasināts)_ | `src/shared/components/PwaRegister.tsx` | Būvēšanas laikā pieejamā publiskā vērtība, ko klients izmanto, lai reģistrētu `/sw.js?v=…`; tā tiek atvasināta no abām iepriekš minētajām vērtībām un pēc tam no git SHA. | | `OMNIROUTE_PEER_STAMP_TOKEN` | Nē (automātiski) | _(automātiski katrā palaišanas reizē)_ | `src/server/authz/policies/management.ts` | Katra procesa noslēpums, kas apliecina, ka uzticamais vienādranga IP zīmogs saņemts no paša OmniRoute HTTP servera (`scripts/dev/peer-stamp.mjs`). Autorizācijas starpprogrammatūra uzticas pieprasījuma lokālumam (LOCAL_ONLY maršrutu ierobežošana uz atgriezeniskās cilpas/LAN adresēm) tikai tad, ja zīmogs ietver šo pilnvaru. Tas tiek automātiski ģenerēts katrā palaišanas reizē — atstājiet neiestatītu; fiksējiet to tikai vairāku procesu konfigurācijām, kurām zīmogs ir jākoplieto. | | `OMNIROUTE_TRUSTED_PROXIES` | Nē | _(nav iestatīts)_ | `scripts/dev/peer-stamp.mjs` | Ar komatiem atdalītas reverso starpniekserveru IP adreses vai CIDR diapazoni, kuru `X-Forwarded-For` / `X-Real-IP` vērtībām IP atļaušanas/aizliegšanas saraksts drīkst uzticēties papildus atgriezeniskās cilpas un privātā tīkla adresēm, kā arī Cloudflare malām, kuras vienmēr tiek uzskatītas par uzticamām. Nepieciešams tikai starpniekserverim ar jebkuru citu publisko adresi; pretējā gadījumā filtrs izvērtē paša starpniekservera adresi. | ### Ģenerēšanas komandas ```bash # Ģenerēt visus četrus noslēpumus uzreiz: 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] > Nekad neiekļaujiet versiju kontroles sistēmā `.env` failus ar īstiem noslēpumiem. `.gitignore` jau izslēdz `.env`, taču pārbaudiet to pirms izmaiņu nosūtīšanas. --- ## 2. Krātuve un datubāze OmniRoute visai pastāvīgajai datu glabāšanai izmanto **SQLite** (ar `better-sqlite3` starpniecību). Šie mainīgie nosaka datu atrašanās vietu, šifrēšanu un dzīves ciklu. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------------ | ----------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `DATA_DIR` | `~/.omniroute/` | `src/lib/db/core.ts` | SQLite datubāzes, dublējumu un datu failu saknes direktorijs. Pārrakstiet šo vērtību Docker sējumiem vai pielāgotiem ceļiem. | | `OMNIROUTE_ALLOW_DEFAULT_DATA_DIR` | _(nav iestatīts)_ | `src/lib/dataPaths.ts` | Testu/izvērtēšanas DATA_DIR aizsardzības apiešanas mehānisms (#10428). Testi un Node izvērtēšanas/izvades zondes (`-e`/`--eval`/`-p`/`--print`, tostarp formas `--eval=`/`--print=`), kurām nav `DATA_DIR`, tiek novirzītas uz vienreizlietojamu pagaidu direktoriju, lai tās nevarētu atvērt operatora īsto datubāzi; iestatiet uz `1`, lai atkal izmantotu īsto direktoriju. | | `OMNIROUTE_BUILD_SHA` | _(nav iestatīts)_ | `src/lib/monitoring/buildSha.ts` | Darbojošā artefakta Git SHA. To pievieno `npm run build:release`; to var ievadīt konteineros, kas tiek piegādāti bez `dist/BUILD_SHA` kontrolfaila. Tas tiek parādīts kā `system.buildSha` galapunktā `/api/monitoring/health`. | | `OMNIROUTE_RELEASE_REF` | `origin/main` | `scripts/build/buildProvenance.ts` | Atsauce, pret kuru pakotnes artefakta izcelsmes pārbaudes vārteja pārbauda būvējuma SHA (#10427). | | `OMNIROUTE_ALLOW_CANARY_BUILD` | _(nav iestatīts)_ | `scripts/build/buildProvenance.ts` | Iestatiet uz `1`, lai atļautu iepakot būvējumu, kura SHA neatrodas laidiena zarā, reģistrējot to kā apzināti izveidotu izmēģinājuma būvējumu, nevis noraidot to pārbaudes vārtejā (#10427). | | `OMNIROUTE_SMOKE_API_KEY` | _(nav iestatīts)_ | `scripts/ops/deploy-canary.mjs` | API atslēga izmēģinājuma izvietošanas ātrajai pārbaudei, kas galapunktam `/v1/chat/completions` tiek nosūtīta kā `Authorization: Bearer`. To izmanto tikai izvietošanas skripts (#10429), bet serveris to neizmanto nekad. Tā nav saistīta ar brīvprātīgi iespējojamā CLI ātro pārbaužu rīka `OMNIROUTE_SMOKE_*` mainīgajiem (`RUN_CLI_SMOKE=1`, `OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS` failā `tests/integration/upstream-cli-smoke.int.test.ts`) — skatiet [CLI integrācijas → Reāla ātro pārbaužu kopa](../guides/CLI-INTEGRATIONS.md). | | `OMNIROUTE_BUILDING` | _(nav iestatīts)_ | `src/lib/buildPhase.ts` | Būvēšanas posma signāls (#10060): `scripts/build/build-next-isolated.mjs` to iestata uz `1`, un to pārmanto katrs palaistais būvēšanas darbinieks, lai datubāzes slānis atgrieztu tukšu aizstājēju, nevis ielādētu vietējo better-sqlite3 papildinājumu (kas pārtrauc darbinieka darbību, tam izejot). To nekad neiestata serverim, kas darbojas. | | `OMNIROUTE_SKIP_NATIVE_DEP_CHECK` | `0` | `scripts/check/check-native-deps.mjs` | Iestatiet uz `1`, lai izlaistu neobligāto vietējo atkarību pirmsbūvēšanas pārbaudi netipiskiem iekļauto atkarību kokiem. Tas nepadara trūkstošu atkarību būvējamu; izmantojiet tikai tad, ja vietējās atkarības tiek nodrošinātas ārpus šī procesa. | | `OMNIROUTE_DATA_DIR` | _(nav iestatīts)_ | `open-sse/executors/promptql/threadSticky.ts` | **Rezerves aizstājvārds** mainīgajam `DATA_DIR`, ko pārbauda tikai tad, ja `DATA_DIR` nav iestatīts. To izmanto, lai atrastu PromptQL izpildītāja diskā glabāto pavedienam piesaistīto sesiju kešatmiņu (`/promptql-thread-sessions.json`); ja nav iestatīts neviens no mainīgajiem, kešatmiņa paliek tikai atmiņā (pēc restartēšanas tā netiek saglabāta). | | `OMNIROUTE_PLUGINS_DIR` | _(nav iestatīts)_ | `src/lib/plugins/scanner.ts` | Direktorijs, kuru nolasa **izpildlaika spraudņu skeneris** un kurā spraudņu pārvaldnieks instalē spraudņus, pārrakstot no mājas direktorija atvasināto noklusējuma vērtību (#11827). Docker/K8s vidē norādiet uz piesaistīto spraudņu koku, nevis pārvietojiet HOME tikai tādēļ, lai mainītu skenēšanas ceļu (HOME nosaka arī visas pārējās no mājas direktorija atkarīgās darbības). Nav iestatīts = `~/.omniroute/plugins` vai `/tmp/.omniroute/plugins`, ja process vispār neeksportē mājas direktoriju — šis mainīgais novērš kluso spraudņu neatrašanu. Atrisinātais direktorijs palaišanas laikā tiek vienreiz reģistrēts žurnālā kā `scanner.dir_resolved` kopā ar izmantoto ievades vērtību. Tikai servera pusē: CLI komandu spraudņi turpina izmantot savu `OMNIROUTE_PLUGIN_PATH` (9. sadaļa). | | `STORAGE_ENCRYPTION_KEY` | _(tukšs = atspējots)_ | `src/lib/db/encryption.ts` | AES atslēga visas SQLite datubāzes šifrēšanai miera stāvoklī. Ģenerējiet ar `openssl rand -hex 32`. | | `STORAGE_ENCRYPTION_KEY_VERSION` | `v1` | `scripts/build/bootstrap-env.mjs`, `electron/main.js` | Šifrēšanas atslēgas versijas apzīmējums. Palieliniet to atslēgas rotācijas laikā, lai nodrošinātu veco dublējumkopiju atšifrēšanu. | | `DISABLE_SQLITE_AUTO_BACKUP` | `false` | `src/lib/db/backup.ts` | Ja vērtība ir `true`, tiek izlaista regulārā/pirmsrakstīšanas SQLite faila dublēšana (models.dev cenu saglabāšana/notīrīšana, iestatījumu ierakstīšana). Manuālā un pirmsatjaunošanas dublēšana joprojām tiek veikta. Tas **neatspējo** migrācijas izpildītāja obligāto pastāvīgo drošības momentuzņēmumu vai masveida migrācijas aizsardzību esošai pastāvīgai DB. Nemanuālā dublēšana tiek ierobežota līdz ne vairāk kā vienai reizei 60 minūtēs. Informācijas paneļa sadaļā **Iestatījumi → Krātuve** regulāro automātisko dublēšanu var atspējot neatkarīgi. | | `OMNIROUTE_CRYPT_KEY` | _(nav iestatīts)_ | `src/lib/db/encryption.ts` | `STORAGE_ENCRYPTION_KEY` **mantotais aizstājvārds**. Tiek pieņemts kā rezerves variants, ja primārā mainīgā nav. | | `OMNIROUTE_API_KEY_BASE64` | _(nav iestatīts)_ | `src/lib/db/encryption.ts` | **Mantotais aizstājvārds** (Base64 kodētā formā), kas tiek pieņemts kā rezerves variants. Pirms izmantošanas tiek automātiski dekodēts. | | `OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS` | _(nav iestatīts)_ | `src/lib/db/core.ts` | Periodiskās SQLite darbspējas pārbaudes intervāla pārrakstīšana (ms). Ja nav iestatīts, noklusējuma vērtības tiek atvasinātas no `NODE_ENV`. | | `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS` | _(noņemts)_ | `src/lib/db/walMaintenance.ts` | **Noņemts.** Periodisks aktīvas datubāzes `wal_checkpoint(TRUNCATE)` var padarīt nederīgu koplietoto wal-index kartējumu un izraisīt procesa avāriju ar SIGBUS (#13973), tāpēc plānotājs vairs nepastāv. Mainīgais ir neaktīvs: pozitīva vērtība vienreiz reģistrē žurnālā brīdinājumu par novecošanu, savukārt `0` vai neiestatīta vērtība nerada ziņojumus. WAL tiek uzturēts ar PASSIVE kontrolpunktiem (tālāk) un saīsināts ar izslēgšanas kontrolpunktu. | | `OMNIROUTE_WAL_PASSIVE_INTERVAL_MS` | `300000` (5 min.) | `src/lib/db/walMaintenance.ts` | Biežā `wal_checkpoint(PASSIVE)` intervāla pārrakstīšana (ms). Uztur neapstrādāto WAL kadru skaitu mazu, lai kontrolpunktu izveide būtu ātra un WAL faila izmērs starp saīsināšanām izslēgšanas laikā saglabātos ierobežots. `0` atspējo. | | `OMNIROUTE_WAL_GUARD_MAX_MB` | `256` | `src/lib/db/walMaintenance.ts` | Kad PASSIVE cikls konstatē, ka WAL fails pārsniedz šo izmēru, tiek palaists `wal_checkpoint(RESTART)`, lai WAL sāktos no jauna, nepārrakstot kartēto wal-index. Aktīvas datubāzes saīsināšanas režīma kontrolpunkti tika noņemti (skatiet rindu `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS`). | | `OMNIROUTE_PRESSURE_SELF_RESTART` | `false` | `open-sse/utils/resourcePressure.ts` | Iestatiet uz `1`/`true`/`yes`/`on`, lai izbeigtu procesu pēc tam, kad kritisks resursu noslogojums ir saglabājies `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS` ilgi, ļaujot pārraugam (systemd `Restart=always`, Docker restartēšanas politikai) palaist tīru procesu, nevis bezgalīgi atbildēt ar 503. | | `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS` | `120000` (2 min.) | `open-sse/utils/resourcePressure.ts` | Laiks, cik ilgi kritiskam noslogojumam jāsaglabājas, pirms tiek aktivizēta pašrestartēšanas iziešana. | | `OMNIROUTE_PRESSURE_PSI_DISABLED` | `false` | `open-sse/utils/resourcePressurePolicy.ts` | Iestatiet uz `1`/`true`/`yes`/`on`, lai ignorētu visas resursdatora sistēmas `/proc/pressure/memory` (`psi_some` / `psi_full`), kad trokšņains kaimiņš izraisa 503 atbildes, lai gan šis process darbojas normāli (#13124). Cgroup un V8 kaudzes aizsardzība paliek ieslēgta. PSI arī vairs netiek uzskatīts par kodola ierobežošanas pierādījumu attiecībā uz `cgroup_high`: cgroup kopsumma, kas pārsniedz `memory.high`, tad kļūst kritiska tikai tad, ja palielinās `memory.events` vērtība `high`/`max`. Ja `memory.events` nav pieejams, tiek saglabāta neapstrādātā attiecība. | | `OMNIROUTE_SQLJS_WASM_PATH` | _(automātiska noteikšana)_ | `src/lib/db/adapters/sqljsAdapter.ts` | Precīzs ceļš (absolūts vai relatīvs pret cwd) uz `sql-wasm.wasm`, izmantojot `sql.js` WASM rezerves adapteri. Ja tas nav iestatīts, ceļš tiek automātiski noteikts, izmantojot pakotņu atkarības un iespējamos izkārtojumus. | | `OMNIROUTE_BATCH_RETENTION_DAYS` | `30` | `src/lib/db/cleanup.ts` | Dienu skaits, cik ilgi pirms automātiskās tīrīšanas dzēšanas tiek glabāti termināla stāvoklī esoša (pabeigta/neizdevusies/atcelta/ar beigušos termiņu) Batch API uzdevuma kontrolpunkti, atsauces ievades/izvades/kļūdu faili un rinda. Stājas spēkā tikai pēc `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` ieslēgšanas; atbilst paša OpenAI Batch API izvades glabāšanas periodam. Neietekmē operatora aktivizēto maršrutu `DELETE /api/v1/batches/delete-completed`, kas pēc konstrukcijas paliek bez nosacījumiem (bez vecuma filtra). | | `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` | `false` | `src/lib/db/cleanup.ts` | Ja iestatīts uz `true`, automātiskās tīrīšanas process dzēš pabeigtos Batch API darbus (un to kontrolpunktus), kas ir vecāki par `OMNIROUTE_BATCH_RETENTION_DAYS`, un notīra BLOB saturu augšupielādētajiem failiem, kuru `expires_at` termiņš ir pagājis. Pēc noklusējuma izslēgts: katra esošā instalācija saglabā šos datus tieši tāpat kā iepriekš, līdz operators šo funkciju iespējo. Tas ir arī informācijas panelī rediģējams funkcijas karodziņš — skatiet `docs/reference/FEATURE_FLAGS.md` → Izpildlaiks. | | `OMNIROUTE_SKIP_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts`, `src/lib/db/healthCheck.ts` | Iestatiet uz `1`, lai startēšanas laikā pilnībā izlaistu DB darbspējas pārbaudi. Noder īslaicīgiem uzdevumiem un integrācijas testiem. | | `OMNIROUTE_FORCE_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts` | Iestatiet uz `1`, lai piespiedu kārtā iespējotu DB darbspējas pārbaudes ciklu pat tad, ja tas parasti tiktu izlaists (piemēram, īslaicīgiem uzdevumiem). | | `OMNIROUTE_SKIP_POSTINSTALL` | `0` | `scripts/postinstall.mjs` | Iestatiet uz `1`, lai `npm install` laikā izlaistu vietējās izpildvides iesildīšanu. Noder CI/bezgalvas instalācijās, kur sqlite jau ir kompilēts. | | `OMNIROUTE_MIGRATIONS_DIR` | _(automātiski noteikts)_ | `src/lib/db/migrationRunner.ts` | Norādiet citu direktoriju, kuru skenē migrāciju izpildītājs. Noder, ja pielāgotos būvējumos tiek piegādātas komplektā iekļautas migrācijas. | | `OMNIROUTE_EXTRA_MIGRATIONS_DIRS` | _(nav iestatīts)_ | `src/lib/db/migrationRunner/extraDirs.ts` | Papildu migrāciju direktoriji kā `namespace=dir` ieraksti, kas atdalīti ar platformas ceļu atdalītāju (piemēram, `ee=/opt/app/enterprise/db/migrations`). Tur atrastie faili tiek reģistrēti kā `-`, tādēļ izplatījums, kas piegādā savas migrācijas, nekad nekonfliktē ar augšupstraumes skaitliskajām pozīcijām. Nepareizi formatēts ieraksts, nederīga nosaukumvieta vai neesošs direktorijs startēšanas laikā izraisa kļūdu, nevis klusi izlaiž shēmu. | | `OMNIROUTE_MAX_PENDING_MIGRATIONS` | `50` | `src/lib/db/migrationRunner.ts` | Drošības slieksnis lielam neizpildīto migrāciju skaitam (#3416). Startēšana tiek pārtraukta, ja esošā DB gaida vairāk migrāciju par norādīto skaitu (aizsardzība pret iztīrītu izsekošanas tabulu). Palieliniet to, lai atjaunotu vecāku dublējumu; iestatiet uz `0`, lai atspējotu pārbaudi. | | `OMNIROUTE_INSTALL_UPGRADE_WORKDIR` | _(`/.install-upgrade`)_ | `scripts/check/check-install-upgrade.mjs` | Darba direktorijs `check:install-upgrade` laidiena pārbaudei. Tam nepieciešami aptuveni 12 GB (divi ~3 GB instalāciju koki un tarball arhīvs), tādēļ to nedrīkst palaist mazā tmpfs — pašmitinātajā izpildītājā `/tmp` ir 12 GB operatīvajā atmiņā izvietots tmpfs, kuru pārbaude pilnībā aizpildīja, apraujot pakotni. | | `OMNIROUTE_SPEND_FLUSH_INTERVAL_MS` | _(noklusējums kodā)_ | `src/lib/spend/batchWriter.ts` | Paketveida izdevumu/izmaksu rakstītāja iztukšošanas intervāls (ms). Mazākas vērtības samazina rakstīšanas operāciju apvienošanu; lielākas vērtības samazina DB noslodzi. | | `OMNIROUTE_SPEND_MAX_BUFFER_SIZE` | _(noklusējums kodā)_ | `src/lib/spend/batchWriter.ts` | Maksimālais buferēto izdevumu ierakstu skaits pirms piespiedu iztukšošanas. Palieliniet izvietojumiem ar augstu QPS; samaziniet, ja ierobežots atmiņas patēriņš ir svarīgāks. | | `OMNIROUTE_PROXY_FETCH_DEBUG` | _(nav iestatīts)_ | `open-sse/utils/proxyFetch.ts` | Iestatiet uz `"true"`, lai Vercel releja ceļā izvadītu `[ProxyFetch]` atkļūdošanas žurnālus. Pēc noklusējuma izslēgts, lai neizpaustu maršrutēšanas norādes. | | `OMNIROUTE_PROXY_CORE_BINARY_PATH` | _(nav iestatīts)_ | `src/lib/proxySubscription/coreConfig/sync.ts` | Lokālā starpniekservera kodola binārā faila (faila ar nosaukumu `sing-box`) absolūtais ceļš; tas pārbauda ģenerēto kodola konfigurāciju, pirms tā aizstāj izmantoto failu. Ja nav iestatīts, blakus izmantotajam failam tiek ierakstīts tikai `.generated`. Tikai resursdatora videi: nekad netiek glabāts datubāzē vai pieņemts caur pārvaldības API, jo binārais fails tiek izpildīts. | | `OMNIROUTE_PROXY_CORE_RELOAD_COMMAND` | _(nav iestatīts)_ | `src/lib/proxySubscription/coreConfig/reload.ts` | Veids, kā lokālais starpniekservera kodols tiek atkārtoti ielādēts pēc pārbaudītas konfigurācijas aizstāšanas: JSON argumentu masīvs, kas tiek palaists bez čaulas, vai precīzi `external`, ja failu lieto ārējs novērotājs. Nekad netiek glabāts datubāzē vai atklāts caur API. | | `PROXY_LOG_INCLUDE_IPS` | `false` | `src/lib/proxyLogger.ts` | Iestatiet uz `"true"` vai `"1"`, lai detalizētajā `[ProxyEgress]` procesa žurnāla rindā iekļautu klienta/izejas IP adreses un konta prefiksu. Pēc noklusējuma atstāts IZSLĒGTS, lai procesa žurnālā netiktu izpaustas IP adreses vai konta prefikss. | | `OMNIROUTE_DEBUG` | _(nav iestatīts)_ | `bin/cli/commands/quota.mjs` | Iestatiet uz `1`, lai CLI kvotu komandas stderr izvadītu katra pieprasījuma izpildes laika diagnostiku (`[omniroute] GET completed in Nms`). | | `OMNIROUTE_HEALTHCHECK_PATH` | _(automātiski)_ | `scripts/dev/healthcheck.mjs` | Konteinera darbspējas pārbaudes izmantotais konkrētais ceļš. Ja nav iestatīts, pārbaude to atvasina no `OMNIROUTE_BASE_PATH`; tā iestatīšana atkārtoti iespējo padziļinātās uzraudzības galapunktu. | | `OMNIROUTE_DEBUG_COMPLETION` | _(nav iestatīts)_ | `bin/cli/commands/completion.mjs` | Iestatiet uz jebkuru netukšu vērtību, lai no CLI čaulas automātiskās pabeigšanas kešatmiņas ceļiem (lasīšana/atsvaidzināšana/rakstīšana) izvadītu `[omniroute completion]` diagnostiku. Pēc noklusējuma izslēgts — šo kešatmiņu kļūmes notiek bez paziņojuma, lai trūkstoša vai bojāta kešatmiņa nekad netraucētu pabeigšanu ar tabulēšanas taustiņu. | | `BATCH_RETRY_DURATION_MS` | `86400000` (24 h) | `open-sse/services/batchProcessor.ts` | Maksimālais atkārtotu mēģinājumu periods atsevišķiem paketes elementiem (ms). Elementi, kas pārsniedz šo ilgumu, tiek atzīmēti kā neizdevušies. | | `BATCH_BACKOFF_BASE_MS` | `5000` | `open-sse/services/batchProcessor.ts` | Sākotnējā aizkave (ms) eksponenciālajai aizturei, atkārtoti mēģinot apstrādāt paketes elementus. | | `BATCH_BACKOFF_MAX_MS` | `3600000` (1 h) | `open-sse/services/batchProcessor.ts` | Eksponenciālās aiztures maksimālā robeža (ms) starp paketes elementu atkārtotas apstrādes mēģinājumiem. | | `BATCH_MAX_CONCURRENT` | `1` | `open-sse/services/batchProcessor.ts` | Maksimālais vienlaikus apstrādājamo pakešu skaits. Palieliniet, lai uzlabotu caurlaidspēju; saglabājiet zemu vērtību, lai izvairītos no pieprasījumu biežuma ierobežojumu izraisītu kļūdu lavīnas. | > [!IMPORTANT] > Pirms esošas pastāvīgās datubāzes mainīšanas migrācijas izpildītājs publicē pilnīgu, > pēc satura adresētu momentuzņēmumu mapē `DATA_DIR/db_backups/`. Publicēšanai nepieciešama failu sistēma, > kas atbalsta tajā pašā failu sistēmā esošas cietās saites bez pārrakstīšanas, kā arī noturīgu failu sinhronizāciju. POSIX resursdatoriem ir nepieciešama arī > direktoriju sinhronizācija; operētājsistēmā Windows Node var noraidīt direktoriju turus, tāpēc OmniRoute sinhronizē > publicēto failu un direktorija ieraksta sinhronizāciju veic pēc iespējas. > Ja montētais `DATA_DIR` nevar nodrošināt šīs garantijas, palaišana tiek droši pārtraukta pirms > migrācijas piemērošanas. Pārvietojiet `DATA_DIR` uz sējumu, kas nodrošina šīs primitīvās operācijas; neizmantojiet > `DISABLE_SQLITE_AUTO_BACKUP`, lai apietu migrācijas drošību. ### Scenāriji | Scenārijs | Konfigurācija | | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | **Lokālā izstrāde** | Atstājiet visas noklusējuma vērtības. DB atrodas `~/.omniroute/omniroute.db`. | | **Docker** | `DATA_DIR=/data` + montējiet sējumu pie `/data`. | | **Šifrēšana datu glabāšanas vietā** | Iestatiet `STORAGE_ENCRYPTION_KEY` + obligāti glabājiet atslēgas dublējumkopijas! Tās zaudēšana = datu zaudēšana. | | **CI/Testēšana** | `DATA_DIR=/tmp/omniroute-test` — īslaicīgs, šifrēšana nav nepieciešama. | --- ## 3. Tīkls un porti | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PORT` | `20128` | `src/lib/runtime/ports.ts` | Galvenais ports gan informācijas paneļa lietotāja saskarnei, gan API galapunktiem (viena porta režīmā). | | `OMNIROUTE_BASE_PATH` | _(tukšs = sakne)_ | `next.config.mjs`, `scripts/docker/ensure-docker-base-path.mjs` | URL apakšceļš OmniRoute apkalpošanai aiz reversā starpniekservera (iestata Next.js `basePath`; autentifikācijas novirzīšanā tiek ņemts vērā `basePath`). Piemēram, `/omniroute`. Docker vidē vērtība tiek iekļauta `docker build` laikā (`ARG OMNIROUTE_BASE_PATH`); iepriekš izveidotiem saknes attēliem konteinera palaišanas brīdī pirms Next.js startēšanas vienreiz var lietot citu izpildlaika vērtību. Iestatiet `NEXT_PUBLIC_BASE_URL` uz publisko izcelsmes adresi, iekļaujot to pašu apakšceļu. | | `NEXT_PUBLIC_OMNIROUTE_BASE_PATH` | _(tukšs = sakne)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Pārlūkprogrammā redzams `OMNIROUTE_BASE_PATH` spoguļmainīgais, kas būvēšanas laikā tiek iekļauts kodā, lai informācijas paneļa galapunkta attēlojumā būtu redzams `https://host/omniroute/v1`, nevis `https://host/v1`. Ja tas nav iestatīts, tiek izmantots `OMNIROUTE_BASE_PATH`. Pēc izmaiņām veiciet atkārtotu būvēšanu (Next `basePath` tiek noteikts būvēšanas laikā). | | `DASHBOARD_ALLOW_EMBED` | _(nav iestatīts = nekad nevar iegult ietvarā)_ | `next.config.mjs`, `scripts/build/dashboardEmbed.mjs` | Iespēja pēc izvēles iespējot HTML lapu iegulšanu iframe. Ja nav iestatīts, katrs maršruts tiek piegādāts ar `frame-ancestors 'none'` + `X-Frame-Options: DENY`. Iestatiet uz `vscode`, lai lapas (informācijas panelis, pieteikšanās, dokumentācija, sākumlapa) tiktu apkalpotas ar `frame-ancestors 'self' vscode-webview:` un bez `X-Frame-Options`, tādējādi VS Code Simple Browser varētu tās atveidot (OmniCopilot režīms `dashboardOpen: "editor"`). API virsmai (`/api`, `/v1`, `/v1beta`, `/a2a`, `/healthz`, saknes līmeņa aizstājvārdiem) abos gadījumos tiek saglabātas stingrās galvenes. Tiek atpazīta tikai vērtība `vscode` — `1`/`true` to neiespējo. Būvēšanas laika iestatījums: pēc izmaiņām veiciet atkārtotu būvēšanu (`docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode` attēliem; tā iestatīšana iepriekš izveidotā instalācijā neko neietekmē). | | `API_PORT` | _(nav iestatīts)_ | `src/lib/runtime/ports.ts` | Ja iestatīts, `/v1/*` starpniekservera API tiek apkalpots šajā atsevišķajā portā. | | `API_HOST` | `0.0.0.0` | `src/lib/runtime/ports.ts` | API porta piesaistes adrese. | | `DASHBOARD_PORT` | _(nav iestatīts)_ | `src/lib/runtime/ports.ts` | Ja iestatīts, informācijas paneļa lietotāja saskarne tiek apkalpota šajā atsevišķajā portā. | | `OMNI_MAX_CONCURRENT_CONNECTIONS` | `0` _(atspējots)_ | `src/sse/utils/backpressure.ts` | Ierobežo vienlaicīgo aktīvo tērzēšanas savienojumu skaitu; pieprasījumi, kas pārsniedz ierobežojumu, saņem `503` ar `Retry-After`. Pozitīvs vesels skaitlis iespējo aizsardzību; neiestatīta vērtība/`0` to atspējo. | | `OMNIROUTE_INSTANCE_ID` | _(nav iestatīts)_ | `src/shared/resilience/peerRouting.ts` | Stabils, unikāls šīs vārtejas ID, ķēdē savienojot OmniRoute instances. Iespējo ienākošo vienādranga cilpu pārbaudes. Atļautās rakstzīmes: burti, cipari, `.`, `_`, `:` un `-`; ne vairāk kā 64 rakstzīmes. | | `OMNIROUTE_PEER_URLS` | _(nav iestatīts)_ | `src/shared/resilience/peerRouting.ts`, `open-sse/executors/base.ts` | Ar komatiem atdalīti OmniRoute bāzes URL, kuri var saņemt `X-OmniRoute-Peer-Trace`. Vienādranga metadatus saņem tikai tieši atļauto avotu sarakstā iekļautie augšupstraumes URL; visi pārējie pakalpojumu sniedzēji netiek mainīti. | | `OMNIROUTE_PEER_MAX_HOPS` | `4` | `src/shared/resilience/peerRouting.ts` | Maksimālais iepriekš apmeklēto OmniRoute instanču skaits, kas tiek pieņemts ķēdētā pieprasījumā (`1`–`32`). Atkārtotas instances vai izsmelts limits atgriež HTTP `508 Loop Detected`. | | `PROD_DASHBOARD_PORT` | `20130` | `docker-compose.prod.yml` | Resursdatora pusē publicētais informācijas paneļa ports Docker produkcijas režīmā. | | `PROD_API_PORT` | `20131` | `docker-compose.prod.yml` | Resursdatora pusē publicētais API ports Docker produkcijas režīmā. | | `OMNIROUTE_PORT` | _(nav iestatīts)_ | `src/lib/runtime/ports.ts` | Darbojoties Electron vai citās ietverošajās lietojumprogrammās, tam ir prioritāte pār `PORT`. | | `LIVE_WS_PORT` | `20129` | `src/server/ws/liveServer.ts` | Reāllaika WebSocket uzraudzības servera ports. | | `LIVE_WS_HOST` | `127.0.0.1` | `src/server/ws/liveServer.ts` | Reāllaika WebSocket servera piesaistes adrese. Iestatiet to uz `0.0.0.0`, lai padarītu serveri pieejamu lokālajā tīklā (konfigurējiet arī `LIVE_WS_ALLOWED_ORIGINS`). | | `LIVE_WS_ALLOWED_ORIGINS` | _(nav iestatīts)_ | `src/server/ws/liveServer.ts` | Ar komatiem atdalīti papildu avoti, kuriem atļauts atvērt reāllaika WebSocket savienojumu. Informācijas paneļa lokālās atgriezeniskās saites avoti jau pēc noklusējuma ir atļauti. | | `LIVE_WS_ALLOWED_HOSTS` | _(nav iestatīts)_ | `src/server/ws/liveServerAllowList.ts` | Ar komatiem atdalīti papildu resursdatoru nosaukumi, kas atļauti reāllaika WebSocket avotiem. Atšķirībā no `LIVE_WS_ALLOWED_ORIGINS` (pilniem avotu URL) tiek salīdzināta tikai resursdatora daļa — noderīgi LAN/Tailscale konfigurācijām. | | `NEXT_PUBLIC_LIVE_WS_PUBLIC_URL` | _(nav iestatīts)_ | `src/hooks/useLiveDashboard.ts` | Reāllaika informācijas paneļa WebSocket publiskais URL (pārlūkprogrammas pusē). Iestatiet to, ja WS servera priekšā tiek izmantots reversais starpniekserveris vai Cloudflare Tunnel (piemēram, `wss://ws.my-ai.com/live-ws`); pārlūkprogramma izveido savienojumu ar šo adresi, nevis `ws://hostname:20132`. Ceļa daļa tiek izmantota arī kā WebSocket jaunināšanas ceļš (noklusējums: `/live-ws`). | | `OMNIROUTE_ENABLE_LIVE_WS` | `true` | `src/server/ws/liveServer.ts` un `scripts/start-ws-server.mjs` | Iestatiet uz `0` vai `false`, lai atspējotu reāllaika WebSocket serveri (pēc noklusējuma iespējots un piesaistīts lokālajai atgriezeniskajai saitei). CI/testēšanas vides pārslēgs, kas atspējo savrupo reāllaika WebSocket palīgskriptu. | | `RELAY_IP_PER_MINUTE` | `30` | `src/app/api/v1/relay/chat/completions/route.ts` | Releja pieprasījumu ātruma ierobežojums katram (marķiera, IP) pārim, pieprasījumi minūtē. Glabājas atmiņā katrai instancei atsevišķi. `0` vai negatīva vērtība atspējo IP dimensijas ierobežojumu (DB ierobežojums katram marķierim joprojām ir spēkā). | | `NODE_ENV` | `production` | Next.js kodols | Kontrolē žurnālu detalizācijas līmeni, kešošanu, kļūdu detalizētas informācijas atklāšanu un Next.js optimizācijas. | | `OMNIROUTE_USE_TURBOPACK` | `1` (Turbopack — koda noklusējums) | `package.json` / Next.js 16 | Turbopack ir noklusējuma komplektētājs komandām `npm run dev` un `npm run build` (veidošana ir 2–3× ātrāka saskaņā ar veiktspējas testiem). Iestatiet uz `0`, lai sistēmā Windows pārslēgtos atpakaļ uz webpack, ja rodas vietējo saistījumu / komplektētāja saderības problēmas, **vai iekārtās ar ierobežotu RAM apjomu** — ir zināms, ka šīs Next.js versiju līnijas (16.2.x) Turbopack produkcijas būvējumi lielos moduļu grafos sasniedz ievērojami lielāku maksimālo atmiņas patēriņu nekā webpack (Next 16.3 Turbopack atmiņas atbrīvošanas labojums vēl nav stabils); izmantojot webpack, maksimālais patēriņš ir daudz mazāks. Skatiet #6409. **Docker attēlu būvējumos noklusējums ir `0` (webpack)**: `Dockerfile` deklarē `ARG OMNIROUTE_USE_TURBOPACK=0`, lai vienkārša komanda `docker build .` (Railway un citas viena klikšķa mitināšanas platformas, kā arī improvizēti pašmitināti risinājumi) neizraisītu procesa apturēšanu nepietiekamas atmiņas dēļ būvēšanas vidē ar ierobežotu atmiņu; norādiet `--build-arg OMNIROUTE_USE_TURBOPACK=1`, lai būvētu attēlu ar Turbopack. Skatiet `docs/guides/DOCKER_GUIDE.md` → Būvēšanas laika resursi. | | `OMNIROUTE_SKIP_DB_HEALTHCHECK` | _(nav iestatīts)_ | `src/lib/db/core.ts` / `src/lib/db/healthCheck.ts` | Iestatiet uz `1`, lai palaišanas laikā izlaistu SQLite integritātes veselības pārbaudi. Noder ātrākai palaišanai ar lielām datubāzēm. | | `NOTIFY_SOCKET` | _(nav iestatīts)_ | systemd (sd_notify protokols) | To iestata systemd, kad process darbojas pakalpojuma vienībā ar sd_notify integrāciju; OmniRoute to nolasa (skatiet `OMNIROUTE_DISABLE_SD_NOTIFY`), lai nosūtītu READY/WATCHDOG paziņojumus. Lietotājs to nekad neiestata. | | `OMNIROUTE_DISABLE_SD_NOTIFY` | _(nav iestatīts)_ | `scripts/dev/systemd-notify.mjs` | Iestatiet uz `1`, lai atspējotu systemd sd_notify (Type=notify / WatchdogSec=) pat tad, ja process darbojas systemd vienībā. Ārpus systemd paziņotājs jebkurā gadījumā neveic nekādas darbības. | | `CREDENTIAL_HEALTH_CHECK_INTERVAL` | `3600000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/scheduler.ts` | Fona akreditācijas datu veselības pārbaužu plānotāja intervāls (ms). Minimums: 10000 (10 s). | | `CREDENTIAL_HEALTH_CACHE_TTL` | `300000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/cache.ts` | Kešotā akreditācijas datu veselības statusa TTL (ms). | | `OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK` | `false` | `src/lib/credentialHealth/scheduler.ts` | Iestatiet uz `1` vai `true`, lai atspējotu periodisku pakalpojumu sniedzēju savienojumu testēšanu fonā. Meklēšanas pakalpojumu sniedzēji (SEARCH_VALIDATOR_CONFIGS failā `src/lib/providers/validation/searchProviders.ts`, piemēram, `tavily-search`) vienmēr tiek izslēgti no pārbaudes — to „validācija” ir reāls maksas pieprasījums augšupējam pakalpojumam, tādēļ tiem nekad neveic veselības pārbaudes pēc taimera (#9970). | | `DEEP_HEALTH_CHECK_ENABLED` | `0` | `src/app/api/monitoring/health/route.ts` | Iestatiet uz `1`, lai autentificēts izsaucējs varētu pieprasīt `/api/monitoring/health?deep=1`, kas reizi katrā TTL periodā pārbauda pabeigšanas saskarni. Anonīmi izsaucēji nekad neaktivizē pārbaudi. | | `HOST` | `0.0.0.0` | `scripts/dev/run-next.mjs` | Next.js izstrādes/palaišanas servera piesaistes adrese. Ja tā ir iestatīta, tā aizstāj noklusējuma adresi `0.0.0.0`. | | `HOSTNAME` | `127.0.0.1` | `scripts/dev/run-next-playwright.mjs` | Piesaistes adrese, ko Playwright izpildītājs izmanto, palaižot Next.js. Izolētiem testiem noklusējums ir `127.0.0.1`. **Neizmantojiet komandai `omniroute serve`** — tā vietā izmantojiet `OMNIROUTE_SERVER_HOST` (POSIX čaulas automātiski iestata `HOSTNAME` uz iekārtas nosaukumu; `.env` to nevar pārrakstīt). | | `OMNIROUTE_SERVER_HOST` | `0.0.0.0` | `bin/cli/commands/serve.mjs` | `omniroute serve` saistīšanas adrese. Novērš konfliktu ar POSIX čaulas mainīgo `HOSTNAME` (bash/zsh to vienmēr iestata kā datora nosaukumu). Ja vērtība nav iestatīta, tiek izmantota `0.0.0.0`. (#6194) | ### Portu režīmi ``` ┌─────────────────────────── Viens ports (noklusējums) ──────────────────────┐ │ PORT=20128 │ │ → Informācijas panelis: http://localhost:20128 │ │ → API: http://localhost:20128/v1/chat/completions │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────── Atsevišķi porti ─────────────────────────────────┐ │ DASHBOARD_PORT=20128 │ │ API_PORT=20129 │ │ API_HOST=0.0.0.0 │ │ → Informācijas panelis: http://localhost:20128 │ │ → API: http://0.0.0.0:20129/v1/chat/completions │ │ Lietojums: API pieejams LAN tīklā, bet informācijas panelis — tikai │ │ localhost. │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────── Docker produkcijas vide ─────────────────────────┐ │ PROD_DASHBOARD_PORT=443 PROD_API_PORT=8443 │ │ → Konteinera porti tiek kartēti uz resursdatora portiem failā │ │ docker-compose.prod.yml. │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 4. Drošība un autentifikācija | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MACHINE_ID_SALT` | `endpoint-proxy-salt` | `src/lib/auth` | Sāls, kas apvienots ar aparatūras identifikatoriem iekārtas digitālā nospieduma izveidei. Izolācijas nolūkā mainiet to katram izvietojumam. | | `OMNIROUTE_CLI_SALT` | _(nav iestatīts = nejaušs sāls katrai instalācijai, kas saglabāts failā `/cli-token-salt.json`)_ | `src/lib/machineToken.ts` | HMAC sāls lokālā CLI autentifikācijas pilnvaras atvasināšanai. Iestatot šo vērtību, tiek nomainītas visas iekārtas CLI pilnvaras, un tai vienmēr ir prioritāte pār saglabāto sāli. Skatiet `docs/security/CLI_TOKEN.md`. | | `AUTH_COOKIE_SECURE` | `false` | `src/lib/auth` | Sesijas sīkfailiem iestata karodziņu `Secure`. Darbojoties aiz HTTPS, šai vērtībai **jābūt `true`**. | | `REQUIRE_API_KEY` | `false` | API starpprogrammatūra | Ja vērtība ir `true`, visos `/v1/*` starpniekservera pieprasījumos jāiekļauj derīga API atslēga. **Šis karodziņš neierobežo `GET /v1/models`**, kas tā vietā izmanto informācijas paneļa pieteikšanās nostādni (`requireAuthForModels`), tādēļ atbilde `401` no `/v1/models` NENOZĪMĒ, ka secinājumu izpilde ir aizsargāta. Skatiet `docs/security/INFERENCE_AUTH_POSTURE.md` (#13695). | | `ALLOW_API_KEY_REVEAL` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Ļauj informācijas paneļa lietotāja saskarnē atklāt pilnas API atslēgu vērtības. Konfigurējams informācijas paneļa funkciju karodziņos; koplietotās instancēs rada drošības risku. | | `NO_LOG_API_KEY_IDS` | _(tukšs)_ | `src/lib/compliance/index.ts` | Ar komatiem atdalīti API atslēgu ID, kuru pieprasījumu reģistrēšana tiek izlaista (VDAR atbilstībai). | | `DEFAULT_RATE_LIMIT_PER_DAY` | _(nav iestatīts = neierobežots)_ | `src/shared/utils/apiKeyPolicy.ts` | Rezerves dienas pieprasījumu budžets, kas tiek piemērots API atslēgām, kuru kolonnas `rate_limits` vērtība ir null. Nav iestatīts vai ir tukšs: nav netieša ierobežojuma (#2289, #11017). `0` nozīmē to pašu (neierobežots). Pozitīvs vesels skaitlis N iespējo N dienā, 5N nedēļā un 20N mēnesī. Nederīgas netukšas vērtības izmanto mantotos ierobežojumus: 1000 dienā, 5000 nedēļā un 20000 mēnesī. | | `MAX_BODY_SIZE_BYTES` | `10485760` (10 MB) | `src/shared/middleware/bodySizeGuard.ts` | Maksimālais atļautais pieprasījuma pamatteksta lielums. Noraida lietderīgās slodzes, kas pārsniedz šo ierobežojumu. | | `OMNIROUTE_CHAT_LARGE_BODY_BYTES` | `262144` (256 KB) | `src/shared/middleware/chatBodyAdmission.ts` | Faktiskie pieprasījumu pamatteksti, kuru lielums sasniedz vai pārsniedz šo slieksni, pirms JSON parsēšanas iegūst atomāru smagsvara pielaides nomu lokālā procesa ietvaros (BYTE ceļš, tostarp `POST /v1/responses`). Tiek izmantots tas pats [#10437](https://github.com/diegosouzapw/OmniRoute/pull/10437) veselīgas brīvās kapacitātes izņēmums kā strukturāli apjomīgiem pieprasījumiem; to joprojām ierobežo `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / [#10110](https://github.com/diegosouzapw/OmniRoute/issues/10110), lai neatkārtotos [#7849](https://github.com/diegosouzapw/OmniRoute/issues/7849). | | `OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES` | `52428800` (50 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Tērzēšanas maršruta stingrais ierobežojums, kas tiek piemērots ierobežotas ievades laikā nolasīto baitu skaitam, tostarp pieprasījumiem ar trūkstošu, nederīgu vai maldinošu `Content-Length`; pārsniegšanas gadījumā tiek atgriezts `413`. | | `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` | _(nav iestatīts — nav pieprasījumu skaita ierobežojuma)_ | `src/shared/middleware/chatBodyAdmission.ts` | **#503-fanout:** šis mantotais pieprasījumu SKAITA ierobežojums tagad darbojas tikai tad, ja tas ir tieši iestatīts. Ja tas nav iestatīts (noklusējums), resursietilpīgu tērzēšanas pieprasījumu uzņemšanu tā vietā ierobežo `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` — automātiski atvasināts BAITU budžets, kura apjoms noteikts pēc procesa faktiskā atmiņas ierobežojuma **vienā procesā** (vienā V8 kaudzē). Divi pārklājošies `/v1/responses` pieprasījumi ar aptuveni 750 tūkst. marķieru pārtrauc aptuveni 12 GiB kaudžu darbību (#7849) — tas ir **atmiņas budžeta** brīdinājums, nevis stingrs produkta maksimums 2. Veselīgs process (kaudze zem atslogošanas koeficienta) VAR uzņemt vairāk vienlaicīgu garu `/v1/responses` pieprasījumu, izmantojot `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM`. Desmitiem ilgstošu SSE klientu (40–50) ierobežo kaudze + `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / #10110, nevis “maksimums 2”. Akli palielinot šo vērtību, lai “izmantotu resursdatoru”, tiek atkārtoti ieviesta #7849 problēma. Pavairojiet **kaudzes**, izmantojot **N neatkarīgus `DATA_DIR`** (#11024); nekad neizmantojiet `replicas>1` vienam SQLite failam. | | `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` | _(automātiski atvasināts)_ | `src/shared/middleware/admissionBudget.ts` | **#503-fanout:** automātiski atvasinātā ievades baitu budžeta pārrakstīšana (25% no stingrākā V8/cgroup atmiņas ierobežojuma, dalīti ar īslaicīgas 8x amplifikācijas koeficientu). Atvasinātās un tieši norādītās vērtības tiek ierobežotas diapazonā no 8 MiB līdz 2 GiB. Ķermenis, kas pārsniedz efektīvo budžetu, nekavējoties izraisa kļūdu `413 body_exceeds_budget`; konkurence starp atsevišķi apkalpojamiem ķermeņiem joprojām izraisa atkārtojamu `503`. 40–50 vienlaicīgu ilgstošu SSE klientu ierobežo šis budžets + kaudze, nevis stingrs “maksimums 2”. Pirms regulēšanas skatiet `chatAdmission.maxInflightBytes` / `budgetSource` / `pressureSeverity` galapunktā `/api/monitoring/health`. | | `OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO` | `0.75` | `src/shared/middleware/chatBodyAdmission.ts` | Kaudzes noslodzes atslogošanas koeficients (`heapUsed / heap_size_limit`) BAITU un STRUKTŪRAS resursietilpīgu pieprasījumu uzņemšanai (#10183, #10268, #10437). Vienlaicīgs resursietilpīgs pieprasījums, kas pārsniedz `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT`, tiek noraidīts ar atkārtojamo `503` tikai tad, ja kaudze ARĪ ir sasniegusi vai pārsniegusi šo koeficientu; ja kaudze ir veselīga, tas tiek uzņemts, izmantojot veselīgas kaudzes rezerves ietilpību. | | `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM` | `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` (noklusējums `1`) | `src/shared/middleware/chatBodyAdmission.ts` | Ierobežota papildu ietilpība veselīgas kaudzes ātrajam ceļam (#10437) gan STRUKTŪRAS, gan BAITU gadījumā (`admitChatRequest`, tostarp ķermeņiem ≥ `OMNIROUTE_CHAT_LARGE_BODY_BYTES`). Bez šī ierobežojuma katrs pieprasījums aizņemtas, bet veselīgas kaudzes apstākļos apietu uzņemšanas kontroli bez jebkādiem griestiem. Kad, izmantojot veselīgas kaudzes ceļu, ir aktīvs šāds vienlaicīgu nomu skaits, turpmākie pieprasījumi noslodzes apstākļos pāriet uz TO PAŠU ierobežotas gaidīšanas/atslogošanas ceļu, kas tiek izmantots reāla kaudzes spiediena gadījumā. `0` pilnībā atspējo apiešanu. | | `OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT` | `200` | `src/shared/middleware/chatBodyAdmission.ts` | Ziņojumu skaits, pie kura tērzēšanas pieprasījums tiek klasificēts kā resursietilpīgs pat tad, ja tā ķermenis ir mazāks par baitu slieksni. | | `OMNIROUTE_CHAT_HEAVY_TOOL_COUNT` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Rīku skaits, pie kura tērzēšanas pieprasījums tiek klasificēts kā resursietilpīgs pat tad, ja tā ķermenis ir mazāks par baitu slieksni. | | `OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS` | `32000` | `src/shared/middleware/chatBodyAdmission.ts` | Konservatīvs, uz virknes izmēru balstīts marķieru novērtējums, pēc kura pieprasījums tiek klasificēts kā resursietilpīgs; tas ir uzņemšanas izmaksu aizstājējrādītājs, nevis pakalpojumu sniedzēja norēķinu marķierizācija. | | `OMNIROUTE_CHAT_HARD_MAX_MESSAGES` | `0` (atspējots) | `src/shared/middleware/chatBodyAdmission.ts` | Neobligāts, pēc izvēles iespējojams tērzēšanas vēstures ierobežojums. Pēc noklusējuma atspējots: ziņojumu skaits ir izvietošanas politika, nevis universāla pieprasījuma īpašība, un ierobežošana šeit noraida sarunas ar galīgu `413`, pirms saspiešanas konveijers tās var padarīt apkalpojamas. Kaudzes pieaugumu ierobežo `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` un kaudzes spiediena atslogošana. Atmiņas ziņā ierobežotās izvietošanās vidēs, kur nepieciešami stingri griesti, iestatiet pozitīvu vērtību; pārsniegšanas gadījumā tiek atgriezts strukturēts `413`, kas norāda uz nepieciešamu saspiešanu. | | `OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES` | `67108864` (64 MB) | `open-sse/handlers/chatCore/nonStreamingResponseBody.ts` | Stingrs ierobežojums nestraumētai augšupstraumes atbildei, kas tiek pilnībā buferēta atmiņā. To pārsniedzot, augšupstraumes lasītājs tiek atcelts un pieprasījums ātri beidzas ar kļūdu, nevis turpina audzēt neierobežotu virkni, līdz kaudze ir izsmelta. | | `OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES` | `768` | `open-sse/handlers/chatCore/responseHeaders.ts` | Maksimālais no augšupējās atbildes galvenēm pārsūtāmais baitu skaits tīklā. Kad limits ir pārsniegts, zemākas prioritātes galvenes (piemēram, pielāgotās `x-codex-*`, `x-oai-request-id`) tiek atmestas, lai iekļautos izplatītajos reversā starpniekservera galveņu ierobežojumos. Iestatiet lielāku vērtību, lai pārsūtītu vairāk augšupējo metadatu, palielinot atbildes galveņu izmēru. | | `CORS_ORIGIN` | _(nav iestatīts)_ | `src/server/cors/origins.ts` | Mantots vienas izcelsmes CORS atļauto avotu saraksts. Jaunās izvietošanās reizēs dodiet priekšroku `CORS_ALLOWED_ORIGINS`. CORS ir paredzēts tikai citas izcelsmes pārlūkprogrammas API klientiem; autentificētas informācijas paneļa rakstīšanas darbības tā vietā izmanto vienas izcelsmes pieprasījumus kopā ar sesijai piesaistītu CSRF aizsardzību. | | `CORS_ALLOWED_ORIGINS` | _(nav iestatīts)_ | `src/server/cors/origins.ts` | Ar komatiem atdalīts CORS atļauto avotu saraksts. Aizstājējzīme netiek nosūtīta, ja vien nav nepārprotami konfigurēts `CORS_ALLOW_ALL=true`. | | `CORS_ALLOW_ALL` | `false` | `src/server/cors/origins.ts` | Tikai izstrādei paredzēta atkāpšanās iespēja, kas atbalso jebkuru pārlūkprogrammas `Origin`. Neiespējojiet koplietotās vai produkcijas izvietošanās vidēs. | | `OUTBOUND_SSRF_GUARD_ENABLED` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Mantots aizstājvārds. Tā informācijas paneļa slēdža vērtība (DB ignorēšanas iestatījums) tiek nolasīta pirms šīs vides vērtības; `false`, `0`, `no` vai `off` jebkurā no tiem izslēdz resursdatora pārbaudes tāpat kā `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true`, pat ja šī karoga informācijas paneļa slēdzis ir saglabāts kā izslēgts; citas vērtības atstāj aizsardzības darbību divu tālāk norādīto karogu ziņā. | | `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS` | `false` | `src/shared/network/outboundUrlGuardPolicy.ts` | Izslēdz izejošo URL aizsardzības resursdatora pārbaudes, tostarp mākoņa metadatu bloķēšanu (visu 169.254.0.0/16, metadata.google.internal), tajos nodrošinātāja ceļos, kuri ievēro aizsardzības režīmu: URL validācijā, modeļu atklāšanā, nodrošinātāja mezglu bāzes URL (tostarp attālinātās pārkārtošanas mezgliem) un starpniekservera atkāpšanās pārbaudē, kā arī citos ar nodrošinātāju saistītos izejošajos ceļos, piemēram, attālinātā attēlu/multivides ielādē. Tas arī atļauj privātus tīmekļa aizķeres mērķus, izņemot mākoņa metadatu/lokālās saites galapunktus, kuri paliek bloķēti pat tad, ja šis karogs ir ieslēgts. Tērzēšanas pieprasījumiem, kas nosūtīti, izmantojot `BaseExecutor.execute()`, tiek saglabāta mākoņa metadatu pārbaude. Lokālie nodrošinātāji darbojas ar noklusējuma iestatījumiem: `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` (pēc noklusējuma `true`) jau atļauj lokālos un LAN URL validācijas, atklāšanas un nodrošinātāja mezglu ceļos; starpniekservera atkāpšanās pārbaude un privātie tīmekļa aizķeres mērķi ņem vērā tikai šo karogu un bloķē lokālos/LAN resursdatorus, kamēr tas ir izslēgts. Ignorē `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS=false`. Informācijas paneļa slēdzī saglabātajai vērtībai ir priekšroka pār šo mainīgo. | | `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Atļauj nodrošinātāja URL lokālās/privātās adresēs (127.0.0.1, localhost, LAN, privātie diapazoni) nodrošinātāja validācijai, modeļu atklāšanai, tērzēšanai un citiem ar nodrošinātāju saistītajiem izejošajiem ceļiem, kurus pārvalda aizsardzības režīms. **Noklusējums ir `true`** (prioritāte lokālajam): aizsardzība tad bloķē mākoņa metadatu galapunktus — visu 169.254.0.0/16, kā arī zināmos metadatu resursdatoru nosaukumus (metadata.google.internal, metadata.goog, Alibaba/Azure/Oracle IMDS, fd00:ec2::254). Iestatiet `false`, lai izmantotu tikai publisko režīmu, kas bloķē arī privātos un atgriezeniskās cilpas resursdatorus. Aizsardzība pārbauda resursdatora nosaukumu vai IP literāli tā, kā tas ir uzrakstīts, pirms jebkādas DNS uzmeklēšanas; tikai publiskajā režīmā drošās ielādes ietvars papildus atrisina resursdatora nosaukumu un noraida jebkuru privātu atbildi. `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true` izslēdz šīs pārbaudes ceļos, kas uzskaitīti tā rindā. Iebūvētie lokālie nodrošinātāji, piemēram, LM Studio, Ollama, vLLM, Llamafile un Triton, izlaiž visas resursdatora pārbaudes atslēgu validācijai un tērzēšanai. Informācijas paneļa slēdzī saglabātajai vērtībai ir priekšroka pār šo mainīgo. (#5066) | | `AUDIO_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/audioProviderNodes.ts` | Ļauj `/v1/audio/*` maršrutiem (transkripcijām, runai, tulkojumiem) izmantot ar OpenAI saderīgu nodrošinātāja mezglu, kas mitināts ārpus localhost. Pēc noklusējuma izslēgts — audio maršrutēšana uz attālu resursdatoru maina izejošās plūsmas identitāti, un tam jābūt nepārprotamam operatora lēmumam. Atgriezeniskās cilpas/privātie mezgli (localhost, 127.0.0.1, 172.16-31.x) vienmēr ir atļauti un netiek ietekmēti. (#3963) | | `RERANK_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/rerankProviderNodes.ts` | Ļauj `POST /v1/rerank` (un atmiņas dzinēja atgriezeniskās cilpas pārkārtošanas darbībai) izmantot ar OpenAI saderīgu nodrošinātāja mezglu, kas mitināts ārpus localhost — LAN ierīci vai Tailscale vienranga mezglu, kurā darbojas TEI, Infinity, vLLM utt. Pēc noklusējuma izslēgts — maršrutēšana uz attālu resursdatoru maina izejošās plūsmas identitāti, un tam jābūt nepārprotamam operatora lēmumam. Atgriezeniskās cilpas mezgli (localhost, 127.0.0.1, 172.16-31.x) vienmēr ir atļauti un netiek ietekmēti. Attālināta mezgla bāzes URL jāatbilst arī nodrošinātāja izejošo URL politikai (`OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` / `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS`). | | `OMNIROUTE_LOCAL_PROVIDER_NODE_HOSTS` | _(tukšs)_ | `src/shared/network/localNodeHosts.ts` | Resursdatoru nosaukumi (atdalīti ar komatiem vai atstarpēm), kurus nodrošinātāja mezglu maršrutēšana uzskata par lokāliem — parasti tas ir pārkārtotāja, TEI vai audio palīgkonteinera Docker/Compose pakalpojuma nosaukums OmniRoute Docker tīklā (`http://reranker:8080/v1`), lai mezglam nebūtu nepieciešama konteinerā stingri iekodēta IP adrese. Norādītos resursdatorus var izmantot `/v1/rerank`, `/v1/audio/*` un lokālajai darbspējas pārbaudei, neieslēdzot `RERANK_REMOTE_PROVIDER_NODES` / `AUDIO_REMOTE_PROVIDER_NODES` katram attālajam mezglam, un tie tiek izsaukti tieši — nekad neizmantojot `HTTP(S)_PROXY` vai savienojumam piesaistītu starpniekserveri. Tie joprojām nosūta savienojuma API atslēgu. Tiek pieņemti tikai viena līmeņa nosaukumi un `.internal`/`.local` nosaukumi; publiski FQDN, IP literāļi un mākoņa metadatu nosaukumi tiek ignorēti, parādot brīdinājumu. (#14635) | | `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | Kad OIDC ir iespējots, atspējo pieteikšanos ar paroli, lai lietotāji varētu autentificēties tikai ar OIDC vienoto pieteikšanos. Tiek pieņemts arī vienkāršais aizstājvārds `OIDC_DISABLE_PASSWORD_LOGIN`; priekšroka ir informācijas paneļa funkcijas karogam ar tādu pašu atslēgu. (#10889) | | `OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` vienkāršais aizstājvārds (#10889). | ### Drošības nostiprināšanas kontrolsaraksts ```bash # Produkcijas vides drošības minimums: AUTH_COOKIE_SECURE=true # Nepieciešams HTTPS REQUIRE_API_KEY=true # Autentificēt visus starpniekservera izsaukumus ALLOW_API_KEY_REVEAL=false # Nekad neatklāt atslēgas lietotāja saskarnē CORS_ALLOWED_ORIGINS=https://your.domain.com MAX_BODY_SIZE_BYTES=5242880 # 5 MB ierobežojums ``` --- ## 5. Ievades sanitizācija un PII aizsardzība OmniRoute nodrošina divu līmeņu aizsardzību: pieprasījumu puses injekciju pārbaudi un atbilžu puses PII noņemšanu. > **⚠️ Ierobežojumi:** Šie aizsardzības mehānismi ir _uz heiristiku balstīti, maksimālo iespēju robežās veikti_ noteikšanas pasākumi, nevis pilnvērtīgs uzvedņu injekciju ugunsmūris vai PII DLP sistēma. Tie var radīt kļūdaini pozitīvus rezultātus (atzīmējot nekaitīgas personāžu/RPG uzvednes) un kļūdaini negatīvus rezultātus (leetspeak, atstarpes, raksti valodās, kas nav angļu valoda). Ar tiem vien nepietiek atbilstības prasību izpildei. Pirms paļaušanās uz tiem pielāgojiet režīmus un pārbaudiet tos ar savu datplūsmu. ### Pieprasījumu puse: uzvedņu injekciju aizsardzība | Mainīgais | Noklusējums | Avota fails | Apraksts | | --------------------------------- | ----------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `INPUT_SANITIZER_ENABLED` | `true` | `src/middleware/promptInjectionGuard.ts` | Iespējo ienākošo ziņojumu pārbaudi, lai noteiktu uzvedņu injekciju modeļus. | | `INPUT_SANITIZER_MODE` | `warn` | `src/middleware/promptInjectionGuard.ts` | Injekciju politika: `warn` = tikai reģistrēt žurnālā, `block` = noraidīt pieprasījumu ar statusu 400. Mantotais režīms `redact` **nenoņem** injekcijas tekstu; pieprasījumu PII pārrakstīšanai izmantojiet `PII_REDACTION_ENABLED`. | | `INJECTION_GUARD_MODE` | _(nav iestatīts)_ | `src/middleware/promptInjectionGuard.ts` | Mantots `INPUT_SANITIZER_MODE` aizstājvārds — darbība ir tāda pati. | | `INPUT_SANITIZER_BLOCK_THRESHOLD` | `high` | `src/shared/utils/injectionSeverity.ts` | Minimālais nopietnības līmenis, kuru noraida `MODE=block`: `high` (noklusējums), `medium` vai `low`. Vidēja līmeņa modeļi ir paredzēti tikai novērošanai, ja vien slieksnis netiek pazemināts. | | `INJECTION_GUARD_BLOCK_THRESHOLD` | _(nav iestatīts)_ | `src/shared/utils/injectionSeverity.ts` | Mantots `INPUT_SANITIZER_BLOCK_THRESHOLD` aizstājvārds — darbība ir tāda pati. | | `PII_REDACTION_ENABLED` | `false` | `src/lib/guardrails/piiMasker.ts` | Ja vērtība ir `true`, aizklāj PII ienākošajos pieprasījumos (neatkarīgi no injekciju režīma). | | `CREDENTIAL_REDACTION_ENABLED` | `false` | `src/lib/guardrails/credentialMasker.ts` | Aizklāj pieprasījumu/atbilžu datos plaši pazīstamus API atslēgu un slepeno pilnvaru marķieru modeļus. Jāiespējo atsevišķi; darbojas analogi `PII_REDACTION_ENABLED`. | ### Atbilžu puse: PII sanitizētājs | Mainīgais | Noklusējums | Avota fails | Apraksts | | -------------------------------- | ----------- | ------------------------- | ---------------------------------------------------------------------------------------- | | `PII_RESPONSE_SANITIZATION` | `false` | `src/lib/piiSanitizer.ts` | Pirms atbildes nosūtīšanas klientam pārbauda, vai LLM atbildēs nav noplūdušu PII. | | `PII_RESPONSE_SANITIZATION_MODE` | `redact` | `src/lib/piiSanitizer.ts` | `redact` = aizklāt PII, `warn` = tikai reģistrēt žurnālā, `block` = atmest visu atbildi. | ### VS Code marķierizēto maršrutu konteksta sanitizētājs | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------------- | ----------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_VSCODE_SANITIZE_CONTEXT` | `1` | `src/app/api/v1/vscode/contextSanitizer.ts` | No `/v1/vscode/[token]/*` pieprasījumiem noņem netiešo aktīvā redaktora kontekstu (`editorContext`, `activeEditor`, `currentFile`, `selection`, `openTabs`…) un aizklāj nepārprotami pievienoto sensitīvo failu saturu. Drošs pēc noklusējuma; iestatiet uz `0`, lai atspējotu. | ### Scenāriji | Scenārijs | Konfigurācija | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Uzņēmuma atbilstības prasības** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=block`, `PII_REDACTION_ENABLED=true`, `PII_RESPONSE_SANITIZATION=true` (injekcijas tiek bloķētas un PII pieprasījumos/atbildēs tiek aizklāti; režīmi ir neatkarīgi) | | **Tikai uzraudzība** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=warn` — reģistrē žurnālā, bet nekad nebloķē | | **Personīga lietošana** | Atstājiet visu atspējotu — nekādas papildu slodzes | --- ## 6. Rīku un maršrutēšanas politikas | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------------------------------------- | ------------------------------------ | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `TOOL_POLICY_MODE` | `disabled` | `src/lib/toolPolicy.ts` | Kontrolē LLM piekļuvi rīku/funkciju izsaukšanai. `allowlist` = tikai sarakstā norādītie rīki, `denylist` = visi, izņemot sarakstā norādītos, `disabled` = bez ierobežojumiem. | | `OMNIROUTE_PAYLOAD_RULES_PATH` | `./config/payloadRules.json` | `open-sse/services/payloadRules.ts` | Ceļš uz JSON failu ar lietderīgās slodzes modificēšanas kārtulām (augšupstraumes pielāgojumi katram modelim/protokolam). | | `OMNIROUTE_PAYLOAD_RULES_RELOAD_MS` | `5000` | `open-sse/services/payloadRules.ts` | Pārlādes intervāls (ms) lietderīgās slodzes kārtulu faila dinamiskai pārlādēšanai. Minimums `1000`. | | `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS` | `false` | `open-sse/services/model.ts` | Izvēles iestatījums: maršrutēt Claude Code klientu modeļu ID bez prefiksa `claude-*`, izmantojot Claude Code OAuth kontu, nevis pieprasot nodrošinātāja prefiksu. Skaidri norādītiem nodrošinātāju prefiksiem joprojām ir prioritāte. Konfigurējams arī ar pārslēgu informācijas panelī Claude nodrošinātāja lapā. | | `BARE_MODEL_DEFAULT_OVERRIDE_LEGACY` | `false` | `open-sse/services/model.ts` | Mantotā `resolveBareModelToConnectionDefault` darbība (#4825): aizstāj jebkuru modeļa nosaukumu bez prefiksa ar atlasītā savienojuma `defaultModel`. Pēc noklusējuma izslēgta; tiek aizstāts tikai `auto` vai tukšs modelis. Kad ieslēgta, katram pārim tiek reģistrēts viens brīdinājums. | | `COMBO_CONCURRENCY_PER_MODEL` | `3` | `open-sse/services/comboConfig.ts` | Vienlaicīguma ierobežojums katram modelim cikliskās secības kombinācijām (#9100). Cikliskās secības kombinācijas semaforam bija fiksēts ierobežojums — 3 vienlaicīgi pieprasījumi katram modelim bez iespējas to mainīt —, tādēļ lielākas vienlaicīguma pakāpes datplūsma tika serializēta aiz šī ierobežojuma. Tiek pārbaudīts, vai vērtība ir `>= 1`, un ierobežota līdz `<= 32`. | | `DISABLE_CONTEXT_WINDOW_CHECKS` | `false` | `open-sse/handlers/chatCore.ts` | Bīstams izvēles iestatījums, kas tiešiem viena modeļa pieprasījumiem izlaiž OmniRoute lokālo konteksta loga/maksimālā ievades marķieru skaita pārbaudi. Augšupstraumes nodrošinātāji joprojām piemēro savus faktiskos ierobežojumus; uzvednes saspiešana un paša modeļa izvades marķieru ierobežojums paliek aktīvi. Faktiskā prioritātes secība ir funkciju karogu datubāzes ignorējošā vērtība > vides mainīgais > noklusējums; restartēšana nav nepieciešama. | | `OMNIROUTE_SELF_HOSTED_PROVIDERS` | _(nav iestatīts)_ | `open-sse/services/selfHostedEntry.ts` | Iekļauts YAML `providers:` dokuments (RIC-738, D4). Ja tas ir iestatīts (ar `strategy:` bloku vai bez tā), `/v1/chat/completions` tiek novirzīts uz pašmitināto vienoto, ar OpenAI saderīgo ieejas punktu, nevis mākoņa apstrādes konveijeru. Ja nav iestatīts (noklusējums), maršruts tiek tieši nodots esošajam mākoņa apstrādes konveijeram. Skatiet `docs/routing/SELF_HOSTED_OPENAI_ENTRY.md`. | | `OMNIROUTE_SELF_HOSTED_PROVIDERS_FILE` | _(nav iestatīts)_ | `open-sse/services/selfHostedEntry.ts` | Ceļš uz YAML failu, kurā ietverts tāds pats `providers:` dokuments kā `OMNIROUTE_SELF_HOSTED_PROVIDERS`; paredzēts izvietojumiem, kuros priekšroka tiek dota failam, nevis iekļautam vides mainīgajam. Jebkurš no tiem aktivizē pašmitināto ieejas punktu. | | `OMNIROUTE_SELF_HOSTED_API_KEY` | _(nav iestatīts — atvērts maršruts)_ | `open-sse/services/selfHostedEntry.ts` | Neobligāta koplietojama API atslēga vienotajam pašmitinātajam ieejas punktam (D5 karkass, rezervēts katras atslēgas kvotu sistēmai). Ja tā ir iestatīta, pieprasījumos jāiekļauj `Authorization: Bearer `. Ja nav iestatīta, maršruts ir atvērts atbilstoši esošajam pašmitināto lokālo nodrošinātāju modelim (izvietojums atgriezeniskās cilpas/uzticamā tīklā). | | `OMNIROUTE_SELF_HOSTED_STRATEGY` | _(nav iestatīts)_ | `open-sse/services/routingStrategies.ts` | Iekļauts YAML `strategy:` dokuments deterministiskajam maršrutēšanas dzinim (M2/RIC-740, D3) — melnais/baltais saraksts, atdzišanas perioda slēdzis, izmaksu prioritāte, latentuma ievērošana, atkāpšanās ķēde. Katrai atslēgai ignorē iekļautu `strategy:` bloku, kas ligzdots mainīgajā `OMNIROUTE_SELF_HOSTED_PROVIDERS`. Skatiet `docs/routing/DETERMINISTIC_ROUTING.md`. | | `OMNIROUTE_SELF_HOSTED_STRATEGY_FILE` | _(nav iestatīts)_ | `open-sse/services/routingStrategies.ts` | Ceļš uz YAML failu, kurā ir tāds pats `strategy:` dokuments kā `OMNIROUTE_SELF_HOSTED_STRATEGY`; paredzēts izvietojumiem, kuros priekšroka tiek dota failam, nevis iekļautam vides mainīgajam. | | `OMNIROUTE_DISABLE_CONVERSATION_TRACKING` | _(nav iestatīts)_ | `open-sse/services/conversationTracker.ts` | Iestatiet `1`, lai pārtrauktu sarunu vēstures apkopošanu. `resolveConversationId()` atgriež neizsekotu rezultātu, pirms tiek nolasīts SQLite vai parsēta ziņojumu vēsture; tas attiecas arī uz klienta norādītajiem sesiju ID. Maršrutēšanas sesiju apstrāde netiek mainīta, un esošie ieraksti netiek dzēsti. Paredzēts izvietojumiem, kuros netiek izmantots informācijas paneļa sarunu skats un ir vēlme apturēt ierakstu skaita pieaugumu sarunu gājienu tabulā. | | `OMNIROUTE_NADIR_API_KEY` | _(nav iestatīts)_ | `open-sse/services/autoCombo/nadirStrategy.ts` | API atslēga izvēles `nadir` automātiskās kombinācijas maršrutētāja stratēģijai; tiek izmantota, ja nav iestatīts pašas kombinācijas `config.nadir.apiKey`. Nav obligāta: izsaukumi bez atslēgas nonāk Nadir anonīmajā līmenī, kuram ir IP adreses pieprasījumu biežuma ierobežojums, tāpēc tas nav izmantojams aiz koplietotas vārtejas. Sensitīva informācija; ja kombinācijas izmanto dažādus kontus, ieteicams izmantot katrai kombinācijai paredzēto lauku. | | `OMNIROUTE_NADIR_BASE_URL` | `https://api.getnadir.com` | `open-sse/services/autoCombo/nadirStrategy.ts` | Nadir lēmumu API bāzes izcelsmes adrese; tiek izmantota, ja nav iestatīts pašas kombinācijas `config.nadir.baseUrl`. Nepieciešama tikai pašmitinātam Nadir, kas saglabā uzvedņu sākumdaļas jūsu tīklā. Beigu daļa `/v1` ir pieļaujama un tiek noņemta. | | `OMNIROUTE_API_KEY_WEEKLY_WINDOW` | `provider` | `src/lib/usage/apiKeyUsageLimits.ts` | Nedēļas periods katras API atslēgas USD lietojuma ierobežojumiem (pieprasījumu ierobežojumu piemērošana, `GET /api/keys/{id}/usage-limits`, `@@om-usage`). `provider`: nedēļa beidzas agrākajā iknedēļas atiestatīšanas brīdī starp augšupstraumes savienojumiem, kuriem atslēga var piekļūt, vai arī, ja neviens nav zināms, tas ir slīdošs 7 dienu periods. `calendar`: vietējā nedēļa no pirmdienas plkst. 00:00 līdz nākamās pirmdienas plkst. 00:00; vienāda visām atslēgām. `calendar` ir ieteicams, ja viens augšupstraumes kontu kopums tiek koplietots starp daudzām atslēgām ar atsevišķiem budžetiem. Nederīgu vērtību gadījumā tiek izmantots `provider`. | | `OMNIROUTE_API_KEY_WEEKLY_WINDOW_TIMEZONE` | _(procesa laika josla)_ | `src/lib/usage/apiKeyUsageLimits.ts` | IANA laika josla (piemēram, `Asia/Shanghai`), kas nosaka pirmdienas plkst. 00:00 `calendar` nedēļas periodam. Ja nav iestatīta vai ir nederīga: OmniRoute procesa laika josla (resursdatora vai konteinera `TZ`, kas konteineru attēlos bieži nav iestatīts, t. i., koordinētais universālais laiks). Režīmā `provider` tiek ignorēta. | | `OMNIROUTE_MAX_TOOLS_LIMIT` | `128` | `open-sse/config/constants.ts` | Pieprasījumā atļauto rīku noklusējuma maksimālais skaits (OpenAI noklusējums). Atļauti tikai pozitīvi veseli skaitļi; ja vērtība nav iestatīta vai ir nederīga, tiek saglabāts `128`. Pakalpojumu sniedzējs ar zināmu/proaktīvu ierobežojumu (`grok-cli` 200, `nvidia` 1536) joprojām piemēro savu robežu — šis iestatījums maina tikai noklusējuma maksimālo robežu. | | `OMNIROUTE_PROMPT_EMULATE_TOOLS` | _(ieslēgts)_ | `open-sse/executors/syntxChat.ts` | SYNTX.ai rīku izsaukšana ar uzvednes emulāciju: ja vērtība nav iestatīta vai ir `1`/`true`/`on`/`yes`, vietējais rīku katalogs tiek ievietots uzvednē; jebkura cita vērtība (piemēram, `0`) izlaiž šo ievietošanu. | --- ## 7. URL adreses un mākoņa sinhronizācija | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ---------------------------------------- | --------------------------------------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `BASE_URL` | `http://localhost:20128` | `src/lib/cloudSync.ts` | Servera puses URL, ko iekšējie sinhronizācijas uzdevumi izmanto, lai izsauktu `/api/sync/cloud`. Saglabājiet to kā atgriezeniskās cilpas/konteinera URL pat tad, ja lietotne ir publiski pieejama, izmantojot starpniekserveri. | | `CLOUD_URL` | _(tukšs)_ | `src/lib/cloudSync.ts` | Mākoņa retranslācijas galapunkta URL (premium funkcija). | | `CLOUD_SYNC_TIMEOUT_MS` | `12000` | `src/lib/cloudSync.ts` | HTTP taimauts mākoņa sinhronizācijas pieprasījumiem. | | `OMNIROUTE_BUILD_PROFILE` | `full` | Webpack būvējuma konfigurācija | Būvēšanas laika profils (iestatiet uz `minimal`, lai fiziski izslēgtu privileģētos moduļus no pakotnes). | | `OMNIROUTE_STANDALONE_DIR` | _.build/ savrupā izvade_ | `scripts/build/colocate-standalone.mjs` | Būvēšanas laika pārrakstīšanas iestatījums savrupās izvades direktorijam, ko izmanto pēcbūvēšanas kopizvietošanas darbība. Tas nav izpildlaika iestatījums. | | `OMNIROUTE_CLOUD_SYNC_SECRET` | _(tukšs)_ | `src/lib/cloudSync.ts` | Koplietojams noslēpums, ko izmanto, lai pārbaudītu Cloud Sync atbilžu HMAC-SHA256 parakstu. | | `OMNIROUTE_CLOUD_SYNC_SECRETS` | `false` | `src/lib/cloudSync.ts` | Iestatiet uz `true`, lai ļautu Cloud Sync galapunktam pārrakstīt lokālos akreditācijas datus. Noklusējuma vērtība ir `false`. | | `OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE` | `false` | `src/lib/cloudSync.ts` | Iestatiet uz `true`, lai noraidītu neparakstītu Cloud Sync atbildi, ja nav konfigurēts lokāls noslēpums (#13679). Esošs paraksts vienmēr tiek pārbaudīts un vienmēr noraidīts, ja `OMNIROUTE_CLOUD_SYNC_SECRET` nav iestatīts, neatkarīgi no šī karodziņa. Versijā v3.9 par noklusējumu kļūst obligāta pārbaude. | | `OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP` | `false` | `src/app/api/providers/zed/import/route.ts` | Iestatiet uz `true`, lai bez lietotāja apstiprinājuma atkāptos uz v3.8.5 vienas darbības „importēt visu” darbību. | | `NEXT_PUBLIC_BASE_URL` | `http://localhost:20128` | OAuth, informācijas panelis, sinhronizācija | Publiski pieejamais URL OAuth redirect_uri, informācijas paneļa saitēm un ģenerētajiem publiskajiem URL. Iestatiet to uz stabilu publisko URL, ja OAuth atzvaniem vai ģenerētajām pārlūkprogrammas saitēm jāizmanto kanonisks reversā starpniekservera resursdators. | | `NEXT_PUBLIC_CLOUD_URL` | _(tukšs)_ | Klienta puse | `CLOUD_URL` klienta puses spoguļvērtība. | | `NEXT_PUBLIC_APP_URL` | _(nav iestatīts)_ | `src/shared/services/cloudSyncScheduler.ts` | Mantotā atkāpšanās vērtība mainīgajam `NEXT_PUBLIC_BASE_URL`. | | `NEXT_PUBLIC_PORT` | _(nav iestatīts — atkāpjas uz `PORT`)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Klienta puses atkāpšanās ports attēlojamajiem URL, ja izcelsme nav zināma (SSR/testi); tiek nolasīts pirms `PORT`. | | `OMNIROUTE_PUBLIC_BASE_URL` | _(nav iestatīts)_ | Publiskās izcelsmes noteicējs, attēlu URL | Augstākās prioritātes pārlūkprogrammai paredzētā OmniRoute izcelsme, ko izmanto publisko URL ģenerēšanai un ar informācijas paneli nesaistītas pārlūkprogrammas izcelsmes validācijai. Iestatiet to, ja OpenWebUI vai cits retranslators sasniedz OmniRoute, izmantojot iekšēju URL, bet lietotāja pārlūkprogrammai ģenerētais multivides saturs jāiegūst no LAN, tuneļa vai publiskas izcelsmes. **Neiekļaujiet** `/v1`. | | `OMNIROUTE_PROVIDER_MANIFEST_URL` | _(nav iestatīts)_ | `open-sse/config/providerPluginManifestUrl.ts` | Absolūtais nodrošinātāja spraudņa manifesta URL, kas tiek paziņots blakusprocesa klientiem. Ja tas nav iestatīts, OmniRoute atvasina `/api/v1/provider-plugin-manifest` no pieprasījuma izcelsmes vai HOST/PORT. | | `OMNIROUTE_PUBLIC_PROTOCOL` | `http` | `open-sse/config/providerPluginManifestUrl.ts` | Protokols, ko izmanto, atvasinot nodrošinātāja spraudņa manifesta URL no HOST/PORT bez pieprasījuma izcelsmes. Iestatiet uz `https`, ja sistēma atrodas aiz publiska TLS terminējoša starpniekservera un nav iestatīts nepārprotams `OMNIROUTE_PROVIDER_MANIFEST_URL`. | | `OMNIROUTE_TRUST_PROXY` | _(nav iestatīts)_ | `src/server/origin/publicOrigin.ts` | Neobligāts uzticamības režīms pārsūtītajām publiskās izcelsmes galvenēm. Nav iestatīts = drošības lēmumiem neuzticēties `Forwarded` / `X-Forwarded-*`. `true` / `loopback` uzticas pārsūtītajam resursdatoram/protokolam tikai no ar pilnvaru marķieriem apzīmēta lokālā atgriezeniskā cikla starpniekservera. `private` / `lan` uzticas arī privātā LAN starpniekservera vienādranga mezgliem un ļauj `API_PORT` tiltam saglabāt šāda mezgla `X-Forwarded-For`. Produkcijas vidē dodiet priekšroku nepārprotami iestatītam `NEXT_PUBLIC_BASE_URL`. | | `KIE_CALLBACK_URL` | _(nav iestatīts)_ | `open-sse/utils/kieTask.ts` | Publiskais atzvanīšanas URL asinhroniem kie.ai uzdevumiem. Augstākās prioritātes ignorēšanas vērtība pirms `OMNIROUTE_KIE_CALLBACK_URL` un `OMNIROUTE_PUBLIC_URL`. | | `OMNIROUTE_KIE_CALLBACK_URL` | _(nav iestatīts)_ | `open-sse/utils/kieTask.ts` | Alternatīvs `KIE_CALLBACK_URL` pieraksts. Tiek izmantots kā atkāpšanās vērtība, ja primārais mainīgais nav iestatīts. | | `OMNIROUTE_PUBLIC_URL` | _(nav iestatīts)_ | `open-sse/utils/kieTask.ts` | Publiskā izcelsme, ko izmanto asinhrono atzvanīšanas URL izveidei. Zemākās prioritātes atkāpšanās vērtība kie.ai atzvanīšanām; tiek izmantota arī kā vispārīgs publiskais URL citiem retranslētājiem. | | `OMNIROUTE_CROF_USAGE_URL` | `https://crof.ai/usage_api/` | `open-sse/services/usage.ts` | CrofAI kvotas uzmeklēšanas galapunkts, ko izmanto lapā Usage. Pārrakstiet retranslētājiem/testu fikstūrām. | | `OMNIROUTE_CLINEPASS_USAGE_URL` | `https://api.cline.bot/api/v1/users/me/plan/usage-limits` | `open-sse/services/usage/clinepass.ts` | ClinePass 5 stundu / nedēļas / mēneša kvotas galapunkts, ko izmanto lapā Usage. Pārrakstiet retranslētājiem/testu fikstūrām. | | `OMNIROUTE_OPENCODE_QUOTA_URL` | `https://opencode.ai/zen/go/v1/usage` | `open-sse/services/opencodeQuotaFetcher.ts` | Oficiālais ar API atslēgu autentificētais OpenCode Go lietojuma galapunkts, ko izmanto lapā Usage. Pārrakstiet retranslētājiem/testu fikstūrām. | | `OPENCODE_SYNTHESIZE_CLI_HEADERS` | `true` | `open-sse/executors/opencode.ts` | Sintezē OpenCode CLI identitātes galvenes (User-Agent, x-opencode-client/project, pieprasījuma/sesijas UUID) opencode-go/zen augšupstraumes pieprasījumiem, kurus klients nav nosūtījis, lai Cloudflare tos pieņemtu VPS izejošajā datplūsmā (#6210/#5997). Pēc noklusējuma ieslēgts kopš #10571; atspējojiet ar `false`/`0`/`no`/`off`. | | `OPENCODE_USER_AGENT` | `opencode/1.18.31` | `open-sse/utils/opencodeHeaders.ts` | Noklusējuma User-Agent, kas tiek izmantots, ja `OPENCODE_SYNTHESIZE_CLI_HEADERS` ir ieslēgts un nav iestatīta konkrētā pakalpojumu sniedzēja `_USER_AGENT` pārrakstīšana. Tiek lietots tikai opencode izpildītājiem. Ja augšupstraumes vārtejas bloķē pieprasījumu bez atslēgas, konfigurētā vērtība, kas nesatur `opencode/= 1.17>`, tiek aizstāta ar šo noklusējuma vērtību, nevis noraidīta. | | `OMNIROUTE_FORWARD_ATTRIBUTION` | `1` (ieslēgts) | `open-sse/utils/opencodeHeaders.ts` | Pārsūta klienta lietotnes atribūcijas galvenes (`x-session-id`, `x-title`, `http-referer`) augšupstraumes pakalpojumu sniedzējiem, lai pieprasījums, kas sākas kādā no uzskaitītajiem ietvariem, saglabātu savu identitāti visā maršrutētājā (OpenRouter publicētāju vārtejas balstās uz tām). `0`/`false`/`no`/`off` saglabā reģistra/operatora identitāti un atmet klienta norādītās vērtības. Operatora konfigurētajām pielāgotajām galvenēm vienmēr ir priekšroka pār klienta vērtībām. | | `OPENCODE_CLIENT` | `desktop` | `open-sse/executors/opencode.ts` | Sintezētās `x-opencode-client` galvenes vērtība, ja `OPENCODE_SYNTHESIZE_CLI_HEADERS` ir ieslēgts. | | `OPENCODE_PROJECT` | `global` | `open-sse/executors/opencode.ts` | Sintezētās `x-opencode-project` galvenes vērtība, ja `OPENCODE_SYNTHESIZE_CLI_HEADERS` ir ieslēgts. | | `OMNIROUTE_EGRESS_IP_LOCK_PROVIDERS` | _(nav iestatīts)_ | `open-sse/config/providerErrorRules.ts` | Faktiskā pakalpojumu sniedzēju kopa, kuru augšupstraumes kļūmes tiek grupētas pēc izejošās IP adreses (viens 429 aptur visus saistītos savienojumus, kas koplieto šo IP adresi). Ja vērtība nav iestatīta, tiek izmantota bezmaksas līmeņa noklusējuma vērtība `opencode,opencode-go,opencode-cli`; `none`/`off`/`false`/`0` pilnībā atspējo kaskādi; ar komatiem atdalīts saraksts aizstāj šo kopu. Maksas plāni augšupstraumē tiek grupēti pēc konta un var to droši atspējot (#9611). | | `OPENCODE_FREE_TIER_REQUEST_CONTRACT` | _(nav iestatīts)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Iestatiet uz `off`, lai pārtrauktu bezatslēgas OpenCode pieprasījumu pamatteksta pielāgošanu (straumēšanas karogs un rīku saraksts). Galvenes joprojām tiek lietotas. Vērtība tiek nolasīta katram pieprasījumam, tāpēc izmaiņas stājas spēkā nekavējoties. | | `OPENCODE_FREE_TIER_PLACEHOLDER_TOOLS` | _(nav iestatīts)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Ar komatiem atdalīti rīku nosaukumi, kas jādeklarē bezatslēgas OpenCode pieprasījumā, kurā tādu nav, ja šim modelim vēl nekas nav novērots. Ja vērtība ir tukša, tiek izmantots viens vietturis, kuru modelim tiek norādīts neizsaukt. Ne vairāk kā 32 ieraksti, `[A-Za-z_][A-Za-z0-9_-]{0,63}`; nederīgi ieraksti tiek ignorēti. | | `OMNIROUTE_OLLAMA_CLOUD_USAGE_URL` | `https://ollama.com/settings` | `open-sse/services/usage.ts` | Ollama Cloud iestatījumu URL, kas tiek izmantots kvotas datu iegūšanai. Pārrakstiet starpniekserveriem/testa fikstūrām. | | `OLLAMA_USAGE_COOKIE` | _(nav iestatīts)_ | `open-sse/services/usage.ts` | Ollama Cloud `__Secure-session` sīkfails, kas tiek izmantots kvotas datu iegūšanai no iestatījumu lapas. Sensitīva informācija; ja ir konfigurēti vairāki konti, ieteicams izmantot katra savienojuma informācijas paneļa lauku. | | `OLLAMA_CLOUD_USAGE_COOKIE` | _(nav iestatīts)_ | `open-sse/services/usage.ts` | Alternatīvs Ollama Cloud `__Secure-session` sīkfaila vides mainīgais. Sensitīva informācija; ja ir konfigurēti vairāki konti, ieteicams izmantot katra savienojuma informācijas paneļa lauku. | | `OMNIROUTE_OLLAMA_USAGE_COOKIE` | _(nav iestatīts)_ | `open-sse/services/usage.ts` | Alternatīvs Ollama Cloud `__Secure-session` sīkfaila vides mainīgais, kas tiek izmantots pirms īsākajiem aizstājvārdiem. Sensitīva informācija; ja ir konfigurēti vairāki konti, ieteicams izmantot katra savienojuma informācijas paneļa lauku. | | `OMNIROUTE_CODEWHISPERER_BASE_URL` | `https://codewhisperer.us-east-1.amazonaws.com` | `open-sse/services/usage.ts` | CodeWhisperer (AWS Kiro) lietojuma ierobežojumu galapunkts. Pārrakstiet starpniekserveriem/testa fikstūrām. | > [!IMPORTANT] > Izvietojot aiz reversā starpniekservera (nginx, Caddy), iestatiet `NEXT_PUBLIC_BASE_URL` uz savu stabilo publisko URL (piemēram, `https://omniroute.example.com`), ja OAuth atzvaniem vai ģenerētajām publiskajām saitēm ir jāizmanto šis resursdatora nosaukums. Bez šī iestatījuma OAuth atzvani var neizdoties, jo redirect_uri nesakritīs, un ģenerētās publiskās saites var norādīt uz iekšējā konteinera izcelsmi. > > Saglabājiet `BASE_URL` kā iekšēju atgriezeniskās cilpas/konteinera URL serveru savstarpējiem uzdevumiem. Iekšējiem pašpieprasījumiem, kuros tiek izmantoti akreditācijas dati, neizmantojiet pārlūka `Origin` vai publisku resursdatora nosaukumu. > > Autentificētām informācijas paneļa rakstīšanas operācijām nav nepieciešams statisks publiskais bāzes URL: informācijas panelis nosūta nedrošos viena izcelsmes avota pieprasījumus ar sesijai piesaistītu CSRF marķieri. OmniRoute joprojām centralizē publiskās izcelsmes validāciju pārlūka integrācijām, kas nav saistītas ar informācijas paneli: vispirms tiek uzskatīti par uzticamiem tieši norādītie publiskā URL vides mainīgie; neapstrādātās `Forwarded` / `X-Forwarded-*` galvenes tiek ignorētas, ja vien nav iespējots `OMNIROUTE_TRUST_PROXY` un tiešais starpniekservera mezgls nav ar marķieri atzīmēts kā uzticams. Neizmantojiet CORS iestatījumus, lai labotu viena izcelsmes avota informācijas paneļa pieprasījumus; CORS ir paredzēts tikai citas izcelsmes pārlūka klientiem. --- ## 8. Izejošais starpniekserveris Novirziet augšupstraumes LLM pakalpojumu sniedzēju izsaukumus caur HTTP vai SOCKS5 starpniekserveri, lai kontrolētu izejošo datplūsmu, veiktu ģeogrāfisko maršrutēšanu vai maskētu IP adresi. `OMNIROUTE_UPSTREAM_HTTP2_ENABLED` noklusējuma vērtība ir `true`. Iestatiet to uz `false`, `0`, `no` vai `off`, lai piespiedu kārtā izmantotu HTTP/1.1 Undici dispečeros failos `open-sse/utils/proxyDispatcher.ts` un `open-sse/utils/proxyFetch.ts`: tiešajai izejošajai datplūsmai, HTTP(S)/SOCKS starpniekserveriem, relejiem un to atkārtotajiem mēģinājumiem ar jaunu ligzdu. Tādējādi tiek saglabāta TLS sertifikātu pārbaude, starpniekservera autentifikācija, savienojumu ierobežojumi un pastāvīgo savienojumu iestatījumi. Pēc šī iestatījuma maiņas restartējiet OmniRoute, jo dispečeri tiek ievietoti kešatmiņā un releju aģenti tiek izveidoti palaišanas laikā. Šis slēdzis nekontrolē wreq TLS digitālā nospieduma veidošanu vai pakalpojumu sniedzējiem specifiskos transporta mehānismus. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------------------- | ----------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ENABLE_SOCKS5_PROXY` | `true` | `open-sse/executors` | Iespējo SOCKS5 starpniekservera aģentu izejošajiem izsaukumiem. Atspējojiet ar `false`. | | `NEXT_PUBLIC_ENABLE_SOCKS5_PROXY` | `true` | Klienta puse | Klienta puses informētība par SOCKS5 pieejamību. | | `PROXY_SKIP_RECENTLY_FAILED` | `true` | `src/shared/utils/featureFlags.ts` | Pēc noklusējuma ieslēgts funkcijas karogs (skatiet [FEATURE_FLAGS.md](./FEATURE_FLAGS.md); vadības paneļa DB pārrakstīšanai ir prioritāte). Starpniekserveru kopas un rotācija katram kontam uz noteiktu laiku pārtrauc atkārtoti piedāvāt elementu, kuram tikko radās kļūme (noraidīta TCP pārbaude vai caur to saņemta atbilde 429); šis laiks dubultojas pēc katra atkārtojuma līdz noteiktajam maksimumam. `false` atjauno parasto atlasi. | | `SELECTOR_CONTROL_ALLOWLIST` | _(nav iestatīts)_ | `src/lib/proxySubscription/selectorGuard.ts` | Atļauto vienumu saraksts lokālā kodola selektora vadības mērķiem ārpus atgriezeniskās cilpas (ar komatiem/atstarpēm atdalīti resursdatori vai IP adreses; `*` atļauj LAN/privātos tīklus, bet nekad metadatu vai lokālā savienojuma adreses). Atgriezeniskā cilpa, izmantojot http/https, ir atļauta pēc noklusējuma. Ja vadības paneļa DB vērtība ir iestatīta un nav tukša, tai ir prioritāte pār šo mainīgo. | | `PROXY_QUOTA_429_BASE_MS` | `300000` | `open-sse/utils/proxyRefusalMemory.ts` | 429 atlikšanas pamatperiods (ms), kas dubultojas pēc katra atkārtojuma. Tiek nolasīts vienreiz palaišanas laikā. Ierobežots diapazonā `1000..3600000`; ja vērtība ir ārpus diapazona vai nav nolasāma, ar brīdinājumu tiek izmantota noklusējuma vērtība. | | `PROXY_QUOTA_429_MAX_MS` | `900000` | `open-sse/utils/proxyRefusalMemory.ts` | 429 atlikšanas maksimālais ilgums (ms). Tiek nolasīts vienreiz palaišanas laikā. Ierobežots diapazonā `1000..3600000`; ja vērtība ir ārpus diapazona vai nav nolasāma, ar brīdinājumu tiek izmantota noklusējuma vērtība. Ja maksimālā vērtība ir mazāka par pamatvērtību, tiek izmantota noklusējuma vērtība. Maksimālās vērtības samazināšana arī saīsina atkārtojumu virknes aizmiršanas laiku: ieraksti tiek dzēsti `2 x max` pēc derīguma termiņa beigām. | | `PROXY_POOL_SHARED_EGRESS_ORDER` | `false` | `src/shared/utils/featureFlags.ts` | Brīvprātīgi ieslēdzams funkcijas karogs (skatiet [FEATURE_FLAGS.md](./FEATURE_FLAGS.md); vadības paneļa DB pārrakstīšanai ir prioritāte). Pakalpojumu sniedzējiem, kuru kvota tiek grupēta pēc izejas adreses, kopas elements, kas izmanto to pašu novēroto izejas adresi kā nesen noraidītais elements, tiek ierindots uzreiz aiz darbspējīgajiem elementiem. Tas ietekmē tikai secību — elements nekad netiek izslēgts. Nepieciešams `PROXY_SKIP_RECENTLY_FAILED`, kas ģenerē izmantoto noraidījuma signālu. | | `PROXY_WEBHOOK_REBOUND_MS` | `300000` | `src/lib/proxyEvents/proxyTransitionBridge.ts` | Atkārtotu `proxy.set_aside` tīmekļa aizķeres brīdinājumu ierobežošanas logs (ms) katram kopas elementam, lai noraidījumu virkne nosūtītu tikai vienu notikumu. Tiek nolasīts katras nosūtīšanas laikā. Ierobežots diapazonā `1000..3600000`; ja vērtība ir ārpus diapazona vai nav nolasāma, bez brīdinājuma tiek izmantota noklusējuma vērtība. | | `HTTP_PROXY` | _(nav iestatīts)_ | Node.js standarts | HTTP starpniekserveris izejošajiem izsaukumiem. | | `HTTPS_PROXY` | _(nav iestatīts)_ | Node.js standarts | HTTPS starpniekserveris izejošajiem izsaukumiem. | | `ALL_PROXY` | _(nav iestatīts)_ | Node.js standarts | Universāls starpniekserveris (atbalsta `socks5://`). | | `OMNIROUTE_PROXY_ECHO_URL` | _(nav iestatīts)_ | `src/lib/proxyEchoTarget.ts` | Fiksē atbalss IP mērķi, ko izmanto starpniekservera izejošās plūsmas pārbaudes, uz vienu URL. Ja nav iestatīts, pārbaude vispirms mēģina `api64.ipify.org`, pēc tam `api4.ipify.org`, lai tikai IPv4 tuneļi netiktu kļūdaini uzskatīti par nedarbojošiem (#9694). | | `NO_PROXY` | _(nav iestatīts)_ | Node.js standarts | Ar komatiem atdalīti resursdatoru nosaukumi/IP, kuriem neizmantot starpniekserveri. | | `OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS` | `32` | `open-sse/utils/proxyDispatcher.ts` | Maksimālais vienlaicīgo ligzdu skaits katram kešotajam HTTP/SOCKS starpniekservera dispečeram. Ilglaicīgām SSE straumēm, piemēram, Codex `/v1/responses`, ir nepieciešams vairāk nekā viens savienojums, ja vairāki pieprasījumi izmanto vienu un to pašu konta līmeņa starpniekserveri. Vērtības virs `256` tiek ierobežotas. | | `SOCKS_HANDSHAKE_TIMEOUT_MS` | `10000` | `open-sse/utils/socksConnectorWithFamily.ts` | SOCKS5 rokasspiediena (savienojuma izveides) taimauts milisekundēs. Palieliniet to, ja vienam dzīvojamo tīklu vārtejas resursdatoram tiek sūtīts liels skaits vienlaicīgu pieprasījumu (piem., 100 vienlaicīgi pieprasījumi) — pārslogotā pūlā faktiskais rokasspiediens var ilgt vairāk nekā 10 s, lai gan starpniekserveris ir sasniedzams, un pretējā gadījumā tas izpaužas kā kļūdains `[Proxy Fast-Fail] Proxy unreachable`. Maksimālā vērtība ir `120000`. | | `PROXY_FAIL_OPEN` | `false` | `src/sse/handlers/chatHelpers.ts` | Ja vērtība ir `false` (noklusējums), pieprasījums, kuram piešķirto starpniekserveri neizdodas atrisināt, tiek **noraidīts (fail-closed)**, nevis pārslēgts uz tiešu savienojumu — tas novērš īstās IP adreses noplūdi. Iestatiet `true`, lai atjaunotu mantoto DIRECT atkāpšanās režīmu. | | `ENABLE_TLS_FINGERPRINT` | `false` | `open-sse/executors` | Vilto TLS digitālo nospiedumu, izmantojot wreq-js (atdarina Chrome 124). Novērš JA3/JA4 bloķēšanu. | | `TLS_FINGERPRINT_PROVIDERS` | _(nav iestatīts)_ | `open-sse/utils/proxyFetch.ts` | Ar komatiem atdalīts pakalpojumu sniedzēju atļauto vienumu saraksts jaunajai TLS maršrutēšanai caur starpniekserveri (`open-sse/utils/proxyFetch.ts`). Ja nav iestatīts, tiešais TLS saglabā mantoto darbību; tikai šie pakalpojumu sniedzēji tiek maršrutēti caur Chrome-124 digitālā nospieduma tiltu. Groq (`api.groq.com`) ir izslēgts pat tad, ja atļauto vienumu saraksts nav iestatīts, jo Chrome JA3 izraisa Cloudflare 1010, savukārt vietējais undici sasniedz API. | | `OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS` | `false` | `open-sse/services/claudeTurnstileSolver.ts` | Ļauj Claude Turnstile Playwright pārlūkprogrammas kontekstam ignorēt HTTPS sertifikātu kļūdas. | ### Scenāriji | Scenārijs | Konfigurācija | | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **SOCKS5 caur SSH tuneli** | `ALL_PROXY=socks5://127.0.0.1:7890`, `ENABLE_SOCKS5_PROXY=true` | | **Korporatīvais HTTP starpniekserveris** | `HTTP_PROXY=http://proxy.corp.com:3128`, `HTTPS_PROXY=http://proxy.corp.com:3128`, `NO_PROXY=localhost,internal.corp.com` | | **Aizsardzība pret digitālo nospiedumu** | `ENABLE_TLS_FINGERPRINT=true` — nepieciešams `wreq-js` (iekļauts) | | **Kontrolēta izejošā plūsma / nav tiešas piekļuves** | Atstājiet `PROXY_FAIL_OPEN=false` (noklusējums). Ja starpniekserveris nav pieejams, pieprasījumi tiek pilnībā noraidīti, nevis nopludināti, izmantojot tiešu savienojumu. | | **Mantotais / izstrādes režīms — atļaut tiešu atkāpšanos** | `PROXY_FAIL_OPEN=true`. Atjauno darbību pirms drošības pastiprināšanas: ja starpniekservera atrisināšana neizdodas, tiek izmantots tiešs savienojums. | > **Piezīme (NVIDIA validācijas apiešana — #3226):** NVIDIA API atslēgas validācijas galapunkts > pārstāj reaģēt, ja tas tiek maršrutēts caur globālo starpniekserveri/TLS modificēto fetch (undici dispečers → 504). > `src/lib/providers/validation.ts::directHttpsRequest()` apzināti apiet > starpniekservera modifikāciju šim vienam validācijas izsaukumam, izmantojot `safeOutboundFetch({ bypassProxyPatch: true })`. > Šis ir dokumentēts, ierobežota tvēruma izņēmums — tas **neietekmē** tērzēšanas/lietošanas izejošo plūsmu. > Apiešanas tvērums ir fiksēts ar `tests/unit/proxy-bypass-scope-guard-3226.test.ts`. --- ## 9. CLI rīku integrācija Nosaka, kā OmniRoute atrod un palaiž CLI blakusprocesus (Claude Code, Codex u. c.). | Mainīgais | Noklusējums | Avota fails | Apraksts | | --------------------------------- | -------------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_MODE` | `auto` | `src/shared/services/cliRuntime.ts` | `auto` = meklēt sistēmas PATH; `manual` = izmantot tikai skaidri norādītus ceļus. | | `CLI_EXTRA_PATHS` | _(nav iestatīts)_ | `src/shared/services/cliRuntime.ts` | Papildu PATH ieraksti CLI bināro failu atrašanai (atdalīti ar koliem). | | `CLI_CONFIG_HOME` | _(nav iestatīts)_ | `src/shared/services/cliRuntime.ts` | Pārraksta mājas direktoriju, no kuras tiek lasītas CLI konfigurācijas (`~/.claude`, `~/.codex`). Tai jābūt absolūtai un jāatrodas procesa mājas direktorijā — **vai** konteinerā jābūt piesaistītam montēšanas ceļam (šādi darbojas `/host-home`). Visos citos gadījumos tiek izmantota mājas direktorija. | | `CLI_ALLOW_CONFIG_WRITES` | `true` | `src/shared/services/cliRuntime.ts` | Ļauj OmniRoute rakstīt CLI konfigurācijas failus (marķieru atsvaidzināšana, sesiju dati). Iestatiet uz `false`, lai katrs mēģinājums rakstīt CLI konfigurāciju neizdotos ar skaidru kļūdu "rakstīšana ir atspējota". | | `CLI_CLAUDE_BIN` | `claude` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Claude CLI bināro failu. | | `CLI_CODEX_BIN` | `codex` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Codex CLI bināro failu. | | `CLI_DROID_BIN` | `droid` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Droid CLI bināro failu. | | `CLI_OPENCLAW_BIN` | `openclaw` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz OpenClaw CLI bināro failu. | | `CLI_CURSOR_BIN` | `agent`, pēc tam `cursor` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Cursor aģenta bināro failu. Ja tas nav norādīts, noteikšana vispirms mēģina izmantot `agent` un pēc tam pāriet uz `cursor`. | | `CLI_CLINE_BIN` | `cline` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Cline CLI bināro failu. | | `CLI_5DIVE_BIN` | `5dive` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz 5dive CLI bināro failu. | | `CLI_5DIVE_STATE_DIR` | `/var/lib/5dive` | `src/shared/services/cliRuntime.ts` | 5dive sistēmas stāvokļa direktorijs (root lietotājam piederoši autentifikācijas profili); atbilst paša 5dive STATE_DIR noklusējumam. | | `CLI_CONTINUE_BIN` | `cn` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Continue CLI bināro failu. | | `CLI_QODER_BIN` | `qodercli` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Qoder CLI bināro failu. | | `CLI_QWEN_BIN` | `qwen` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Qwen Code CLI bināro failu. | | `CLI_AIDER_BIN` | `aider` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Aider CLI bināro failu. | | `CLI_GOOSE_BIN` | `goose` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Goose CLI bināro failu. | | `CLI_GEMINI_BIN` | `gemini` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Google Gemini CLI bināro failu — tikai servera puses noteikšanai un darbspējas pārbaudēm; `omniroute run gemini` atrod `gemini` bināro failu sistēmas PATH. | | `CLI_KILO_BIN` | `kilocode` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Kilo Code CLI bināro failu. | | `CLI_OPENCODE_BIN` | `opencode` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz OpenCode CLI bināro failu. | | `CLI_HERMES_BIN` | `hermes` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Hermes bināro failu. Kopīgs abiem kataloga ierakstiem (`hermes` un `hermes-agent`). | | `CLI_FORGE_BIN` | `forge` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz ForgeCode CLI bināro failu. | | `CLI_JCODE_BIN` | `jcode` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz jcode CLI bināro failu. | | `CLI_DEEPSEEK_TUI_BIN` | `deepseek-tui` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz DeepSeek TUI bināro failu. | | `CLI_CODEWHALE_BIN` | `codewhale` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz CodeWhale CLI bināro failu. | | `CLI_SMELT_BIN` | `smelt` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Smelt CLI bināro failu. | | `CLI_PI_BIN` | `pi` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Pi (pi-coding-agent) bināro failu. | | `CLI_CRUSH_BIN` | `crush` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Crush CLI bināro failu. | | `CLI_OMP_BIN` | `omp` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Oh My Pi (`omp`) aģenta bināro failu. | | `CLI_LETTA_BIN` | `letta` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Letta CLI bināro failu. | | `CLI_PRIME_AGENT_BIN` | `prime-agent` | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Prime Agent (Prime Intellect) bināro failu. | | `CLI_WINDSURF_BIN` | _(nav)_ | `src/shared/services/cliRuntime.ts` | Pielāgots ceļš uz Windsurf bināro failu. Windsurf tiek piegādāts **bez noklusējuma komandas** — binārā faila noteikšana paliek atspējota, līdz šī vērtība ir iestatīta. | | `CLI_DEVIN_BIN` | `devin` | `open-sse/executors/devin-cli.ts` | Pielāgots ceļš uz Devin CLI bināro failu (v3.8.0). To izmanto Windsurf/Devin izpildītājs. | | `DEVIN_DESKTOP_VERSION` | `3.6.27` | `open-sse/executors/devin-desktop.ts` | Devin Desktop `ide_version`. Pārrakstīšanas vērtībām jāizmanto formāts `x.y.z`; nederīgu vērtību gadījumā tiek izmantota pārbaudītā noklusējuma vērtība. | | `DEVIN_DESKTOP_EXTENSION_VERSION` | `1.48.2` | `open-sse/executors/devin-desktop.ts` | Komplektā iekļautā Codeium/language-server `extension_version`, kas atšķiras no Desktop `ide_version`. Pārrakstīšanas vērtībām jāizmanto formāts `x.y.z`; nederīgu vērtību gadījumā tiek izmantota komplektā iekļautā noklusējuma vērtība. | | `CLI_DEVIN_AGENTIC_BIN` | `devin` | `open-sse/executors/devin-cli-agentic.ts` | Tikai aģentiskajam tiltam paredzēta Devin CLI pārrakstīšanas vērtība. Izpildītājs pieņem tikai lokālo ACP stdio augšupējo savienojumu. | | `DEVIN_AGENTIC_HOME` | _(obligāts)_ | `open-sse/executors/devin-cli-agentic.ts` | Absolūts izolēts mājas direktorijs aģentiskajam Devin apakšprocesam; pieņemtie tilta ceļi ir `/home/bridge` un uzdevuma lokālie `.sandbox` ceļi (operētājsistēmā Windows — `C:\...\.sandbox\...`). | | `DEVIN_AGENTIC_ACP_TIMEOUT_MS` | `120000` | `open-sse/executors/devin-cli-agentic.ts` | Viena Devin ACP cikla maksimālais ilgums, pirms tilts pārtrauc bērnprocesu un atgriež nepārprotamu taimautu. | | `DEVIN_BRIDGE_MODEL` | `devin-cli-agentic/swe-1-7` | `docker/devin-bridge/compose.yml` | Galvenais Claude Code modeļa aizstājvārds izolētajam tiltam. Aktīvā testēšanas sistēma aizstāj piemēru ar modeli, ko atgriež pašreizējais Devin konts. | | `DEVIN_BRIDGE_SONNET_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Izolētā tilta aizstājvārds, kas tiek izmantots, kad Claude Code pieprasa savu noklusējuma Sonnet modeli. | | `DEVIN_BRIDGE_OPUS_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Izolētā tilta aizstājvārds, kas tiek izmantots, kad Claude Code pieprasa savu noklusējuma Opus modeli. | | `DEVIN_BRIDGE_HAIKU_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Izolētā tilta aizstājvārds, kas tiek izmantots, kad Claude Code pieprasa savu noklusējuma Haiku modeli. | | `DEVIN_BRIDGE_SUBAGENT_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Izolētā tilta aizstājvārds, kas tiek izmantots Claude Code apakšaģentiem. | | `DEVIN_SEAT_API_URL` | `https://server.codeium.com` | `open-sse/services/usage/devinCli.ts` | Neobligāta Codeium vietu pārvaldības API ignorēšana, ko izmanto Devin CLI kvotai (`GetUserStatus`). | | `AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Absolūtā ceļa ignorēšana Augment (Auggie) CLI binārajam failam, ko izmanto lokālais `auggie` nodrošinātājs. Ja nav norādīts, izmanto `CLI_AUGGIE_BIN`, pēc tam meklē PATH. | | `CLI_AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Augment (Auggie) CLI binārā faila ceļa aizstājējmainīgais (tiek pārbaudīts pēc `AUGGIE_BIN`). | | `ZCODE_BIN` | `zcode` | `open-sse/executors/zcode.ts` | Binārais fails, ko izmanto lokālā `zcode` nodrošinātāja stdio klients. Ja nav norādīts, izmanto `zcode` no PATH. | | `ZCODE_ARGS` | — | `open-sse/executors/zcode.ts` | JSON masīvs (≤16 virknes) ar papildu argumentiem, kas tiek nodoti `zcode` binārajam failam, kad tas tiek palaists, izmantojot `cliTools`. | | `ZCODE_CWD` | `process.cwd()` | `open-sse/executors/zcode.ts` | ZCode lietotņu servera apakšprocesa darba direktorijs. | | `ZCODE_PROVIDER_ID` | `builtin:zai-coding-plan` | `open-sse/executors/zcode.ts` | Lietotņu serverim nosūtītā nodrošinātāja ID ignorēšana. | | `ZCODE_SERVER_RUNTIME_ROOT` | `~/.zcode/server` | `open-sse/executors/zcode.ts` | ZCode lietotņu servera izpildlaika saknes direktorijs (kur atrodas komplektācijā iekļautie `node` un `zcode-server.cjs`). | | `ZCODE_SERVER_NODE` | `/node` | `open-sse/executors/zcode.ts` | Node izpildāmais fails, ko izmanto ZCode lietotņu servera darbināšanai. | | `ZCODE_SERVER_ENTRY` | `/zcode-server.cjs` | `open-sse/executors/zcode.ts` | Lietotņu servera ieejas skripts, ko izmanto ZCode servera darbināšanai. | | `ZCODE_STARTUP_TIMEOUT_MS` | `10000` | `open-sse/executors/zcode.ts` | Startēšanas taimauts (ms), pēc kura ZCode lietotņu servera palaišana tiek uzskatīta par neveiksmīgu. | | `ZCODE_RPC_TIMEOUT_MS` | `30000` | `open-sse/executors/zcode.ts` | Katra pieprasījuma RPC taimauts (ms) ZCode lietotņu servera izsaukumam. | | `ZCODE_TURN_TIMEOUT_MS` | `120000` | `open-sse/executors/zcode.ts` | Maksimālais viena ZCode gājiena ilgums (ms), pirms pārraugs to pārtrauc taimauta dēļ. | | `ZCODE_POLL_INTERVAL_MS` | `250` | `open-sse/executors/zcode.ts` | Aptaujas intervāls (ms), pārbaudot ZCode gājiena pabeigšanu. | | `HERMES_HOME` | `~/.hermes` | `src/lib/cli-helper/config-generator/hermesHome.ts` | Hermes Agent mājas direktorijs, kurā OmniRoute lasa/raksta Hermes CLI konfigurāciju. Atbilst vides mainīgajam, ko Hermes PowerShell instalētājs iestata operētājsistēmā Windows (`%LOCALAPPDATA%\hermes`). | ### CLI profilu automātiskā sinhronizācija Šie funkcionalitātes karogi ir jāiespējo manuāli, un pēc noklusējuma tie ir izslēgti. Tos var arī pārslēgt CLI Code informācijas panelī. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------- | ----------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_AUTO_SYNC_CODEX_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Pēc nodrošinātāja modeļu sinhronizācijas automātiski pārraksta `~/.codex/*.config.toml` profilu failus, izmantojot aktuālo katalogu. Nepieciešams `CLI_ALLOW_CONFIG_WRITES`; nekad nemaina aktīvo/noklusējuma Codex konfigurāciju, autentifikāciju, Codex-lb iestatījumus vai nodrošinātāja izvēli. | | `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Pēc nodrošinātāja modeļu sinhronizācijas automātiski pārraksta `~/.claude/profiles//settings.json` Claude Code profilu failus, izmantojot aktuālo katalogu. Nepieciešams `CLI_ALLOW_CONFIG_WRITES`; nekad nemaina aktīvo/noklusējuma Claude konfigurāciju, autentifikāciju vai nodrošinātāja izvēli. | ### Docker piemērs ```bash # Piemontējiet resursdatora bināros failus konteinerā un norādiet OmniRoute, kur tie atrodas: 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` stājas spēkā tikai tad, ja ceļš faktiski ir piesaistīti montēts no resursdatora — izmantojiet to kopā ar tādiem montējumiem kā `~/.codex:/host-home/.codex:rw` (skatiet profilu `host` failā `docker-compose.yml`). Ceļš, kas neatrodas ne konteinera lietotāja mājas direktorijā, ne piesaistes montējumā, tiek ignorēts, jo tajā veiktie ieraksti tiktu zaudēti, atkārtoti izveidojot konteineru. Attēls darbojas kā `USER node`, tāpēc nemontēts `/root` **nav** derīga aizstāšanas vērtība. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------------------- | --------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_CONTAINER` | _(automātiski)_ | `src/shared/utils/containerEnv.ts` | Piespiedu kārtā ieslēdziet (`1`/`true`) vai izslēdziet (`0`/`false`) konteinera noteikšanu. Nepieciešams tikai izpildvidēs, kuras automātiskā noteikšana neatpazīst. | | `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE` | `false` | `src/shared/services/cliRuntime.ts` | Atļaujiet CLI rīka konfigurācijas ierakstīšanu nemontētā konteinera ceļā. CLI ekvivalents ir `--allow-container-write`. | ### CLI binārā faila (`omniroute`) palīgmainīgie Šie mainīgie pielāgo paša `omniroute` CLI binārā faila darbību (nevis iepriekš aprakstīto blakusprocesa noteikšanu). | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------- | ------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_LANG` | _(sistēmas)_ | `bin/cli/i18n.mjs` | Piespiedu kārtā iestata CLI izvades valodu. BCP-47 lokalizācija (piem., `en`, `pt-BR`). Aizstāj sistēmas lokalizācijas vides mainīgos (LC_ALL, LC_MESSAGES). | | `OMNIROUTE_SHOW_LOG` | _(nav iestatīts)_ | `bin/cli/runtime/processSupervisor.mjs` | Iestatiet uz `1`, lai pārraudzītajā režīmā pārsūtītu servera stdout/stderr uz termināli. Līdzvērtīgs `omniroute serve` karodziņam `--log`. | | `OMNIROUTE_CLI_TOKEN` | _(nav iestatīts)_ | `bin/cli/api.mjs` | Mašīnas autentifikācijas pilnvara, kas ievietota kā galvene `x-omniroute-cli-token`. Automātiski ģenerēta uzdevumā 8.12. | | `GEMINI_CLI_HOME` | _(nav iestatīts)_ | `bin/cli/commands/setup-gemini.mjs` | Pastāvīgā Gemini mājas saknes direktorija; vienreizējai palaišanai tiek izmantota pagaidu izolēta mājas direktorija. | | `OMNIROUTE_CHILD_SIGNAL_TIMEOUT_MS` | `5000` | `bin/cli/commands/run.mjs` | Labvēlības periods milisekundēs pirms CLI bērnprocesa, kuram nosūtīts signāls, piespiedu apturēšanas. | | `OMNIROUTE_CLI_SKIP_DEFAULT_DATA_ENV` | _(nav iestatīts)_ | `bin/omniroute.mjs` | Iestatiet uz 1 kopā ar skaidri norādītu DATA_DIR, lai izlaistu noklusējuma lietotāja datu direktorija vides failu. | | `OMNIROUTE_SYNC_TOKEN` | _(nav iestatīts)_ | `bin/cli/commands/sync.mjs` | Sinhronizācijas pilnvara komandai `omniroute sync bundle` (`GET /api/sync/bundle` pieņem tikai sinhronizācijas pilnvaru, nevis API atslēgu). Līdzvērtīgs opcijai `--token`. | | `OMNIROUTE_HTTP_TIMEOUT_MS` | `30000` | `bin/cli/api.mjs` | Katra mēģinājuma HTTP taimauts (ms) CLI → servera pieprasījumiem. | | `OMNIROUTE_READY_TIMEOUT_MS` | `60000` | `bin/cli/utils/pid.mjs` | Maksimālais laiks (ms), cik ilgi CLI gaida servera darbspējas galapunktu, pirms tiek izdrukāts brīdinājums par taimautu. Noder lēnai aukstajai palaišanai (piem., Windows). Var iestatīt arī ar `--ready-timeout`. | | `OMNIROUTE_VERBOSE` | `0` | `bin/cli/api.mjs` | Iestatiet uz `1`, lai CLI komandu izpildes laikā stderr izdrukātu atkārtoto mēģinājumu un aiztures diagnostiku. | | `OMNIROUTE_PLUGIN_PATH` | _(nav iestatīts)_ | `bin/cli/plugins.mjs` | Pielāgots direktorijs CLI spraudņu atrašanai (`omniroute-cmd-*` pakotnes). Ja nav iestatīts, noklusējuma vērtība ir `~/.omniroute/plugins/`. Tikai CLI — tas nekad nesasniedz servera puses spraudņu skeneri, uz kuru norāda `OMNIROUTE_PLUGINS_DIR` (2. sadaļa). | | `OMNIROUTE_NO_UPDATE_NOTIFIER` | _(nav iestatīts)_ | `bin/omniroute.mjs` | Nomāc CLI atjauninājuma paziņojumu procesa noslēgumā, ja iestatīta jebkāda vērtība, kas nav tukša. Neatkarīgi no tā paziņojums paliek atspējots CI, klusajā režīmā un neteksta izvades režīmos. | | `OMNIROUTE_DOCTOR_LIVENESS_URL` | _(atvasināts)_ | `bin/cli/commands/doctor.mjs` | Dzīvīguma URL, kuru pārbauda `omniroute doctor`. Programmatiski norādītai opcijai `livenessUrl` ir priekšroka; pretējā gadījumā šī vērtība tiek izmantota burtiski. Ja tā nav iestatīta, CLI atvasina lokālā informācijas paneļa galapunktu `/api/health/degradation`. | | `OMNIROUTE_PROVIDER_CATALOG_PATH` | `src/shared/constants/providers/` | `bin/cli/provider-catalog.mjs` | Pakalpojumu sniedzēju kataloga ceļš, ko izmanto CLI pakalpojumu sniedzēju komandas. Programmatiski norādītai opcijai `catalogPath` ir priekšroka. Absolūtie ceļi tiek izmantoti bez izmaiņām; relatīvie ceļi tiek atrisināti no projekta saknes. Ja vērtība nav iestatīta, CLI izmanto pakalpojumu sniedzēju konstanšu direktoriju, bet kā atkāpšanās variants tiek izmantots mantotais fails `providers.ts`. | | `OMNIROUTE_PROVIDER_TEST_MODEL` | _(pakalpojumu sniedzēja noklusējums)_ | `bin/cli/provider-test.mjs` | Globālais rezerves modelis CLI pakalpojumu sniedzēju savienojuma testiem. Prioritātes secība: konfigurētais savienojuma modelis, pakalpojumu sniedzējam specifiskais modeļa aizstājējs, šī vērtība un pēc tam pakalpojumu sniedzēja iebūvētais testa modelis. | --- ## 10. Iekšējā aģenta un MCP integrācijas | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_BASE_URL` | automātiska noteikšana | `open-sse/mcp-server/server.ts` | Tiešs URL, ko MCP/A2A rīki izmanto, lai sasniegtu OmniRoute. Ignorē localhost automātisko noteikšanu. | | `OMNIROUTE_API_KEY` | _(nav iestatīts)_ | MCP/A2A moduļi | API atslēga iekšējā MCP rīka un A2A prasmju izsaukumiem. | | `OMNIROUTE_API_KEY_ID` | _(nav iestatīts)_ | `open-sse/mcp-server/audit.ts` | Atslēgas ID MCP audita žurnāla ierakstu attiecināšanai. | | `ROUTER_API_KEY` | _(nav iestatīts)_ | Mantotā funkcionalitāte | Mantots `OMNIROUTE_API_KEY` aizstājvārds. | | `OMNIROUTE_A2A_HISTORY_RETENTION_DAYS` | `30` | `src/lib/a2a/taskManager.ts` | Dienu skaits, cik ilgi A2A uzdevumu vēsture tiek glabāta lokālajā datubāzē, pirms ikdienas tīrīšana dzēš rindu. Ja vērtība nav iestatīta, nav skaitlis vai ir `<= 0`, tiek izmantots `30`. | | `OMNIROUTE_A2A_MEMORY_HITS` | `1` | `src/lib/a2a/taskExecution.ts` | A2A atmiņas trāpījumu novērojamības funkcijas avārijas slēdzis. Iestatiet uz `0`, lai pilnībā izlaistu uzdevuma atmiņas atsaukšanas meklēšanu; jebkura cita vērtība (tostarp neiestatīta) saglabā šo funkciju iespējotu. | | `OMNIROUTE_ISSUE_AGENT_ENABLED` | `false` | `src/app/api/issue-agent/runs/route.ts` | Iespējo bezsaistes/lokālo Issue Agent reģistrētās sākotnējās izvērtēšanas galapunktu. Atstājiet atspējotu, ja vien netiek tieši izpildītas lokālas reģistrētās izvērtēšanas darbplūsmas. | | `OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS` | _(nav iestatīts)_ | `src/lib/issueAgent/execution.ts` | Vienas Issue Agent reģistrētās sākotnējās izvērtēšanas izpildes taimauts (ms). Ierobežots līdz iekšējam maksimumam; ja vērtība nav iestatīta vai nav derīga, tiek izmantota iebūvētā noklusējuma vērtība. | | `OMNIROUTE_CONTEXT` | _(aktīvais konteksts)_ | `bin/cli/program.mjs`, `bin/cli/api.mjs` | CLI attālā režīma konteksts/profils `omniroute` komandām; ignorē aktīvo kontekstu lokālajā kontekstu krātuvē. Līdzvērtīgs `--context `. | | `OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED` | `0` | `bin/cli/contexts.mjs` | Atspējo neobligāto `keytar` operētājsistēmas atslēgu saišķa aizmugursistēmu CLI konteksta akreditācijas datiem. Ja šī opcija ir iespējota, akreditācijas dati paliek `config.json` failā ar režīmu `0600`, un CLI parāda vienreizēju brīdinājumu par rezerves risinājuma izmantošanu; paredzēts apzinātai darbībai bez lietotāja saskarnes/konteinerā. | | `OMNIROUTE_MCP_ENFORCE_SCOPES` | `false` | `open-sse/mcp-server/server.ts` | Piemēro uz tvērumiem balstītu piekļuves kontroli MCP rīku izsaukumiem. | | `OMNIROUTE_MCP_SCOPES` | _(visi)_ | `open-sse/mcp-server/server.ts` | Ar komatiem atdalīti tvērumi: `admin`, `combos`, `health`, `models`, `routing`, `budget`, `metrics`, `pricing`, `memory`, `skills`. | | `OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS` | `false` | `open-sse/mcp-server/descriptionCompressor.ts` | Saspiež MCP rīku aprakstus pirms manifesta serializēšanas. Iespējojošās vērtības: `1`, `true`, `on`. | | `OMNIROUTE_MCP_DESCRIPTION_COMPRESSION` | `rtk` | `open-sse/mcp-server/descriptionCompressor.ts` | Saspiešanas algoritms/profils. Atspējojošās vērtības: `0`, `false`, `off`. | | `OMNIROUTE_MCP_FETCH_TIMEOUT_MS` | `10000` | `open-sse/mcp-server/fetchTimeout.ts` | Pārtraukšanas laika limits (ms) MCP servera iekšējiem pārvaldības lasījumiem (veselības stāvoklis, noturība, kombinācijas, kvota, lietojums). | | `OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS` | `60000` | `open-sse/mcp-server/fetchTimeout.ts` | Pārtraukšanas laika limits (ms) MCP pārejām, kas gaida pakalpojumu sniedzēju (`route_request`, `web_search`, `web_fetch`). | | `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | `src/lib/localCorpus/configured.ts` | Maksimālais atmiņā kešoto lokālā korpusa indeksa instanču skaits (LRU, viena katram indeksētajam saknes direktorijam). Ierobežots līdz vismaz `1`. | | `MODEL_SYNC_INTERVAL_HOURS` | `6` | `src/shared/services/modelSyncScheduler.ts` | Modeļu kataloga sinhronizācijas intervāls stundās. | | `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES` | `70` | `src/lib/usage/providerLimits.ts` | Pakalpojumu sniedzēja ātruma ierobežojumu un kvotu aptaujas intervāls. | | `PROVIDER_LIMITS_SYNC_SPACING_MS` | `1500` | `src/lib/usage/providerLimits.ts` | Intervāls (ms) starp secīgiem OAuth kvotu pieprasījumiem masveida sinhronizācijā; OAuth savienojumi tiek apstrādāti pa vienam, lai izvairītos no augšupējā pakalpojuma pārslodzes. `0` to atspējo (vienlaicīga izpilde). | | `OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS` | `250` | `open-sse/services/quotaFetchThrottle.ts` | Minimālais intervāls (ms) starp secīgiem augšupējiem kvotu pieprasījumiem katra pieprasījuma sākotnējās pārbaudes/pārraudzības ceļā; izkliedē vienlaicīgus tīkla izsaukumus, lai daudzi konti no vienas IP adreses nepārslogotu augšupējo pakalpojumu. Iekļauts Codex (`/wham/usage`), DeepSeek, Bailian (abās pieprasījumu vietās), OpenCode un Crof kvotu izgūšanas mehānismos (#6009, #6911). Vispārīgais `usage.ts::getUsageForProvider` dispečerizācijas ceļš (github/glm/minimax/nanogpt/xai/u.c.) vēl nav aptverts — tas tiek izsekots atsevišķi. Kešatmiņas trāpījumi netiek ietekmēti. `0` atspējo; ierobežots diapazonā `0..5000`. | | `PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS` | `5000` | `src/lib/usage/providerLimits.ts` | Aizkave (ms) pirms pakalpojumu sniedzēja ierobežojumu atsvaidzināšanas pēc reāla lietojuma notikuma, dodot augšupējai kvotu API laiku reģistrēt patēriņu. | | `OMNIROUTE_LOGIN_BROWSER_PATH` | automātiska noteikšana | `open-sse/services/adobeFireflyBrowserLogin.ts` | Absolūtais ceļš uz sistēmas Chrome vai Edge izpildāmo failu, ko izmanto interaktīvai Adobe Firefly pierakstīšanai un fonā veiktai atjaunošanai. | | `ADOBE_FIREFLY_BROWSER_REFRESH` | iespējots | `open-sse/services/adobeFireflySession.ts` | Uztur IMS un pārlūkprogrammas riska stāvokli aktuālu, izmantojot kontam piesaistītas Chrome CDP sesijas. Iestatiet uz `0`, lai atspējotu pārlūkprogrammas atjaunošanu. | | `ADOBE_FIREFLY_SESSION_DISK` | iespējots | `open-sse/services/adobeFireflySession.ts` | Saglabā atjaunotās Adobe sesijas direktorijā `DATA_DIR` starp procesu restartēšanas reizēm. Iestatiet uz `0`, lai sesijas glabātu tikai atmiņā. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Minimālais intervāls milisekundēs starp Adobe Firefly ģenerēšanas iesniegumiem; `0` atspējo intervālu. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Papildu dīkstāves periods milisekundēs pēc katra trešā veiksmīgā Adobe iesnieguma. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyClient.ts` | Atkārtota mēģinājuma bāzes aizkave milisekundēs pēc pārejošām Adobe 408 atbildēm; apvienota ar iesniegumu intervālu ne vairāk kā piecos mēģinājumos. | | `OMNIROUTE_DISABLE_BACKGROUND_SERVICES` | `false` | `src/instrumentation-node.ts` | Atspējo visus fona pakalpojumus (sinhronizāciju, cenu noteikšanu, modeļu atsvaidzināšanu). Noder CI/testēšanai. | | `OMNIROUTE_HEADLESS` | _(nav iestatīts)_ | `src/lib/system/headless.ts` | Palaišana tikai ar starpniekservera dzini: izlaiž izvēles apakšsistēmas, `/dashboard` → 404. Tas pats, kas `omniroute serve --headless`. Skatiet [HEADLESS.md](../guides/HEADLESS.md). | | `OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS` | _(nav iestatīts)_ | `src/lib/config/runtimeSettings.ts` | Piespiedu kārtā iespējo fona uzdevumus, ja konstatēta automatizēta testēšana. Iestatiet `1`, lai ignorētu testēšanas heiristiku. | | `OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS` | `600000` | `src/lib/jobs/budgetResetJob.ts` | Budžeta atiestatīšanas pārbaudes intervāls (ms). Minimums `10000`. | | `OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS` | `60000` | `src/lib/quota/connectionRecovery.ts` | Proaktīvās savienojuma atdzišanas atkopšanas intervāls (ms): ārpus pieprasījumu kritiskā ceļa atkārtoti validē savienojumus, kuru pārejošais `rate_limited_until` ir pagājis. Minimums `5000`. | | `OMNIROUTE_DISABLE_CONNECTION_RECOVERY` | `false` | `src/lib/quota/connectionRecovery.ts` | Atspējo proaktīvo savienojuma atdzišanas atkopšanas plānotāju (joprojām tiek izmantota slinkā atkopšana funkcijā `getProviderCredentials`). | | `OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS` | `1800000` | `src/lib/jobs/reasoningCacheCleanupJob.ts` | Spriešanas kešatmiņas tīrīšanas intervāls (ms). Minimums `60000`. | | `OMNIROUTE_REASONING_MIN_BUDGET` | _nav iestatīts_ (atspējots) | `open-sse/services/reasoningTokenBuffer.ts` | Izvēles minimums domāšanas modeļu izvades budžetiem: izsaucēja `max_tokens` diapazonā `[256, minimums)` tiek palielināts līdz minimumam (nepārsniedzot modeļa izvades ierobežojumu). Nav iestatīts = klienta budžeti nekad netiek palielināti (#9507). | | `OMNIROUTE_REASONING_EFFORT_PROBE_PROVIDERS` | _nav iestatīts_ (atspējots) | `open-sse/services/learnedReasoningEffortCaps.ts` | Izvēles, ar komatiem atdalīti nodrošinātāju ID (vai `*`): ja `reasoning_effort` 400/422 kļūda nenorāda nevienu pieņemto kopu, pieprasījums tiek atkārtots vienu līmeni zemāk (nekad zemāk par `low`), un šis līmenis tiek iegaumēts tikai tad, ja zondēšanas pieprasījums saņem atbildi (#14895). | | `OMNIROUTE_LOG_EXPORT_CRON` | `0 * * * *` | `src/lib/jobs/logExportJob.ts` | Cron izteiksme (UTC) izsaukumu žurnāla eksportēšanas uzdevumam, kas apstrādā katru iespējoto žurnāla eksportēšanas mērķi. | | `OMNIROUTE_CONFIG_HOT_RELOAD_MS` | `5000` | `src/lib/config/hotReload.ts` | Konfigurācijas dinamiskās pārlādes aptaujas intervāls (ms). Vērtības, kas mazākas par `1000`, tiek noraidītas. | | `OMNIROUTE_DISABLE_REDIS_AUTH_CACHE` | _(iespējots)_ | `src/lib/db/apiKeys.ts` | Iestatiet `1`, lai apietu Redis nodrošināto API atslēgu autentifikācijas kešatmiņu (piespiedu kārtā veic datubāzes lasījumus). | | `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | `0` | `open-sse/services/compression/engines/rtk/filterLoader.ts` | Uzticēties lietotāju pārvaldītajiem RTK projekta filtru noteikumiem bez stingrām paraksta pārbaudēm. | | `OMNIROUTE_LITE_MAX_TOOL_LENGTH` | `2000` | `open-sse/services/compression/lite.ts` | Rakstzīmju ierobežojums Lite proaktīvajai rīku rezultātu saīsināšanai, ja `lite.maxToolLength` nav iestatīts. Diapazons 256–1000000. Informācijas paneļa iestatījumam ir priekšroka pār šo vides mainīgo. | | `OMNI_COMPRESSION_WORKERS` | `2` | `open-sse/services/compression/compressionWorkerPool.ts` | Maksimālais vienlaicīgo sinhrono RTK/Caveman darbinieku skaits; papildu uzdevumi gaida FIFO secībā. | | `OMNI_COMPRESSION_WORKER_TIMEOUT_MS` | `120000` | `open-sse/services/compression/compressionWorkerPool.ts` | Katra uzdevuma taimauts milisekundēs. Darbinieki, kuru taimauts ir beidzies, tiek pārtraukti, un pieprasījums kļūmes gadījumā tiek turpināts bez izmaiņām. | | `OMNI_COMPRESSION_WORKER_IDLE_MS` | `60000` | `open-sse/services/compression/compressionWorkerPool.ts` | Dīkstāves ilgums milisekundēs, pēc kura neizmantots saspiešanas darbinieks tiek pārtraukts. | | `OMNI_COMPRESSION_WORKER_MAX_OLD_MB` | `1024` | `open-sse/services/compression/compressionWorkerPool.ts` | V8 vecās paaudzes kaudzes ierobežojums MB katram saspiešanas darbiniekam visos režīmos (minimums `128`). Uzdevums, kas to pārsniedz, kļūmes gadījumā tiek turpināts bez saspiešanas, nevis palielina vārtejas kaudzi. | | `COMPRESSION_PIPELINE_BREAKER_ENABLED` | `false` | `open-sse/services/compression/pipelineEngineBreaker.ts` | T02 saliktā konveijera katra dzinēja jaudas slēdža galvenais pārslēgs. **Izvēles funkcija (pēc noklusējuma izslēgta)** — kad tā ir ieslēgta, dzinējs, kas atkārtoti izraisa izņēmumus dažādos pieprasījumos, atdzišanas periodā tiek izlaists (kļūmes gadījumā darbs tiek turpināts); izslēgta = ar mantoto darbību identiska darbība baitu līmenī. | | `COMPRESSION_PIPELINE_BREAKER_THRESHOLD` | `3` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Secīgu kļūmju skaits dažādos pieprasījumos, pirms tiek atvērts dzinēja jaudas slēdzis. | | `COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS` | `30000` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Milisekundes, kuru laikā atvērts dzinis tiek izlaists pirms daļēji atvērta stāvokļa pārbaudes. | | `COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR` | `2` | `open-sse/services/compression/engines/ccr/index.ts` | T08/H8 CCR izgūšanas atgriezeniskās saites kāpums: katra iepriekšēja saglabāta bloka izgūšana lineāri palielina tā faktisko `minChars` vērtību (bieži izgūts saturs tiek saspiests mazāk; `>=3` izgūšanas reizes = nekad netiek saspiests). `1` atspējo kāpumu (tikai bināra izlaišana pie sliekšņa). | | `COMPRESSION_CCR_DURABLE_STORE` | `true` | `open-sse/services/compression/engines/ccr/index.ts` | CCR pastāvīgā bloku krātuve (#9061). Papildina atmiņas krātuvi ar SQLite, lai bloks saglabātos pēc LRU izstumšanas, TTL termiņa beigām, restartēšanas vai gadījumā, kad izgūšanas pieprasījums nonāk citā instancē. Iestatiet `false`, lai blokus glabātu tikai atmiņā. Bloki, kas pārsniedz 512 KB, un mākoņa izpildvides neatkarīgi no iestatījuma izmanto tikai atmiņu. | | `COMPRESSION_PREFIX_FREEZE_ENABLED` | `false` | `open-sse/services/compression/prefixFreeze.ts` | T08/H5 lietojuma novērojumos balstītas prefiksa iesaldēšanas galvenais slēdzis. **Jāiespējo manuāli (pēc noklusējuma izslēgts)** — ja tas ir ieslēgts, sistēmas uzvedne, kas novērota `>=` slieksni reižu, tiek uzskatīta par stabilu kešojamu prefiksu un pasargāta no saspiešanas pat tiem pakalpojumu sniedzējiem, kurus statiskā keša heiristika neaptver (iesaldēšana tikai _saglabā_, nekad nemaina). | | `COMPRESSION_PREFIX_FREEZE_THRESHOLD` | `3` | `open-sse/services/compression/prefixFreeze.ts` | Sistēmas uzvednes novērojumu skaits, pirms tā tiek uzskatīta par iesaldētu stabilu prefiksu. | | `OMNIROUTE_BOOTSTRAPPED` | `false` | `src/app/(dashboard)/dashboard/page.tsx` | Pēc sākotnējās iestatīšanas sāknēšanas skripts iestata vērtību `true`. Kontrolē iestatīšanas vedņa redzamību. | | `OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE` | `0` | `open-sse/executors/antigravity.ts` | Avārijas risinājums: ļauj pieprasījuma pamattekstam pārrakstīt Antigravity projekta lauku. | | `ANTIGRAVITY_CREDITS` | `off` | `open-sse/services/antigravityCredits.ts` | Google One AI kredītu politika: `off` nekad nepievieno kredītus, `retry` tos pievieno vienreiz pēc atbilstošas kvotas kļūdas 429, bet `always` tos pievieno pirmajam pieprasījumam. | | `ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS` | `0` | `open-sse/translator/request/openai-to-gemini.ts` | Ļauj Antigravity pieprasījumu tulkotājam izlaist stingro CLI pieprasījuma paraksta validāciju, ja augšupstraumes pakalpojums noraida īstus parakstus (atkļūdošanas/novecojuša CLI režīms). Vērtība, kas nav nulle, iespējo apiešanu. | | `AGY_TOKEN_FILE` | `~/.gemini/antigravity-cli/antigravity-oauth-token` | `src/app/api/providers/agy-auth/apply-local/route.ts` | Pārraksta Antigravity CLI (agy) pilnvaras datnes ceļu automātiski noteiktās lokālās pieteikšanās importēšanai. | ### OAuth CLI tilts (iekšējs) | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------- | ---------------------- | ------------------------------- | -------------------------------------------------- | | `OMNIROUTE_SERVER` | automātiska noteikšana | `src/lib/oauth/config/index.ts` | Servera URL CLI↔OmniRoute autentifikācijas tiltam. | | `OMNIROUTE_TOKEN` | _(nav iestatīts)_ | `src/lib/oauth/config/index.ts` | Autentifikācijas pilnvara CLI tiltam. | | `OMNIROUTE_USER_ID` | `cli` | `src/lib/oauth/config/index.ts` | Lietotāja ID CLI tilta sesijām. | | `SERVER_URL` | _(nav iestatīts)_ | `src/lib/oauth/config/index.ts` | Novecojis `OMNIROUTE_SERVER` aizstājvārds. | | `CLI_TOKEN` | _(nav iestatīts)_ | `src/lib/oauth/config/index.ts` | Novecojis `OMNIROUTE_TOKEN` aizstājvārds. | | `CLI_USER_ID` | _(nav iestatīts)_ | `src/lib/oauth/config/index.ts` | Novecojis `OMNIROUTE_USER_ID` aizstājvārds. | --- ## 11. OAuth pakalpojumu sniedzēja akreditācijas dati Iebūvēti akreditācijas dati **localhost izstrādei**. Attālām izvietošanām reģistrējiet savus katra pakalpojumu sniedzēja izstrādātāju konsolē. | Mainīgais | Pakalpojumu sniedzējs | Piezīmes | | :------------------------------------------ | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLAUDE_OAUTH_CLIENT_ID` | Claude Code (Anthropic) | Publiskais klients — nav nepieciešama slepenā atslēga. | | `CLAUDE_CODE_REDIRECT_URI` | Claude Code | Pāradresācijas URI ignorēšana. Noklusējums: `https://platform.claude.com/oauth/code/callback` | | `CODEX_OAUTH_CLIENT_ID` | Codex / OpenAI | Publiskais klients. | | `GEMINI_OAUTH_CLIENT_ID` | Gemini (Google) | Nepieciešama atbilstoša `_SECRET`. | | `GEMINI_OAUTH_CLIENT_SECRET` | Gemini (Google) | — | | `KIMI_CODING_OAUTH_CLIENT_ID` | Kimi Coding (Moonshot) | Publiskais klients. | | `MUSE_CODE_OAUTH_CLIENT_ID` | Muse Code (Meta) | Izvēles ignorēšana publiskā Muse CLI ierīces plūsmas klienta ID. Atstājiet neiestatītu, lai izmantotu iebūvēto publisko klientu. | | `ANTIGRAVITY_OAUTH_CLIENT_ID` | Antigravity (Google) | Nepieciešama atbilstoša `_SECRET`. | | `ANTIGRAVITY_OAUTH_CLIENT_SECRET` | Antigravity (Google) | — | | `GITHUB_OAUTH_CLIENT_ID` | GitHub Copilot | Publiskais klients. | | `GHE_COPILOT_OAUTH_CLIENT_ID` | GHE Copilot | Izvēles ignorēšana GitHub Enterprise Copilot OAuth klienta ID. Ja nav iestatīts, tiek izmantots `GITHUB_OAUTH_CLIENT_ID` publiskais noklusējums. | | `COPILOT_INTEGRATION_ID` | GitHub Copilot | Izvēles ignorēšana GitHub Copilot klienta integrācijas ID, kas tiek sūtīts `Copilot-Integration-Id` un `Editor-Plugin-Version` galvenēs. Noklusējums ir `copilot-developer-cli`. | | `WINDSURF_API_KEY` | Windsurf / Devin (v3.8) | API atslēgas rezerves variants, ko izmanto `open-sse/executors/devin-cli.ts`, ja nav pieejami akreditācijas dati katram savienojumam. Nav obligāts. | | `CLI_DEVIN_BIN` | Devin CLI (v3.8) | Pielāgots ceļš uz Devin CLI bināro failu (`devin`). Atrisina `open-sse/executors/devin-cli.ts`. | | `GITLAB_DUO_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | OAuth klienta ID GitLab Duo. Reģistrējiet lietotni vietnē `https://gitlab.com/-/profile/applications` ar pāradresācijas URI `/callback` un tvērumiem `api, read_user, openid, profile, email`. Atgriežas pie `GITLAB_OAUTH_CLIENT_ID`. | | `GITLAB_DUO_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | OAuth klienta slepenā atslēga GitLab Duo. Nav obligāta — PKCE plūsmai nav nepieciešama slepenā atslēga. Atgriežas pie `GITLAB_OAUTH_CLIENT_SECRET`. | | `GITLAB_DUO_BASE_URL` | GitLab Duo (v3.8) | Ignorēt GitLab bāzes URL (pašmitināts GitLab). Noklusējums ir `https://gitlab.com`. Atgriežas pie `GITLAB_BASE_URL`. | | `GITLAB_BASE_URL` | GitLab Duo (v3.8) | Mantots atpakaļgaitas variants priekš `GITLAB_DUO_BASE_URL`. Izmanto, ja `_DUO_` variants nav iestatīts. | | `GITLAB_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | Mantots atpakaļgaitas variants priekš `GITLAB_DUO_OAUTH_CLIENT_ID`, ko patērē `src/lib/oauth/constants/oauth.ts`. | | `GITLAB_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | Mantots atpakaļgaitas variants priekš `GITLAB_DUO_OAUTH_CLIENT_SECRET`, ko patērē `src/lib/oauth/constants/oauth.ts`. | | `QODER_OAUTH_CLIENT_SECRET` | Qoder | — | | `QODER_OAUTH_AUTHORIZE_URL` | Qoder | Iestatīts, lai iespējotu Qoder OAuth. | | `QODER_OAUTH_TOKEN_URL` | Qoder | — | | `QODER_OAUTH_USERINFO_URL` | Qoder | — | | `QODER_OAUTH_CLIENT_ID` | Qoder | — | | `QODER_PERSONAL_ACCESS_TOKEN` | Qoder | Tiešs API atslēgas atpakaļgaitas variants (apiet OAuth). | | `QODER_CLI_WORKSPACE` | Qoder | Darbvietas ID priekš Qoder CLI. | | `OMNIROUTE_QODER_WORKSPACE` | Qoder | Aizstājvārds priekš `QODER_CLI_WORKSPACE`. | | `QODER_CLI_CONFIG_DIR` | Qoder | Pārraksta Qoder CLI konfigurācijas direktoriju (izolēta PAT sesija, novērš pārlūkprogrammas pieteikšanās pārklāšanos). | | `BLACKBOX_WEB_VALIDATED_TOKEN` | Blackbox Web | Frontend `tk` marķieris, ko sūtīt kā `validated` uz `/api/chat`. Nepieciešams, ja Blackbox pieprasa marķieru saskaņošanu; pretējā gadījumā OmniRoute atgriežas pie nejauša UUID. Skatīt problēmu #2252. | | `VISION_BRIDGE_BASE_URL` | Vision Bridge guardrail | OpenAI-saderīgs bāzes URL ne-Anthropic vision-bridge izsaukumiem. Noklusējuma vērtība ir mantotais OpenAI URL vides mainīgais vai api.openai.com. Norādiet uz OmniRoute `/v1` pašcilpu vai jebkuru OpenAI-saderīgu galapunktu (Gemini OpenAI-saderīgs, OpenRouter). Problēma #2232. Ja URL ir OmniRoute paša `/v1`, apraksta apakšpieprasījums sūta `x-omniroute-admission-bypass: internal` un autentificējas ar atrisināto pašcilpas akreditācijas datiem (`sk_omniroute` sargs lokālajā režīmā, vai `OMNIROUTE_API_KEY` / `ROUTER_API_KEY` — #1350), lai `REQUIRE_API_KEY=true` izvietojumi darbotos. | | `VISION_BRIDGE_API_KEY` | Vision Bridge guardrail | API atslēga iepriekšminētajam URL. Pārraksta katra pakalpojumu sniedzēja OpenAI / Google vides mainīgos ne-Anthropic vision-bridge izsaukumiem. Anthropic modeļi saglabā savu īpašo Anthropic atslēgas ceļu. Problēma #2232. | | `OMNIROUTE_VISION_BRIDGE_NEGATIVE_CACHE_MS` | Vision Bridge guardrail | Cik ilgi tiek kešēts maršrutēšanas rezultāts "nav izmantojama kandidāta", milisekundēs (noklusējums `30000`). Nederīgas vai negatīvas vērtības atgriežas pie noklusējuma; `0` atspējo negatīvo kešatmiņu. Avots: `src/lib/guardrails/visionBridgeRouter.ts`. | > [!BRĪDINĀJUMS] > > 1. Dodieties uz [Google Cloud Console → Credentials](https://console.cloud.google.com/apis/credentials) > 2. Izveidojiet OAuth 2.0 klienta ID (tips: "Tīmekļa lietojumprogramma") > 3. Pievienojiet sava servera URL kā autorizētu novirzīšanas URI > 4. Aizstājiet akreditācijas datus `.env` failā. --- ## 12. Pakalpojumu sniedzēju User-Agent pārrakstīšana Pārrakstiet `User-Agent` galveni, kas tiek nosūtīta katram augšupējam pakalpojumu sniedzējam. Izpildītāja bāzes klase to dinamiski nosaka izpildlaikā: ``` process.env[`${PROVIDER_ID}_USER_AGENT`] ``` > **Avots:** `open-sse/executors/base.ts` → `buildHeaders()` | Mainīgais | Noklusējuma vērtība | Kad atjaunināt | | -------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `CLAUDE_USER_AGENT` | `claude-cli/2.1.280 (external, cli)` | Kad Anthropic izlaiž jaunu CLI versiju | | `CLAUDE_DISABLE_TOOL_NAME_CLOAK` | `false` | `executors/base.ts` + `executors/cliproxyapi.ts` | Iestatiet uz `1`/`true`, lai abu uz Anthropic vērsto ceļu gadījumā (vietējais OAuth un CLIProxyAPI) trešo pušu ietvaru rīku nosaukumi tiktu bez izmaiņām pārsūtīti uz Anthropic. Pēc noklusējuma izpildītājs deterministiski piešķir aizstājvārdus rīku nosaukumiem, kas nav no Claude Code (izmantojot Claude Code kanonisko kartējumu, ja tāds pastāv, pretējā gadījumā — PascalCase), un atbildē tos atjauno, izmantojot `_toolNameMap`, lai ietvari ar snake_case rīkiem netiktu noraidīti kā pēc digitālā nospieduma identificēti trešo pušu klienti. Tikai atkļūdošanai. | | `CODEX_USER_AGENT` | `codex-cli/0.155.0 (Windows 10.0.26200; x64)` | Kad OpenAI atjaunina Codex CLI | | `CODEX_CLIENT_VERSION` | `0.155.0` | Pārrakstīt Codex klienta versiju neatkarīgi no pilnās UA virknes | | `CLAUDE_CODE_CLIENT_VERSION` | `2.1.280` | Pārrakstīt norādīto Claude Code versiju neatkarīgi no `CLAUDE_USER_AGENT`. Anthropic ierobežo dažu modeļu pieejamību, pamatojoties uz šo vērtību (#12417). | | `CLAUDE_CODE_CLIENT_BUILD_REVISION` | `1e2` | Pārrakstīt trīs rakstzīmju sufiksu, ko OmniRoute pievieno `cc_version=` Claude norēķinu blokā. Palieliniet to kopā ar `CLAUDE_CODE_CLIENT_VERSION` — fiksējot tikai versiju, tiek norādīts `version.revision` pāris, ko neizdod neviens reāls binārais fails. | | `GITHUB_COPILOT_CLI_VERSION` | `1.0.91` | Pārrakstīt norādīto Copilot CLI versiju neatkarīgi no `GITHUB_USER_AGENT` | | `GITHUB_USER_AGENT` | `GitHubCopilotChat/0.54.0` | Kad GitHub Copilot Chat tiek atjaunināts | | `ANTIGRAVITY_USER_AGENT` | `antigravity/2.0.1 darwin/arm64` | Kad Antigravity IDE tiek atjaunināta | | `KIRO_USER_AGENT` | `AWS-SDK-JS/3.0.0 kiro-ide/1.0.0` | Kad Kiro IDE tiek atjaunināta | | `KIRO_OAUTH_CLIENT_ID` | `kiro-cli` | Pārrakstīt Kiro sociālās ierīces koda `clientId` (publisko ID) | | `KIRO_VERIFY_FULL_CRC` | `false` | Izvēles iespēja: pilna katra kadra ziņojuma CRC validācija Kiro notikumu straumē (bojātu straumju atkļūdošanai) | | `QODER_USER_AGENT` | `Qoder-Cli` | Kad Qoder CLI tiek atjaunināts | | `CURSOR_USER_AGENT` | `Cursor/3.3` | Kad Cursor tiek atjaunināts | > [!TIP] > Varat pievienot User-Agent pārrakstīšanu **jebkuram** pakalpojumu sniedzējam, izmantojot modeli `{PROVIDER_ID}_USER_AGENT`. Izpildītājs dinamiski izveido vides mainīgā nosaukumu. --- ## 13. CLI digitālā nospieduma saderība Kad šī funkcija ir iespējota, OmniRoute pārkārto HTTP galvenes un JSON pamatteksta laukus, lai tie precīzi atbilstu oficiālo CLI rīku signatūrai. Tas samazina konta atzīmēšanas risku, vienlaikus saglabājot jūsu starpniekservera IP adresi. **Avots:** `open-sse/config/cliFingerprints.ts`, `open-sse/executors/base.ts` ### Katram nodrošinātājam | Mainīgais | Aktivizēšana | Efekts | | ------------------------ | ------------ | ---------------------------------------------- | | `CLI_COMPAT_CODEX` | `=1` | Atdarina Codex CLI pieprasījuma signatūru | | `CLI_COMPAT_CLAUDE` | `=1` | Atdarina Claude Code pieprasījuma signatūru | | `CLI_COMPAT_GITHUB` | `=1` | Atdarina GitHub Copilot pieprasījuma signatūru | | `CLI_COMPAT_ANTIGRAVITY` | `=1` | Atdarina Antigravity pieprasījuma signatūru | | `CLI_COMPAT_CURSOR` | `=1` | Atdarina Cursor pieprasījuma signatūru | | `CLI_COMPAT_KIMI_CODING` | `=1` | Atdarina Kimi Coding pieprasījuma signatūru | | `CLI_COMPAT_KILOCODE` | `=1` | Atdarina Kilo Code pieprasījuma signatūru | | `CLI_COMPAT_CLINE` | `=1` | Atdarina Cline pieprasījuma signatūru | ### Globāli | Mainīgais | Aktivizēšana | Efekts | | ---------------- | ------------ | ---------------------------------------------------------------------- | | `CLI_COMPAT_ALL` | `=1` | Iespējo digitālā nospieduma saderību **visiem** nodrošinātājiem reizē. | ### Kimi Coding CLI identitātes pārrakstīšana | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------- | ------------------------------ | ---------------------------------------- | ---------------------------------------------------------------------- | | `KIMI_CLI_VERSION` | `1.36.0` | `src/lib/oauth/providers/kimi-coding.ts` | Pārraksta OAuth/API izsaukumu laikā nosūtīto Kimi CLI versiju. | | `KIMI_CODING_DEVICE_ID` | _(tvertā noklusējuma vērtība)_ | `src/lib/oauth/providers/kimi-coding.ts` | Pārraksta tverto Kimi ierīces ID, kas tiek izmantots klienta galvenēs. | > [!NOTE] > Šī funkcija darbojas kopā ar User-Agent pārrakstīšanu (§12). Digitālā nospieduma sistēma pārvalda galveņu un pamatteksta lauku secību, savukārt User-Agent pārrakstīšana pārvalda konkrēto UA virkni. Abas funkcijas var iespējot neatkarīgi. --- ## 14. API atslēgu nodrošinātāji API atslēgas nodrošinātājiem, kuri izmanto tiešo autentifikāciju. **Ieteicamā iestatīšana:** Informācijas panelis → Nodrošinātāji → Pievienot API atslēgu. Iestatīšana, izmantojot vides mainīgos, ir alternatīva Docker vai bezgalvas izvietojumiem. Atpazītais formāts: `{PROVIDER_ID}_API_KEY` | Mainīgais | Nodrošinātājs | | ------------------ | ---------------------------------------------------------------------- | | `DEEPSEEK_API_KEY` | DeepSeek | | `NVIDIA_API_KEY` | NVIDIA NIM | | `JINA_AI_API_KEY` | Jina AI (Foundation API + Reader atkāpšanās mehānisms) | | `JINA_API_KEY` | Jina AI (`JINA_AI_API_KEY` aizstājvārds) | | `GEMINI_API_KEY` | Gemini (Google AI Studio) iegulšanas + tērzēšanas atkāpšanās mehānisms | | `GOOGLE_API_KEY` | Gemini (`GEMINI_API_KEY` aizstājvārds) | > [!NOTE] > Statiskie `${PROVIDER}_API_KEY` ieraksti Groq, xAI, Mistral, Perplexity, Together AI, Fireworks, Cerebras, Cohere, Nebius un Qianfan nodrošinātājiem tika noņemti versijā v3.8.0, jo izpildlaika vide tos vairs nenolasa — šie nodrošinātāji izmanto tikai informācijas paneli / `data/provider-credentials.json` / šifrēto datubāzi. Migrācijas norādes skatiet sadaļā _Audits: noņemtie / neizmantotie mainīgie_ šī dokumenta beigās. > [!TIP] > Informācijas panelī iestatītās atslēgas tiek glabātas šifrētā veidā SQLite datubāzē, un tām ir prioritāte pār vides mainīgajiem. > > **Jina:** `jina-ai/…` iegulšanas, pārkārtošanas, klasificēšanas un segmentēšanas modeļi, kā arī `jina-search`, neizmanto klastera vides atslēgu norēķiniem, ja pastāv informācijas paneļa `jina-ai` (vai koplietots `jina-reader`) savienojums — `getProviderCredentials` vispirms aizpilda trūkstošās vērtības. `JINA_AI_API_KEY` / `JINA_API_KEY` tiek izmantoti tikai tad, ja nav pieejama lietojama informācijas paneļa atslēga. Izsaukumu žurnālos vides atkāpšanās mehānisms tiek norādīts kā `connection_id=env:JINA_AI_API_KEY`. Reader kartīte (`jina-reader`, `r.jina.ai`) nekad neapkalpo `/v1/embeddings` vai `/v1/rerank`. > > **Gemini:** `gemini/gemini-embedding-2` (aizstājvārds `google/gemini-embedding-2`) vispirms izmanto informācijas paneļa `gemini` savienojumu. `GEMINI_API_KEY` / `GOOGLE_API_KEY` tiek izmantoti tikai tad, ja nav pieejama lietojama informācijas paneļa atslēga. Izsaukumu žurnālos vides atkāpšanās mehānisms tiek norādīts kā `connection_id=env:GEMINI_API_KEY`. Vietējā multimodālā datplūsma izmanto `x-goog-api-key` ar `:embedContent` / `:batchEmbedContents` — N OpenAI `input` vienumi kļūst par N vektoriem. --- ## 15. Taimauta iestatījumi Visas vērtības ir norādītas **milisekundēs**. Centralizētā vērtību noteikšana atrodas failā `src/shared/utils/runtimeTimeouts.ts`. ### Taimautu hierarhija ``` REQUEST_TIMEOUT_MS (globāla pārrakstīšana) ├─→ FETCH_TIMEOUT_MS (ārējo pakalpojumu sniedzēju izsaukumi, noklusējums: 600000) │ ├─→ FETCH_HEADERS_TIMEOUT_MS (manto no FETCH_TIMEOUT_MS) │ ├─→ FETCH_BODY_TIMEOUT_MS (manto no FETCH_TIMEOUT_MS) │ ├─→ TLS_CLIENT_TIMEOUT_MS (manto no FETCH_TIMEOUT_MS) │ │ └── TLS_FIRST_BYTE_WATCHDOG_MS (neatkarīgs, noklusējums: 10000) │ ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (neatkarīgs, noklusējums: 15000) │ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MS (neatkarīgs, noklusējums: 0 = izslēgts, ieteicamais: 30000) │ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS (neatkarīgs, noklusējums: 2) │ ├── FETCH_CONNECT_TIMEOUT_MS (neatkarīgs, noklusējums: 30000) │ └── FETCH_KEEPALIVE_TIMEOUT_MS (neatkarīgs, noklusējums: 4000) ├─→ STREAM_IDLE_TIMEOUT_MS (manto no REQUEST_TIMEOUT_MS, noklusējums: 600000) ├─→ STREAM_ACTIVE_TIMEOUT_MS (neatkarīgs, noklusējums: 1260000; 0 atspējo) ├─→ STREAM_READINESS_TIMEOUT_MS (manto no REQUEST_TIMEOUT_MS, noklusējums: 80000) ├─→ STREAM_READINESS_MAX_TIMEOUT_MS (ierobežo adaptīvos gatavības pagarinājumus, noklusējums: 180000) └─→ API_BRIDGE_PROXY_TIMEOUT_MS (manto no REQUEST_TIMEOUT_MS, noklusējums: 30000) ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (atvasināts, noklusējums: 300000) ├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS (noklusējums: 60000) ├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS (noklusējums: 5000) └── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS (noklusējums: 0 = atspējots) ``` | Mainīgais | Noklusējums | Apraksts | | ----------------------------------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REQUEST_TIMEOUT_MS` | _(nav iestatīts)_ | Globāla saīsne — pārraksta gan `FETCH_TIMEOUT_MS`, gan `STREAM_IDLE_TIMEOUT_MS` noklusējuma vērtības. | | `FETCH_TIMEOUT_MS` | `600000` | Kopējais HTTP pieprasījuma taimauts augšupējā pakalpojumu sniedzēja izsaukumiem. | | `STREAM_IDLE_TIMEOUT_MS` | `600000` | Maksimālais klusuma periods starp neapstrādātiem augšupējiem baitiem, pirms darbība tiek pārtraukta. Modeļi ar paplašināto spriešanu reti ietur pauzi, kas pārsniedz 90 s. | | `STREAM_ACTIVE_TIMEOUT_MS` | `1260000` | Maksimālais kopējais aktīvas SSE straumes darbības ilgums; tas nekad netiek atiestatīts, saņemot augšupējus baitus, un nav atkarīgs no `REQUEST_TIMEOUT_MS`. Atvasināts no lielākās katram modelim noteiktās `timeoutMs` vērtības reģistrā (1200000, Codex), pieskaitot 60000 rezervi, lai modelis, kuram atļauts izmantot visu tam piešķirto laiku, nekad netiktu apturēts atbildes ģenerēšanas laikā. Iestatiet uz `0`, lai atspējotu. | | `OMNIROUTE_SSE_COMMENTS` | _(atspējots)_ | Nosaka, vai OmniRoute drīkst izvadīt SSE `:` komentāru rindas (piemēram, `: keepalive` sirdspuksta signālu un `x-omniroute-*` metadatu beigu ierakstus). Pēc noklusējuma atspējots (#10524), jo stingri OpenAI saderīgi klienti katrai SSE rindai izsauc JSON.parse un avarē pie `:` komentāriem; `data:` sirdspuksta signāli netiek ietekmēti. Iestatiet `on`/`true`/`1`/`yes`, lai atkārtoti iespējotu. Izmanto `open-sse/utils/sseHeartbeat.ts`. | | `SSE_COALESCE_MS` | `0` (izslēgts) | Izvēles iespēja: apvienot secīgus Claude `content_block_delta` notikumus (ar vienādu bloka indeksu un delta tipu), kas tiek sūtīti Claude klientiem, veicot izvadi vismaz ik pēc N ms. Bez zudumiem; `signature_delta` un robežnotikumi nekad netiek apvienoti. Attiecas uz katru delta tipu, ja vien tālāk nav iestatīts konkrētā tipa mainīgais. Izmanto `open-sse/utils/sseDeltaCoalesce.ts`. | | `SSE_COALESCE_THINKING_MS` | `0` (izslēgts) | `SSE_COALESCE_MS` pārrakstīšana konkrētam tipam `thinking_delta`. | | `SSE_COALESCE_TEXT_MS` | `0` (izslēgts) | `SSE_COALESCE_MS` pārrakstīšana konkrētam tipam `text_delta`. | | `SSE_COALESCE_INPUT_JSON_MS` | `0` (izslēgts) | `SSE_COALESCE_MS` pārrakstīšana konkrētam tipam `input_json_delta`. | | `SSE_FRAME_COALESCE_MS` | `0` (izslēgts) | Izvēles iespēja: N ms laikā pārsūtītos SSE kadrus sagrupēt vienā rakstīšanas operācijā klientam. Pirmais kadrs un beigu kadri (`[DONE]`, `message_stop`, `error`, `response.completed`/`failed`/`incomplete`) nekad netiek aizkavēti; ja grupēšana ir ieslēgta, ITL mēra intervālus starp grupām. Izmanto `open-sse/utils/sseOutputSink.ts`. | | `SSE_STALL_WATCHDOG` | `timer` | Baitu plūsmas apstāšanās uzrauga realizācija straumētām atbildēm. `timer` no jauna palaiž vienu taimeri katram augšupējam fragmentam (nostrādā precīzi pēc apstāšanās laika limita); `interval` katrai straumei uztur vienu pārbaudi ar periodu `clamp(budget/4, 1s, 5s)`, tādēļ apstāšanās tiek konstatēta laika limita un perioda summas robežās. Izmanto `open-sse/utils/streamStallWatchdog.ts`. | | `STREAM_READINESS_TIMEOUT_MS` | `80000` | Laiks līdz pirmā SSE notikuma, kas nav ping, saņemšanai. Ja ir iestatīts `REQUEST_TIMEOUT_MS`, pārmanto tā vērtību. | | `STREAM_READINESS_MAX_TIMEOUT_MS` | `180000` | Maksimālais adaptīvais pirmā notikuma gatavības gaidīšanas periods lieliem straumēšanas pieprasījumiem, kas intensīvi izmanto rīkus vai prasa padziļinātu spriešanu. | | `OMNIROUTE_AGENT_GOAL_POLICY_ENABLED` | `true` | `/goal` heiristikas avārijas slēdzis. Iestatiet `false`/`0`/`off`, lai pilnībā atspējotu noteikšanu — pieprasījuma ķermenis vai galvenes nekad nepalielinās gatavības taimautus un straumes atkopšanas parametrus, tādējādi mazinot klienta kontrolētu taimauta palielināšanu. | | `OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS` | `600000` | Maksimālais pirmā notikuma gatavības gaidīšanas periods noteiktām `/goal` aģenta izpildēm vai pieprasījumiem, kas piespiedu kārtā atzīmēti ar `x-omniroute-agent-goal`. | | `OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY` | `true` | Automātiski iespējot agrīnu straumes atkopšanu noteiktām `/goal` aģenta izpildēm. Iestatiet `false`/`0`/`off`, lai atspējotu tieši mērķim paredzēto izvēles iespēju. Tā var tikai PAPILDUS iespējot atkopšanu līdztekus operatora noklusējuma iestatījumam — tā nekad nepārraksta skaidri norādītu atteikšanos, izmantojot `STREAM_RECOVERY_ENABLED`/DB iestatījumus. | | `OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS` | `true` | Atmest nestandarta `codex.*` SSE notikumus (piemēram, `codex.rate_limits`), kuru dēļ OpenAI SDK funkcija `responses.stream()` atgriež 502. Pēc noklusējuma IESPĒJOTS (#11014). Iestatiet `0`/`false`/`no`/`off`, lai tos pārsūtītu. | | `OMNIROUTE_CODEX_APPSERVER_WS` | _(nav iestatīts)_ | Izvēles Codex app-server transports. Lokāla `codex app-server` blakusprocesa WebSocket galapunkts (`ws://`/`wss://`). Ja tas ir iestatīts kopā ar pilnvaru, Codex pieprasījumi HTTP Responses API vietā tiek maršrutēti uz blakusprocesu, izmantojot JSON-RPC. To var iestatīt arī katram savienojumam atsevišķi, izmantojot `providerSpecificData.codexAppServerUrl`. Izmanto `open-sse/executors/codex/appServerConfig.ts`. | | `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` | _(nav iestatīts)_ | Iekļauta iespējas/nesēja pilnvara, kas tiek uzrādīta app-server. Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerToken`. | | `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE` | _(nav iestatīts)_ | Ceļš uz failu, kurā glabājas app-server iespēju pilnvara (no `codex app-server --ws-token-file`). Tiek izmantots, ja `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` nav iestatīts. Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerTokenFile`. | | `OMNIROUTE_CODEX_APPSERVER_CWD` | `/tmp` | Darba direktorijs, kurā tiek izpildīts app-server pieprasījuma cikls. Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerCwd`. | | `OMNIROUTE_CODEX_APPSERVER_APPROVAL` | _(nav iestatīts)_ | Apstiprināšanas politika, kas tiek nodota app-server pieprasījuma ciklam (piem., `never`, `on-request`). Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerApprovalPolicy`. | | `OMNIROUTE_CODEX_APPSERVER_SANDBOX` | _(nav iestatīts)_ | Smilškastes politika, kas tiek nodota app-server pieprasījuma ciklam (piem., `read-only`, `workspace-write`, `danger-full-access`). Ja tā nav iestatīta, izpildītājs pēc noklusējuma izmanto `workspace-write` (drošāks režīms; iepriekš tika izmantots `danger-full-access`). Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerSandbox`. | | `OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE` | `false` | Automātiski apstiprina paša app-server apstiprināšanas uzvednes (komandu/failu/atļauju izpildi resursdatorā). Pēc noklusējuma izslēgts — uzvednes tiek automātiski noraidītas; rīku izsaukumi testēšanas ietvarā netiek ietekmēti (tie tiek pārsūtīti pa atsevišķo `item/tool/call` kanālu). Pieņem `true`/`1`/`yes`. Pārrakstīšana katram savienojumam: `providerSpecificData.codexAppServerAutoApprove`. | | `FETCH_HEADERS_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Laiks atbildes galveņu saņemšanai. | | `OMNIROUTE_FETCH_START_TIMEOUT_CAP_MS` | `110000` | Maksimālais atbildes galveņu gaidīšanas laiks straumēšanas pieprasījumiem (ms). `0` atspējo šo ierobežojumu; tieši norādītam nodrošinātāja `fetchStartTimeoutCapMs` ir augstāka prioritāte. | | `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` | `30000` (30 s) | Maksimālais atbildes sākuma gaidīšanas laiks (ms) katram tiešajam mēģinājumam bez starpniekservera. Pēc taimauta mēģinājums tiek vienreiz atkārtots, izmantojot jaunu ligzdu; iestatiet `0`, lai atspējotu ierobežojumu un saglabātu iepriekšējo darbību. | | `OMNIROUTE_LOCAL_DIRECT_HEADERS_TIMEOUT_MS` | `300000` (5 min) | Atbildes sākuma gaidīšanas laika minimālā robeža (ms) tiešajiem mēģinājumiem bez starpniekservera, kuru mērķa resursdators ir privāts/LAN/atgriezeniskās cilpas resursdators (piemēram, `localhost`, `host.docker.internal`, `192.168.x.x`), lai vietējā Ollama auksto palaišanu nepārtrauktu iepriekš minētais noklusējuma 30 s ierobežojums. Darbojas kā minimālā robeža: faktiskais gaidīšanas laiks ir lielākā no šīs vērtības un `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS`; `0` vai nederīga vērtība noņem lokālo minimālo robežu. Attālos resursdatorus tas neietekmē. | | `OMNIROUTE_DIRECT_RESPONSE_RETRY_TIMEOUT_MS` | `600000` (10 min) | Augšējā robeža (ms) ATKĀRTOTAJAM mēģinājumam ar jaunu ligzdu pēc iepriekš aprakstītā atbildes sākuma taimauta mēģinājumam no ligzdu kopas (#13703). Tiek piemērota tikai tad, ja izsaucējs jau ir pievienojis savu termiņa signālu (atrisinātā savienojuma/modeļa/nodrošinātāja/`FETCH_TIMEOUT_MS` secīgā izvēle); šis signāls ir īstais ierobežojums un paredzētajā izpildes ceļā nostrādā pirmais, tāpēc šī ir dāsna rezerves robeža, nevis fiksēts ierobežojums — bez tās atkārtotais mēģinājums izmantotu to pašu īso `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` logu kā mēģinājums no ligzdu kopas, un veseli lēnas pirmā baita saņemšanas laika spriešanas modeļi atgrieztu 504. Tā nekad nedrīkst būt zemāka par iepriekš norādīto fiksēto minimālo robežu; ja izsaucējs vispār nenodrošina termiņa signālu, atkārtotajam mēģinājumam fiksētā minimālā robeža paliek nemainīga. | | `FETCH_BODY_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Laiks pilna atbildes pamatteksta saņemšanai. | | `FETCH_CONNECT_TIMEOUT_MS` | `30000` | TCP savienojuma izveides taimauts. | | `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Keep-alive ligzdas dīkstāves taimauts. | | `TLS_CLIENT_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | TLS pirkstu nospiedumu starpniekservera (wreq-js) taimauts. | | `TLS_FIRST_BYTE_WATCHDOG_MS` | `10000` | Ierobežo tieši wreq-js TLS pirkstu nospiedumu transporta pamatteksta pirmā baita saņemšanas laiku; `TLS_CLIENT_TIMEOUT_MS` viens pats nevar konstatēt iestrēgušu pamattekstu, jo tas tiek pabeigts, tiklīdz ir saņemtas galvenes (#12656). Taimauts atceļ wreq lasītāju un pārslēdzas uz tiešo/starpniekservera dispečeru; `0` atspējo uzraugu. | | `RESPONSES_FIRST_BYTE_TIMEOUT_MS` | `15000` | Tikai OpenCode izpildītājam un tikai tad, ja funkcijas karogs `OPENCODE_RESPONSES_STALL_ROTATION` ir ieslēgts (pēc noklusējuma izslēgts): ierobežo pirmā pamatteksta baita gaidīšanas laiku straumētai Responses atbildei pēc tās galveņu saņemšanas (#13484). Responses straume sākas ar `response.created`, tāpēc klusums pēc šī loga nozīmē iestrēgšanu: kontam tiek piemērots nogaidīšanas periods, un pieprasījums vienreiz tiek novirzīts uz nākamo kontu; otra iestrēgšana izraisa tūlītēju kļūmi. `0` atspējo aizsardzību pat tad, ja karogs ir ieslēgts. | | `OPENCODE_RESPONSES_HEADERS_WAIT_MS` | `0` (= izslēgts) | Tikai OpenCode izpildītājam: ierobežo augšupstraumes atbildes galveņu gaidīšanas laiku straumētam Responses izsaukumam, ja joprojām ir pieejams cits konts — rindā esošs pieprasījums pārtrauc gaidīšanu un pāriet tālāk, nevis aizņem visu galveņu gaidīšanas logu. Tas ietekmē tikai straumētus Responses izsaukumus (Responses straume sākas ar `response.created`, tāpēc klusums šajā posmā nozīmē rindu, nevis ģenerēšanu); tērzēšanas pabeigšanas un nestraumēti izsaukumi netiek ietekmēti, un šis logs tikai saīsina faktisko fetch sākuma augšējo robežu, bet nekad to nepagarina. Ieteicamā vērtība, to iespējojot: `30000`. `0` atspējo. | | `OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS` | `2` | Tikai OpenCode izpildītājam: cik reižu vienā pieprasījumā iepriekš norādītā galveņu gaidīšanas robeža drīkst pāriet uz nākamo kontu. Pēdējais atlikušais konts vienmēr saglabā pilnu galveņu gaidīšanas logu. | | `OPENCODE_PARK_AND_RESUME` | `false` | Tikai OpenCode izpildītājam: pēc atkārtotām pārejošām 429 kļūdām (vai svaiga pūla pārslodzes marķiera) novietot pieprasījumu gaidīšanas režīmā ar periodisku signālu un pēc tam atkārtoti izpildīt vienu ierobežotu posmu, secīgi izmantojot ne vairāk kā 3 kontus, nevis paralēli noslogojot visu kontu kopu (#13924). Pēc noklusējuma izslēgts: katra 429 kļūda pārslēdz uz nākamo kontu tieši tāpat kā iepriekš. | | `OPENCODE_PARK_REPLAY_SERVE_SETASIDE` | `false` | Tikai OpenCode izpildītājam: ja starp kontiem, kuru atdzišanas periods ir beidzies, visus gaidīšanas un atsākšanas atkārtošanas posmā ir atlicinājusi starpniekservera atteikumu atmiņa, tomēr izmantot tos, nevis neko neatkārtot (#14851, #14750 turpinājums). Pēc noklusējuma izslēgts: šādā gadījumā atkārtošanas posms ir tukšs, tāpat kā pirms #14750. | | `STREAM_READINESS_STALL_RETRY` | `false` | Tikai straumēšanas tērzēšanai: ja pirmā augšupstraumes atbildes pamatdaļa iestrēgst, pirms ir izveidots izmantojams notikums, veikt vienu ierobežotu otro mēģinājumu pa to pašu maršrutēšanas ceļu, izmantojot to pašu gatavības laika budžetu un nepiemērojot kontam sodu. Pēc noklusējuma izslēgts: iestrēgusi pirmā atbildes pamatdaļa izraisa pieprasījuma kļūmi bez atkārtota mēģinājuma. | | `OPENCODE_POOL_RESELECT` | `false` | Tikai OpenCode izpildītājam: pēc 429 kļūdas no pēc izejas adreses grupēta nodrošinātāja kontā bez starpniekservera apkārtējā pūla kontekstā nākamajam mēģinājumam pieprasīt savienojumu pūlam citu dalībnieku, nevis atkārtoti izmantot to pašu izejas adresi. Nosaka secību, nekad neizslēdz: izsmelts pūls saglabā pašreizējo darbību. Pēc noklusējuma izslēgts: katra 429 kļūda pārslēdz uz nākamo kontu tieši tāpat kā iepriekš. | | `OPENCODE_POOL_STRAIN_MARKER_PATH` | _(nav iestatīts)_ | Tikai OpenCode izpildītājam: pārrakstīt pirms novietošanas gaidīšanas režīmā nolasāmā pūla pārslodzes marķiera ceļu (`{since, reason, ttl_s}`, pēc noklusējuma `/tmp/opencode-pool-strain.json`, #13924). Svaigs marķieris aktivizē gaidīšanas režīmu bez atkārtotas skaitīšanas; ja marķiera nav vai tas ir novecojis, tiek izmantots uzliesmojumu skaitītājs. | | `API_BRIDGE_PROXY_TIMEOUT_MS` | `30000` | Starpniekservera pārejas noildze `/v1` tilta pieprasījumiem. | | `FIRECRAWL_BASE_URL` | `https://api.firecrawl.dev` | Novirzīt Firecrawl tīmekļa ielādes izpildītāju uz pašmitinātu instanci (ārpus mākoņa API atslēga nav obligāta). | | `FIRECRAWL_TIMEOUT_MS` | `30000` | Firecrawl tīmekļa ielādes izpildītāja noildze katram pieprasījumam. | | `TAVILY_BASE_URL` | _(nav iestatīts)_ | Tavily `/usage` kvotu ielādētāja bāzes URL (nodrošinātāja ierobežojumi); tiek ignorēts, ja tas norāda uz `api.tavily.com`. Ja nav iestatīts, tiek izmantots savienojuma bāzes URL. | | `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `300000` | Tilta servera pieprasījuma kopējā noildze. | | `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Laiks atbildes galveņu nosūtīšanai caur tiltu. | | `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | Tilta pastāvīgā savienojuma dīkstāves noildze. | | `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | Neapstrādātās ligzdas noildze (0 = atspējota). | | `SHUTDOWN_TIMEOUT_MS` | `30000` | Labvēlības periods pēc SIGTERM/SIGINT saņemšanas pirms piespiedu iziešanas. | | `OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS` | `120000` | Rezerves vērtība, ko izmanto `src/shared/utils/fetchTimeout.ts`, ja `FETCH_TIMEOUT_MS` nav iestatīts. | | `OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS` | `8000` | `validationRead` un `modelsProbe` priekšiestatījumu noildze (ms) failā `src/shared/network/safeOutboundFetch.ts`. Palieliniet lēniem galapunktiem (Cerebras, Cloudflare AI, Groq), lai novērstu svārstīšanos starp aktīvu un kļūdas stāvokli informācijas panelī. Nederīgām (<1000) vai neskaitliskām vērtībām tiek izmantota rezerves vērtība 8000 ms. | | `OMNIROUTE_RELAY_FETCH_TIMEOUT_MS` | `25000` | Retranslatoram specifiska ielādes noildze failā `open-sse/utils/proxyFetch.ts` (#9158). Iestrēgušam retranslatoram ir jāizraisa kļūme pirms klienta/aģenta noildzes (~30 s), lai izsaucēji redzētu retranslatoram specifisku kļūmi, nevis vispārīgu augšupstraumes noildzi. Ierobežota līdz `29000`, lai tā vienmēr nostrādātu pirmā. | | `OMNIROUTE_RETRY_BACKOFF_MS` | `10` | Kopīga atkārtota mēģinājuma aizture tiešā savienojuma/retranslatora/starpniekservera vienreizējas atkārtošanas ceļiem failā `open-sse/utils/proxyFetch.ts` (#9158). `0` = atkārtot nekavējoties. | | `OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS` | `60000` | Vietējā wreq-js pieprasījuma noildze (`claudeTlsClient.ts`). | | `OMNIROUTE_CLAUDE_TLS_GRACE_MS` | `10000` | Absolūtā JS stingrā galīgā termiņa papildlaiks, kas tiek pievienots vietējai noildzei. | | `OMNIROUTE_PPLX_TLS_TIMEOUT_MS` | `30000` | Vietējā wreq-js pieprasījuma noildze (`perplexityTlsClient.ts`). | | `OMNIROUTE_PPLX_TLS_GRACE_MS` | `10000` | Absolūtais JS stingrā termiņa papildlaiks, kas tiek pievienots vietējam taimautam. | | `OMNIROUTE_PPLX_SEARCH_HINT` | `0` (izslēgts) | Zvanītāja sistēmas ziņojumam pievieno tekstu "Jums ir iebūvēta meklēšana tīmeklī. Atbildiet uz jautājumiem tieši, izmantojot meklēšanas rezultātus." (`perplexity-web/protocol.ts`). Pēc noklusējuma izslēgts — Perplexity meklē jebkurā gadījumā, un šis teikums nonāk atbildēs kā metakomentārs kodēšanas klientiem. Iestatiet `1`/`true`/`yes`/`on`, lai atjaunotu. | | `OMNIROUTE_GROK_TLS_TIMEOUT_MS` | `60000` | Vietējais wreq-js pieprasījuma taimauts (`grokTlsClient.ts`). | | `OMNIROUTE_GROK_TLS_GRACE_MS` | `10000` | Absolūtais JS stingrā termiņa papildlaiks, kas tiek pievienots vietējam taimautam. | | `OMNIROUTE_NOTION_TLS_TIMEOUT_MS` | `30000` | Vietējais wreq-js pieprasījuma taimauts (`notionTlsClient.ts`); `notion-web` ilgu ģenerēšanu gadījumā katram pieprasījumam to palielina līdz `180000`. | | `OMNIROUTE_NOTION_TLS_GRACE_MS` | `10000` | Absolūtais JS stingrā termiņa papildlaiks, kas tiek pievienots vietējam taimautam. | | `OMNIROUTE_BROWSER_POOL` | `on` | Koplietojams Playwright pārlūku pūls tīmekļa sīkdatņu tērzēšanai ar pārlūka aizmugursistēmu (`browserPool.ts`); iestatiet `off`, lai atspējotu. | | `OBSCURA_BIN` | `auto-detect` | Ceļš uz `obscura` bināro failu, ko pārlūku pūls un Cloudflare Playground izpildītājs izmanto kā primāro dzini (`open-sse/services/obscura.ts`); ja nav iestatīts, tas tiek automātiski noteikts sistēmas PATH. | | `OBSCURA_CDP_ENDPOINT` | _(nav iestatīts)_ | Norādiet uz jau palaistu Obscura instanci (`http://host:port`), nevis palaidiet jaunu; modulis nepārvalda šo procesu (`open-sse/services/obscura.ts`). | | `OBSCURA_PORT` | `nejaušs brīvs ports` | Skaidri norādīts ports palaistajam `obscura serve`; ja nav iestatīts, brīvs ports tiek izvēlēts automātiski (`open-sse/services/obscura.ts`). | | `WEB_COOKIE_USE_BROWSER` | `0` | Pārslēdz tīmekļa sīkdatņu tērzēšanas pieprasījumu uz pārlūka aizmugursistēmas ceļu (`browserBackedChat.ts`); iestatiet `1`, lai iespējotu. | | `KIMI_WEB_BASE_URL` | `https://www.kimi.ai` | Kimi Web (starptautiskā kimi.ai Connect-RPC) izpildītāja bāzes URL (`kimi-web.ts`); mainiet tikai spoguļa/starpniekservera galapunktiem. | | `KIMI_WEB_CHAT_URL` | `/apiv2/kimi.gateway.chat.v1.ChatService/Chat` | Pilns Kimi Web izpildītāja tērzēšanas galapunkts (`kimi-web.ts`). | | `OMNIROUTE_LOGIN_BROWSER_PATH` | _(automātiski noteikts)_ | Ceļš uz sistēmas Chrome/Edge izpildāmo failu Adobe Firefly interaktīvajai pierakstīšanai pārlūkā (`adobeFireflyBrowserLogin.ts`); ignorē katrai OS paredzēto automātisko noteikšanu. | | `OMNIROUTE_STANDALONE_DIR` | _.build/ autonomās izvades direktorijs_ | Kompilēšanas laika pārrakstījums autonomās izvades direktorijam, ko izmanto pēckompilēšanas līdzās izvietošanas darbība (`scripts/build/colocate-standalone.mjs`); kompilēšanas rīkiem, nevis izpildlaikam. | Kombinētā mērķa mēģinājumi manto atrisināto augšupstraumes pieprasījuma taimautu (`FETCH_TIMEOUT_MS` vai `REQUEST_TIMEOUT_MS`, ja tas nodrošina fetch noklusējuma vērtību). Iestatiet `targetTimeoutMs` kombinācijā, kombinācijas noklusējuma iestatījumos vai nodrošinātāja pārrakstījumā tikai tādēļ, lai kombinācijas atkāpšanās notiktu ātrāk; vērtības, kas pārsniedz pašreizējo augšupstraumes taimautu, tiek ierobežotas līdz augšupstraumes taimautam. `comboTimeoutMs` ir atsevišķs kopējās kombinācijas reālā laika budžets visiem kļūmjpārlēces mērķiem. Atstājiet to neiestatītu vai iestatiet `0`, lai saglabātu neierobežotu iterāciju (joprojām ir spēkā 10 minūšu iekodētais iestrēgšanas apturētājs failā `comboPredicates.ts`). Pozitīva vērtība aizstāj šo kombinācijas drošības mehānismu. Iestatiet `comboTimeoutMs` ilgāku par `targetTimeoutMs`, lai pēc lēna pirmā mērķa joprojām atliktu laiks kļūmjpārlēcei. ### Ķēdes pārtraucēja sliekšņi Nodrošinātāja līmeņa ķēdes pārtraucēja pielāgošana. Noklusējuma vērtības atspoguļo mērogotās vērtības, kas kopš v3.6 tiek izmantotas vairāk nekā 500 savienojumiem. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------------------------------- | ------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD` | `8` | `open-sse/config/constants.ts` | Secīgu kļūmju slieksnis OAuth nodrošinātājiem, pēc kura nostrādā ķēdes pārtraucējs. | | `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS` | `60000` | `open-sse/config/constants.ts` | OAuth nodrošinātāja ķēdes pārtraucēja atiestatīšanas intervāls (ms). | | `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD` | `12` | `open-sse/config/constants.ts` | Secīgu kļūmju slieksnis API atslēgu nodrošinātājiem. | | `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS` | `30000` | `open-sse/config/constants.ts` | API atslēgas nodrošinātāja ķēdes pārtraucēja atiestatīšanas intervāls (ms). | | `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Secīgu kļūmju slieksnis lokālajiem nodrošinātājiem (Ollama, LM Studio, ...). | | `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS` | `15000` | `open-sse/config/constants.ts` | Lokālā nodrošinātāja ķēdes pārtraucēja atiestatīšanas intervāls (ms). | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD` | `10` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: kļūmju skaits laika intervālā, pirms viss OAuth nodrošinātājs pāriet atdzišanas režīmā. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS` | `900000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: slīdošais kļūmju uzskaites intervāls (ms) OAuth nodrošinātājiem. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS` | `300000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: atdzišanas periods (ms), kad sasniegts OAuth nodrošinātāja slieksnis. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD` | `5` | `open-sse/config/constants.ts` | OAuth nodrošinātājs pāriet stāvoklī DEGRADED pēc šāda kļūmju skaita. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER` | `8` | `open-sse/config/constants.ts` | OAuth nodrošinātāja maksimālais `resetTimeout` palielināšanas reizinātājs. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT` | `2` | `open-sse/config/constants.ts` | OAuth nodrošinātājam atkāpšanās līmenis tiek paaugstināts pēc šāda atvērto ciklu skaita. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD` | `15` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: kļūmju skaits laika intervālā, pirms viss API atslēgas nodrošinātājs pāriet atdzišanas režīmā. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS` | `1800000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: slīdošais kļūmju uzskaites intervāls (ms) API atslēgu nodrošinātājiem. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS` | `600000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: atdzišanas periods (ms), kad sasniegts API atslēgas nodrošinātāja slieksnis. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD` | `7` | `open-sse/config/constants.ts` | API atslēgas nodrošinātājs pāriet stāvoklī DEGRADED pēc šāda kļūmju skaita. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER` | `4` | `open-sse/config/constants.ts` | API atslēgas nodrošinātāja maksimālais `resetTimeout` palielināšanas reizinātājs. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT` | `3` | `open-sse/config/constants.ts` | API atslēgas nodrošinātājam atkāpšanās līmenis tiek paaugstināts pēc šāda atvērto ciklu skaita. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: kļūmju skaits, pirms viss lokālais nodrošinātājs pāriet atdzišanas režīmā. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS` | `300000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: slīdošais kļūmju uzskaites intervāls (ms) lokālajiem nodrošinātājiem. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS` | `60000` | `open-sse/config/constants.ts` | Nodrošinātāja līmeņa ķēdes pārtraucējs: atdzišanas periods (ms), kad sasniegts lokālā nodrošinātāja slieksnis. | | `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Katras atslēgas atdzišanas periods (ms), ko vairāku API atslēgu rotācija piemēro, ja augšupstraumes atbilde 429 neietver `Retry-After` (#14573). Ja vērtība nav pozitīva vai nav skaitliska, tiek izmantota noklusējuma vērtība. | | `PIN_DROP_BACKOFF_LEVEL` | `2` | `open-sse/services/combo.ts` | Atkāpšanās dziļums, kurā konteksta kešatmiņas piesaistes nodrošinātājs tiek uzskatīts par ilgstoši neveselīgu un piesaiste tiek atmesta, lai veiktu kļūmjpārlēci. | | `PIN_DROP_GRACE_MS` | `20000` | `open-sse/services/combo.ts` | Pretbiežas pārslēgšanās intervāls (ms), kas pieļauj īslaicīgus pārejošus atdzišanas periodus pirms konteksta kešatmiņas piesaistes atmešanas. | ### Scenāriji | Scenārijs | Konfigurācija | | ------------------------------------------------ | --------------------------------------------------------- | | **Ilgstoša koda ģenerēšana** | `REQUEST_TIMEOUT_MS=900000` (15 min) | | **Kopējā straumes darbības ilguma ierobežošana** | `STREAM_ACTIVE_TIMEOUT_MS=1260000` (21 min) | | **Ātra kļūmes konstatēšana produkcijas API** | `API_BRIDGE_PROXY_TIMEOUT_MS=10000` | | **Paplašinātās spriešanas modeļi** | `STREAM_IDLE_TIMEOUT_MS=300000` (5 min starp fragmentiem) | --- ## 16. Žurnalēšana Žurnalēšanas sistēma raksta gan standarta izvadē (stdout), gan rotētos žurnālfailos. Visa konfigurācija tiek nolasīta failā `src/lib/logEnv.ts`. | Mainīgais | Noklusējums | Apraksts | | ----------------------------------------- | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `APP_LOG_LEVEL` | `info` | Minimālais žurnāla līmenis: `debug`, `info`, `warn`, `error`. | | `APP_LOG_FORMAT` | `text` | Izvades formāts: `text` (cilvēklasāms) vai `json` (strukturēts). | | `APP_LOG_TO_FILE` | `true` | Rakstīt žurnālus failā papildus standarta izvadei (stdout). | | `APP_LOG_FILE_PATH` | `logs/application/app.log` | Žurnālfaila ceļš (relatīvs pret projekta sakni vai `DATA_DIR`). | | `APP_LOG_MAX_FILE_SIZE` | `50M` | Maksimālais faila lielums pirms rotācijas. Pieņem: `50M`, `1G`, `512K` vai vienkāršu baitu skaitu. | | `APP_LOG_RETENTION_DAYS` | `7` | Dienu skaits, cik ilgi glabāt rotētos lietojumprogrammas žurnālfailus. | | `APP_LOG_MAX_FILES` | `20` | Maksimālais rotēto žurnālfailu dublējumkopiju skaits. | | `CALL_LOG_RETENTION_DAYS` | `7` | Dienu skaits, cik ilgi datubāzē glabāt pieprasījumu/izsaukumu žurnāla ierakstus. | | `CALL_LOG_MAX_ENTRIES` | `10000` | Maksimālais izsaukumu žurnāla ierakstu skaits atmiņas buferī. | | `CALL_LOGS_TABLE_MAX_ROWS` | `100000` | Maksimālais rindu skaits SQLite tabulā `call_logs` pirms retināšanas. | | `ENABLE_REQUEST_LOGS` | _(nav iestatīts)_ | Piespiedu kārtā ieslēgt vai izslēgt detalizētu pieprasījumu žurnalēšanu, ignorējot informācijas paneļa iestatījumu. | | `MAX_PENDING_REQUEST_AGE_MS` | `3600000` (1 stunda) | Maksimālais pamestu aktīvo pieprasījumu žurnāla ierakstu vecums pirms iztīrīšanas no atmiņas. | | `CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS` | `false` | Saglabāt straumes fragmentus konveijera artefaktos, ja `call_log_pipeline_enabled=true`. Jāiespējo atsevišķi (`true`) — pēc noklusējuma izslēgts, lai taupītu vietu diskā. | | `CALL_LOG_PIPELINE_MAX_SIZE_KB` | `512` | Maksimālais konveijera izsaukumu žurnāla artefakta lielums KB, ja `call_log_pipeline_enabled=true`. | | `PROXY_LOGS_TABLE_MAX_ROWS` | `100000` | Maksimālais rindu skaits SQLite tabulā `proxy_logs` pirms retināšanas. | | `PROXY_LOG_INCLUDE_IPS` | `false` | Iekļaut klienta/izejošās plūsmas IP adreses un kontu prefiksus `[ProxyEgress]` konsoles žurnālos. Informācijas paneļa/datubāzes starpniekservera žurnālu ierakstos tiek saglabāta pilna informācija. | | `PROXY_LOG_FIRST_CHUNK_TIMING` | `false` | Iestatiet uz `"true"` vai `"1"`, lai starpniekservera žurnāla rindās reģistrētu `first_chunk_ms` (laiku no sūtīšanas sākuma līdz pirmajam noderīgajam pamatteksta baitam). Katrs augšupstraumes pamatteksts tiek ietverts laiski inicializētā caurlaides straumē, un rinda tiek atjaunināta, tiklīdz pienāk baits; pēc noklusējuma izslēgts, lai atbildes tiktu nodotas bez izmaiņām. | | `APP_LOG_ROTATION_CHECK_INTERVAL_MS` | `60000` (1 min) | Cik bieži `src/lib/logRotation.ts` atkārtoti pārbauda aktīvā žurnālfaila lielumu. | | `CHAT_LOG_TEXT_LIMIT` | `65536` | Maksimālais virknes garums, kas tiek saglabāts tērzēšanas žurnāla artefaktos (pēc noklusējuma 64 KB). | | `CHAT_LOG_ARRAY_TAIL_ITEMS` | `128` | Masīva elementu skaits, kas tiek saglabāts no beigām, saīsinot tērzēšanas žurnāla datus. | | `CHAT_LOG_MAX_DEPTH` | `6` | Maksimālais ligzdošanas dziļums, pēc kura tērzēšanas žurnāla dati tiek saīsināti. | | `CHAT_LOG_MAX_OBJECT_KEYS` | `80` | Maksimālais objekta atslēgu skaits, kas tiek saglabāts tērzēšanas žurnāla datos (0 = neierobežots). | | `CHAT_LOG_MAX_BODY_KB` | `1024` | Visa pieprasījuma/atbildes pamatteksta lielums (KB), pēc kura pilnas kopijas vietā tas tiek aizstāts ar vienkāršu kopsavilkumu. Palieliniet šo vērtību, ja garās aģentu sarunās informācijas panelī īsto ziņojumu vietā tiek rādīts vietturis. | | `CHAT_DEBUG_FILE` | `false` | Ja vērtība ir true, `serializeArtifactForStorage` izlaiž uz lielumu balstītu saīsināšanu. Tikai atkļūdošanai. | --- ## 17. Atmiņas optimizācija | Mainīgais | Noklusējums | Apraksts | | ----------------------------- | ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_MEMORY_MB` | _automātiski_ (fiziskā vidē); **`1024` Docker attēlā** | **Ieteicamais** Docker/savrupā V8 kaudzes ierobežojums (MB). Ja nav iestatīts, tiek dinamiski kalibrēts (~35% no sistēmas RAM, ierobežojot diapazonā `[512, 4096]`); `512` ir tikai minimālā vērtība gadījumā, ja kopējo atmiņas apjomu nevar nolasīt. Izmantojot `run-standalone.mjs` (Docker CMD), **nepārprotami norādīta** vērtība tiek pievienota kā `--max-old-space-size` un tai ir **priekšroka** pār konfliktējošu NODE_OPTIONS kaudzes karodziņu (V8 pēdējā karodziņa princips). `omniroute serve` joprojām dod priekšroku esošam NODE_OPTIONS kaudzes iestatījumam (#5238). Neiestatiet abus ar atšķirīgām vērtībām — process reģistrē brīdinājumu, norādot abas vērtības un to, kurai ir priekšroka. **Oficiālajā Docker attēlā vienmēr ir iestatīts `1024`, tādēļ kalibrēšana tajā nekad netiek veikta.** Kodēšanas aģenta `/v1/responses` darbībai nepieciešami `8192`–`12288`, kā arī papildu rezerve cgroup vajadzībām — skatiet [Docker rokasgrāmatu — izpildlaika RAM](../guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). | | `OMNIROUTE_RSS_PRESSURE_MB` | _automātiski_ (`max(3072, 2 × OMNIROUTE_MEMORY_MB)`; izslēgts, ja `OMNIROUTE_MEMORY_MB` nav iestatīts) | `open-sse/utils/resourcePressure.ts` | Absolūts procesa RSS drošinātājs (MB) vietējai/ārējai atmiņai, ko V8 `heapUsed` nespēj uzskaitīt; pārsniedzot šo vērtību, jaunie pieprasījumi saņem 503 `resource_pressure`. Pēc strauja kāpuma RSS reti samazinās, tādēļ izmantojiet to kopā ar `OMNIROUTE_PRESSURE_SELF_RESTART`. | | `PROMPT_CACHE_MAX_SIZE` | `50` | Maksimālais kešoto sistēmas uzvedņu ierakstu skaits. | | `PROMPT_CACHE_MAX_BYTES` | `2097152` (2 MB) | Maksimālais kopējais uzvedņu kešatmiņas lielums. | | `PROMPT_CACHE_TTL_MS` | `300000` (5 min) | Uzvedņu kešatmiņas ieraksta TTL. | | `SEMANTIC_CACHE_MAX_SIZE` | `100` | Maksimālais kešoto temperature=0 atbilžu skaits. | | `SEMANTIC_CACHE_MAX_BYTES` | `4194304` (4 MB) | Maksimālais kopējais semantiskās kešatmiņas lielums. | | `SEMANTIC_CACHE_TTL_MS` | `1800000` (30 min) | Semantiskās kešatmiņas ieraksta TTL. | | `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | Lokālā korpusa sakņu skaits, kuru aktīvie indeksi vienlaikus tiek glabāti atmiņā (`src/lib/localCorpus/configured.ts`). LRU: sasniedzot ierobežojumu, visilgāk neizmantotās saknes indekss tiek izmests un atkārtoti izveidots nākamajā šīs saknes vaicājumā. Vērtība tiek ierobežota līdz minimumam `1`; ja vērtība nav skaitlis, tiek izmantots noklusējums. | | `STREAM_HISTORY_MAX` | `50` | Maksimālais neseno straumes notikumu skaits informācijas paneļa tiešā skata buferī. | | `CONTEXT_LENGTH_DEFAULT` | _(nav iestatīts)_ | Globāls konteksta garuma pārrakstīšanas iestatījums (marķieros) katram nodrošinātājam, kuram nav mainīgā `CONTEXT_LENGTH_`. Ja tas ir iestatīts, attiecīgajiem nodrošinātājiem tas **aizstāj** kataloga, informācijas paneļa pārrakstīšanas un reģistra vērtības; ja tas nav iestatīts, OmniRoute izmanto savu iebūvēto ķēdi, kuras pēdējā rezerves vērtība ir `128000`. Skatiet [Konteksta garums katram nodrošinātājam](#per-provider-context-length-context_length_provider). | | `USAGE_TOKEN_BUFFER` | `100` | Papildu marķieru rezerve, kas tiek rezervēta lietojuma kvotu uzskaitei. | ### Konteksta garums katram nodrošinātājam (`CONTEXT_LENGTH_`) `open-sse/services/contextManager.ts` (`getEnvOverride()` / `resolveTokenLimit()`) nolasa arī **katram nodrošinātājam paredzētu** formu, kuras nosaukums izpildlaikā tiek izveidots no nodrošinātāja ID, tādēļ to nevar norādīt pa atsevišķām rindām iepriekš redzamajā tabulā vai failā `.env.example`. **Nosaukums.** `CONTEXT_LENGTH_`, kur `` ir pakalpojuma sniedzēja ID ar lielajiem burtiem un katru rakstzīmi ārpus `A-Z` / `0-9` aizstājot ar `_`. Pakalpojuma sniedzēja ID ir kanoniskais ID pēc aizstājvārda atrisināšanas (`provider` daļa `provider/model` virknē pēc īsā aizstājvārda atrisināšanas). Pielāgoti ar OpenAI vai Anthropic saderīgi mezgli izmanto savu ģenerēto mezgla ID, tādēļ UUID ir daļa no mainīgā nosaukuma. Vērtība ir pozitīvs vesels marķieru skaits; viss pārējais (tukša vērtība, `0`, negatīva vai neskaitliska vērtība) tiek ignorēts, un atrisināšana pāriet pie nākamās darbības. | Pakalpojuma sniedzēja ID | Mainīgā nosaukums | | ----------------------------------------------------------- | -------------------------------------------------------------------------- | | agentrouter | CONTEXT_LENGTH_AGENTROUTER | | openrouter | CONTEXT_LENGTH_OPENROUTER | | openai-compatible-chat-0f8e2c1a-5b7d-4e3f-9a6c-2d1b8e4f7a90 | CONTEXT_LENGTH_OPENAI_COMPATIBLE_CHAT_0F8E2C1A_5B7D_4E3F_9A6C_2D1B8E4F7A90 | **Prioritāte.** `provider/model` pārim tiek izmantota pirmā darbība, kas dod vērtību: 1. `CONTEXT_LENGTH_` attiecīgajam pakalpojuma sniedzējam. 2. `CONTEXT_LENGTH_DEFAULT` (globāla pārrakstīšana ar vides mainīgo). 3. Konkrētā modeļa logs: saglabāta konteksta pārrakstīšana (iestatīta informācijas panelī vai automātiski piesaistīta ar atklāšanas saskaņotāju, skatiet `CONTEXT_WINDOW_RECONCILE_INTERVAL`), pretējā gadījumā sinhronizētā kataloga / models.dev vērtība. 4. Pakalpojuma sniedzēja reģistra `defaultContextLength`. 5. Uz modeļa nosaukumu balstīta heiristika (`claude` 200000, `gemini` 1000000, `gpt` / `o1` / `o3` / `o4` / `codex` 400000). 6. Iebūvētās katra pakalpojuma sniedzēja noklusējuma vērtības, pēc tam `128000`. Abas vides mainīgo darbības attiecas uz **visu pakalpojuma sniedzēju**: katrs šī pakalpojuma sniedzēja modelis saņem vienādu ierobežojumu, un tām ir prioritāte pār informācijas panelī norādītajām konkrētu modeļu pārrakstīšanas vērtībām. Ja tikai vienam pakalpojuma sniedzēja modelim nepieciešams atšķirīgs logs, tā vietā izmantojiet konkrētā modeļa pārrakstīšanu informācijas panelī. **Tvērums.** Šī ķēde nosaka pieprasījuma izpildes laikā veikto konteksta loga pārbaudi ( `context_length_exceeded` / "Ievade pārsniedz konteksta logu" noraidījumu failā `open-sse/handlers/chatCore.ts`), uzvedņu saspiešanas budžetus un kombinētos konteksta ierobežojumus. Ar `GET /v1/models` norādītā `context_length` vērtība joprojām var būt iegūta no kataloga vai reģistra metadatiem, un nav garantēts, ka tā atspoguļos vides mainīgā pārrakstīšanu. **Piemērs.** Pakalpojuma sniedzējs, kura modelis pieņem 1 050 000 marķieru logu, kamēr katalogs norāda 128 000: ```dotenv CONTEXT_LENGTH_AGENTROUTER=1050000 ``` Pēc tā mainīšanas restartējiet serveri: vērtība tiek nolasīta no servera procesa vides. **Darbvirsmas lietotnē** serveris darbojas kā bērnprocess un neredz sistēmas mainīgo, kas iestatīts pēc lietotnes palaišanas; ievietojiet rindu lietotnes ielādētajā `.env` failā (meklēšanas secību skatiet [Electron rokasgrāmata: vides faila meklēšana](../guides/ELECTRON_GUIDE.md#environment-file-lookup)), pēc tam pilnībā aizveriet un atkārtoti palaidiet lietotni. ### Saspiešana | Mainīgais | Noklusējums | Apraksts | | ------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------ | | `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | nav iestatīts | Uzticēties projekta `.rtk/filters.json` bez `.rtk/trust.json` jaucējkoda. Izmantojiet tikai kontrolētā lokālās izstrādes vidē. | ### Atmiņas dzinis (plāns 21) ### Atmiņas, prasmju un marķieru atsvaidzināšanas notikumu cikla izmaksas (#10349) OmniRoute ir **viens Node process**. Atmiņas izvilkšana/izgūšana, prasmju ievietošana un pakalpojuma sniedzēja marķieru atsvaidzināšana darbojas tajā **pašā notikumu ciklā**, kurā darbojas `GET /healthz` un informācijas panelis. Tie nav darbinieka pavedienā. | Darbs | Kods | Noklusējums | Operatora vadība | | ----------------------------- | ---------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Atmiņas izvilkšana / izgūšana | `src/lib/memory/` | Informācijas paneļa **memoryEnabled** (pēc noklusējuma ieslēgts) | Izslēdziet **Iestatījumi → Atmiņa**. Nav atsevišķa vides mainīgā avārijas slēdža, izņemot funkcijas atspējošanu iestatījumos. | | Prasmju ievietošana | `src/lib/skills/injection.ts` | Informācijas paneļa **skillsEnabled** (pēc noklusējuma ieslēgts) | Izslēdziet **Iestatījumi → Atmiņa/Prasmes** (`skillsEnabled`). Tālāk norādītie smilškastes parametri tikai ierobežo izpildi pēc tam, kad ievietošana jau ir ieslēgta. | | Marķieru atsvaidzināšana | `src/sse/services/tokenRefresh.ts` | Ieslēgta pievienotajiem OAuth/tīmekļa pakalpojumu sniedzējiem | Atvienojiet pakalpojuma sniedzēju vai ļaujiet marķieriem palikt derīgiem; pašlaik nav `TOKEN_REFRESH=0` vides mainīgā. | Ja `/healthz` ir lēns sistēmā bez slodzes, vispirms atspējojiet atmiņu un prasmes, pēc tam pārbaudiet kataloga/saspiešanas slodzi (#10303, #9685). Šie līdzekļi nodod vadību `await` punktos, tomēr joprojām konkurē par vienīgo pavedienu. Iegulšanas slāņa, vektoru krātuves un atkārtotas ranžēšanas parametri pastāvīgās atmiņas apakšsistēmai (`src/lib/memory/`). | Mainīgais | Noklusējuma vērtība | Apraksts | | ------------------------------------ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MEMORY_EMBEDDING_CACHE_TTL_MS` | `300000` (5 min) | Atmiņā glabātās iegulumu kešatmiņas TTL (katram avota/modeļa/dimensijas parakstam). | | `MEMORY_EMBEDDING_CACHE_MAX` | `1000` | Maksimālais LRU ierakstu skaits, kas tiek glabāts iegulumu kešatmiņā. | | `MEMORY_TRANSFORMERS_MODEL` | `Xenova/all-MiniLM-L6-v2` | HF repozitorija ID izvēles lokālajam `@huggingface/transformers` MiniLM konveijeram (~23 MB int8, ~400 MB RAM). | | `MEMORY_STATIC_MODEL` | `minishlab/potion-base-8M` | HF repozitorija ID statiskajam potion/Model2Vec uzmeklēšanas tabulas iegulotājam. Tiek atlikti lejupielādēts kešatmiņas direktorijā. | | `MEMORY_STATIC_CACHE_DIR` | `/embeddings` | Direktorijs, ko izmanto statiskā potion modeļa failu kešošanai. Ja nav iestatīts, pēc noklusējuma atrodas zem `DATA_DIR`. | | `HF_HUB_ENDPOINT` | `https://huggingface.co` | Aizstāj Hugging Face Hub bāzes URL, ko izmanto `staticPotion.ts` (piem., spoguļservera galapunkts no tīkla izolētām vidēm). | | `MEMORY_VEC_TOP_K` | `20` | Noklusējuma top-K, ko izmanto `sqlite-vec` pilnās pārlases vektoru meklēšana failā `src/lib/memory/vectorStore.ts`. | | `MEMORY_RRF_K` | `60` | Reciprocal Rank Fusion konstante `k` hibrīdajai FTS5 un vektoru izguvei (`sqlite-vec` recepte). | | `VECTOR_STORE_DISABLE_VEC` | `false` | Testēšanas/diagnostikas savienojuma punkts funkcijā `getVectorStore()` (`src/lib/memory/vectorStore.ts`): ja `true`, piespiedu kārtā iestata vektoru krātuvi uz `null` (simulē mākoņa/WASM vidi bez `sqlite-vec`), ierobežojot atmiņas izguvi līdz FTS5 atslēgvārdu meklēšanai. Produkcijas vidē atstājiet neiestatītu. | | `NOTION_API_KEY` | _(nav iestatīts)_ | API atslēga Notion aizmugursistēmai (izmanto `genericBackend.ts` zināmās aizmugursistēmas priekšiestatījums). | | `NOTION_API_URL` | `https://api.notion.com/v1` | Notion API bāzes URL (var aizstāt pašmitinātām Notion alternatīvām). | | `OBSIDIAN_API_KEY` | _(nav iestatīts)_ | API atslēga Obsidian Vault aizmugursistēmai (izmanto `genericBackend.ts` zināmās aizmugursistēmas priekšiestatījums). | | `OBSIDIAN_API_URL` | `http://localhost:27123` | Obsidian Vault API bāzes URL (var aizstāt attālai glabātavai). | | `MEMORY_TYPED_DECAY_ENABLED` | `false` | TV6 tipizētās atmiņas dzēšanas galvenais slēdzis. **Izvēles funkcija (pēc noklusējuma izslēgta)** — tīrīšana **dzēš** novecojušās atmiņas. Kad tā ir izslēgta, `access_count`/`last_accessed_at` ir tikai telemetrija un nekas nekad netiek dzēsts. | | `MEMORY_TYPED_DECAY_EPISODIC_DAYS` | `30` | TTL (dienās), pēc kura neizmantota `episodic` atmiņa noveco. `0` padara arī epizodisko atmiņu imūnu. Noturīgie tipi (`factual`/`procedural`/`semantic`) vienmēr ir imūni. Novecošanas pulkstenis tiek atiestatīts, pamatojoties uz `last_accessed_at`. | | `MEMORY_TYPED_DECAY_ACCESS_IMMUNITY` | `3` | Atmiņa, kas ievadīta `>=` tik reižu, kļūst imūna pret novecošanu neatkarīgi no tipa. `0` atspējo piekļuves imunitāti. | | `MEMORY_TYPED_DECAY_SWEEP_INTERVAL` | `0` (atspējots) | Intervāls (sekundēs) neobligātajai periodiskajai novecojušo atmiņu tīrīšanai failā `src/lib/memory/typedDecay.ts`. `0`/nav iestatīts = nav periodiskas tīrīšanas. Nepieciešama divkārša izvēle: jābūt arī `MEMORY_TYPED_DECAY_ENABLED=true`. | | `OMNIROUTE_STRICT_SYSTEM_PROVIDERS` | _(nav iestatīts)_ | Ar komatiem atdalīti nodrošinātāju ID (reģistrnejutīgi), kas pieņem `system` ziņojumu **tikai ar indeksu 0** (`src/lib/memory/injection.ts`). Šiem nodrošinātājiem kešatmiņai droša atmiņas ievietošana masīva vidū nav droša vairāku kārtu sarunās, tāpēc atmiņa tiek apvienota/pievienota priekšā kā sākotnējais sistēmas ziņojums. Pēc noklusējuma ietver tikai `xiaomi-mimo`/`mimo`; paplašiniet pašmitinātiem ar OpenAI saderīgiem galapunktiem (piem., Qwen3.5+/3.6), kuru tērzēšanas veidne uzspiež tādu pašu viena sākotnējā sistēmas ziņojuma ierobežojumu. | ### Docker piemērs ar nelielu RAM apjomu `128` ir paredzēts tikai informācijas panelim. Programmēšanas aģenti ar šādu atmiņas apjomu ilgstošu `/v1/responses` pieprasījumu laikā saskaras ar `FATAL ERROR`. Neizmantojiet šo piemēru kā Claude/Codex/Grok vārteju. ```bash OMNIROUTE_MEMORY_MB=128 PROMPT_CACHE_MAX_SIZE=20 PROMPT_CACHE_MAX_BYTES=524288 # 512 KB SEMANTIC_CACHE_MAX_SIZE=25 SEMANTIC_CACHE_MAX_BYTES=1048576 # 1 MB STREAM_HISTORY_MAX=10 ``` --- ## 18. Cenu sinhronizācija Automātiska modeļu cenu datu sinhronizācija no ārējiem avotiem. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------- | -------------- | ------------------------ | ------------------------------------------- | | `PRICING_SYNC_ENABLED` | `false` | `src/lib/pricingSync.ts` | Periodiska cenu sinhronizācija pēc izvēles. | | `PRICING_SYNC_INTERVAL` | `86400` (24 h) | `src/lib/pricingSync.ts` | Sinhronizācijas intervāls sekundēs. | | `PRICING_SYNC_SOURCES` | `litellm` | `src/lib/pricingSync.ts` | Ar komatiem atdalīti datu avoti. | --- ## Arena ELO sinhronizācija | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------- | -------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ARENA_ELO_SYNC_ENABLED` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Periodiska Arena AI līderu saraksta ELO sinhronizācija, ko var konfigurēt informācijas paneļa funkciju karogos vai atspējot ar `false`. | | `MODELS_CATALOG_PREFIX_MODE` | `dual` | `src/shared/constants/featureFlagDefinitions.ts`, `src/app/api/v1/models/catalog.ts` | Prefiksa forma, kas tiek izmantota modeļu ID pieprasījumā `GET /v1/models`. `dual` katram modelim piedāvā gan īso aizstājvārda prefiksu, gan kanonisko nodrošinātāja prefiksu (atpakaļsaderībai — katalogs kļūst aptuveni divreiz lielāks); `alias` izvada vienu ID katram modelim; `canonical` izvada tikai pilno nodrošinātāja ID prefiksu (nodrošinātājiem, kuru aizstājvārds jau ir kanoniskais ID, tiek saglabāts vienīgais ieraksts). Klienti to var pārrakstīt katram pieprasījumam ar `?prefix=alias`. Skatiet [API_REFERENCE](API_REFERENCE.md#model-id-prefixes-prefix). | | `ARENA_ELO_SYNC_INTERVAL` | `86400` (24 h) | `src/lib/arenaEloSync.ts` | Sinhronizācijas intervāls sekundēs. | --- ## PromptQL Playground nodrošinātājs (neoficiāls/eksperimentāls) Ar reverso inženieriju izveidots GraphQL sesiju tilts vietnei prompt.ql.app (`src/shared/constants/providers/web-cookie.ts`). Visi iestatījumi nav obligāti — pēc noklusējuma tiek izmantoti publiskie izmēģinājumu vides galapunkti; pārrakstiet tos tikai pašmitinātam vai alternatīvam PromptQL izvietojumam. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- | -------------------------------------------------------------------------- | | `PROMPTQL_GRAPHQL_ENDPOINT` | `https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql` | `open-sse/executors/promptql.ts` | GraphQL galapunkts, ko izmanto tērzēšanas un sesiju darbībām. | | `PROMPTQL_CREDITS_ENDPOINT` | `https://data.pro.ql.app/v1/graphql` | `open-sse/executors/promptql.ts`, `open-sse/services/usage/promptql.ts` | GraphQL galapunkts kredītu atlikuma un izlietojuma vaicājumiem. | | `PROMPTQL_TOKEN_REFRESH_URL` | `https://auth.pro.ql.app/ddn/project/token` | `open-sse/executors/promptql.ts` | Galapunkts, ko izmanto iespēju robežās veiktai pilnvaras atsvaidzināšanai. | | `PROMPTQL_POLL_TIMEOUT_MS` | `180000` | `open-sse/executors/promptql.ts` | Maksimālais laiks (ms), cik ilgi aptaujāt `thread_events` pirms taimauta. | --- ## HyperAgent tīmekļa nodrošinātājs (neoficiāls/eksperimentāls) Reversās inženierijas ceļā izveidots sesijas tilts vietnei hyperagent.com (`src/shared/constants/providers/web-cookie.ts`). Nav obligāts — pēc noklusējuma tiek izmantots publiskais norēķinu/lietojuma galapunkts; mainiet to tikai pašmitinātam vai alternatīvam HyperAgent izvietojumam. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------- | --------------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | | `HYPERAGENT_USAGE_URL` | `https://hyperagent.com/api/settings/billing/usage` | `open-sse/services/usage/hyperagent.ts` | Galapunkts, ko izmanto norēķinu/lietojuma kredīta bloku iegūšanai. | --- ## Kilo Code lietojuma kvotas Personīgā USD atlikuma un Kilo Pass lietojuma pārbaude Kilo Code nodrošinātājam. Nav obligāta — pēc noklusējuma tiek izmantota publiskā Kilo API; mainiet to tikai starpniekserverim/testa fiksācijai. Autentifikācijai tiek izmantots savienojuma esošais OAuth piekļuves marķieris. | Mainīgais | Noklusējums | Avota fails | Apraksts | | -------------- | --------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------- | | `KILO_API_URL` | `https://api.kilo.ai` | `open-sse/services/usage/kilocode.ts` | Bāzes URL, ko izmanto personīgā Kilo Code atlikuma un Kilo Pass lietojuma datu iegūšanai. | --- ## Adobe Firefly tīmekļa nodrošinātājs (neoficiāls/eksperimentāls) Pārlūkprogrammas vadīta sesijas atsvaidzināšana Adobe Firefly tīmekļa nodrošinātājam (`open-sse/services/adobeFireflyBrowserLogin.ts`, `open-sse/services/adobeFireflySession.ts`, `open-sse/services/adobeFireflyClient.ts`). Nav obligāta — visi noklusējumi ir pielāgoti parastai darbvirsmas instalācijai. > **Noņemts versijā #9255.** Veco ar CDP savienoto Chrome izpildvidi (adobeFireflyChromeRuntime.ts) > aizstāja Playwright pārlūkprogrammas pieteikšanās pakalpojums, un tās iestatījumi vairs nepastāv. > ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART mainīgie, kā arī > ADOBE_FIREFLY_LOGIN_WAIT_MS un ADOBE_FIREFLY_FORTER_WAIT_MS, nekur > kodu bāzē netiek nolasīti — to iestatīšanai nav nekādas ietekmes. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------ | ----------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Iestatiet uz `1`, lai izmantotu īstu bezgalvas Chrome režīmu (zināms, ka ģenerēšana tajā nedarbojas; paredzēts tikai atkļūdošanai). | | `ADOBE_FIREFLY_BROWSER_REFRESH` | `1` | `open-sse/services/adobeFireflySession.ts` | Proaktīvas pārlūkprogrammas iesildīšanas ieslēgšana/izslēgšana. `0` atspējo proaktīvo iesildīšanu (408 kļūdas atkopšana paketes vidū joprojām darbojas). | | `ADOBE_FIREFLY_SESSION_DISK` | `1` | `open-sse/services/adobeFireflySession.ts` | Iestatiet uz `0`, lai atspējotu Adobe Firefly sesijas saglabāšanu diskā. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | _(nav iestatīts)_ | `open-sse/services/adobeFireflySession.ts` | Minimālais intervāls (ms), kas tiek piemērots starp secīgiem iesniegumiem, aizstājot iebūvēto noklusējumu. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | _(nav iestatīts)_ | `open-sse/services/adobeFireflySession.ts` | Papildu intervāls (ms), kas tiek pievienots pēc veiksmīgas paketes, aizstājot iebūvēto noklusējumu. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | _(nav iestatīts)_ | `open-sse/services/adobeFireflyClient.ts` | Pamata aizkave (ms) pirms ģenerēšanas pieprasījuma iesniegšanas, aizstājot iebūvēto noklusējumu. | --- ## 19. Modeļu sinhronizācija (izstrāde) | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------------- | ----------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MODELS_DEV_SYNC_ENABLED` | _(nav iestatīts)_ | `src/lib/modelsDevSync.ts` | Stingra models.dev cenu sinhronizācijas pārrakstīšana. Ja nav iestatīts, tiek ņemts vērā Iestatījumi > MI (`modelsDevSyncEnabled`). `0`/`false`/`off`/`no` **ir prioritāte pār DB** un izlaiž gan periodisko sinhronizāciju, gan `getModelsDevPricing()` SQL/JSON skenēšanu (atkopšanai, ja informācijas panelis ir iestrēdzis tajā pašā notikumu ciklā). `1`/`true`/`on`/`yes` piespiedu kārtā ieslēdz sinhronizāciju. Cenu saglabāšana/notīrīšana joprojām izsauc `backupDbFile("pre-write")`, kas 60 minūšu ierobežojuma vai `DISABLE_SQLITE_AUTO_BACKUP` gadījumā neveic nekādas darbības. | | `MODELS_DEV_SYNC_INTERVAL` | `86400` (24 h) | `src/lib/modelsDevSync.ts` | Izstrādes laika modeļu kataloga sinhronizācijas intervāls sekundēs. | | `CONTEXT_WINDOW_RECONCILE_INTERVAL` | `86400` (24 h) | `src/lib/contextWindowResolver.ts` | Intervāls (sekundēs) pašlabojošajam konteksta loga saskaņotājam (5004): pakalpojumu sniedzēja deklarētos logus no `/models` atklāšanas fiksē kā `auto:discovery` pārrakstījumus, ja tie atšķiras no kataloga. Iestatiet uz `0`, lai atspējotu. Atkārtoti izmanto jau sinhronizētos datus (bez jaunas izgūšanas); nekad nepārraksta `manual` pārrakstījumus. | --- ## 20. Pakalpojumu sniedzējiem specifiski iestatījumi | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OPENROUTER_CATALOG_TTL_MS` | `86400000` (24 h) | `src/lib/catalog/openrouterCatalog.ts` | OpenRouter modeļu kataloga kešatmiņas TTL. | | `MODEL_CATALOG_INCLUDE_NAMES` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Iekļauj lietotājam saprotamus `name` laukus `/v1/models` atbildēs. Atspējojiet klientiem, kas sagaida tikai ID. | | `CATALOG_BUILD_TIMEOUT_MS` | `8000` (8 s) | `src/app/api/v1/models/catalogCache.ts` | Aukstā ceļa gaidīšanas ierobežojums apvienotai `GET /v1/models` kataloga atkārtotai izveidei (#12627). Iestājoties noildzei, tiek atgriezta pēdējā derīgā 200 atbilde, ja tāda pastāv. | | `OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS` | `2592000000` (30 dienas) | `src/lib/db/models/activeSyncedCatalog.ts` | Vecums, pēc kura savienojuma sinhronizētais modeļu saraksts vairs netiek uzskatīts par autoritatīvu maršrutēšanai un tiek pieļauta pāreja uz reģistru (#12849). Ieraksti, kuriem nekad nav pievienots laikspiedols, tiek uzskatīti par novecojušiem. | | `OMNIROUTE_ANALYTICS_CACHE_TTL_MS` | `60000` (60 s) | `src/lib/usage/analyticsResponseCache.ts` | Laiks, cik ilgi lēna `GET /api/usage/analytics` atbilde tiek atkārtoti izmantota tam pašam vaicājuma tekstam (#15629). `0` atspējo kešatmiņu. | | `OMNIROUTE_ANALYTICS_CACHE_MIN_COMPUTE_MS` | `1000` (1 s) | `src/lib/usage/analyticsResponseCache.ts` | Kešatmiņā tiek saglabātas tikai tās analītikas atbildes, kuru izveide aizņēma vismaz tik ilgu laiku, lai mazas instances vienmēr saņemtu aktuālus datus. | | `NANOBANANA_POLL_TIMEOUT_MS` | `120000` | `open-sse/handlers/imageGeneration.ts` | Maksimālais NanoBanana attēlu ģenerēšanas uzdevumu gaidīšanas laiks. | | `NANOBANANA_POLL_INTERVAL_MS` | `2500` | `open-sse/handlers/imageGeneration.ts` | NanoBanana uzdevumu aptaujas biežums. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyUpscale.ts` | Adobe Firefly mērogošanas iesniegšanas atkārtoto mēģinājumu eksponenciālās aiztures pamatlaiks. | | `AWS_REGION` | _(nav iestatīts)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Reģions, ko izmanto AWS Bedrock galapunktu izveidei (Kiro, audio). | | `AWS_DEFAULT_REGION` | _(nav iestatīts)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Rezerves vērtība, ja `AWS_REGION` nav iestatīts. | | `CLOUDFLARE_ACCOUNT_ID` | _(nav iestatīts)_ | `open-sse/executors/cloudflare-ai.ts` | Cloudflare Workers AI konta ID. | | `CLOUDFLARE_PLAYGROUND_CHROME_PATH` | _(nav iestatīts)_ | `open-sse/executors/cloudflare-playground.ts` | Pilns darbvirsmas Chrome binārā faila ceļš Cloudflare AI Playground izpildītājam; tiek izmantots, ja bezgalvas režīma ciparnospieduma pārbaude bloķē Playwright komplektācijā iekļauto Chromium. | | `CODEBUDDY_SYSTEM_PROMPT_MAX_LEN` | ∅ (∞) | `open-sse/executors/codebuddy/shared.ts` | Neobligāts garuma ierobežojums izsaucēja sistēmas uzvednēm, kas tiek nosūtītas CodeBuddy (CN un International). Pēc noklusējuma tikai uzvedne, kas satur programmēšanas aģenta identitātes marķieri, tiek aizstāta ar neitrālu uzvedni (Tencent satura filtrs tādas noraida); garas uzvednes tiek saglabātas. Vesels skaitlis > 0 aizstāj arī jebkuru sistēmas uzvedni, kas ir garāka par norādīto rakstzīmju skaitu; neiestatīta vērtība, `0` vai vērtība, kas nav vesels skaitlis, atspējo ierobežojumu. Katras aizstāšanas gadījumā žurnālā tiek reģistrēts, kura kārtula tika aktivizēta (identitātes marķieris vai garums). | | `CLOUDFLARE_API_BASE` | `https://api.cloudflare.com/client/v4` | `src/app/api/settings/proxy/cloudflare-deploy/route.ts` | Aizstāj Cloudflare REST API pamatadresi, ko izmanto starpniekserveru pūla Workers releja izvietotājs (#4640 / 9router#1360). | | `NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx` | Noklusējuma darbinātāja projekta nosaukums, kas tiek ieteikts starpniekserveru pūla modalajā logā "Izvietot releju". | | `NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Iestatiet uz `false`, lai starpniekserveru pūla cilnē paslēptu Cloudflare Workers releja opciju. | | `CLOUDFLARED_BIN` | automātiska noteikšana | `src/lib/cloudflaredTunnel.ts` | Pielāgots ceļš uz `cloudflared` bināro failu. | | `CLOUDFLARED_PROTOCOL` | `http2` | `src/lib/cloudflaredTunnel.ts` | Tuneļa transporta protokols: `http2` (noklusējums), `quic` vai `auto`. | | `CLOUDFLARED_CONFIG` | _(nav iestatīts)_ | `src/lib/cloudflaredTunnel.ts` | Ceļš uz lokāli pārvaldītu cloudflared `config.yml` (ar `tunnel:`, `credentials-file:`, `ingress:`). Ja tas ir iestatīts, OmniRoute palaiž `tunnel --config run` (nosauktu tuneli), nevis īslaicīgu ātro tuneli. | | `CLOUDFLARED_HOSTNAME` | _(no konfigurācijas ingress)_ | `src/lib/cloudflaredTunnel.ts` | Nosauktā tuneļa publiskā resursdatora nosaukuma pārrakstīšana (piem., `ai.example.com`), kas tiek norādīts kā `publicUrl`/`apiUrl`. Ja tas nav iestatīts, tas tiek nolasīts no konfigurācijas pirmā `ingress` resursdatora nosaukuma. | | `DENO_DEPLOY_API_BASE` | `https://api.deno.com/v2` | `src/app/api/settings/proxy/deno-deploy/route.ts` | Starpniekserveru pūla releja izvietotāja izmantotās Deno Deploy REST API bāzes pārrakstīšana (#4643 / 9router#1437). | | `NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT` | `omniroute-deno-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx` | Noklusējuma Deno Deploy lietotnes nosaukums, kas tiek ieteikts starpniekserveru pūla modālajā logā „Izvietot releju”. | | `NEXT_PUBLIC_DENO_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Iestatiet uz `false`, lai cilnē „Starpniekserveru pūls” paslēptu Deno Deploy releja opciju. | | `SEARCH_CACHE_TTL_MS` | `300000` (5 min) | `open-sse/services/searchCache.ts` | Meklēšanas API (Perplexity, Brave u.c.) atbilžu kešatmiņas TTL. | | `ENABLE_CC_COMPATIBLE_PROVIDER` | `false` | `src/shared/utils/featureFlags.ts` | Parādīt eksperimentālo ar CC saderīgā nodrošinātāja saskarni relejiem, kas paredzēti tikai Claude Code. | | `NINEROUTER_HOST` | `127.0.0.1` | `open-sse/executors/ninerouter.ts` | Pārrakstīt resursdatoru, kurā iegultā 9router instance gaida savienojumus. | | `NINEROUTER_PORT` | `20130` | `open-sse/executors/ninerouter.ts` | Pārrakstīt portu, kurā iegultā 9router instance gaida savienojumus. | | `EMBED_WS_PROXY_HOST` | `127.0.0.1` | `src/lib/services/embedWsProxy.ts` | Iegultā pakalpojuma WebSocket starpniekservera piesaistes resursdators (pēc noklusējuma tikai atgriezeniskās cilpas saskarne). | | `EMBED_WS_PROXY_PORT` | `20131` | `src/lib/services/embedWsProxy.ts` | Iegultā pakalpojuma WebSocket starpniekservera ports. | | `CLIPROXYAPI_HOST` | `127.0.0.1` | `open-sse/executors/cliproxyapi.ts` | CLIProxyAPI tilta resursdators (mantotā integrācija). | | `CLIPROXYAPI_PORT` | `5544` | `open-sse/executors/cliproxyapi.ts` | CLIProxyAPI tilta ports. | | `CLIPROXYAPI_API_KEY` | _(tukšs)_ | `open-sse/handlers/chatCore/cliproxyapiCredentials.ts` | Datu plaknes rezerves atslēga, ja nav iestatījuma `cliproxyapi_api_key`. | | `CLIPROXYAPI_MANAGEMENT_KEY` | _(tukšs)_ | `src/lib/services/cliproxyAccountHealth.ts` | Pārvaldības atslēga konta stāvokļa datu nolasīšanai no ārēji pārvaldītas CLIProxyAPI instances. | | `CLIPROXYAPI_CONFIG_DIR` | `~/.cli-proxy-api` | `src/lib/versionManager/processManager.ts` | CLIProxyAPI konfigurācijas direktorijs. | | `CLIPROXY_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Resursdatora saskarne, kurā docker-compose publicē `cliproxyapi` blakusprocesa konteineru (#12578). Tā datu sējumā glabājas nodrošinātāja OAuth/API akreditācijas dati, un piesaistītajam attēlam nav uz vides mainīgajiem balstītas datu plaknes `api-keys` pārrakstīšanas iespējas (tikai montēts `config.yaml`), tādēļ `0.0.0.0` pakalpojumu, kas satur akreditācijas datus, padara pieejamu visā LAN. | | `MUX_SERVICE_PORT` | `8322` | `src/lib/services/bootstrap.ts` | Pārraksta portu, kurā klausās iegultais Mux (coder/mux) aģentu orķestrēšanas dēmons (vienmēr 127.0.0.1). | | `OPENWA_SERVICE_PORT` | `8323` | `src/lib/services/bootstrap.ts` | Pārraksta portu, kurā klausās iegultais open-wa (WhatsApp Web automatizācijas) dēmons (vienmēr 127.0.0.1). | | `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario iegultā pakalpojuma saistīšanas/savienojuma resursdators (pēc noklusējuma tikai atgriezeniskās cilpas adrese). | | `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario iegultā pakalpojuma ports. | | `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario iegultā pakalpojuma saistīšanas/savienojuma resursdators (pēc noklusējuma tikai atgriezeniskās cilpas adrese). | | `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario iegultā pakalpojuma ports. | | `LOCAL_HOSTNAMES` | _(tukšs)_ | `open-sse/config/providerRegistry.ts` | Ar komatiem atdalīti papildu resursdatoru nosaukumi, kas tiek uzskatīti par „lokāliem” (Docker pakalpojumu nosaukumi u. c.). | `ENABLE_CC_COMPATIBLE_PROVIDER` ir paredzēts tikai trešo pušu starpniekserveriem, kas pieņem vienīgi Claude Code klientus. OmniRoute pārraksta pieprasījumus, lai šie starpniekserveri tos pieņemtu. Ja vēlaties izmantot tikai Claude Code CLI vai neesat pārliecināts, kas ir šie starpniekserveri, atstājiet šo opciju atspējotu un tā vietā pievienojiet parastu ar Anthropic saderīgu nodrošinātāju. --- ## 21. Starpniekserveru darbspēja | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PROXY_FAST_FAIL_TIMEOUT_MS` | `2000` | `src/lib/proxyHealth.ts` | Ātrās atteices darbspējas pārbaudes noildze. | | `PROXY_LATENCY_WINDOW_HOURS` | `3` | `src/lib/db/proxies.ts` | Laika periods (stundās), kurā tiek aprēķināts kandidātu starpniekserveru vidējais latentums latentumam optimizētajā pūla stratēģijā. | | `PROXY_HEALTH_CACHE_TTL_MS` | `30000` | `src/lib/proxyHealth.ts` | Darbspējas pārbaudes rezultātu kešatmiņas TTL. | | `PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS` | `2000` | `src/lib/proxyHealth.ts` | Neveiksmīgu starpniekservera darbspējas pārbaužu kešatmiņas TTL. Saglabājiet to īsāku par `PROXY_HEALTH_CACHE_TTL_MS`, lai pārejošu starpniekservera noildžu gadījumā pie lielas vienlaicīgās slodzes atkārtots mēģinājums tiktu veikts ātri, neatspējojot ātro atteici patiešām nestrādājošiem starpniekserveriem. | | `PROXY_HEALTH_ENABLED` | `true` | `src/lib/proxyHealth/scheduler.ts` | Iestatiet uz `false`, lai atspējotu fona starpniekserveru darbspējas plānotāju, kas periodiski pārbauda reģistrētos starpniekserverus. | | `PROXY_HEALTH_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Fona darbspējas plānotāja pārbaudes intervāls milisekundēs (minimums `60000`). | | `PROXY_HEALTH_RELAY_INTERVAL_MS` | `21600000` | `src/lib/proxyHealth/relayCadence.ts` | Pārbaudes intervāls milisekundēs perifērijas releju starpniekserveriem (`deno`/`vercel`/`cloudflare`), kuru pārbaudes aktivizē serverbezservera izolātu, par ko tiek piemērota maksa (minimums `60000`). | | `PROXY_HEALTH_RECOVERY_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Fona atkopšanas cikla intervāls milisekundēs: cik bieži iepriekš nefunkcionējoši starpniekserveri tiek pārbaudīti atkārtoti, lai atkopies starpniekserveris atgrieztos rotācijā bez restartēšanas. Vērtībām, kas mazākas par `60000`, tiek izmantota noklusējuma vērtība. | | `PROXY_HEALTH_TEST_URL` | `https://httpbin.org/ip` | `src/lib/proxyHealth/probeTarget.ts` | Sasniedzamības pārbaudes mērķis, ko izmanto plānotājs un galapunkts `/api/settings/proxies/auto-test`. Norādiet iekšēju/pašmitinātu URL, lai neizmantotu publisko noklusējuma mērķi. | | `PROXY_HEALTH_TEST_CONCURRENCY` | `10` | `src/lib/proxyHealth/probeTarget.ts` | Vienlaikus katrā paketē sākto pārbaužu skaits, ko kopīgi izmanto plānotājs un galapunkts `/api/settings/proxies/auto-test`. Minimālā vērtība ir 1, bet maksimālā — 50. | | `PROXY_HEALTH_TEST_STAGGER_MS` | `100` | `src/lib/proxyHealth/probeTarget.ts` | Aizkave milisekundēs starp divu pārbaužu nosūtīšanu vienas paketes ietvaros. Bez tās visa pakete tiek nosūtīta vienlaikus, un koplietota izejošā IP adrese var aktivizēt mērķa pieprasījumu biežuma ierobežojumu. Iestatiet `0`, lai atspējotu intervālu; maksimālā vērtība ir 5000. | | `PROXY_HEALTH_USE_PROVIDER_TARGET` | `true` | `src/lib/proxyHealth/providerProbeTarget.ts` | Iestatiet `"false"`, lai pārtrauktu pārbaudīt starpniekserverim piešķirtā pakalpojumu sniedzēja faktisko resursdatoru (`GET /models`, bez API atslēgas) un tā vietā vienmēr izmantotu `PROXY_HEALTH_TEST_URL`. | | `PROXY_HEALTH_AUTO_DEACTIVATE` | `false` | `src/lib/proxyHealth/statusPolicy.ts` | Ja iestatīts `false` (noklusējums), automatizētās sasniedzamības pārbaudes (plānotājs un `/api/settings/proxies/auto-test` poga "Pārbaudīt visus") ir **tikai lasāmas** un nekad nemaina starpniekservera statusu — aktīvu/neaktīvu statusu iestata tikai operators, tāpēc nestabila pārbaude nevar atstāt piešķirtu starpniekserveri nepieejamu (#6246). Iestatiet `true`, lai atjaunotu iepriekšējo pārbaudes un statusa iestatīšanas darbību. | | `FLUSH_EMPTY_RETRY_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Izvēles funkcijas karogs (skatiet [FEATURE_FLAGS.md](./FEATURE_FLAGS.md); informācijas paneļa datubāzes pārrakstīšanai ir prioritāte). `true` (vai `1`, `yes`) atkārtoti mēģina apstrādāt tukšus tulkotas straumēšanas ciklus, izmantojot parasto akreditācijas datu ceļu (līdz `STREAM_RECOVERY.EMPTY_TURN_RETRY_MAX` atkārtotiem mēģinājumiem), nevis atgriež tukšu 200 atbildi vai 502 atbildi ar tukšu saturu. | | `PROXY_POOL_EGRESS_OBSERVATION` | `false` | `src/shared/utils/featureFlags.ts` | Izvēles funkcijas karogs (skatiet [FEATURE_FLAGS.md](./FEATURE_FLAGS.md); informācijas paneļa datubāzes pārrakstīšanai ir prioritāte). `true` (vai `1`, `yes`) informācijas panelī zem starpniekserveru pūla parāda tikai lasāmu pūla izejošās datplūsmas novērojumu (atšķirīgas izejošās IP adreses, savienojumus un pēdējo 24 stundu laikā visbiežāk aiz vienas IP adreses novēroto savienojumu skaitu no starpniekservera žurnāla). Tas nekad netiek izmantots maršrutēšanai. | | `PROXY_OPERATOR_EGRESS_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Izvēles funkcionalitātes karogs (skatiet [FEATURE_FLAGS.md](./FEATURE_FLAGS.md); vadības paneļa DB pārrakstīšana ir prioritāra). `true` (vai `1`, `yes`) pieņem operatora iesūtītas, datētas novēroto adrešu vērtības katram pūla dalībniekam un apvieno tās ar žurnāla nolasījumu attēlošanai un pūla secības noteikšanai. | | `PROXY_OPERATOR_EGRESS_WINDOW_HOURS` | `24` | `src/lib/db/proxyOperatorEgress.ts` | Novērojumu logs stundās operatora iesūtītajām izejošās datplūsmas rindām (tiek nolasīts katrā lasīšanas reizē; restartēšana nav nepieciešama). Ierobežots diapazonā `1..168`; ja vērtība ir ārpus diapazona, nav skaitliska vai ir tukša, tiek izmantota noklusējuma vērtība 24 ar vienu brīdinājumu visam procesam, nekad neizraisot izņēmumu. | | `PROXY_AUTO_REMOVE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Iestatiet `true`, lai plānotājs pēc atkārtotām secīgām kļūmēm automātiski noņemtu starpniekserverus. | | `PROXY_AUTO_REMOVE_AFTER` | `3` | `src/lib/proxyHealth/scheduler.ts` | Secīgo kļūmju skaits, pēc kura plānotājs automātiski noņem starpniekserveri (ja `PROXY_AUTO_REMOVE=true`). | | `PROXY_AUTO_DISABLE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Iestatiet `true`, lai plānotājs pēc atkārtotām secīgām kļūmēm starpniekserveri nevis noņemtu, bet programmiski atspējotu (statuss `dead`, nekad netiek dzēsts). Nesagraujoša `PROXY_AUTO_REMOVE` alternatīva: starpniekserveris tiek nekavējoties izslēgts no pūla/rotācijas atrisināšanas (aktīvā statusa filtrs, ko izmanto tvēruma pūla atrisināšana, to jau izslēdz) un tiek automātiski atkārtoti aktivizēts, tiklīdz tas atkal sekmīgi iztur pārbaudes. Izmanto kopīgu `PROXY_AUTO_REMOVE_AFTER` slieksni. Ja abi karogi ir `true`, prioritāte ir `PROXY_AUTO_REMOVE`. | | `PROXY_HEALTH_PASSIVE_SKIP` | `false` | `src/lib/proxyHealth/scheduler.ts` | Izvēles pasīvā izlaišana: ja vērtība ir `true`, plānotājs izlaiž galapunkta aktīvo pārbaudi, ja tā nesenā darba vides datplūsma jau apliecina tā darbspēju (vismaz viena sekmīga darbība un neviena starpniekserverim piedēvēta kļūme loga ietvaros, novērots tieši viens nodrošinātājs). Pēc noklusējuma izslēgts: tiek pārbaudīts katrs starpniekserveris. | | `PROXY_PASSIVE_WINDOW_MS` | `300000` | `src/lib/proxyHealth/passiveVerdict.ts` | Darba vides datplūsmas logs milisekundēs, ko izmanto pasīvā izlaišana (ierobežots diapazonā `60000..599999`). Īsāks par 10 minūšu pārbaudes cikla intervālu, lai nesena kļūme būtu noteicoša, nevis tiktu atšķaidīta. | | `OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Atļauj OAuth un nodrošinātāja validācijas plūsmām apiet piesaistīto starpniekserveri un izveidot tiešu savienojumu, ja starpniekservera sasniedzamības iepriekšējās pārbaudes neizdodas. Spēkā esošā prioritātes secība ir: funkcionalitātes karogu DB pārrakstīšana > vides mainīgais > noklusējuma vērtība. | | `RATE_LIMIT_MAX_WAIT_MS` | `30000` (30 s) | `src/lib/resilience/settings.ts` | Noklusējuma **gaidīšanas rindā** laika limits: cik ilgi pieprasījums drīkst gaidīt pakalpojuma sniedzēja vietu un atrasties rindā, pirms tas tiek noraidīts, tā arī nesasniedzot augšupējo pakalpojumu. Taimeris tiek notīrīts, tiklīdz sākas uzdevuma izpilde — izpildes laiku atsevišķi ierobežo `RATE_LIMIT_EXECUTION_MAX_WAIT_MS`. Vides mainīgais nosaka tikai noklusējuma vērtību: saglabātais `resilienceSettings.requestQueue.maxWaitMs` un pēc tam katram savienojumam iestatītais `rateLimitOverrides.maxWaitMs` ir prioritārāki par to. | | `RATE_LIMIT_EXECUTION_MAX_WAIT_MS` | `600000` (10 min) | `open-sse/services/rateLimitManager.ts` | Maksimālais laiks, cik ilgi pieņemts pieprasījums drīkst palikt izpildē, pirms beidzas tā ātruma ierobežojuma rezervācija — tas ir nodalīts no rindas gaidīšanas laika limita, lai lēna ielādes sākšana neinkrementālās vārtejās neizraisītu taimautu (#12027). | | `RATE_LIMIT_MAX_QUEUE_DEPTH` | `0` (atspējots) | `open-sse/services/rateLimitManager.ts` | Uzņemšanas rindā ierobežojums: noraidīt ar 429 `queue_full`, tiklīdz rindā jau atrodas tik daudz pieprasījumu. `0` = neierobežots (noklusējums). | | `RATE_LIMIT_AUTO_ENABLE` | _(nav iestatīts)_ | `open-sse/services/rateLimitManager.ts` | Piespiedu kārtā ieslēdziet vai izslēdziet ātruma ierobežojuma automātiskās iespējošanas drošības mehānismu neatkarīgi no saglabātā informācijas paneļa iestatījuma. Pieņem `true`/`1`/`on`, lai piespiedu kārtā ieslēgtu, un `false`/`0`/`off`, lai piespiedu kārtā izslēgtu. | | `PROVIDER_COOLDOWN_ENABLED` | _(nav iestatīts → izslēgts)_ | `open-sse/services/providerCooldownTracker.ts` | Pēc izvēles iespējojama globāla, vairākus pieprasījumus aptveroša pakalpojuma sniedzēja/savienojuma atdzišanas perioda izsekošana. Pēc noklusējuma IZSLĒGTA (pārklājas ar savienojuma atdzišanas periodu/pakalpojuma sniedzēja ķēdes pārtraucēju). Lai iespējotu, pieņem `true`/`1`/`on`. | | `PROVIDER_COOLDOWN_MIN_MS` | `5000` | `open-sse/services/providerCooldownTracker.ts` | Minimālais atdzišanas periods (ms), pirms neveiksmīgs pakalpojuma sniedzējs/savienojums tiek mēģināts atkārtoti. Tas eksponenciāli palielinās līdz ar secīgām kļūmēm. Tiek izmantots tikai tad, ja ir iespējots `PROVIDER_COOLDOWN_ENABLED`. | | `PROVIDER_COOLDOWN_MAX_MS` | `300000` (5 min) | `open-sse/services/providerCooldownTracker.ts` | Maksimālā atdzišanas perioda robeža (ms), pēc kuras neveiksmīgs pakalpojuma sniedzējs/savienojums jebkurā gadījumā tiek mēģināts atkārtoti. Tiek izmantota tikai tad, ja ir iespējots `PROVIDER_COOLDOWN_ENABLED`. | | `STREAM_RECOVERY_ENABLED` | _(nav iestatīts → izslēgts)_ | `src/lib/resilience/settings.ts` (sākotnējā vērtība) → `open-sse/services/streamRecovery.ts` (loģika) | **Kas tas ir:** pārtrauktu augšupējo straumju caurspīdīga atkopšana (free-claude-code ports). Aiztur sākotnējo SSE logu līdz `STREAM_RECOVERY.HOLDBACK_MS` (750 ms), lai _pirms apstiprināšanas_ noticis pārtraukums — proti, pirms jebkurš baits sasniedz klientu — tiktu nemanāmi atvērts no jauna un mēģināts atkārtoti. **Kad iespējot:** nestabiliem/augšupējiem pakalpojumiem, kas straumes sākumā bieži pārtrauc straumi pēc 0 baitiem; atstājiet IZSLĒGTU, ja katrai straumei nevarat atļauties līdz 750 ms ilgāku laiku līdz pirmajam marķierim. Pieņem `true`/`1`/`on`. Iestata saglabātā noturības iestatījuma sākotnējo vērtību; pēc informācijas paneļa iestatījuma norādīšanas tam ir prioritāte. | | `STREAM_RECOVERY_MIDSTREAM_ENABLED` | _(nav iestatīts → izslēgts)_ | `src/lib/resilience/settings.ts` (sākotnējā vērtība) → `open-sse/services/streamRecovery.ts` (loģika) | **Kas:** straumes turpināšana no pārtraukuma vietas (4.4. fāze) — pēc _pēc-apstiprināšanas_ pārtraukuma (baiti jau ir sasnieguši klientu) pieprasījums tiek veikts atkārtoti, izmantojot daļējo tekstu kā asistenta iepriekšējo aizpildījumu, un trūkstošā beigu daļa tiek pievienota klāt. Tikai vienkārša teksta OpenAI saderīgām straumēm; nekad netiek aktivizēts, kamēr notiek rīka izsaukums. **Kad iespējot:** gariem ģenerēšanas procesiem, kas tiek pārtraukti atbildes vidū, ja pieņemat, ka atgūtā beigu daļa pienāks vienā porcijā, nevis marķieri pa marķierim. Neatkarīgs no `STREAM_RECOVERY_ENABLED` (atšķirīgs riska profils). Pieņem `true`/`1`/`on`. | | `STREAM_THROUGHPUT_WATCHDOG_ENABLED` | _(nav iestatīts → izslēgts)_ | `src/lib/resilience/settings.ts` → `open-sse/services/throughputWatchdog.ts` | Pēc izvēles iespējojams aktīvas straumes lietderīgās izvades uzraugs. Nosaka straumes, kas turpina sūtīt fragmentus, bet nesasniedz konfigurēto asistenta izvades ātrumu; kontrolsignāli, lietojuma notikumi, tukšas izmaiņas un rīku/spriešanas fāzes netiek maldīgi uzskatītas par progresu. Darbojas atsevišķi no dīkstāves un stingrā galīgā termiņa noildzēm. | | `STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Labvēlības periods pirms caurlaidspējas novērtēšanas; diapazons ierobežots līdz 0–600000 ms. | | `STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Slīdošais lietderīgās izvades logs; diapazons ierobežots līdz 1000–600000 ms. Pirms pārtraukšanas jāpaiet vienam pilnam logam. | | `STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND` | `4` | `src/lib/resilience/settings/normalize.ts` | Minimālais UTF-8 asistenta izvades baitu ātrums (konservatīvs marķieru aizstājējrādītājs); diapazons ierobežots līdz 1–1000000. | | `STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES` | `1` | `src/lib/resilience/settings/normalize.ts` | Minimālais par izmērāmu uzskatītais lietderīgās izvades paraugs, kas nav nulle; diapazons ierobežots līdz 1–1000000 baitiem. | | `HEALTHCHECK_STAGGER_MS` | `3000` | `src/lib/tokenHealthCheck.ts` | Pakāpeniskas palaišanas intervāls (ms) starp pakalpojumu sniedzēju marķieru darbspējas pārbaudēm startēšanas laikā. | | `HEALTHCHECK_JITTER_MIN_MS` | `500` | `src/lib/tokenHealthCheck.ts` | Minimālā nejaušinātā laika nobīde (ms), kas starp pakalpojumu sniedzēju marķieru darbspējas pārbaudēm tiek pievienota `HEALTHCHECK_STAGGER_MS`, lai novērstu pieprasījumu uzplūdus (problēma #1220). | | `HEALTHCHECK_JITTER_MAX_MS` | `5000` | `src/lib/tokenHealthCheck.ts` | Maksimālā nejaušinātā laika nobīde (ms), kas starp pakalpojumu sniedzēju marķieru darbspējas pārbaudēm tiek pievienota `HEALTHCHECK_STAGGER_MS`, lai novērstu pieprasījumu uzplūdus (problēma #1220). | | `HEALTHCHECK_BATCH_SIZE` | `20` | `src/lib/tokenHealthCheck.ts` | Vienlaicīgo pārbaužu paketes lielums startēšanas marķieru darbspējas pārbaužu ciklam; lielākas vērtības paralēli pārbauda vairāk savienojumu, bet mazākas vērtības samazina pīķa slodzi (problēma #7875, problēmas #7719 regresija). | | `REQUEST_RETRY` | `2` | `src/sse/services/cooldownAwareRetry.ts` | Automātisko atkārtoto mēģinājumu skaits modeļa līmeņa nogaidīšanas atbildēm pirms kļūdas atgriešanas klientam. | | `MAX_RETRY_INTERVAL_SEC` | `30` | `src/sse/services/cooldownAwareRetry.ts` | Maksimālais atkāpšanās intervāls (sekundēs) starp atkārtotiem mēģinājumiem pēc nogaidīšanas perioda. Šī vērtība ir augšējā robeža neatkarīgi no augšupstraumes `Retry-After`. | | `HEADROOM_URL` | `http://localhost:8787` | `src/lib/headroom/detect.ts` | Headroom pilnvaru taupīšanas starpniekservera URL. Informācijas paneļa dzīves cikls (`api/headroom/*`) pēc noklusējuma palaiž lokālu `headroom-ai` CLI cilpas atgriezeniskajā saskarnē; mainiet tikai, lai norādītu uz ārēju Docker blakusprocesa starpniekserveri. | ### Straumes atkopšanas regulēšanas konstantes Atkopšanas aiztures darbība tiek regulēta ar kodā stingri definētām konstantēm `open-sse/config/constants.ts` (`STREAM_RECOVERY`), kas šeit parādītas atsaucei — lai tās mainītu, jārediģē kods, nevis vides mainīgais: - `STREAM_RECOVERY.HOLDBACK_MS = 750` — cik ilgi tiek aizturēts sākotnējais SSE logs, lai agrīnas pārraušanas gadījumā varētu veikt atkārtotu mēģinājumu, pirms klientam tiek nosūtīts kaut viens baits. - `STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536` — aizturētā loga stingrā augšējā robeža; apstiprināšana (bufera iztukšošana + tieša pārsūtīšana) notiek, tiklīdz ir uzkrājies šāds baitu skaits, neatkarīgi no taimera. - `STREAM_RECOVERY.EARLY_RETRY_MAX = 4` — maksimālais caurspīdīgo augšupstraumes straumes atkārtoto atvēršanu skaits, kamēr aizturētais saturs vēl nav apstiprināts. > **Slīdošā loga ātruma ierobežojums katram pakalpojumu sniedzējam (bez vides mainīgā):** no FCC pārnestā > slīdošā loga ātruma ierobežojuma _rezerves opcija_ katram pakalpojumu sniedzējam ir iekļauta kodā > (`open-sse/services/providerDefaultRateLimit.ts`, savienota, izmantojot > `open-sse/services/rateLimitManager.ts`), taču tiek piegādāta ar **tukšu noklusējuma kartējumu** > un pašlaik tai **nav operatora vides mainīgā** — tā tiek iespējota tikai ar testēšanas āķi / > koda izmaiņām. Tā ar nolūku nav iekļauta iepriekš redzamajā tabulā. Katram `(token, IP)` > pārraides ierobežotājam, kuram _ir_ regulējams parametrs, tiek izmantots `RELAY_IP_PER_MINUTE` (§3 Tīkls un porti). --- ## 22. Atkļūdošana > [!CAUTION] > Šie mainīgie rada **detalizētu izvadi** un var atklāt sensitīvus datus. **Nekad neieslēdziet tos produkcijas vidē.** | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CURSOR_DEBUG` | _(nav iestatīts)_ | `open-sse/executors/cursor.ts` | Iestatiet `1`, lai iespējotu detalizētus Cursor izpildītāja žurnālus (atkodētus SSE fragmentus u.c.). | | `CURSOR_STREAM_DEBUG` | _(nav iestatīts)_ | `open-sse/executors/cursor.ts` | Atpakaļsaderīgs `CURSOR_DEBUG` aizstājvārds. | | `CURSOR_DUMP_FILE` | _(nav iestatīts)_ | `open-sse/executors/cursor.ts` | Neobligāts faila ceļš, kurā tiek ierakstīti neapstrādāti atkodētie Cursor fragmenti, ja `CURSOR_DEBUG=1`. | | `CURSOR_STREAM_TIMEOUT_MS` | `300000` | `open-sse/executors/cursor.ts` | Cursor izpildītāja straumes dīkstāves taimauts (ms). | | `CURSOR_KV_GRACE_MS` | `2000` | `open-sse/executors/cursor.ts` | Pagarinājuma periods (ms) pēc composer kv_after_text nedeterminējošā terminatora, ja buferī vēl ir baiti — ļauj noslēdzošajam exec_mcp rīka izsaukumam pabeigt savu kadru. | | `CURSOR_TOOL_DIRECTIVE` | iespējots (`!== "0"`) | `open-sse/executors/cursor.ts` | Rīka apstiprināšanas direktīva, kas liek composer-2.5 uzticami veikt rīku izsaukumus. Iestatiet `0`, lai atspējotu. | | `OMNIROUTE_SYSTEM_INSTRUCTION_APPEND` | _(nav iestatīts)_ | `open-sse/translator/request/claude-to-openai.ts`, `open-sse/translator/response/openai-to-claude.ts` | Operatora definēts sistēmas uzvednes teksts, kas tiek pievienots sistēmas ziņojumam PĒC tulkošanas (injekcija pēc tulkošanas), sasniedzot codex/Responses un `/v1/messages` ceļus. Tiek izmantots arī kā direktīvas prefikss, ko noņem no atkārtoti izvadītiem sistēmas preambulas blokiem. Lai atspējotu, atstājiet neiestatītu. | | `OMNIROUTE_STRIP_SYSTEM_PREAMBLE` | `0` (izslēgts) | `open-sse/translator/response/openai-to-claude.ts`, `open-sse/utils/directivePreambleStripper.ts` | Iestatiet `1`, lai no openai→claude straumes sākuma noņemtu atkārtoti izvadītos sistēmas uzvednes preambulas blokus. Pēc noklusējuma izslēgts — heiristikas ir pielāgotas angļu prozai un maina atbildes lietderīgo slodzi, tādēļ atbilde, kas pamatoti sākas ar šādu sadaļu, to zaudētu. | | `CURSOR_IMAGE_FETCH_TIMEOUT_MS` | `15000` | `open-sse/utils/cursorImages.ts` | Katra attēla ielādes taimauts (ms) attālai `image_url` vizuālajai ievadei. | | `CURSOR_STATE_DB_PATH` | _(tiek noteikts)_ | `open-sse/utils/cursorVersionDetector.ts` | Pārraksta Cursor IDE stāvokļa datubāzes uzmeklēšanu, ko izmanto IDE versijas noteikšanai. | | `CURSOR_AGENT_CLI_VERSION` | _(noteikt / fiksēt)_ | `open-sse/utils/cursorAgentCliVersion.ts` | Agent CLI būvējuma ID (`YYYY.MM.DD-`) galvenei `x-cursor-client-version: cli-…` Agent Run režīmā. | | `CURSOR_AGENT_BIN` | _(nav iestatīts)_ | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Ceļš uz Cursor Agent bināro failu, ko izmanto attēlu ģenerēšanai. Ja nav iestatīts, apdarinātājs izmanto `providerSpecificData.agentBin` un pēc tam PATH. | | `CURSOR_IMG_TIMEOUT_MS` | `210000` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Katra attēla kopējais izpildes laika ierobežojums (ms) Cursor Agent attēlu uzdevumiem. | | `CURSOR_IMG_MAX_CONCURRENT` | `2` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Koplietojamās licences paralēluma ierobežojums Cursor attēlu uzdevumiem. | | `CURSOR_IMG_MODEL` | pieprasījums / `auto` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Pārraksta Cursor CLI `--model` attēlu uzdevumiem. | | `UC_IMAGE_POLL_INTERVAL_MS` | `2000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC (uncensored.com) attēlu ģenerēšanas rezultātu aptaujas intervāls (ms). | | `UC_IMAGE_POLL_TIMEOUT_MS` | `60000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC attēlu ģenerēšanas rezultātu aptaujas kopējais laika ierobežojums (ms). | | `UC_VIDEO_POLL_INTERVAL_MS` | `3000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC (uncensored.com) video ģenerēšanas rezultātu aptaujas intervāls (ms). | | `UC_VIDEO_POLL_TIMEOUT_MS` | `300000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC video ģenerēšanas rezultātu aptaujas kopējais laika ierobežojums (ms). | | `CURSOR_DATA_DIR` | _(tiek noteikts)_ | `open-sse/utils/cursorAgentCliVersion.ts` | Pārraksta Cursor Agent CLI datu direktoriju (`…/versions/`); tas ir tas pats mainīgais, ko izmanto oficiālais aģents. | | `CURSOR_TOKEN` | _(nav iestatīts)_ | `scripts/ad-hoc/cursor-tap.cjs` | Tiešs Cursor nesēja marķieris, ko izmanto izstrādātāju rīki. | | `OMNIROUTE_LOG_REQUEST_SHAPE` | atspējots (ieslēdzams ar `"1"`) | `src/app/api/v1/chat/completions/route.ts` | Reģistrē satura tipa/garuma marķierus lielām tērzēšanas lietderīgajām slodzēm, ja ir iestatīts `"1"`. Pēc noklusējuma izslēgts, lai samazinātu žurnālu troksni. | | `DEBUG_RESPONSES_SSE_TO_JSON` | _(nav iestatīts)_ | `open-sse/handlers/responseTranslator.ts` | Iestatiet `true`, lai žurnālā ierakstītu Responses API SSE→JSON tulkošanas informāciju. | | `DEBUG_CLAUDE_NONSTREAM` | _(nav iestatīts)_ | `open-sse/handlers/responseTranslator.ts` | Iestatiet `true`, lai Claude atbildes tulkošanas ceļā parādītu tukšus textContent fragmentus (tikai atkļūdošanai). | | `NEXT_PUBLIC_OMNIROUTE_E2E_MODE` | _(nav iestatīts)_ | E2E testu ietvars | Iestatiet `true`, lai iespējotu E2E testa režīmu (atvieglota autentifikācija, testa āķi). | --- ## 23. GitHub integrācija Ļaujiet lietotājiem ziņot par problēmām tieši no informācijas paneļa. | Mainīgais | Noklusējums | Avota fails | Apraksts | | --------------------- | ----------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `GITHUB_ISSUES_REPO` | _(nav iestatīts)_ | `src/app/api/v1/issues/report/route.ts` | Repozitorijs formātā `owner/repo`. | | `GITHUB_ISSUES_TOKEN` | _(nav iestatīts)_ | `src/app/api/v1/issues/report/route.ts` | GitHub personiskās piekļuves pilnvara ar tvērumu `issues:write`. | | `GITHUB_TOKEN` | _(nav iestatīts)_ | problēmu izvērtēšanas / mākoņa aģenta palīgkomponenti | Vispārīga GitHub piekļuves pilnvara, kas tiek izmantota kā `GITHUB_ISSUES_TOKEN` rezerves variants un ko izmanto mākoņa aģenta palīgkomponenti ceļā `src/lib/cloudAgent/*`. | --- ## Izvietošanas scenāriji Norādījumus releja aizmugursistēmas SRE vajadzībām (ts/bifrost/auto darbība, 9router un CLIProxyAPI izvietojums, kā arī augstas caurlaidspējas atkāpšanās stratēģija) skatiet sadaļā [Releja aizmugursistēmas stratēģija](/docs/reference/RELAY_BACKEND_STRATEGY.md). ### Minimāla lokālā izstrādes vide ```bash JWT_SECRET=$(openssl rand -base64 48) API_KEY_SECRET=$(openssl rand -hex 32) INITIAL_PASSWORD=dev123 PORT=20128 NODE_ENV=development ``` ### Docker produkcijas vide ```bash JWT_SECRET=<ģenerēts> API_KEY_SECRET=<ģenerēts> INITIAL_PASSWORD=<ģenerēts> STORAGE_ENCRYPTION_KEY=<ģenerēts> 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 ``` ### No tīkla izolēta vide / CI ```bash JWT_SECRET=test-jwt-secret-for-ci API_KEY_SECRET=test-api-key-secret-for-ci INITIAL_PASSWORD=testpass NODE_ENV=production OMNIROUTE_DISABLE_BACKGROUND_SERVICES=true APP_LOG_TO_FILE=false ``` ### VPS ar reverso starpniekserveri (nginx + Cloudflare) ```bash JWT_SECRET=<ģenerēts> API_KEY_SECRET=<ģenerēts> STORAGE_ENCRYPTION_KEY=<ģenerēts> 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. Prasmju smilškaste (v3.8.0+) Ierobežojumi un drošības iestatījumi, kas tiek piemēroti, kad prasmju ietvars (`src/lib/skills/`) izpilda lietotāja definētas automatizācijas smilškastes vidē. | Mainīgais | Noklusējums | Avota fails | Apraksts | | --------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `SKILLS_SANDBOX_TIMEOUT_MS` | `10000` (10 s) | `src/lib/skills/builtins.ts` | Smilškastē izpildīta prasmes koda katras izpildes kopējā ilguma noildze. Stingrs ierobežojums; viss, kas darbojas ilgāk, tiek pārtraukts. | | `SKILLS_EXECUTION_TIMEOUT_MS` | _(izmanto `SKILLS_SANDBOX_TIMEOUT_MS`, ja nav iestatīts)_ | `src/lib/skills/` | Augsta līmeņa prasmju orķestrēšanas noildze. Iestatiet lielāku vērtību nekā `SKILLS_SANDBOX_TIMEOUT_MS`, lai atļautu daudzpakāpju darbplūsmas. | | `SKILLS_MAX_FILE_BYTES` | `1048576` (1 MB) | `src/lib/skills/builtins.ts` | Maksimālais baitu skaits, ko prasme drīkst nolasīt no viena smilškastes faila. | | `SKILLS_MAX_HTTP_RESPONSE_BYTES` | `256000` (250 KB) | `src/lib/skills/builtins.ts` | Maksimālais baitu skaits, ko drīkst tvert no vienas HTTP atbildes prasmes ietvaros. | | `SKILLS_MAX_SANDBOX_OUTPUT_CHARS` | `100000` | `src/lib/skills/builtins.ts` | Stingrs ierobežojums stdout/stderr rakstzīmju skaitam, ko atgriež smilškastes izsaukums. | | `SKILLS_SANDBOX_NETWORK_ENABLED` | `false` | `src/lib/skills/builtins.ts` | Iestatiet `1`/`true`, lai atļautu izejošo tīkla savienojumu no smilškastes. Drošības nolūkos pēc noklusējuma tā ir **izolēta**. | | `SKILLS_ALLOWED_SANDBOX_IMAGES` | _(tukšs)_ | `src/lib/skills/builtins.ts` | Ar komatiem atdalīts smilškastes izpildei atļauto konteineru attēlu saraksts. Tukša vērtība nozīmē, ka atļauts tikai iebūvētais noklusējuma attēls. | | `SKILLS_SANDBOX_DOCKER_IMAGE` | _(iebūvētais noklusējums)_ | `src/lib/skills/` | Konteinera attēls, kas tiek izmantots, palaižot Docker nodrošinātu smilškasti. Pārrakstiet, lai fiksētu pielāgotu, pastiprināti aizsargātu bāzes attēlu. | | `SKILLS_SANDBOX_RUNTIME` | `auto` | `src/lib/skills/sandbox.ts`, `src/lib/skills/containerProvider.ts` | Konteineru izpildlaika vide prasmju izolēšanai smilškastē: `auto` \| `docker` \| `apple` \| `wsl` \| `orbstack` \| `podman`. `auto` izvēlas labāko instalēto izpildlaika vidi atbilstoši resursdatora operētājsistēmai (Apple Container/OrbStack operētājsistēmā macOS, WSL Container operētājsistēmā Windows, Podman operētājsistēmā Linux), kā rezerves variantu izmantojot Docker. | > [!CAUTION] > Iespējojot `SKILLS_SANDBOX_NETWORK_ENABLED=true`, patvaļīgam prasmes kodam tiek atvērts izejošās datplūsmas ceļš. Koplietojamos izvietojumos izmantojiet to kopā ar `OUTBOUND_SSRF_GUARD_ENABLED=true` un stingru `CORS_ORIGIN`/starpniekservera politiku. --- ## 25. Pakalpojumu sniedzēju kvotas, tuneļi, dublējumkopijas un dažādi izpildlaika iestatījumi Pakalpojumu sniedzēju kvotu galapunkti, tīkla tuneļi (Tailscale, Ngrok, MITM atkļūdošanas starpniekserveris), 1Proxy izejošās datplūsmas pūls, datubāzu dublējumkopijas un nelieli atsevišķu funkciju pārrakstījumi, uz kuriem atsaucas izpildītāja slānis vai skripti. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ---------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REDIS_URL` | `redis://localhost:6379` | `src/shared/utils/rateLimiter.ts` | Redis savienojuma virkne ātruma ierobežotāja aizmugursistēmai. | | `ALIBABA_CODING_PLAN_HOST` | _(produkcijas resursdators)_ | `open-sse/services/bailianQuotaFetcher.ts` | Aizstāj resursdatoru, kas tiek izmantots Alibaba Bailian coding-plan kvotu izgūšanai. | | `ALIBABA_CODING_PLAN_QUOTA_URL` | atvasināts no resursdatora | `open-sse/services/bailianQuotaFetcher.ts` | Pilnas Alibaba Bailian kvotas URL adreses aizstāšana. | | `QWEN_CLOUD_COOKIE` | _(nav iestatīts)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Konsoles sesijas sīkfails Qwen Cloud / Model Studio personīgā Token Plan kvotu vārtejai (izsecināšanas API atslēga nevar tai piekļūt). Nokopējiet visu `Cookie` pieprasījuma galveni — tā satur `login_qwencloud_ticket` — no jebkura `api.json` izsaukuma uz `cs-data.qwencloud.com` vietnē home.qwencloud.com › Billing › Subscription (F12 › Network). Sensitīvs un piesaistīts sesijai; ieteicams izmantot katram savienojumam paredzēto informācijas paneļa lauku `qwenCloudCookie`. | | `QWEN_CLOUD_SEC_TOKEN` | _(nav iestatīts)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Manuāla `sec_token` aizstāšana Token Plan konsoles vārtejai. Sensitīvs; ja nav iestatīts, izgūšanas komponents to nosaka no informācijas paneļa HTML, izmantojot sīkfailu. | | `QWEN_TOKEN_PLAN_HOST` | `https://cs-data.qwencloud.com` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Vārtejas resursdatora aizstāšana personīgā Token Plan kvotu izgūšanas komponentam (piem., `bailian-singapore-cs.alibabacloud.com` Model Studio konsolei). | | `QWEN_TOKEN_PLAN_DASHBOARD_URL` | `https://home.qwencloud.com/` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Informācijas paneļa URL, ko izmanto, lai noteiktu `sec_token` no HTML, kurā lietotājs ir pieteicies. | | `XIAOMI_MIMO_CONSOLE_COOKIE` | _(nav iestatīts)_ | `open-sse/services/usage/xiaomi-mimo.ts` | Konsoles sesijas sīkfails Xiaomi MiMo Token Plan kvotu API (`platform.xiaomimimo.com/api/v1/tokenPlan/usage` + `tokenPlan/detail` — izsecināšanas API atslēga nevar tai piekļūt). Nokopējiet visu `Cookie` pieprasījuma galveni — tā satur `api-platform_serviceToken` un `userId` — no jebkura pieprasījuma uz `platform.xiaomimimo.com` Token Plan lapā (F12 › Network). Sensitīvs un piesaistīts sesijai; ieteicams izmantot katram savienojumam paredzēto informācijas paneļa lauku `xiaomiMimoConsoleCookie`. | | `XIAOMI_MIMO_MONTHLY_TOKEN_LIMIT` | `4100000000` | `open-sse/services/usage/xiaomi-mimo.ts` | Mēneša budžets (kredītos) OmniRoute uzskaitītajam Xiaomi MiMo rezerves risinājumam, kas tiek izmantots, ja nav konfigurēts konsoles sīkfails. Noklusējuma vērtība atbilst Lite līmeņa 4,1 miljardam; iestatiet to atbilstoši plāna kredītu skaitam (Standard 11 miljardi / Pro 38 miljardi / Max 82 miljardi). Katra savienojuma `providerSpecificData.monthlyTokenLimit` pārrakstīšanas vērtībai ir augstāka prioritāte nekā šim vides mainīgajam. | | `ALIBABA_FREE_TIER_VISION_FE_PATH` | `/costing-balance/free-quota-image-video` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsoles priekšgala ceļa pārrakstīšanas vērtība Alibaba Model Studio bezmaksas līmeņa redzes/multivides kvotas izgūšanai. | | `ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH` | `/costing-balance/free-quota-multimodal` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsoles priekšgala ceļa pārrakstīšanas vērtība Alibaba Model Studio bezmaksas līmeņa multimodālās kvotas izgūšanai. | | `ALIBABA_FREE_TIER_AUDIO_FE_PATH` | `/costing-balance/free-quota-audio` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsoles priekšgala ceļa pārrakstīšanas vērtība Alibaba Model Studio bezmaksas līmeņa audio kvotas izgūšanai. | | `ALIBABA_FREE_TIER_ALLOWLIST_PATH` | _(nav iestatīts)_ | `open-sse/services/alibabaFreeTierAllowlist.ts` | Neobligāts ceļš uz lokālu JSON pārrakstīšanas failu iebūvētajam Alibaba bezmaksas līmeņa teksta modeļu atļauto modeļu sarakstam. Ja tas nav pieejams, vispirms tiek izmantots `$DATA_DIR/alibaba-free-tier-allowlist.json`, pēc tam `config/alibaba-free-tier-allowlist.json`. | | `CONTEXT_RESERVE_TOKENS` | `1024` | `open-sse/services/contextManager.ts` | Pabeigšanas izvadei rezervētie tokeni, aprēķinot uzvednes budžetus. | | `CONTEXT_KEEP_LATEST_IMAGES` | `2` | `open-sse/services/contextManager.ts` | Jaunāko iekļauto attēlu skaits, kas jāsaglabā, noņemot vecākus attēlus, lai iekļautos konteksta logā (#8560). | | `MODEL_ALIAS_COMPAT_ENABLED` | iespējots | `open-sse/services/model.ts` | Ieslēdz vai izslēdz mantoto modeļu aizstājvārdu saderības slāni, ko izmanto vecāki klienti. | | `OMNIROUTE_EMERGENCY_FALLBACK` | iespējots | `open-sse/services/emergencyFallback.ts` | Iestatiet `false` (vai `0`), lai atspējotu ārkārtas rezerves risinājumu budžeta izsmelšanas gadījumiem, kas neveiksmīgos pieprasījumus novirza uz bezmaksas modeli `nvidia`/`openai/gpt-oss-120b`. Faktiskā prioritāte ir šāda: funkciju karogu datubāzes pārrakstīšanas vērtība > vides mainīgais > noklusējuma vērtība; ja tā nav pieejama, pakalpojums izmanto neapstrādāto vides mainīgā vērtību. | | `COMMAND_CODE_CALLBACK_PORT` | _(nav iestatīts)_ | `src/app/api/providers/command-code/auth/shared.ts` | Lokālais ports, ko izmanto OAuth tipa atzvaniem no Command Code CLI palīgrīka. | | `COMMAND_CODE_VERSION` | `0.33.2` | `open-sse/executors/commandCode.ts` | Vērtība, kas tiek nosūtīta Command Code augšupējam servisam kā `x-command-code-version` galvene. Pārrakstiet, lai mainītu CLI versiju. | | `COMMANDCODE_API_URL` | `https://api.commandcode.ai` | `open-sse/services/usage/command-code.ts` | Command Code lietojuma/kvotas augšupējā servisa bāzes URL, ko izmanto viedtālruņa kvotas iegūšanas telemetrija. Pārrakstiet, lai izmantotu pašmitinātu/alternatīvu Command Code API. | | `MITM_LOCAL_PORT` | `443` | `src/mitm/server.cjs` | MITM atkļūdošanas starpniekservera lokālās piesaistes ports. | | `MITM_DISABLE_TLS_VERIFY` | `0` | `src/mitm/server.cjs` | Iestatiet uz `1`, lai atspējotu augšupējā savienojuma TLS verifikāciju (tikai izstrādei). | | `MITM_IDLE_TIMEOUT_MS` | `60000` | `src/mitm/socketTimeouts.ts`, `src/mitm/server.cjs` | Starpniekotiem savienojumiem paredzētais neaktīvas ligzdas taimauts (ms); neaktīvās ligzdas, kas pārsniedz šo laiku, tiek slēgtas, lai novērstu daļēji atvērtu tuneļu noplūdi. | | `BRIDGE_PORT` | `20129` | `bin/antigravity-bridge.mjs` | Ports, kurā Antigravity MITM tilts klausās savienojumus. | | `ROUTER_URL` | `http://127.0.0.1:20128/v1/antigravity` | `bin/antigravity-bridge.mjs` | Maršrutētāja galapunkts, uz kuru tilts pārsūta Antigravity datplūsmu. | | `CERT_DIR` | `/mitm` | `bin/antigravity-bridge.mjs` | Pārraksta direktoriju, no kuras tilts nolasa TLS materiālus. Sertifikāta modelis tiek izvēlēts tāpat kā AgentBridge serverī: `server.crt`/`server.key` mantotai gala sertifikāta instalācijai, pretējā gadījumā `ca.crt`/`ca.key` (saknes CA, atsevišķs gala sertifikāts katram pārtvertajam resursdatoram; piespiedu kārtā iespējojams ar `MITM_ROOT_CA_ENABLED=true`). Ja aktīvā modeļa faili nav pieejami, tilts startēšanas laikā beidz darbu. | | `MITM_VERBOSE` | `1` | `src/mitm/server.cjs`, `src/mitm/_internal/bypass.cjs` | Maršrutēšanas lēmumu žurnālu detalizācijas līmenis: `0` izslēdz žurnālus, bet lielākas vērtības reģistrē vairāk apiešanas/maršrutēšanas lēmumu. | | `MITM_ROOT_CA_ENABLED` | `false` | `src/mitm/manager.ts` | Iestatiet uz `true`, lai izvēlētos saknes CA un katram resursdatoram atsevišķa gala sertifikāta modeli (#6684). Jaunās instalācijas to saņem automātiski; instalācijas ar iepriekš uzticamu mantoto gala sertifikātu saglabā mantoto fiksēto SAN sertifikātu, ja vien šī opcija netiek iespējota. | | `MITM_CERT_MODE` | `legacy` | `src/mitm/manager.ts`, `src/mitm/server.cjs` | MITM pārvaldnieks to iestata palaistajam starpniekservera procesam (`root-ca` \| `legacy`) — vērtība atspoguļo sertifikātu migrācijas lēmumu un nav paredzēta manuālai iestatīšanai. | | `OMNIROUTE_NO_SUDO` | `0` | `src/mitm/systemCommands.ts` | Iestatiet uz `1` (patiess), lai no MITM sertifikātu uzticamības komandām noņemtu sākumā esošo `sudo` — izvietojumiem bez root piekļuves / ar lietotāju nosaukumvietām, kuros operators manuāli uzticas CA (piem., izmantojot Node papildu CA sertifikātu mehānismu). | | `SKIP_ANTIGRAVITY_DNS` | _(nav iestatīts)_ | `src/mitm/dns/provision.ts` | Iestatiet uz `true`, lai pilnībā izlaistu `/etc/hosts` DNS ierakstu nodrošināšanu Antigravity starpniekservera resursdatoru nosaukumiem — konteineriem, kuros nav pieejams sudo/root. | | `OMNIROUTE_SKIP_DNS_WRITE` | _(nav iestatīts)_ | `src/mitm/dns/dnsConfig.ts` | Iestatiet uz `1`, lai, pievienojot vai noņemot DNS ierakstus, izlaistu rakstīšanu resursdatoru failā — smilškastes vai tikai lasāmas piekļuves testa vidēm. | | `OMNIROUTE_SKIP_SYSTEM_TRUST` | `0` | `src/mitm/cert/install.ts`, `src/mitm/tproxy/caTrust.ts` | Tikai testiem/CI paredzēts drošības ierobežojums: iestatiet uz `1`, lai sertifikātu uzticamības instalēšana/atinstalēšana neveiktu nekādas darbības un testu komplekts nekad nemainītu OS uzticamības krātuvi. To automātiski iestata testu konfigurācija un CI darbplūsmas. | | `CHANGELOG_BASE_REF` | _(automātiski)_ | `scripts/check/check-changelog-integrity.mjs` | Tieša bāzes atsauces norāde aizsardzībai pret CHANGELOG satura zaudēšanu (pēc noklusējuma CI vidē tiek izmantots PR bāzes zars vai augstākais `release/v*`). | | `FREE_PROXY_AUTO_SYNC_ENABLED` | `false` | `src/lib/freeProxyProviders/scheduler.ts` | Iestatiet uz `true`, lai iespējotu bezmaksas starpniekserveru pūla automātiskās sinhronizācijas plānotāju fonā. Jāiespējo pēc izvēles; pēc noklusējuma tas ir izslēgts. | | `FREE_PROXY_AUTO_SYNC_INTERVAL_MS` | `1800000` | `src/lib/freeProxyProviders/scheduler.ts` | Automātiskās sinhronizācijas intervāls milisekundēs (pēc noklusējuma — 30 min). | | `FREE_PROXY_1PROXY_ENABLED` | `true` | `src/lib/freeProxyProviders/oneproxy.ts` | Iespējojiet 1proxy bezmaksas starpniekserveru avotu. Iestatiet uz `false`, lai to atspējotu. | | `FREE_PROXY_1PROXY_API_URL` | _(skatiet oneproxy.ts)_ | `src/lib/freeProxyProviders/oneproxy.ts` | 1proxy API URL pārrakstīšana. | | `FREE_PROXY_1PROXY_MAX` | `500` | `src/lib/freeProxyProviders/oneproxy.ts` | Maksimālais vienā sinhronizācijas reizē no 1proxy izgūstamo starpniekserveru skaits. | | `FREE_PROXY_1PROXY_MIN_QUALITY` | `50` | `src/lib/freeProxyProviders/oneproxy.ts` | Minimālais kvalitātes vērtējuma slieksnis 1proxy importēšanai. | | `FREE_PROXY_PROXIFLY_ENABLED` | `true` | `src/lib/freeProxyProviders/proxifly.ts` | Iespējot Proxifly bezmaksas starpniekserveru avotu. Iestatiet uz `false`, lai atspējotu. | | `FREE_PROXY_PROXIFLY_QUANTITY` | `100` | `src/lib/freeProxyProviders/proxifly.ts` | Katrā Proxifly sinhronizācijas reizē iegūstamo starpniekserveru skaits. | | `FREE_PROXY_PROXIFLY_ANONYMITY` | `elite` | `src/lib/freeProxyProviders/proxifly.ts` | Proxifly anonimitātes līmeņa filtrs (`elite`, `anonymous`, `transparent`). | | `FREE_PROXY_IPLOCATE_ENABLED` | `false` | `src/lib/freeProxyProviders/iplocate.ts` | Iespējot IPLocate bezmaksas starpniekserveru avotu. Tikai ar apzinātu pieteikšanos. | | `FREE_PROXY_IPLOCATE_BASE_URL` | `https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols` | `src/lib/freeProxyProviders/iplocate.ts` | IPLocate starpniekserveru saraksta bāzes URL pārrakstīšana. | | `FREE_PROXY_WEBSHARE_ENABLED` | `true` | `src/lib/freeProxyProviders/webshare.ts` | Iespējot Webshare starpniekserveru pūla avotu. Iestatiet uz `false`, lai atspējotu; nepieciešams arī iestatīt `FREE_PROXY_WEBSHARE_API_KEY`. | | `FREE_PROXY_WEBSHARE_API_KEY` | _(nav)_ | `src/lib/freeProxyProviders/webshare.ts` | Webshare konta API pilnvara (`Authorization: Token `). Obligāta — bez tās nodrošinātājs paliek atspējots. | | `FREE_PROXY_WEBSHARE_API_URL` | `https://proxy.webshare.io/api/v2/proxy/list/` | `src/lib/freeProxyProviders/webshare.ts` | Webshare starpniekserveru saraksta API URL pārrakstīšana. | | `FREE_PROXY_WEBSHARE_MAX` | `500` | `src/lib/freeProxyProviders/webshare.ts` | Maksimālais vienā Webshare sinhronizācijas reizē importējamo starpniekserveru skaits. | | `NEXT_PUBLIC_VERCEL_RELAY_ENABLED` | `true` | `src/app/(dashboard)/…/ProxyPoolTab.tsx` | Rādīt/paslēpt pogu Deploy Vercel Relay cilnē Proxy Pool. | | `VERCEL_API_BASE` | `https://api.vercel.com` | `src/app/api/settings/proxy/vercel-deploy/route.ts` | Vercel API bāzes URL pārrakstīšana (testēšanai). | | `NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/…/VercelRelayModal.tsx` | Noklusējuma projekta nosaukums, kas iepriekš aizpildīts Vercel Relay izvietošanas modālajā logā. | | `TAILSCALE_BIN` | _(automātiski noteikts)_ | `src/lib/tailscaleTunnel.ts` | Precīzs ceļš uz `tailscale` bināro failu. | | `TAILSCALED_BIN` | _(automātiski noteikts)_ | `src/lib/tailscaleTunnel.ts` | Precīzs ceļš uz `tailscaled` dēmona bināro failu. | | `TAILSCALE_AUTHKEY` | _(nav iestatīts)_ | `src/lib/tailscaleTunnel.ts` | Iepriekš koplietota Tailscale autentifikācijas atslēga neinteraktīvai / bezgalvas režīma `tailscale up` izpildei (nodota, izmantojot `--auth-key=`). Ja tā nav iestatīta, pieteikšanās izmanto interaktīvo pārlūkprogrammas autentifikācijas URL. | | `NGROK_AUTHTOKEN` | _(nav iestatīts)_ | `src/lib/ngrokTunnel.ts` | Autentificē izejošos ngrok tuneļus. | | `DB_BACKUP_MAX_FILES` | `20` | `src/lib/db/backup.ts` | Maksimālais SQLite dublējuma failu skaits, ko saglabā manuālās/plānotās dublējumu tīrīšanas laikā. Migrācijas momentuzņēmumiem tiek piešķirtas adreses pēc satura, un identiska DB stāvokļa gadījumā tie tiek izmantoti atkārtoti; vienlaicīgās migrācijas periodā tie netiek dzēsti. Pārraksta sadaļā Iestatījumi → Datu bāzes dublējumu saglabāšana saglabāto vērtību. | | `DB_BACKUP_RETENTION_DAYS` | `0` | `src/lib/db/backup.ts` | Maksimālais vecums (dienās), līdz kuram faili tiek saglabāti manuālās/plānotās dublējumu tīrīšanas laikā. `0` atspējo dzēšanu pēc vecuma. Vienlaicīgās migrācijas periodā migrācijas momentuzņēmumi netiek dzēsti. Pārraksta sadaļā Iestatījumi → Datu bāzes dublējumu saglabāšana saglabāto vērtību. | | `OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS` | `30000` | `src/lib/jobs/backupScheduleJob.ts` | Servera puses uzdevuma, kas izpilda `backup-schedule.json`, cikla intervāls (ms). Tam jābūt ievērojami īsākam par cron 1 minūtes granularitāti; vērtībām zem `5000` vai neparsējamām vērtībām tiek izmantota atkāpšanās vērtība `30000`. | | `CONTAINER_HOST` | `docker` | `scripts/check-permissions.sh` | Konteinera izpildvides norāde ieejas punkta atļauju pārbaudei. Iestatiet uz `podman` jebkurai Podman topoloģijai. Tā kā konteiners nevar noteikt, vai dzinis ir lokāls vai tam piekļūst, izmantojot Podman Machine, brīdinājums paliek topoloģiski neitrāls un norāda uz `contrib/podman/README.md`. | | `QUOTA_STORE_DRIVER` | `sqlite` | `src/lib/quota/storeFactory.ts` | Kvotas daļas patēriņa krātuves aizmugursistēma: `sqlite` (noklusējums) vai `redis`. | | `QUOTA_STORE_REDIS_URL` | _(nav iestatīts)_ | `src/lib/quota/storeFactory.ts` | Redis savienojuma virkne, kas tiek izmantota, ja `QUOTA_STORE_DRIVER=redis` (piem., `redis://localhost:6379`). | | `QUOTA_SATURATION_THRESHOLD` | `0.5` | `src/lib/quota/enforce.ts` | Kopas piesātinājuma attiecība (0..1); sasniedzot vai pārsniedzot to, kopa pāriet stingrajā režīmā (bez aizņemšanās). | | `QUOTA_SOFT_DEPRIORITIZE_FACTOR` | `0.7` | `open-sse/services/combo.ts` | Vērtējuma reizinātājs (0..1), kas tiek piemērots mērķim, kad elastīgā kvotu politika samazina tā prioritāti. | | `STATUS_SOFT_DEPRIORITIZE_FACTOR` | `0.5` | `open-sse/services/combo/autoStrategy.ts` | Vērtējuma reizinātājs (0..1), kas automātiskās kombinācijas vērtēšanā tiek piemērots pakalpojumu sniedzējam ar izsmeltiem resursiem (`credits_exhausted`/`rate_limited`), kad priekšpārbaudes kvotas robežvērtība ir IZSLĒGTA (#4540). | | `QUOTA_CONSUMPTION_RETENTION_DAYS` | `14` | `src/lib/db/quotaConsumption.ts` | `quota_consumption` segmentu glabāšanas periods (dienās) pirms atkritumu savākšanas (`gcQuotaConsumption`). | | `QUOTA_PREFLIGHT_CUTOFF_ENABLED` | `false` | `src/lib/resilience/settings.ts` | Izvēles iestatījums (pēc noklusējuma IZSLĒGTS): iespējo automātiskās maršrutēšanas stingro kvotas robežvērtību, kas pirms vērtēšanas izslēdz kandidātus ar mazu kvotu. | | `OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL` | `false` | `open-sse/services/autoCombo/virtualFactory.ts` | Izvēles iestatījums (pēc noklusējuma IZSLĒGTS): ja `auto/:` filtram neatbilst neviens savienots kandidāts, atjauno iepriekšējo darbību, pārejot uz pilno (nefiltrēto) kopu, nevis atgriežot tukšu kopu. Ja pēc noklusējuma tas ir IZSLĒGTS, `:free` nozīmē „tikai bezmaksas līmenis”. | | `OMNIROUTE_CHAOS_MAX_PANEL` | `5` | `open-sse/services/autoCombo/virtualFactory.ts` | Paneļa lieluma ierobežojums (ierobežots diapazonā 1–10) `auto/*:chaos` apraides variantam — viens pieprasījums tiek izvērsts ne vairāk kā uz tik daudziem dažādu pakalpojumu sniedzēju modeļiem. | | `OMNIROUTE_CHAOS_MIN_PANEL` | _(dzinēja noklusējuma vērtība)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Minimālais paneļa izmēra iestatījums, kas tiek nodots haosa apraides apstrādātājam; ja nav iestatīts, tiek saglabāta dzinēja noklusējuma vērtība. | | `OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS` | _(dzinēja noklusējuma vērtība)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Stingrais noildzes ierobežojums (ms) visai haosa paneļa paralēlajai izsūtīšanai; ja nav iestatīts, tiek saglabāta dzinēja noklusējuma vērtība. | | `GROK_AUTH_PATH` | `~/.grok/auth.json` | `open-sse/services/grokQuotaFetcher.ts` | Grok CLI faila `auth.json` ceļš, kas tiek izmantots grok-web nedēļas kvotas iegūšanai; pārrakstiet testiem vai nestandarta CLI instalācijai. | | `AGENTBRIDGE_UPSTREAM_CA_CERT` | _(nav iestatīts)_ | `src/mitm/manager.ts` | Papildu CA sertifikāts (PEM), kam uzticas AgentBridge augšupstraumes TLS savienojumos. | | `INSPECTOR_BUFFER_SIZE` | `1000` | `src/mitm/inspector/buffer.ts` | Maksimālais tverto pieprasījumu skaits, kas tiek glabāts Traffic Inspector gredzenbuferī. | | `INSPECTOR_MAX_BODY_KB` | `1024` | `src/mitm/inspector/buffer.ts` | Maksimālais tvertā pieprasījuma/atbildes pamatteksta izmērs (KB) pirms saīsināšanas. | | `INSPECTOR_HTTP_PROXY_PORT` | `8080` | `src/mitm/inspector/httpProxyServer.ts` | Traffic Inspector HTTP starpniekservera lokālais ports. | | `INSPECTOR_HTTP_PROXY_AUTOSTART` | `false` | `src/mitm/inspector/httpProxyServer.ts` | Automātiski palaist inspektora HTTP starpniekserveri sistēmas startēšanas laikā. | | `INSPECTOR_LLM_HOSTS_EXTRA` | _(nav iestatīts)_ | `src/lib/inspector/captureState.ts` | Papildu resursdatoru nosaukumi (atdalīti ar komatiem), kas tveršanas nolūkos tiek uzskatīti par LLM galapunktiem. | | `INSPECTOR_MASK_SECRETS` | `true` | `src/mitm/inspector/buffer.ts` | Maskēt noslēpumus (autorizācijas galvenes/API atslēgas) tvertajā datplūsmā. | | `INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES` | `30` | `src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts` | Minūšu skaits, pēc kura sistēmas starpniekservera aizsardzības mehānisms automātiski atjauno iepriekšējos operētājsistēmas starpniekservera iestatījumus. | | `INSPECTOR_INTERNAL_INGEST_TOKEN` | _(automātiski)_ | `src/app/api/tools/traffic-inspector/internal/ingest/route.ts` | Tokens, kas autentificē iekšējo tveršanas datu ievadi inspektorā. | | `PLAYGROUND_COMPARE_MAX_COLUMNS` | `4` | `src/app/(dashboard)/dashboard/playground/` | Maksimālais blakus izvietoto kolonnu skaits Playground salīdzināšanas režīmā. | | `PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL` | _(nav iestatīts)_ | `src/app/(dashboard)/dashboard/playground/` | Playground darbības „uzlabot uzvedni” noklusējuma modelis (ja nav iestatīts, tiek izmantots aktīvais modelis). | | `BIFROST_ENABLED` | `1` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Galvenais Bifrost blakusservisa starpniekservera avārijas izslēgšanas slēdzis. Ja iestatīts uz `0`, maršruts atgriež 503 ar galveni `X-Bifrost-Killswitch`, un operators tiek novirzīts uz TS ceļu. Izmantojiet, lai atspējotu blakusservisu bez atkārtotas izvietošanas (1. līmeņa maršrutētāja incidents, atslēgu rotācija). | | `BIFROST_BASE_URL` | _(nav iestatīts)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Ja iestatīts, Bifrost blakusservisa starpniekservera maršruts pārsūta `/v1/chat/completions` datplūsmu uz šo Go vārteju, nevis TS releja apdarinātāju. Nav iestatīts → 503 ar atkāpšanās mehānismu. Beigu slīpsvītra tiek noņemta. | | `BIFROST_PORT` | `8080` | `src/lib/services/bootstrap.ts` | Ports, kuram piesaistās uzraudzītais iegultais Bifrost pakalpojums (`127.0.0.1:`), kad OmniRoute pārvalda Bifrost blakusservisa dzīves ciklu. Noklusējuma vērtība ir `8080`. | | `LLMLINGUA_PORT` | `20135` | `src/lib/services/bootstrap.ts` | Ports, kuram piesaistās uzraudzītais LLMLingua saspiešanas pakalpojums (`127.0.0.1:`). Noklusējuma vērtība ir `20135`. | | `LLMLINGUA_BASE_URL` | `http://127.0.0.1:20135` | `open-sse/services/compression/engines/llmlingua/index.ts` | Lokālā LLMLingua HTTP saspiešanas mikropakalpojuma dēmona bāzes URL. Noklusējuma vērtība ir `http://127.0.0.1:20135`. | | `LLMLINGUA_MODEL` | `atjsh/llmlingua-2-js-tinybert-meetingbank` | `src/lib/services/installers/llmlingua.ts` | Hugging Face modeļa identifikators, kuru ielādē uzraudzītais LLMLingua blakusserviss (nodots bērnprocesa videi). | | `BIFROST_API_KEY` | _(nav iestatīts)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Bifrost vārtejas API atslēga (nosūtīta kā `Authorization: Bearer ...`). Ja tā nav iestatīta, maršruts sagaida, ka pieprasījumā būs derīga OmniRoute API atslēga; šī atslēga ir paredzēta tikai autentifikācijai vārtejas pusē. | | `BIFROST_STREAMING_ENABLED` | `true` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Ja iestatīts uz true, Bifrost blakusprocesa maršruts straumē atbildes atpakaļ, izmantojot SSE caur vārteju, nevis TS straumēšanas izpildītāju. Iestatiet uz `0`, lai piespiedu kārtā izmantotu nestraumētas JSON atbildes caur vārteju. | | `BIFROST_TIMEOUT_MS` | `30000` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Katra pieprasījuma taimauts, veicot starpniekservera pārsūtīšanu uz Bifrost vārteju (ms). Taimauta gadījumā maršruts atgriež TS releja ceļu, izmantojot galveni `X-Bifrost-Fallback`. | | `OMNIROUTE_BIFROST_KEY` | _(nav iestatīts)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | `BIFROST_API_KEY` aizstājvārds (to izmanto skripti, kas nolasa vides mainīgos, izmantojot `OMNIROUTE_*`). Ja ir iestatīti abi, `BIFROST_API_KEY` ir prioritārs. | | `OMNIROUTE_RELAY_BACKEND` | `ts` / `auto` | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | Releja aizmugursistēma maršrutam `/api/v1/relay/chat/completions`: `ts \| bifrost \| auto`. `ts` = TypeScript relejs (noklusējums, ja Bifrost nav konfigurēts); `auto` atlasa Bifrost, ja ir iestatīts `BIFROST_BASE_URL` un `BIFROST_ENABLED` ≠ `0`, ar automātisku atkāpšanos uz TS, ja blakusprocess nav sasniedzams; `bifrost` piespiedu kārtā izmanto Bifrost (stingrais režīms bez atkāpšanās). Autentifikācija/ātruma ierobežošana/injekciju aizsardzība/atļauto elementu saraksts vienmēr vispirms tiek apstrādāti Next maršrutā. Atbildēs ir `X-Routing-Backend` / `X-Routing-Fallback` / `X-Routing-Fallback-Reason`. | | `RELAY_ROUTING_BACKEND` | _(nav iestatīts)_ | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | Pieņemts `OMNIROUTE_RELAY_BACKEND` aizstājvārds (tās pašas `ts \| bifrost \| auto` vērtības). Ja ir iestatīti abi, `OMNIROUTE_RELAY_BACKEND` ir prioritārs. | | `OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS` | `5000` | `src/app/api/v1/relay/chat/completions/bifrostCooldown.ts` | Nogaidīšanas periods (ms) pēc neveiksmīgas pārejas uz Bifrost blakusprocesu `auto` režīmā, pirms relejs atkārtoti mēģina izmantot blakusprocesu; kamēr ilgst nogaidīšanas periods, tas maršrutē tieši uz TS ceļu un pēc tam mēģina vēlreiz. `0` atspējo šo funkciju. Attiecas tikai tad, ja `OMNIROUTE_RELAY_BACKEND=auto`. | | `OMNIROUTE_TLS_CERT` | _(nav iestatīts)_ | `bin/cli/commands/serve.mjs` | Ceļš uz PEM TLS sertifikātu, lai apkalpotu `omniroute serve`, izmantojot HTTPS (ekvivalents `--tls-cert`). Tas jāizmanto kopā ar `OMNIROUTE_TLS_KEY`; savrupais serveris tad terminē TLS tajā pašā klausītājā (`wss://` darbojas bez izmaiņām). Nav iestatīts → parasts HTTP. Ja norādīts tikai sertifikāts vai atslēga vai ceļš nav nolasāms, tiek reģistrēts brīdinājums un turpināts izmantot HTTP. | | `OMNIROUTE_TLS_KEY` | _(nav iestatīts)_ | `bin/cli/commands/serve.mjs` | Ceļš uz PEM TLS privāto atslēgu, lai `omniroute serve` izmantotu HTTPS (ekvivalents `--tls-key`). Tas jāizmanto kopā ar `OMNIROUTE_TLS_CERT`. Skatiet `OMNIROUTE_TLS_CERT`. | | `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED` | `0` | `src/lib/security/localEndpoints.ts` | Galvenais slēdzis `/api/local/*` maršrutiem. Ja nav iestatīts vai ir `0`, visi `/api/local/*` maršruti produkcijas vidē atgriež 503. Izvietojumos, kas neizmanto atgriezeniskās cilpas adresi, tam jābūt `1`, lai iespējotu Redis palaidēju un līdzīgus lokālo pakalpojumu palaidējus ar vienu klikšķi. Papildu aizsardzība kopā ar `isLocalOnlyPath()` maršruta aizsarga klasifikāciju (`LOCAL_ONLY_API_PREFIXES` failā `src/server/authz/routeGuard.ts`). | | `OMNIROUTE_LOCAL_ENDPOINTS_TOKEN` | _(nav iestatīts)_ | `src/lib/security/localEndpoints.ts` | Bearer marķieris `/api/local/*` izsaucējiem, kas neatrodas atgriezeniskās cilpas adresē (piemēram, darbvirsmas lietotnei). Ja tas ir iestatīts, pieprasījumiem no IP adresēm, kas nav atgriezeniskās cilpas adreses, jāietver `Authorization: Bearer `. Tas ir obligāts, ja izvietojumos, kas neizmanto atgriezeniskās cilpas adresi, ir iestatīts `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1`. | | `OMNIROUTE_REDIS_CONTAINER_NAME` | `omniroute-redis` | `bin/cli/commands/redis.mjs` | Konteinera nosaukums viena klikšķa Redis palaišanas rīkam (`omniroute redis up`). To izmanto gan CLI, gan `RedisLauncherPanel` GUI. | | `OMNIROUTE_REDIS_HOST_PORT` | `6379` | `bin/cli/commands/redis.mjs` | Resursdatora ports viena klikšķa Redis palaišanas rīkam. Mainiet to, ja resursdatorā ports 6379 jau ir aizņemts. Konteinera iekšējais ports paliek 6379. | | `OMNIROUTE_REDIS_BIND_HOST` | `127.0.0.1` | `bin/cli/commands/redis.mjs` | Resursdatora saskarne, kurā viena klikšķa Redis palaišanas rīks publicē pakalpojumu. Palaišanas rīks startē Redis BEZ paroles, tāpēc piesaiste pie `0.0.0.0` nodrošina ikvienam jūsu LAN resursdatoram neautentificētu piekļuvi Redis — paplašiniet pieejamību tikai tad, ja pats šai instancei iestatāt arī paroli. | | `REDIS_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Resursdatora saskarne, kurā docker-compose publicē Redis blakuspakalpojumu (#9286). Compose Redis darbojas bez `requirepass`; lietotnes konteineri tam piekļūst, izmantojot compose tīklu (`redis:6379`) — publicētais ports ir paredzēts tikai resursdatora rīkiem. `0.0.0.0` pakļauj neautentificētu Redis visam LAN. | | `REDIS_PORT` | `6379` | `docker-compose.yml` | Resursdatora ports compose Redis blakuspakalpojumam. | | `APP_BIND_HOST` | `127.0.0.1` | `docker-compose.yml`, `docker-compose.prod.yml` | Resursdatora saskarne, kurā docker-compose publicē pašas lietotnes informācijas paneļa/API/reāllaika WS portus (#12568). Tā kā `REQUIRE_API_KEY=false` ir `.env.example` noklusējuma iestatījums, `0.0.0.0` pakļauj anonīmo `/v1` LLM starpniekserveri visam LAN/WAN — paplašiniet pieejamību tikai pēc `REQUIRE_API_KEY=true` iestatīšanas vai tad, ja priekšā esošais reversais starpniekserveris nodrošina savu autentifikāciju. | | `QDRANT_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Resursdatora saskarne, kurā docker-compose publicē Qdrant atmiņas blakuspakalpojumu (#12578). Attiecībā uz pakļaušanu LAN ir spēkā tie paši apsvērumi kā `REDIS_BIND_HOST` gadījumā. | | `BIFROST_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Resursdatora saskarne, kurā docker-compose publicē Bifrost maršrutētāja blakuspakalpojumu (#12578). Attiecībā uz pakļaušanu LAN ir spēkā tie paši apsvērumi kā `REDIS_BIND_HOST` gadījumā. | | `REDIS_KEY_PREFIX` | `omniroute:` | `src/shared/utils/rateLimiter.ts` | Nosaukumvietas prefikss, kas tiek lietots katrai OmniRoute Redis atslēgai (ātruma ierobežotājam, autentifikācijas kešatmiņai, kvotu krātuvei, iesildīšanas ķēdes pārtraucējam). Novērš atslēgu sadursmes, ja Redis instance tiek koplietota ar citām lietotnēm (#11042). | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | _(nav iestatīts — mehānisms atspējots)_ | `src/lib/api/internalServiceAuth.ts` | Koplietots noslēpums identitāti saglabājošiem iekšējiem REST pieprasījumiem (#9260): OmniRoute komponenti, kas izsauc citus lokālos OmniRoute maršrutus, to nosūta kā `x-omniroute-internal-service-token`, lai tiktu saglabāta sākotnējā izsaucēja identitāte. Salīdzināšanai tiek izmantots `timingSafeEqual`. | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | _(nav iestatīts)_ | `src/lib/api/internalServiceAuth.ts` | Iekšējā pakalpojuma pilnvaras slepenā faila variants: ceļš uz failu, kura saturs pēc sākuma un beigu atstarpju noņemšanas ir pilnvara. Tiek izmantots tikai tad, ja iekļautais mainīgais nav iestatīts. | | `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | `src/lib/catalog/openrouterProviderStats.ts` | Papildina informācijas paneļa nodrošinātāju sarakstu ar OpenRouter nedēļas ranga statistiku (#9324). Ieslēgts pēc noklusējuma; iestatiet `false`, lai pilnībā izlaistu fona izgūšanu (nebloķējoša un nekad nav fatāla). | | `OPENROUTER_PROVIDER_STATS_TTL_MS` | `86400000` (24 h) | `src/lib/catalog/openrouterProviderStats.ts` | OpenRouter nodrošinātāju statistikas momentuzņēmuma kešatmiņas TTL milisekundēs. | | `OMNIROUTE_REDIS_IMAGE` | `redis:7-alpine` | `bin/cli/commands/redis.mjs` | Redis attēls, ko izmanto Redis palaišanas rīks ar vienu klikšķi. Pēc vajadzības aizstājiet ar `redis:8-alpine` vai privāta reģistra spoguļserveri. | | `QDRANT_HOST` | `qdrant` | _(izvēles klastera profils)_ | Qdrant blakusprocesa resursdatora nosaukums, kad ir aktīvs `--profile memory`. Noklusējuma vērtība norāda uz tīklā esošā qdrant pakalpojuma nosaukumu; ārējai izvietošanai to var mainīt. Tiek izmantots tikai tad, ja kodā (`src/lib/memory/vectorStore.ts:108`) `qdrantEnabled` ir `true`. | | `QDRANT_PORT` | `6333` | _(izvēles klastera profils)_ | Qdrant blakusprocesa REST ports. | | `QDRANT_GRPC_PORT` | `6334` | _(izvēles klastera profils)_ | Qdrant blakusprocesa gRPC ports. To izmanto klientu bibliotēkas, kas straumēšanas operācijām dod priekšroku gRPC, nevis REST. | | `QDRANT_API_KEY` | _(nav iestatīts)_ | _(izvēles klastera profils)_ | Neobligāta API atslēga pakalpojumam Qdrant Cloud vai autentificētai lokālai instancei. Tukša vērtība → `api-key` galvene netiek nosūtīta. | | `QDRANT_COLLECTION` | `omniroute-memory` | _(izvēles klastera profils)_ | OmniRoute sarunu atmiņas iegultņu kolekcijas nosaukums. Pirmajā palaišanas reizē tā tiek izveidota ar `QDRANT_VECTOR_SIZE` dimensijām. | | `QDRANT_EMBEDDING_MODEL` | `text-embedding-3-small` | _(izvēles klastera profils)_ | Noklusējuma iegulšanas modeļa nosaukums, kas tiek ierakstīts Qdrant kolekcijas metadatos. Faktiskos iegulumus ģenerē nodrošinātājs, uz kuru norāda lauks `embeddingModel` OmniRoute iestatījumos. | | `QDRANT_VECTOR_SIZE` | `1536` | _(izvēles klastera profils)_ | Iegulšanas vektora dimensija. Tai jāatbilst izmantotajam iegulšanas modelim (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768). | | `QDRANT_HNSW_EF_CONSTRUCT` | `128` | _(izvēles klastera profils)_ | HNSW indeksa izveides precizitāte. Lielāka vērtība = lēnāka izveide, ātrāka meklēšana. | | `OMNIROUTE_ROTATION_ENABLED` | `true` | `open-sse/services/rotationConfig.ts` | Galvenais slēdzis operatora konfigurējamai kontu rotācijai. Ja vērtība ir `false`, neviena no tālāk norādītajām `OMNIROUTE_ROTATE_*` klasēm neaktivizē pāreju uz rezerves kontu (galvenā slēdža izslēgtais stāvoklis bloķē arī pēc noklusējuma iespējotās 429/500/502 klases). Tas ļauj pārraugošajai priekšgalsistēmai (piem., VibeProxy darbvirsmas lietotnei) attēlot savus rotācijas noteikumus aizmugursistēmas pārejas uz rezerves kontu mehānismā. | | `OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS` | `0` | `open-sse/services/rotationConfig.ts` | Aiztures periods (sekundēs), kas tiek piemērots kontam ar pārsniegtu pieprasījumu ierobežojumu, ja augšupstraumes pakalpojums nesniedz skaidru norādi par atiestatīšanu. `0` = fiksētas pārrakstīšanas vērtības vietā izmantot mehānisma noklusējuma aiztures periodu. | | `OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET` | `true` | `open-sse/services/rotationConfig.ts` | Priekšgalsistēmas preferences „neatzīmēt kā tādu, kam pārsniegts pieprasījumu ierobežojums, ja nav norādīts atiestatīšanas laiks” atspoguļojums. | | `OMNIROUTE_ROTATE_ON_429` | `true` | `open-sse/services/rotationConfig.ts` | Rezerves konta izmantošanas iespējošana `429` kļūdām. Ja vērtība ir `false` (un `OMNIROUTE_ROTATION_ENABLED=true`), `429` vairs neaktivizē konta rotāciju un tā vietā tiek atgriezta klientam. | | `OMNIROUTE_ROTATE_429_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `429` kļūdu skaits periodā `OMNIROUTE_ROTATE_429_WINDOW_SECONDS`, kas nepieciešams pirms konta rotācijas. `1` (noklusējums) veic rotāciju nekavējoties, saglabājot līdzšinējo darbību. | | `OMNIROUTE_ROTATE_429_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Slīdošais logs (sekundēs), kurā `429` kļūdas tiek uzskaitītas attiecībā pret `OMNIROUTE_ROTATE_429_THRESHOLD`. | | `OMNIROUTE_ROTATE_ON_500` | `true` | `open-sse/services/rotationConfig.ts` | Rezerves konta izmantošanas iespējošana `5xx` servera kļūdām (izņemot `502`, kam ir sava klase). Ja vērtība ir `false`, šīs kļūdas vairs neaktivizē konta rotāciju. | | `OMNIROUTE_ROTATE_500_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `5xx` kļūdu skaits periodā `OMNIROUTE_ROTATE_500_WINDOW_SECONDS`, kas nepieciešams pirms konta rotācijas. `1` (noklusējums) veic rotāciju nekavējoties. | | `OMNIROUTE_ROTATE_500_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Slīdošais logs (sekundēs), kurā `5xx` kļūdas tiek skaitītas, lai sasniegtu `OMNIROUTE_ROTATE_500_THRESHOLD`. | | `OMNIROUTE_ROTATE_ON_502` | `true` | `open-sse/services/rotationConfig.ts` | Atkāpšanās mehānisma iespējošana `502` (nederīga vārteja) kļūdām katram statusam. Ja iestatīts uz `false`, `502` kļūdas vairs neizraisa konta rotāciju. | | `OMNIROUTE_ROTATE_502_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `502` kļūdu skaits laika posmā `OMNIROUTE_ROTATE_502_WINDOW_SECONDS`, kas nepieciešams pirms konta rotācijas. `1` (noklusējums) izraisa tūlītēju rotāciju. | | `OMNIROUTE_ROTATE_502_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Slīdošais logs (sekundēs), kurā `502` kļūdas tiek skaitītas, lai sasniegtu `OMNIROUTE_ROTATE_502_THRESHOLD`. | | `OMNIROUTE_ROTATE_ON_400` | `false` | `open-sse/services/rotationConfig.ts` | Izvēles iespēja (pēc noklusējuma IZSLĒGTA): ja iestatīts uz `true`, arī parasta `400` (nederīgs pieprasījums) kļūda izraisa konta rotāciju. Tas tikai papildina esošo darbību — šis karodziņš nekad nebloķē dzinēja pašreizējo darbību, kurā `400` kļūda ar ātruma ierobežojuma/kvotas tekstu tik un tā izraisa pārslēgšanos. | | `OMNIROUTE_ROTATE_400_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `400` kļūdu skaits laika posmā `OMNIROUTE_ROTATE_400_WINDOW_SECONDS`, kas nepieciešams pirms konta rotācijas (tiek ņemts vērā tikai tad, ja `OMNIROUTE_ROTATE_ON_400=true`). | | `OMNIROUTE_ROTATE_400_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Slīdošais logs (sekundēs), kurā `400` kļūdas tiek skaitītas, lai sasniegtu `OMNIROUTE_ROTATE_400_THRESHOLD`. | ### Claude iesildīšanas plānotājs Cron vadīta iesildīšana tām Anthropic OAuth savienojumiem, kuriem tā ir iespējota, lai 5 stundu ātruma ierobežojuma logs tiktu atvērts ar vienkāršu ieplānotu pieprasījumu, nevis ar pirmo īsto pieprasījumu (#8848). Plānotājs ir izslēgts, ja vien `OMNIROUTE_WARMUP_ENABLED` nav patiess **un** savienojums nav atzīmēts sadaļā `settings.claudeWarmup.connections`; tukšs savienojumu saraksts nozīmē, ka nekas netiek iesildīts pat tad, ja vides mainīgais ir ieslēgts. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------ | ---------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_WARMUP_ENABLED` | _(nav iestatīts → izslēgts)_ | `src/lib/warmupScheduler.ts` | Galvenais iesildīšanas plānotāja slēdzis. Pieņem `1`/`true`/`yes`/`on` (ignorējot reģistru un atstarpes sākumā un beigās). Jebkura cita vērtība vai neiestatīta vērtība atstāj plānotāju izslēgtu. | | `OMNIROUTE_WARMUP_CRON` | `0 7 * * *` | `src/lib/warmupScheduler.ts` | Piecu lauku cron izteiksme iesildīšanas ciklam, kas neatkarīgi no resursdatora pulksteņa tiek izvērtēta `America/Los_Angeles` laika joslā (Anthropic atiestatīšanas laika joslā). | | `OMNIROUTE_WARMUP_CONCURRENCY` | `3` | `src/lib/warmupScheduler.ts` | Savienojumu skaits, kas katrā ciklā tiek iesildīti paralēli. Vērtība tiek ierobežota diapazonā `1`–`10`; ja vērtība nav skaitliska, tiek izmantota `3`. | | `OMNIROUTE_WARMUP_MODEL` | `claude-3-5-haiku-20241022` | `src/lib/warmupScheduler.ts` | Iesildīšanas pieprasījumam izmantotais modelis. Mainiet tikai tad, ja noklusējuma modelis jūsu plānā nav pieejams; izvēlieties lētāko modeli, kas joprojām atver logu. | ### Pārlūkprogrammas pieteikšanās VNC sesijas un datu direktorija aizstājvārds Konteinerizēts Chromium+VNC interaktīvai pārlūkprogrammas pieteikšanās akreditācijas datu iegūšanai (`/api/vnc-session`), kā arī mantots `DATA_DIR` aizstājvārds. Visi iestatījumi nav obligāti — VNC noklusējuma vērtības ir paredzētas komplektā iekļautajam `omniroute-vnc-chromium:local` attēlam un tiek mainītas tikai pielāgotam konteinera attēlam, portiem vai dzīves cikla regulēšanai. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | Docker attēla tags Chromium+VNC pieteikšanās konteineram. Izveidojiet `docker/vnc-browser/chromium` vai norādiet pielāgotu attēlu. | | `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | Konteineru izpildvides binārais fails, ko izmanto VNC konteinera palaišanai (piemēram, iestatiet uz `podman`). | | `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | Konteinerā atvērtais VNC/noVNC ports. | | `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Chrome DevTools Protocol ports konteinerā. | | `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Chromium profila direktorija ceļš konteinerā. | | `OMNIROUTE_VNC_PROFILE_DIR` | `$HOME/.omniroute/browser-login-profiles` | `src/lib/vncSession/manifest.ts` | Resursdatora direktorijs, kurā glabājas pastāvīgie pārlūkprogrammas pieteikšanās profili. | | `OMNIROUTE_VNC_IDLE_MS` | `600000` (10 min) | `src/lib/vncSession/manifest.ts` | Dīkstāves taimauts (ms), pēc kura neaktīva VNC sesija tiek likvidēta. | | `OMNIROUTE_VNC_MAX_MS` | `1800000` (30 min) | `src/lib/vncSession/manifest.ts` | Vienas VNC sesijas maksimālā dzīves ilguma stingrais ierobežojums (ms). | | `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | Maksimālais vienlaicīgo VNC sesiju skaits. | | `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Taimauts (ms), gaidot, kamēr konteinerizētā pārlūkprogramma kļūst gatava darbam ar CDP. | | `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | Taimauts (ms) iegūtās sesijas/sīkfailu savākšanai pēc pieteikšanās pabeigšanas. | | `OMNIROUTE_VNC_CHROMIUM_ARGS` | `--remote-debugging-port=9222 --no-first-run --no-default-browser-check` | `src/lib/vncSession/manifest.ts` | Papildu komandrindas karogi, kas tiek nodoti konteinerizētajam Chromium. | | `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Atvēlēts Docker tīkls, kuram noklusējuma tilta vietā pievienojas VNC pieteikšanās konteiners (#12571), lai blakus esošie konteineri nevarētu piekļūt tā CDP tilta portam. | | `VIBEPROXY_DATA_DIR` | _(nav iestatīts)_ | `open-sse/services/notionThreadSessions.ts` | **Mantots aizstājvārds** mainīgajam `DATA_DIR`, kas tiek pārbaudīts tikai tad, ja nav iestatīts ne `DATA_DIR`, ne `OMNIROUTE_DATA_DIR`. Norāda Notion tīmekļa pavedienu sesiju kešatmiņas atrašanās vietu (`/notion-web-thread-sessions.json`). | --- ## 26. Testu un E2E pārbaudes ietvars Izmanto `scripts/dev/run-next-playwright.mjs`, `scripts/dev/smoke-electron-packaged.mjs`, `scripts/dev/run-ecosystem-tests.mjs` un `scripts/build/uninstall.mjs`. Produkcijas izvietojumos visas tālāk norādītās vērtības atstājiet neiestatītas. | Mainīgais | Noklusējums | Avota fails | Apraksts | | -------------------------------------- | ------------------------------ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_E2E_BOOTSTRAP_MODE` | `auth` | `scripts/dev/run-next-playwright.mjs` | E2E inicializācijas režīms (`auth`, `fresh`, `reuse`) Playwright izpildītājam. | | `OMNIROUTE_E2E_PASSWORD` | izmanto `INITIAL_PASSWORD` | `scripts/dev/run-next-playwright.mjs` | Playwright vidē ievadītā administratora parole. | | `OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Atspējot lokālās darbspējas pārbaudes aptauju Playwright izpildes laikā. | | `OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Testu laikā atspējot OAuth marķieru darbspējas pārbaudes ciklu. | | `OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS` | _(nav iestatīts)_ | `src/lib/tokenHealthCheck.ts` | Ar komatiem atdalīti pakalpojumu sniedzēji, kas izslēgti no proaktīvās marķieru atsvaidzināšanas pārbaudes (piem., `codex,openai`). Mērķēta alternatīva pilnīgai darbspējas pārbaudes atspējošanai — īsa TTL sniedzēji turpina atsvaidzināšanu, bet kaskādes sniedzēji darbojas tikai reaģējošā režīmā. | | `OMNIROUTE_HIDE_HEALTHCHECK_LOGS` | `true` | `scripts/dev/run-next-playwright.mjs` | Nerādīt darbspējas pārbaužu ziņojumus Playwright standarta izvadē. | | `OMNIROUTE_PLAYWRIGHT_SKIP_BUILD` | `0` | `scripts/dev/run-next-playwright.mjs` | Izlaist Next.js produkcijas būvējumu pirms Playwright palaišanas (CI optimizācija). | | `OMNIROUTE_SKIP_UNINSTALL_HOOK` | `0` | `scripts/build/uninstall.mjs` | Izlaist OmniRoute atinstalēšanas āķi (CI to izmanto, lai saglabātu `node_modules` neskartu). | | `ECOSYSTEM_SERVER_WAIT_MS` | `180000` | `scripts/dev/run-ecosystem-tests.mjs` | Gaidīšanas laiks (ms), līdz serveris kļūst darbspējīgs, pirms tiek palaisti ekosistēmas/protokola testi. | | `ELECTRON_SMOKE_URL` | `http://127.0.0.1:20128/login` | `scripts/dev/smoke-electron-packaged.mjs` | URL, kurā Electron ātrās pārbaudes ietvars sagaida iepakotās lietotnes darbību. | | `ELECTRON_SMOKE_TIMEOUT_MS` | `45000` | `scripts/dev/smoke-electron-packaged.mjs` | Kopējais taimauts (ms), pēc kura ātrās pārbaudes ietvars pārtrauc mēģinājumus. | | `ELECTRON_SMOKE_SETTLE_MS` | `2000` | `scripts/dev/smoke-electron-packaged.mjs` | Stabilizācijas periods (ms) pēc lapas ielādes. | | `ELECTRON_SMOKE_APP_EXECUTABLE` | _(automātiski)_ | `scripts/dev/smoke-electron-packaged.mjs` | Precīzs ceļš uz iepakotās Electron lietotnes izpildāmo failu. | | `ELECTRON_SMOKE_DATA_DIR` | _(tmpdir)_ | `scripts/dev/smoke-electron-packaged.mjs` | Datu direktorijs Electron ātrās pārbaudes izpildei. | | `ELECTRON_SMOKE_KEEP_DATA` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Iestatiet `1`, lai pēc izpildes saglabātu pārbaudes datu direktoriju. | | `ELECTRON_SMOKE_STREAM_LOGS` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Iestatiet `1`, lai izpildes laikā straumētu Electron žurnālus uz stdout. | | `ELECTRON_SMOKE_COLD_RESTART` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | #7592: atkārtoti palaist ar to pašu datu direktoriju un pārbaudīt, ka otrajā palaišanas reizē tiek atlasīts vietējais SQLite draiveris. | | `CLI_DEVIN_BIN` | _(PATH uzmeklēšana)_ | `open-sse/executors/devin-cli.ts` | Pārrakstīt Devin CLI binārā faila ceļu. | ### Dokumentācijas tulkošanas konveijers Izmanto `scripts/i18n/run-translation.mjs` (komanda `npm run i18n:run`). Visi pieci mainīgie pēc noklusējuma nav iestatīti — iestatiet tos failā `.env` tikai tajās iekārtās, kurās jābūt iespējai palaist dokumentācijas tulkotāju. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------------- | ----------------- | ---------------------------------- | ------------------------------------------------------------------------------ | | `OMNIROUTE_TRANSLATION_API_URL` | _(nav iestatīts)_ | `scripts/i18n/run-translation.mjs` | Ar OpenAI saderīgs tulkošanas aizmugursistēmas bāzes URL. | | `OMNIROUTE_TRANSLATION_API_KEY` | _(nav iestatīts)_ | `scripts/i18n/run-translation.mjs` | Tulkošanas aizmugursistēmas Bearer pilnvara (nekad netiek reģistrēta žurnālā). | | `OMNIROUTE_TRANSLATION_MODEL` | _(nav iestatīts)_ | `scripts/i18n/run-translation.mjs` | Modeļa ID, piemēram, `gpt-4o-mini` vai `cx/gpt-5.4-mini`. | | `OMNIROUTE_TRANSLATION_TIMEOUT_MS` | `60000` | `scripts/i18n/run-translation.mjs` | Katra pieprasījuma taimauts milisekundēs. | | `OMNIROUTE_TRANSLATION_CONCURRENCY` | `4` | `scripts/i18n/run-translation.mjs` | Paralēlie tulkošanas pieprasījumi, apstrādājot vairākus failus/lokalizācijas. | --- ## 27. Radar plūsma (pašmitināšana) Izvēles papildinājums, ko kontrolē RADAR_ENABLED funkcijas karodziņš (pēc noklusējuma izslēgts — funkcijas karodziņš, kas pārslēdzams sadaļā Settings/DB, nevis ar vides mainīgo; skatiet [docs/frameworks/RADAR.md](../frameworks/RADAR.md#flag-radar_enabled-default-off)). Pirmie četri tālāk norādītie mainīgie ir neobligātas pārrakstīšanas vērtības pašmitinātai vai atzarotai plūsmai un atbalstītāja atslēgas darbplūsmām. Piektais, `RADAR_ADMIN_URL`, ir atsevišķa saite bez noklusējuma vērtības uz īpašnieka privāto operāciju paneli. Pilnu moduļa dokumentāciju un tā [visaptverošo aktivizēšanas un vadītās iestatīšanas secību](../frameworks/RADAR.md#end-to-end-activation-and-guided-setup) skatiet [docs/frameworks/RADAR.md](../frameworks/RADAR.md). Vispārīgais Home/Changelog paziņojumu lasītājs netiek konfigurēts ar vides mainīgo un nav atkarīgs no RADAR_ENABLED funkcijas karodziņa. Tas tikai ar GET nolasa publiskā repozitorija `news.json` URL, kas norādīts failā `src/shared/utils/releaseNotes.ts`; noraidīšanas ID paliek pārlūkprogrammas lokālajā krātuvē. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ----------------------------- | -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `RADAR_FEED_URL` | `https://radar.omniroute.online` | `src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts` | Bāzes URL, ko kopīgi izmanto atsevišķi parakstītās kataloga, ieteikumu, atbalstītāju piedāvājumu un Intel plūsmas. Pārrakstiet to, lai norādītu uz pašmitinātu vai atzarotu pakalpojumu. | | `RADAR_FEED_PUBKEY` | _(piesprausta noklusējuma atslēga)_ | `src/lib/radar/pinnedKeys.ts` | Ed25519 publiskā atslēga (base64-DER SPKI vai PEM), ko izmanto pielāgotas plūsmas parakstu pārbaudei. | | `RADAR_CONTRIBUTOR_CLAIM_URL` | `https://radar.omniroute.online/auth/github` | `src/lib/radar/links.ts` | URL, ko atver informācijas paneļa poga „Esmu līdzstrādnieks” (GitHub OAuth atbalstītāja atslēgas pieprasīšanas darbplūsma). | | `RADAR_SUPPORTER_PLANS_URL` | `https://radar.omniroute.online/planos` | `src/lib/radar/links.ts` | URL, ko atver informācijas paneļa poga „Atbalstīt projektu” (maksājumu/plānu lapa). | | `RADAR_ADMIN_URL` | _(nav iestatīts)_ | `src/lib/radar/links.ts` | Tikai īpašniekam paredzēta saite uz privāto operāciju paneli. HTTPS ir obligāts, izņemot HTTP atgriezeniskās cilpas SSH pārsūtīšanu; neiestatītas vai nederīgas vērtības neizveido navigācijas vienumu. | --- ## Audits: noņemtie / neizmantotie mainīgie Tālāk norādītie mainīgie bija iekļauti iepriekšējās `.env.example` versijās, taču pašreizējā kodu bāzē uz tiem **nav izpildlaika atsauču**. Tie ir noņemti: | Mainīgais | Iemesls | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `STORAGE_DRIVER=sqlite` | Neviens avota fails to nelasa. SQLite ir vienīgais atbalstītais draiveris — izvēle nav nepieciešama. | | `INSTANCE_NAME=omniroute` | Ir atrodams vecajā dokumentācijā/vides veidnēs, taču izpildlaikā netiek izmantots. Tas var atgriezties nākotnes vairāku instanču funkcionalitātē. | | `SQLITE_MAX_SIZE_MB=2048` | Avota kodā nav atsauču uz to. Datubāzes izmērs netiek mākslīgi ierobežots. | | `SQLITE_CLEAN_LEGACY_FILES=true` | Avota kodā nav atsauču uz to. Mantoto failu tīrīšana, visticamāk, tika noņemta. | | `CLI_ROO_BIN` | Nav reģistrēts failā `src/shared/services/cliRuntime.ts`. | | `CLI_KIMI_CODING_BIN` | Nav reģistrēts failā `src/shared/services/cliRuntime.ts` (Kimi Coding izmanto OAuth, nevis CLI bināro failu). | | `IFLOW_OAUTH_CLIENT_ID` / `IFLOW_OAUTH_CLIENT_SECRET` | Avota kodā nekur nav atsauču uz tiem. | | `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` | Noņemti versijā v3.8.0. Izpildlaika vide vairs nelasa šos vides mainīgos — akreditācijas dati tiek iegūti no informācijas paneļa / `data/provider-credentials.json` / šifrētas DB. | | `CURSOR_PROTOBUF_DEBUG` | Noņemts versijā v3.8.0. Cursor izpildītājs izmanto `CURSOR_DEBUG` / `CURSOR_STREAM_DEBUG` (skatiet §22). | | `CLI_COMPAT_KIRO` | Noņemts versijā v3.8.0. Kiro ir iekļauts `CLI_COMPAT_OMITTED_PROVIDER_IDS` — tā pārslēgšana neko neietekmē. | | `QIANFAN_API_KEY` | Noņemts kopā ar citām neizmantotām pakalpojumu sniedzēju API atslēgu sagatavēm versijā v3.8.0. | ### Noklusējuma vērtību labojumi | Mainīgais | Vecā `.env.example` vērtība | Faktiskā koda noklusējuma vērtība | Labojums | | ------------------------- | --------------------------- | --------------------------------- | -------------------------------------------------------------------- | | `APP_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Maldinošā vērtība noņemta; `7` dokumentēta kā noklusējuma vērtība | | `CALL_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Maldinošā vērtība noņemta; `7` dokumentēta kā noklusējuma vērtība | ### OpenCode konfigurācijas atkārtota ģenerēšana (ad hoc rīki) Skripts `scripts/ad-hoc/regen-opencode-config.ts` to izmanto, lai atkārtoti ģenerētu `opencode.json` ar precīzām `limit.context` un `limit.output` vērtībām, kas iegūtas no darbojošās OmniRoute instances. Nekas no tā nav nepieciešams normālai darbībai — šis skripts ir paredzēts tikai izstrādātāju rīkiem. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------ | ------------------------ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_URL` | `http://localhost:20128` | `scripts/ad-hoc/regen-opencode-config.ts` | OmniRoute instances bāzes URL, kurā vaicāt `/v1/models`. | | `OMNIROUTE_KEY` | _(nav iestatīts)_ | `scripts/ad-hoc/regen-opencode-config.ts` | API atslēga autentifikācijai OmniRoute galapunktā `/v1/models`. Ja nav iestatīta, tiek izmantota `OPENCODE_API_KEY`. | | `OPENCODE_API_KEY` | _(nav iestatīts)_ | `scripts/ad-hoc/regen-opencode-config.ts` | OpenCode stila API atslēga (`sk-...`), kas tiek ierakstīta no jauna ģenerētajā `opencode.json`. Ja nav iestatīta, tiek izmantota `OMNIROUTE_KEY`. | ### Kompresijas bezsaistes novērtēšanas ietvars (ad-hoc rīki) To izmanto `scripts/compression-eval/index.ts` — bezsaistes kompresijas novērtēšanas CLI. Nav nepieciešams normālai darbībai — paredzēts tikai izstrādātāju rīkiem. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ---------------------------- | ------------------- | ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_EVAL_CREDENTIALS` | `{}` (tukšs) | `scripts/compression-eval/index.ts` | Operatora nodrošināti JSON akreditācijas dati pakalpojuma sniedzējam, ko izmanto bezsaistes kompresijas novērtēšanas CLI (parsēti ar `JSON.parse`). Atstājiet neiestatītu izmēģinājuma palaišanai. | ### VNC pārlūka sesijas To izmanto `src/lib/vncSession/manifest.ts`, lai konfigurētu uz Docker balstītas Chromium sesijas bez grafiskās saskarnes pārlūka automatizācijas pakalpojumu sniedzējiem. Visi mainīgie ir neobligāti — noklusējuma vērtības ir parādītas tālāk. | Mainīgais | Noklusējuma vērtība | Avota fails | Apraksts | | ------------------------------------- | ------------------------------ | ------------------------------------------- | -------------------------------------------------------------------------------------- | | `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | Ceļš uz Docker bināro failu, ko izmanto VNC konteineru palaišanai. | | `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | Docker attēls VNC Chromium konteineram. | | `OMNIROUTE_VNC_CHROMIUM_ARGS` | _(iebūvētie karodziņi)_ | `src/lib/vncSession/manifest.ts` | Papildu Chromium CLI argumenti, kas tiek nodoti pārlūkam konteinerā. | | `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | VNC ports konteinerā. | | `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Chrome DevTools Protocol ports konteinerā. | | `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Profila direktorijs konteinerā. | | `OMNIROUTE_VNC_PROFILE_DIR` | _(nav iestatīts)_ | `src/lib/vncSession/manifest.ts` | Resursdatora direktorijs pastāvīgiem pārlūka profiliem. | | `OMNIROUTE_VNC_IDLE_MS` | `600000` | `src/lib/vncSession/manifest.ts` | Dīkstāves taimauts (ms), pēc kura VNC sesija tiek savākta. | | `OMNIROUTE_VNC_MAX_MS` | `1800000` | `src/lib/vncSession/manifest.ts` | Maksimālais sesijas ilgums (ms). | | `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | Maksimālais vienlaicīgo VNC sesiju skaits. | | `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Pārlūka gatavības taimauts (ms). | | `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | Savākšanas/tīrīšanas taimauts (ms). | | `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Īpašais Docker tīkls, kuram pievienojas konteiners (#12571), apejot noklusējuma tiltu. | | `VIBEPROXY_DATA_DIR` | _(nav iestatīts)_ | `open-sse/services/notionThreadSessions.ts` | Direktorijs Notion pavedienu sesiju pastāvīgai glabāšanai. | ### Iekšējo pakalpojumu autentifikācija | Mainīgais | Noklusējuma vērtība | Apraksts | | --------------------------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | – | Iekļauts marķieris pārvaldības plaknes pakalpojumu savstarpējai autentifikācijai. | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | – | Ceļš uz failu, kurā ir iekšējā pakalpojuma marķieris (ieteicams konteineros; pārraksta iekļautā mainīgā vērtību). | ### OpenRouter pakalpojumu sniedzēju statistika | Mainīgais | Noklusējuma vērtība | Apraksts | | ----------------------------------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------- | | `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | Iestatiet uz `false`, lai izlaistu OpenRouter atsevišķu pakalpojumu sniedzēju statistikas iegūšanu kataloga bagātināšanai. | | `OPENROUTER_PROVIDER_STATS_TTL_MS` | `3600000` | Kešatmiņas TTL (ms) iegūtajai OpenRouter pakalpojumu sniedzēju statistikai. | ### Iegultā Redis piesaiste | Mainīgais | Noklusējuma vērtība | Apraksts | | --------------------------- | ------------------- | ----------------------------------------------------------------------------------- | | `REDIS_BIND_HOST` | `127.0.0.1` | Iegultā Redis pakalpojuma piesaistes adrese. | | `REDIS_PORT` | `6379` | Iegultā Redis pakalpojuma ports. | | `OMNIROUTE_REDIS_BIND_HOST` | – | OmniRoute tvērumam specifiska ignorēšanas vērtība iegultā Redis piesaistes adresei. | --- ## 24. Laidiena v3.8.50 papildinājumi Šie iestatījumi tika ieviesti pēc iepriekšējā vides līguma momentuzņēmuma. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_CHAT_ADMISSION_QUEUE_MS` | `2000` | `src/shared/middleware/chatBodyAdmission.ts` | Maksimālais gaidīšanas laiks apjomīgas tērzēšanas uzņemšanas vietai, pirms tiek atgriezts atkārtojams `503`; īsa, ierobežota gaidīšana serializē aģentu pieprasījumu uzplūdus, nevis uzreiz atgriež `503`. `0` atjauno tūlītēju noraidīšanu. | | `OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES` | `4194304` (4 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Rindā ievietoto baitu budžets uzņemšanas gaidīšanai: ierobežo kopējo buferēto pieprasījumu ķermeņu baitu apjomu, kas ir aizturēts visa procesa mērogā, lai gaidīšana nevarētu palielināt dinamiskās atmiņas patēriņu (#4380). Gaidīšanas pieprasījumi, kas pārsniedz budžetu, nekavējoties saņem atkārtojamu `503`. | | `OMNIROUTE_CHAT_VIRTUAL_TTL_MS` | `60000` (60 s) | `src/shared/middleware/chatBodyAdmission.ts` | Kopš #10110 novecojis un neko neveic: katras sesijas uzņemšanas joslas tika noņemtas par labu vienam visa procesa budžetam. Tiek pieņemts konfigurācijas saderības dēļ, bet ignorēts. | | `OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Kopš #10110 novecojis un neko neveic: katras sesijas uzņemšanas joslas tika noņemtas par labu vienam visa procesa budžetam. Tiek pieņemts konfigurācijas saderības dēļ, bet ignorēts. | | `OMNIROUTE_CHAT_VIRTUAL_LANES` | `0` (izslēgts) | `open-sse/services/admission/runtime.ts` | Adaptīvas izpildlaika virtuālās uzņemšanas joslas (#9654): galvenais slēdzis katra nomnieka adaptīvajai vārtejai (2. sistēma). Atšķiras no iepriekš minētajiem novecojušajiem katra savienojuma joslu mainīgajiem (TTL_MS / MAX_SESSIONS, kopš #10110 neko neveic). Informācijas paneļa funkcijas karodziņš ar tādu pašu nosaukumu; vides mainīgajam ir prioritāte pār informācijas paneļa ignorēšanas iestatījumu; nepieciešama restartēšana. | | `OMNIROUTE_RUNNOW_TIMEOUT_MS` | `30000` | `src/app/api/jobs/[id]/run-now/route.ts` | Ierobežo laiku, cik ilgi tūlītējas izpildes izsaukums gaida notiekošu uzdevumu, pirms sāk rindā ievietoto izpildi. | | `ADOBE_FIREFLY_BROWSER_REFRESH` | iespējots | `open-sse/services/adobeFireflySession.ts` | Uztur IMS un pārlūka riska stāvokli aktuālu, izmantojot konta tvēruma Chrome CDP sesijas; iestatiet `0`, lai atspējotu. | | `ADOBE_FIREFLY_SESSION_DISK` | iespējots | `open-sse/services/adobeFireflySession.ts` | Saglabā atjaunotās Adobe sesijas direktorijā `DATA_DIR`; iestatiet `0`, lai stāvokli glabātu tikai atmiņā. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Minimālais intervāls starp Adobe Firefly ģenerēšanas iesniegumiem. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Papildu miera periods pēc katra trešā veiksmīgā Adobe iesnieguma. | | `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Tikai atkļūdošanai paredzēts pilnīgi bezgalvas režīms; Adobe colligo parasti noraida iegūto riska sesiju. | | `CHROME_PATH` | automātiska noteikšana | `open-sse/executors/cloudflare-playground.ts`, `open-sse/executors/chatgpt-web-codex.ts` | Neobligāts absolūtais Chrome izpildfaila ceļš, ko izmanto pārlūka vadītie izpildītāji, ja platformas automātiskā noteikšana nav pietiekama. | | `TELEGRAM_BOT_TOKEN` | _(nav iestatīts)_ | `src/lib/telegram/config.ts` | BotFather marķieris, kas iespējo ienākošo tīmekļa aizķeri un paraksta Mini App `initData`. | | `TELEGRAM_WEBHOOK_SECRET` | _(nav iestatīts)_ | `src/lib/telegram/config.ts` | Koplietojams noslēpums, kas reģistrēts, izmantojot `setWebhook`, un katrai tīmekļa aizķeres piegādei pārbaudīts pret galveni `X-Telegram-Bot-Api-Secret-Token`. Nepieciešams tīmekļa aizķeres ceļam; ja tas nav iestatīts, tīmekļa aizķeres piegādes tiek noraidītas ar 503. | | `TELEGRAM_DEFAULT_MODEL` | `auto/chat` | `src/lib/telegram/chatProxy.ts` | Telegram tērzēšanas atbildēm izmantotais modelis. | | `TELEGRAM_BOT_API_BASE` | `https://api.telegram.org` | `src/lib/telegram/config.ts` | Bot API bāzes URL ignorēšanas iestatījums starpniekserveriem vai pašu mitinātiem Bot API serveriem. | | `TELEGRAM_WEBHOOK_TIMEOUT_MS` | `60000` | `src/lib/telegram/config.ts` | Izejošo Bot API izsaukumu taimauts milisekundēs. | | `OMNIROUTE_OPTIONAL_PACK_TAR` | `1` (iespējots) | `scripts/build/optionalPackStaging.mjs` | Iestatiet `0`, lai izlaistu `.tar.gz` tar arhīvu izveidi, sagatavojot neobligātās ML/pārlūka pakotnes Electron savrupās versijas kokam (pakotņu direktoriji un `optional-packs.index.json` joprojām tiek izveidoti). Izmanto darbvirsmas laidiena darbplūsma, lai samazinātu augšupielādējamo artefaktu izmēru. | | `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Iespējo xAI abonementa attēlu maršrutu reģistrēšanu; pēc noklusējuma atspējots, lai API atslēgas attēlu ceļš paliktu nemainīgs. | | `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Katras atslēgas nogaidīšanas periods milisekundēs, ja `429` atbilde nesatur izmantojamu `Retry-After` norādi. | | `OMNIROUTE_ESTIMATOR_CALIBRATION` | iespējots | `open-sse/services/estimatorCalibration.ts` | Iestatiet `off`, `0` vai `false`, lai atspējotu novērtētāja kalibrēšanas reģistrēšanu un lietošanu atmiņā. | | `NEXT_MANUAL_SIG_HANDLE` | _(iekšējs)_ | `scripts/dev/standalone-server-ws.mjs` | Iekšējs savrupā servera signālu apstrādātāja ignorēšanas iestatījums; parasti to iestata un notīra palaidējs, nevis konfigurē operatori. | ### ChatGPT Web (Codex) Globālie noklusējumi bezgalvas pārlūkam un izejošajam rīku tunelim. Informācijas panelī iestatītajām savienojuma vērtībām ir prioritāte. | Mainīgais | Noklusējums | Avota fails | Apraksts | | --------------------------------------- | ------------------------------ | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CHATGPT_WEB_CODEX_CHROME_PATH` | _(automātiska noteikšana)_ | `open-sse/executors/chatgpt-web-codex.ts` | Tiešs Chrome/Chromium ceļš npm, systemd un PM2 darbībai. | | `CHROME_PATH` | _(automātiska noteikšana)_ | `open-sse/executors/chatgpt-web-codex.ts` | Kopīgs atkāpšanās variants tieši norādītam Chrome/Chromium ceļam. | | `CHATGPT_WEB_CODEX_CDP_URL` | _(nav iestatīts)_ | `open-sse/executors/chatgpt-web-codex.ts` | Iekšējais CDP galapunkts; Docker izmanto blakus konteineru portā `9223`. | | `CDP_PROXY_TOKEN` | _(nav iestatīts)_ | `docker/chatgpt-web-codex-browser/cdp-proxy.mjs` | Ja iestatīts, katrā pieprasījumā CDP starpniekservera blakus konteineram šī vērtība jānosūta galvenē `X-Omni-Cdp-Token` (#13679). Ja vērtība nav norādīta, starpniekserveris pieprasījumus pārsūta bez autentifikācijas — tādā gadījumā aizsardzību nodrošina tikai Compose tīkla `chatgpt-web-codex-net` izolācija. Ģenerējiet ar `openssl rand -hex 32`. | | `CHATGPT_WEB_CODEX_TUNNEL_ID` | _(nav iestatīts)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globālais OpenAI tuneļa ID lokālām Codex rīku kārtām. | | `CHATGPT_WEB_CODEX_RUNTIME_KEY` | _(nav iestatīts)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globālā tuneļa izpildlaika atslēga; nekad neizvadiet to žurnālos. | | `CHATGPT_WEB_CODEX_CONNECTOR_NAME` | `OmniRoute Codex v2` | `open-sse/executors/chatgpt-web-codex.ts` | Precīzs jaunizveidotā ChatGPT pielāgotā savienotāja nosaukums MCP tiltam. | | `CODEX_CHATGPT_WEB_HOME` | `/chatgpt-web-codex` | `open-sse/vendor/codex-chatgpt-web/config.ts` | Atsevišķs direktorijs pārlūka, brokera un tuneļa stāvoklim. | | `CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS` | `0` | `open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts` | Ja vērtība ir `1`, katrā kontrolpunktā tiek uzņemti pārlūka diagnostikas attēli. | | `CODEX_CHATGPT_WEB_LAUNCHER` | _(nav iestatīts)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Neobligāts absolūtais ceļš uz pastāvīgu palaidēja bināro failu. | | `CODEX_CHATGPT_WEB_BUN` | _(automātiska noteikšana)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Neobligāts absolūtais ceļš uz Bun izpildvides bināro failu. | | `CODEX_WEB_GPT_BUN` | _(nav iestatīts)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Mantotais atkāpšanās variants mainīgajam `CODEX_CHATGPT_WEB_BUN`; jaunās instalācijās izmanto kanonisko nosaukumu. | --- ## OmniConductor tilts Ilglaicīgs SSE patērētājs, kas spoguļo OmniConductor centrmezgla uzdevumus lokālajā A2A TaskManager (`src/lib/conductor/`). Izvēles funkcija — tilts tiek palaists tikai tad, ja ir iestatīts `CONDUCTOR_HUB_URL`. Tikai servera pusē: centrmezgla pilnvara nekad nedrīkst nonākt pārlūkprogrammā. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ------------------------------ | ----------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `CONDUCTOR_HUB_URL` | _(tukšs)_ | `src/lib/conductor/boot.ts` | OmniConductor centrmezgla bāzes URL (piem., `http://127.0.0.1:7910`). Nav iestatīts = tilts ir atspējots. | | `CONDUCTOR_HUB_TOKEN` | _(tukšs)_ | `src/lib/conductor/boot.ts` | Centrmezgla akreditācijas dati SSE plūsmai — centrmezglā izveidojiet `spokesperson` veida vienādranga mezglu (`POST /v1/peers`, administratoram). | | `CONDUCTOR_ORCHESTRATOR_TOKEN` | _(tukšs)_ | `src/lib/conductor/hubProxy.ts` | Akreditācijas dati ienākošo A2A→centrmezgla uzdevumu deleģēšanai (`POST /v1/tasks`); ja nav iestatīts, tiek izmantots `CONDUCTOR_HUB_TOKEN`. | | `CONDUCTOR_SPOKESPERSON_URL` | `http://127.0.0.1:7920` | `src/lib/conductor/faroProxy.ts` | Aiz informācijas paneļa tērzēšanas starpniekservera (`/api/conductor/ask`) esošā spokesperson (Faro) pakalpojuma bāzes URL. | ### Kvotas ievērojoša plānošana Izmanto `open-sse/services/combo.ts` un `src/lib/quota/quotaScheduler.ts`, lai pirms pieprasījuma pārbaudītu tokenu budžetu. Izvēles funkcija — ja tā nav iestatīta, noklusējuma maršrutēšanas darbība nemainās. | Mainīgais | Noklusējums | Avota fails | Apraksts | | ---------------------------------- | ------------ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_QUOTA_AWARE_ROUTING` | `0` | `open-sse/services/combo.ts` | Ja vērtība ir `1`, izlaiž savienojumus, kuru katra loga tokenu budžets (`rateLimitOverrides.tpm`, tabula `provider_quota_state`) pirms nosūtīšanas nespēj segt aplēstās pieprasījuma izmaksas. Ja budžets nav konfigurēts, pieprasījums tiek atļauts. | | `OMNIROUTE_ESTIMATOR_CALIBRATION` | _(ieslēgts)_ | `open-sse/services/estimatorCalibration.ts` | Konteksta ierobežojuma tokenu novērtētāja atgriezeniskās saites kalibrēšana (#14931): `usage.prompt_tokens` / aplēses EMA katrai (pakalpojumu sniedzēja, modeļa, rīku esamības) kombinācijai, ierobežota diapazonā 0.15–2.0 un glabāta tikai atmiņā. `off`, `0` vai `false` atspējo reģistrēšanu un piemērošanu. | | `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Reģistrē `xai-oauth` (`xao`) un `grok-cli` attēlu maršrutus. Informācijas paneļa funkcijas karogs ar tādu pašu nosaukumu; datubāzes pārrakstīšanas vērtībai ir prioritāte pār šo vērtību. |