# Environment Variables Reference (Eesti) 🌐 **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) · 🇮🇷 [fa](../../../fa/docs/reference/ENVIRONMENT.md) · 🇫🇮 [fi](../../../fi/docs/reference/ENVIRONMENT.md) · 🇫🇷 [fr](../../../fr/docs/reference/ENVIRONMENT.md) · 🇮🇪 [ga](../../../ga/docs/reference/ENVIRONMENT.md) · 🇮🇳 [gu](../../../gu/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ha](../../../ha/docs/reference/ENVIRONMENT.md) · 🇮🇱 [he](../../../he/docs/reference/ENVIRONMENT.md) · 🇮🇳 [hi](../../../hi/docs/reference/ENVIRONMENT.md) · 🇭🇷 [hr](../../../hr/docs/reference/ENVIRONMENT.md) · 🇭🇺 [hu](../../../hu/docs/reference/ENVIRONMENT.md) · 🇦🇲 [hy](../../../hy/docs/reference/ENVIRONMENT.md) · 🇮🇩 [id](../../../id/docs/reference/ENVIRONMENT.md) · 🇳🇬 [ig](../../../ig/docs/reference/ENVIRONMENT.md) · 🇮🇹 [it](../../../it/docs/reference/ENVIRONMENT.md) · 🇯🇵 [ja](../../../ja/docs/reference/ENVIRONMENT.md) · 🇬🇪 [ka](../../../ka/docs/reference/ENVIRONMENT.md) · 🇰🇭 [km](../../../km/docs/reference/ENVIRONMENT.md) · 🇮🇳 [kn](../../../kn/docs/reference/ENVIRONMENT.md) · 🇰🇷 [ko](../../../ko/docs/reference/ENVIRONMENT.md) · 🇱🇹 [lt](../../../lt/docs/reference/ENVIRONMENT.md) · 🇱🇻 [lv](../../../lv/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ml](../../../ml/docs/reference/ENVIRONMENT.md) · 🇮🇳 [mr](../../../mr/docs/reference/ENVIRONMENT.md) · 🇲🇾 [ms](../../../ms/docs/reference/ENVIRONMENT.md) · 🇲🇹 [mt](../../../mt/docs/reference/ENVIRONMENT.md) · 🇲🇲 [my](../../../my/docs/reference/ENVIRONMENT.md) · 🇳🇵 [ne](../../../ne/docs/reference/ENVIRONMENT.md) · 🇳🇱 [nl](../../../nl/docs/reference/ENVIRONMENT.md) · 🇳🇴 [no](../../../no/docs/reference/ENVIRONMENT.md) · 🇮🇳 [or](../../../or/docs/reference/ENVIRONMENT.md) · 🇮🇳 [pa](../../../pa/docs/reference/ENVIRONMENT.md) · 🇵🇭 [phi](../../../phi/docs/reference/ENVIRONMENT.md) · 🇵🇱 [pl](../../../pl/docs/reference/ENVIRONMENT.md) · 🇵🇹 [pt](../../../pt/docs/reference/ENVIRONMENT.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/reference/ENVIRONMENT.md) · 🇷🇴 [ro](../../../ro/docs/reference/ENVIRONMENT.md) · 🇷🇺 [ru](../../../ru/docs/reference/ENVIRONMENT.md) · 🇱🇰 [si](../../../si/docs/reference/ENVIRONMENT.md) · 🇸🇰 [sk](../../../sk/docs/reference/ENVIRONMENT.md) · 🇸🇮 [sl](../../../sl/docs/reference/ENVIRONMENT.md) · 🇷🇸 [sr](../../../sr/docs/reference/ENVIRONMENT.md) · 🇸🇪 [sv](../../../sv/docs/reference/ENVIRONMENT.md) · 🇰🇪 [sw](../../../sw/docs/reference/ENVIRONMENT.md) · 🇮🇳 [ta](../../../ta/docs/reference/ENVIRONMENT.md) · 🇮🇳 [te](../../../te/docs/reference/ENVIRONMENT.md) · 🇹🇭 [th](../../../th/docs/reference/ENVIRONMENT.md) · 🇹🇷 [tr](../../../tr/docs/reference/ENVIRONMENT.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/reference/ENVIRONMENT.md) · 🇵🇰 [ur](../../../ur/docs/reference/ENVIRONMENT.md) · 🇺🇿 [uz](../../../uz/docs/reference/ENVIRONMENT.md) · 🇻🇳 [vi](../../../vi/docs/reference/ENVIRONMENT.md) · 🇳🇬 [yo](../../../yo/docs/reference/ENVIRONMENT.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/reference/ENVIRONMENT.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/reference/ENVIRONMENT.md) --- > Täielik viide iga OmniRoute tuvastatud keskkonnamuutuja kohta. Kiirkäivitusmalli leiate jaotisest [`.env.example`](../../.env.example). > [!IMPORTANT] > Iga siin dokumenteeritud muutuja peab ilmuma ka `.env.example` ja iga muutuja `.env.example` peab olema siin. `npm run check:env-doc-sync` jõustab selle commit ja CI puhul. Muutuja tahtlikuks väljajätmiseks lisage see `scripts/check/check-env-doc-sync.mjs` sees olevasse lubatud loendisse. --- ## Sisukord - [1. Nõutavad saladused](#1-required-secrets) - [2. Salvestus ja andmebaas](#2-storage--database) - [3. Võrk ja pordid](#3-network--ports) - [4. Turvalisus ja autentimine](#4-security--authentication) - [5. Input Sanitization & PII Protection](#5-input-sanitization--pii-protection) - [6. Tööriistade ja marsruutimise eeskirjad](#6-tool--routing-policies) - [7. URLs ja pilvesünkroonimine](#7-urls--cloud-sync) - [8. Väljuv puhverserver](#8-outbound-proxy) - [9. CLI tööriistade integreerimine](#9-cli-tool-integration) - [10. Siseagent ja MCP integratsioonid](#10-internal-agent--mcp-integrations) - [11. OAuth pakkuja mandaat](#11-oauth-provider-credentials) - [12. Pakkuja kasutaja-agendi alistamised](#12-provider-user-agent-overrides) - [13. CLI sõrmejälgede ühilduvus](#13-cli-fingerprint-compatibility) - [14. API peamised pakkujad](#14-api-key-providers) - [15. Timeout Settings](#15-timeout-settings) - [16. Raie](#16-logging) - [17. Mälu optimeerimine](#17-memory-optimization) - [18. Hinnakujunduse sünkroonimine](#18-pricing-sync) - [19. Mudeli sünkroonimine (arendaja)](#19-model-sync-dev) - [20. Pakkujapõhised sätted](#20-provider-specific-settings) - [21. Puhverserver](#21-proxy-health) - [22. Silumine](#22-debugging) - [23. GitHub Integratsioon](#23-github-integration) - [24. Skills Sandbox (v3.8.0 +)](#24-skills-sandbox-v380) - [27. Radari voog (isehostimine)](#27-radar-feed-self-hosting) - [Kasutuselevõtu stsenaariumid](#deployment-scenarios) - [Audit: eemaldatud / surnud muutujad](#audit-removed--dead-variables) --- ## 1. Nõutavad saladused Tühista saladused märgitud** Jah** genereeritakse automaatselt esimesel käivitamisel (`JWT_SECRET`, `API_KEY_SECRET`) ja säilivad `server.env` -le andmekataloogis — määrake need selgesõnaliselt, kui see kataloog on lühiajaline. Erandiks on `OMNIROUTE_WS_BRIDGE_SECRET`: seda ei säilitata `server.env` — jaoks, serveri sisendpunktid loovad lühiajalise alglaadimisväärtuse, mida saab kasutada ainult protsessisisene sild, nii et välised sillakliendid vajavad selle selgesõnaliselt seadistamist. | Muutuv | Nõutav | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------- | ------------------ | --------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `JWT_SECRET` | **Jah** | _(pole)_ | `src/lib/auth` | Signs/verifies kõik armatuurlaua seansi küpsised (JWT). Genereeri `openssl rand -base64 48` ga. | | `API_KEY_SECRET` | **Jah** | _(pole)_ | `src/lib/db/apiKeys.ts` | AES krüpteerimisvõti API -võtme puhkeolekus SQLite. Genereeri `openssl rand -hex 32` abil. | | `INITIAL_PASSWORD` | Ei | _(määramata)_ | `src/lib/auth/managementPassword.ts` | Määrab armatuurlaua parooli käivitamisel, kui ükski pole veel salvestatud; parooli salvestamisel ignoreeritakse. npm ja allikas installivad koopia `.env.example` kohta `.env`, nii et need algavad selle avalikult teadaoleva kohahoidjaga `CHANGEME`: asendage see enne esimest käivitamist või määrake `INITIAL_PASSWORD=` (tühi) selles `.env`, et luua parool esimesel külastusel sisenemisviisardis, nagu seda teeb määramata väärtus ( Docker kujutise vaikeväärtus). Muutke salvestatud parooli jaotises Armatuurlaud → Settings → Security või käivitage `omniroute reset-password` (`node bin/reset-password.mjs` allika kassas), kui `DATA_DIR` on seatud serveri andmekataloogi. | | `OMNIROUTE_WS_BRIDGE_SECRET` | **Jah** (tootmine) | _(määramata)_ | `src/app/api/internal/codex-responses-ws/route.ts` | Sisemise Codex vastuste WebSocket silla jagatud saladus. Autentib sillapäringud Electron/browser WS relee ja OmniRoute vahel. ⚠️**REQUIRED tootmises — kui see on tühistatud, lükatakse kõik WS sillapäringud tagasi.** Genereeri `openssl rand -base64 32`. | | `OMNIROUTE_SW_BUILD_ID` | Ei | _(git SHA)_ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Selge teenindustöötaja vahemälu katkestamise ID PWA kesta jaoks (#11779); esimene lahendus ahelas. | | `SOURCE_VERSION` | Ei | _(määramata)_ | `next.config.mjs`, `scripts/build/assembleStandalone.mjs` | Teine — ahelas, mille PaaS ehitajad (nt Heroku-stiilis) on kasutusele võetud kohustusena. | | `NEXT_PUBLIC_SW_BUILD_ID` | Ei | _(tuletatud)_ | `src/shared/components/PwaRegister.tsx` | Ehitusaja avalik väärtus, mida klient kasutab `/sw.js?v=…` registreerimiseks; tuletatud kahest ülaltoodust, siis git SHA. | | `OMNIROUTE_PEER_STAMP_TOKEN` | Ei (automaatne) | _(automaatne alglaadimise kohta)_ | `src/server/authz/policies/management.ts` | Protsessipõhine salajane, mis tõendab usaldusväärset peer-IP templit, pärineb OmniRoute enda HTTP serverist (`scripts/dev/peer-stamp.mjs`). Authz vahevara usaldab päringu lokaalsust (loopback/LAN värav LOCAL_ONLY marsruutidest) ainult siis, kui tempel kannab seda luba. Automaatselt genereeritud iga alglaadimise — jäta määramata; kinnitage see ainult mitme protsessi seadistuste jaoks, mis peavad jagama templit. | | `OMNIROUTE_TRUSTED_PROXIES` | Ei | _(määramata)_ | `scripts/dev/peer-stamp.mjs` | Komadega eraldatud IPs või CIDR pöördpuhverserveri vahemikud, mille `X-Forwarded-For` / `X-Real-IP` loendis IP allow/deny võib lisaks tagasisilmustele uskuda privaatvõrgu aadresse ja Cloudflare servi, mida alati usaldatakse. Vajalik ainult puhverserveri jaoks mis tahes muul avalikul aadressil; muidu otsustab filter selle puhverserveri enda aadressi. Relee kliendipõhised gaasipedaali (`/api/v1/relay/chat/completions`) klahvid samal lahendatud kliendiaadressil, mitte kunagi ainult edasisaatmisel päistel. | ### Põlvkonna käsud ```bash # Generate all four secrets at once: echo "JWT_SECRET=$(openssl rand -base64 48)" echo "API_KEY_SECRET=$(openssl rand -hex 32)" echo "INITIAL_PASSWORD=$(openssl rand -base64 16)" echo "OMNIROUTE_WS_BRIDGE_SECRET=$(openssl rand -base64 32)" ``` > [!CAUTION] > Ärge kunagi lisage versioonikontrollile tõeliste saladustega `.env` faile. `.gitignore` juba välistab `.env`, kuid kontrollige enne vajutamist. --- ## 2. Salvestus ja andmebaas OmniRoute kasutab**SQLite** ( `better-sqlite3` kaudu) kogu püsivuse tagamiseks. Need muutujad juhivad andmete asukohta, krüptimist ja elutsüklit. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------ | ----------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `DATA_DIR` | `~/.omniroute/` | `src/lib/db/core.ts` | SQLite DB, varukoopiate ja andmefailide juurkataloog. Docker -köidete või kohandatud teede alistamine. | | `OMNIROUTE_ALLOW_DEFAULT_DATA_DIR` | _(määramata)_ | `src/lib/dataPaths.ts` | Evakuatsiooniluuk test/eval DATA_DIR kaitsele (#10428). Testid ja sõlme eval/print sondid (`-e`/`--eval`/`-p`/`--print`, sealhulgas `--eval=`/`--print=` vormid), millel puudub `DATA_DIR` suunatakse ümber viskamise tempkataloogi, nii et nad ei saa avada operaatori tegelikku andmebaasi; seadke väärtusele `1`, et lubada uuesti päriskataloogi. | | `OMNIROUTE_BUILD_SHA` | _(määramata)_ | `src/lib/monitoring/buildSha.ts` | Git SHA jooksvast artefaktist. `npm run build:release` tempel ; süstitav konteinerites, mis tarnitakse ilma `dist/BUILD_SHA` valvurita. Pinnatud kui `system.buildSha` `/api/monitoring/health` peal. | | `OMNIROUTE_RELEASE_REF` | `origin/main` | `scripts/build/buildProvenance.ts` | Ref pakendi-artefakti päritoluvärav kontrollib konstruktsiooni SHA (#10427). | | `OMNIROUTE_ALLOW_CANARY_BUILD` | _(määramata)_ | `scripts/build/buildProvenance.ts` | Määrake väärtusele `1` et lubada pakkida konstruktsioon, mille SHA ei ole väljalaskereal, salvestades selle tahtliku kanaarilina, selle asemel, et väravat rikkuda (#10427). | | `OMNIROUTE_SMOKE_API_KEY` | _(määramata)_ | `scripts/ops/deploy-canary.mjs` | API klahv kanaari juurutamise suitsusondi jaoks, mis saadetakse `Authorization: Bearer` -na `/v1/chat/completions`. Kasutab ainult juurutusskript (#10429), mitte kunagi server. Ei ole seotud opt-in CLI suitsujuhtmestiku `OMNIROUTE_SMOKE_*` muutujatega (`RUN_CLI_SMOKE=1`, `OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS` in `tests/integration/upstream-cli-smoke.int.test.ts`) — vt [CLI Integratsioonid → Real suitsu pühkimine](../guides/CLI-INTEGRATIONS.md). | | `OMNIROUTE_BUILDING` | _(määramata)_ | `src/lib/buildPhase.ts` | Järgufaasi signaal (#10060): `scripts/build/build-next-isolated.mjs` seab väärtusele `1` ja selle pärib iga loodud ehitustööline, nii et DB kiht tagastab toiminguvaba tünni, selle asemel et laadida natiivse better-sqlite3 lisand (mis katkestab töötaja väljumisel). Ärge kunagi seadistage töötava serveri jaoks. | | `OMNIROUTE_SKIP_NATIVE_DEP_CHECK` | `0` | `scripts/check/check-native-deps.mjs` | Määrake väärtusele `1`, et jätta vahele valikuline natiivse sõltuvuse eelehituse kontroll eksootiliste müüdavate puude jaoks. See ei muuda puuduvat sõltuvust ehitatavaks; kasutada ainult siis, kui natiivseid sõltuvusi tarnitakse väljaspool sagedusala. | | `OMNIROUTE_DATA_DIR` | _(määramata)_ | `open-sse/executors/promptql/threadSticky.ts` | **Varualias** `DATA_DIR` puhul kontrollitakse ainult siis, kui `DATA_DIR` on välja lülitatud. Kasutatakse PromptQL täituri kettale keermega kleepuva seansi vahemälu (`/promptql-thread-sessions.json`) leidmiseks; kui kumbagi muutujat pole määratud, jääb vahemälu ainult mällu (taaskäivituste ajal ei püsi). | | `OMNIROUTE_PLUGINS_DIR` | _(määramata)_ | `src/lib/plugins/scanner.ts` | Kataloog** käitusaegse pistikprogrammi skanner** loeb — ja juur, mille pluginahaldur installib — -sse, alistades kodust tuletatud vaikeväärtuse (#11827). Suunake see Docker/K8s olevale sidumisega ühendatud pistikprogrammide puule, selle asemel, et liigutada HOME lihtsalt skannimistee ümberpaigutamiseks (HOME reguleerib ka kõiki teisi koduga seotud käitumisi). Tühista = `~/.omniroute/plugins` või `/tmp/.omniroute/plugins`, kui protsess ei ekspordi kodu üldse — vaikne mitteavastamine, mille see muutuja eemaldab. Lahendatud kataloog logitakse käivitamisel üks kord `scanner.dir_resolved` na võitnud sisendiga. Ainult serveripoolne: CLI käsupluginad säilitavad oma `OMNIROUTE_PLUGIN_PATH` (jaotis 9). | | `STORAGE_ENCRYPTION_KEY` | _(tühi = on keelatud)_ | `src/lib/db/encryption.ts` | AES võti täielikuks SQLite andmebaasi krüptimiseks puhkeolekus. Genereeri `openssl rand -hex 32` ga. | | `STORAGE_ENCRYPTION_KEY_VERSION` | `v1` | `scripts/build/bootstrap-env.mjs`, `electron/main.js` | Krüpteerimisvõtme versioonisilt. Suurendage võtme pööramisel, et toetada vanade varukoopiate dekrüpteerimist. | | `DISABLE_SQLITE_AUTO_BACKUP` | `false` | `src/lib/db/backup.ts` | Kui `true`, jätab routine/pre-write SQLite failide varukoopiad vahele (models.dev pricing save/clear, seaded kirjutab). Käsitsi ja taastamiseelsed varukoopiad töötavad endiselt. On küll** mitte** keelake migratsioonijooksja kohustuslik vastupidav ohutushetktõmmis või massilise migratsiooni valvur olemasoleva püsiva DB jaoks. Mittekäsitsi varukoopiaid vähendatakse maksimaalselt üks kord 60 minuti jooksul. Armatuurlaud** Seaded → Storage** saab rutiinse automaatse varundamise iseseisvalt keelata. | | `OMNIROUTE_SQLITE_SLOW_MS` | _(unset/off)_ | `src/lib/db/adapters/slowDiagnostics.ts` | Millisekundid; väärtused alla 1 või mittenumbrilised jäävad välja; hoiatab kõige rohkem kord 10 sekundi jooksul; logireal on ainult draiver, toiming ja elapsedMs. | | `OMNIROUTE_SQLITE_OPTIMIZE_ENABLED` | `true` | `src/lib/db/sqlitePlannerStats.ts` | Säilituspuhastusest sõltumatu taustaplaneerija statistika hooldus: esimene lubatud puhastuskäik (tavaliselt 30 sekundit pärast käivitamist, pärast migreerimist) käivitab `PRAGMA optimize=0x10002`; järgnevad läbimised iga 6 tunni järel käivitage `PRAGMA optimize` (või `PRAGMA optimize=0x00002` piiramatu analüüsi jaoks). `false` või `0` keelab kogu hoolduse (tõstutundlik, tühikud on kärbitud). Mälu andmebaase ja kirjutuskaitstud varukoopiateid see ei mõjuta. Rikked logitakse, mitte ei visata. | | `OMNIROUTE_SQLITE_ANALYSIS_LIMIT` | `400` | `src/lib/db/sqlitePlannerStats.ts` | Määrab `PRAGMA analysis_limit` enne optimeerimist. Kümnendtäisarvud on fikseeritud [0, 100000]; malformed/empty väärtused on vaikimisi 400. `0` nõuab piiramatut arvu, optimeerimise teel valitud tabelite täpset analüüsi; perioodiline läbimine tühjendab selle järgimiseks SQLite optimeerimise diskreetimispiiri. Eraldiseisvat SQL -analüüsi lauset ei käivitata. | | `OMNIROUTE_CRYPT_KEY` | _(määramata)_ | `src/lib/db/encryption.ts` | **Pärandalias** `STORAGE_ENCRYPTION_KEY` jaoks. Aktsepteeritakse varuvariandina, kui esmane muutuja puudub. | | `OMNIROUTE_API_KEY_BASE64` | _(määramata)_ | `src/lib/db/encryption.ts` | **Pärandalias** (Base64-encoded vorm) aktsepteeritakse varuvariandina. Enne kasutamist dekodeeritakse automaatselt. | | `OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS` | _(määramata)_ | `src/lib/db/core.ts` | Perioodilise SQLite tervisekontrolli intervalli (ms) alistamine. Kui see on määramata, tuletatakse vaikeväärtused `NODE_ENV`. | | `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS` | _(eemaldatud)_ | `src/lib/db/walMaintenance.ts` | **Eemaldatud.** Perioodiline reaalajas `wal_checkpoint(TRUNCATE)` võib jagatud wal-indeksi vastenduse kehtetuks muuta ja protsessi SIGBUS -ga (#13973) kokkujooksda, nii et plaanijat enam ei eksisteeri. Muutuja on inertne: positiivne väärtus logib ühekordse kulumishoiatuse, samas kui `0` või unset vaikib. WAL hooldavad PASSIVE kontrollpunktid (allpool) ja kärbivad väljalülitamise kontrollpunktid. | | `OMNIROUTE_WAL_PASSIVE_INTERVAL_MS` | `300000` (5 m) | `src/lib/db/walMaintenance.ts` | Sagedase `wal_checkpoint(PASSIVE)` intervalli (ms) alistamine. Hoiab ootel olevad WAL -kaadrid väikesena, nii et kontrollpunktid jäävad kiireks ja WAL fail jääb seiskamiskärbete vahele piiratud. `0` keelab. | | `OMNIROUTE_WAL_GUARD_MAX_MB` | `256` | `src/lib/db/walMaintenance.ts` | Kui PASSIVE linnuke leiab sellest suurusest suurema WAL faili, käivitage `wal_checkpoint(RESTART)`, et WAL algaks otsast ilma kaardistatud wal-indeksit ümber kirjutamata. Reaalajas kärbitud režiimi kontrollpunktid eemaldati (vt `OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS` rida). | | `OMNIROUTE_PRESSURE_SELF_RESTART` | `false` | `open-sse/utils/resourcePressure.ts` | Määrake `1`/`true`/`yes`/`on`, et väljuda protsessist pärast seda, kui `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS` jaoks on säilinud kriitiline ressursisurve, võimaldades järelevaatajal (systemd `Restart=always`, Docker taaskäivitamise poliitika) tuua tagasi puhas protsess, selle asemel et 503s määramata aja jooksul teenindada. | | `OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS` | `120000` (2m) | `open-sse/utils/resourcePressure.ts` | Kui kaua peab kriitiline rõhk püsima enne, kui isekäivitav väljapääs süttib. | | `OMNIROUTE_PRESSURE_PSI_DISABLED` | `false` | `open-sse/utils/resourcePressurePolicy.ts` | Seadistage väärtusele `1`/`true`/`yes`/`on`, et ignoreerida kogu hosti `/proc/pressure/memory` (`psi_some` / `psi_full`), kui mürarikas naaber väljastab 503 sekundit, kui see protsess on korras (#13124). Cgrupi ja V8 kuhjakaitsed jäävad peale. PSI lakkab lugemast ka `cgroup_high` kerneli drosselklapi tõestuseks: c-rühma kogusumma, mis on suurem kui `memory.high`, muutub kriitiliseks ainult `memory.events` `high`/`max` suurenemisel. Ilma `memory.events` hoitakse töötlemata suhet. | | `OMNIROUTE_SQLJS_WASM_PATH` | _(automaatne tuvastamine)_ | `src/lib/db/adapters/sqljsAdapter.ts` | `sql.js` WASM varuadapteri kasutamisel `sql-wasm.wasm` selge tee (absoluutne või suhteline cwd). Määramata jätmisel tuvastatakse automaatselt paketisõltuvuste ja kandidaatide paigutuste kaudu. | | `OMNIROUTE_BATCH_RETENTION_DAYS` | `30` | `src/lib/db/cleanup.ts` | Terminali päevad (completed/failed/cancelled/expired) API -töö kontrollpunktid, viidatud input/output/error failid ja rida hoitakse enne kustutamist automaatse puhastuspühkimisega. Kehtib alles siis, kui `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` on sisse lülitatud; vastab OpenAI enda partii API väljundi säilitamise aknale. Ei mõjuta operaatori käivitatud `DELETE /api/v1/batches/delete-completed` -marsruuti, mis jääb disainilt tingimusteta (vanusefiltrita). | | `BATCH_AND_FILE_AUTO_CLEANUP_ENABLED` | `false` | `src/lib/db/cleanup.ts` | Kui `true`, laske automaatsel puhastamisel kustutada terminal. Pakendage API -tööd (ja nende kontrollpunktid) `OMNIROUTE_BATCH_RETENTION_DAYS` mööda ja tühjendage üleslaaditud failide BLOB sisu, mis on möödas nende enda `expires_at`. Vaikimisi välja lülitatud: iga olemasolev installimine säilitab need andmed täpselt nii nagu varem, kuni operaator seda lubab. Samuti armatuurlaual redigeeritav funktsioonilipp — vt `docs/reference/FEATURE_FLAGS.md` → Runtime. | | `OMNIROUTE_SKIP_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts`, `src/lib/db/healthCheck.ts` | Seadistage `1`, et DB tervisekontroll käivitamisel täielikult vahele jätta. Kasulik lühiajaliste ülesannete ja integratsioonitestide jaoks. | | `OMNIROUTE_FORCE_DB_HEALTHCHECK` | `0` | `src/lib/db/core.ts` | Seadistage `1`, et sundida DB tervisekontrolli silmust sisse, isegi kui see tavaliselt vahele jäetakse (nt lühiajalised toimingud). | | `OMNIROUTE_SKIP_POSTINSTALL` | `0` | `scripts/postinstall.mjs` | Seadistage `1`, et `npm install` ajal algse käitusaja soojendus vahele jätta. Kasulik CI/headless installides, kus sqlite on juba ehitatud. | | `OMNIROUTE_MIGRATIONS_DIR` | _(automaatne tuvastamine)_ | `src/lib/db/migrationRunner.ts` | Alistage kataloog, mida migratsiooni käivitaja kontrollib. Kasulik kohandatud järgudes komplekteeritud migratsioonide saatmisel. | | `OMNIROUTE_EXTRA_MIGRATIONS_DIRS` | _(määramata)_ | `src/lib/db/migrationRunner/extraDirs.ts` | Täiendavad migratsioonikataloogid `namespace=dir` kirjetena, mis on eraldatud platvormi tee eraldajaga (nt `ee=/opt/app/enterprise/db/migrations`). Sealt leitud failid salvestatakse kui `-`, nii et oma migratsiooni edastav distributsioon ei põrka kunagi kokku ülesvoolu numbripiludega. Vigane kirje, kehtetu nimeruum või puuduv kataloog viskab käivitamisel skeemi vaikselt vahele jätmise asemel. | | `OMNIROUTE_MAX_PENDING_MIGRATIONS` | `50` | `src/lib/db/migrationRunner.ts` | Massilise ootel migratsiooni ohutuslävi (#3416). Käivitamine katkeb, kui olemasoleval DB (kaitseb kustutatud jälgimistabelit) on ootel rohkem kui see mitu migratsiooni. Tõstke see üles vanema varukoopia taastamiseks; kontrolli keelamiseks seadke `0`. | | `OMNIROUTE_INSTALL_UPGRADE_WORKDIR` | _(`/.install-upgrade`)_ | `scripts/check/check-install-upgrade.mjs` | `check:install-upgrade` vabastusvärava töökataloog. See vajab ligikaudu 12 GB (kaks ~ 3 GB installipuud pluss tarball), nii et see ei tohi töötada väikesel tmpfs-il. — isemastilisel jooksjal `/tmp` on 12 GB RAM-iga toetatud tmpfs ja värav ammendas selle, kärpides paketi. | | `OMNIROUTE_SPEND_FLUSH_INTERVAL_MS` | _(vaikimisi koodis)_ | `src/lib/spend/batchWriter.ts` | Loputusintervall (ms) pakendatud spend/cost kirjutaja jaoks. Madalamad väärtused vähendavad kirjutamise ühendamist; kõrgemad väärtused vähendavad DB vaidlust. | | `OMNIROUTE_SPEND_MAX_BUFFER_SIZE` | _(vaikimisi koodis)_ | `src/lib/spend/batchWriter.ts` | Max puhverdatud kulukirjed enne sunnitud loputamist. Suurendage kõrge QPS-iga kasutuselevõttu; madalam, kui piiratud mälu on olulisem. | | `OMNIROUTE_PROXY_FETCH_DEBUG` | _(määramata)_ | `open-sse/utils/proxyFetch.ts` | Määrake `"true"`, et väljastada `[ProxyFetch]` silumislogid Vercel relee teel. Vaikimisi väljas, et vältida marsruudivihjete lekkimist. | | `OMNIROUTE_PROXY_CORE_BINARY_PATH` | _(määramata)_ | `src/lib/proxySubscription/coreConfig/sync.ts` | Kohaliku puhverserveri tuumbinaarfaili absoluuttee (fail nimega `sing-box` / `mihomo`), mis kontrollib loodud põhikonfiguratsiooni enne vastuvõetud faili asendamist. Unset kirjutab `.generated` ainult vastuvõetud faili kõrvale. Ainult hostikeskkond: ei salvestata kunagi andmebaasi ega aktsepteerita halduse API kaudu, kuna binaarfail käivitatakse. | | `OMNIROUTE_PROXY_CORE_RELOAD_COMMAND` | _(määramata)_ | `src/lib/proxySubscription/coreConfig/reload.ts` | Kuidas kohalik puhverserveri tuum uuesti laaditakse pärast kontrollitud konfiguratsiooni asendamist: JSON argumentide massiiv töötab ilma kestata või täpselt `external`, kui välisvaatleja faili rakendab. Pole kunagi salvestatud andmebaasi ega avaldatud API kaudu. | | `PROXY_LOG_INCLUDE_IPS` | `false` | `src/lib/proxyLogger.ts` | Määrake `"true"` või `"1"`, et lisada client/egress IPs ja konto eesliide üksikasjalikule `[ProxyEgress]` protsessilogi reale. Vaikimisi säilitati OFF nii et protsessilogi ei lekiks IPs ega konto eesliidet. | | `OMNIROUTE_DEBUG` | _(määramata)_ | `bin/cli/commands/quota.mjs` | Määrake väärtusele `1`, et printida päringupõhise ajastuse diagnostika (`[omniroute] GET completed in Nms`) CLI quota käskudest stderrile. | | `OMNIROUTE_HEALTHCHECK_PATH` | _(automaatne)_ | `scripts/dev/healthcheck.mjs` | Konteineri tervisekontrolliga uuritud selgesõnaline tee. Määramata, tuletab sond selle väärtusest `OMNIROUTE_BASE_PATH`; määrates selle uuesti sügava jälgimise lõpp-punkti. | | `OMNIROUTE_DEBUG_COMPLETION` | _(määramata)_ | `bin/cli/commands/completion.mjs` | Määrake mis tahes mittetühi väärtus, et väljastada `[omniroute completion]` -diagnostika CLI kesta lõpetamise vahemälu radadest (read/refresh/write). Vaikimisi välja lülitatud — need vahemälud tõrjuvad vaikselt, nii et missing/corrupt vahemälu ei katkesta kunagi vahekaartide lõpetamist. | | `BATCH_RETRY_DURATION_MS` | `86400000` (24h) | `open-sse/services/batchProcessor.ts` | Üksikute partiiüksuste maksimaalne uuesti proovimise aken (ms). Seda kestust ületavad üksused märgitakse ebaõnnestunuks. | | `BATCH_BACKOFF_BASE_MS` | `5000` | `open-sse/services/batchProcessor.ts` | Baasviivitus (ms) eksponentsiaalseks tagasilükkamiseks partiiüksuse korduskatsetel. | | `BATCH_BACKOFF_MAX_MS` | `3600000` (1 h) | `open-sse/services/batchProcessor.ts` | Ülempiir (ms) eksponentsiaalseks tagasilükkamiseks partiiüksuse korduskatsete vahel. | | `BATCH_MAX_CONCURRENT` | `1` | `open-sse/services/batchProcessor.ts` | Maksimaalne samaaegselt töödeldud partiide arv. Tõstke läbilaskevõime suurendamiseks; hoidke madalal, et vältida kiiruspiiranguga torme. | > [!IMPORTANT] > Enne olemasoleva püsiva andmebaasi muutmist avaldab migratsiooni käivitaja täieliku sisuga seotud hetktõmmise `DATA_DIR/db_backups/` all. Avaldamiseks on vaja failisüsteemi, mis toetab sama failisüsteemi, ülekirjutamata kõvalinke ja püsivat failide sünkroonimist. POSIX -hostid nõuavad ka kataloogide sünkroonimist; Windows puhul võib Node kataloogikäepidemed tagasi lükata, nii et OmniRoute loputab avaldatud faili ja käsitleb kataloogikirjete sünkroonimist parima jõupingutusena. Kui monteeritud `DATA_DIR` ei suuda neid garantiisid pakkuda, suletakse käivitamine enne migratsiooni rakendamist nurjudes. Liiguta `DATA_DIR` nende primitiividega ruumalasse; ärge kasutage `DISABLE_SQLITE_AUTO_BACKUP` migratsiooniohutusest möödahiilimiseks. ### Stsenaariumid | Stsenaarium | Seadistamine | | ---------------------------- | ---------------------------------------------------------------------------------------------- | | **Kohalik areng** | Jäta kõik vaikeseaded. DB elab aadressil `~/.omniroute/omniroute.db`. | | **Docker** | `DATA_DIR=/data` + paigaldage helitugevus `/data`. | | **Krüpteeritud puhkeolekus** | Määra `STORAGE_ENCRYPTION_KEY` + hoia võtme varukoopiaid! Selle kaotamine = andmete kaotamine. | | **CI/Testing** | `DATA_DIR=/tmp/omniroute-test` — lühiajaline, krüpteerimist pole vaja. | --- ## 3. Võrk ja pordid | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `PORT` | `20128` | `src/lib/runtime/ports.ts` | Peamine port nii armatuurlaua UI kui ka API lõpp-punktide jaoks (ühe pordi režiim). | | `OMNIROUTE_BASE_PATH` | _(tühi = juur)_ | `next.config.mjs`, `scripts/docker/ensure-docker-base-path.mjs` | URL alamtee OmniRoute teenindamiseks pöördpuhverserveri taga (määrab Next.js `basePath`; autentimise ümbersuunamised on basePath-teadlikud). Nt `/omniroute`. In Docker väärtus küpsetatakse ajal `docker build` (`ARG OMNIROUTE_BASE_PATH`); Eelehitatud juurkujutised võivad konteineri käivitamisel enne Next.js käivitamist rakendada teistsuguse käitusaja väärtuse. Määrake `NEXT_PUBLIC_BASE_URL` avalikuks lähtekohaks, sealhulgas sama alamtee. | | `NEXT_PUBLIC_OMNIROUTE_BASE_PATH` | _(tühi = juur)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Brauseris nähtav `OMNIROUTE_BASE_PATH` peegel, mis on ehituse ajal sisse kirjutatud, nii et armatuurlaua lõpp-punkti kuval kuvatakse `https://host/omniroute/v1` asemel `https://host/v1`. Tühistamisel langeb tagasi `OMNIROUTE_BASE_PATH`. Ehitage pärast muutmist uuesti (Järgmine `basePath` on ehitamise aeg). | | `DASHBOARD_ALLOW_EMBED` | _(unset = pole kunagi kadreeritav)_ | `next.config.mjs`, `scripts/build/dashboardEmbed.mjs` | Lubage HTML lehtede iframe manustamine. Määramata, saadetakse iga marsruut `frame-ancestors 'none'` + `X-Frame-Options: DENY`. Seadistage `vscode`, et teenindada lehti (armatuurlaud, sisselogimine, dokumendid, maandumine) `frame-ancestors 'self' vscode-webview:` ja ilma `X-Frame-Options`, et VS koodi lihtne brauser saaks need renderdada (OmniCopilot `dashboardOpen: "editor"` -režiim). API pind (`/api`, `/v1`, `/v1beta`, `/a2a`, `/healthz`, juurtaseme varjunimed) säilitab ranged päised igal juhul. Tuvastatakse ainult `vscode` — `1`/`true` ei luba seda. Järelehitusaeg: ehitage uuesti pärast muutmist (piltide jaoks `docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode` ; eelinstallitud installi seadistamine ei mõjuta). | | `API_PORT` | _(määramata)_ | `src/lib/runtime/ports.ts` | Kui see on määratud, teenindab `/v1/*` puhverserverit API (pluss Gemini-native `/v1beta/*`) selles eraldi pordis. | | `API_HOST` | `0.0.0.0` | `src/lib/runtime/ports.ts` | API pordi sidumisaadress. | | `DASHBOARD_PORT` | _(määramata)_ | `src/lib/runtime/ports.ts` | Kui see on seadistatud, teenindab armatuurlaua UI selles eraldi pordis. | | `OMNI_MAX_CONCURRENT_CONNECTIONS` | `0` _(keelatud)_ | `src/sse/utils/backpressure.ts` | Piirab samaaegseid vestlusühendusi lennu ajal; päringud üle piiri saada `503` koos `Retry-After`. Positiivne täisarv lubab valvuri; unset/`0` keelab selle. | | `OMNIROUTE_INSTANCE_ID` | _(määramata)_ | `src/shared/resilience/peerRouting.ts` | Stabiilne ja ainulaadne ID selle lüüsi jaoks OmniRoute eksemplaride aheldamisel. Lubab sissetuleva võrdõigusahela kontrolli. Lubatud märgid: tähed, numbrid, `.`, `_`, `:` ja `-`; maksimaalselt 64 tähemärki. | | `OMNIROUTE_PEER_URLS` | _(määramata)_ | `src/shared/resilience/peerRouting.ts`, `open-sse/executors/base.ts` | Komaga eraldatud OmniRoute põhi URLs, mis võib vastu võtta `X-OmniRoute-Peer-Trace`. Ainult selgesõnaliselt lubatud loendis ülesvoolu URLs saavad partnerite metaandmeid; kõik teised pakkujad on puutumata. | | `OMNIROUTE_PEER_MAX_HOPS` | `4` | `src/shared/resilience/peerRouting.ts` | Varem külastatud OmniRoute eksemplaride maksimaalne arv, mis on aheldatud päringuga vastu võetud (`1`-`32`). Korduvad juhtumid või ammendatud eelarve tagastavad HTTP `508 Loop Detected`. | | `PROD_DASHBOARD_PORT` | `20130` | `docker-compose.prod.yml` | Hostipoolne avaldatud port juhtpaneeli jaoks Docker tootmisrežiimis. | | `PROD_API_PORT` | `20131` | `docker-compose.prod.yml` | Hostipoolne avaldatud port API jaoks Docker tootmisrežiimis. | | `OMNIROUTE_PORT` | _(määramata)_ | `src/lib/runtime/ports.ts` | Electron või muude ümbriste sees töötamisel on `PORT` suhtes ülimuslik. | | `LIVE_WS_PORT` | `20129` | `src/server/ws/liveServer.ts` | Port reaalajas WebSocket reaalajas jälgimise serveri jaoks. | | `LIVE_WS_HOST` | `127.0.0.1` | `src/server/ws/liveServer.ts` | Reaalajas WebSocket serveri sidumisaadress. Seadistage `0.0.0.0`, et kuvada LAN (konfigureerige ka `LIVE_WS_ALLOWED_ORIGINS`). Ühendused autentitakse armatuurlaua seansiküpsise või kandja API -võtmega, millel on haldusulatus (`manage`/`admin`). | | `LIVE_WS_ALLOWED_ORIGINS` | _(määramata)_ | `src/server/ws/liveServer.ts` | Komaga eraldatud lisalähtekohad võimaldavad avada reaalajas WebSocket. Loopback armatuurlaua päritolu on juba vaikimisi lubatud. | | `LIVE_WS_ALLOWED_HOSTS` | _(määramata)_ | `src/server/ws/liveServerAllowList.ts` | Reaalajas WebSocket päritolu jaoks on lubatud komadega eraldatud lisahostinimed. Erinevalt `LIVE_WS_ALLOWED_ORIGINS` (full origin URLs), sobib ainult hosti osa — on kasulik LAN/Tailscale seadistuste jaoks. | | `NEXT_PUBLIC_LIVE_WS_PUBLIC_URL` | _(määramata)_ | `src/hooks/useLiveDashboard.ts` | Avalik URL reaalajas armatuurlauale WebSocket (brauseripoolne). Määratakse WS -serveri eesotsas pöördpuhverserveri või Cloudflare tunneliga (nt `wss://ws.my-ai.com/live-ws`); brauser ühendub seal `ws://hostname:20132` asemel. Teenime osa kasutatakse ka WebSocket täiendusteena (vaikimisi: `/live-ws`). | | `OMNIROUTE_ENABLE_LIVE_WS` | `true` | `src/server/ws/liveServer.ts` `scripts/start-ws-server.mjs` | Määrake `0` või `false` et keelata reaalajas WebSocket server (vaikimisi lubatud, tagasisilmusseotud). CI/harness lüliti, mis keelab eraldiseisva reaalajas WebSocket abiskripti. | | `RELAY_IP_PER_MINUTE` | `30` | `src/app/api/v1/relay/chat/completions/route.ts` | Per-(token, IP) relee kiiruse piirang, requests/minute. mälus, eksemplari kohta. `0` või negatiivne keelab IP-dimensiooni värava (tokeni DB piirang kehtib endiselt). | | `NODE_ENV` | `production` | Next.js tuum | Juhib logimise paljusõnalisust, vahemällu salvestamist, vigade üksikasjade eksponeerimist ja Next.js optimeerimist. | | `OMNIROUTE_USE_TURBOPACK` | _(unset)_ (automaatne järgu valik) | `scripts/build/build-next-isolated.mjs` | `npm run build` puhul valib määramata või tühi veebipaketi, kui efektiivne mälupiirang (füüsiline RAM või madalam cgroup/process kvoot) on maksimaalne** 16 GiB** või ei ole võimalik ohutult kindlaks määrata; üle 16 GiB on valitud Turbopack. Selgesõnaline `0` sunnib veebipakki; selgesõnaline `1` ja muud mittetühjad nullist erinevad väärtused sunnivad Turbopack. Compose'i edastatud tühi keskkonnaväärtus teeb seda** mitte** jõud Turbopack. See lävi tuleneb 15,6 GiB ehitusmälu regressioonist (#18184); 24/32 GiB hostiversioone ei võrreldud. Tootmisveebipakett jätab vaikimisi automaatselt vahele oma püsiva vahemälu (vt `OMNIROUTE_WEBPACK_BUILD_CACHE` allpool; #18141) ja ehitab oluliselt väiksema RSS tipuga kui praegune Turbopack tee. Arendus säilitab oma olemasoleva komplekteerimiskäitumise.**Docker ehitab juba vaikimisi `0` (veebipakett)** ; kasutage lubamiseks `--build-arg OMNIROUTE_USE_TURBOPACK=1`. Vaadake `docs/guides/DOCKER_GUIDE.md`. | | `OMNIROUTE_WEBPACK_BUILD_CACHE` | _(määramata)_ | `next.config.mjs` | Veebipaketi tootmisjärgud (`OMNIROUTE_USE_TURBOPACK=0`) jätavad veebipaketi püsiva failisüsteemi vahemälu vahele, kui see pole `1`. Selle vahemälu kirjutamine lisab umbes 2,5 GB tippmälu 6144 MB hunniku ülemmäära juures ja puhtad järgud ei loe seda kunagi tagasi. Määrake väärtusele `1`, et hoida `.build/next/cache/webpack` kiiremaks kordamiseks masinal, millel on RAM varuks; Docker -järgud võtavad seda kui `--build-arg OMNIROUTE_WEBPACK_BUILD_CACHE=1` (`Dockerfile` ja `Dockerfile.bun` ehitusetapid). | | `OMNIROUTE_SKIP_DB_HEALTHCHECK` | _(määramata)_ | `src/lib/db/core.ts` / `src/lib/db/healthCheck.ts` | Seadistage `1`, et jätta käivitamisel SQLite terviklikkuse kontroll vahele. Kasulik kiiremaks käivitamiseks suurtes andmebaasides. | | `NOTIFY_SOCKET` | _(määramata)_ | systemd (sd_notify protokoll) | Seadistab systemd, kui protsess töötab sd_notify integratsiooniga teenindusüksuses; OmniRoute loeb seda (vt `OMNIROUTE_DISABLE_SD_NOTIFY`), et saata READY/WATCHDOG -teatisi. Pole kunagi kasutaja poolt määratud. | | `OMNIROUTE_DISABLE_SD_NOTIFY` | _(määramata)_ | `scripts/dev/systemd-notify.mjs` | Seadistage väärtusele `1`, et keelata systemd sd_notify (tüüp = notify / WatchdogSec=) isegi siis, kui see töötab systemd-üksuse all. Teavitaja on sellest hoolimata väljaspool süsteemi toimiv. | | `CREDENTIAL_HEALTH_CHECK_INTERVAL` | `3600000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/scheduler.ts` | Taustamandaadi tervisekontrolli ajakava intervall (ms). Minimaalne: 10 000 (10 s). | | `CREDENTIAL_HEALTH_CACHE_TTL` | `300000` | `open-sse/config/constants.ts` / `src/lib/credentialHealth/cache.ts` | TTL (ms) vahemällu salvestatud mandaadi tervisliku seisundi jaoks. | | `OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK` | `false` | `src/lib/credentialHealth/scheduler.ts` | Määrake `1` või `true` et keelata teenusepakkuja ühenduste taustal perioodiline testimine. Otsingupakkujad (SEARCH_VALIDATOR_CONFIGS in `src/lib/providers/validation/searchProviders.ts`, nt `tavily-search`) jäetakse alati — pühkimisest välja, kuna nende "valideerimine" on tõeline arveldatud ülesvoolu päring, nii et nende tervist ei kontrollita kunagi taimeriga (#9970). | | `DEEP_HEALTH_CHECK_ENABLED` | `0` | `src/app/api/monitoring/health/route.ts` | Määrake väärtusele `1` et lubada autentitud helistajal taotleda `/api/monitoring/health?deep=1`, mis proovib lõpetamiste pinda üks kord TTL kohta. Anonüümsed helistajad ei käivita kunagi uurimist. | | `OMNIROUTE_EVENT_LOOP_STALL_THRESHOLD_MS` | `5000` | `src/lib/healthzLag.ts` | Alglaadimissündmuse tsükli salvesti seiskumise lävi (ms): sellest pikem külmutamine logib jätkamisel ühe `event loop stalled` rea koos mälu ja lennu ajal toimuvate loendustega ning tõrjub `eventLoopStall` counter/maximum `/api/monitoring/health`. Keelamiseks määrake `0` ; loetamatu või negatiivne väärtus langeb tagasi väärtusele `5000`. | | `HOST` | `0.0.0.0` | `scripts/dev/run-next.mjs` | Next.js dev/start serveri sidumisaadress. Alistab vaike- `0.0.0.0`, kui see on määratud. | | `HOSTNAME` | `127.0.0.1` | `scripts/dev/run-next-playwright.mjs` | Sidumisaadress, mida Playwright jooksja kasutab Next.js käivitamisel. Hermeetiliste testide jaoks vaikimisi `127.0.0.1`.** Ärge kasutage `omniroute serve` jaoks** — kasutage selle asemel `OMNIROUTE_SERVER_HOST` (POSIX kestad seab `HOSTNAME` automaatselt masina nimele; `.env` ei saa seda alistada). | | `OMNIROUTE_SERVER_HOST` | `0.0.0.0` | `bin/cli/commands/serve.mjs` | `omniroute serve` sidumisaadress. Väldib kokkupõrget POSIX kesta muutujaga `HOSTNAME` (seatakse alati masina nimeks bash/zsh). Seadistamise tühistamisel langeb tagasi `0.0.0.0`. (#6194) | ### Pordirežiimid ``` ┌─────────────────────────── Single Port (default) ──────────────────────────┐ │ PORT=20128 │ │ → Dashboard: http://localhost:20128 │ │ → API: http://localhost:20128/v1/chat/completions │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────── Split Ports ─────────────────────────────────────┐ │ DASHBOARD_PORT=20128 │ │ API_PORT=20129 │ │ API_HOST=0.0.0.0 │ │ → Dashboard: http://localhost:20128 │ │ → API: http://0.0.0.0:20129/v1/chat/completions │ │ Use case: Expose API to LAN while restricting Dashboard to localhost. │ └─────────────────────────────────────────────────────────────────────────────┘ ┌─────────────────────────── Docker Production ──────────────────────────────┐ │ PROD_DASHBOARD_PORT=443 PROD_API_PORT=8443 │ │ → Maps container ports to host ports in docker-compose.prod.yml. │ └─────────────────────────────────────────────────────────────────────────────┘ ``` --- ## 4. Turvalisus ja autentimine | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MACHINE_ID_SALT` | `endpoint-proxy-salt` | `src/lib/auth` | Sool kombineeritud riistvara identifikaatoritega masina sõrmejälgede võtmiseks. Muutke isoleerimiseks juurutuse kohta. | | `OMNIROUTE_CLI_SALT` | _(tühista = juhuslik installeerimise sool püsis `/cli-token-salt.json` juures )_ | `src/lib/machineToken.ts` | HMAC sool kohaliku CLI autentimise märgi tuletamiseks. Selle väärtuse määramine pöörab kõiki masina CLI -märke ja eelistab alati püsivat soola. Vaata `docs/security/CLI_TOKEN.md`. | | `AUTH_COOKIE_SECURE` | `false` | `src/lib/auth` | Määrab seansiküpsistele `Secure` lipu.** Peab olema `true`** HTTPS taga joostes. | | `REQUIRE_API_KEY` | `false` | API vahevara | Kui `true`, peavad kõik `/v1/*` puhverserveri taotlused sisaldama kehtivat API -võtit.** See lipp ei piira `GET /v1/models`** , mis järgib — asemel armatuurlauale sisselogimise asendit (`requireAuthForModels`), nii et `401` st `/v1/models` olev NOT tähendab, et järeldus on kaitstud. Vt `docs/security/INFERENCE_AUTH_POSTURE.md` (#13695). Aktsepteerib `true`, `1` või `yes`, ignoreerides suurtähti ja ümbritsevaid tühikuid; mis tahes muu väärtus (sh `on`) on välja lülitatud. | | `ALLOW_API_KEY_REVEAL` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Võimaldab kuvada armatuurlaual UI täielikud API võtmeväärtused. Konfigureeritav armatuurlaua funktsioonilippude kaudu; turvarisk jagatud eksemplaridel. | | `NO_LOG_API_KEY_IDS` | _(tühi)_ | `src/lib/compliance/index.ts` | Komadega eraldatud API klahv IDs, mis möödub päringu logimisest (GDPR vastavus). | | `DEFAULT_RATE_LIMIT_PER_DAY` | _(unset = unlimited)_ | `src/shared/utils/apiKeyPolicy.ts` | Taotluse päevaeelarve on rakendatud API võtmetele, mille `rate_limits` veerg on null. Määramata või tühi: kaudne kork puudub (#2289, #11017). `0` on sama (piiramatu). Positiivne täisarv N lubab N/day, 5N/week, 20N/month. Väärvormitud mittetühjad väärtused langevad tagasi pärandakendele 1000/day, 5000/week, 20000/month. | | `MAX_BODY_SIZE_BYTES` | `10485760` (10 MB) | `src/shared/middleware/bodySizeGuard.ts` | Nähtava `maxBodySizeMb` vaikeseade; salvestatud seadistus on ülimuslik. `/api/v1/chat/completions` ja `/api/v1/responses` säilitavad 50 MB vaikeväärtust, kuni piirang on salvestatud; salvestatud limiit asendab selle siis üles või alla nii päisekaitse kui ka tegeliku baitide vestluse jaoks. | | `OMNIROUTE_CHAT_LARGE_BODY_BYTES` | `262144` (256 KB) | `src/shared/middleware/chatBodyAdmission.ts` | Tegelikud päringuorganid, mis on sellel lävel või sellest kõrgemal, võtavad enne JSON sõelumist (BYTE tee, sealhulgas `POST /v1/responses`) aatomiprotsessi kohaliku raskekaalu lubamislepingu. Sama [#10437](https://github.com/diegosouzapw/OmniRoute/pull/10437) terve-headroom põgeneda nagu struktuur-heavy; endiselt piiratud `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / [#10110](https://github.com/diegosouzapw/OmniRoute/issues/10110) nii et [#7849](https://github.com/diegosouzapw/OmniRoute/issues/7849) ei naase. | | `OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES` | `52428800` (50 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Vestluse marsruudi kõvapiirang, mis on jõustatud piiratud sisemise ajal loetud baitide vastu, sealhulgas puuduva, kehtetu või ebaaus `Content-Length` päringud; liig saab `413`. Salvestatud `maxBodySizeMb` asendab vaikeväärtuse 50 MB ; kui see muutuja on määratud, piirab see ka salvestatud väärtust. | | `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` | _(tühista — taotluste arvu piiranguta)_ | `src/shared/middleware/chatBodyAdmission.ts` | **#503-fanout:** see pärandpäringu-COUNT ülempiir seostub nüüd ainult siis, kui see on selgelt määratud. Määramata jättes (vaikimisi) piirab raskekaalu vestluse luba hoopis `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` — mis on automaatselt tuletatud BYTE eelarve, mille suurus on protsessi tegelik mälu ülemmäär** üks protsess** (üks V8 hunnik). Kaks kattuvat ~ 750 000 märgiga `/v1/responses` katkestab ~ 12 Gi hunnikut (#7849) — a** mälu-eelarve** hoiatus, mitte kõva toote max 2. Tervislik protsess (kuhjaga alla varjusuhte) MAY lubab rohkem samaaegset pikka `/v1/responses` `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM` kaudu. Kümned pikad SSE kliendid (40–50) on hunnik + `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` / #10110, mitte "max 2". Selle pimesi tõstmine, et kasutada hosti, taastab #7849. Korrutada** hunnikutes** koos** N sõltumatut `DATA_DIR` s** (#11024); mitte kunagi `replicas>1` ühel SQLite failil. | | `OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES` | _(automaatne tuletatud)_ | `src/shared/middleware/admissionBudget.ts` | **#503-fanout:** alistamine automaatselt tuletatud sisestusbaitide eelarve jaoks (25% kitsamast V8/cgroup -mälu ülemmäärast jagatud 8-kordse mööduva võimendusega). Tuletatud ja selgesõnalised väärtused jäävad väärtusele 8 MiB–2 GiB. Efektiivsest eelarvest suurem keha ebaõnnestub koheselt `413 body_exceeds_budget` abil; tüli individuaalselt hooldatavate kehade vahel jääb uuesti proovitavaks `503`. 40–50 samaaegset pikka SSE klienti on see eelarve + hunnik, mitte kõva "max 2". Enne häälestamist lugege `chatAdmission.maxInflightBytes` / `budgetSource` / `pressureSeverity` at `/api/monitoring/health`. | | `OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO` | `0.75` | `src/shared/middleware/chatBodyAdmission.ts` | Kuhja-rõhu jaotuse suhe (`heapUsed / heap_size_limit`) BYTE ja STRUCTURE raskekaalu jaoks (#10183, #10268, #10437). Samaaegne raskekaalu taotlus, mis on möödunud `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` eemaldatakse uuesti proovitava `503` ainult siis, kui kuhja väärtus on ALSO selle suhtega või sellest suurem; tervel kuhjal lubatakse see hoopis terve pearuumi kaudu. | | `OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM` | `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` (vaikimisi `1`) | `src/shared/middleware/chatBodyAdmission.ts` | Piiratud lisavõimsus terve hunniku kiirtee (#10437) jaoks sisse lülitatud** mõlemad** STRUCTURE ja BYTE (`admitChatRequest`, sealhulgas kehad ≥ `OMNIROUTE_CHAT_LARGE_BODY_BYTES`). Ilma selle piiranguta möödus iga hõivatud, kuid terve hunnik taotlus sissepääsust ilma ülemmäärata. Kui need paljud samaaegsed rendilepingud on aktiivse kuhja tee kaudu aktiivsed, jõuavad edasised hõivatud taotlused SAME bounded-wait/shed teele, mida kasutatakse tegeliku hunniku surve all. `0` keelab möödaviigu täielikult. | | `OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT` | `200` | `src/shared/middleware/chatBodyAdmission.ts` | Sõnumite arv, mis liigitab vestlustaotluse raskekaaluliseks isegi siis, kui selle sisu on alla baitläve. | | `OMNIROUTE_CHAT_HEAVY_TOOL_COUNT` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Tööriistade arv, mis liigitab vestlustaotluse raskekaaluks isegi siis, kui selle põhiosa on alla baitläve. | | `OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS` | `32000` | `src/shared/middleware/chatBodyAdmission.ts` | Konservatiivne stringi suuruse märgi hinnang, mis liigitab päringu raskekaaluks; see on sissepääsutasu puhverserver, mitte teenusepakkuja arveldusmärk. | | `OMNIROUTE_CHAT_HARD_MAX_MESSAGES` | `0` (puuetega) | `src/shared/middleware/chatBodyAdmission.ts` | Valikuline vestlusajaloo luba. Vaikimisi keelatud: sõnumite arv on juurutuspoliitika, mitte päringu universaalne atribuut, ja siin piiramine lükkab terminali `413` vestlused tagasi enne, kui tihenduskonveier saab need teenindatavaks muuta. Kuhja kasvu piiravad `OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT` ja kuhja-rõhu kuur. Määrake positiivne väärtus mälupiiranguga juurutustele, mis vajavad kõva ülemmäära; ülejääk saab seejärel struktureeritud kompaktse nõutava `413`. | | `OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES` | `67108864` (64 MB) | `open-sse/handlers/chatCore/nonStreamingResponseBody.ts` | Kõvakork mittevoogedastava ülesvoolu vastuse jaoks, mis on täielikult mällu puhverdatud. Pärast seda ülesvoolu lugeja tühistatakse ja taotlus nurjub kiiresti, selle asemel et kasvatada piiramata stringi, kuni hunnik on ammendatud. | | `OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES` | `768` | `open-sse/handlers/chatCore/responseHeaders.ts` | Ülesvoolu vastuse päistest edastatud maksimaalsed traadibaidid. Kui eelarve on ületatud, jäetakse madalama prioriteediga päised (nt kohandatud `x-codex-*`, `x-oai-request-id`) välja, et jääda tavaliste vastupidise puhverserveri päise piiridesse. Seadistage kõrgem, et edastada rohkem ülesvoolu metaandmeid suurema vastuse päise suuruse hinnaga. | | `OMNIROUTE_QUOTA_RECOVERY_MAX_PER_KEY` | `64` | `src/lib/quota/quotaSessionRecovery.ts` | Enamiku kvoodi taastamise piletite (ootel, töötamise või kinnituse ootel) puhul võib olla üks API võti. Kui võti on limiidil, kuvatakse uuel pöördel `202` pileti asemel algne kvoodivea; juba pargitud pöörde uuesti proovimine tagastab siiski oma pileti. Kehtetud või mittepositiivsed väärtused kasutavad vaikeväärtust. | | `CORS_ORIGIN` | _(määramata)_ | `src/server/cors/origins.ts` | Pärand ühe päritoluga CORS lubatud loend. Uute juurutuste jaoks eelistage `CORS_ALLOWED_ORIGINS`. CORS on ainult ristpäritolu brauseri API klientide jaoks; Autenditud armatuurlaua kirjutised kasutavad selle asemel sama päritolu päringuid pluss seansipõhise CSRF kaitse. | | `CORS_ALLOWED_ORIGINS` | _(määramata)_ | `src/server/cors/origins.ts` | Komaga eraldatud CORS lubatud loend. Metamärke ei saadeta, välja arvatud juhul, kui `CORS_ALLOW_ALL=true` on selgesõnaliselt konfigureeritud. | | `CORS_ALLOW_ALL` | `false` | `src/server/cors/origins.ts` | Ainult arenduse jaoks mõeldud pääseluuk, mis kajastab mis tahes brauseri `Origin`. Ärge lubage jagatud või tootmisjuurutustel. | | `OUTBOUND_SSRF_GUARD_ENABLED` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Pärandalias. Selle armatuurlaua lülitit ( DB alistamine) loetakse enne seda keskkonnaväärtust; `false`, `0`, `no` või `off` lülitab hosti kontrollid välja samamoodi nagu `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true`, isegi kui selle lipu armatuurlaua lüliti on välja lülitatud; muud väärtused jätavad valve alla kahele lipule. | | `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS` | `false` | `src/shared/network/outboundUrlGuardPolicy.ts` | Lülitab välja väljamineva URL valvuri hostikontrollid, kaasatud pilve metaandmete plokk (kõik 169.254.0.0/16, metadata.google.internal), pakkuja teedel, mis järgivad valvurrežiimi: URL valideerimine, mudeli avastamine, pakkuja-sõlme baasi URLs (sh kaugreitingu sõlmed) ja puhverserveri varutesti muu hulgas väljaminevate pakkujate nagu kaugjuhtimistee image/media sadjatch. See lubab ka privaatseid veebihaagi sihtmärke, välja arvatud cloud-metadata/link-local lõpp-punktid, mis jäävad blokeerituks isegi siis, kui see lipp on sisse lülitatud. `BaseExecutor.execute()` kaudu saadetud vestlustaotlused kontrollivad pilve metaandmeid. Kohalikud pakkujad töötavad vaikeseadetega: `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` (vaikimisi `true`) lubab juba kohalikku ja LAN URLs valideerimis-, avastamis- ja pakkuja-sõlme teedel; puhverserveri varutest ja privaatsed veebihaagi sihtmärgid kasutavad ainult seda lippu ja blokeerivad local/LAN hostid, kui see on välja lülitatud. Alistab `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS=false`. Armatuurlaua lülitist salvestatud väärtus on selle muutuja suhtes ülimuslik. | | `OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` | `true` | `src/shared/network/outboundUrlGuardPolicy.ts` | Lubage teenusepakkuja URLs local/private aadressidel (127.0.0.1, localhost, LAN, privaatsed vahemikud) pakkuja valideerimiseks, mudeli leidmiseks, vestluseks ja muudeks pakkujaga külgnevateks väljuvateks teedeks, mida valvurrežiim reguleerib.** Vaikimisi `true`** (kõigepealt kohalik): valvur blokeerib seejärel pilve metaandmete lõpp-punktid — kogu 169.254.0.0/16 pluss teadaolevad metaandmete hostinimed (metadata.google.internal, metadata.goog, Alibaba/Azure/Oracle IMDS, fd00:ec2::254). Määrake `false` ainult avalikuks režiimiks, mis blokeerib ka privaatsed ja tagasisilmushostid. Valvur kontrollib masinanime või IP -sõnasõna nii nagu kirjutatud, enne mis tahes DNS otsingut; ainult avalikus režiimis lahendab turvalise toomise ümbris lisaks hostinime ja keeldub privaatsest vastusest. `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS=true` lülitab need kontrollid välja oma ridade loendites. Sisseehitatud kohalikud pakkujad, nagu LM Studio, Ollama, vLLM, Llamafile ja Triton, jätavad võtme kinnitamiseks ja vestluseks kõik hostikontrollid vahele. Armatuurlaua lülitist salvestatud väärtus on selle muutuja suhtes ülimuslik. (#5066) | | `AUDIO_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/audioProviderNodes.ts` | Laske `/v1/audio/*` marsruutidel (transkriptsioonid, kõne, tõlked) kasutada OpenAI-ga ühilduvat pakkujasõlme, mis on hostitud väljaspool kohalikku hosti. Vaikimisi välja lülitatud — heli kaughosti suunamine muudab väljumise identiteeti ja see peab olema operaatori selge otsus. Loopback/private sõlmed (localhost, 127.0.0.1, 172.16-31.x) on alati lubatud ja neid ei mõjuta. (#3963) | | `RERANK_REMOTE_PROVIDER_NODES` | `false` | `src/app/api/v1/_shared/rerankProviderNodes.ts` | Laske `POST /v1/rerank` (ja mälumootori tagasilülituse ümberpaigutamise etapil) kasutada OpenAI-ga ühilduvat pakkujasõlme, mis on hostitud väljaspool kohalikku hosti — LAN kasti või Tailscale vastast programmi, kus töötab TEI, Infinity, vLLM jne. Vaikimisi välja lülitatud — marsruutimine kaughostile muudab väljumise identiteeti ja see peab olema selge operaatori otsus. Tagasisilmussõlmed (localhost, 127.0.0.1, 172.16-31.x) on alati lubatud ja neid ei mõjuta. Kaugsõlme baas URL peab samuti läbima teenusepakkuja väljamineva URL poliitika (`OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS` / `OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS`). | | `OMNIROUTE_LOCAL_PROVIDER_NODE_HOSTS` | _(tühi)_ | `src/shared/network/localNodeHosts.ts` | Hostinimed (eraldatud koma või tühikutega), mida pakkuja-sõlme marsruutimine käsitleb kohaliku — tavaliselt OmniRoute enda Docker võrgus (`http://reranker:8080/v1`) oleva ümberpaigutaja, TEI või heli külgkorvi Docker/Compose teenusenime, nii et sõlm ei vaja kõvakodeeritud konteinerit IP. Loendis olevad hostid on sobilikud `/v1/rerank`, `/v1/audio/*` ja kohaliku tervisekontrolli jaoks ilma `RERANK_REMOTE_PROVIDER_NODES` / `AUDIO_REMOTE_PROVIDER_NODES` iga kaugsõlme jaoks sisse lülitamata ning neid kutsutakse otse — mitte kunagi `HTTP(S)_PROXY` või ühenduse kinnitatud puhverserveri kaudu. Nad saadavad endiselt ühenduse API klahvi. Aktsepteeritakse ainult ühe sildi nimesid ja `.internal`/`.local` nimesid; avalikke FQDNs, IP literaale ja pilve metaandmete nimesid ignoreeritakse koos hoiatusega. (#14635) | | `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | Kui OIDC on lubatud, keelake parooliga sisselogimine, et kasutajad saaksid autentida ainult OIDC Single Sign-On kaudu. Aktsepteeritud on ka tühi pseudonüüm `OIDC_DISABLE_PASSWORD_LOGIN` ; sama võtme armatuurlaua funktsioonilipp on ülimuslik. (#10889) | | `OIDC_DISABLE_PASSWORD_LOGIN` | `false` | `src/app/api/auth/login/route.ts` | `OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN` paljas varjunimi (#10889). | | `OMNIROUTE_DISABLE_MFA` | `false` | `src/server/auth/dashboardMfa.ts` | Kaotatud seadme taastamine lubatava armatuurlaua TOTP kahefaktorilise sisselogimise jaoks. Kui `true`, jäetakse teine tegur vahele ainult hosti enda sisselogimisel (tagasisilmus ja `Host`); kaugsisselogimised ja muudest päritolu `POST /api/cli/connect` nõuavad endiselt koodi. Logige sisse kohapeal, keelake kahefaktoriline valik Settings → Security (seadistamise ajal võidakse kood tühjaks jätta, nii et teguri, mida enam ei kontrollita, saab eemaldada; parool on endiselt vajalik), seejärel tühistage see. TOTP hõlmab parooliga sisselogimist ja `omniroute connect` ainult — OIDC/SSO sisselogimine sõltub identiteedipakkuja enda teisest tegurist. Vaata [AUTHZ_GUIDE](../architecture/AUTHZ_GUIDE.md#optional-totp-two-factor-login-16619). | ### Kõvenemise kontrollnimekiri ```bash # Production security minimum: AUTH_COOKIE_SECURE=true # Requires HTTPS REQUIRE_API_KEY=true # Authenticate all proxy calls ALLOW_API_KEY_REVEAL=false # Never expose keys in UI CORS_ALLOWED_ORIGINS=https://your.domain.com MAX_BODY_SIZE_BYTES=5242880 # 5 MB limit ``` --- ## 5. Input Sanitization & PII Protection OmniRoute pakub kahekihilist kaitset: päringupoolne süstimisskaneerimine ja vastusepoolne PII eemaldamine. > **⚠️ piirangud:** Need kaitsepiirded on _parima jõupingutusega heuristilised_ tuvastamised, mitte täielik kiire süstimisega tulemüür või PII DLP süsteem. Need võivad anda valepositiivseid (healoomulised persona/RPG -viibad märgistatud) ja valenegatiivseid (leetspeak, tühikud, mitteingliskeelsed mustrid). Nendest üksi ei piisa nõuete täitmiseks. Häälestage režiime ja testige oma liiklust enne, kui neile tuginete. ### Taotluse pool: kiire süstimiskaitse | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | --------------------------------- | ------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `INPUT_SANITIZER_ENABLED` | `true` | `src/middleware/promptInjectionGuard.ts` | Lubage sissetulevate sõnumite skannimine viipade süstimismustrite leidmiseks. | | `INPUT_SANITIZER_MODE` | `warn` | `src/middleware/promptInjectionGuard.ts` | Sisestuspoliitika: ainult `warn` = logi, `block` = lükkab taotluse tagasi 400-ga. Pärand `redact` teeb seda** mitte** riba sisestamise tekst; kasutage `PII_REDACTION_ENABLED` PII i ümberkirjutamiseks. | | `INJECTION_GUARD_MODE` | _(määramata)_ | `src/middleware/promptInjectionGuard.ts` | `INPUT_SANITIZER_MODE` — pärandalias käitub samamoodi. | | `INPUT_SANITIZER_BLOCK_THRESHOLD` | `high` | `src/shared/utils/injectionSeverity.ts` | Minimaalne raskusaste, mille `MODE=block` tagasi lükkab: `high` (vaikimisi), `medium` või `low`. Keskmised mustrid on ainult vaadeldavad, kui neid pole langetatud. | | `INJECTION_GUARD_BLOCK_THRESHOLD` | _(määramata)_ | `src/shared/utils/injectionSeverity.ts` | `INPUT_SANITIZER_BLOCK_THRESHOLD` — pärandalias käitub samamoodi. | | `PII_REDACTION_ENABLED` | `false` | `src/lib/guardrails/piiMasker.ts` | Kui `true`, redigeerige PII sissetulevates päringutes (sõltumata süstimisrežiimist). | | `CREDENTIAL_REDACTION_ENABLED` | `false` | `src/lib/guardrails/credentialMasker.ts` | Redigeerige request/response kasulikest koormustest tuntud API-võtme / salajase märgi mustrid. liitumine; peeglid `PII_REDACTION_ENABLED`. | ### Vastuse pool: PII Sanitizer | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | -------------------------------- | --------- | ------------------------- | --------------------------------------------------------------------------- | | `PII_RESPONSE_SANITIZATION` | `false` | `src/lib/piiSanitizer.ts` | Enne kliendi juurde naasmist kontrollige LLM vastuseid lekkinud PII suhtes. | | `PII_RESPONSE_SANITIZATION_MODE` | `redact` | `src/lib/piiSanitizer.ts` | `redact` = mask PII, `warn` = log only, `block` = drop kogu vastus. | ### VS Code Tokenized-Route Context Sanitizer | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------------------- | --------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_VSCODE_SANITIZE_CONTEXT` | `1` | `src/app/api/v1/vscode/contextSanitizer.ts` | Eemaldab kaudse aktiivse redaktori konteksti (`editorContext`, `activeEditor`, `currentFile`, `selection`, `openTabs`…) `/v1/vscode/[token]/*` -taotlustest ja redigeerib otseselt lisatud tundlike failide sisu. Vaikimisi turvaline; keelamiseks määrake `0`. | ### Stsenaariumid | Stsenaarium | Seadistamine | | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Ettevõtte vastavus** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=block`, `PII_REDACTION_ENABLED=true`, `PII_RESPONSE_SANITIZATION=true` (sissepritseplokid + request/response PII redigeerimine; režiimid on sõltumatud) | | **Ainult jälgimine** | `INPUT_SANITIZER_ENABLED=true`, `INPUT_SANITIZER_MODE=warn` — logib, kuid ei blokeeri kunagi | | **Isiklik kasutamine** | Jätke kõik keelatud — nullid | --- ## 6. Tööriistade ja marsruutimise eeskirjad | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------------------------------------------- | ----------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `TOOL_POLICY_MODE` | `disabled` | `src/lib/toolPolicy.ts` | Juhib LLM tool/function-calling juurdepääsu. `allowlist` = ainult loetletud tööriistad, `denylist` = kõik, välja arvatud loetletud, `disabled` = piiranguteta. | | `OMNIROUTE_PAYLOAD_RULES_PATH` | `./config/payloadRules.json` | `open-sse/services/payloadRules.ts` | Kasuliku koormuse manipuleerimise reeglite JSON faili tee (per-model/protocol ülesvoolu tweaks). | | `OMNIROUTE_PAYLOAD_RULES_RELOAD_MS` | `5000` | `open-sse/services/payloadRules.ts` | Taaslaadimisintervall (ms) kasuliku koormuse reeglite faili kuumaks uuesti laadimiseks. Minimaalne `1000`. | | `OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS` | `false` | `open-sse/services/model.ts` | Lubamine: teenusepakkuja eesliide nõudmise asemel suunake `claude-*` mudeli IDs Claude Code klientidelt Claude Code OAuth konto kaudu. Selged pakkuja eesliited võidavad endiselt. Samuti konfigureeritav armatuurlaua lüliti kaudu Claude pakkuja lehel. | | `OMNIROUTE_REDACT_THINKING` | `true` | `open-sse/executors/base/redactThinkingBeta.ts` | Määrake `false`, et OmniRoute peataks `redact-thinking-2026-02-12` Anthropic beetaversiooni enda lisamise (tühjad allkirjaga mõtlemise plokid). `thinking.display: "summarized"` -ga päringud jätavad selle olenemata vahele; kliendiga kokkulepitud redact beetaversioon või CC-ga ühilduv `requestDefaults.redactThinking` opt-in säilitab selle. Claude OAuth päringud säilitavad beetaversiooni (see on osa Claude Code OAuth sõrmejäljest), välja arvatud juhul, kui `CLAUDE_OAUTH_SUMMARIZED_THINKING_UNREDACTED` funktsiooni vaikimisi väljalülitatud lipp on sisse lülitatud. | | `BARE_MODEL_DEFAULT_OVERRIDE_LEGACY` | `false` | `open-sse/services/model.ts` | Pärand `resolveBareModelToConnectionDefault` käitumine (#4825): asendage mis tahes tühi mudeli nimi valitud ühenduse `defaultModel`. Vaikimisi väljas, asendatakse ainult `auto` või tühi mudel; logib sisselülitamisel ühe hoiatuse paari kohta. | | `COMBO_CONCURRENCY_PER_MODEL` | `3` | `open-sse/services/comboConfig.ts` | Mudelipõhine samaaegsuse ülempiir voorukombode jaoks (#9100). Ring-robin kombineeritud semafor oli rangelt piiratud kolmel samaaegsel päringul mudeli kohta ilma alistamiseta, jadades kõrgema samaaegsuse liikluse selle piirangu taga. Valideeritud `>= 1`, kinnitatud `<= 32`. | | `OMNIROUTE_AGENTIC_STALL_FAILOVER` | `false` | `open-sse/services/combo/agenticStallFailover.ts` | Lubamine: määrake väärtusele `1` (või `true`), nii et tööriista-tulemuse pöördele `finish: stop` + jutustusega + null tööriistakutsega vastav kombineeritud liige läheb üle järgmisele sihtmärgile (prioriteeditsükli strateegiad, ümbertöötamine ja kinnitatud seansid). Kui ükski sihtmärk ei toimi paremini, tagastatakse pigem seiskunud vastus kui viga ning teenusepakkuja kaitselüliti ega mudeli lukustus ei võeta tasu. Voogesitatud pöördeid hoitakse kliendi ees kuni kohtuotsuse langetamiseni. Päringuid, mis kasutavad kujundit Vastused API `input` ei klassifitseerita. Vaikimisi OFF. | | `DISABLE_CONTEXT_WINDOW_CHECKS` | `false` | `open-sse/handlers/chatCore.ts` | Ohtlik lubamine, mis jätab OmniRoute kohaliku kontekstiakna / max-input-tokeni kontrolli vahele ühe mudeli otsetaotluste puhul. Varasemad pakkujad jõustavad endiselt oma tegelikke piiranguid; kiire pakkimine ja mudeli enda väljundmärgi kork jäävad aktiivseks. Tõhus prioriteet on funktsioonide lipud DB alista > keskkonnamuutuja > vaikeväärtus; taaskäivitamist pole vaja. | | `OMNIROUTE_SELF_HOSTED_PROVIDERS` | _(määramata)_ | `open-sse/services/selfHostedEntry.ts` | Tekstisisene YAML `providers:` dokument (RIC-738, D4). Kui see on määratud (koos `strategy:` plokiga või ilma), suunab `/v1/chat/completions` pilvekonveieri asemel isehostitavale ühtsele OpenAI-ühilduvale kirjele. Määramata (vaikeseade): marsruut langeb otse olemasolevasse pilvetorusse. Vaata `docs/routing/SELF_HOSTED_OPENAI_ENTRY.md`. | | `OMNIROUTE_SELF_HOSTED_PROVIDERS_FILE` | _(määramata)_ | `open-sse/services/selfHostedEntry.ts` | Tee YAML failile, mis sisaldab sama `providers:` dokumenti kui `OMNIROUTE_SELF_HOSTED_PROVIDERS`, juurutuste jaoks, mis eelistavad faili tekstisisesele env var-ile. Kumbki neist aktiveerib isehostitud kirje. | | `OMNIROUTE_SELF_HOSTED_API_KEY` | _(tühista — avatud marsruut)_ | `open-sse/services/selfHostedEntry.ts` | Valikuline jagatud API -võti ühtse isehostitud sisestuse jaoks (D5 karkass, reserveeritud võtmepõhise kvoodisüsteemi jaoks). Kui see on määratud, peavad päringud sisaldama `Authorization: Bearer `. Määratlemata: marsruut on avatud ja ühtib olemasoleva kohaliku teenusepakkuja isehostitava mustriga (loopback/trusted-network juurutus). | | `OMNIROUTE_SELF_HOSTED_STRATEGY` | _(määramata)_ | `open-sse/services/routingStrategies.ts` | Tekstisisene YAML `strategy:` dokument deterministlikule marsruutimismootorile (M2/RIC-740, D3) — blacklist/whitelist, jahtumiskaitse, kuluprioriteediga, latentsust arvestav, varukett. Alistab sisemise `strategy:` ploki, mis on pesastatud `OMNIROUTE_SELF_HOSTED_PROVIDERS` sisse, klahvi kohta. Vaadake `docs/routing/DETERMINISTIC_ROUTING.md`. | | `OMNIROUTE_SELF_HOSTED_STRATEGY_FILE` | _(määramata)_ | `open-sse/services/routingStrategies.ts` | Tee YAML failile, mis sisaldab sama `strategy:` dokumenti kui `OMNIROUTE_SELF_HOSTED_STRATEGY`, juurutuste jaoks, mis eelistavad faili tekstisisesele env var-ile. | | `OMNIROUTE_DISABLE_CONVERSATION_TRACKING` | _(määramata)_ | `open-sse/services/conversationTracker.ts` | Määrake `1` vestluste ajaloo kogumist lõpetama. `resolveConversationId()` tagastab jälgimata tulemuse enne SQLite lugemist või sõnumite ajaloo sõelumist, samuti on hõlmatud kliendi poolt pakutav seanss IDs. Marsruutimisseansi käsitlust ei muudeta ja olemasolevaid kirjeid ei kustutata. Juurutuste jaoks, mis ei kasuta armatuurlaua vestlusvaadet ja soovivad, et pöördlaud ei kasvaks. | | `OMNIROUTE_NADIR_API_KEY` | _(määramata)_ | `open-sse/services/autoCombo/nadirStrategy.ts` | API klahv `nadir` automaatse kombineeritud ruuteri strateegia jaoks, mida kasutatakse siis, kui kombinatsiooni enda `config.nadir.apiKey` on välja lülitatud. Valikuline: võtmeta kõned maanduvad Nadiri anonüümsele tasemele, mille kiirus on IP kohta piiratud ja seetõttu ei saa seda kasutada jagatud lüüsi taga. Tundlik; eelistavad kombineeritud välja, kui kombinatsioonid kasutavad erinevaid kontosid. | | `OMNIROUTE_NADIR_BASE_URL` | `https://api.getnadir.com` | `open-sse/services/autoCombo/nadirStrategy.ts` | Nadiri otsuse API baaspäritolu, kasutatakse siis, kui kombinatsiooni enda `config.nadir.baseUrl` on määramata. Vajalik ainult isehostitava Nadiri jaoks, mis hoiab teie võrgus kiireid juhte. Lõpetatud `/v1` on lubatud ja eemaldatud. | | `OMNIROUTE_API_KEY_WEEKLY_WINDOW` | `provider` | `src/lib/usage/apiKeyUsageLimits.ts` | API-võtme USD kasutuspiirangute nädalane aken (taotluse jõustamine, `GET /api/keys/{id}/usage-limits`, `@@om-usage`). `provider`: nädal lõpeb varaseima iganädalase lähtestamise hetkel ülesvoolu ühenduste hulgas, milleni võti jõuda, või on jooksev 7 päeva, kui ükski pole teada. `calendar`: kohalik nädal esmaspäevast 00:00 kuni järgmise esmaspäeva kella 00:00ni, iga klahvi puhul identne. `calendar` on soovitatav, kui ühte ülesvoolukontode kogumit jagavad paljud individuaalselt eelarvestatud võtmed. Kehtetud väärtused langevad tagasi väärtusele `provider`. | | `OMNIROUTE_API_KEY_WEEKLY_WINDOW_TIMEZONE` | _(töötluse ajavöönd)_ | `src/lib/usage/apiKeyUsageLimits.ts` | IANA ajavöönd (näiteks `Asia/Shanghai`), mis määrab `calendar` nädala akna jaoks esmaspäeva 00:00. Määramata või kehtetu: OmniRoute -protsessi ajavöönd (hosti või konteineri `TZ`, mis on konteineri kujutistel sageli määramata, st koordineeritud universaalaeg). `provider` -režiimis ignoreeriti. | | `OMNIROUTE_MAX_TOOLS_LIMIT` | `128` | `open-sse/config/constants.ts` | Vaikimisi maksimaalne lubatud tööriistade arv päringus (OpenAI vaikimisi). Ainult positiivsed täisarvud; määramata või kehtetud väärtused säilitavad `128`. Pakkuja, kellel on known/proactive limiit (`grok-cli` 200, `nvidia` 1536), rakendab endiselt oma piirangut — mis liigutab ainult vaikeülemmäära. Claude-vormingus sihtmärkidel ei ole vaikepiiri (Messages API pole seda); õpitud limiit kehtib endiselt. | | `OMNIROUTE_TOOL_OUTPUT_IMAGE_MAX_COUNT` | `16` | `open-sse/translator/request/openai-responses.ts` | Vastused vestluse tõlkele: mitu tööriista väljundpilti (`function_call_output`, `custom_tool_call_output`, roll `tool`) saadetakse uuesti kasutaja pildi osadena päringu kohta. Uusimad jäetakse alles ja igast vanemast saab teksti kohahoidja koos oma `tool_call_id`. Ainult positiivsed täisarvud; määramata või kehtetud väärtused säilitavad `16`. | | `OMNIROUTE_TOOL_OUTPUT_IMAGE_MAX_BYTES` | `20971520` (20 MB) | `open-sse/translator/request/openai-responses.ts` | Tööriista väljundkujutise URLs kogusuurus, mis on sama tõlke korral uuesti saadetud päringu kohta. Eelarve ületanud pildid eemaldatakse kõigepealt vanimatest piltidest, iga taotluse kohta on üks hoiatus. Ainult positiivsed täisarvud; määramata või kehtetud väärtused säilitavad `20971520`. | | `OMNIROUTE_RESPONSES_STRICT_TOOL_HISTORY` | `false` | `open-sse/translator/helpers/responsesToolHistory.ts` | Kui ebajärjekindlat vastuste tööriista ajalugu käsitletakse: väljund ilma kutseta, kõne ilma väljundita, puuduv, liiga pikk või kehtetu `call_id` või valesti vormindatud ajaloolised argumendid. Väljas, OmniRoute parandab ajaloo ja saadab selle välja (orb väljundid tühistatakse, vastamata kõned saavad tühja väljundi, ID-d vermitakse või klammerdatakse, valesti vormindatud argumendid muutuvad `{}`). Sees, päring saab enne saatmist `400` ; kehtiv ajalugu edastatakse koos selle kõne ID-de ja JSON -argumentidega nii, nagu see on saadetud. Aktsepteerib `true` või `1`; mis tahes muu väärtus säilitab vaikeväärtuse. | | `OMNIROUTE_PROMPT_EMULATE_TOOLS` | _(sees)_ | `open-sse/executors/syntxChat.ts` | SYNTX.ai viipa emuleeritud tööriista kutsumine: unset või `1`/`true`/`on`/`yes` sisestab kohaliku tööriistakataloogi viipa; mis tahes muu väärtus (nt `0`) jätab selle süsti vahele. | --- ## 7. URLs ja pilvesünkroonimine | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `BASE_URL` | `http://localhost:20128` | `src/lib/cloudSync.ts` | Serveripoolne URL sisemiste sünkroonimistööde jaoks, et helistada `/api/sync/cloud`. Hoidke seda loopback/container URL isegi siis, kui rakendus on avalikult puhverserveriga. A2A oskused kasutavad seda ka (vt `OMNIROUTE_BASE_URL`) ja ebaõnnestuvad, selle asemel, et saata API võti avalikule tavalisele http URL. | | `CLOUD_URL` | _(tühi)_ | `src/lib/cloudSync.ts` | Pilverelee lõpp-punkt URL (lisatasu funktsioon). | | `CLOUD_SYNC_TIMEOUT_MS` | `12000` | `src/lib/cloudSync.ts` | HTTP ajalõpp pilvesünkroonimistaotluste jaoks. | | `OMNIROUTE_BUILD_PROFILE` | `full` | Veebipaketi ehitamise konfiguratsioon | Ehitamise aja profiil (seadistatud väärtusele `minimal`, et privilegeeritud moodulid komplektist välja jätta). | | `OMNIROUTE_STANDALONE_DIR` | _.build/ standalone output_ | `scripts/build/colocate-standalone.mjs` | Järelehituse järgse ühispaiknemise etapis tarbitava eraldiseisva väljundkataloogi ehitusaja alistamine. Pole käitusaja seade. | | `OMNIROUTE_DIST_DIR` | `dist/` (repo juur) | `scripts/build/prepublish.ts` | Kataloogi ehitusaja alistamine, mille avaldamise samm (`prepublish.ts`) kirjutab CLI paketi repo juure alla kuuluva `dist/` asemel. Kataloog pühitakse enne ehitamist. Pole käitusaja seade. | | `OMNIROUTE_CLOUD_SYNC_SECRET` | _(tühi)_ | `src/lib/cloudSync.ts` | Jagatud saladus, mida kasutatakse pilvesünkroonimise vastuste HMAC-SHA256 signatuuri kontrollimiseks. | | `OMNIROUTE_CLOUD_SYNC_SECRETS` | `false` | `src/lib/cloudSync.ts` | Määrake `true`, et lubada Cloud Synci lõpp-punktil kohalikud mandaadid üle kirjutada. Vaikimisi on `false`. | | `OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE` | `false` | `src/lib/cloudSync.ts` | Määrake `true`, et keelduda allkirjastamata pilvesünkroonimise vastusest, kui kohalikku saladust pole konfigureeritud (#13679). Olemasolev allkiri kontrollitakse alati — ja lükatakse alati tagasi, kui `OMNIROUTE_CLOUD_SYNC_SECRET` on — tühistatud, olenemata sellest lipust. Vaikimisi pööratakse versioonis 3.9 jõustatuks. | | `OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP` | `false` | `src/app/api/providers/zed/import/route.ts` | Seadistage väärtusele `true`, et minna tagasi v3.8.5 üheastmelisele "impordi kõik" käitumisele ilma kasutaja kinnituseta. | | `NEXT_PUBLIC_BASE_URL` | `http://localhost:20128` | OAuth, armatuurlaud, sünkroonimine | Avalikkusele suunatud URL OAuth redirect_uri, armatuurlaua linkide ja loodud avaliku URLs jaoks. Määrake see stabiilseks avalikuks URL kui OAuth tagasihelistamised või loodud brauserilingid peavad kasutama kanoonilist pöördpuhverserveri hosti. | | `NEXT_PUBLIC_CLOUD_URL` | _(tühi)_ | Kliendipoolne | `CLOUD_URL` kliendipoolne peegel. | | `NEXT_PUBLIC_APP_URL` | _(määramata)_ | `src/shared/services/cloudSyncScheduler.ts` | Pärandvaru `NEXT_PUBLIC_BASE_URL` jaoks. | | `NEXT_PUBLIC_PORT` | _(tühistamata — langeb tagasi `PORT`)_ | `src/shared/hooks/useDisplayBaseUrl.ts` | Kliendipoolne varuport URLs kuvamiseks, kui päritolu pole teada (SSR/tests); loe enne `PORT`. | | `OMNIROUTE_PUBLIC_BASE_URL` | _(määramata)_ | Avaliku päritolu lahendaja, pilt URLs | Kõrgeima prioriteediga brauserile suunatud OmniRoute päritolu, mida kasutatakse avaliku URL genereerimiseks ja armatuurlauata brauseri päritolu valideerimiseks. Määrake see siis, kui OpenWebUI või mõni muu relee jõuab sisemise URL kaudu OmniRoute, kuid kasutaja brauser peab tooma loodud meediumi LAN, tunnelist või avalikust päritolust. Tee** mitte** sisaldab `/v1`. | | `OMNIROUTE_PROVIDER_MANIFEST_URL` | _(määramata)_ | `open-sse/config/providerPluginManifestUrl.ts` | Külgkorvi klientidele reklaamitud absoluutse pakkuja pistikprogrammi manifest URL. Kui see on määramata, tuletab OmniRoute `/api/v1/provider-plugin-manifest` päringu lähtepunktist või HOST/PORT. | | `OMNIROUTE_PUBLIC_PROTOCOL` | `http` | `open-sse/config/providerPluginManifestUrl.ts` | Protokoll, mida kasutatakse pakkuja pistikprogrammi manifesti URL tuletamisel HOST/PORT ilma päringu lähtekohata. Määrake `https` TLS-i lõpetava avaliku puhverserveri taga, kui selgesõnalist `OMNIROUTE_PROVIDER_MANIFEST_URL` pole määratud. | | `OMNIROUTE_TRUST_PROXY` | _(määramata)_ | `src/server/origin/publicOrigin.ts` | Valikuline usaldusrežiim edastatud avaliku päritoluga päiste jaoks. Tühista = ei usalda `Forwarded` / `X-Forwarded-*` turvaotsuste tegemisel. `true` / `loopback` usaldab edasisaadetud host/proto ainult token-templiga tagasisilmuspuhverserverist. `private` / `lan` usaldab ka privaat-LAN-puhverserveri partnereid, laseb `API_PORT` sillal hoida sellise kaaslase `X-Forwarded-For` ja lubab LOCAL_ONLY -marsruutidel aktsepteerida privaatvõrgu klienti, millest selline puhverserver teatab (mitte kunagi Cloudflare'i tunneli taotlust, ainult loopback-ahelat või looptoken-only CLI-d). Eelistage tootmises selgesõnalist `NEXT_PUBLIC_BASE_URL`. | | `KIE_CALLBACK_URL` | _(määramata)_ | `open-sse/utils/kieTask.ts` | Avalik tagasihelistamine URL asünkroonsete kie.ai tööde jaoks. Kõrgeima prioriteediga alistamine enne `OMNIROUTE_KIE_CALLBACK_URL` ja `OMNIROUTE_PUBLIC_URL`. | | `OMNIROUTE_KIE_CALLBACK_URL` | _(määramata)_ | `open-sse/utils/kieTask.ts` | `KIE_CALLBACK_URL` alternatiivne kirjapilt. Taganeb, kui esmane muutuja on määramata. | | `OMNIROUTE_PUBLIC_URL` | _(määramata)_ | `open-sse/utils/kieTask.ts` | Asünkroonilise tagasihelistamise koostamiseks kasutatud avalikku päritolu URLs. Madalaima prioriteediga varundus kie.ai tagasihelistamisel; kasutatakse ka teiste releede üldise avaliku URL. | | `OMNIROUTE_CROF_USAGE_URL` | `https://crof.ai/usage_api/` | `open-sse/services/usage.ts` | CrofAI kvoodiotsingu lõpp-punkt, mida kasutab kasutusleht. Releede/testimisseadmete alistamine. | | `OMNIROUTE_CLINEPASS_USAGE_URL` | `https://api.cline.bot/api/v1/users/me/plan/usage-limits` | `open-sse/services/usage/clinepass.ts` | ClinePass 5-tunnise / nädala / kuu kvoodi lõpp-punkt, mida kasutab kasutusleht. Releede/testimisseadmete alistamine. | | `OMNIROUTE_OPENCODE_QUOTA_URL` | `https://opencode.ai/zen/go/v1/usage` | `open-sse/services/opencodeQuotaFetcher.ts` | Ametlik API-võtmega autentitud OpenCode Go kasutuse lõpp-punkt, mida kasutab kasutusleht. Releede/testimisseadmete alistamine. | | `OPENCODE_SYNTHESIZE_CLI_HEADERS` | `true` | `open-sse/executors/opencode.ts` | Sünteesige OpenCode CLI identiteedi päised (kasutajaagent, x-opencode-client/project, request/session UUIDs) opencode-go/zen ülesvoolu päringutele, mida klient ei saatnud, nii et VPS egressi Cloudflare aktsepteerib neid (#6210/#5997). Vaikimisi sees alates #10571; loobuge funktsiooniga `false`/`0`/`no`/`off`. | | `OPENCODE_USER_AGENT` | `opencode/1.18.31` | `open-sse/utils/opencodeHeaders.ts` | Vaikekasutajaagent, mida kasutatakse siis, kui `OPENCODE_SYNTHESIZE_CLI_HEADERS` on sisse lülitatud ja `_USER_AGENT` -i alistamist pole määratud. Rakendatakse ainult avatud koodi täitjatele. Võtmeta päringu korral asendatakse ülesvoolu väravad konfigureeritud väärtus, mis ei kanna `opencode/= 1.17>` selle vaikeväärtusega, mitte ei keelduta. | | `OMNIROUTE_FORWARD_ATTRIBUTION` | `1` (sees) | `open-sse/utils/opencodeHeaders.ts` | Edastage kliendirakenduse omistamise päised (`x-session-id`, `x-title`, `http-referer`) ülesvoolu pakkujatele, nii et taotlus, mis algab loetletud rakmete sees, säilitab oma identiteedi ruuteri kaudu (nende võti OpenRouter publisher gates). `0`/`false`/`no`/`off` säilitab registry/operator identiteedi ja kaotab kliendi pakutavad väärtused. Operaatori seadistatud kohandatud päised võidavad alati kliendi väärtusi. | | `OPENCODE_CLIENT` | `desktop` | `open-sse/executors/opencode.ts` | Sünteesitud `x-opencode-client` päise väärtus, kui `OPENCODE_SYNTHESIZE_CLI_HEADERS` on sisse lülitatud. | | `OPENCODE_PROJECT` | `global` | `open-sse/executors/opencode.ts` | Sünteesitud `x-opencode-project` päise väärtus, kui `OPENCODE_SYNTHESIZE_CLI_HEADERS` on sisse lülitatud. | | `OMNIROUTE_EGRESS_IP_LOCK_PROVIDERS` | _(määramata)_ | `open-sse/config/providerErrorRules.ts` | Tõhus pakkujate kogum, kelle ülesvoolu tõrked kogub egress IP (üks 429 pargib iga õde-venna ühendust, mis jagab seda IP). Unset kasutab vaba taseme vaikeseadet `opencode,opencode-go,opencode-cli`; `none`/`off`/`false`/`0` keelab kaskaadi täielikult; komplekti asendab komadega eraldatud loend. Tasulised plaanid on kontode kaupa ülesvoolu ja neid saab ohutult keelata (#9611). | | `OMNIROUTE_EGRESS_QUOTA_ROTATION_PROVIDERS` | _(määramata)_ | `open-sse/config/providerErrorRules.ts` | Kvoodist keeldumise väljapääsu rotatsiooni ulatus. Unset määrab 429-l basseini liikme kõrvale ainult ülaltoodud IP-salvestatud perekonna jaoks; `all` laiendab seda kirjutamist igale pakkujale, nii et liikme kaudu saadud tariifilimiit väljub järgmisena mujal. Kõiki muid väärtusi peale `all` eiratakse. Vajab `PROXY_SKIP_RECENTLY_FAILED` (vaikimisi sees). Pood on sisestatud väljapääsuaadressi järgi, mitte (pakkuja, aadress), seega laienes 429 parki, mis kuulub iga pakkuja kohta kuni perioodi lõpuni (5 minutit, kahekordistades 15-ni). Lugege vastuse tulemuse kohta, nii et muudatus rakendub ilma taaskäivitamiseta. | | `OPENCODE_FREE_TIER_REQUEST_CONTRACT` | _(määramata)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Määrake väärtusele `off`, et peatada võtmeta OpenCode päringute korpuse reguleerimine (voogesituse lipp ja tööriistade loend). Päised on endiselt rakendatud. Lugege päringu järgi, nii et muudatus jõustub kohe. | | `OPENCODE_FREE_TIER_PLACEHOLDER_TOOLS` | _(määramata)_ | `open-sse/executors/opencodeFreeTierContract.ts` | Komadega eraldatud tööriistanimed, mis deklareeritakse võtmeta OpenCode päringul, mis ei sisalda ühtegi, kui selle mudeli puhul pole veel midagi täheldatud. Tühi langeb tagasi ühe kohahoidja juurde, mille mudelil on kästud mitte helistada. Maksimaalselt 32 kirjet, `[A-Za-z_][A-Za-z0-9_-]{0,63}`; kehtetuid kirjeid ignoreeritakse. | | `OPENCODE_FREE_TIER_CREDENTIAL` | `public` | `open-sse/executors/opencodeFreeTierContract.ts` | Mandaat on saadetud piiratud vabakäigurajal (`https://opencode.ai/inference/v1`). Alates 2026-10-21 vastab see rada tõelisele API klahvile 403 `Model access is disabled` ja esitab selle asemel anonüümset literaali. `key` säilitab operaatori API -klahvi, `none`/`off` ei saada mandaadi päist, mis tahes muu literaal saadetakse kandja märgina. Lugege vastavalt soovile. | | `OPENCODE_FREE_TIER_RELAY_URL` | määramata | `src/lib/opencodeFreeRelay.ts` | Bun -relee põhi URL vabatasemeliste OpenCode päringute jaoks. Kui need on määratud, kannavad need päringud OpenCode CLI süsteemiviipa ja tööriistakomplekti ning saadetakse relee (`scripts/ops/opencode-free-relay.ts`) kaudu, kuna ülesvoolu vastab 429 mitte-Bun HTTP klientidele. Loopback URLs käivitatakse serveriga, kui `bun` on sisse lülitatud PATH; URL teed ignoreeritakse. Lihtne `http://` on aktsepteeritud ainult loopback hostide jaoks (`localhost`, `127.0.0.0/8`, `::1`); mis tahes muu host peab kasutama `https://`, vastasel juhul ebaõnnestuvad taotlused selge vea tõttu. Ainult vestluse lõpetamised. Lugege vastavalt soovile. | | `OPENCODE_FREE_RELAY_BUN` | `bun` on PATH | `src/lib/opencodeFreeRelay.ts` | Bun kahendkood, mida kasutatakse relee käivitamiseks. | | `OPENCODE_FREE_RELAY_SCRIPT` | `scripts/ops/opencode-free-relay.ts` paki juure all | `src/lib/opencodeFreeRelay.ts` | Relee skripti tee. Vaikimisi lahendatakse installitud paketi juur, seejärel töökataloog. | | `OPENCODE_FREE_RELAY_HOST` | `127.0.0.1` | `scripts/ops/opencode-free-relay.ts` | Relee kuulamise host. | | `OPENCODE_FREE_RELAY_PORT` | `20199` | `scripts/ops/opencode-free-relay.ts` | Relee kuulamisport. | | `OPENCODE_FREE_RELAY_UPSTREAM` | `https://opencode.ai` | `scripts/ops/opencode-free-relay.ts` | Algne relee edasi. Peab olema `https://` (`http://` ainult loopback testi lähtekoha jaoks); relee keeldub muidu käivitamast. | | `OPENCODE_FREE_RELAY_TOKEN` | määramata | `scripts/ops/opencode-free-relay.ts`, `open-sse/executors/opencodeRelay.ts` | Jagatud saladus. OmniRoute saadab selle `x-opencode-relay-auth`; relee vastab 401 ilma selleta. Nõutav: tagasilülituseta `OPENCODE_FREE_RELAY_HOST` -ga relee keeldub ilma selleta käivitamast. | | `OPENCODE_FREE_RELAY_PROXY_ALLOWLIST` | määramata | `scripts/ops/opencode-free-relay.ts` | Komaga eraldatud `host` või `host:port` väljapääsu puhverserverid, mille tagasilülituseta relee võtab helistajatelt vastu (`x-opencode-relay-proxy`); mis tahes muu puhverserveri vastused 403. Tagasisilmuse sidumisel ignoreeritakse. | | `OMNIROUTE_OLLAMA_CLOUD_USAGE_URL` | `https://ollama.com/settings` | `open-sse/services/usage.ts` | Ollama Pilvesätted URL mida kasutatakse kvoodi kraapimiseks. Releede/testimisseadmete alistamine. | | `OMNIROUTE_OLLAMA_CLOUD_BALANCE_URL` | `https://ollama.com/api/balance` | `open-sse/services/ollamaCloudBalance.ts` | Ollama Pilvega dokumenteeritud ülesvoolu tasakaalu lõpp-punkt (`GET https://ollama.com/api/balance`, `Authorization: Bearer `). Lugege üks kord mooduli laadimisel. Kasutatakse esmalt Ollama pilvekvoodi jaoks, kui ühendusel on API -klahv; seadete lehe küpsisekaabits jääb tagavaraks. Releede/testimisseadmete alistamine. | | `OLLAMA_USAGE_COOKIE` | _(määramata)_ | `open-sse/services/usage.ts` | Ollama Cloud `__Secure-session` küpsis, mida kasutatakse seadete lehe kvoodi kraapimiseks. Tundlik; eelistada ühenduse kohta armatuurlaua välja, kui on konfigureeritud mitu kontot. | | `OLLAMA_CLOUD_USAGE_COOKIE` | _(määramata)_ | `open-sse/services/usage.ts` | Alternatiivne Ollama Cloud `__Secure-session` küpsis env var. Tundlik; eelistada ühenduse kohta armatuurlaua välja, kui on konfigureeritud mitu kontot. | | `OMNIROUTE_OLLAMA_USAGE_COOKIE` | _(määramata)_ | `open-sse/services/usage.ts` | Alternatiivne Ollama Cloud `__Secure-session` cookie env var, mida kasutatakse enne lühemaid varjunimesid. Tundlik; eelistada ühenduse kohta armatuurlaua välja, kui on konfigureeritud mitu kontot. | | `OMNIROUTE_CODEWHISPERER_BASE_URL` | `https://codewhisperer.us-east-1.amazonaws.com` | `open-sse/services/usage.ts` | CodeWhisperer (AWS Kiro) kasutuspiirangute lõpp-punkt. Releede/testimisseadmete alistamine. | > [!IMPORTANT] > Pöördpuhverserveri (nginx, Caddy) taga juurutamisel määrake `NEXT_PUBLIC_BASE_URL` oma stabiilsele avalikule URL (nt `https://omniroute.example.com`), kui OAuth tagasihelistamised või loodud avalikud lingid peavad kasutama seda hostinime. Ilma selleta võivad OAuth tagasihelistamised ebaõnnestuda, kuna redirect_uri ei ühti ja loodud avalikud lingid võivad osutada sisemisele konteineri lähtepunktile. > > Hoidke `BASE_URL` serveritevaheliste tööde jaoks sisemise loopback/container URL. Ärge kasutage mandaadi kandvate sisemiste automaatvõtete jaoks brauseri `Origin` ega avalikku hostinime. > > Autentitud armatuurlaual kirjutamine ei nõua staatilist avalikku baasi URL: armatuurlaud saadab sama päritoluga ohtlikke päringuid seansiga seotud CSRF märgiga. OmniRoute tsentraliseerib endiselt avaliku päritoluga valideerimise muude kui armatuurlauaga brauseri integratsioonide jaoks: esmalt usaldatakse selgesõnalisi avalikke URL env varie; töötlemata `Forwarded` / `X-Forwarded-*` päiseid eiratakse, välja arvatud juhul, kui `OMNIROUTE_TRUST_PROXY` on lubatud ja vahetu puhverserveri partner on märgistatud usaldusväärseks. Ärge kasutage CORS sätteid sama päritoluga armatuurlaua taotluste parandamiseks; CORS on mõeldud ainult mitme päritoluga brauseri klientidele. --- ## 8. Väljuv puhverserver Väljapääsu juhtimiseks, geomarsruutimiseks või IP maskeerimiseks suunake ülesvoolu LLM pakkuja kõned HTTP või SOCKS5 puhverserveri kaudu. `OMNIROUTE_UPSTREAM_HTTP2_ENABLED` vaikimisi on `true`. Seadke see väärtusele `false`, `0`, `no` või `off` et sundida HTTP/1.1 Undici dispetšeritele parameetrites `open-sse/utils/proxyDispatcher.ts` ja `open-sse/utils/proxyFetch.ts`: otseväljapääs, HTTP(S)/SOCKS puhverserverid, releed ja nende värske pistikupesa korduskatsed. See säilitab TLS -sertifikaadi kontrollimise, puhverserveri autentimise, ühenduse piirangud ja elushoidmise sätted. Taaskäivitage OmniRoute pärast selle muutmist, kuna dispetšerid salvestatakse vahemällu ja edastusagendid luuakse käivitamisel. Lüliti ei kontrolli wreq TLS sõrmejälgede võtmist ega teenusepakkujapõhist transporti. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------------------- | ------------- | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `ENABLE_SOCKS5_PROXY` | `true` | `open-sse/executors` | Lubage ülesvoolu kõnede jaoks SOCKS5 puhverserver. Loobumine `false`. | | `OMNIROUTE_GZIP_REQUEST_BODIES` | `true` | `open-sse/executors/base/gzipRequestBody.ts` | Gzipige ametlikule `api.anthropic.com` saadetud päringu keha (4096 + -märki, ainult otsesed ühendused; puhverserveri taha jäetud, TLS jäljendamine või `NODE_EXTRA_CA_CERTS`). Anthropic aktsepteerib ainult gzipi. Keeldutud kodeering (415, mitte-antroopiline 400/403 või algne JSON-parse 400) saadetakse uuesti tihendamata üks kord ja lähtekoht jääb tihendamata üheks tunniks. Loobuge klahvidega `0`, `false`, `off` või `no`. | | `NEXT_PUBLIC_ENABLE_SOCKS5_PROXY` | `true` | Kliendipoolne | Kliendipoolne teadlikkus SOCKS5 saadavusest. | | `PROXY_SKIP_RECENTLY_FAILED` | `true` | `src/shared/utils/featureFlags.ts` | Vaikimisi funktsioonilipp sees (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). Puhverserveri kogumid ja kontopõhine rotatsioon lõpetavad äsja ebaõnnestunud liikme (keeldus TCP -sondist või 429-st) uuesti teenindamise perioodiks, mis kahekordistub iga korduse korral kuni ülempiirini. `false` taastab tavalise valiku. | | `SELECTOR_CONTROL_ALLOWLIST` | _(määramata)_ | `src/lib/proxySubscription/selectorGuard.ts` | Lubatud loend kohaliku tuuma valija-juhtimise sihtmärkide jaoks väljaspool loopbacki (comma/space eraldatud hostid või IPs, `*` avab LAN/private, kuid mitte kunagi metadata/link-local). Loopback üle http/https on vaikimisi lubatud. Armatuurlaua DB väärtus võidab selle muutuja, kui see on määratud ja see pole tühi. | | `PROXY_QUOTA_429_BASE_MS` | `300000` | `open-sse/utils/proxyRefusalMemory.ts` | 429 kõrvalejäetud periood (ms), kahekordistunud iga korduse korral. Lugege üks kord käivitamisel. Piiratud `1000..3600000`; vahemikust väljas või loetamatu langeb hoiatusega tagasi vaikeväärtusele. | | `PROXY_QUOTA_429_MAX_MS` | `900000` | `open-sse/utils/proxyRefusalMemory.ts` | Kõrvale tõstetud 429 ülempiir (ms). Lugege üks kord käivitamisel. Piiratud `1000..3600000`; vahemikust väljas või loetamatu langeb hoiatusega tagasi vaikeväärtusele. Kui kork on aluse all, langeb see tagasi vaikeväärtusele. Korgi langetamine lühendab ka triibu unustamist: kirjed puhastavad `2 x max` pärast aegumist. | | `PROXY_POOL_SHARED_EGRESS_ORDER` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). Pakkujate puhul, kelle kvoot on jaotatud väljumisaadressi järgi, järjestage basseini liige, kes jagab hiljuti keeldutud liikme vaadeldud väljumisaadressi, veidi alla tervete liikmete. Ainult tellimine, mitte kunagi välistatud. Vajab `PROXY_SKIP_RECENTLY_FAILED`, mis annab loetava keeldumissignaali. | | `PROXY_WEBHOOK_REBOUND_MS` | `300000` | `src/lib/proxyEvents/proxyTransitionBridge.ts` | Tagasilöögiaken (ms) piirab korduvaid `proxy.set_aside` veebihaagi hoiatusi basseini liikme kohta, nii et keeldumiste sari saadab ühe sündmuse. Lugege iga emitendi kohta. Piiratud `1000..3600000`; vahemikust väljas või loetamatu langeb vaikselt tagasi vaikeväärtusele. | | `HTTP_PROXY` | _(määramata)_ | Node.js standard | HTTP puhverserver ülesvoolu kõnede jaoks. | | `HTTPS_PROXY` | _(määramata)_ | Node.js standard | HTTPS puhverserver ülesvoolu kõnede jaoks. | | `ALL_PROXY` | _(määramata)_ | Node.js standard | Universaalne puhverserver (toetab `socks5://`). | | `OMNIROUTE_PROXY_ECHO_URL` | _(määramata)_ | `src/lib/proxyEchoTarget.ts` | Kinnitab puhverserveri väljumissondide kasutatava kaja-IP sihtmärgi ühele URL le. Määramata, proovib sond `api64.ipify.org` ja seejärel `api4.ipify.org` nii et IPv4-only tunneleid ei teatata surnuks (#9694). | | `NO_PROXY` | _(määramata)_ | Node.js standard | Komaga eraldatud hostnames/IPs puhverserverist mööda hiilimiseks. | | `OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS` | `32` | `open-sse/utils/proxyDispatcher.ts` | Maksimaalne samaaegne pistikupesa vahemällu salvestatud HTTP/SOCKS puhverserveri dispetšeri kohta. Pikaealised SSE vood (nt Codex `/v1/responses` vajavad rohkem kui ühte ühendust, kui mitu päringut jagavad sama kontotaseme puhverserverit. Väärtused, mis ületavad `256` on piiratud. | | `SOCKS_HANDSHAKE_TIMEOUT_MS` | `10000` | `open-sse/utils/socksConnectorWithFamily.ts` | SOCKS5 käepigistuse (ühendamise) ajalõpp ms-des. Tõstke seda, kui ühte koduvärava hosti tabab kõrge samaaegsus (nt 100 samaaegset päringut). — võib tegelik käepigistus ületada 10 sekundit küllastunud basseini all, isegi kui puhverserver on kättesaadav, mis muidu kuvatakse vale `[Proxy Fast-Fail] Proxy unreachable`. Piiranguga `120000`. | | `PROXY_FAIL_OPEN` | `false` | `src/sse/handlers/chatHelpers.ts` | Kui `false` (vaikeseade), on päring, mille määratud puhverserver ei suuda lahendada** keeldus (tõrge-suletud)** otseühenduse juurde tagasi pöördumise asemel hoiab — ära tegeliku IP-lekke. Pärand DIRECT varu taastamiseks määrake `true`. | | `ENABLE_TLS_FINGERPRINT` | `false` | `open-sse/executors` | Petsige TLS sõrmejälge, kasutades wreq-js-i (mimiteerib Chrome 124). Loendab JA3/JA4 blokeerimist. | | `TLS_FINGERPRINT_PROVIDERS` | _(määramata)_ | `open-sse/utils/proxyFetch.ts` | Komaga eraldatud pakkuja lubade loend uue puhverserveri TLS marsruutimise jaoks (`open-sse/utils/proxyFetch.ts`). Direct TLS säilitab oma pärandkäitumise, kui see on määramata; ainult need pakkujad marsruudivad läbi Chrome-124 sõrmejäljesilla. Groq (`api.groq.com`) on välistatud isegi siis, kui lubade loend on määramata, sest Chrome'i JA3 käivitab Cloudflare 1010, samas kui native undici jõuab API. | | `OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS` | `false` | `open-sse/services/claudeTurnstileSolver.ts` | Lubage Claude Turnstile Playwright brauseri kontekstis HTTPS sertifikaadi vigu ignoreerida. | ### Stsenaariumid | Stsenaarium | Seadistamine | | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | **SOCKS5 läbi SSH tunneli** | `ALL_PROXY=socks5://127.0.0.1:7890`, `ENABLE_SOCKS5_PROXY=true` | | **Ettevõtte HTTP puhverserver** | `HTTP_PROXY=http://proxy.corp.com:3128`, `HTTPS_PROXY=http://proxy.corp.com:3128`, `NO_PROXY=localhost,internal.corp.com` | | **Sõrmejäljevastane** | `ENABLE_TLS_FINGERPRINT=true` — nõuab `wreq-js` (kaasas) | | **Väljapääs kontrollitud / puudub otsene juurdepääs** | Jätke `PROXY_FAIL_OPEN=false` (vaikeseade). Taotlused ebaõnnestuvad, kui puhverserver pole otse lekimise asemel saadaval. | | **Pärand / dev — võimaldavad otsest varundamist** | `PROXY_FAIL_OPEN=true`. Taastab kõvenemiseelse käitumise: puhverserveri eraldusvõime ebaõnnestumisel kasutatakse otseühendust. | > **Märkus (NVIDIA valideerimise ümbersõit — #3226):** NVIDIA API-võtme valideerimise lõpp-punkt seiskub, kui see suunatakse läbi globaalse proxy/TLS-patched toomise (udici dispetcher → 504). `src/lib/providers/validation.ts::directHttpsRequest()` möödub tahtlikult selle ühe valideerimiskutse puhverserveri paigast, kasutades `safeOutboundFetch({ bypassProxyPatch: true })`. See on dokumenteeritud erand, — ta teeb** mitte** mõjutada chat/usage väljapääsu. Möödaviigu kinnitab ulatusega `tests/unit/proxy-bypass-scope-guard-3226.test.ts`. --- ## 9. CLI tööriistade integreerimine Kontrollib, kuidas OmniRoute CLI külgkorve avastab ja käivitab (Claude kood, Codex jne). | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | --------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLI_MODE` | `auto` | `src/shared/services/cliRuntime.ts` | `auto` = otsingusüsteem PATH; `manual` = kasutage ainult selgesõnalisi teid. | | `CLI_EXTRA_PATHS` | _(määramata)_ | `src/shared/services/cliRuntime.ts` | Täiendavad PATH kirjed CLI binaartuvastuse jaoks (kooloniga eraldatud). | | `CLI_CONFIG_HOME` | _(määramata)_ | `src/shared/services/cliRuntime.ts` | Alista kodukataloog CLI konfiguratsioonide (`~/.claude`, `~/.codex`) lugemiseks. Peab olema absoluutne ja protsessi sees home —** või** , konteineris, sidemega kinnitatud tee (nii töötab `/host-home` ). Kõik muu langeb tagasi kodurež. | | `CLI_ALLOW_CONFIG_WRITES` | `true` | `src/shared/services/cliRuntime.ts` | Lubage OmniRoute kirjutada CLI konfiguratsioonifaile (tokeni värskendamine, seansi andmed). Määrake väärtusele `false`, et iga CLI konfiguratsiooni kirjutamine nurjus selgesõnalise veaga "kirjutamine keelatud". | | `CLI_CLAUDE_BIN` | `claude` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Claude CLI kahendfaili. | | `CLI_CODEX_BIN` | `codex` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Codex CLI kahendfaili. | | `CLI_DROID_BIN` | `droid` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Droid CLI kahendfailile. | | `CLI_OPENCLAW_BIN` | `openclaw` | `src/shared/services/cliRuntime.ts` | Kohandatud tee OpenClaw CLI kahendfaili. | | `CLI_CURSOR_BIN` | `agent`, siis `cursor` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Cursor agendi kahendfailile. Ilma selleta proovib tuvastamine esmalt `agent` ja läheb tagasi `cursor`. | | `CLI_CLINE_BIN` | `cline` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Cline CLI kahendfaili. | | `CLI_5DIVE_BIN` | `5dive` | `src/shared/services/cliRuntime.ts` | Kohandatud tee 5dive CLI kahendfaili. | | `CLI_5DIVE_STATE_DIR` | `/var/lib/5dive` | `src/shared/services/cliRuntime.ts` | 5dive'i süsteemi oleku kaust (juur-omanduses olevad autentimisprofiilid); peegeldab 5dive'i enda STATE_DIR vaikimisi. | | `CLI_CONTINUE_BIN` | `cn` | `src/shared/services/cliRuntime.ts` | Kohandatud tee CLI binaarseks jätkamiseks. | | `CLI_QODER_BIN` | `qodercli` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Qoder CLI kahendfaili. | | `CLI_QWEN_BIN` | `qwen` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Qwen koodi CLI kahendkoodi juurde. | | `CLI_AIDER_BIN` | `aider` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Aider CLI kahendfaili. | | `CLI_GOOSE_BIN` | `goose` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Goose CLI kahendfaili. | | `CLI_WHYCODES_BIN` | `whycodes` | `src/shared/services/cliRuntime.ts` | Kohandatud tee WhyCodes CLI kahendfailile. | | `CLI_GEMINI_BIN` | `gemini` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Google Gemini CLI binaarne — ainult serveripoolne detection/health kontroll; `omniroute run gemini` lahendab `gemini` kahendfaili süsteemist PATH. | | `CLI_KILO_BIN` | `kilocode` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Kilo Code CLI kahendkoodi juurde. | | `CLI_OPENCODE_BIN` | `opencode` | `src/shared/services/cliRuntime.ts` | Kohandatud tee OpenCode CLI kahendfailile. | | `CLI_HERMES_BIN` | `hermes` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Hermese kahendfaili. Jagavad mõlemad kataloogikirjed (`hermes` ja `hermes-agent`). | | `CLI_FORGE_BIN` | `forge` | `src/shared/services/cliRuntime.ts` | Kohandatud tee ForgeCode CLI kahendfailile. | | `CLI_JCODE_BIN` | `jcode` | `src/shared/services/cliRuntime.ts` | Kohandatud tee jcode CLI kahendfailile. | | `CLI_DEEPSEEK_TUI_BIN` | `deepseek-tui` | `src/shared/services/cliRuntime.ts` | Kohandatud tee DeepSeek TUI kahendfailile. | | `CLI_CODEWHALE_BIN` | `codewhale` | `src/shared/services/cliRuntime.ts` | Kohandatud tee CodeWhale CLI kahendfailile. | | `CLI_SMELT_BIN` | `smelt` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Smelt CLI kahendfaili. | | `CLI_PI_BIN` | `pi` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Pi (pi-kodeerimisagendi) binaarini. | | `CLI_CRUSH_BIN` | `crush` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Crush CLI kahendfaili. | | `CLI_OMP_BIN` | `omp` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Oh My Pi (`omp`) agendi kahendfaili. | | `CLI_LETTA_BIN` | `letta` | `src/shared/services/cliRuntime.ts` | Kohandatud tee Letta CLI binaarile. | | `CLI_PRIME_AGENT_BIN` | `prime-agent` | `src/shared/services/cliRuntime.ts` | Kohandatud tee peaagendi (Prime Intellect) binaarini. | | `CLI_WINDSURF_BIN` | _(pole)_ | `src/shared/services/cliRuntime.ts` | Kohandatud tee Windsurf binaarini. Windsurf laevad** vaikekäsku pole** — binaarne tuvastamine jääb keelatuks, kuni see on määratud. | | `CLI_DEVIN_BIN` | `devin` | `open-sse/executors/devin-cli.ts` | Kohandatud tee Devin CLI kahendfailile (v3.8.0). Kasutab Windsurf/Devin täitja. | | `DEVIN_DESKTOP_VERSION` | `3.6.27` | `open-sse/executors/devin-desktop.ts` | Devin Töölaua `ide_version`. Alistamised peavad kasutama `x.y.z` vormingut; kehtetud väärtused langevad tagasi kinnitatud vaikeväärtustele. | | `DEVIN_DESKTOP_EXTENSION_VERSION` | `1.48.2` | `open-sse/executors/devin-desktop.ts` | Komplekti kuuluv Codeium/language-server `extension_version`, mis erineb töölaua `ide_version` st. Alistamised peavad kasutama `x.y.z`; kehtetud väärtused kasutavad komplekteeritud vaikeväärtust. | | `CLI_DEVIN_AGENTIC_BIN` | `devin` | `open-sse/executors/devin-cli-agentic.ts` | Ainult agentsillaga Devin CLI alistamine. Täitja aktsepteerib ainult kohalikku ACP stdio ülesvoolu. | | `DEVIN_AGENTIC_HOME` | _(nõutav)_ | `open-sse/executors/devin-cli-agentic.ts` | Absoluutne isoleeritud kodu agentilise Devin alamprotsessi jaoks; aktsepteeritud sillateed on `/home/bridge` ja ülesande kohalikud `.sandbox` teed ( Windows, `C:\...\.sandbox\...`). | | `DEVIN_AGENTIC_ACP_TIMEOUT_MS` | `120000` | `open-sse/executors/devin-cli-agentic.ts` | Maksimaalne kestus on üks Devin ACP pööre enne, kui sild lõpetab lapse ja tagastab selgesõnalise ajalõpu. | | `DEVIN_BRIDGE_MODEL` | `devin-cli-agentic/swe-1-7` | `docker/devin-bridge/compose.yml` | Isoleeritud silla peamine Claude -koodi mudeli varjunimi. Pingelised rakmed asendavad näite praeguse Devin konto tagastatud mudeliga. | | `DEVIN_BRIDGE_SONNET_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Eraldatud silla pseudonüüm, mida kasutatakse siis, kui Claude kood taotleb oma Soneti vaikeseadet. | | `DEVIN_BRIDGE_OPUS_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Eraldatud silla pseudonüüm, mida kasutatakse siis, kui Claude Code taotleb Opuse vaikeseadet. | | `DEVIN_BRIDGE_HAIKU_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Eraldatud silla pseudonüüm, mida kasutatakse siis, kui Claude kood taotleb oma Haiku vaikeseadet. | | `DEVIN_BRIDGE_SUBAGENT_MODEL` | `DEVIN_BRIDGE_MODEL` | `docker/devin-bridge/compose.yml` | Isoleeritud silla alias, mida kasutatakse Claude koodi alamagentide jaoks. | | `DEVIN_SEAT_API_URL` | `https://server.codeium.com` | `open-sse/services/usage/devinCli.ts` | Devin CLI kvoodi (`GetUserStatus`) kasutatava Codeiumi istmehalduse API valikuline alistamine. | | `AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Kohaliku `auggie` pakkuja poolt kasutatava CLI binaarfaili Augment (Auggie) absoluutse tee alistamine. Langeb tagasi `CLI_AUGGIE_BIN`, seejärel PATH otsingule. | | `CLI_AUGGIE_BIN` | `auggie` | `open-sse/executors/auggie.ts` | Augment (Auggie) CLI binaartee aliase alistamine (märgitakse pärast `AUGGIE_BIN`). | | `ZCODE_BIN` | `zcode` | `open-sse/executors/zcode.ts` | Kohaliku `zcode` pakkuja stdio kliendi jaoks kasutatav binaarfail. Langeb tagasi `zcode` -le PATH. | | `ZCODE_ARGS` | — | `open-sse/executors/zcode.ts` | JSON massiiv (≤ 16 stringi) lisaargumentidest, mis edastatakse `cliTools` kaudu käivitamisel `zcode` binaarile. | | `ZCODE_CWD` | `process.cwd()` | `open-sse/executors/zcode.ts` | ZCode rakenduse-serveri alamprotsessi töökataloog. | | `ZCODE_TRANSPORT` | `app-server` | `open-sse/executors/zcode.ts` | `app-server` (vaikimisi) või `gateway`.** Katseline / toetamata:** `gateway` saadab otse Z.AI kodeerimisplaani HTTP taotlusi, taasesitades ZCode kliendiprotokolli (käepigistuse allkirjastamine ja kliendi 0.16.9 töötõendi päis) ja võib ZCode värskendamisel puruneda. See aktsepteerib ainult individuaalse kodeerimisplaani profiili. | | `ZCODE_PROVIDER_ID` | `account:zai-individual-coding-plan` | `open-sse/executors/zcode.ts` | Täpne native pakkuja profiil mudeli valimiseks. Kui see on määramata, kasutatakse individuaalse plaani konto profiili, mis langeb tagasi `builtin:zai-coding-plan` (konfiguratsioonikirjele, mis sisaldab individuaalse kodeerimisplaani võtit). Selle profiili kinnitamiseks määrake täpne ID (nt `account:zai-start-plan` ); kinnitatud profiil ei lange kunagi tagasi. | | `ZCODE_SERVER_RUNTIME_ROOT` | `~/.zcode/server` | `open-sse/executors/zcode.ts` | ZCode rakenduse-serveri käitusaja juur (kus asuvad komplekteeritud `node` ja `zcode-server.cjs` ). | | `ZCODE_SERVER_NODE` | `/node` | `open-sse/executors/zcode.ts` | Sõlme käivitatav fail, mida kasutatakse ZCode rakendusserveri majutamiseks. | | `ZCODE_SERVER_ENTRY` | `/zcode-server.cjs` | `open-sse/executors/zcode.ts` | Rakenduse serveri sisestusskript, mida kasutatakse ZCode serveri hostimiseks. | | `ZCODE_STARTUP_TIMEOUT_MS` | `10000` | `open-sse/executors/zcode.ts` | Käivitamise ajalõpp (ms) enne ZCode rakenduse serveri käivitamist loetakse nurjunuks. | | `ZCODE_RPC_TIMEOUT_MS` | `30000` | `open-sse/executors/zcode.ts` | Päringupõhine RPC ajalõpp (ms) ZCode rakenduse serveri kõne jaoks. | | `ZCODE_TURN_TIMEOUT_MS` | `120000` | `open-sse/executors/zcode.ts` | Ühe ZCode pöörde maksimaalne kestus (ms) enne, kui juhendaja aegumistähtaja möödub. | | `ZCODE_POLL_INTERVAL_MS` | `250` | `open-sse/executors/zcode.ts` | Küsitlusintervall (ms) ZCode pöörde lõpetamiseks. | | `MINIMAX_CODE_GATEWAY_URL` | `https://agent.minimax.io/mavis/api/v1/llm/v1/messages` | `open-sse/executors/minimaxCodeGateway.ts` | Hallatava MiniMax lüüsi lõpp-punkt, mis vastab natiivsete tööriistakõnedega. See on rakenduse MiniMax Code sisemine lõpp-punkt, mitte dokumenteeritud avalik API: see võib muutuda ilma ette teatamata ja seejärel taotlus nurjub 502-ga, mis nimetab transpordi. | | `MINIMAX_CODE_GATEWAY_TIMEOUT_MS` | `60000` | `open-sse/executors/minimax-code.ts` | Ühe hallatava lüüsi katse maksimaalne kestus (ms). Kogu kõne (katse, tagasilükkamine, üks korduskatse) kestab umbes kaks minutit, nii et kättesaamatu lüüs ei suuda mudelipesa kaua hoida. | | `MINIMAX_CODE_GATEWAY_RETRIES` | `1` | `open-sse/executors/minimaxCodeGateway.ts` | Korduskatsed hallatava lüüsi kõnega, mis ebaõnnestub mööduva vea tõttu (429, 5xx, ühendus katkes). | | `MINIMAX_CODE_CONTEXT_WINDOW` | `1000000` | `open-sse/executors/minimaxCodeGateway.ts` | Küsitakse hallatava MiniMax lüüsi kontekstiakent. Toote MiniMax Code mudelikataloogis on MiniMax-M3 ja MiniMax-M3.1-Flash vaikeaknaks deklareeritud 512000 ning teise aknana pakutakse 1000000; lüüs vastab suuremas aknas (1024056 sisendmärgi päringule vastati 2026-10-23). Määrake selle väärtuseks 512000, et kitsendada taotlust — plaan loeb sellest vähem. Iga teist väärtust ignoreeritakse, seega ei saa kirjaviga küsida akent, mida mudelil pole. | | `MINIMAX_CODE_MAX_INPUT_TOKENS` | `1000000` | `open-sse/executors/minimaxCodeGateway.ts` | Ühe hallatavale MiniMax lüüsile saadetud päringu ülemmäär (sisendmärkides). Suuremast taotlusest lükatakse edasisaatmise asemel tagasi 413, sest lüüsi keeldumine lukustab mudeli varuvariantidest. Vaikimisi on lüüsi konteksti aken (1000000); see väärtus võib seda lagi langetada, mitte kunagi tõsta seda aknast kõrgemale. | | `MINIMAX_CODE_MAX_TOKENS` | `8192` | `open-sse/executors/minimaxCodeGateway.ts` | Maksimaalne žetoonide arv, millega hallatav lüüs võib vastata. | | `MINIMAX_CODE_AUTH_FILE` | `~/.minimax/auth/prod//mcode-public/auth.json` | `open-sse/executors/minimaxCodeGateway.ts` | Juurdepääsu- ja värskendusluba sisaldava MiniMax Code autentimisprofiili tee. | | `MINIMAX_CODE_PROFILE_DIR` | `~/.minimax` | `open-sse/executors/minimaxCodeGateway.ts` | Auth-profiili sisaldava MiniMax Code profiili kataloog. | | `MINIMAX_CODE_AUTH_RECORD` | _(uusim põlvkond)_ | `open-sse/executors/minimaxCodeGateway.ts` | Profiili kirje, mida kasutatakse, kui sellel on mitu kontot. Empty valib uusima põlvkonna, mida CLI ise värskendab. | | `MINIMAX_CODE_REGION` | `en` | `open-sse/executors/minimaxCodeGateway.ts` | MiniMax konto piirkond. See määrab konto lõpp-punkti, mis värskendab luba, ja profiilikataloogi, kust mandaati loetakse. | | `HERMES_HOME` | `~/.hermes` | `src/lib/cli-helper/config-generator/hermesHome.ts` | Hermes Agendi kodukataloog, kus OmniRoute reads/writes Hermes CLI konfiguratsioon. Sobib env var Hermes PowerShell installeri komplektidega Windows (`%LOCALAPPDATA%\hermes`). | | `WHYCODES_HOME` | `~/.whycodes` | `src/lib/cli-helper/config-generator/whycodesHome.ts` | WhyCodes eksemplari juur kus OmniRoute reads/writes `config.toml`. Sama env var WhyCodes loeb; vaikimisi on `~/.whycodes` (`%USERPROFILE%\.whycodes` on Windows). | ### CLI profiili automaatne sünkroonimine Need funktsioonilipud on lubatud ja vaikimisi välja lülitatud. Neid saab sisse lülitada ka CLI Code armatuurlaualt. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------- | --------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_AUTO_SYNC_CODEX_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Pärast pakkuja mudeli sünkroonimist kirjutab `~/.codex/*.config.toml` profiilifailid reaalajas kataloogist automaatselt ümber. Nõuab `CLI_ALLOW_CONFIG_WRITES`; ei muuda kunagi active/default Codex konfiguratsiooni, autentimist, Codex-lb sätteid ega pakkuja valikut. | | `OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Pärast pakkuja mudeli sünkroonimist kirjutab `~/.claude/profiles//settings.json` Claude koodi profiilifailid automaatselt ümber reaalajas kataloogist. Nõuab `CLI_ALLOW_CONFIG_WRITES`; ei muuda kunagi active/default Claude konfiguratsiooni, autentimist ega pakkuja valikut. | ### Docker Näide ```bash # Mount host binaries into the container and tell OmniRoute where they are: CLI_EXTRA_PATHS=/host-cli/bin CLI_CONFIG_HOME=/host-home CLI_ALLOW_CONFIG_WRITES=true CLI_CLAUDE_BIN=/host-cli/bin/claude ``` `CLI_CONFIG_HOME` jõustub ainult siis, kui tee on tegelikult hostist ühendatud — siduge see kinnitustega nagu `~/.codex:/host-home/.codex:rw` (vt `host` profiili `docker-compose.yml`). Teed, mis ei asu konteineri kasutaja kodus ega sidumispaigalduses, ignoreeritakse, kuna sinna kirjutamine jäetakse konteineri uuesti loomisel kõrvale. Pilt töötab kui `USER node`, seega on seda ka ühendamata `/root`** mitte** kehtiv alistamine. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------------------- | -------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `OMNIROUTE_CONTAINER` | _(automaatne)_ | `src/shared/utils/containerEnv.ts` | Sundige konteineri tuvastamine sisse (`1`/`true`) või välja (`0`/`false`). Vajalik ainult käitusajal, mille automaattuvastus ei õnnestu. | | `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE` | `false` | `src/shared/services/cliRuntime.ts` | Luba CLI-tööriista konfiguratsioon siiski kirjutada ühendamata konteineriteele. CLI ekvivalent on `--allow-container-write`. | | `DOCKER_UPDATE_TRIGGER_FILE` | määramata | `src/lib/system/autoUpdate.ts` | Ainult Docker pilt: armatuurlaud** Värskenda kohe** kirjutab sellesse faili JSON päringu (peab olema `DATA_DIR` sees), et hostipoolne jälgija saaks konteineri tõmmata ja uuesti luua. Vaadake [Docker juhendit](../guides/DOCKER_GUIDE.md#dashboard-updates-in-docker). | ### CLI Binaarsed (`omniroute`) abilised Need muutujad häälestavad `omniroute` CLI kahendfaili käitumist (mitte ülaltoodud külgkorvi tuvastamist). | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------- | --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_LANG` | _(süsteem)_ | `bin/cli/i18n.mjs` | Force CLI väljundkeel. BCP-47 lokaat (nt `en`, `pt-BR`). Alistab süsteemi lokaadi env vars (LC_ALL, LC_MESSAGES). | | `OMNIROUTE_SHOW_LOG` | _(määramata)_ | `bin/cli/runtime/processSupervisor.mjs` | Serveri stdout/stderr järelevalverežiimis terminali edastamiseks määrake väärtusele `1`. Samaväärne `--log` lipuga `omniroute serve`. | | `OMNIROUTE_CLI_TOKEN` | _(määramata)_ | `bin/cli/api.mjs` | Masina autentimise luba sisestati `x-omniroute-cli-token` päisena. Automaatselt genereeritud ülesandes 8.12. | | `GEMINI_CLI_HOME` | _(määramata)_ | `bin/cli/commands/setup-gemini.mjs` | Püsiv Gemini kodujuur; ühekordne jooks kasutab ajutist eraldatud kodu. | | `OMNIROUTE_CHILD_SIGNAL_TIMEOUT_MS` | `5000` | `bin/cli/commands/run.mjs` | Ajapikendus millisekundites enne signaaliga CLI lapse sundtapmist. | | `OMNIROUTE_CLI_SKIP_DEFAULT_DATA_ENV` | _(määramata)_ | `bin/omniroute.mjs` | Määrake väärtusele 1 koos selgesõnalise DATA_DIR et jätta vahele vaikekasutaja andmekataloogi keskkonnafail. | | `OMNIROUTE_SYNC_TOKEN` | _(määramata)_ | `bin/cli/commands/sync.mjs` | Sünkroonimismärk `omniroute sync bundle` jaoks (`GET /api/sync/bundle` aktsepteerib ainult sünkroonimisluba, mitte API võtit). Samaväärne `--token`. | | `OMNIROUTE_HTTP_TIMEOUT_MS` | `30000` | `bin/cli/api.mjs` | HTTP ajalõpp (ms) katse kohta CLI → serveri päringute jaoks. | | `OMNIROUTE_READY_TIMEOUT_MS` | `60000` | `bin/cli/utils/pid.mjs` | Maksimaalne aeg (ms), mille jooksul CLI ootab enne ajalõpuhoiatuse printimist serveri tervise lõpp-punkti. Kasulik aeglase külmkäivituse korral (nt Windows). Seadistatakse ka `--ready-timeout` kaudu. | | `OMNIROUTE_VERBOSE` | `0` | `bin/cli/api.mjs` | Määrake väärtusele `1`, et printida retry/backoff -diagnostika stderr-i CLI käskude ajal. | | `OMNIROUTE_PLUGIN_PATH` | _(määramata)_ | `bin/cli/plugins.mjs` | Kohandatud kataloog CLI pistikprogrammide leidmiseks (`omniroute-cmd-*` paketid). Määramata jätmisel on vaikimisi `~/.omniroute/plugins/`. Ainult CLI-ga — see ei jõua kunagi serveripoolse pistikprogrammi skannerini, millele osutab `OMNIROUTE_PLUGINS_DIR` (jaotis 2). | | `OMNIROUTE_NO_UPDATE_NOTIFIER` | _(määramata)_ | `bin/omniroute.mjs` | Värskenduste kontrollimise keelamine, kui selle väärtuseks on määratud mis tahes mittetühi väärtus: CLI teade protsessist väljumisel ja armatuurlaua bänner "värskendus on saadaval" (`GET /api/system/version` jätab seejärel npm, GitHub ja uudiste otsingud vahele). CLI märguanne jääb välja ka CI, vaikse režiimi ja mittetekstilise väljundi korral. | | `OMNIROUTE_DOCTOR_LIVENESS_URL` | _(tuletatud)_ | `bin/cli/commands/doctor.mjs` | Elavsust URL uuris `omniroute doctor`. Programmiline `livenessUrl` valik on ülimuslik; vastasel juhul kasutatakse seda väärtust sõna-sõnalt. Määramata, tuletab CLI kohaliku armatuurlaua `/api/health/degradation` lõpp-punkti. | | `OMNIROUTE_PROVIDER_CATALOG_PATH` | `src/shared/constants/providers/` | `bin/cli/provider-catalog.mjs` | Pakkuja kataloogi tee, mida CLI pakkuja käsud kasutavad. Programmiline `catalogPath` on ülimuslik. Absoluutseid teid kasutatakse sellisel kujul, nagu nad on; suhtelised teed lahendavad projekti juurtest. Määramata, kasutab CLI pakkuja konstantide kataloogi ja `providers.ts` pärandfaili varuks. | | `OMNIROUTE_PROVIDER_TEST_MODEL` | _(pakkuja vaikeseade)_ | `bin/cli/provider-test.mjs` | Globaalne varumudel CLI pakkuja ühenduse testide jaoks. Eeliskohaks on konfigureeritud ühenduse mudel, pakkuja-spetsiifilise mudeli alistamine, see väärtus ja seejärel pakkuja sisseehitatud testmudel. | --- ## 10. Siseagent ja MCP integratsioonid | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------------------------------- | --------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_BASE_URL` | automaatne tuvastamine | `open-sse/mcp-server/server.ts` | Selgesõnaline URL, et MCP/A2A tööriistad jõuaksid OmniRoute. Alistab kohaliku hosti automaatse tuvastamise. A2A -oskused ebaõnnestuvad, selle asemel, et saata API -võti sellele URL (või `BASE_URL` kuhu see tagasi langeb), kui see on tavaline http avalikule aadressile, punktiirjoonega avalik hostinimi või pilve-metaandmete host või sellel on mandaadid: kasutage https-i või http-i tagasisilmuse, konteineri või teenuse nime või privaatse aadressi jaoks. | | `OMNIROUTE_API_KEY` | _(määramata)_ | MCP/A2A moodulid | API klahv sisemiste MCP tööriistakutsete jaoks. A2A -oskused saadavad selle ainult ilma API -klahvita helistajale (armatuurlaua seanss); klahviga helistaja tegutseb omadega. | | `OMNIROUTE_API_KEY_ID` | _(määramata)_ | `open-sse/mcp-server/audit.ts` | Võti ID MCP auditi logi omistamiseks. | | `ROUTER_API_KEY` | _(määramata)_ | Pärand | `OMNIROUTE_API_KEY` pärandalias. | | `OMNIROUTE_A2A_HISTORY_RETENTION_DAYS` | `30` | `src/lib/a2a/taskManager.ts` | Päevadepikkune A2A ülesannete ajalugu, mida hoitakse kohalikus andmebaasis, enne kui igapäevane puhastus rea kustutab. Määramata, mittenumbriline või `<= 0` langeb tagasi väärtusele `30`. | | `OMNIROUTE_A2A_MEMORY_HITS` | `1` | `src/lib/a2a/taskExecution.ts` | Kill-lüliti A2A mälu tabamuste jälgitavuse funktsiooni jaoks. Määrake väärtusele `0`, et jätta ülesande mälu meeldetuletusotsing täielikult vahele; mis tahes muu väärtus (kaasa arvatud määramata) hoiab selle sisse lülitatuna. | | `OMNIROUTE_ISSUE_AGENT_ENABLED` | `false` | `src/app/api/issue-agent/runs/route.ts` | Lubab offline/local Issue Agenti salvestatud triaaži lõpp-punkti. Jätke keelatuks, välja arvatud juhul, kui kohalikku salvestatud triaaži töövooge otseselt käivitada. | | `OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS` | _(määramata)_ | `src/lib/issueAgent/execution.ts` | Aegumine (ms) ühe probleemiagendi salvestatud triaažikäivituse jaoks. Kinnitatud sisemise maksimumini; taandub sisseehitatud vaikeväärtusele, kui see on määramata või kehtetu. | | `OMNIROUTE_CONTEXT` | _(aktiivne kontekst)_ | `bin/cli/program.mjs`, `bin/cli/api.mjs` | CLI kaugrežiimis context/profile `omniroute` käskude jaoks; alistab aktiivse konteksti kohaliku konteksti poes. Samaväärne `--context `. | | `OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED` | `0` | `bin/cli/contexts.mjs` | Keelake CLI konteksti mandaatide jaoks valikuline `keytar` OS-võtmehoidja taustaprogramm. Kui see on lubatud, jäävad mandaadid `config.json` -režiimi `0600` ja CLI väljastab ühekordse varuhoiatuse; mõeldud tahtlikuks headless/container kasutamiseks. | | `OMNIROUTE_MCP_ENFORCE_SCOPES` | `false` | `open-sse/mcp-server/server.ts` | Jõustage MCP tööriistakutsete puhul ulatusepõhine juurdepääsukontroll. | | `OMNIROUTE_MCP_SCOPES` | _(kõik)_ | `open-sse/mcp-server/server.ts` | Komaga eraldatud ulatused: `admin`, `combos`, `health`, `models`, `routing`, `budget`, `metrics`, `pricing`, `memory`, `skills`. | | `OMNIROUTE_PPLX_RESEARCH_ENABLED` | `0` | `open-sse/mcp-server/tools/perplexityResearch.ts` | Registreerige tööriist Perplexity Deep Research MCP. Ainult `1` registreerib selle; kõik muu jätab selle ära. | | `OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS` | `false` | `open-sse/mcp-server/descriptionCompressor.ts` | Enne manifesti järjestamist tihendage MCP tööriista kirjeldused. Luba väärtused: `1`, `true`, `on`. | | `OMNIROUTE_MCP_DESCRIPTION_COMPRESSION` | `rtk` | `open-sse/mcp-server/descriptionCompressor.ts` | Pakkimine algorithm/profile. Keela väärtused: `0`, `false`, `off`. | | `OMNIROUTE_MCP_FETCH_TIMEOUT_MS` | `10000` | `open-sse/mcp-server/fetchTimeout.ts` | Katkesta eelarve (ms) MCP-serveri sisehalduse lugemisel (tervis, vastupidavus, kombinatsioonid, kvoot, kasutus). | | `OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS` | `60000` | `open-sse/mcp-server/fetchTimeout.ts` | Katkestage eelarve (ms) MCP hüpete jaoks, mis ootavad pakkujat (`route_request`, `web_search`, `web_fetch`). | | `OMNIROUTE_MCP_SESSION_IDLE_MS` | `300000` | `open-sse/mcp-server/httpTransport.ts` | Idle TTL (ms), enne kui pühkimine saab jõudeolekus MCP voogesituse seansi. Avatud voo või pardataotlusega seanssi ei kasutata kunagi. Määramata, mittetäisarvud või mittepositiivsed väärtused langevad tagasi vaikeväärtustele. | | `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | `src/lib/localCorpus/configured.ts` | Mällu vahemällu salvestatud kohaliku korpuse indeksi eksemplaride maksimaalne arv (LRU, üks indekseeritud juurkataloogi kohta). Kinnitatud minimaalse `1`. | | `MODEL_SYNC_INTERVAL_HOURS` | `6` | `src/shared/services/modelSyncScheduler.ts` | Mudelikataloogi sünkroonimise intervall tundides. | | `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES` | `70` | `src/lib/usage/providerLimits.ts` | Pakkuja määra limiit ja kvoodi küsitluse intervall. | | `PROVIDER_LIMITS_SYNC_SPACING_MS` | `1500` | `src/lib/usage/providerLimits.ts` | Vahe (ms) järjestikuste OAuth -kvoodi toomiste vahel hulgisünkroonimisel; OAuth ühendused tuuakse ükshaaval, et vältida ülesvoolu lõhkemist. `0` loobub (samaaegselt). | | `OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS` | `250` | `open-sse/services/quotaFetchThrottle.ts` | Minimaalne intervall (ms) järjestikuste ülesvoolu kvoodi toomiste vahel päringupõhisel preflight/monitor teel; ruumid samaaegsed võrgukõned, nii palju kontosid ühes IP ei lõhke ülesvoolu. Juhtmed on ühendatud Codex (`/wham/usage`), DeepSeek, Bailiani (mõlemad toomissaidid), OpenCode ja Crof kvooditootjatega (#6009, #6911). Üldine `usage.ts::getUsageForProvider` väljasaatmistee (github/glm/minimax/nanogpt/xai/etc.) ei ole veel kaetud, — jälgitakse eraldi. Vahemälu tabamusi ei mõjutata. `0` keelab; klambriga `0..60000`. | | `OMNIROUTE_QUOTA_FETCH_JITTER_MS` | `120` | `open-sse/services/quotaFetchThrottle.ts` | Täiendav päringupõhine juhuslik vahekaugus (ms), proovid võetakse iga reserveeritud ülesvoolu kvoodi toomisel. Vaikimisi 120; klambriga `0..60000`; `0` eemaldab ainult värinad. Seadke `OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS=0`, et keelata kogu gaasihoob. Värin ei taga ülesvoolu keeldude vältimist. | | `CODEX_QUOTA_FETCH_TIMEOUT_MS` | `8000` | `open-sse/services/codexQuotaFetcher.ts` | Aegumine (ms) ühe Codex kvoodi toomise jaoks (`chatgpt.com/backend-api/wham/usage`). Enne päringu saatmist ootab eelproov seda toomist. Pärast ajalõpu või transporditõrget kasutatakse viimase 15 minuti viimast pilti uuesti, välja arvatud juhul, kui selle aken on ammendatud või lähtestatud; kui ükski pole, on kvoot teadmata, seega jäetakse tasulise krediidikonto selle taotluse jaoks vahele ja jahtumist ei jätkata. Aktsepteerib positiivset täisarvu kuni `2147483647`; mis tahes muu väärtus langeb tagasi vaikeväärtusele. | | `PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS` | `5000` | `src/lib/usage/providerLimits.ts` | Viivitus (ms) enne pakkuja piirangute värskendamist pärast tegelikku kasutussündmust, mis annab ülesvoolu kvoodile API aega tarbimise registreerimiseks. | | `OMNIROUTE_LOGIN_BROWSER_PATH` | automaatne tuvastamine | `open-sse/services/adobeFireflyBrowserLogin.ts` | Absoluutne tee süsteemi Chrome'i või Edge'i käivitatava failini, mida kasutatakse interaktiivseks Adobe Firefly sisselogimiseks ja ekraaniväliseks uuendamiseks. | | `ADOBE_FIREFLY_BROWSER_REFRESH` | lubatud | `open-sse/services/adobeFireflySession.ts` | Hoiab IMS ja brauseri riski oleku värskena konto ulatusega Chrome CDP seanssidega. Brauseri uuendamise keelamiseks määrake `0`. | | `ADOBE_FIREFLY_SESSION_DISK` | lubatud | `open-sse/services/adobeFireflySession.ts` | Säilitab `DATA_DIR` all parandatud Adobe seansse kogu protsessi taaskäivitamisel. Määrake `0`, et hoida seansid ainult mälus. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Minimaalne vahe millisekundites Adobe Firefly genereerimise esildiste vahel; `0` keelab tühikute kasutamise. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Eriti vaikne periood millisekundites pärast iga kolmandat edukat Adobe esitamist. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyClient.ts` | Base backoff millisekundites pärast mööduvaid Adobe 408 vastuseid; koos esitamisvahega maksimaalselt viiel katsel. | | `OMNIROUTE_DISABLE_BACKGROUND_SERVICES` | `false` | `src/instrumentation-node.ts` | Keelake kõik taustateenused: kvoodi värskendamine, teenusepakkuja piirangute sünkroonimine, ühenduse taastamine, mandaadi seisukord, cloud/model/free-proxy/proxy-health sünkroonimine, säilituspuhastus, ajastatud VACUUM ja seadete kuuma taaslaadimise küsitlus. Kasulik CI/test jaoks; pikaajalise installi korral ühendused automaatselt ei taastu ja andmebaas kasvab pidevalt. | | `OMNIROUTE_HEADLESS` | _(määramata)_ | `src/lib/system/headless.ts` | Ainult puhvermootoriga alglaadimine: jätab valikulised alamsüsteemid vahele, `/dashboard` → 404. Sama mis `omniroute serve --headless`. Vaata [HEADLESS.md](../guides/HEADLESS.md). | | `OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS` | _(määramata)_ | `src/lib/config/runtimeSettings.ts` | Sundige automaatse testituvastusega taustatoimingud sisse lülitama. Määrake `1` testheuristikat alistama. | | `OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS` | `600000` | `src/lib/jobs/budgetResetJob.ts` | Eelarve lähtestamise kontrolli kadentsi (ms). Põrand `10000`. | | `OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS` | `60000` | `src/lib/quota/connectionRecovery.ts` | Ennetav ühenduse jahtumise taastamise kadents (ms): kinnitab uuesti ühendused, mille transientne `rate_limited_until` on möödunud, väljaspool päringu kiirteed. Põrand `5000`. | | `OMNIROUTE_DISABLE_CONNECTION_RECOVERY` | `false` | `src/lib/quota/connectionRecovery.ts` | Keela ennetav ühenduse jahtumise taastamise ajakava (laisk taastamine `getProviderCredentials` kehtib endiselt). | | `OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS` | `1800000` | `src/lib/jobs/reasoningCacheCleanupJob.ts` | Põhjenduste vahemälu puhastamise kadents (ms). Põrand `60000`. | | `OMNIROUTE_REASONING_MIN_BUDGET` | _unset_ (keelatud) | `open-sse/services/reasoningTokenBuffer.ts` | Valimispõrand mõtlemismudeli väljundeelarvete jaoks: helistaja `max_tokens` `[256, floor)` -s tõstetakse põrandale (kaetakse mudeli väljundkorgiga). Tühista = kliendi eelarveid ei suurendatud (#9507). | | `OMNIROUTE_REASONING_EFFORT_PROBE_PROVIDERS` | _unset_ (keelatud) | `open-sse/services/learnedReasoningEffortCaps.ts` | Lubatud, komadega eraldatud pakkuja ID-d (või `*`): kui `reasoning_effort` 400/422 ei nimeta ühtegi aktsepteeritud komplekti, proovige üks kord uuesti ühe astme võrra madalamal (mitte kunagi alla `low`) ja õppige see tase ainult siis, kui proovile vastatakse (#14895). | | `OMNIROUTE_LOG_EXPORT_CRON` | `0 * * * *` | `src/lib/jobs/logExportJob.ts` | Croni avaldis (UTC) kõnelogi eksporditöö jaoks, mis tühjendab kõik lubatud logide ekspordi sihtkohad. Kehade eksportimisel eelistage `*/5 * * * *`. | | `OMNIROUTE_LOG_EXPORT_RUN_TIMEOUT_MS` | `900000` | `src/lib/logExport/childRunner.ts` | Sihtkohapõhine alamseinakella ajalõpp millisekundites. Timeout salvestab ebaõnnestumise ja peatab protsessi kinnitamata partii edasi viimata. Invalid/non-positive/non-integer väärtused kasutavad vaikeväärtust. | | `OMNIROUTE_LOG_EXPORT_CHILD_MAX_OLD_SPACE_MB` | `1024` | `src/lib/logExport/childRunner.ts` | Sõlme ekspordi alam V8 vana ruumi limiit MB (mitte kogu RSS). Vaikimisi jätab ruumi 500 rea jaoks piiratud kehadega esemete jaoks; liiga suured partiid võivad siiski ammendada lastehunnikut. Ebaõnnestumise korral soovitatakse partii suurust vähendada või seda limiiti suurendada. Invalid/non-positive/non-integer väärtused kasutavad vaikeväärtust. Bun eksport langeb ilma selle piiranguta protsessis tagasi. | | `OMNIROUTE_CONFIG_HOT_RELOAD_MS` | `5000` | `src/lib/config/hotReload.ts` | Küsitlusintervall (ms) konfiguratsiooni kuuma taaslaadimiseks. Madalam kui `1000` lükatakse tagasi. | | `OMNIROUTE_DISABLE_REDIS_AUTH_CACHE` | _(lubatud)_ | `src/lib/db/apiKeys.ts` | Määrake `1` Redis-toega API-võtme autentimisvahemälust mööda minema (sunnib DB lugemist). | | `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | `0` | `open-sse/services/compression/engines/rtk/filterLoader.ts` | Usaldage kasutaja hallatavaid RTK projekti filtrireegleid ilma range allkirjakontrollita. | | `OMNIROUTE_LITE_MAX_TOOL_LENGTH` | `2000` | `open-sse/services/compression/lite.ts` | Lite'i ennetava tööriista-tulemuse kärpimise tähemärgipiirang, kui `lite.maxToolLength` on määramata. Vahemik 256–1000000. Armatuurlaua seadistus võidab selle env. | | `OMNI_COMPRESSION_WORKERS` | `2` | `open-sse/services/compression/compressionWorkerPool.ts` | Maksimaalne samaaegne sünkroonse RTK/Caveman töötaja; üleliigsed töökohad oota FIFO. | | `OMNI_COMPRESSION_WORKER_TIMEOUT_MS` | `120000` | `open-sse/services/compression/compressionWorkerPool.ts` | Töö ajalõpp millisekundites. Aegunud töötajad lõpetatakse ja taotlus nurjub muutmata kujul. | | `OMNI_COMPRESSION_WORKER_IDLE_MS` | `60000` | `open-sse/services/compression/compressionWorkerPool.ts` | Jõudeoleku aeg millisekundites, enne kui kasutamata tihendustöötaja lõpetatakse. | | `OMNI_COMPRESSION_WORKER_MAX_OLD_MB` | `1024` | `open-sse/services/compression/compressionWorkerPool.ts` | V8 vana põlvkonna kuhja kork MB iga tihendustöötaja jaoks, kõik režiimid (põrand `128`). Seda ületav töö nurjub lüüsihunniku kasvatamise asemel (tihendamata). | | `COMPRESSION_PIPELINE_BREAKER_ENABLED` | `false` | `open-sse/services/compression/pipelineEngineBreaker.ts` | T02 virnastatud torujuhtme mootori kohta kaitselüliti pealüliti.** Luba (vaikimisi väljas)** — kui see on sisse lülitatud, jäetakse mootor, mis esitab korduvalt päringuid, jahtumiseks vahele (tõrgeteta); väljas = baitidega identne pärandkäitumine. | | `COMPRESSION_PIPELINE_BREAKER_THRESHOLD` | `3` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Järjestikused ristpäringu tõrked enne mootori kaitselüliti avanemist. | | `COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS` | `30000` | `open-sse/services/compression/pipelineEngineBreaker.ts` | Avatud mootor jääb millisekundite vahele enne pooleldi avatud andurit. | | `COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR` | `2` | `open-sse/services/compression/engines/ccr/index.ts` | T08/H8 CCR otsingu-tagasiside ramp: iga salvestatud ploki eelnev taastamine tõstab selle efektiivset `minChars` lineaarselt (sageli otsitav sisu tihendab vähem; `>=3` otsib = ei tihendata kunagi). `1` keelab rambi (binaarne vahelejätmine ainult lävel). | | `COMPRESSION_CCR_DURABLE_STORE` | `true` | `open-sse/services/compression/engines/ccr/index.ts` | CCR vastupidava ploki pood (#9061). Toetab mälus oleva salvestusruumi funktsiooniga SQLite, nii et plokk säilib LRU väljatõstmise, TTL, taaskäivitamise või laadimise maandumise mõnele teisele eksemplarile. Määrake `false`, et hoida plokke ainult mälus. Plokid üle 512 KB ja pilve tööajad jäävad sõltumata ainult mälust. | | `COMPRESSION_PREFIX_FREEZE_ENABLED` | `false` | `open-sse/services/compression/prefixFreeze.ts` | T08/H5 kasutust jälgiv prefiksi külmutamise pealüliti.** Luba (vaikimisi väljas)** —, kui see on sisse lülitatud, vaadeldakse süsteemi viipa `>=` läve käsitletakse stabiilse vahemällu salvestatava prefiksina ja kaitstakse tihendamise eest isegi pakkujate jaoks, mille staatiline vahemälu heuristiline märkamata jääb (külmutab ainult _säilitab_, ei muteeri kunagi). | | `COMPRESSION_PREFIX_FREEZE_THRESHOLD` | `3` | `open-sse/services/compression/prefixFreeze.ts` | Süsteemi vaatlused annavad märku enne, kui seda käsitletakse külmutatud stabiilse prefiksina. | | `OMNIROUTE_BOOTSTRAPPED` | `false` | `src/app/(dashboard)/dashboard/page.tsx` | Pärast algset seadistamist määrake `true` alglaadimisskripti järgi. Juhib seadistusviisardi nähtavust. | | `OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE` | `0` | `open-sse/executors/antigravity.ts` | Escape luuk: lubage päringu kehal Antigravity projekti välja alistada. | | `ANTIGRAVITY_CREDITS` | `off` | `open-sse/services/antigravityCredits.ts` | Google Üks AI krediidipoliitika: `off` ei sisesta kunagi krediite, `retry` süstib üks kord pärast sobivat kvooti 429 ja `always` süstib esimesel taotlusel. | | `OMNIROUTE_ANTIGRAVITY_TIMING_TELEMETRY` | `false` | `open-sse/executors/antigravity/executeAttempt.ts` | Valida desinfitseeritud füüsilise saatmise ajastus: konto jõudeolekus, lennu ajal esitatavad päringud, päistele kuluv aeg ja esimene sisukas SSE sisu. Logides pole viipasid, mandaate ega ülesvoolu URLs. | | `ANTIGRAVITY_MAX_429_ATTEMPTS` | `2` | `open-sse/services/antigravity429Guard.ts` | Ülesvoolu 429-sid talutakse Antigravity (`agy`/`antigravity`) päringu kohta kõigis hostides (1–12), enne kui 429 helistajale tagasi läheb. Selle kulutanud kehale vastatakse uuesti saatmisel kohapeal (2 minutit, kahekordistamine 30 minutini või ülesvoolu uuesti proovimise vihje) ja vestluse töötleja ei taaskäivita päringut pärast seda 429. | | `ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS` | `0` | `open-sse/translator/request/openai-to-gemini.ts` | Lubage Antigravity päringu tõlkijal oma range CLI -päringu-allkirja valideerimine vahele jätta, kui ülesvool keeldub tõelistest allkirjadest (debug/antiquated-CLI režiim). Mitte-null võimaldab möödaviiku. | | `AGY_TOKEN_FILE` | `~/.gemini/antigravity-cli/antigravity-oauth-token` | `src/app/api/providers/agy-auth/apply-local/route.ts` | Alistage Antigravity CLI (agy) loafaili tee kohaliku sisselogimise automaatse tuvastamise importimisel. | ### OAuth CLI sild (sisemine) | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------- | ---------------------- | ------------------------------- | ----------------------------------------------- | | `OMNIROUTE_SERVER` | automaatne tuvastamine | `src/lib/oauth/config/index.ts` | Server URL CLI jaoks ↔OmniRoute autentimissild. | | `OMNIROUTE_TOKEN` | _(määramata)_ | `src/lib/oauth/config/index.ts` | CLI silla autentimisluba. | | `OMNIROUTE_USER_ID` | `cli` | `src/lib/oauth/config/index.ts` | Kasutaja ID CLI sillaseansside jaoks. | | `SERVER_URL` | _(määramata)_ | `src/lib/oauth/config/index.ts` | `OMNIROUTE_SERVER` pärandalias. | | `CLI_TOKEN` | _(määramata)_ | `src/lib/oauth/config/index.ts` | `OMNIROUTE_TOKEN` pärandalias. | | `CLI_USER_ID` | _(määramata)_ | `src/lib/oauth/config/index.ts` | `OMNIROUTE_USER_ID` pärandalias. | --- ## 11. OAuth pakkuja mandaat ### Passiivne Codex märgi värskendamine `OMNIROUTE_TOKEN_REFRESH_PASSIVE_PROVIDERS` väärtus `codex` muudab selle eksemplari sünkroonitud Codex mandaatide tarbijaks, mitte värskendusloa pööramise omanikuks. Tühi või määramata vaikeseade säilitab tavapärase värskenduskäitumise. Komaga eraldatud väärtused on kärbitud ja tõstutundlikud; `cx` on `codex` varjunimi. Toetamata pakkujad ebaõnnestuvad käivitamise valideerimisel. Teised pakkujad ei muutu. Olemasolevates värskenduspunktides möödub eksemplar ühenduse lugemise vahemälust ja võtab kasutusele ainult erineva, aegumata juurdepääsuloa. Päringu ajal ülesvoolu tagasilükatud märgid ei saa pärast sünkroonimise tagasivõtmist uuesti kvalifitseeruda: päringu mandaatides on kuni neli SHA-256 sõrmejälge, mis tühistatakse koos selle taotlusega. Võetakse kasutusele ainult loa väljad, nii et päringu kohaliku pakkuja metaandmed jäävad alles. Vastuvõetud mandaate ei säilitata. Kui asendust pole, ei ole `refresh_disabled` terminal ja seda ei arvestata token-värskenduse kaitselüliti puhul. Päris ülesvoolu 401/403 vastused säilitavad tavapärase rikete arvestuse, eksponentsiaalse jahtumise ja kliendi vead; konto deaktiveerimise signaalid lukustuvad endiselt jäädavalt. Manuaalne dashboard/API värskendamine tagastab `409` koodiga `refresh_disabled` ja juhisega aktiivsel eksemplaril värskendada ja sünkroonida. Kaudsed värskendused (vestlus, kasutamine, tervisekontrollid ja impordi valideerimine) seda viga ei too; nõudmisel kasutusel 401 taastamist proovib üks kord vastuvõetud sünkroonitud märgiga. Codex auth import salvestab tarnitud märgid ilma värskendusmärgi vahetuseta; uued OAuth sisselogimised on muutumatud. Väljaspool olemasolevat ennetavat värskendusteed väljasaatmiseelset sünkroonimist ei lisata. Hoidke täpselt üks pööramise omanik ja korraldage žetoonide sünkroonimine eraldi, enne kui juurdepääsulubad aeguvad (vaikimisi ennetav müügivihje: viis minutit). See suvand ei ole hajutatud lukk, andmebaasi replikatsioon ega jagatud SQLite juurutus. Allikas: `open-sse/services/tokenRefresh/passiveCodex.ts`. Sisseehitatud mandaadid** kohaliku peremehe areng** . Kaugjuurutamiseks registreerige oma iga pakkuja arendajakonsoolis. | Muutuv | Pakkuja | Märkmed | | ------------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CLAUDE_OAUTH_CLIENT_ID` | Claude kood (Anthropic) | Avalik klient — pole saladust vaja. | | `CLAUDE_CODE_REDIRECT_URI` | Claude kood | Alista ümbersuunamine URI. Vaikimisi: `https://platform.claude.com/oauth/code/callback` | | `CODEX_OAUTH_CLIENT_ID` | Codex / OpenAI | Avalik klient. | | `GEMINI_OAUTH_CLIENT_ID` | Gemini (Google) | Nõuab sobivat `_SECRET`. | | `GEMINI_OAUTH_CLIENT_SECRET` | Gemini (Google) | — | | `KIMI_CODING_OAUTH_CLIENT_ID` | Kimi kodeerimine (Moonshot) | Avalik klient. | | `MUSE_CODE_OAUTH_CLIENT_ID` | Muusa kood (meta) | Valikuline alistamine avaliku Muse CLI seadmevoo kliendi ID jaoks. Sisseküpsetatud avaliku kliendi kasutamiseks jätke määramata. | | `ANTIGRAVITY_OAUTH_CLIENT_ID` | Antigravity (Google) | Nõuab sobivat `_SECRET`. | | `ANTIGRAVITY_OAUTH_CLIENT_SECRET` | Antigravity (Google) | — | | `GITHUB_OAUTH_CLIENT_ID` | GitHub Copilot | Avalik klient. | | `GHE_COPILOT_OAUTH_CLIENT_ID` | GHE Copilot | Valikuline alistamine GitHub Enterprise CopilotOAuth kliendi ID jaoks. Määramata jätmisel taandub `GITHUB_OAUTH_CLIENT_ID` avalikule vaikeväärtusele. | | `COPILOT_INTEGRATION_ID` | GitHub Copilot | Valikuline alistamine GitHub Copilot kliendiintegratsiooni ID jaoks, mis saadetakse `Copilot-Integration-Id` ja `Editor-Plugin-Version` päistesse. Vaikimisi on `copilot-developer-cli`. | | `WINDSURF_API_KEY` | Windsurf / Devin (v3.8) | API -klahvi tagavara, mida `open-sse/executors/devin-cli.ts` kasutab, kui ühenduse kohta pole mandaati saadaval. Valikuline. | | `CLI_DEVIN_BIN` | Devin CLI (v3.8) | Kohandatud tee Devin CLI kahendfailile (`devin`). Lahendatud `open-sse/executors/devin-cli.ts` poolt. | | `GITLAB_DUO_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | OAuth klient ID GitLab Duo jaoks. Registreerige rakendus saidil `https://gitlab.com/-/profile/applications` ümbersuunamisega URI `/callback` ja ulatustega `api, read_user, openid, profile, email`. Langeb tagasi `GITLAB_OAUTH_CLIENT_ID`. | | `GITLAB_DUO_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | OAuth kliendi saladus GitLab Duo jaoks. Valikuline — PKCE voog ei vaja saladust. Langeb tagasi `GITLAB_OAUTH_CLIENT_SECRET` juurde. | | `GITLAB_DUO_BASE_URL` | GitLab Duo (v3.8) | GitLab baasi URL (isehostitud GitLab) alistamine. Vaikimisi `https://gitlab.com`. Langeb tagasi `GITLAB_BASE_URL` juurde. | | `GITLAB_BASE_URL` | GitLab Duo (v3.8) | Pärandvaru `GITLAB_DUO_BASE_URL` jaoks. Kasutatakse, kui `_DUO_` variant on määramata. | | `GITLAB_OAUTH_CLIENT_ID` | GitLab Duo (v3.8) | `src/lib/oauth/constants/oauth.ts` tarbitud `GITLAB_DUO_OAUTH_CLIENT_ID` pärandvaru. | | `GITLAB_OAUTH_CLIENT_SECRET` | GitLab Duo (v3.8) | `src/lib/oauth/constants/oauth.ts` tarbitud `GITLAB_DUO_OAUTH_CLIENT_SECRET` pärandvaru. | | `QODER_OAUTH_CLIENT_SECRET` | Qoder | — | | `QODER_OAUTH_AUTHORIZE_URL` | Qoder | Määrake Qoder OAuth lubamiseks. | | `QODER_OAUTH_TOKEN_URL` | Qoder | — | | `QODER_OAUTH_USERINFO_URL` | Qoder | — | | `QODER_OAUTH_CLIENT_ID` | Qoder | — | | `QODER_PERSONAL_ACCESS_TOKEN` | Qoder | Otsene API klahvi tagastus (läheb OAuth mööda). | | `QODER_CLI_WORKSPACE` | Qoder | Tööruum ID Qoder CLI jaoks. | | `OMNIROUTE_QODER_WORKSPACE` | Qoder | Pseudonüüm `QODER_CLI_WORKSPACE` jaoks. | | `QODER_CLI_CONFIG_DIR` | Qoder | Alista Qoder CLI konfiguratsioonikataloog (isoleeritud PAT seanss, väldib brauseri sisselogimise blokeerimist). | | `QODER_CLI_MAX_CONCURRENCY` | Qoder | Max samaaegne qodercli käitamine (printimise kuded või ACP viibad); lisataotluste järjekord FIFO. Tühista (vaikeseade) = no cap. | | `QODER_CLI_QUEUE_TIMEOUT_MS` | Qoder | Kui kaua ootab Qoder taotlus qodercli pesa (ainult koos korgiga), enne kui 429 `qodercli_busy` + `Retry-After` korral ebaõnnestub. Vaikimisi `120000`. | | `QODER_CLI_TRANSPORT` | Qoder | `print` (vaikimisi) loob `qodercli --print` päringu kohta; `acp` säilitab ühe püsiva `qodercli --acp` protsessi PAT kohta. | | `QODER_CLI_ACP_IDLE_TIMEOUT_MS` | Qoder | ACP transport: lõpetage püsiv qodercli protsess pärast seda pikka jõudeaega. Vaikimisi `600000`. | | `QODER_CLI_ACP_STARTUP_TIMEOUT_MS` | Qoder | ACP transport: qodercli ACP `initialize` vastamise tähtaeg. Vaikimisi `60000`. | | `QODER_CLI_ACP_MAX_SESSIONS_PER_PROCESS` | Qoder | ACP transport: taaskasutage püsiv qodercli protsess pärast paljusid seansse. Vaikimisi `500`. | | `BLACKBOX_WEB_VALIDATED_TOKEN` | Blackboxi veeb | Frontendi `tk` luba `validated` s `/api/chat`-na saatmiseks. Nõutav, kui Blackbox jõustab lubade sobitamise; vastasel juhul langeb OmniRoute tagasi juhuslikuks UUID. Vaadake väljaannet #2252. | | `VISION_BRIDGE_BASE_URL` | Vision Bridge kaitsepiire | OpenAI-ga ühilduv põhi URL mitte-antroopiliste nägemissillakõnede jaoks. Vaikimisi on pärand OpenAI URL env või api.openai.com. Punkt OmniRoute `/v1` iseloopile või mis tahes OpenAI-compat lõpp-punktile (Gemini OpenAI-compat, OpenRouter). Väljaanne #2232. Kui URL on OmniRoute enda `/v1`, saadab kirjeldav alampäring `x-omniroute-admission-bypass: internal` ja autentitakse lahendatud eneseahela mandaadiga (`sk_omniroute` sentinel kohalikus režiimis või `OMNIROUTE_API_KEY` / `ROUTER_API_KEY` — #1350), nii et `REQUIRE_API_KEY=true` juurutused toimivad. | | `VISION_BRIDGE_API_KEY` | Vision Bridge kaitsepiire | API klahv ülaloleva URL jaoks. Alistab teenusepakkujapõhised OpenAI / Google env vars mitte-antroopiliste visioonisillakõnede puhul. Anthropic mudelid säilitavad oma spetsiaalse Anthropic võtmetee. Väljaanne #2232. | | `OMNIROUTE_VISION_BRIDGE_NEGATIVE_CACHE_MS` | Vision Bridge kaitsepiire | Kui kaua marsruutimise tulemust "kasutatav kandidaat" pole vahemällu salvestatud, ms (vaikimisi `30000`). Kehtetud või negatiivsed väärtused langevad tagasi vaikeväärtustele; `0` keelab negatiivse vahemälu. Allikas: `src/lib/guardrails/visionBridgeRouter.ts`. | | `OMNIROUTE_IMAGE_NORMALIZATION` | Nägemispildi normaliseerimine | Lubamine (tühista = väljas, käitumise muutus null; `1`/`true`/`on` lubab). Normaliseerib kõik sees (base64 data URI / Claude `source.data`) pildi vestlustaotluste kehades enne saatmist: rakendatud EXIF -suund, RGB (alfa lamestatud valgeks), pikk serv `<= 4096` px, pikslid kokku `<= ~4M`; muutmist vajavad pildid kodeeritakse uuesti algtasemeks JPEG (alfa-free PNGs stayless PNG), juba ühilduv RGB JPEG/PNG läbib puutumata. Eelarved on fikseeritud. Sihib Qwen2-VL-style -nägemiskonveierid, mis lükkavad oversized/exotic kujutised tagasi 400 sõelumisveaga või nullväljundiga. Kaug-http(-e) URLs ei laadita alla; puuduv `sharp` binaarfail või dekodeerimata pilt läbib puutumata (tõrkeavatud). Suure pildi suuruse muutmine lisab päringu latentsust. Allikas: `open-sse/utils/visionImageNormalization.ts`. | > [!WARNING] > > 1. Avage [Google Cloud Console → Mandaat](https://console.cloud.google.com/apis/credentials) 2. Looge OAuth 2.0 klient ID (tüüp: "Veebirakendus") 3. Lisage oma server URL kui Volitatud ümbersuunamine URI 4. Asendage `.env` mandaadi väärtused. --- ## 12. Pakkuja kasutaja-agendi alistamised Alistage igale ülesvoolu pakkujale saadetud `User-Agent` päis. Selle lahendab käivitamise ajal dünaamiliselt käivitaja baasklass: ``` process.env[`${PROVIDER_ID}_USER_AGENT`] ``` > **Allikas:** `open-sse/executors/base.ts` → `buildHeaders()` | Muutuv | Vaikeväärtus | Millal värskendada | | -------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `CLAUDE_USER_AGENT` | `claude-cli/2.1.280 (external, cli)` | Kui Anthropic annab välja uue CLI versiooni | | `CLAUDE_DISABLE_TOOL_NAME_CLOAK` | `false` | `executors/base.ts` + `executors/cliproxyapi.ts` | Määrake väärtusele `1`/`true`, et edastada kolmanda osapoole rakmete tööriistade nimed sõna-sõnalt Anthropic -ks mõlemal antroopilisel teel (native OAuth ja CLIProxyAPI). Vaikimisi kasutab täitja mitte-Claude-koodi tööriistanimesid deterministlikult (Claude Koodi kanooniline vastendamine, kui see on olemas, muidu PascalCase) ja pöörab need vastuses ümber `_toolNameMap` kaudu, nii et snake_case tööriistadega rakmeid ei keelduta sõrmejälgedega kolmanda osapoole klientidena. Ainult silumine. | | `CODEX_USER_AGENT` | `codex-cli/0.155.0 (Windows 10.0.26200; x64)` | Kui OpenAI värskendab Codex CLI | | `CODEX_CLIENT_VERSION` | `0.155.0` | Codex kliendiversiooni alistamine täielikust UA stringist sõltumatult | | `GROK_CLI_CLIENT_VERSION` | `1.0.41` | Alistage `x-grok-client-version` järelduste tegemiseks, mudeli sünkroonimiseks ja seadmekoodiks OAuth ning vaikeseadeks Grok CLI User-Agent järelduste tegemiseks ja mudeli sünkroonimiseks. Aktsepteerib SemVer koos valikuliste prerelease/build metaandmetega, kuni 128 tähemärki pärast ümbritseva tühiku kärpimist. Määramata, tühjad, kehtetud või reavahetust sisaldavad väärtused kasutavad tarnitud tihvti. Olemasolev täieliku järelduse kasutaja-agendi alistamine jääb ülimuslikuks. | | `CLAUDE_CODE_CLIENT_VERSION` | `2.1.280` | Reklaamitud Claude koodi versiooni tühistamine `CLAUDE_USER_AGENT` sõltumatult. Anthropic piirab mõned mudelid sellel väärtusel (#12417). | | `CLAUDE_CODE_CLIENT_BUILD_REVISION` | `1e2` | Override the 3-character suffix OmniRoute appends to `cc_version=` in the Claude billing block. Bump alongside `CLAUDE_CODE_CLIENT_VERSION` — pinning only the version advertises a `version.revision` pair no real binary emits. | | `GITHUB_COPILOT_CLI_VERSION` | `1.0.91` | Reklaamitud Copilot CLI versiooni tühistamine `GITHUB_USER_AGENT` sõltumatult | | `GITHUB_USER_AGENT` | `GitHubCopilotChat/0.54.0` | Kui GitHub Copilot vestluse värskendused | | `ANTIGRAVITY_CLI_CL` | _(määramata)_ | Alistab Antigravity CLI (`agy`) Piperi muudatuste loendi, mis on CLI kasutajaagendis `cl=`. Ei tuletata versioonist ega avaldata avalikes manifestides; reaalajas jäädvustamisest versiooni kohta külvatud (1.4.4 → `1003595037`). Tundmatu versiooni määramata jätmine jätab teise järgu muudatuste loendi reklaamimise asemel välja `cl=`. | | `KIRO_USER_AGENT` | `AWS-SDK-JS/3.0.0 kiro-ide/1.0.0` | Kui Kiro IDE värskendab | | `KIRO_OAUTH_CLIENT_ID` | `kiro-cli` | Alista Kiro sotsiaalse seadme kood `clientId` (avalik ID) | | `KIRO_VERIFY_FULL_CRC` | `false` | Lubamine: täielik kaadripõhine sõnumi CRC valideerimine Kiro sündmuste voos (rikutud voogude silumine) | | `KIRO_CREDIT_PRICE_USD` | `0.02` | USD Kiro krediidi kohta; teisendab `meteringEvent` krediidid täpseks taotluse hinnaks | | `KIRO_REQUIRE_CREDITS` | `false` | Ebaõnnestunud Kiro vastus, mis ei teata krediidiarvestuse puudumisest selle asemel, et seda arveldamata salvestada | | `QODER_USER_AGENT` | `Qoder-Cli` | Kui Qoder CLI värskendab | | `CURSOR_USER_AGENT` | `Cursor/3.3` | Kui Cursor värskendab | > [!TIP] > Saate lisada kasutajaagendi alistamisi** ükskõik milline** pakkuja, kes kasutab mustrit `{PROVIDER_ID}_USER_AGENT`. Täitja konstrueerib env var nimetuse dünaamiliselt. --- ## 13. CLI sõrmejälgede ühilduvus Kui see on lubatud, korraldab OmniRoute ümber HTTP päised ja JSON kehaväljad, et need vastaksid täpselt ametlike CLI tööriistade signatuurile. See vähendab konto märgistamise ohtu, säilitades samal ajal teie puhverserveri IP. **Allikas:** `open-sse/config/cliFingerprints.ts`, `open-sse/executors/base.ts` ### Pakkuja kohta | Muutuv | Aktiveerimine | Mõju | | ------------------------ | ------------- | ------------------------------------------ | | `CLI_COMPAT_CODEX` | `=1` | Imiteerib Codex CLI päringu allkirja | | `CLI_COMPAT_CLAUDE` | `=1` | Jäljendab Claude koodi päringu allkirja | | `CLI_COMPAT_GITHUB` | `=1` | Imiteerib GitHub Copilot päringu allkirja | | `CLI_COMPAT_ANTIGRAVITY` | `=1` | Imiteerib Antigravity taotluse allkirja | | `CLI_COMPAT_CURSOR` | `=1` | Imiteerib Cursor taotluse allkirja | | `CLI_COMPAT_KIMI_CODING` | `=1` | Imiteerib Kimi kodeerimistaotluse allkirja | | `CLI_COMPAT_KILOCODE` | `=1` | jäljendab Kilo Code päringu allkirja | | `CLI_COMPAT_CLINE` | `=1` | Imiteerib Cline taotluse allkirja | ### Globaalne | Muutuv | Aktiveerimine | Mõju | | ---------------- | ------------- | -------------------------------------------------------- | | `CLI_COMPAT_ALL` | `=1` | Lubage sõrmejälgede ühilduvus** kõik** pakkujad korraga. | ### Kimi kodeerimine CLI identiteedi alistab | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------- | -------------------------- | ---------------------------------------- | --------------------------------------------------------------------- | | `KIMI_CLI_VERSION` | `1.36.0` | `src/lib/oauth/providers/kimi-coding.ts` | OAuth/API -kõnede ajal saadetud Kimi CLI versiooni tühistamine. | | `KIMI_CODING_DEVICE_ID` | _(jäädvustatud vaikimisi)_ | `src/lib/oauth/providers/kimi-coding.ts` | Alistab jäädvustatud Kimi seadme ID mida kasutatakse kliendi päistes. | > [!NOTE] > See funktsioon töötab koos kasutajaagendi alistamisega (§12). Sõrmejäljesüsteem tegeleb päise järjestamisega ja kehaväljade järjestamisega, samas kui kasutajaagendi alistamine tegeleb konkreetse UA stringiga. Mõlemat saab lubada iseseisvalt. --- ## 14. API peamised pakkujad API võtmed pakkujatele, kes kasutavad otsest autentimist.** Eelistatud seadistus:** Armatuurlaud → Pakkujad → Lisa API võti. Seadistamine keskkonnamuutujate kaudu on alternatiiv Docker või peata juurutustele. Tunnustatud muster: `{PROVIDER_ID}_API_KEY` | Muutuv | Pakkuja | | ------------------ | ------------------------------------------------------------ | | `DEEPSEEK_API_KEY` | DeepSeek | | `NVIDIA_API_KEY` | NVIDIA NIM | | `JINA_AI_API_KEY` | Jina AI (Foundation API + Readeri varu) | | `JINA_API_KEY` | Jina AI (alias `JINA_AI_API_KEY` jaoks) | | `GEMINI_API_KEY` | Gemini (Google AI Studio) manustamine + vestluse varuvariant | | `GOOGLE_API_KEY` | Gemini (alias `GEMINI_API_KEY` jaoks) | > [!NOTE] > Groq, xAI, Mistral, Perplexity , Together AI, Fireworks, Cerebras, Cohere, Nebiuse ja Qianfani staatilised `${PROVIDER}_API_KEY` kirjed eemaldati versioonis 3.8.0, kuna käitusaeg ei loe neid enam — need pakkujad tuginevad ainult krüptopaneelile / `data/provider-credentials.json` DB. Vaadake migratsioonitee jaotist _Audit: eemaldatud / surnud muutujad_ selle dokumendi allosas. > [!TIP] > Armatuurlaua kaudu määratud võtmed salvestatakse SQLite vormingus krüpteeritult ja need on keskkonnamuutujate suhtes ülimuslikud. > > **Jina:** `jina-ai/…` manustused, ümberpaigutamine, klassifitseerimine, segmentimine ja `jina-search` teha** mitte** klastri env-võtme arve esitamine, kui armatuurlaua `jina-ai` (või jagatud `jina-reader`) ühendus on olemas — `getProviderCredentials` on täitmine enne. `JINA_AI_API_KEY` / `JINA_API_KEY` kasutatakse ainult siis, kui kasutatavat armatuurlaua klahvi pole. Kõnelogid omistavad env-i varuks `connection_id=env:JINA_AI_API_KEY`. Lugejakaart (`jina-reader`, `r.jina.ai`) ei teeninda kunagi `/v1/embeddings` ega `/v1/rerank`. > > **Gemini:** `gemini/gemini-embedding-2` (alias `google/gemini-embedding-2`) kasutab esmalt armatuurlaua `gemini` ühendust. `GEMINI_API_KEY` / `GOOGLE_API_KEY` kasutatakse ainult siis, kui kasutatavat armatuurlaua klahvi pole. Kõnelogid omistavad env-i varuks `connection_id=env:GEMINI_API_KEY`. Native multimodaalne liiklus kasutab `x-goog-api-key` vastu `:embedContent` / `:batchEmbedContents` — N OpenAI `input` üksused muutuvad N vektoriks. --- ## 15. Timeout Settings Kõik väärtused on sees** millisekundid** . Tsentraliseeritud eraldusvõime `src/shared/utils/runtimeTimeouts.ts` keeles. ### Aegumise hierarhia ``` REQUEST_TIMEOUT_MS (global override) ├─→ FETCH_TIMEOUT_MS (upstream provider calls, default: 600000) │ ├─→ FETCH_HEADERS_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS) │ ├─→ FETCH_BODY_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS) │ ├─→ TLS_CLIENT_TIMEOUT_MS (inherits from FETCH_TIMEOUT_MS) │ │ └── TLS_FIRST_BYTE_WATCHDOG_MS (independent, default: 10000) │ ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (independent, default: 15000) │ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MS (independent, default: 0 = off, suggested: 30000) │ ├── OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS (independent, default: 2) │ ├── FETCH_CONNECT_TIMEOUT_MS (independent, default: 30000) │ └── FETCH_KEEPALIVE_TIMEOUT_MS (independent, default: 4000) ├─→ STREAM_IDLE_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 600000) ├─→ STREAM_ACTIVE_TIMEOUT_MS (independent; unset: 1260000, raised by declared budgets; set: hard cap; 0 disables) ├─→ STREAM_READINESS_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 80000) ├─→ STREAM_READINESS_MAX_TIMEOUT_MS (caps adaptive readiness extensions, default: 180000) └─→ API_BRIDGE_PROXY_TIMEOUT_MS (inherits from REQUEST_TIMEOUT_MS, default: 30000) ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (derived, default: 300000) ├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS (default: 60000) ├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS (default: 5000) └── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS (default: 0 = disabled) ``` | Muutuv | Vaikimisi | Kirjeldus | | ------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REQUEST_TIMEOUT_MS` | _(määramata)_ | Globaalne otsetee — alistab nii `FETCH_TIMEOUT_MS` kui ka `STREAM_IDLE_TIMEOUT_MS` vaikeseaded. | | `FETCH_TIMEOUT_MS` | `600000` | Kokku HTTP päringu ajalõpp ülesvoolu teenusepakkuja kõnede jaoks. | | `STREAM_IDLE_TIMEOUT_MS` | `600000` | Maksimaalne vaikus enne katkestamist töötlemata ülesvoolu baitide vahel. Laiendatud mõtlemisega mudelid peatavad harva > 90ndaid. | | `STREAM_ACTIVE_TIMEOUT_MS` | `1260000` | Maksimaalne kogu aktiivne SSE voo kasutusiga; ei lähtestu kunagi ülesvoolu baitidel ja ei sõltu `REQUEST_TIMEOUT_MS`. Kui see on määramata, on vaikeväärtus suurim mudelipõhine `timeoutMs` registris (1200000, Codex) pluss 60000 marginaal ja sihtmärk, mis deklareerib pikema eelarve (ühendus `timeoutMs`, siis mudelipõhine, seejärel pakkuja tase, nt GLM 3000000) saab selle eelarve asemel 6000 pluss. Positiivne väärtus on iga eesmärgi range ülempiir, mida deklareeritud eelarved ei saa tõsta. Iga sihtmärgi keelamiseks määrake väärtusele `0`. | | `OMNIROUTE_SSE_COMMENTS` | _(keelatud)_ | Kas OmniRoute võib väljastada SSE `:` kommentaariridu (nt `: keepalive` südamelöökide ja `x-omniroute-*` metaandmete treilerid). Vaikimisi keelatud (#10524), kuna ranged OpenAI-ga ühilduvad kliendid JSON.parsivad iga SSE rida ja jooksevad kokku `:` kommentaarides; `data:` südamelööke ei mõjuta. Uuesti lubamiseks määrake `on`/`true`/`1`/`yes`. Kasutab `open-sse/utils/sseHeartbeat.ts`. | | `SSE_COALESCE_MS` | `0` (väljas) | Lubamine: ühendage Claude klientidele saadetud järjestikused Claude `content_block_delta` sündmused (sama ploki indeks ja deltatüüp), loputades vähemalt iga N ms järel. kadudeta; `signature_delta` ja piirisündmusi ei liideta kunagi. Kehtib iga deltatüübi kohta, välja arvatud juhul, kui allpool on määratud tüübipõhine muutuja. Kasutas `open-sse/utils/sseDeltaCoalesce.ts`. | | `SSE_COALESCE_THINKING_MS` | `0` (väljas) | Tüübi `SSE_COALESCE_MS` alistamine `thinking_delta` jaoks. | | `SSE_COALESCE_TEXT_MS` | `0` (väljas) | Tüübi `SSE_COALESCE_MS` alistamine `text_delta` jaoks. | | `SSE_COALESCE_INPUT_JSON_MS` | `0` (väljas) | Tüübi `SSE_COALESCE_MS` alistamine `input_json_delta` jaoks. | | `SSE_FRAME_COALESCE_MS` | `0` (väljas) | Lubamine: SSE kaadrite partii, mis edastatakse N ms jooksul üheks kliendile kirjutamiseks. Esimest kaadrit ja terminali kaadreid (`[DONE]`, `message_stop`, `error`, `response.completed`/`failed`/`incomplete`) ei viivitata kunagi; kui partiide jaotamine on sisse lülitatud, mõõdab ITL partiide vahesid. Kasutas `open-sse/utils/sseOutputSink.ts`. | | `SSE_STALL_WATCHDOG` | `timer` | Voogesitatud vastuste jaoks baitide peatumise valvekoera rakendamine. `timer` taastab ühe taimeri iga ülesvoolu tüki kohta (tulitab täpselt varikatuse eelarvest); `interval` säilitab ühe tšeki voo kohta perioodiga `clamp(budget/4, 1s, 5s)`, seega vallandub seiskumine eelarve + perioodi jooksul. Kasutas `open-sse/utils/streamStallWatchdog.ts`. | | `STREAM_READINESS_TIMEOUT_MS` | `80000` | Aeg võtta vastu esimene mittepingitav SSE sündmus. Pärib `REQUEST_TIMEOUT_MS`, kui see on määratud. | | `STREAM_READINESS_MAX_TIMEOUT_MS` | `180000` | Maksimaalne kohanduv esimese sündmuse valmisoleku aken suurte, tööriistamahukate või põhjendatud voogedastustaotluste jaoks. | | `OMNIROUTE_AGENT_GOAL_POLICY_ENABLED` | `true` | Kill-lüliti `/goal` heuristika jaoks. Määrake `false`/`0`/`off` tuvastamise täielikuks keelamiseks. — valmiduse ajalõppude ja voo taastamise taotlus body/headers ei suurenda kunagi, leevendades kliendi juhitud ajalõpu võimendust. | | `OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS` | `600000` | Maksimaalne esimese sündmuse valmisoleku aken tuvastatud `/goal` agendi käitamiste või `x-omniroute-agent-goal` ga sunnitud taotluste jaoks. | | `OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY` | `true` | Luba varane voo taastamine tuvastatud `/goal` agendi käitamise korral automaatselt. Eesmärgipõhise lubamise keelamiseks määrake `false`/`0`/`off`. See saab ADD ainult operaatori vaikeseadete — kõrval, see ei alista kunagi selgesõnalist `STREAM_RECOVERY_ENABLED`/DB sätete loobumist. | | `OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS` | `true` | Eemaldage mittestandardsed `codex.*` SSE sündmused (nt `codex.rate_limits`), mis rikuvad OpenAI SDK `responses.stream()` 502-ga. Vaikimisi ON (#11014). Nende edastamiseks määrake `0`/`false`/`no`/`off`. | | `OMNIROUTE_CODEX_APPSERVER_WS` | _(määramata)_ | Lubage Codex rakenduse-serveri transport. kohaliku `codex app-server` külgkorvi WebSocket lõpp-punkt (`ws://`/`wss://`). Kui see on määratud koos märgiga, suunatakse Codex päringud JSON-RPC kaudu külgkorvile, mitte HTTP vastustele API. Samuti seadistatav ühenduse kohta `providerSpecificData.codexAppServerUrl` kaudu. Kasutas `open-sse/executors/codex/appServerConfig.ts`. | | `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` | _(määramata)_ | Rakenduseserverile esitatakse tekstisisene capability/bearer märk. Ühendusepõhine alistamine: `providerSpecificData.codexAppServerToken`. | | `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE` | _(määramata)_ | Tee failini, mis sisaldab rakenduse-serveri võimekuse luba (alates `codex app-server --ws-token-file`). Kasutatakse, kui `OMNIROUTE_CODEX_APPSERVER_WS_TOKEN` on välja lülitatud. Ühendusepõhine alistamine: `providerSpecificData.codexAppServerTokenFile`. | | `OMNIROUTE_CODEX_APPSERVER_CWD` | `/tmp` | Rakenduse-serveri pöörde töökataloog. Ühendusepõhine alistamine: `providerSpecificData.codexAppServerCwd`. | | `OMNIROUTE_CODEX_APPSERVER_APPROVAL` | _(määramata)_ | Kinnituspoliitika edastati rakenduse-serveri pöördele (nt `never`, `on-request`). Ühendusepõhine alistamine: `providerSpecificData.codexAppServerApprovalPolicy`. | | `OMNIROUTE_CODEX_APPSERVER_SANDBOX` | _(määramata)_ | Liivakastipoliitika edastati rakenduse-serveri pöördele (nt `read-only`, `workspace-write`, `danger-full-access`). Määramata jätmisel on täitja vaikimisi `workspace-write` (karastatud; varem `danger-full-access`). Ühendusepõhine alistamine: `providerSpecificData.codexAppServerSandbox`. | | `OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE` | `false` | Rakenduse-serveri enda kinnitusviibade automaatne kinnitamine (command/file/permission täitmine hostis). Vaikimisi väljas — viibad on automaatselt keelatud; rakmete tööriistakutsed ei mõjuta (need liiguvad eraldi `item/tool/call` läbipääsu kaudu). Aktsepteerib `true`/`1`/`yes`. Ühendusepõhine alistamine: `providerSpecificData.codexAppServerAutoApprove`. | | `FETCH_HEADERS_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Aeg saada vastuse päised. | | `OMNIROUTE_FETCH_START_TIMEOUT_CAP_MS` | `110000` | Voogesitustaotluste vastuse päiste maksimaalne ootamine (ms). `0` keelab selle korgi; selgesõnaline pakkuja `fetchStartTimeoutCapMs` on ülimuslik. | | `OMNIROUTE_CODEX_IMAGE_RESPONSE_START_TIMEOUT_MS` | `600000` (10 min) | Tasulise Codex image-generation/edit POSTs esimene vastamise algustähtaeg (ms) nii otse kui ka HTTP(S)/SOCKS puhverserveri kaudu. Neid taotlusi ei esitata kunagi pärast mitmetähenduslikku ajalõppu või võrgutõrget. Servareleed (`vercel`/`deno`/`cloudflare`) teevad samuti ühe katse, kuid peavad kinni oma `OMNIROUTE_RELAY_FETCH_TIMEOUT_MS` tähtajast. | | `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` | `30000` (30s) | Maksimaalne vastuse-algamise ooteaeg (ms) iga otsese puhverserveri puudumise katse kohta. Ajalõpp proovib korra uuesti uues pistikupesas; seadke `0` sidumise keelamiseks ja eelmise käitumise säilitamiseks. | | `OMNIROUTE_LOCAL_DIRECT_HEADERS_TIMEOUT_MS` | `300000` (5 min) | Vastuse algpõhjus (ms) otseste puhverserverita katsete jaoks, mille sihthost on private/LAN/loopback (nt `localhost`, `host.docker.internal`, `192.168.x.x`), nii et natiivset Ollama külmkäivitust ei katkestata ülaltoodud 30-ndate vaikeväärtusega. Toimib põrandana: efektiivne ooteaeg on sellest väärtusest suurem ja `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS`; `0` või kehtetu väärtus eemaldab kohaliku korruse. Kaughosteid see ei mõjuta. | | `OMNIROUTE_DIRECT_HEADERS_VOLUME_ADAPTIVE` | `1` | Tõstke otsevastuse-käivitusakent päringu kasuliku koormuse astme alusel: kered, mille suurus on suurem kui 512 KB saavad × 2, üle 2 MB × 3, ülempiir 180 s ja mitte kunagi langetada juba kõrgemat korrust (operaatori alistamine või local/LAN korrus eespool). Suured kontekstid eeltäidetakse proportsionaalselt sisendi suurusega, ilma põhjenduste valijata, et arutluslae sisse lülitada, nii et lame aken lõikab terve aeglase eeltäidise ülesvoolu täpselt põrandast. Lameda käitumise kinnitamiseks määrake `0`/`false`/`off`. | | `OMNIROUTE_DIRECT_RESPONSE_RETRY_TIMEOUT_MS` | `600000` (10 min) | Uue pistikupesa RETRY katse ülemmäär (ms) pärast ülaltoodud koondkatse vastuse käivitamise ajalõpu (#13703). Kehtib ainult siis, kui helistaja on juba lisanud oma tähtaja signaali (lahendatud ühendus / mudel / pakkuja /`FETCH_TIMEOUT_MS` kaskaad); see signaal on tegelik seos ja vallandub esimesena kavandatud rajal, nii et see on pigem helde tagasilöögitõkesti kui lameda korgiga — ilma selleta. Uuesti proovimisel kasutati uuesti identset lühikest `OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS` akent kui ühendatud katset ja 504'd tervislikke aeglase TTFB arutlusmudeleid. Mitte kunagi lubatud ülalpool tasase põranda alla; kui helistaja tähtaja signaali üldse ei anna, jääb kordusproov tasase põranda muutumatuks. | | `FETCH_BODY_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | Aeg saada täielik vastus. | | `FETCH_CONNECT_TIMEOUT_MS` | `30000` | TCP ühenduse loomise ajalõpp. | | `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Elus hoidmise pistikupesa jõudeoleku ajalõpp. | | `TLS_CLIENT_TIMEOUT_MS` | = `FETCH_TIMEOUT_MS` | TLS sõrmejälje puhverserveri (wreq-js) ajalõpp. | | `TLS_FIRST_BYTE_WATCHDOG_MS` | `10000` | Piirab aja kuni esimese baidini wreq-js TLS-sõrmejälje transpordi kehas konkreetselt; `TLS_CLIENT_TIMEOUT_MS` üksi ei suuda seiskunud keha kinni püüda, kuna see laheneb kohe, kui päised saabuvad (#12656). Aegumine tühistab wreq-lugeja ja langeb tagasi direct/proxy dispetšerile; `0` keelab valvekoera. | | `RESPONSES_FIRST_BYTE_TIMEOUT_MS` | `15000` | ainult OpenCode täitur ja ainult siis, kui `OPENCODE_RESPONSES_STALL_ROTATION` funktsiooni lipp on sisse lülitatud (vaikimisi välja lülitatud): piirab voogesitatava vastuse esimese kehabaidi ootamist pärast selle päiseid (#13484). Vastuste voog avaneb koos `response.created`, nii et sellest aknast mööduv vaikus on varjatud: konto jahutatakse ja päring pöördub ühe korra järgmisele kontole; teine kiisk ebaõnnestub kiiresti. `0` keelab kaitse isegi siis, kui lipp on peal. | | `OPENCODE_RESPONSES_HEADERS_WAIT_MS` | `0` (= väljas) | Ainult OpenCode täitur: piirab voogesitatud vastuste kõne ülesvoolu vastuse päiste ootamist, kui mõni teine konto on veel saadaval. — järjekorras seisev päring lõpetab ootamise ja liigub edasi, selle asemel, et hoida päise täisakent. Mõjutatud on ainult voogesitatud vastuste kõned (vastuste voog avaneb käsuga `response.created`, nii et vaikimine on järjekord, mitte genereerimine); vestluse lõpetamised ja voogedastuskõned jäävad puutumata ning aken ainult lühendab tõhusa toomise alustamise ülemmäära, mitte ei pikenda seda. Soovitatav väärtus lubamisel: `30000`. `0` keelab. | | `OPENCODE_RESPONSES_HEADERS_WAIT_MAX_ROTATIONS` | `2` | Ainult OpenCode täitur: mitu korda päringu kohta võib ülaltoodud päiste ooteaeg järgmisele kontole liikuda. Viimasel kontol on alati täielik päiste aken. | | `OPENCODE_PARK_AND_RESUME` | `false` | Ainult OpenCode täitja: pargige taotlus südamelöögiga pärast korduvaid mööduvaid 429 sekundit (või värsket basseini pingemarkerit), seejärel taasesitage kuni kolmest järjestikusest kontost koosnev piiratud ots, selle asemel, et kogu autoparki välja tõmmata (#13924). Vaikimisi väljas: iga 429 pöördub järgmisele kontole täpselt nagu varem. | | `OPENCODE_PARK_REPLAY_SERVE_SETASIDE` | `false` | Ainult OpenCode täitur: kui puhverserveri keeldumise mälu jätab kõrvale kõik pargi-ja jätkamise kordusosas olevad jahtumisvalmis kontod, teenindage neid niikuinii, selle asemel, et midagi uuesti esitada (#14851, #14750 järg). Vaikimisi väljas: kordusjalg on sel juhul tühi, nagu enne #14750. | | `STREAM_READINESS_STALL_RETRY` | `false` | Ainult voogedastusvestlus: kui esimene ülesvoolu keha seiskub enne kasutatava sündmuse loomist, tehke üks piiratud teine katse läbi sama marsruutimistee sama valmisoleku eelarvega ja ilma kontotrahvita. Vaikimisi väljas: seiskunud esimene keha ebaõnnestub ilma uuesti proovimiseta. | | `OPENCODE_POOL_RESELECT` | `false` | Ainult OpenCode täitur: pärast 429 väljumissalvega pakkujalt puhverserverita kontol ümbritseva basseini kontekstis paluge ühenduse puulilt järgmiseks katseks teist liiget, selle asemel et sama väljumisaadressi uuesti proovida. Tellimused, ei välista kunagi: ammendatud bassein säilitab praeguse käitumise. Vaikimisi väljas: iga 429 pöördub järgmisele kontole täpselt nagu varem. | | `OPENCODE_POOL_STRAIN_MARKER_PATH` | _(määramata)_ | Ainult OpenCode täitur: enne parkimist loetud basseini deformatsioonimarkeri alistamise tee (`{since, reason, ttl_s}`, vaikeseade `/tmp/opencode-pool-strain.json`, #13924). Värske marker pargib ilma ülelugemata; puuduv või vananenud langeb tagasi sarikate loendurisse. | | `API_BRIDGE_PROXY_TIMEOUT_MS` | `30000` | Puhverserveri hüppe ajalõpp `/v1` sillapäringute jaoks. | | `FIRECRAWL_BASE_URL` | `https://api.firecrawl.dev` | Suunake Firecrawli veebitoomise täitur isehostitavale eksemplarile (API klahv valikuline pilveväliselt). | | `FIRECRAWL_TIMEOUT_MS` | `30000` | Päringu ajalõpp Firecrawli veebitoomise täitja jaoks. | | `TAVILY_BASE_URL` | _(määramata)_ | Baas- URL Tavily `/usage` kvooditoojale (pakkuja piirangud); ignoreeritakse, kui see osutab `api.tavily.com`. Unset langeb tagasi ühenduse baasi URL. | | `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `300000` | Silla üldine serveripäringu ajalõpp. | | `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Aeg saata silla kaudu vastusepäised. | | `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | Silla elushoidmise jõudeoleku ajalõpp. | | `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | Toorpesa ajalõpp (0 = keelatud). | | `SHUTDOWN_TIMEOUT_MS` | `30000` | SIGTERM/SIGINT ajapikendus enne sundväljumist. | | `OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS` | `120000` | Kui `FETCH_TIMEOUT_MS` on välja lülitatud, kasutab `src/shared/utils/fetchTimeout.ts` tagavara. | | `OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS` | `8000` | Aegumine (ms) `validationRead` ja `modelsProbe` eelseadete jaoks `src/shared/network/safeOutboundFetch.ts`. Tõstke aeglaste lõpp-punktide jaoks (Cerebras, Cloudflare AI, Groq), et vältida armatuurlaual olevate active/error vahel libisemist. Kehtetute (< 1000) või mittenumbriliste väärtuste korral langeb 8000 ms. | | `OMNIROUTE_RELAY_FETCH_TIMEOUT_MS` | `25000` | Releespetsiifiline toomise ajalõpp `open-sse/utils/proxyFetch.ts` -s (#9158). Rippunud relee peab üles ütlema enne client/agent ajalõpu (~ 30s), et helistajad näeksid üldise ülesvoolu ajalõpu asemel releespetsiifilist riket. Piirang on `29000`, nii et see käivitub alati esimesena. | | `OMNIROUTE_RETRY_BACKOFF_MS` | `10` | Jagatud korduskatsete taganemine direct/relay/proxy kordusproovi teede jaoks `open-sse/utils/proxyFetch.ts` -s (#9158). `0` = proovige kohe uuesti. | | `OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS` | `60000` | Native wreq-js taotluse ajalõpp (`claudeTlsClient.ts`). | | `OMNIROUTE_CLAUDE_TLS_GRACE_MS` | `10000` | Naturaalse ajalõpu peale on lisatud absoluutne JS range tähtaeg. | | `OMNIROUTE_PPLX_TLS_TIMEOUT_MS` | `30000` | Native wreq-js taotluse ajalõpp (`perplexityTlsClient.ts`). | | `OMNIROUTE_PPLX_TLS_GRACE_MS` | `10000` | Naturaalse ajalõpu peale on lisatud absoluutne JS range tähtaeg. | | `OMNIROUTE_PPLX_SEARCH_HINT` | `0` (väljas) | Lisab "Teil on sisseehitatud veebiotsing. Vastake küsimustele otse, kasutades otsingutulemusi." helistaja süsteemisõnumile (`perplexity-web/protocol.ts`). Vaikimisi väljas. — Perplexity otsib niikuinii ja lause lekib vastusteks metakommentaariks kodeerivatele klientidele. Määrake taastamiseks `1`/`true`/`yes`/`on`. | | `OMNIROUTE_GROK_TLS_TIMEOUT_MS` | `60000` | Native wreq-js taotluse ajalõpp (`grokTlsClient.ts`). | | `OMNIROUTE_GROK_TLS_GRACE_MS` | `10000` | Naturaalse ajalõpu peale on lisatud absoluutne JS range tähtaeg. | | `OMNIROUTE_NOTION_TLS_TIMEOUT_MS` | `30000` | Native wreq-js taotluse ajalõpp (`notionTlsClient.ts`); `notion-web` tõstab selle päringu alusel `180000` pikkadeks põlvkondadeks. | | `OMNIROUTE_NOTION_TLS_GRACE_MS` | `10000` | Naturaalse ajalõpu peale on lisatud absoluutne JS range tähtaeg. | | `OMNIROUTE_BROWSER_POOL` | `on` | Jagatud Playwright brauserikogum brauseri toega veebiküpsiste vestluse jaoks (`browserPool.ts`); määrake `off` keelamiseks. | | `OBSCURA_BIN` | `auto-detect` | Tee `obscura` kahendfaili, mida brauseri bassein ja Cloudflare Playgroundi täitur (`open-sse/services/obscura.ts`) kasutavad peamise mootorina; tuvastatakse automaatselt süsteemist PATH, kui see on tühistatud. | | `OBSCURA_CDP_ENDPOINT` | _(määramata)_ | Osutage juba töötavale Obscurale (`http://host:port`), selle asemel, et üks kudema hakata; moodul ei oma seda protsessi (`open-sse/services/obscura.ts`). | | `OBSCURA_PORT` | `random free port` | Eksplitsiitne port tekkinud `obscura serve` jaoks; vabastamisel valitakse vaba port automaatselt (`open-sse/services/obscura.ts`). | | `WEB_COOKIE_USE_BROWSER` | `0` | Vali veebiküpsise vestlustaotlus brauseri toetatud teele (`browserBackedChat.ts`); `1` lubamiseks. | | `KIMI_WEB_BASE_URL` | `https://www.kimi.ai` | Baas URL Kimi Web (rahvusvahelise kimi.ai Connect-RPC) täituri jaoks (`kimi-web.ts`); alistamine ainult mirror/proxy lõpp-punktide puhul. | | `KIMI_WEB_CHAT_URL` | `/apiv2/kimi.gateway.chat.v1.ChatService/Chat` | Täielik vestluse lõpp-punkt Kimi veebitäituri (`kimi-web.ts`) jaoks. | | `OMNIROUTE_LOGIN_BROWSER_PATH` | _(automaatselt tuvastatud)_ | Tee süsteemi Chrome/Edge käivitatavale failile Adobe Firefly interaktiivse brauseri sisselogimiseks (`adobeFireflyBrowserLogin.ts`); alistab OS-i automaatse tuvastamise. | | `OMNIROUTE_STANDALONE_DIR` | _.build/ standalone output_ | Järelehituse järgse ühispaiknemise etapi (`scripts/build/colocate-standalone.mjs`) tarbitava eraldiseisva väljundkataloogi ehitusaja alistamine; ehitada tööriistad, mitte käitusaeg. | Kombineeritud sihtmärgi katsed pärivad lahendatud ülesvoolu päringu ajalõpu (`FETCH_TIMEOUT_MS` või `REQUEST_TIMEOUT_MS`, kui see pakub toomise vaikeseadet). Määrake `targetTimeoutMs` kombinatsioonis, kombineeritud vaikeseaded või teenusepakkuja alistamine ainult kombineeritud varu kiiremaks muutmiseks; praegusest ülesvoolu ajalõpust kõrgemad väärtused on piiratud ülesvoolu ajalõpuga. `comboTimeoutMs` on eraldi seinakellade kombineeritud eelarve kõigi tõrkesiirde sihtmärkide jaoks. Jätke see määramata või `0`, et säilitada piiramatu iteratsioon (10-minutiline kõvakoodiga hang-stop `comboPredicates.ts` -s kehtib endiselt). Kombo jaoks asendab selle turvavõrgu positiivne väärtus. Hoidke `comboTimeoutMs` kauem kui `targetTimeoutMs`, et tõrkesiirtel oleks aega ka pärast aeglast esimest sihtmärki. ### Kaitselülitite künnised Pakkuja tasemel kaitselülitite häälestamine. Vaikeväärtused kajastavad skaleeritud väärtusi, mida on kasutatud alates versioonist 3.6 500 + ühenduste jaoks. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------------------------- | --------- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD` | `8` | `open-sse/config/constants.ts` | OAuth pakkujate järjestikuse rikke lävi enne kaitselüliti väljalülitumist. | | `OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS` | `60000` | `open-sse/config/constants.ts` | OAuth pakkuja kaitselüliti lähtestamise aken (ms). | | `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD` | `12` | `open-sse/config/constants.ts` | API-võtme pakkujate järjestikuse rikke lävi. | | `OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS` | `30000` | `open-sse/config/constants.ts` | Lähtestage aken (ms) API-võtme pakkuja kaitselüliti jaoks. | | `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Kohalike pakkujate (Ollama, LM Studio, ...) järjestikuse tõrkelävi. | | `OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS` | `15000` | `open-sse/config/constants.ts` | Lähtestage aken (ms) kohaliku teenusepakkuja kaitselüliti jaoks. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD` | `10` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: aknasisesed tõrked, enne kui kogu OAuth pakkuja läheb jahtuma. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS` | `900000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jooksev rikete loendusaken (ms) OAuth pakkujate jaoks. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS` | `300000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jahtumine (ms) pärast OAuth pakkuja läve saavutamist. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD` | `5` | `open-sse/config/constants.ts` | OAuth pakkuja sisestab selle paljude rikete korral DEGRADED. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER` | `8` | `open-sse/config/constants.ts` | OAuth pakkuja max resetTimeout eskalatsiooni kordaja. | | `OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT` | `2` | `open-sse/config/constants.ts` | OAuth pakkuja laieneb pärast seda palju avatud tsükleid. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD` | `15` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: aknas esinevad tõrked, enne kui kogu API-võtme pakkuja läheb jahutusse. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS` | `1800000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jooksev rikete loenduse aken (ms) API-võtme pakkujate jaoks. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS` | `600000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jahtumine (ms), kui API-võtme pakkuja lävi on saavutatud. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD` | `7` | `open-sse/config/constants.ts` | API-võtme pakkuja sisestab selle paljude tõrgete korral DEGRADED. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER` | `4` | `open-sse/config/constants.ts` | API-võtme pakkuja max resetTimeout eskalatsiooni kordaja. | | `OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT` | `3` | `open-sse/config/constants.ts` | API-võtme pakkuja laieneb pärast seda palju avatud tsükleid. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD` | `2` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: tõrked enne, kui kogu kohalik teenusepakkuja jahtub. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS` | `300000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jooksev rikete loendusaken (ms) kohalikele pakkujatele. | | `OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS` | `60000` | `open-sse/config/constants.ts` | Pakkujataseme kaitselüliti: jahtumine (ms) pärast kohaliku teenusepakkuja läve saavutamist. | | `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Klahvipõhine jahutus (ms), mida rakendatakse mitme võtmega API-võtme pööramisel, kui ülesvoolu 429 ei kanna `Retry-After` (#14573). Mittepositiivsed või mittenumbrilised väärtused langevad tagasi vaikeväärtustele. | | `OMNIROUTE_AVALANCHE_PROTECTION_ENABLED` | `false` | `open-sse/services/accountFallback/antiAvalanche.ts` | Valitud laviinivastane kaitse: seda võimaldab ainult selgesõnaline `true`. Kui see on sisse lülitatud, peatab 429, mis nimetab lubade minutis piirangu (ja konteksti ületäitumise 400), kaskaadse tõrkesiirde teenusepakkuja ülejäänud võtmete vahel. Kvoodist ammendatud 429 ebaõnnestub, olenemata sellest, kui suur viip on, ja HTTP 413 see ei mõjuta (see säilitab #13350 uuesti proovimise teisel kontol käitumise). | | `OMNIROUTE_AVALANCHE_BURST_COOLDOWN_MS` | `60000` | `open-sse/services/accountFallback/antiAvalanche.ts` | Mudeli lukustuse jahtumine (ms) rakendatakse valvuri vallandumisel eskaleeruva lukustuse asemel. Pikem ülesvoolu lähtestamine võidab alati. Mittepositiivsed või mittenumbrilised väärtused langevad tagasi vaikeväärtustele. | | `PIN_DROP_BACKOFF_LEVEL` | `2` | `open-sse/services/combo.ts` | Taganemissügavus, mille korral konteksti vahemälu PIN-koodi pakkuja peetakse püsivalt ebatervislikuks ja viik tõrkeotsingu tõttu eemaldatakse. | | `PIN_DROP_GRACE_MS` | `20000` | `open-sse/services/combo.ts` | Klapivastane aken (ms), mis talub lühikest mööduvat jahtumist enne konteksti vahemälu nööpnõela eemaldamist. | ### Stsenaariumid | Stsenaarium | Seadistamine | | ----------------------------------- | --------------------------------------------------------- | | **Pikaajaline koodi genereerimine** | `REQUEST_TIMEOUT_MS=900000` (15 min) | | **Seotud kogu voo eluiga** | `STREAM_ACTIVE_TIMEOUT_MS=1260000` (21 min) | | **Tootmise API kiire rike** | `API_BRIDGE_PROXY_TIMEOUT_MS=10000` | | **Laiendatud mõtlemise mudelid** | `STREAM_IDLE_TIMEOUT_MS=300000` (5 minutit tükkide vahel) | --- ## 16. Raie Logisüsteem kirjutab nii stdout- kui ka pööratud logifailidesse. Kogu konfiguratsiooni loeb `src/lib/logEnv.ts`. | Muutuv | Vaikimisi | Kirjeldus | | ----------------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `APP_LOG_LEVEL` | `info` | Minimaalne logitase: `debug`, `info`, `warn`, `error`. | | `APP_LOG_FORMAT` | `text` | Väljundvorming: `text` (inimloetav) või `json` (struktureeritud). | | `APP_LOG_TO_FILE` | `true` | Kirjutage logid faili koos stdoutiga. | | `APP_LOG_FILE_PATH` | `logs/application/app.log` | Logifaili tee (projekti juur või `DATA_DIR` suhtes). | | `APP_LOG_MAX_FILE_SIZE` | `50M` | Max faili suurus enne pööramist. Aktsepteerib: `50M`, `1G`, `512K` või tavalisi baite. | | `APP_LOG_RETENTION_DAYS` | `7` | Päevi pööratud rakenduste logifailide hoidmiseks. | | `APP_LOG_MAX_FILES` | `20` | Maksimaalne pööratud logifailide varukoopiad. | | `CALL_LOG_RETENTION_DAYS` | `7` | Päevi request/call logikirjete hoidmiseks andmebaasis. | | `CALL_LOG_MAX_ENTRIES` | `10000` | Maksimaalne kõnelogi kirjete arv mälupuhvris. | | `CALL_LOGS_TABLE_MAX_ROWS` | `100000` | Max ridu `call_logs` SQLite tabelis enne pügamist. | | `ENABLE_REQUEST_LOGS` | _(määramata)_ | Üksikasjalike taotluste sisse- või väljalogimise sundimine, alistades armatuurlaua sätte. | | `MAX_PENDING_REQUEST_AGE_MS` | `3600000` (1 tund) | Orvuks jäänud aktiivsete päringute logi kirjete maksimaalne vanus enne mälu puhastamist. | | `MAX_PENDING_DETAILS` | `5000` | Maksimaalne ootel üksikasjade arv (positiivne täisarv); loenduskork: pühkima; byte/map korgid: sisestage. | | `CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS` | `false` | Salvestage voo tükid torujuhtme artefaktides, kui `call_log_pipeline_enabled=true`. Ketta salvestamiseks lubage (`true`) — vaikimisi välja. | | `CALL_LOG_PIPELINE_MAX_SIZE_KB` | `512` | Maksimaalne torujuhtme kõnelogi artefakti suurus KB, kui `call_log_pipeline_enabled=true`. | | `PROXY_LOGS_TABLE_MAX_ROWS` | `100000` | Max ridu `proxy_logs` SQLite tabelis enne pügamist. | | `PROXY_LOG_INCLUDE_IPS` | `false` | Kaasake client/egress IPs ja konto eesliited `[ProxyEgress]` konsooli logidesse. dashboard/database puhverserveri logikirjed säilitavad kõik üksikasjad. | | `PROXY_LOG_FIRST_CHUNK_TIMING` | `false` | Seadistage `"true"` või `"1"`, et salvestada `first_chunk_ms` (saata algus esimesele kasulikule kehabaidile) puhverserveri logi ridadele. Mähib iga ülesvoolu keha laiska läbipääsuvoogu ja parandab rea, kui bait saabub; vaikimisi välja lülitatud, nii et vastused läbivad puutumata. | | `APP_LOG_ROTATION_CHECK_INTERVAL_MS` | `60000` (1 min) | Kui sageli `src/lib/logRotation.ts` aktiivse logifaili suurust uuesti kontrollib. | | `CHAT_LOG_TEXT_LIMIT` | `65536` | Vestluslogi artefaktides säilitatud stringi maksimaalne pikkus (vaikimisi 64 KB). | | `CHAT_LOG_ARRAY_TAIL_ITEMS` | `128` | Vestluslogi kasulike koormuste kärpimisel sabast säilinud massiivi üksuste arv. | | `CHAT_LOG_MAX_DEPTH` | `6` | Maksimaalne pesastussügavus enne vestluslogi kasulike koormuste kärpimist. | | `CHAT_LOG_MAX_OBJECT_KEYS` | `80` | Vestluslogi kasulikes koormustes säilitatakse maksimaalselt objektivõtmeid (0 = piiramatu). | | `CHAT_LOG_MAX_BODY_KB` | `1024` | Terve request/response keha suurus (KB), enne kui see asendatakse täieliku klooni asemel tühja kokkuvõttega. Tõstke seda, kui pikad agentvestlused näitavad armatuurlaual tegelike sõnumite asemel kohahoidjat. | | `CHAT_DEBUG_FILE` | `false` | Kui see on tõsi, jätab `serializeArtifactForStorage` suurusepõhise kärpimise vahele. Ainult silumine. | --- ## 17. Mälu optimeerimine | Muutuv | Vaikimisi | Kirjeldus | | -------------------------------------------- | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_HEAP_DIAGNOSTICS_ENABLED` | `0` (väljas) | Seadke `1` logima V8 kuhja rõhumõõdikuid alates `src/lib/healthzLag.ts`. Logib suurused ja lennu ajal arv, ärge kunagi taotlege sisu, jälgi ega hunniku hetktõmmiseid. Töötab sündmuste tsükli katkestussalvestis, nii et `OMNIROUTE_EVENT_LOOP_STALL_THRESHOLD_MS=0` lülitab selle ka välja. | | `OMNIROUTE_HEAP_DIAGNOSTICS_THRESHOLD_MB` | `900` | Positiivne heapUsed (MiB) lävi, mis käivitab lubatava diagnostikalogi. Kehtetud väärtused kasutavad 900 MiB; suure hunnikuga sõnumid on piiratud ühe korraga 60 sekundi jooksul. | | `OMNIROUTE_MEMORY_MB` | _auto_ (paljas metall);**`1024` Docker pildil** | **Soovitatav** Docker/standalone V8 kuhjapiirang (MB). Määramata jätmisel kalibreeritakse dünaamiliselt (~ 35% süsteemist RAM, kinnitatud `[512, 4096]` külge ); `512` on ainult põrand, kui kogumälu ei saa lugeda. `run-standalone.mjs` (Docker CMD) puhul an** selgesõnaline** väärtus on lisatud kui `--max-old-space-size` ja** võidab** vastuolulise NODE_OPTIONS hunniku lipu (V8 last-flag) kohal. `omniroute serve` eelistab endiselt olemasolevat NODE_OPTIONS hunnikut (#5238). Ärge määrake mõlemat erinevatele numbritele — protsess logib hoiatuse, milles nimetatakse mõlemad väärtused ja võitja.** Ametlik Docker -pilt määrab alati `1024`, nii et kalibreerimine ei käivitu seal kunagi.** Kodeerimisagent `/v1/responses` vajab `8192`–`12288` pluss cgroup headroom — vt [Docker Guide — käitusaeg RAM](../guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). | | `OMNIROUTE_RSS_PRESSURE_MB` | _auto_ (`max(3072, 2 × OMNIROUTE_MEMORY_MB)`; väljas, kui `OMNIROUTE_MEMORY_MB` on määramata) | `open-sse/utils/resourcePressure.ts` | Absoluutne protsessi-RSS-kaitse (MB) native/external mälu jaoks, mida V8 `heapUsed` ei näe; sellest kõrgemale saavad uued taotlused 503 `resource_pressure`. RSS langeb pärast naelu harva, nii et siduge see `OMNIROUTE_PRESSURE_SELF_RESTART`. | | `PROMPT_CACHE_MAX_SIZE` | `50` | Maksimaalne vahemällu salvestatud süsteemiviiba kirje. | | `PROMPT_CACHE_MAX_BYTES` | `2097152` (2 MB) | Maksimaalne viipade vahemälu kogumaht. | | `PROMPT_CACHE_TTL_MS` | `300000` (5 min) | Kiire vahemälu sisestus TTL. | | `SEMANTIC_CACHE_MAX_SIZE` | `100` | Max vahemällu temperatuur = 0 vastuseid. | | `SEMANTIC_CACHE_MAX_BYTES` | `4194304` (4 MB) | Maksimaalne semantilise vahemälu kogumaht. | | `SEMANTIC_CACHE_TTL_MS` | `1800000` (30 min) | Semantilise vahemälu kirje TTL. | | `OMNIROUTE_SEMANTIC_CACHE_PRUNE_INTERVAL_MS` | `1800000` (30 min) | SQLite ploomi intervall. `0` keelab käivitamise ja perioodilised käitamised; muud `60000` madalamad väärtused langevad tagasi vaikeväärtustele. Väärtused, mis on suuremad kui `2147483647` ms, kinnitavad sõlme maksimaalset taimeri viivitust, vältides 1 ms pollimise ületäitumist. Esimene jooks 1 s pärast; taimereid ei viidata ja jooksud ei kattu kunagi. | | `OMNIROUTE_SEMANTIC_CACHE_PRUNE_BATCH_SIZE` | `2000` | Ridad SQLite ploomi DELETE kohta, `[100, 50000]` külge kinnitatud; annab järele sündmuste tsüklile partiide vahel. | | `OMNIROUTE_SEMANTIC_CACHE_PRUNE_MAX_BATCHES` | `50` | Jagatud DELETE partii eelarve kehtivusaja jooksul ja valikulised rea-kork-pääsmed, kinnitatud `[1, 10000]` külge. Mahajäämised jätkuvad ka hilisematel käikudel. | | `OMNIROUTE_SEMANTIC_CACHE_MAX_ROWS` | `0` | Valikuline SQLite rea kork (`0` = puudub). Pärast `expires_at <=` ajatempli käivitamise ja käivitamise ISO kustutamist tõstke välja vanim `created_at` ja seejärel `rowid`, sealhulgas reaalajas read, mis kehtivad jagatud paketteelarvest. Arvud kärbitakse täisarvudeks (kuni turvalise täisarvu piirini). Kõigi nelja ploomi muutuja tühjad, mittenumbrilised, mittelõplikud või negatiivsed väärtused langevad tagasi vaikeväärtustele; murrud ümardatakse allapoole. Kärpimine ei muuda TTL, mälu LRU ega vektorvahemälu käitumist. | | `OMNIROUTE_CORPUS_CACHE_SIZE` | `5` | Kohalikud korpuse juured, mis hoiavad korraga elavat mäluindeksit (`src/lib/localCorpus/configured.ts`). LRU: limiidi korral tõstetakse viimati kasutatud juurindeks välja ja ehitatakse selle järgmise päringu korral uuesti üles. Kinnitatud minimaalselt `1`; mittenumbriline väärtus langeb tagasi vaikeväärtusele. | | `STREAM_HISTORY_MAX` | `50` | Maksimaalne viimaste voosündmuste arv armatuurlaua reaalajavaate puhvris. | | `CONTEXT_LENGTH_DEFAULT` | _(määramata)_ | Globaalne konteksti pikkuse alistamine (märgid) iga pakkuja jaoks, millel pole `CONTEXT_LENGTH_` muutujat. Kui see on määratud, siis** asendab** nende pakkujate kataloogi, armatuurlaua alistamise ja registriväärtused; väljalülitamisel kasutab OmniRoute oma sisseehitatud ahelat, mille viimane abinõu on `128000`. Vaadake [jaotist Pakkujapõhine konteksti pikkus](#per-provider-context-length-context_length_provider). | | `USAGE_TOKEN_BUFFER` | `100` | Kasutuskvootide jälgimisel on reserveeritud lisaluba. | ### Konteksti pikkus teenusepakkuja kohta (`CONTEXT_LENGTH_`) `open-sse/services/contextManager.ts` (`getEnvOverride()` / `resolveTokenLimit()`) loeb ka a** pakkuja kohta** vorm, mille nimi ehitatakse käitusajal pakkuja ID järgi, nii et seda ei saa ülalolevas tabelis ridade kaupa loetleda ega ka `.env.example`. **Nimi.** `CONTEXT_LENGTH_`, kus `` on pakkuja ID suurtähtedega, kusjuures kõik märgid väljaspool `A-Z` / `0-9` asendatakse `_`-ga. Pakkuja ID on kanooniline pärast aliase eraldusvõimet ( `provider/model` stringi `provider` osa, kui lühike pseudonüüm on lahendatud). Kohandatud OpenAI- või Anthropic-ühilduvad sõlmed kasutavad oma loodud sõlme ID, seega on UUID muutuja nime osa. Väärtus on märkide positiivne täisarv; kõike muud (tühi, `0`, negatiivne, mittenumbriline) ignoreeritakse ja eraldusvõime liigub järgmise sammu juurde. | Pakkuja ID | Muutuja nimi | | ----------------------------------------------------------- | -------------------------------------------------------------------------- | | agentruuter | CONTEXT_LENGTH_AGENTROUTER | | ava ruuter | CONTEXT_LENGTH_OPENROUTER | | openai-compatible-chat-0f8e2c1a-5b7d-4e3f-9a6c-2d1b8e4f7a90 | CONTEXT_LENGTH_OPENAI_COMPATIBLE_CHAT_0F8E2C1A_5B7D_4E3F_9A6C_2D1B8E4F7A90 | **Prioriteet.** `provider/model` paari puhul võidab esimene samm, mis annab väärtuse: 1. `CONTEXT_LENGTH_` selle pakkuja jaoks. 2. `CONTEXT_LENGTH_DEFAULT` (globaalse keskkonna alistamine). 3. Mudelipõhine aken: püsiv konteksti alistamine (seadistatud armatuurlaual või automaatselt kinnitatud avastamise kooskõlastaja poolt, vt `CONTEXT_WINDOW_RECONCILE_INTERVAL`), muul juhul sünkroonitud kataloogi / models.dev väärtus. 4. Pakkuja register `defaultContextLength`. 5. Mudelinime heuristika (`claude` 200000, `gemini` 1000000, `gpt` / `o1` / `o3` / `o4` / `codex` 400000). 6. Sisseehitatud teenusepakkujapõhised vaikeseaded, seejärel `128000`. Mõlemad keskkonnaetapid kehtivad** kogu pakkuja** : selle pakkuja igal mudelil on sama limiit ja nad võidavad mudelipõhise armatuurlaua alistamise. Kui ainult üks teenusepakkuja mudel vajab erinevat akent, kasutage selle asemel armatuurlaual mudelipõhist alistamist. **Ulatus.** See ahel juhib päringuaja kontekstiakna kontrolli ( `context_length_exceeded` / "sisend ületab kontekstiakna" tagasilükkamise `open-sse/handlers/chatCore.ts`), pakkimiseelarveid ja kombineeritud kontekstipiiranguid. `GET /v1/models` reklaamitud `context_length` võib siiski pärineda kataloogi või registri metaandmetest ja ei ole garanteeritud, et see kajastab keskkonna alistamist. **Näide.** Pakkuja, kelle mudel aktsepteerib 1 050 000 märgiga akent, samas kui kataloog teatab 128 000: ```dotenv CONTEXT_LENGTH_AGENTROUTER=1050000 ``` Taaskäivitage server pärast selle muutmist: väärtus loetakse serveri protsessikeskkonnast. peal** töölauarakendus** server töötab alamprotsessina ega näe pärast rakenduse käivitamist määratud süsteemimuutujat; sisestage rida `.env` -faili, mille rakendus laadib (otsingujärjestus [Electron juhendis: keskkonnafailide otsing](../guides/ELECTRON_GUIDE.md#environment-file-lookup) ), seejärel sulgege täielikult ja käivitage rakendus uuesti. ### Kokkusurumine | Muutuv | Vaikimisi | Kirjeldus | | ------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_RTK_TRUST_PROJECT_FILTERS` | määramata | Usaldage projekti `.rtk/filters.json` ilma `.rtk/trust.json` -räsita. Kasutage ainult kontrollitud kohalikul arendusel. | ### Mälumootor (plaan 21) ### Mälu, oskuste ja märgi värskendamise sündmusetsükli kulu (#10349) OmniRoute on a** ühe sõlme protsess** . Mälu extraction/retrieval, oskuste süstimine ja pakkuja märgi värskendamine töötavad sellel** sama sündmuse silmus** nagu `GET /healthz` ja armatuurlaud. Nad ei ole tööline niit. | Töö | Kood | Vaikimisi | Operaatori juhtimine | | --------------------------------- | ---------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Mälu ekstraheerimine / taastamine | `src/lib/memory/` | Armatuurlaud**memoryEnabled** (vaikimisi sees) | Lülita välja** Seadistused → Mälu** . Peale selle funktsiooni seadetes keelamise pole eraldi env kill lülitit. | | Oskuste süstimine | `src/lib/skills/injection.ts` | Armatuurlaud**skillsEnabled** (vaikimisi sees) | Lülita välja** Seaded → Memory/Skills** (`skillsEnabled`). Allpool olevad liivakasti nupud on ainult seotud täitmisega pärast süstimist juba sisse lülitatud. | | Žetooni värskendamine | `src/sse/services/tokenRefresh.ts` | Sees ühendatud OAuth/web pakkujate jaoks | Katkestage teenusepakkuja ühendus või laske žetoonidel kehtima jääda; `TOKEN_REFRESH=0` env täna pole. | Kui `/healthz` on vaikses kastis aeglane, keelake esmalt mälu + oskused ja seejärel kontrollige catalog/compression koormust (#10303, #9685). Need funktsioonid annavad tulemuse `await` -punktides, kuid konkureerivad siiski ühe lõime pärast. Püsimälu alamsüsteemi (`src/lib/memory/`) kihi, vektormälu ja ümberpaigutamise nuppude manustamine. | Muutuv | Vaikimisi | Kirjeldus | | ------------------------------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `MEMORY_EMBEDDING_CACHE_TTL_MS` | `300000` (5 min) | TTL mälusisese manustamise vahemälu jaoks ( source/model/dim signatuuri kohta). | | `MEMORY_EMBEDDING_CACHE_MAX` | `1000` | Manusvahemälus hoitakse maksimaalselt LRU kirjeid. | | `MEMORY_TRANSFORMERS_MODEL` | `Xenova/all-MiniLM-L6-v2` | HF repo id opt-in `@huggingface/transformers` kohaliku MiniLM torujuhtme jaoks (~ 23 MB int8, ~ 400 MB RAM). | | `MEMORY_STATIC_MODEL` | `minishlab/potion-base-8M` | HF repo id staatilise potion/Model2Vec otsingutabeli manustaja jaoks. Laaditi laisalt alla vahemälu kausta. | | `MEMORY_STATIC_CACHE_DIR` | `/embeddings` | Kataloog, mida kasutatakse staatiliste jookide mudelifailide vahemällu salvestamiseks. Vaikimisi `DATA_DIR` all, kui see on määramata. | | `HF_HUB_ENDPOINT` | `https://huggingface.co` | Alistage `staticPotion.ts` kasutatav Hugging Face Hubi alus URL (nt peegel-otspunkt õhuvahega seadistuste jaoks). | | `MEMORY_VEC_TOP_K` | `20` | Vaikimisi top-K, mida kasutab `sqlite-vec` brute-force vektorotsing `src/lib/memory/vectorStore.ts` sees. | | `MEMORY_RRF_K` | `60` | Vastastikune järjestus Fusion konstant `k` hübriidse FTS5 + vektorotsingu jaoks (sqlite-vec retsept). | | `VECTOR_STORE_DISABLE_VEC` | `false` | Test/diagnostic õmblus `getVectorStore()` (`src/lib/memory/vectorStore.ts`): kui `true`, sunnib vektormälu `null` (simuleerib cloud/WASM keskkonda ilma `sqlite-vec`), halvendades mälu otsimist FTS5 -märksõnaotsinguks. Jätke tootmises määramata. | | `NOTION_API_KEY` | _(määramata)_ | API klahv Notion taustaprogrammi jaoks (kasutab `genericBackend.ts` tuntud taustaprogrammi eelseade). | | `NOTION_API_URL` | `https://api.notion.com/v1` | Baas- URL Notion API jaoks (saab alistada isehostitud Notion alternatiivide puhul). | | `OBSIDIAN_API_KEY` | _(määramata)_ | API klahv Obsidian Vault taustaprogrammi jaoks (kasutab `genericBackend.ts` tuntud taustaprogrammi eelseade). | | `OBSIDIAN_API_URL` | `http://localhost:27123` | Baas URL Obsidian Vault API jaoks (saab kaugvõlvi jaoks alistada). | | `MEMORY_TYPED_DECAY_ENABLED` | `false` | TV6 tüüpi mälukaotuse pealüliti.** Luba (vaikimisi väljas)** — pühkima** kustutab** lagunenud mälestused. Kui see on välja lülitatud, on `access_count`/`last_accessed_at` puhas telemeetria ja midagi ei kustutata kunagi. | | `MEMORY_TYPED_DECAY_EPISODIC_DAYS` | `30` | TTL (päevad), mille järel kasutamata `episodic` mälu laguneb. `0` muudab ka episoodiliseks immuunseks. Vastupidavad tüübid (`factual`/`procedural`/`semantic`) on alati immuunsed. Lagunemiskell põhineb uuesti `last_accessed_at`. | | `MEMORY_TYPED_DECAY_ACCESS_IMMUNITY` | `3` | Mällu süstitud `>=` mis sellele mitu korda muutub, muutub tüübist olenemata lagunemise suhtes immuunseks. `0` keelab juurdepääsu puutumatuse. | | `MEMORY_TYPED_DECAY_SWEEP_INTERVAL` | `0` (puuetega) | Intervall (sekundites) valikulise perioodilise kahanemise jaoks `src/lib/memory/typedDecay.ts`. `0`/unset = perioodilist pühkimist pole. Topelt lubamine: nõuab ka `MEMORY_TYPED_DECAY_ENABLED=true`. | | `OMNIROUTE_STRICT_SYSTEM_PROVIDERS` | _(määramata)_ | Komaga eraldatud pakkuja ID-d (tõstutundlikud), mis aktsepteerivad `system` sõnumit** ainult indeksiga 0** (`src/lib/memory/injection.ts`). Nende jaoks on vahemälu ohutu keskmise massiivi mäluliit mitme pöördega vestlustes ohtlik, nii et mälu on selle asemel juhtiv süsteemisõnum merged/prepended. Vaikimisi ainult `xiaomi-mimo`/`mimo`; laiendada isehostitavate OpenAI-ga ühilduvate lõpp-punktide jaoks (nt Qwen3.5 +/3.6), mille vestlusmall jõustab sama ühe juhtsüsteemi sõnumipiirangu. | ### Madala RAM- Docker näide `128` on ainult armatuurlaual. Selle hunniku kodeerivad ained `FATAL ERROR` pika `/v1/responses` ajal. Ärge kasutage seda näidet Claude/Codex/Grok lüüsina. ```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. Hinnakujunduse sünkroonimine Automaatne mudelihindade andmete sünkroonimine välistest allikatest. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------- | ------------- | ------------------------ | ----------------------------------------------- | | `PRICING_SYNC_ENABLED` | `false` | `src/lib/pricingSync.ts` | Luba perioodiline hinnakujunduse sünkroonimine. | | `PRICING_SYNC_INTERVAL` | `86400` (24h) | `src/lib/pricingSync.ts` | Sünkroonimisintervall sekundites. | | `PRICING_SYNC_SOURCES` | `litellm` | `src/lib/pricingSync.ts` | Komaga eraldatud andmeallikad. | --- ## Arena ELO Sync | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------- | ------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `ARENA_ELO_SYNC_ENABLED` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Perioodiline Arena AI edetabeli ELO sünkroonimine, konfigureeritav armatuurlaua funktsioonilippude kaudu või `false`, et loobuda. | | `MODELS_CATALOG_PREFIX_MODE` | `dual` | `src/shared/constants/featureFlagDefinitions.ts`, `src/app/api/v1/models/catalog.ts` | `GET /v1/models` mudeli ID-de jaoks kasutatav eesliite vorm. `dual` reklaamib iga mudeli jaoks nii lühikest pseudonüümi prefiksit kui ka kanoonilist pakkuja eesliidet (tagasi ühilduvus — kahekordistab kataloogi ligikaudu); `alias` väljastab ühe ID mudeli kohta; `canonical` väljastab ainult täieliku pakkuja ID eesliite (pakkujad, kelle alias on juba kanooniline ID, säilitavad oma ühe kirje). Kliendid saavad `?prefix=alias` iga päringu alusel alistada. Vaadake [API_REFERENCE](API_REFERENCE.md#model-id-prefixes-prefix). | | `ARENA_ELO_SYNC_INTERVAL` | `86400` (24h) | `src/lib/arenaEloSync.ts` | Sünkroonimisintervall sekundites. | --- ## PromptQL mänguväljaku pakkuja (Unofficial/Experimental) Pöördprojekteeritud GraphQL seansisild saidi prompt.ql.app jaoks (`src/shared/constants/providers/web-cookie.ts`). Kõik valikulised — vaikeseaded osutavad avaliku mänguväljaku lõpp-punktidele; alistamine ainult self-hosted/alternate PromptQL juurutuse puhul. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | `PROMPTQL_GRAPHQL_ENDPOINT` | `https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql` | `open-sse/executors/promptql.ts` | GraphQL lõpp-punkt, mida kasutatakse chat/session operatsioonide jaoks. | | `PROMPTQL_CREDITS_ENDPOINT` | `https://data.pro.ql.app/v1/graphql` | `open-sse/executors/promptql.ts`, `open-sse/services/usage/promptql.ts` | GraphQL lõpp-punkt, mida kasutatakse krediidi balance/usage. päringu tegemiseks | | `PROMPTQL_TOKEN_REFRESH_URL` | `https://auth.pro.ql.app/ddn/project/token` | `open-sse/executors/promptql.ts` | Lõpp-punkti kasutatakse loa värskendamiseks parimal viisil. | | `PROMPTQL_POLL_TIMEOUT_MS` | `180000` | `open-sse/executors/promptql.ts` | Maksimaalne aeg (ms) `thread_events` küsitluseks enne ajalõppu. | --- ## HyperAgent veebipakkuja (Unofficial/Experimental) Pöördprojekteeritud seansisild saidile hyperagent.com (`src/shared/constants/providers/web-cookie.ts`). Valikuline — vaikepunktid avalikus billing/usage lõpp-punktis; alistamine ainult self-hosted/alternate HyperAgent juurutuse puhul. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------- | --------------------------------------------------- | --------------------------------------- | ---------------------------------------------------------------------- | | `HYPERAGENT_USAGE_URL` | `https://hyperagent.com/api/settings/billing/usage` | `open-sse/services/usage/hyperagent.ts` | Lõpp-punkt, mida kasutatakse billing/usage krediidiplokkide toomiseks. | --- ## Hinnastamata kasutamise eelarvepoliitika | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------ | ------------------------------------------------------------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `UNPRICED_USAGE_BUDGET_POLICY` | _(määramata; tõrge suletud, välja arvatud juhul, kui tõendväärtusest loobumine on lubatud)_ | `src/shared/utils/featureFlags.ts` | Klahvipõhised daily/weekly USD piirangud: `fail_closed` blokeerib tõeliselt hindamatu kasutamise; `count_as_zero` arvestab selle hinnaga 0 dollarit, rakendades samal ajal tasulisi kulutusi. Selgesõnaline loend (DB enne env) alistab tõeväärtuse loobumise. Kehtetud väärtused ja hinnaotsingu tõrkeid ei õnnestu sulgeda. | | `USAGE_LIMIT_IGNORE_UNPRICED` | `false` | `src/shared/utils/featureFlags.ts` | Ülesvoolu tõeväärtuse ühilduvuse loobumine: arvestab tõeliselt hindamata kasutust 0 dollariks ainult siis, kui selgesõnalist enum-poliitikat pole konfigureeritud. Tasulised kulutused ja ebaõnnestunud otsingud jäävad jõustamisele. | ## Kilokoodi kasutuskvoodid Isiklik USD saldo ja Kilo Passi kasutusotsing Kilo koodi pakkuja jaoks. Valikuline — vaikepunktid avalikul Kilo API; alistamine ainult relay/test seadme puhul. Autentimine kasutab ühenduse olemasolevat OAuth juurdepääsuluba. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | -------------- | --------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------- | | `KILO_API_URL` | `https://api.kilo.ai` | `open-sse/services/usage/kilocode.ts` | Baas- URL mida kasutatakse isikliku kilokoodi saldo ja Kilo Passi kasutamise hankimiseks. | --- ## Adobe Firefly veebipakkuja (Unofficial/Experimental) Brauseripõhine seansi värskendamine Adobe Firefly veebipakkuja jaoks (`open-sse/services/adobeFireflyBrowserLogin.ts`, `open-sse/services/adobeFireflySession.ts`, `open-sse/services/adobeFireflyClient.ts`). Valikuline — kõik vaikeseaded on häälestatud tavalise töölauainstalli jaoks. > **Eemaldatud nr 9255.** Vana CDP-ga ühendatud Chrome'i käitusaeg (adobeFireflyChromeRuntime.ts) asendati Playwright -brauseri sisselogimisteenusega ja selle nuppe enam ei eksisteeri. Muutujaid ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART, pluss ADOBE_FIREFLY_LOGIN_WAIT_MS ja ADOBE_FIREFLY_FORTER_WAIT_MS, ei loeta kuskil koodibaasi — seadistusel ei ole mingit mõju. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------ | ------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Tõelise peata Chrome'i jaoks määrake `1` (teadaolevalt katki genereerimiseks; ainult silumiseks). | | `ADOBE_FIREFLY_BROWSER_REFRESH` | `1` | `open-sse/services/adobeFireflySession.ts` | Proaktiivne brauseri soojendus opt-in/out. `0` keelab ennetava soojenduse (partii 408 keskmise taastamine kehtib endiselt). | | `ADOBE_FIREFLY_SESSION_DISK` | `1` | `open-sse/services/adobeFireflySession.ts` | Adobe Firefly seansi kettale jäämise keelamiseks määrake väärtusele `0`. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | _(määramata)_ | `open-sse/services/adobeFireflySession.ts` | Minimaalne vahe (ms), mida jõustatakse järjestikuste esitamiste vahel, alistades sisseehitatud vaikeväärtuse. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | _(määramata)_ | `open-sse/services/adobeFireflySession.ts` | Pärast edukat partii lisati lisavahe (ms), mis alistab sisseehitatud vaikeväärtuse. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | _(määramata)_ | `open-sse/services/adobeFireflyClient.ts` | Baasviivitus (ms) enne genereerimistaotluse esitamist, alistades sisseehitatud vaikeväärtuse. | --- ## 19. Mudeli sünkroonimine (arendaja) | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------------------- | ------------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `MODELS_DEV_SYNC_ENABLED` | _(määramata)_ | `src/lib/modelsDevSync.ts` | Model.devi hinnakujunduse sünkroonimise raske alistamine. Tühista = honor Seaded > AI (`modelsDevSyncEnabled`). `0`/`false`/`off`/`no`** võidab DB** ja jätab vahele nii perioodilise sünkroonimise kui ka `getModelsDevPricing()` SQL/JSON skannimise (taastamine, kui armatuurlaud on kiilutud samasse sündmusetsüklisse). `1`/`true`/`on`/`yes` sunnib sünkroonimise sisse lülitama. Hinnakujundus save/clear on endiselt `backupDbFile("pre-write")`, mis on 60-minutilise gaasipedaali või `DISABLE_SQLITE_AUTO_BACKUP` all no-op. | | `MODELS_DEV_SYNC_INTERVAL` | `86400` (24h) | `src/lib/modelsDevSync.ts` | Arendusaegse mudeli kataloogi sünkroonimise intervall sekundites. | | `CONTEXT_WINDOW_RECONCILE_INTERVAL` | `86400` (24h) | `src/lib/contextWindowResolver.ts` | Intervall (sekundites) isekorrigeeriva kontekstiakna kooskõlastaja (5004) jaoks: kinnitab pakkuja deklareeritud aknad `/models` avastamisest, kuna `auto:discovery` alistab, kui need kataloogist erinevad. Keelamiseks määrake `0`. Taaskasutab juba sünkroonitud andmeid (uut toomist pole); ei kirjuta kunagi `manual` alistamise üle. | --- ## 20. Pakkujapõhised sätted | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OPENROUTER_CATALOG_TTL_MS` | `86400000` (24h) | `src/lib/catalog/openrouterCatalog.ts` | OpenRouter mudelikataloogi vahemälu TTL. | | `MODEL_CATALOG_INCLUDE_NAMES` | `true` | `src/shared/constants/featureFlagDefinitions.ts` | Kaasake `/v1/models` -vastustesse kuvasõbralikud `name` väljad. Keela klientide jaoks, kes ootavad ainult IDs. | | `OMNIROUTE_GEMINI_WEB_ARGON_ENABLED` | `0` (väljas) | `open-sse/config/providers/registry/gemini/web/index.ts` | Osalemine (#16573). Seadke `1` (või `true`/`yes`) `gweb/gemini-4-argon` reklaamimiseks Gemini veebipakkujas ja laske selle täitjal see režiim valida. Vaikimisi väljas, kuna Argooni režiimi menüü valijaid ei ole kontrollitud reaalajas Gemini veebikontoga; väljalülitatud ajal mudelit loendis ei kuvata ja selle taotlus lükatakse tundmatu mudelina tagasi nagu varem. Lugege käivitamisel, nii et muudatus vajab taaskäivitamist. | | `CATALOG_BUILD_TIMEOUT_MS` | `8000` (8s) | `src/app/api/v1/models/catalogCache.ts` | Oodata on külm tee ühendatud `GET /v1/models` kataloogi ümberehitamiseks (#12627). Aegumisel serveeritakse viimase hea 200, kui see on olemas. | | `OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS` | `2592000000` (30 päeva) | `src/lib/db/models/activeSyncedCatalog.ts` | Vanus, pärast mida ühenduse sünkroonitud mudelite loend ei ole enam marsruutimise jaoks autoriteetne ja seda ei õnnestu registrile avada (#12849). Mitte kunagi ajatemplita ridu loetakse aegunud. | | `OMNIROUTE_ANALYTICS_CACHE_TTL_MS` | `60000` (60ndad) | `src/lib/usage/analyticsResponseCache.ts` | Kui kaua aeglast `GET /api/usage/analytics` vastust sama päringustringi (#15629) jaoks uuesti kasutatakse. `0` keelab vahemälu. | | `OMNIROUTE_ANALYTICS_CACHE_MIN_COMPUTE_MS` | `1000` (1 s) | `src/lib/usage/analyticsResponseCache.ts` | Vahemällu salvestatakse ainult analüüsivastused, mille loomine võttis vähemalt nii kaua aega, nii et väikesed eksemplarid näevad alati värskeid andmeid. | | `OMNIROUTE_CACHE_METRICS_MIN_COMPUTE_MS` | välja lülitatud (välja lülitatud) | `src/app/api/cache/route.ts` `src/lib/usage/analyticsResponseCache.ts` kaudu | Osalemine (#16361). Kui on määratud mittenegatiivne täisarv N, esitatakse `GET /api/cache` kasutusajaloo osa (prompt-cache kogub + trendi) jagatud analüütika vastuse vahemälust, kui `OMNIROUTE_ANALYTICS_CACHE_TTL_MS` jaoks kulus vähemalt N ms iga suletud `trendHours` akna kohta (ajalugu võib viivitada kuni selle TTL kehtetuks ; `DELETE /api/cache` ). Määramata või kehtetu = ajalugu loetakse reaalajas iga taotluse korral. | | `NANOBANANA_POLL_TIMEOUT_MS` | `120000` | `open-sse/handlers/imageGeneration.ts` | Oodake maksimaalselt NanoBanana pildi loomise töid. | | `NANOBANANA_POLL_INTERVAL_MS` | `2500` | `open-sse/handlers/imageGeneration.ts` | NanoBanana töö küsitlemise sagedus. | | `ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS` | `8000` | `open-sse/services/adobeFireflyUpscale.ts` | Adobe Firefly kõrgetasemelise esitamise ja uuesti proovimise eksponentsiaalse tagasilükkamise baasviivitus. | | `AWS_REGION` | _(määramata)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Piirkond, mida kasutatakse AWS aluspõhja lõpp-punktide (Kiro, heli) koostamiseks. | | `AWS_DEFAULT_REGION` | _(määramata)_ | `src/lib/providers/validation.ts`, `open-sse/handlers/audioSpeech.ts` | Tagandus, kui `AWS_REGION` pole seadistatud. | | `CLOUDFLARE_ACCOUNT_ID` | _(määramata)_ | `open-sse/executors/cloudflare-ai.ts` | Konto ID for Cloudflare Workers AI. | | `CLOUDFLARE_PLAYGROUND_CHROME_PATH` | _(määramata)_ | `open-sse/executors/cloudflare-playground.ts` | Täielik töölaua Chrome'i binaartee Cloudflare AI Playgroundi täideviija jaoks, mida kasutatakse siis, kui peata sõrmejäljekontroll blokeerib Playwright komplekti kuuluva Chromiumi. | | `CODEBUDDY_SYSTEM_PROMPT_MAX_LEN` | ∅ (∞) — _unset = no long cap_ | `open-sse/executors/codebuddy/shared.ts` | Valikuline pikkuse piirang helistajasüsteemi viipadele, mis saadetakse numbrile CodeBuddy (CN ja International). Vaikimisi asendatakse ainult kodeerimisagendi identiteedimarkerit sisaldav viip neutraalse vastu (Tencent sisufilter lükkab need tagasi); pikki viipasid hoitakse alles. Täisarv > 0 asendab ka mis tahes süsteemiviipa, mis on pikem kui palju märke; unset, `0` või mittetäisarvuline väärtus keelab piirangu. Iga asenduslogi registreerib, mille reegel käivitati (identiteedimarker või pikkus). | | `CLOUDFLARE_API_BASE` | `https://api.cloudflare.com/client/v4` | `src/app/api/settings/proxy/cloudflare-deploy/route.ts` | Alistab puhverserveri basseini töötajate relee juurutaja (#4640 / 9router#1360) kasutatav Cloudflare REST API baas. | | `NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx` | Puhverserveri basseini "Deploy Relay" modaalis soovitatud töötaja projekti vaikenimi. | | `NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Määrake `false`, et peita Cloudflare Workers relay valik vahekaardil Puhverserver. | | `CLOUDFLARED_BIN` | automaatne tuvastamine | `src/lib/cloudflaredTunnel.ts` | Kohandatud tee `cloudflared` kahendfaili. | | `CLOUDFLARED_PROTOCOL` | `http2` | `src/lib/cloudflaredTunnel.ts` | Tunneli transpordiprotokoll: `http2` (vaikimisi), `quic` või `auto`. | | `CLOUDFLARED_CONFIG` | _(määramata)_ | `src/lib/cloudflaredTunnel.ts` | Tee kohalikult hallatava pilvepõletiku `config.yml` juurde (koos `tunnel:`, `credentials-file:`, `ingress:`). Kui see on määratud, käivitab OmniRoute lühiajalise kiirtunneli asemel `tunnel --config run` (nimega tunnel). | | `CLOUDFLARED_HOSTNAME` | _(konfiguratsiooni sissepääsust)_ | `src/lib/cloudflaredTunnel.ts` | Nimetatud tunneli avaliku hostinime (nt `ai.example.com`) alistamine, mis on esitatud kui `publicUrl`/`apiUrl`. Määramata jätmisel loetakse see konfiguratsiooni esimesest `ingress` hostinimest. | | `DENO_DEPLOY_API_BASE` | `https://api.deno.com/v2` | `src/app/api/settings/proxy/deno-deploy/route.ts` | Alistage Deno Deploy REST API baas, mida kasutab puhverserveri relee juurutaja (#4643 / 9ruuter#1437). | | `NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT` | `omniroute-deno-relay` | `src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx` | Deno Deploy rakenduse vaikenimi, mis on soovitatud puhverserveri basseini "Deploy Relay" modaalis. | | `NEXT_PUBLIC_DENO_RELAY_ENABLED` | `true` | `src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx` | Määrake `false` et peita vahekaardil Puhverserveri bassein suvandi Deno Deploy relee. | | `SEARCH_CACHE_TTL_MS` | `300000` (5 min) | `open-sse/services/searchCache.ts` | TTL otsinguks API (Perplexity, Brave jne) vastuste vahemällu salvestamine. | | `ENABLE_CC_COMPATIBLE_PROVIDER` | `false` | `src/shared/utils/featureFlags.ts` | Tuvastage eksperimentaalne CC-ga ühilduv pakkuja UI Claude -koodireleede jaoks. | | `NINEROUTER_HOST` | `127.0.0.1` | `open-sse/executors/ninerouter.ts` | Alistage host, kus manustatud 9ruuteri eksemplar kuulab. | | `NINEROUTER_PORT` | `20130` | `open-sse/executors/ninerouter.ts` | Alistage port, kus manustatud 9ruuteri eksemplar kuulab. | | `EMBED_WS_PROXY_HOST` | `127.0.0.1` | `src/lib/services/embedWsProxy.ts` | Siduge manustatud teenuse WebSocket puhverserveri host (vaikimisi ainult loopback). | | `EMBED_WS_PROXY_PORT` | `20131` | `src/lib/services/embedWsProxy.ts` | Manustatud teenuse WebSocket puhverserveri port. | | `CLIPROXYAPI_HOST` | `127.0.0.1` | `open-sse/executors/cliproxyapi.ts` | CLIProxyAPI silla host (pärandintegratsioon). | | `CLIPROXYAPI_PORT` | `5544` | `open-sse/executors/cliproxyapi.ts` | CLIProxyAPI silla sadam. | | `CLIPROXYAPI_API_KEY` | _(tühi)_ | `open-sse/handlers/chatCore/cliproxyapiCredentials.ts` | Andmetasandi klahvi tagavara, kui `cliproxyapi_api_key` säte puudub. | | `CLIPROXYAPI_MANAGEMENT_KEY` | _(tühi)_ | `src/lib/services/cliproxyAccountHealth.ts` | Konto tervise haldusvõti loeb väliselt hallatavast CLIProxyAPI eksemplarist. | | `CLIPROXYAPI_CONFIG_DIR` | `~/.cli-proxy-api` | `src/lib/versionManager/processManager.ts` | CLIProxyAPI konfiguratsioonikataloog. | | `CLIPROXY_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Hostiliidese docker-compose avaldab `cliproxyapi` külgkorvi saidil (#12578). Selle andmemaht sisaldab teenusepakkuja OAuth/API mandaate ja kinnitatud kujutisel ei ole env-põhist andmetasandi `api-keys` alistamist (ainult ühendatud `config.yaml`), seega avaldab `0.0.0.0` mandaadi kandva teenuse kogu LAN. | | `MUX_SERVICE_PORT` | `8322` | `src/lib/services/bootstrap.ts` | Alistage port, mida manustatud Muxi (coder/mux) agent-orchestration deemon kuulab (alati 127.0.0.1). | | `OPENWA_SERVICE_PORT` | `8323` | `src/lib/services/bootstrap.ts` | Alistage port, mida sisseehitatud open-wa (WhatsApp Web automation) deemon kuulab (alati 127.0.0.1). | | `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario manustatud teenuse bind/connect host (vaikimisi ainult loopback). | | `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario sisseehitatud teenuse port. | | `DARIO_HOST` | `127.0.0.1` | `open-sse/executors/dario.ts` | Dario manustatud teenuse bind/connect host (vaikimisi ainult loopback). | | `DARIO_PORT` | `3456` | `open-sse/executors/dario.ts` | Dario sisseehitatud teenuse port. | | `LOCAL_HOSTNAMES` | _(tühi)_ | `open-sse/config/providerRegistry.ts` | Komaga eraldatud täiendavad hostinimed, mida käsitletakse kui "kohalikku" (Docker teenusenimed jne). | `ENABLE_CC_COMPATIBLE_PROVIDER` on mõeldud ainult kolmandate osapoolte releede jaoks, mis aktsepteerivad ainult Claude -koodi kliente. OmniRoute kirjutab päringud ümber, nii et need releed võtavad need vastu. Kui soovite kasutada ainult Claude koodi CLI või te pole kindel, mis need releed on, hoidke see keelatud ja lisage selle asemel tavaline Anthropic'iga ühilduv pakkuja. --- ## 21. Puhverserver | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `PROXY_FAST_FAIL_TIMEOUT_MS` | `2000` | `src/lib/proxyHealth.ts` | Tervisekontrolli kiire ebaõnnestumise ajalõpp. | | `PROXY_LATENCY_WINDOW_HOURS` | `3` | `src/lib/db/proxies.ts` | Ajaaken (tundides) kandidaatpuhverserverite keskmise latentsusaja arvutamiseks latentsusaja järgi optimeeritud kogumistrateegias. | | `PROXY_HEALTH_CACHE_TTL_MS` | `30000` | `src/lib/proxyHealth.ts` | Tervisekontrolli tulemuste vahemälu TTL. | | `NONE_HONORED_WINDOW_HOURS` | `24` | `src/lib/db/reasoningEffortCompliance.ts` | Argumendi_pingutuse = mittevastavuse lugeja lõpuaken tundides saidil GET /v1/models/health. | | `NONE_HONORED_CACHE_TTL_MS` | `20000` | `src/lib/db/reasoningEffortCompliance.ts` | Vahemällu TTL ms-des mittevastavuse hetktõmmise jaoks (15–30 s). | | `NONE_HONORED_MIN_SAMPLE` | `3` | `src/lib/db/reasoningEffortCompliance.ts` | Minimaalne taotluste puudumine, enne kui modell on tunnustatud või mitte austatud; selle all on mudel tundmatu. | | `PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS` | `2000` | `src/lib/proxyHealth.ts` | Vahemällu TTL ebaõnnestunud puhverserveri terviseproovide jaoks. Hoidke see lühem kui `PROXY_HEALTH_CACHE_TTL_MS`, nii et ajutised puhverserveri ajalõpud suure samaaegsuse korral proovige kiiresti uuesti, ilma et peaksite tõeliselt surnud puhverserverite puhul kiiret ebaõnnestumist keelama. | | `PROXY_HEALTH_ENABLED` | `true` | `src/lib/proxyHealth/scheduler.ts` | Seadistage `false`, et keelata taustapuhverserveri terviseplaneerija, mis kontrollib perioodiliselt registreeritud puhverservereid. | | `PROXY_HEALTH_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Tausta terviseplaanija pühkimisintervall ms (minimaalne `60000`). | | `PROXY_HEALTH_RELAY_INTERVAL_MS` | `21600000` | `src/lib/proxyHealth/relayCadence.ts` | Proovide intervall ms-des servarelee puhverserveritele (`deno`/`vercel`/`cloudflare`), mille sondid äratavad arveldatud serverita isolaadi (minimaalne `60000`). | | `PROXY_HEALTH_RECOVERY_INTERVAL_MS` | `600000` | `src/lib/proxyHealth/scheduler.ts` | Tausta taastamise-läbipääsu intervall ms: kui sageli kontrollitakse uuesti varem ebatervislikke puhverservereid, nii et taastatud puhverserver naaseb pöörlemisele ilma taaskäivitamiseta. Väärtused alla `60000` langevad tagasi vaikeväärtustele. | | `PROXY_HEALTH_TEST_URL` | `https://httpbin.org/ip` | `src/lib/proxyHealth/probeTarget.ts` | Kättesaadavuse proovi sihtmärk, mida kasutavad ajakava ja `/api/settings/proxies/auto-test` lõpp-punkt. Suunake see internal/self-hosted URL, et vältida avalikku vaikeseadet. | | `PROXY_HEALTH_TEST_CONCURRENCY` | `10` | `src/lib/proxyHealth/probeTarget.ts` | Proovid käivitati korraga iga partii kohta, mida jagavad planeerija ja `/api/settings/proxies/auto-test` lõpp-punkt. Põrandaga 1 ja ülempiiriga 50. | | `PROXY_HEALTH_TEST_STAGGER_MS` | `100` | `src/lib/proxyHealth/probeTarget.ts` | Viivitus ms-des kahe sondi väljumise vahel partii sees. Ilma selleta lahkub kogu partii samal hetkel ja jagatud väljapääsu IP võib tabada piiratud kiirusega sihtmärki. Vahekauguse keelamiseks seadke väärtusele `0` ; ülempiir 5000. | | `PROXY_HEALTH_USE_PROVIDER_TARGET` | `true` | `src/lib/proxyHealth/providerProbeTarget.ts` | Määrake "false", et peatada puhverserveri määratud pakkuja tegeliku hosti (`GET /models`, ilma API -klahvita) uurimise ja kasutage selle asemel alati `PROXY_HEALTH_TEST_URL`. | | `PROXY_HEALTH_AUTO_DEACTIVATE` | `false` | `src/lib/proxyHealth/statusPolicy.ts` | Kui `false` (vaikeseade), on automaatsed juurdepääsetavuse proovid (planeerija + `/api/settings/proxies/auto-test` nupp "Testi kõik").** kirjutuskaitstud** ja ärge kunagi kirjutage puhverserveri olekut — ainult operaator määrab active/inactive, nii et ebaühtlane sond ei saa määratud puhverserverit siduda (#6246). Määrake `true`, et taastada pärandi testimise ja määramise käitumine. | | `FLUSH_EMPTY_RETRY_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). `true` (või `1`, `yes`) proovib tühja tõlgitud voogesituse pöördeid uuesti läbi tavalise mandaaditee (kuni `STREAM_RECOVERY.EMPTY_TURN_RETRY_MAX` korduskatseteni), selle asemel, et paljastada tühja 200 või tühja sisuga 502. | | `EMPTY_STREAM_SIBLING_RECOVERY_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). `true` (või `1`, `yes`) valvestab Claude/Codex tühja voo sisuproovi ja kulutab olemasoleva piiratud korduskatse pärast `empty_content` pööret teisele sobilikule ühendusele, ilma jahtumise või mudeli lukustamiseta. | | `STREAM_LATE_OUTPUT_PROBE_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). `true` (või `1`, `yes`) jätkab pärast esimest 64-ndat 16-s ühe edasisaadetud tüki sämplimist, nii et hiline nähtav väljund märgib voo ikkagi väljastanud väljundiks (üksik järelväljund 5xx jääb ainult mudeli lukustuse asemel päringu ulatusse). | | `PROXY_POOL_EGRESS_OBSERVATION` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). `true` (või `1`, `yes`) näitab armatuurlaual puhverserveri basseini all kirjutuskaitstud puuli väljumisvaatlust (puhverserveri logist on viimase 24 tunni jooksul selge väljapääs IPs, ühendused ja enim nähtud ühe IP taga). Pole kunagi marsruutimiseks kasutatud. | | `PROXY_OPERATOR_EGRESS_ENABLED` | `false` | `src/shared/utils/featureFlags.ts` | Funktsiooni lubamise lipp (vt [FEATURE_FLAGS.md](./FEATURE_FLAGS.md) ; armatuurlaua DB alistamine võidab). `true` (või `1`, `yes`) aktsepteerib operaatori poolt lükatud kuupäevaga vaadeldud aadresse iga puuliliikme kohta ja liidab need kuvamiseks ja kogumi järjestuse jaoks loetud päevikuga. | | `PROXY_OPERATOR_EGRESS_WINDOW_HOURS` | `24` | `src/lib/db/proxyOperatorEgress.ts` | Vaatlusaken tundides operaatori poolt surutud väljumisridade puhul (lugege igal lugemisel; taaskäivitamist pole vaja). Piiratud 1...168; vahemikust väljas, mittenumbriline või tühi, langeb tagasi 24-ni ühe protsessiülese hoiatusega, mitte kunagi viskega. | | `PROXY_AUTO_REMOVE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Määrake `true`, et võimaldada planeerijal pärast korduvaid järjestikuseid tõrkeid puhverserverid automaatselt eemaldada. | | `PROXY_AUTO_REMOVE_AFTER` | `3` | `src/lib/proxyHealth/scheduler.ts` | Järjestikused tõrked enne, kui planeerija puhverserveri automaatselt eemaldab (kui `PROXY_AUTO_REMOVE=true`). | | `PROXY_AUTO_DISABLE` | `false` | `src/lib/proxyHealth/scheduler.ts` | Määrake `true`, et lasta planeerijal pärast korduvaid järjestikuseid tõrkeid puhverserveri pehmelt keelata (olek `dead`, pole kunagi kustutatud), selle asemel et see eemaldada. Mittepurustav alternatiiv `PROXY_AUTO_REMOVE`: puhverserver langeb pool/rotation eraldusvõimest kohe välja (scope-pool resolutsioonis kasutatav elusoleku filter juba välistab selle) ja aktiveeritakse automaatselt uuesti, kui see hakkab uuesti sonde läbima. Jagab `PROXY_AUTO_REMOVE_AFTER` läve. Kui mõlemad lipud on `true`, võidab `PROXY_AUTO_REMOVE`. | | `PROXY_HEALTH_PASSIVE_SKIP` | `false` | `src/lib/proxyHealth/scheduler.ts` | Passiivse vahelejätmise lubamine: kui `true`, jätab planeerija selle lõpp-punkti reaalajas analüüsi vahele, mille hiljutine tootmisliiklus seda juba tõestab (vähemalt üks õnnestumine ja ühtegi omistatud puhverserveri tõrget aknas, täheldati täpselt ühte pakkujat). Vaikimisi väljas: kontrollitakse iga puhverserverit. | | `PROXY_PASSIVE_WINDOW_MS` | `300000` | `src/lib/proxyHealth/passiveVerdict.ts` | Tootmisliikluse ms aken, mida passiivne vahelejätmine vaatab (piiratud `60000..599999`). Lühem kui 10-minutiline pühkimisintervall, nii et hiljutine rike domineerib lahjendamise asemel. | | `OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK` | `false` | `src/shared/constants/featureFlagDefinitions.ts` | Lubage OAuth ja pakkuja valideerimisvoogudel kinnitatud puhverserverist mööda minna ja otse ühendust luua, kui puhverserveri juurdepääsetavuse eelkontrollid ebaõnnestuvad. Tõhus prioriteet on funktsioonide lipud DB alista > env var > vaikeseade. | | `RATE_LIMIT_MAX_WAIT_MS` | `30000` (30s) | `src/lib/resilience/settings.ts` | Vaikimisi** järjekord-oota** eelarve: kui kaua võib päring oodata teenusepakkuja pesa ja olla järjekorras, enne kui see tagasi lükatakse, ilma et see jõuaks kunagi ülesvoolu. Taimer tühjendatakse, kui töö hakkab täitma. — täitmine on piiratud `RATE_LIMIT_EXECUTION_MAX_WAIT_MS`-ga. Env määrab ainult vaikeväärtuse: püsiv `resilienceSettings.requestQueue.maxWaitMs` ja seejärel ühendusepõhine `rateLimitOverrides.maxWaitMs`, millest igaüks võidab. | | `RATE_LIMIT_EXECUTION_MAX_WAIT_MS` | `600000` (10 min) | `open-sse/services/rateLimitManager.ts` | Ülemmäär, kui kaua võib heakskiidetud taotlus täitmisel püsida, enne kui selle kiiruslimiidi broneering aegub. — on järjekorra-oote eelarvest lahti ühendatud, nii et aeglane toomise alustamine mitteinkrementaalsetel lüüsidel ei aegu (#12027). | | `RATE_LIMIT_MAX_QUEUE_DEPTH` | `0` (puuetega) | `open-sse/services/rateLimitManager.ts` | Järjekorras lubamise ülempiir: lükake tagasi 429 `queue_full`, kui nii palju taotlusi on juba järjekorras. `0` = piiramata (vaikimisi). | | `RATE_LIMIT_AUTO_ENABLE` | _(määramata)_ | `open-sse/services/rateLimitManager.ts` | Sundige automaatse lubamise kiiruspiirangu turvavõrk on/off olenemata püsivast armatuurlaua sättest (`resilienceSettings.requestQueue.autoEnableApiKeyProviders`). Aktsepteerib sisselülitamiseks `true`/`1`/`on`, väljalülitamiseks `false`/`0`/`off`. Kui need on aktiivsed (vaikimisi), on aktiivsed API-võtme ühendused automaatselt kaitstud kiirusepiiranguga. Ühendusepõhise `rateLimitProtection: false` määramine keelab otsese kaitse, kuid ei loobu sellest turvavõrgust; selle env var seadmine väärtusele `false` on globaalne mehhanism API-võtmeühenduste käivitamiseks ilma kiiruspiirangu järjekordadeta. | | `PROVIDER_COOLDOWN_ENABLED` | _(tühista → väljalülitamine)_ | `open-sse/services/providerCooldownTracker.ts` | Lubage globaalne risttaotluse provider/connection jahtumise jälgimine. OFF vaikimisi (kattub ühenduse jahutamise / pakkuja kaitselülitiga). Aktsepteerib lubamiseks `true`/`1`/`on`. | | `PROVIDER_COOLDOWN_MIN_MS` | `5000` | `open-sse/services/providerCooldownTracker.ts` | Minimaalne jahtumine (ms), enne kui ebaõnnestunud provider/connection uuesti proovitakse. Eksponentsiaalselt skaleeritud järjestikuste riketega. Kasutatakse ainult siis, kui `PROVIDER_COOLDOWN_ENABLED`. | | `PROVIDER_COOLDOWN_MAX_MS` | `300000` (5 min) | `open-sse/services/providerCooldownTracker.ts` | Maksimaalne jahtumine (ms) enne ebaõnnestunud provider/connection uuesti proovimist. Kasutatakse ainult siis, kui `PROVIDER_COOLDOWN_ENABLED`. | | `STREAM_RECOVERY_ENABLED` | _(tühista → väljalülitamine)_ | `src/lib/resilience/settings.ts` (seeme) → `open-sse/services/streamRecovery.ts` (loogika) | **Mida:** kärbitud ülesvoolu voogude läbipaistev taastamine (free-claude-code port). Hoiab avanevat SSE akent kuni `STREAM_RECOVERY.HOLDBACK_MS` (750 ms), nii et _pre-commit_ cutoff —, mis juhtub enne, kui mõni bait jõuab kliendi — avatakse uuesti ja proovitakse nähtamatult uuesti.** Millal lubada:** flaky/upstreams, mis sageli 0-baiti kärbib voo alguses; jätke OFF, kui te ei saa endale lubada kuni 750 ms lisatavat aeg-to-first-tokenit igas voos. Aktsepteerib `true`/`1`/`on`. Seemnete püsiv vastupidavusseade; armatuurlaua säte võidab pärast seadistamist. | | `STREAM_RECOVERY_MIDSTREAM_ENABLED` | _(tühista → väljalülitamine)_ | `src/lib/resilience/settings.ts` (seeme) → `open-sse/services/streamRecovery.ts` (loogika) | **Mida:** voo keskel jätkamine (Fase 4.4) — pärast _post-commit_ kärpimist (baidid jõudsid juba kliendini), taotlege uuesti osalise tekstiga abilise eeltäidisena ja õmblege puuduv järelliide. Ainult lihtteksti OpenAI-ga ühilduvad vood; ei lase kunagi lennu ajal tööriistakutsega.** Millal lubada:** pikki põlvkondi, kes lõigatakse vastuse keskel ja te aktsepteerite taastunud saba saabumist pigem ühe purskana kui märgi haaval. Sõltumatu `STREAM_RECOVERY_ENABLED` (erinev riskiprofiil). Aktsepteerib `true`/`1`/`on`. | | `STREAM_THROUGHPUT_WATCHDOG_ENABLED` | _(tühista → väljalülitamine)_ | `src/lib/resilience/settings.ts` → `open-sse/services/throughputWatchdog.ts` | Aktiivse voo kasuliku väljundi valvekoer lubamine. Tuvastab vood, mis saadavad jätkuvalt tükke, kuid jäävad konfigureeritud assistendi väljundkiirusest allapoole; südamelöögid, kasutussündmused, tühjad deltad ja tool/reasoning faasid ei maskeeri edenemist. Eraldage jõudeoleku ja raskete tähtaegade ajalõpudest. Algab ainult vaikimisi: `resilienceSettings` -sse salvestatud tõeväärtus (Armatuurlaua → seaded → Vastupidavus) on ülimuslik. | | `STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Ajapikendus enne läbilaskevõime hindamist, mis on piiratud 0–600 000 ms-ga. | | `STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS` | `30000` | `src/lib/resilience/settings/normalize.ts` | Veerev kasuliku väljundi aken, mis on piiratud 1000–600 000 ms-ga; enne katkestamist on vaja ühte täielikku akent. | | `STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND` | `4` | `src/lib/resilience/settings/normalize.ts` | Minimaalne UTF-8 assistendi väljundbaitide kiirus (konservatiivne märgi puhverserver), mis on piiratud 1–1000000. | | `STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES` | `1` | `src/lib/resilience/settings/normalize.ts` | Minimaalne nullist erinev kasuliku väljundi näidis, mida peetakse mõõdetavaks ja mis on piiratud 1–1000000 baidiga. | | `HEALTHCHECK_STAGGER_MS` | `3000` | `src/lib/tokenHealthCheck.ts` | Ajavahemik (ms) teenusepakkuja loa tervisekontrollide vahel käivitamisel. | | `HEALTHCHECK_JITTER_MIN_MS` | `500` | `src/lib/tokenHealthCheck.ts` | Minimaalne randomiseeritud värin (ms), mis lisatakse teenusepakkuja märgi tervisekontrollide vahele `HEALTHCHECK_STAGGER_MS` peale, et vältida lõhkemist (väljaanne #1220). | | `HEALTHCHECK_JITTER_MAX_MS` | `5000` | `src/lib/tokenHealthCheck.ts` | Maksimaalne randomiseeritud värin (ms), mis lisatakse teenusepakkuja märgi tervisekontrollide vahele `HEALTHCHECK_STAGGER_MS` peale, et vältida lõhkemist (väljaanne #1220). | | `HEALTHCHECK_BATCH_SIZE` | `20` | `src/lib/tokenHealthCheck.ts` | Samaaegse kontrolli partii suurus käivitusloa tervisekontrolli pühkimiseks; suuremad väärtused kontrollivad rohkem ühendusi paralleelselt, väiksemad väärtused vähendavad katkestuskoormust (väljaanne #7875, #7719 regressioon). | | `REQUEST_RETRY` | `2` | `src/sse/services/cooldownAwareRetry.ts` | Automaatsete korduskatsete arv mudeli ulatusega jahtumisvastustele enne vea tagastamist kliendile. | | `MAX_RETRY_INTERVAL_SEC` | `30` | `src/sse/services/cooldownAwareRetry.ts` | Maksimaalne tagasilükkamise intervall (sekundites) jahtumiskatsete vahel. Piiratud selle väärtusega olenemata ülesvoolu `Retry-After`. | | `HEADROOM_URL` | `http://localhost:8787` | `src/lib/headroom/detect.ts` | Pearuumi token-saver puhverserver URL. Armatuurlaua elutsükkel (`api/headroom/*`) loob vaikimisi tagasisilmuses kohaliku `headroom-ai` CLI ; alistada ainult selleks, et osutada välisele Docker külgkorvi puhverserverile. | ### Voo taastamise häälestuskonstandid Taastamise pidurduskäitumist häälestavad `open-sse/config/constants.ts` (`STREAM_RECOVERY`) kõvakodeeritud konstandid, mis on siin viitamiseks näidatud. — nende muutmine nõuab koodi redigeerimist, mitte env varit: - `STREAM_RECOVERY.HOLDBACK_MS = 750` —, kui kaua avanevat SSE -akent hoitakse, et varajast kärpimist saaks uuesti proovida enne, kui mõni bait kliendile eraldatakse. - `STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536` — kork hoitud aknal; commit (loputab + läbipääsu) niipea, kui koguneb nii palju baite, sõltumata taimerist. - `STREAM_RECOVERY.EARLY_RETRY_MAX = 4` — max läbipaistev avab ülesvoolu uuesti, kui tagasitõmbamine on veel rakendamata. > **Pakkujapõhine libiseva akna kiiruspiirang (no env vari):** FCC-porteeritud pakkujate libiseva akna kiiruspiirang _varumine_ on koodis (`open-sse/services/providerDefaultRateLimit.ts`, juhtmega läbi `open-sse/services/rateLimitManager.ts`), kuid tarnitakse koos** tühi vaikekaart** ja on** operaator puudub env var** täna on — see lubatud ainult testkonksu / koodi redigeerimise kaudu. Seda ei ole ülaltoodud tabelis tahtlikult loetletud.`(token, IP)` -relee piiraja, millel _on_ nupp, on `RELAY_IP_PER_MINUTE` (§3 Võrk ja pordid). --- ## 22. Silumine > [!CAUTION] > Need muutujad toodavad** paljusõnaline väljund** ja võib tundlikke andmeid lekkida.** Ärge kunagi lubage tootmist.** | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CURSOR_DEBUG` | _(määramata)_ | `open-sse/executors/cursor.ts` | Määrake `1`, et lubada üksikasjalikud Cursor täituri logid (dekodeeritud SSE tükid jne). | | `CURSOR_STREAM_DEBUG` | _(määramata)_ | `open-sse/executors/cursor.ts` | `CURSOR_DEBUG` tagasiühilduv pseudonüüm. | | `CURSOR_DUMP_FILE` | _(määramata)_ | `open-sse/executors/cursor.ts` | Valikuline failitee, mis võtab vastu töötlemata dekodeeritud Cursor tükke, kui `CURSOR_DEBUG=1`. | | `CURSOR_STREAM_TIMEOUT_MS` | `300000` | `open-sse/executors/cursor.ts` | Voo jõudeoleku ajalõpp (ms) Cursor täitja jaoks. | | `CURSOR_KV_GRACE_MS` | `2000` | `open-sse/executors/cursor.ts` | Grace aken (ms) pärast helilooja kv_after_text pehmet terminaatorit, kui baidid jäävad puhverdatuks, annab — lõpu exec_mcp tööriistakutse aja oma raami lõpetamiseks. | | `CURSOR_TOOL_DIRECTIVE` | lubatud (`!== "0"`) | `open-sse/executors/cursor.ts` | Tool-commit direktiiv, mis paneb composer-2.5 usaldusväärselt välja andma tööriistakutseid. Määrake `0` keelamiseks. | | `OMNIROUTE_SYSTEM_INSTRUCTION_APPEND` | _(määramata)_ | `open-sse/translator/request/claude-to-openai.ts`, `open-sse/translator/response/openai-to-claude.ts` | Operaatori määratud süsteemiviiba tekst lisatakse süsteemisõnumile AFTER translatsioon (tõlkejärgne süstimine), mis jõuab codex/Responses ja `/v1/messages` teedeni. Kasutatakse ka kajaga süsteemi preambuliplokkidest eemaldatud direktiivi eesliitena. Keelamiseks jätke määramata. | | `OMNIROUTE_STRIP_SYSTEM_PREAMBLE` | `0` (väljas) | `open-sse/translator/response/openai-to-claude.ts`, `open-sse/utils/directivePreambleStripper.ts` | Seadistage `1`, et eemaldada kajatud süsteemiviiba preambuli plokid openai → claude voo algusest. Vaikimisi välja lülitatud — heuristika on ingliskeelse proosakujuline ja muudab vastuse kasulikku koormust, nii et sellise jaotisega õiguspäraselt avanev vastus kaotaks selle. | | `CURSOR_IMAGE_FETCH_TIMEOUT_MS` | `15000` | `open-sse/utils/cursorImages.ts` | Pildipõhise toomise ajalõpp (ms) `image_url` nägemise kaugsisendi jaoks. | | `CURSOR_STATE_DB_PATH` | _(proovitud)_ | `open-sse/utils/cursorVersionDetector.ts` | Alistage Cursor IDE oleku DB otsing, mida kasutatakse IDE versiooni tuvastamiseks. | | `CURSOR_AGENT_CLI_VERSION` | _(tuvastus / kinnita)_ | `open-sse/utils/cursorAgentCliVersion.ts` | Agendi CLI ehituse ID (`YYYY.MM.DD-`) `x-cursor-client-version: cli-…` jaoks Agent Run. | | `CURSOR_AGENT_BIN` | _(määramata)_ | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Piltide genereerimiseks kasutatava Cursor agendi kahendfaili tee. Määramata, kasutab töötleja `providerSpecificData.agentBin` ja seejärel PATH. | | `CURSOR_IMG_TIMEOUT_MS` | `210000` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Pildipõhine seinakell (ms) Cursor Agenti pilditööde jaoks. | | `CURSOR_IMG_MAX_CONCURRENT` | `2` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Jagatud istmega paralleelvärav Cursor pilditööde jaoks. | | `CURSOR_IMG_MODEL` | taotlus / `auto` | `open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts` | Pilditööde puhul Cursor CLI `--model` alistamine. | | `UC_IMAGE_POLL_INTERVAL_MS` | `2000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC (uncensored.com) image-gen result-poll kadents (ms). | | `UC_IMAGE_POLL_TIMEOUT_MS` | `60000` | `open-sse/handlers/imageGeneration/providers/ucImage.ts` | UC image-gen result-poll seinakell (ms). | | `UC_VIDEO_POLL_INTERVAL_MS` | `3000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC (uncensored.com) video-gen result-poll kadents (ms). | | `UC_VIDEO_POLL_TIMEOUT_MS` | `300000` | `open-sse/handlers/videoGeneration/providers/ucVideo.ts` | UC video-gen result-poll seinakell (ms). | | `CURSOR_DATA_DIR` | _(proovitud)_ | `open-sse/utils/cursorAgentCliVersion.ts` | Alista Cursor agendi CLI andmekataloog (`…/versions/`); sama vari, mida ametlik esindaja kasutab. | | `CURSOR_TOKEN` | _(määramata)_ | `scripts/ad-hoc/cursor-tap.cjs` | Arendaja tööriistade kasutatav otsene Cursor kandja märk. | | `OMNIROUTE_LOG_REQUEST_SHAPE` | keelatud (luba `"1"` kaudu) | `src/app/api/v1/chat/completions/route.ts` | Kui `"1"` on seadistatud, logige content-type/length markerid suurte vestluste jaoks. Logimüra vähendamiseks vaikimisi väljas. | | `DEBUG_RESPONSES_SSE_TO_JSON` | _(määramata)_ | `open-sse/handlers/responseTranslator.ts` | Määra `true`, et logida vastused API SSE→JSON tõlke üksikasjad. | | `DEBUG_CLAUDE_NONSTREAM` | _(määramata)_ | `open-sse/handlers/responseTranslator.ts` | Määrake `true` tühjade textContent tükkide pinnale toomiseks Claude -vastuse tõlketeel (ainult silumine). | | `NEXT_PUBLIC_OMNIROUTE_E2E_MODE` | _(määramata)_ | E2E testrakmed | Seadistage `true` et lubada E2E -testirežiim (lõdvestunud autentimine, testkonksud). | --- ## 23. GitHub Integratsioon Lubage kasutajatel probleemidest otse juhtpaneelilt teatada. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | --------------------- | ------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | `GITHUB_ISSUES_REPO` | _(määramata)_ | `src/app/api/v1/issues/report/route.ts` | Hoidla `owner/repo` formaadis. | | `GITHUB_ISSUES_TOKEN` | _(määramata)_ | `src/app/api/v1/issues/report/route.ts` | GitHub isikliku juurdepääsu tunnus `issues:write` ulatusega. | | `GITHUB_TOKEN` | _(määramata)_ | väljastada triaaži/pilveagendi abistajad | Üldine GitHub juurdepääsuluba, mida kasutatakse `GITHUB_ISSUES_TOKEN` varuvariandina ja mida kasutavad `src/lib/cloudAgent/*` pilvagendi abistajad. | --- ## Renderdage vabatasemeline Keep-Alive Render keerab tasuta veebiteenuse alla umbes 15 minuti pärast ilma sissetuleva liikluseta. Eraldiseisev käivitusprogramm (`scripts/dev/run-standalone.mjs`, mida Docker pilt töötab) saab selle vältimiseks pingida teenuse enda avalikku URL. See ei tee midagi, kui avalik URL pole saadaval, ja see logib ainult siis, kui olek muutub. | Muutuv | Vaikimisi | Kirjeldus | | ---------------------------- | ------------------------ | --------------------------------------------------------------------------------------------------------------------------- | | `SELF_PING_ENABLED` | sisse, kui URL on seatud | `0`, `false`, `off` või `no` lülitab pingeri välja. Kasutage seda tasulistes renderdamisplaanides, kus midagi ei lähe alla. | | `SELF_PING_URL` | `RENDER_EXTERNAL_URL` | Base URL pingile. Renderdus määrab igas plaanis `RENDER_EXTERNAL_URL` ise, nii et pinger on seal vaikimisi sisse lülitatud. | | `SELF_PING_PATH` | `/api/monitoring/health` | Tee sellel URL. Peab algama tähega `/`; kõik muu keelab pingeri hoiatusega. | | `SELF_PING_INTERVAL_SECONDS` | `180` | Sekundid pingete vahel, pärast esimest pingi 60 sekundit tolli. Väärtused alla `30` langevad tagasi väärtusele `180`. | Terve kuu ärkvel hoitud teenus kasutab umbes 744 eksemplari tundi, seega kontrollige seda Renderi praeguse vaba taseme hüvitise suhtes. ## Kasutuselevõtu stsenaariumid Relee taustaprogrammi SRE juhiste (ts/bifrost/auto käitumine, 9ruuteri vs CLIProxyAPI paigutus ja suure läbilaskevõimega varustrateegia) kohta vaadake [Relee taustaprogrammi strateegia](/docs/reference/RELAY_BACKEND_STRATEGY.md). ### Minimaalne kohalik areng ```bash JWT_SECRET=$(openssl rand -base64 48) API_KEY_SECRET=$(openssl rand -hex 32) INITIAL_PASSWORD=dev123 PORT=20128 NODE_ENV=development ``` ### Docker tootmine ```bash JWT_SECRET= API_KEY_SECRET= INITIAL_PASSWORD= STORAGE_ENCRYPTION_KEY= DATA_DIR=/data PORT=20128 API_PORT=20129 NODE_ENV=production AUTH_COOKIE_SECURE=true REQUIRE_API_KEY=true NEXT_PUBLIC_BASE_URL=https://omniroute.example.com BASE_URL=http://localhost:20128 OMNIROUTE_MEMORY_MB=8192 CORS_ORIGIN=https://your-frontend.example.com ``` ### Õhuvahega / 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 koos pöördpuhverserveriga (nginx + Cloudflare) ```bash JWT_SECRET= API_KEY_SECRET= STORAGE_ENCRYPTION_KEY= PORT=20128 AUTH_COOKIE_SECURE=true REQUIRE_API_KEY=true NEXT_PUBLIC_BASE_URL=https://omniroute.example.com BASE_URL=http://127.0.0.1:20128 CORS_ORIGIN=https://omniroute.example.com ENABLE_TLS_FINGERPRINT=true CLI_COMPAT_ALL=1 ``` --- ## 24. Skills Sandbox (v3.8.0 +) Piirangud ja ohutusnupud, mida rakendatakse, kui oskuste raamistik (`src/lib/skills/`) teostab kasutaja määratud automatiseerimist liivakastikeskkonnas. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | -------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `SKILLS_SANDBOX_TIMEOUT_MS` | `10000` (10 s) | `src/lib/skills/builtins.ts` | Liivakasti oskuskoodi täitmise järgne seinakella ajalõpp. kõva kork; kõik enam tapetakse. | | `SKILLS_EXECUTION_TIMEOUT_MS` | _(langeb tagasi `SKILLS_SANDBOX_TIMEOUT_MS` sse )_ | `src/lib/skills/` | Kõrgetasemeliste oskuste orkestreerimise ajalõpp. Mitmeastmeliste töövoogude lubamiseks määrake suurem kui `SKILLS_SANDBOX_TIMEOUT_MS`. | | `SKILLS_MAX_FILE_BYTES` | `1048576` (1 MB) | `src/lib/skills/builtins.ts` | Maksimaalne bait, mida oskus võib lugeda mis tahes liivakastifailist. | | `SKILLS_MAX_HTTP_RESPONSE_BYTES` | `256000` (250 KB) | `src/lib/skills/builtins.ts` | Maksimaalne bait, mis on jäädvustatud mis tahes ühest oskuse sees olevast HTTP vastusest. | | `SKILLS_MAX_SANDBOX_OUTPUT_CHARS` | `100000` | `src/lib/skills/builtins.ts` | Liivakasti kutsumisest tagastatud stdout/stderr märkide kõvakate. | | `SKILLS_SANDBOX_NETWORK_ENABLED` | `false` | `src/lib/skills/builtins.ts` | Määrake `1`/`true`, et lubada väljaminev võrk liivakasti seest. Vaikimisi** isoleeritud** turvalisuse huvides. `agent-sandbox` käitusaeg ignoreerib: võrgu isolatsioon, kirjutuskaitstud juurfailisüsteem ja CPU/memory piirangud pärinevad operaatori `SandboxTemplate`. | | `SKILLS_ALLOWED_SANDBOX_IMAGES` | _(tühi)_ | `src/lib/skills/builtins.ts` | Liivakasti täitmiseks lubatud konteineri kujutiste komadega eraldatud lubade loend. Tühi tähendab ainult sisseehitatud vaikeseadet. | | `SKILLS_SANDBOX_DOCKER_IMAGE` | _(sisseehitatud vaikimisi)_ | `src/lib/skills/` | Konteineri kujutist kasutatakse Dockeri tagatud liivakasti loomisel. Alista, et kinnitada kohandatud kõvendatud põhikujutis. | | `SKILLS_SANDBOX_RUNTIME` | `auto` | `src/lib/skills/sandbox.ts`, `src/lib/skills/containerProvider.ts` | Konteineri käitusaeg oskusliku liivakastiga töötamiseks: `auto` \| `docker` \| `apple` \| `wsl` \| `orbstack` \| `podman` \| `agent-sandbox`. `auto` valib hosti OS kohta parima installitud käitusaja (Apple Container/OrbStack macOS, WSL konteiner Windows, Podman Linux), langedes tagasi Docker. `agent-sandbox` (kubernetese soojavee kaugbasseinid) on lubatud ja seda ei tuvastata kunagi automaatselt. | | `SKILLS_AGENT_SANDBOX_POOLS` | _(tühi)_ | `src/lib/skills/agentSandboxProvider.ts` | `image=pool` paarid, komadega eraldatud: milline `SandboxWarmPool` teenindab iga liivakasti kujutist, kui `SKILLS_SANDBOX_RUNTIME=agent-sandbox`. | | `SKILLS_AGENT_SANDBOX_POOL` | _(tühi)_ | `src/lib/skills/agentSandboxProvider.ts` | Soe varubassein piltidele, mida `SKILLS_AGENT_SANDBOX_POOLS` loendis pole. Käitus nurjub (ei ole tagasipöördumist kohalikesse konteineritesse), kui kumbki ei lahene. | | `SKILLS_AGENT_SANDBOX_NAMESPACE` | `default` | `src/lib/skills/agentSandboxProvider.ts` | Nimeruum, kus on soojad basseinid; Siin luuakse ja kustutatakse üks `SandboxClaim` jooksu kohta. | | `SKILLS_AGENT_SANDBOX_KUBECONFIG` | _(kubectl vaikimisi)_ | `src/lib/skills/agentSandboxProvider.ts` | Kubeconfig agendi liivakasti käitusaja jaoks. Vajab nimeruumis ainult liivakastinõudeid create/get/list/watch/delete, pods get, pods/exec create. | | `SKILLS_AGENT_SANDBOX_KUBECTL` | `kubectl` | `src/lib/skills/agentSandboxProvider.ts` | kubectl binaarfail, mida kasutab agent-liivakasti käitusaeg. | | `SKILLS_AGENT_SANDBOX_CONTAINER` | `main` | `src/lib/skills/agentSandboxProvider.ts` | Liivakastikasti sees oleva konteineri nimi, milles käske täidetakse. | | `SKILLS_AGENT_SANDBOX_CLAIM_TIMEOUT_S` | `60` | `src/lib/skills/agentSandboxProvider.ts` | Sekundid ootamiseks, kuni nõue muutub Valmis (maksimaalselt 600). Nõue kustutatakse, kui seda kunagi ei tehta. | > [!CAUTION] > `SKILLS_SANDBOX_NETWORK_ENABLED=true` lubamine avab väljapääsutee suvalisest oskuskoodist. Jagatud juurutustes siduge `OUTBOUND_SSRF_GUARD_ENABLED=true` ja range `CORS_ORIGIN`/puhverserveri poliitikaga. --- ## 25. Teenusepakkujate kvoodid, tunnelid, varukoopiad ja muu käitusaegne Redis-seansi-affiinse varuvariandi kehtetuks tunnistamine (ainult opt-in; SQLite’i vaikekäitumine ei muutu): Iga Redis-affiinsuse hoidla lubab korraga kõige rohkem 8 pooleliolevat toimingut; limiidi saavutamisel kasutavad kutsed kohe SQLite’i ning pesad jäävad hõivatuks seni, kuni aluseks olev Redis’e töö lõpeb, isegi pärast kutsuja 100 ms tähtaega. - R1. Iga Redis’e vastus, mis jõuab seansitoimingu jaoks õigel ajal kohale, on autoriteetne: aktsepteeritud muudatused, tagasilükatud või kaotatud CAS-id, puuduvad võtmed, puuduva võtme kustutamised ning väljatõstmise tabamised või möödalaskmised tühjendavad sünkroonselt selle seansi kohaliku varuvariandi rea, ilma vastuse ja tühjendamise vahelise await-ita. Tühjendamine on ohutu (hilisema katkestuse ajal võib halvimal juhul toimuda üks ümbervalimine); aegunud rida ei ole. - R2. Aegunud või tõrkunud toiming, mis kirjutab kohaliku varuvariandi, salvestab täpselt selle, mida ta serialiseeritud baitidena kirjutas. Kui selle Redis’e käsk lõpeb hilinemisega, tühjendab sünkroonne SQLite’i võrdle-ja-kustuta ainult selle bait-baidilt identse rea, mitte kunagi konto või ühenduse kokkulangevuse alusel. Uuem katkestuse ajal tehtud kirjutus säilib. - R3. Väljatõstmine eemaldab alati tõrkunud konto kohaliku pin-kirje, sealhulgas katkestuse ajal; seejärel järgib vastuse töötlemine reegleid R1/R2. Terve Redis ei kirjuta kunagi kohalikke pin-kirjeid: puudub peegel või järjestusregister ning katkestuse ajal võivad eksemplarid lahkneda. Teenusepakkujate kvootide lõpp-punktid, võrgutunnelid (Tailscale, Ngrok, MITM-i silumisproksi), 1Proxy väljuva liikluse kogum, andmebaasi varukoopiad ning väikesed funktsioonipõhised ülekirjutused, millele täitjakihi või skriptid viitavad. | Muutuja | Vaikeväärtus | Lähtefail | Kirjeldus | | ---------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `OMNIROUTE_SESSION_AFFINITY_STORE` | `sqlite` | `src/lib/db/sessionAffinity/storeFactory.ts` | Seansi ja konto afiinsuse taustsüsteem. Jagamist võimaldab ainult `redis` koos konfigureeritud `REDIS_URL`-iga; määramata või tundmatud väärtused ning puuduv Redise konfiguratsioon kasutavad SQLite'i. Nõuab positiivset väärtust `sessionAffinityTtlMs`. Redise marsruutimine salvestab räsitud kasutuskonto identiteedi koos ühenduse ID-ga; SQLite'i vaikemarsruutimine säilitab pärandina kasutatava neljaväljalise JSON-kuju. Sobitab identiteedi sobivas kohalikus kogumis enne ID järgi sobitamist. Kasutab jagatud kliendi `REDIS_KEY_PREFIX`-i, JSON-väärtusi ja `PX`-i TTL-i; muudatused võrdlevad täpset vaadeldud väärtust. Terved Redise vastused muudavad kohaliku katkestuse varuvariandi kehtetuks ning hilinenud vastus saab kustutada ainult selle ajutise katkestuse varuvariandi täpselt serialiseeritud rea, mille kirjutas aegunud operatsioon. Eelhangitud kinnitused valideeritakse kasutamise ajal uuesti. Redise tõrked, ajalõpud või vastuvõtmise küllastus langevad piiratud hoiatustega (100 ms piir poe kutse kohta) tagasi SQLite'i; edukad Redise puudujäägid varju ei loe. Ei jaga kombineeritud kleepuvust, natiivseid Codexi pöörde kinnitusi, konto samaaegsust, lukustusi ega kulupiiranguid. | | `REDIS_URL` | `redis://localhost:6379` | `src/shared/utils/rateLimiter.ts` | Redise ühendusstring kiiruspiiraja taustsüsteemi jaoks. | | `ALIBABA_CODING_PLAN_HOST` | _(tootmiskeskkonna host)_ | `open-sse/services/bailianQuotaFetcher.ts` | Alibaba Bailiani koodiplaani kvootide hankimiseks kasutatava hosti alistamine. | | `ALIBABA_CODING_PLAN_QUOTA_URL` | hostist tuletatud | `open-sse/services/bailianQuotaFetcher.ts` | Alibaba Bailiani täieliku kvoodi URL-i alistamine. | | `QWEN_CLOUD_COOKIE` | _(määramata)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Konsooli seansiküpsis Qwen Cloudi / Model Studio isikliku Token Plan kvoodivärava jaoks (järeldus-API võti ei saa seda lugeda). Kopeerige kogu `Cookie`-päringu päis — see sisaldab `login_qwencloud_ticket`-i — mis tahes `api.json`-i kutsest aadressile `cs-data.qwencloud.com` saidil home.qwencloud.com › Billing › Subscription (F12 › Network). Tundlik ja seansipõhine; eelistage ühendusepõhist armatuurlaua välja `qwenCloudCookie`. | | `QWEN_CLOUD_SEC_TOKEN` | _(määramata)_ | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Käsitsi määratav `sec_token`-i alistus Token Plani konsoolivärava jaoks. Tundlik; määramata väärtuse korral lahendab hankija selle armatuurlaua HTML-ist küpsise abil. | | `QWEN_TOKEN_PLAN_HOST` | `https://cs-data.qwencloud.com` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Isikliku Token Plani kvoodi tooja lüüsi hosti ülekirjutus (nt Model Studio konsooli puhul `bailian-singapore-cs.alibabacloud.com`). | | `QWEN_TOKEN_PLAN_DASHBOARD_URL` | `https://home.qwencloud.com/` | `open-sse/services/qwenTokenPlanQuotaFetcher.ts` | Armatuurlaua URL, mida kasutatakse sisselogitud HTML-ist `sec_token`-i lahendamiseks. | | `XIAOMI_MIMO_CONSOLE_COOKIE` | _(määramata)_ | `open-sse/services/usage/xiaomi-mimo.ts` | Konsooliseansi küpsis Xiaomi MiMo Token Plani kvoodi API jaoks (`platform.xiaomimimo.com/api/v1/tokenPlan/usage` + `tokenPlan/detail` — järeldus-API võti ei saa seda lugeda). Kopeerige kogu `Cookie` päringu päis — see sisaldab `api-platform_serviceToken` ja `userId` — mis tahes päringust aadressile `platform.xiaomimimo.com` Token Plani lehel (F12 › Võrk). Tundlik ja seansipõhine; eelistage ühendusepõhist `xiaomiMimoConsoleCookie` Dashboardi välja. | | `XIAOMI_MIMO_MONTHLY_TOKEN_LIMIT` | `4100000000` | `open-sse/services/usage/xiaomi-mimo.ts` | OmniRoute'i jälgitava Xiaomi MiMo varuvariandi kuueelarve (krediitides), mida kasutatakse juhul, kui konsooliküpsist pole konfigureeritud. Vaikimisi Lite-taseme 4,1 miljardit; määrake selleks paketi krediidid (Standard 11 miljardit / Pro 38 miljardit / Max 82 miljardit). Ühendusepõhine `providerSpecificData.monthlyTokenLimit`-i ülekirjutus on selle keskkonnamuutuja suhtes ülimuslik. | | `ALIBABA_FREE_TIER_VISION_FE_PATH` | `/costing-balance/free-quota-image-video` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsooli kasutajaliidese tee ülekirjutus Alibaba Model Studio tasuta taseme nägemis-/meediumikvoodi hankimiseks. | | `ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH` | `/costing-balance/free-quota-multimodal` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsooli kasutajaliidese tee ülekirjutus Alibaba Model Studio tasuta taseme multimodaalse kvoodi hankimiseks. | | `ALIBABA_FREE_TIER_AUDIO_FE_PATH` | `/costing-balance/free-quota-audio` | `open-sse/services/alibabaFreeTierQuotaFetcher.ts` | Konsooli kasutajaliidese tee ülekirjutus Alibaba Model Studio tasuta taseme helikvoodi hankimiseks. | | `ALIBABA_FREE_TIER_ALLOWLIST_PATH` | _(määramata)_ | `open-sse/services/alibabaFreeTierAllowlist.ts` | Valikuline tee kohaliku JSON-i ülekirjutuseni, mida kasutatakse sisseehitatud Alibaba tasuta taseme tekstimudelite lubatud loendi asemel. Kui seda pole, kasutatakse esmalt `$DATA_DIR/alibaba-free-tier-allowlist.json` ja seejärel `config/alibaba-free-tier-allowlist.json`. | | `CONTEXT_RESERVE_TOKENS` | `1024` | `open-sse/services/contextManager.ts` | Lõpetuse väljundi jaoks reserveeritavad tokenid viibade eelarve arvutamisel. | | `CONTEXT_KEEP_LATEST_IMAGES` | `2` | `open-sse/services/contextManager.ts` | Kontekstiaknasse mahutamiseks vanemate piltide eemaldamisel alles jäetavate uusimate tekstisiseste piltide arv (#8560). | | `MODEL_ALIAS_COMPAT_ENABLED` | enabled | `open-sse/services/model.ts` | Vanemate klientide kasutatava pärandmudeli aliase ühilduvuskihi sisse- või väljalülitamine. | | `OMNIROUTE_EMERGENCY_FALLBACK` | enabled | `open-sse/services/emergencyFallback.ts` | Määra `false` (või `0`), et keelata hädaolukorra eelarve ammendumise varuvariant, mis suunab nurjunud päringud tasuta mudelile `nvidia`/`nvidia/nemotron-3.5-super-vl-120b-a12b`. Efektiivne prioriteet on Feature Flags DB alistus > keskkonnamuutuja > vaikeväärtus; kui see pole saadaval, kasutab teenus algset keskkonnamuutuja väärtust. | | `COMMAND_CODE_CALLBACK_PORT` | _(unset)_ | `src/app/api/providers/command-code/auth/shared.ts` | Kohalik port Command Code CLI abilise OAuth-laadsete tagasihelistamiste jaoks. | | `COMMAND_CODE_VERSION` | `0.33.2` | `open-sse/executors/commandCode.ts` | Väärtus, mis saadetakse Command Code'i ülesvoolu päises `x-command-code-version`. CLI versiooni suurendamiseks kirjuta see üle. | | `COMMANDCODE_API_URL` | `https://api.commandcode.ai` | `open-sse/services/usage/command-code.ts` | Command Code'i kasutuse/kvoodi ülesvoolu baasaadress, mida kasutab nutitelefoni kvoodi toomise telemeetria. Kirjuta üle isemajutatava või alternatiivse Command Code'i API kasutamiseks. | | `MITM_LOCAL_PORT` | `443` | `src/mitm/server.cjs` | MITM-i silumisproksi kohalik sidumisport. | | `MITM_DISABLE_TLS_VERIFY` | `0` | `src/mitm/server.cjs` | Määrake väärtuseks `1`, et keelata ülesvoolu TLS-i kontrollimine (ainult arenduseks). | | `MITM_IDLE_TIMEOUT_MS` | `60000` | `src/mitm/socketTimeouts.ts`, `src/mitm/server.cjs` | Puhverserveri kaudu edastatavate ühenduste jõudeoleku sokli ajalõpp (ms); sellest pikemalt jõude olevad soklid suletakse, et vältida pooleldi avatud tunnelite lekkimist. | | `BRIDGE_PORT` | `20129` | `bin/antigravity-bridge.mjs` | Port, millel Antigravity MITM-sild kuulab. | | `ROUTER_URL` | `http://127.0.0.1:20128/v1/antigravity` | `bin/antigravity-bridge.mjs` | Ruuteri lõpp-punkt, kuhu sild Antigravity liikluse edastab. | | `CERT_DIR` | `/mitm` | `bin/antigravity-bridge.mjs` | Alistab kataloogi, kust sild oma TLS-i materjali loeb. Serdi mudel valitakse samamoodi nagu AgentBridge serveris: `server.crt`/`server.key` pärand-lehtinstalli korral, muul juhul `ca.crt`/`ca.key` (juur-CA, iga pealtkuulatava hosti jaoks eraldi lehtsertifikaat; sunnitud väärtusega `MITM_ROOT_CA_ENABLED=true`). Sild lõpetab käivitamisel töö, kui aktiivse mudeli failid puuduvad. | | `MITM_VERBOSE` | `1` | `src/mitm/server.cjs`, `src/mitm/_internal/bypass.cjs` | Marsruutimisotsuste logimise üksikasjalikkus: `0` vaigistab logimise, suuremad väärtused logivad rohkem möödaviigu- ja marsruutimisotsuseid. | | `MITM_ROOT_CA_ENABLED` | `false` | `src/mitm/manager.ts` | Määrake väärtuseks `true`, et lubada juur-CA ja hostipõhiste lehtsertifikaatide mudel (#6684). Värsked installid saavad selle automaatselt; olemasoleva usaldatud pärand-lehtsertifikaadiga installid säilitavad pärandvara fikseeritud SAN-iga serdi, välja arvatud juhul, kui see eraldi lubatakse. | | `MITM_CERT_MODE` | `legacy` | `src/mitm/manager.ts`, `src/mitm/server.cjs` | MITM-haldur määrab selle käivitatud puhverserveriprotsessi jaoks (`root-ca` \| `legacy`) — see kajastab serdi migreerimise otsust; seda ei ole ette nähtud käsitsi määramiseks. | | `OMNIROUTE_NO_SUDO` | `0` | `src/mitm/systemCommands.ts` | Määrake väärtuseks `1` (tõene), et eemaldada MITM-i sertifikaadi usaldamise käskudest alguses olev `sudo` — juurõigusteta / kasutajanimeruumidega juurutuste korral, kus operaator usaldab CA-d käsitsi (nt Node'i extra-CA-certs-mehhanismi kaudu). | | `SKIP_ANTIGRAVITY_DNS` | _(unset)_ | `src/mitm/dns/provision.ts` | Määrake väärtuseks `true`, et jätta Antigravity puhverserveri hostinimede jaoks `/etc/hosts`-i DNS-kirjed täielikult ette valmistamata — konteinerite korral, kus sudo/juurõigused pole saadaval. | | `OMNIROUTE_SKIP_DNS_WRITE` | _(unset)_ | `src/mitm/dns/dnsConfig.ts` | Määrake väärtuseks `1`, et jätta DNS-kirjete lisamisel/eemaldamisel hostifaili kirjutamata — liivakastiga või kirjutuskaitstud testikeskkondade jaoks. | | `OMNIROUTE_SKIP_SYSTEM_TRUST` | `0` | `src/mitm/cert/install.ts`, `src/mitm/tproxy/caTrust.ts` | Ainult testi/CI jaoks mõeldud kaitse: määrake väärtuseks `1`, et muuta sertifikaadi usaldamise installimine/eemaldamine tühitoiminguks, nii et testikomplekt ei muudaks kunagi operatsioonisüsteemi usaldushoidlat. Testiseadistus ja CI töövood määravad selle automaatselt. | | `CHANGELOG_BASE_REF` | _(auto)_ | `scripts/check/check-changelog-integrity.mjs` | Selgesõnaline baasviide muudatuste logi hävitamise vastase kontrolli jaoks (CI-s vaikimisi PR-i baasiharule või kõrgeimale harule `release/v*`). | | `FREE_PROXY_AUTO_SYNC_ENABLED` | `false` | `src/lib/freeProxyProviders/scheduler.ts` | Määrake väärtuseks `true`, et lubada tasuta puhverserverite kogumi taustal töötav automaatse sünkroonimise ajastaja. Vaikimisi välja lülitatud; kasutaja peab selle eraldi lubama. | | `FREE_PROXY_AUTO_SYNC_INTERVAL_MS` | `1800000` | `src/lib/freeProxyProviders/scheduler.ts` | Automaatse sünkroonimise intervall millisekundites (vaikimisi 30 min). | | `FREE_PROXY_1PROXY_ENABLED` | `true` | `src/lib/freeProxyProviders/oneproxy.ts` | Lubage tasuta puhverserverite allikas 1proxy. Keelamiseks määrake väärtuseks `false`. | | `FREE_PROXY_1PROXY_API_URL` | _(vt oneproxy.ts)_ | `src/lib/freeProxyProviders/oneproxy.ts` | 1proxy API URL-i ülekirjutus. | | `FREE_PROXY_1PROXY_MAX` | `500` | `src/lib/freeProxyProviders/oneproxy.ts` | Sünkroonimise käigus 1proxyst hangitavate puhverserverite maksimaalne arv. | | `FREE_PROXY_1PROXY_MIN_QUALITY` | `50` | `src/lib/freeProxyProviders/oneproxy.ts` | 1proxy impordi minimaalne kvaliteediskoori lävi. | | `FREE_PROXY_PROXIFLY_ENABLED` | `true` | `src/lib/freeProxyProviders/proxifly.ts` | Luba Proxifly tasuta puhverserverite allikas. Keelamiseks määra väärtuseks `false`. | | `FREE_PROXY_PROXIFLY_QUANTITY` | `100` | `src/lib/freeProxyProviders/proxifly.ts` | Iga Proxifly sünkroonimise käigus hangitavate puhverserverite arv. | | `FREE_PROXY_PROXIFLY_ANONYMITY` | `elite` | `src/lib/freeProxyProviders/proxifly.ts` | Proxifly anonüümsustaseme filter (`elite`, `anonymous`, `transparent`). | | `FREE_PROXY_IPLOCATE_ENABLED` | `false` | `src/lib/freeProxyProviders/iplocate.ts` | Luba IPLocate'i tasuta puhverserverite allikas. Ainult valikuline lubamine. | | `FREE_PROXY_IPLOCATE_BASE_URL` | `https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols` | `src/lib/freeProxyProviders/iplocate.ts` | IPLocate'i puhverserverite loendi baas-URL-i ülekirjutus. | | `FREE_PROXY_WEBSHARE_ENABLED` | `true` | `src/lib/freeProxyProviders/webshare.ts` | Luba Webshare’i puhverserverite kogumi allika. Keelamiseks määra väärtuseks `false`; lisaks peab olema määratud `FREE_PROXY_WEBSHARE_API_KEY`. | | `FREE_PROXY_WEBSHARE_API_KEY` | _(puudub)_ | `src/lib/freeProxyProviders/webshare.ts` | Webshare’i konto API-luba (`Authorization: Token `). Nõutav — ilma selleta jääb teenusepakkuja keelatuks. | | `FREE_PROXY_WEBSHARE_API_URL` | `https://proxy.webshare.io/api/v2/proxy/list/` | `src/lib/freeProxyProviders/webshare.ts` | Webshare’i puhverserverite loendi API URL-i ülekirjutus. | | `FREE_PROXY_WEBSHARE_MAX` | `500` | `src/lib/freeProxyProviders/webshare.ts` | Webshare’i sünkroonimise käigus imporditavate puhverserverite maksimaalne arv. | | `NEXT_PUBLIC_VERCEL_RELAY_ENABLED` | `true` | `src/app/(dashboard)/…/ProxyPoolTab.tsx` | Kuva või peida puhverserverite kogumi vahekaardil nupp „Deploy Vercel Relay“. | | `VERCEL_API_BASE` | `https://api.vercel.com` | `src/app/api/settings/proxy/vercel-deploy/route.ts` | Vercel API baas-URL-i ülekirjutus (testimiseks). | | `NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT` | `omniroute-relay` | `src/app/(dashboard)/…/VercelRelayModal.tsx` | Vercel Relay juurutamise modaalis eeltäidetav vaikeprojekti nimi. | | `TAILSCALE_BIN` | _(automaatne tuvastus)_ | `src/lib/tailscaleTunnel.ts` | `tailscale`-binaarfaili selgesõnaline asukoht. | | `TAILSCALED_BIN` | _(automaatne tuvastamine)_ | `src/lib/tailscaleTunnel.ts` | Tailscale'i `tailscaled` deemoni binaarfaili otsene tee. | | `TAILSCALE_AUTHKEY` | _(määramata)_ | `src/lib/tailscaleTunnel.ts` | Eeljagatud Tailscale'i autentimisvõti mitteinteraktiivse / headless-režiimis `tailscale up` jaoks (edastatakse lipu `--auth-key=` kaudu). Kui väärtus on määramata, kasutab sisselogimine interaktiivse brauseri autentimise URL-i. | | `NGROK_AUTHTOKEN` | _(määramata)_ | `src/lib/ngrokTunnel.ts` | Autendib väljaminevad ngrok-tunnelid. | | `DB_BACKUP_MAX_FILES` | `20` | `src/lib/db/backup.ts` | Käsitsi/plaanitud varukoopiate puhastamisel säilitatavate SQLite'i varukoopiafailide maksimaalne arv. Migratsiooni hetktõmmised on sisuaadressiga ja neid kasutatakse identse andmebaasi oleku korral uuesti; samaaegse migratsiooniakna sees neid ei kärbita. Alistab väärtuse, mis on salvestatud menüüs Seaded → Andmebaasi varukoopiate säilitamine. | | `DB_BACKUP_RETENTION_DAYS` | `0` | `src/lib/db/backup.ts` | Käsitsi/plaanitud varukoopiate puhastamisel säilitatav maksimaalne vanus päevades. `0` keelab vanusepõhise kärpimise. Migratsiooni hetktõmmiseid samaaegse migratsiooniakna sees ei kärbita. Alistab väärtuse, mis on salvestatud menüüs Seaded → Andmebaasi varukoopiate säilitamine. | | `OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS` | `30000` | `src/lib/jobs/backupScheduleJob.ts` | Serveripoolse töö tiksumisintervall (ms), mis käivitab faili `backup-schedule.json`. See peab jääma tunduvalt alla 1-minutilise cron-i detailsuse; väärtused alla `5000` või väärtused, mida ei saa parsida, langevad tagasi väärtusele `30000`. | | `CONTAINER_HOST` | `docker` | `scripts/check-permissions.sh` | Konteineri käituskeskkonna vihje sisenemispunkti õiguste kontrolliks. Mis tahes Podmani topoloogia korral määrake väärtuseks `podman`. Kuna konteiner ei suuda kindlaks teha, kas mootor on kohalik või sellele pääseb ligi Podman Machine'i kaudu, jääb hoiatus topoloogia suhtes neutraalseks ja viitab failile `contrib/podman/README.md`. | | `QUOTA_STORE_DRIVER` | `sqlite` | `src/lib/quota/storeFactory.ts` | Kvoodijagamise kasutuse salvestusmootor: `sqlite` (vaikimisi) või `redis`. | | `QUOTA_STORE_REDIS_URL` | _(unset)_ | `src/lib/quota/storeFactory.ts` | Redisi ühendusstring, mida kasutatakse, kui `QUOTA_STORE_DRIVER=redis` (nt `redis://localhost:6379`). | | `QUOTA_SATURATION_THRESHOLD` | `0.5` | `src/lib/quota/enforce.ts` | Kogumi küllastusmäär (0..1); selle väärtuse juures või sellest suurema väärtuse korral lülitub kogum rangele režiimile (laenamine puudub). | | `QUOTA_SOFT_DEPRIORITIZE_FACTOR` | `0.7` | `open-sse/services/combo.ts` | Skoori kordaja (0..1), mida rakendatakse sihtmärgile, kui pehme kvoodipoliitika vähendab selle prioriteeti. | | `STATUS_SOFT_DEPRIORITIZE_FACTOR` | `0.5` | `open-sse/services/combo/autoStrategy.ts` | Skoori kordaja (0..1), mida rakendatakse ammendunud teenusepakkujale (`credits_exhausted`/`rate_limited`) automaatse kombinatsiooni hindamisel, kui eellennuki kvoodi piirang on VÄLJAS (#4540). | | `QUOTA_CONSUMPTION_RETENTION_DAYS` | `14` | `src/lib/db/quotaConsumption.ts` | `quota_consumption`-kogumite säilitamisperiood päevades enne GC-d (`gcQuotaConsumption`). | | `QUOTA_PREFLIGHT_CUTOFF_ENABLED` | `false` | `src/lib/resilience/settings.ts` | Lubatakse eraldi (vaikimisi VÄLJAS): lubab automaatse marsruutimise range kvoodipiirangu, mis eemaldab väikese kvoodiga kandidaadid enne hindamist. Seadistab ainult vaikeväärtuse: `resilienceSettings`-i salvestatud tõeväärtus (Dashboard → Settings → Resilience) on ülimuslik. | | `OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL` | `false` | `open-sse/services/autoCombo/virtualFactory.ts` | Lubatakse eraldi (vaikimisi VÄLJAS): kui filter `auto/:` ei leia ühtegi ühendatud kandidaati, taastatakse pärandkäitumine, mille korral pöördutakse tühja kogumi tagastamise asemel tagasi täielikku (filtreerimata) kogumisse. Vaikimisi VÄLJAS tähendab, et `:free` tähendab „ainult tasuta tasand”. | | `OMNIROUTE_CHAOS_MAX_PANEL` | `5` | `open-sse/services/autoCombo/virtualFactory.ts` | Paneeli suuruse ülempiir (piiratud vahemikku 1–10) leviedastuse variandi `auto/*:chaos` jaoks — üks päring suunatakse kuni nii paljude teenusepakkujatelt pärit eri mudelitesse. | | `OMNIROUTE_CHAOS_MIN_PANEL` | _(mootori vaikeväärtus)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Kaose leviedastuskonfiguratsioonile edastatav paneeli minimaalse suuruse seadistus; määramata jätmisel kasutatakse mootori vaikeväärtust. | | `OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS` | _(mootori vaikeväärtus)_ | `open-sse/services/autoCombo/virtualFactory.ts` | Kogu kaosepaneeli fan-out-operatsiooni range ajalõpp (ms); määramata jätmisel kasutatakse mootori vaikeväärtust. | | `GROK_AUTH_PATH` | `~/.grok/auth.json` | `open-sse/services/grokQuotaFetcher.ts` | Grok CLI `auth.json`-faili asukoht, mida kasutatakse grok-webi nädalase kvoodi hankimiseks; testide või ebastandardse CLI-paigalduse korral saab väärtust muuta. | | `AGENTBRIDGE_UPSTREAM_CA_CERT` | _(määramata)_ | `src/mitm/manager.ts` | Täiendav CA-sertifikaat (PEM), mida usaldatakse AgentBridge'i ülesvoolu TLS-ühenduste puhul. | | `INSPECTOR_BUFFER_SIZE` | `1000` | `src/mitm/inspector/buffer.ts` | Traffic Inspectori ringpuhvris hoitavate hõivatud päringute maksimaalne arv. | | `INSPECTOR_MAX_BODY_KB` | `1024` | `src/mitm/inspector/buffer.ts` | Hõivatud päringu või vastuse keha maksimaalne suurus (KB) enne kärpimist. | | `INSPECTOR_HTTP_PROXY_PORT` | `8080` | `src/mitm/inspector/httpProxyServer.ts` | Traffic Inspectori HTTP-puhverserveri kohalik port. | | `INSPECTOR_HTTP_PROXY_AUTOSTART` | `false` | `src/mitm/inspector/httpProxyServer.ts` | Käivitab Inspectori HTTP-puhverserveri alglaadimisel automaatselt. | | `INSPECTOR_LLM_HOSTS_EXTRA` | _(määramata)_ | `src/lib/inspector/captureState.ts` | Täiendavad hostinimed (komadega eraldatud), mida käsitletakse hõive jaoks LLM-i lõpp-punktidena. | | `INSPECTOR_MASK_SECRETS` | `true` | `src/mitm/inspector/buffer.ts` | Salajaste väärtuste (autentimispäised / API-võtmed) maskeerimine jäädvustatud liikluses. | | `INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES` | `30` | `src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts` | Minutite arv, mille möödudes süsteemipuhverserveri kaitse taastab automaatselt operatsioonisüsteemi puhverserveri sätted. | | `INSPECTOR_INTERNAL_INGEST_TOKEN` | _(automaatselt)_ | `src/app/api/tools/traffic-inspector/internal/ingest/route.ts` | Sisetaristu hõiveandmete inspektorisse edastamise autentimise token. | | `PLAYGROUND_COMPARE_MAX_COLUMNS` | `4` | `src/app/(dashboard)/dashboard/playground/` | Playgroundi võrdlusrežiimis kõrvuti kuvatavate veergude maksimaalne arv. | | `PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL` | _(määramata)_ | `src/app/(dashboard)/dashboard/playground/` | Playgroundi „täiusta viipa” toimingu vaikemudel (kui väärtus on määramata, kasutatakse aktiivset mudelit). | | `BIFROST_ENABLED` | `1` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Bifrosti külgproksiserveri peamine väljalülituslüliti. Kui väärtuseks on määratud `0`, tagastab marsruut oleku 503 koos päisega `X-Bifrost-Killswitch` ja operaator suunatakse tagasi TS-i teele. Kasutage seda külgproksiserveri keelamiseks ilma uut juurutust tegemata (1. taseme ruuteriintsident, võtme vahetamine). | | `BIFROST_BASE_URL` | _(määramata)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Kui see on määratud, edastab Bifrosti külgproksiserveri marsruut `/v1/chat/completions` liikluse TS-i releekäsitleja asemel sellele Go-lüüsile. Määramata → 503 koos varuteega. Lõpus olev kaldkriips eemaldatakse. | | `BIFROST_PORT` | `8080` | `src/lib/services/bootstrap.ts` | Port, mille külge jälgitav Bifrosti manustatud teenus seob (`127.0.0.1:`), kui OmniRoute haldab Bifrosti kõrvalteenuse elutsüklit. Vaikimisi `8080`. | | `SINGBOX_PORT` | `20140` | `src/lib/services/bootstrap.ts` | Port, mille külge jälgitav sing-boxi manustatud teenus seob (`127.0.0.1:`), kui OmniRoute haldab sing-boxi kõrvalteenuse elutsüklit. Vaikimisi `20140`. | | `LLMLINGUA_PORT` | `20135` | `src/lib/services/bootstrap.ts` | Port, mille külge jälgitav LLMLingua tihendusteenus seob (`127.0.0.1:`). Vaikimisi `20135`. | | `LLMLINGUA_BASE_URL` | `http://127.0.0.1:20135` | `open-sse/services/compression/engines/llmlingua/index.ts` | Kohaliku LLMLingua HTTP-tihenduse mikroteenuse deemoni baas-URL. Vaikimisi `http://127.0.0.1:20135`. | | `LLMLINGUA_MODEL` | `atjsh/llmlingua-2-js-tinybert-meetingbank` | `src/lib/services/installers/llmlingua.ts` | Hugging Face'i mudeli ID, mille jälgitav LLMLingua kõrvalteenus laadib (edastatakse alamprotsessi keskkonda). | | `BIFROST_API_KEY` | _(unset)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Bifrosti lüüsi API-võti (saadetakse kujul `Authorization: Bearer ...`). Kui see on määramata, eeldab marsruut, et päring sisaldab kehtivat OmniRoute'i API-võtit; seda võtit kasutatakse ainult lüüsi-poolses autentimises. | | `BIFROST_STREAMING_ENABLED` | `true` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Kui väärtus on true, voogedastab Bifrosti kõrvalteenuse marsruut vastused SSE kaudu lüüsi kaudu, mitte TS-i voogedastuse täitja kaudu. Määrake väärtuseks `0`, et sundida lüüsi kaudu mittevoogedastatavaid JSON-vastuseid. | | `BIFROST_TIMEOUT_MS` | `30000` | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | Päringupõhine ajalõpp Bifrosti lüüsile puhverserverdamisel (ms). Ajalõpu korral tagastab marsruut TS-i relee tee päise `X-Bifrost-Fallback` kaudu. | | `OMNIROUTE_BIFROST_KEY` | _(unset)_ | `src/app/api/v1/relay/chat/completions/bifrost/route.ts` | `BIFROST_API_KEY`-i alias (kasutatakse skriptides, mis loevad keskkonda `OMNIROUTE_*` kaudu). Kui mõlemad on määratud, on `BIFROST_API_KEY` ülimuslik. | | `OMNIROUTE_RELAY_BACKEND` | `ts` / `auto` | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | `/api/v1/relay/chat/completions`-i relee taustsüsteem: `ts \| bifrost \| auto`. `ts` = TypeScripti relee (vaikimisi, kui Bifrost pole konfigureeritud); `auto` valib Bifrosti, kui `BIFROST_BASE_URL` on määratud ja `BIFROST_ENABLED` ≠ `0`, ning kasutab automaatselt TypeScripti varuvarianti, kui sidecar pole kättesaadav; `bifrost` sunnib kasutama Bifrosti (range režiim, varuvariandita). Autentimine, päringukiiruse piirang, süstimise kaitse ja lubatud loend käivitatakse alati esmalt Nexti marsruudis. Vastused sisaldavad päiseid `X-Routing-Backend` / `X-Routing-Fallback` / `X-Routing-Fallback-Reason`. | | `RELAY_ROUTING_BACKEND` | _(unset)_ | `src/app/api/v1/relay/chat/completions/routingBackend.ts` | Aktsepteeritav `OMNIROUTE_RELAY_BACKEND`-i alias (samad väärtused `ts \| bifrost \| auto`). Kui mõlemad on määratud, on `OMNIROUTE_RELAY_BACKEND` ülimuslik. | | `OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS` | `5000` | `src/app/api/v1/relay/chat/completions/bifrostCooldown.ts` | Jahutusaeg (ms) pärast Bifrosti sidecar-hüppe ebaõnnestumist režiimis `auto`, enne kui relee proovib sidecariga uuesti ühendust võtta; jahutuse ajal suunatakse päringud otse TypeScripti teele, seejärel kontrollitakse sidecari uuesti. `0` keelab selle. Rakendub ainult siis, kui `OMNIROUTE_RELAY_BACKEND=auto`. | | `OMNIROUTE_TLS_CERT` | _(unset)_ | `bin/cli/commands/serve.mjs` | PEM-vormingus TLS-sertifikaadi tee, mille abil pakkuda `omniroute serve`-i üle HTTPS-i (vastab suvandile `--tls-cert`). Seda tuleb kasutada koos `OMNIROUTE_TLS_KEY`-iga; seejärel lõpetab eraldiseisev server TLS-i samas kuulajas (`wss://` töötab muutmata kujul). Määramata → tavaline HTTP. Ainult ühe sertifikaadi-/võtmeparameetri määramine või loetamatu tee logib hoiatuse ja server jääb HTTP-režiimi. | | `OMNIROUTE_TLS_KEY` | _(unset)_ | `bin/cli/commands/serve.mjs` | PEM-vormingus TLS-i privaatvõtme tee `omniroute serve`-i HTTPS-i jaoks (vastab suvandile `--tls-key`). Seda tuleb kasutada koos `OMNIROUTE_TLS_CERT`-iga. Vt `OMNIROUTE_TLS_CERT`. | | `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED` | `0` | `src/lib/security/localEndpoints.ts` | `/api/local/*`-i marsruutide põhüliti. Kui see on määramata või väärtusega `0`, tagastavad kõik `/api/local/*`-i marsruudid tootmiskeskkonnas oleku 503. Redis-launcheri ja muude sarnaste ühe klõpsuga kohalike teenusekäivitajate lubamiseks mitte-loopback-paigutustes peab väärtus olema `1`. See täiendab funktsiooni `isLocalOnlyPath()` marsruudikaitse klassifikatsiooni (`LOCAL_ONLY_API_PREFIXES` failis `src/server/authz/routeGuard.ts`). | | `OMNIROUTE_LOCAL_ENDPOINTS_TOKEN` | _(unset)_ | `src/lib/security/localEndpoints.ts` | Kandeloa tunnus (`Bearer token`) `/api/local/*`-i kutsujatele, kes ei pärine loopback-aadressilt (nt töölauarakendus). Kui see on määratud, peavad mitte-loopback-IP-aadressidelt pärinevad päringud sisaldama päist `Authorization: Bearer `. Mitte-loopback-paigutustes on see nõutav, kui `OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1`. | | `OMNIROUTE_REDIS_CONTAINER_NAME` | `omniroute-redis` | `bin/cli/commands/redis.mjs` | Konteineri nimi ühe klõpsuga käivitatava Redis-käivitaja jaoks (`omniroute redis up`). Seda kasutavad nii CLI kui ka `RedisLauncherPanel`i graafiline kasutajaliides. | | `OMNIROUTE_REDIS_HOST_PORT` | `6379` | `bin/cli/commands/redis.mjs` | Ühe klõpsuga Redis-käivitaja hosti port. Muutke seda, kui host seob juba pordi 6379. Konteineri sisemine port jääb väärtuseks 6379. | | `OMNIROUTE_REDIS_BIND_HOST` | `127.0.0.1` | `bin/cli/commands/redis.mjs` | Hostiliides, millel ühe klõpsuga Redis-käivitaja Redisile juurdepääsu avaldab. Käivitaja alustab Redise ILMA paroolita, seega `0.0.0.0`-ga sidumine annab kõigile teie kohtvõrgu hostidele autentimata Redise — laiendage seda ainult siis, kui määrate eksemplarile ka ise parooli. | | `REDIS_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Hostiliides, millel docker-compose avaldab Redise kõrvalteenuse (#9286). Compose'i Redis töötab ilma `requirepass`-ita; rakenduse konteinerid pääsevad sellele juurde compose'i võrgu kaudu (`redis:6379`) — avaldatud port on mõeldud ainult hostipoolsetele tööriistadele. `0.0.0.0` avaldab autentimata Redise kogu kohtvõrgule. | | `REDIS_PORT` | `6379` | `docker-compose.yml` | Compose'i Redise kõrvalteenuse hosti port. | | `APP_BIND_HOST` | `127.0.0.1` | `docker-compose.yml`, `docker-compose.prod.yml` | Hostiliides, millel docker-compose avaldab rakenduse enda juhtpaneeli-, API- ja live-WS-pordid (#12568). Kuna `.env.example` vaikimisi tarnitav väärtus on `REQUIRE_API_KEY=false`, avaldab `0.0.0.0` anonüümse `/v1` LLM-puhverserveri kogu kohtvõrgule ja WAN-ile — laiendage seda alles siis, kui `REQUIRE_API_KEY=true` või ees olev pöördproksi jõustab oma autentimise. | | `QDRANT_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Hostiliides, millel docker-compose avaldab Qdranti mälu kõrvalteenuse (#12578). Kehtib sama kohtvõrku avaldamise põhjendus nagu `REDIS_BIND_HOST` puhul. | | `BIFROST_BIND_HOST` | `127.0.0.1` | `docker-compose.yml` | Hostiliides, millel docker-compose avaldab Bifrosti ruuteri kõrvalteenuse (#12578). Kehtib sama kohtvõrku avaldamise põhjendus nagu `REDIS_BIND_HOST` puhul. | | `REDIS_KEY_PREFIX` | `omniroute:` | `src/shared/utils/rateLimiter.ts` | Kõigile OmniRoute'i Redise võtmetele rakendatav nimeruumi eesliide (kiirusepiiraja, autentimise vahemälu, kvoodisäilitus, soojenduse kaitselüliti). Hoiab ära võtmete kokkupõrked, kui Redise eksemplari jagatakse teiste rakendustega (#11042). | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | _(määramata — mehhanism on keelatud)_ | `src/lib/api/internalServiceAuth.ts` | Jagatud saladus identiteeti säilitavate sisemiste REST-hüpete jaoks (#9260): OmniRoute'i komponendid, mis kutsuvad teisi kohalikke OmniRoute'i marsruute, saadavad selle päisena `x-omniroute-internal-service-token`, et algse kutsuja identiteet säiliks. Võrreldakse funktsiooniga `timingSafeEqual`. | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | _(määramata)_ | `src/lib/api/internalServiceAuth.ts` | Sisemise teenuse loa failivariant: faili tee, mille kärbitud sisu on luba. Seda kontrollitakse ainult siis, kui tekstisisene muutuja on määramata. | | `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | `src/lib/catalog/openrouterProviderStats.ts` | Täiendab juhtpaneeli teenusepakkujate loendit OpenRouteri nädalase edetabelistatistikaga (#9324). Vaikimisi sisse lülitatud; määra väärtuseks `false`, et taustal tehtav toomine täielikult vahele jätta (mitt blokeeriv, ei põhjusta kunagi tõrget). | | `OPENROUTER_PROVIDER_STATS_TTL_MS` | `86400000` (24h) | `src/lib/catalog/openrouterProviderStats.ts` | OpenRouteri teenusepakkujate statistika hetktõmmise vahemälu TTL millisekundites. | | `OMNIROUTE_REDIS_IMAGE` | `redis:7-alpine` | `bin/cli/commands/redis.mjs` | 1-klõpsulise Redise käivitaja kasutatav Redise tõmmis. Vajaduse korral asenda väärtusega `redis:8-alpine` või privaatse registri peegliga. | | `QDRANT_HOST` | `qdrant` | _(valikuline klastri profiil)_ | Qdranti kõrvalteenuse hostinimi, kui `--profile memory` on aktiivne. Vaikimisi osutab võrgusisesele qdranti teenusenimele; välise juurutuse korral kirjuta see üle. Seda kasutatakse ainult siis, kui koodis (`src/lib/memory/vectorStore.ts:108`) on `qdrantEnabled` väärtus `true`. | | `QDRANT_PORT` | `6333` | _(valikuline klastri profiil)_ | Qdranti kõrvalteenuse REST-port. | | `QDRANT_GRPC_PORT` | `6334` | _(lubatud klastri profiil)_ | Qdranti külgteenuse gRPC-port. Kasutatakse klienditeekides, mis eelistavad voogedastustoimingute puhul REST-ile gRPC-d. | | `QDRANT_API_KEY` | _(määramata)_ | _(lubatud klastri profiil)_ | Valikuline API-võti Qdrant Cloudi või autentitud kohapealse eksemplari jaoks. Tühi → päist `api-key` ei saadeta. | | `QDRANT_COLLECTION` | `omniroute-memory` | _(lubatud klastri profiil)_ | OmniRoute'i vestlusmälu manustuste kogu nimi. Luuakse esimesel käivitamisel dimensioonidega `QDRANT_VECTOR_SIZE`. | | `QDRANT_EMBEDDING_MODEL` | `text-embedding-3-small` | _(lubatud klastri profiil)_ | Qdranti kogu metaandmetesse salvestatav vaikemanustamismudeli nimi. Tegelikud manustused genereeritakse selle pakkuja poolt, millele OmniRoute'i seadetes väli `embeddingModel` osutab. | | `QDRANT_VECTOR_SIZE` | `1536` | _(lubatud klastri profiil)_ | Manustusvektori dimensioon. Peab vastama mudelile, millega manustate (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768). | | `QDRANT_HNSW_EF_CONSTRUCT` | `128` | _(lubatud klastri profiil)_ | HNSW-indeksi koostamise aegne täpsus. Suurem väärtus = aeglasem koostamine, kiirem otsing. | | `OMNIROUTE_ROTATION_ENABLED` | `true` | `open-sse/services/rotationConfig.ts` | Operaatori konfigureeritava kontode rotatsiooni pealüliti. Kui väärtus on `false`, ei käivita ükski allpool olevatest `OMNIROUTE_ROTATE_*` klassidest konto varulahendust (väljalülitatud pealüliti blokeerib ka vaikimisi lubatud 429/500/502 klassid). Võimaldab juhtival kasutajaliidesel (nt VibeProxy töölauarakendusel) peegeldada oma rotatsioonireegleid taustaprogrammi konto-varulahendusmootorisse. | | `OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS` | `0` | `open-sse/services/rotationConfig.ts` | Kiirusepiiranguga kontole rakendatav ooteaeg sekundites, kui ülesvooluteenuse vastus ei sisalda selget lähtestamisvihjet. `0` = mootori vaikimisi ooteaja kasutamine fikseeritud ülekirjutuse asemel. | | `OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET` | `true` | `open-sse/services/rotationConfig.ts` | Esmakülje eelistuse peegeldus „ära märgi kiirusepiiranguga, kui lähtestusaeg puudub“. | | `OMNIROUTE_ROTATE_ON_429` | `true` | `open-sse/services/rotationConfig.ts` | Oleku `429` varumehhanismi lubamine. Kui väärtus on `false` (ja `OMNIROUTE_ROTATION_ENABLED=true`), ei käivita `429` enam konto vahetamist, vaid tagastatakse kliendile. | | `OMNIROUTE_ROTATE_429_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `OMNIROUTE_ROTATE_429_WINDOW_SECONDS` jooksul nõutav `429` vigade arv enne konto vahetamist. Vaikeväärtus `1` vahetab konto kohe, säilitades varasema käitumise. | | `OMNIROUTE_ROTATE_429_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Libisev ajavahemik (sekundites), mille jooksul loendatakse `429` vigu `OMNIROUTE_ROTATE_429_THRESHOLD` väärtuse täitmise arvestusse. | | `OMNIROUTE_ROTATE_ON_500` | `true` | `open-sse/services/rotationConfig.ts` | Oleku `5xx` serverivigade varumehhanismi lubamine (välja arvatud `502`, millel on oma klass). Kui väärtus on `false`, ei käivita need vead enam konto vahetamist. | | `OMNIROUTE_ROTATE_500_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `OMNIROUTE_ROTATE_500_WINDOW_SECONDS` jooksul nõutav `5xx` vigade arv enne konto vahetamist. Vaikeväärtus `1` vahetab konto kohe. | | `OMNIROUTE_ROTATE_500_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Libisev ajavahemik (sekundites), mille jooksul loendatakse `5xx` vigu `OMNIROUTE_ROTATE_500_THRESHOLD` väärtuse täitmise arvestusse. | | `OMNIROUTE_ROTATE_ON_502` | `true` | `open-sse/services/rotationConfig.ts` | Oleku `502` (lüüsi viga) vigade varumehhanismi lubamine. Kui väärtus on `false`, ei käivita `502` vead enam konto vahetamist. | | `OMNIROUTE_ROTATE_502_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `OMNIROUTE_ROTATE_502_WINDOW_SECONDS` jooksul nõutav `502` vigade arv enne konto roteerimist. Vaikeväärtus `1` roteerib konto kohe. | | `OMNIROUTE_ROTATE_502_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Libisev ajavahemik (sekundites), mille jooksul loetakse `502` vead `OMNIROUTE_ROTATE_502_THRESHOLD` väärtuse arvestusse. | | `OMNIROUTE_ROTATE_ON_400` | `false` | `open-sse/services/rotationConfig.ts` | Valikuline (vaikimisi VÄLJAS): kui väärtus on `true`, käivitab ka tavaline `400` (vigane päring) konto roteerimise. See on ainult täiendav — see ei blokeeri mootori olemasolevat käitumist, mille korral piirangu/kvoodi teksti sisaldav `400` põhjustab siiski ülemineku, olenemata sellest lipust. | | `OMNIROUTE_ROTATE_400_THRESHOLD` | `1` | `open-sse/services/rotationConfig.ts` | `OMNIROUTE_ROTATE_400_WINDOW_SECONDS` jooksul nõutav `400` vigade arv enne konto roteerimist (arvestatakse ainult siis, kui `OMNIROUTE_ROTATE_ON_400=true`). | | `OMNIROUTE_ROTATE_400_WINDOW_SECONDS` | `120` | `open-sse/services/rotationConfig.ts` | Libisev ajavahemik (sekundites), mille jooksul loetakse `400` vead `OMNIROUTE_ROTATE_400_THRESHOLD` väärtuse arvestusse. | ### Claude'i soojenduse ajastaja Croni-põhine soojendus lubatud Anthropic OAuth-ühenduste jaoks, et 5-tunnine piirangute aken avataks esimese tegeliku päringu asemel lihtsa ajastatud päringuga (#8848). Ajastaja on välja lülitatud, välja arvatud juhul, kui `OMNIROUTE_WARMUP_ENABLED` on tõeväärtusega **ja** ühendus on märgitud seadistuses `settings.claudeWarmup.connections`; tühi ühenduste loend tähendab, et midagi ei soojendata isegi siis, kui keskkonnamuutuja on sisse lülitatud. | Muutuja | Vaikeväärtus | Lähtefail | Kirjeldus | | ------------------------------ | --------------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_WARMUP_ENABLED` | _(unset → off)_ | `src/lib/warmupScheduler.ts` | Soojenduse ajastaja pealüliti. Aktsepteerib väärtusi `1`/`true`/`yes`/`on` (tõstutundlikkuseta, eemaldatud tühikutega). Mis tahes muu väärtus või määramata jätmine hoiab ajastaja välja lülitatuna. | | `OMNIROUTE_WARMUP_CRON` | `0 7 * * *` | `src/lib/warmupScheduler.ts` | Viieväljeline croni avaldis soojenduse käivitamiseks, mida hinnatakse ajavööndis `America/Los_Angeles` (Anthropicu lähtestamise ajavöönd) sõltumata hosti kellast. | | `OMNIROUTE_WARMUP_CONCURRENCY` | `3` | `src/lib/warmupScheduler.ts` | Mitu ühendust soojendatakse ühe käivituse jooksul paralleelselt. Piiratakse vahemikku `1`–`10`; mittenumbriline väärtus asendatakse väärtusega `3`. | | `OMNIROUTE_WARMUP_MODEL` | `claude-3-5-haiku-20241022` | `src/lib/warmupScheduler.ts` | Soojenduspäringu jaoks kasutatav mudel. Muuda seda ainult siis, kui vaikeväärtus pole sinu paketis saadaval; vali odavaim mudel, mis akna siiski avab. | ### Brauseri sisselogimise VNC-seansid ja andmekataloogi alias Interaktiivseks brauseri sisselogimise mandaadipüügiks kasutatav konteineriseeritud Chromium+VNC (`/api/vnc-session`) koos pärandühendusega `DATA_DIR`. Kõik on valikuline — VNC vaikeväärtused kasutavad komplekti kuuluvat `omniroute-vnc-chromium:local` kujutist ning need kirjutatakse üle ainult kohandatud konteinerikujutise, portide või elutsükli häälestuse korral. | Muutuja | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | Dockeri tõmmise silt Chromiumi+VNC sisselogimiskonteineri jaoks. Koostage `docker/vnc-browser/chromium` või suunake see kohandatud tõmmisele. | | `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | VNC-konteineri käivitamiseks kasutatav konteineri käituskeskkonna binaar (nt määrake väärtuseks `podman`). | | `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | Konteineri sees avalikustatud VNC/noVNC port. | | `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Chrome DevToolsi protokolli port konteineri sees. | | `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Chromiumi profiilikataloogi tee konteineri sees. | | `OMNIROUTE_VNC_PROFILE_DIR` | `$HOME/.omniroute/browser-login-profiles` | `src/lib/vncSession/manifest.ts` | Hostis asuv kataloog, kus hoitakse püsivaid brauseri sisselogimisprofiile. | | `OMNIROUTE_VNC_IDLE_MS` | `600000` (10 min) | `src/lib/vncSession/manifest.ts` | Jõudeoleku ajalõpp (ms), mille möödumisel jõudeolekus VNC-seanss eemaldatakse. | | `OMNIROUTE_VNC_MAX_MS` | `1800000` (30 min) | `src/lib/vncSession/manifest.ts` | Ühe VNC-seansi eluea absoluutne ülempiir (ms). | | `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | Samaaegsete VNC-seansside maksimaalne arv. | | `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Ajalõpp (ms), mille jooksul oodatakse konteineris oleva brauseri CDP-valmidust. | | `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | Ajalõpp (ms) sisselogimise lõppedes salvestatud seansi/küpsiste kogumiseks. | | `OMNIROUTE_VNC_CHROMIUM_ARGS` | `--remote-debugging-port=9222 --no-first-run --no-default-browser-check` | `src/lib/vncSession/manifest.ts` | Konteineris olevale Chromiumile edastatavad täiendavad käsurealipud. | | `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Spetsiaalne Dockeri võrk, millega VNC sisselogimiskonteiner liitub (#12571) vaikesilla asemel, et naaberkonteinerid ei pääseks selle CDP-silla pordile ligi. | | `VIBEPROXY_DATA_DIR` | _(määramata)_ | `open-sse/services/notionThreadSessions.ts` | **Pärandalias** väärtusele `DATA_DIR`, mida kontrollitakse ainult pärast seda, kui nii `DATA_DIR` kui ka `OMNIROUTE_DATA_DIR` on määramata. Määrab Notioni veebilõimede seansside vahemälu asukoha (`/notion-web-thread-sessions.json`). | --- ## 26. Test & E2E rakmed Kasutavad `scripts/dev/run-next-playwright.mjs`, `scripts/dev/smoke-electron-packaged.mjs`, `scripts/dev/run-ecosystem-tests.mjs` ja `scripts/build/uninstall.mjs`. Tootmisjuurutustes jätke kõik allpool olevad väärtused määramata. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | -------------------------------------- | --------------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_E2E_BOOTSTRAP_MODE` | `auth` | `scripts/dev/run-next-playwright.mjs` | E2E alglaadimisrežiim (`auth`, `fresh`, `reuse`) Playwright jooksja jaoks. | | `OMNIROUTE_E2E_PASSWORD` | langeb tagasi `INITIAL_PASSWORD` juurde | `scripts/dev/run-next-playwright.mjs` | Playwright keskkonda sisestatud administraatori parool. | | `OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Keelake Playwright käitamise ajal kohalik tervisekontrolli küsitlus. | | `OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK` | `true` | `scripts/dev/run-next-playwright.mjs` | Keelake OAuth märgi tervisekontrolli silmus testide ajal. | | `OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS` | _(määramata)_ | `src/lib/tokenHealthCheck.ts` | Komaga eraldatud pakkujad on ennetavast märgivärskenduse pühkimisest välja jäetud (nt `codex,openai`). Sihtotstarbeline alternatiiv tervisekontrolli täielikule keelamisele. — lühikese TTL-i pakkujad värskendavad end pidevalt, samal ajal kui kaskaaditeenuse pakkujad jäävad ainult reaktiivseks. | | `OMNIROUTE_HIDE_HEALTHCHECK_LOGS` | `true` | `scripts/dev/run-next-playwright.mjs` | Tervisekontrolli müra vaigistamine Playwright stdoutis. | | `OMNIROUTE_PLAYWRIGHT_SKIP_BUILD` | `0` | `scripts/dev/run-next-playwright.mjs` | Jätke Next.js tootmisjärg enne Playwright käivitamist vahele (CI optimeerimine). | | `OMNIROUTE_SKIP_UNINSTALL_HOOK` | `0` | `scripts/build/uninstall.mjs` | Jätke vahele OmniRoute desinstallikonks (kasutab CI, et hoida `node_modules` puutumata). | | `ECOSYSTEM_SERVER_WAIT_MS` | `180000` | `scripts/dev/run-ecosystem-tests.mjs` | Enne ecosystem/protocol testide käivitamist oodake aega (ms), kuni server taastub. | | `ELECTRON_SMOKE_URL` | `http://127.0.0.1:20128/login` | `scripts/dev/smoke-electron-packaged.mjs` | URL Electron suitsurakmed eeldavad, et pakitud rakendus töötab. | | `ELECTRON_SMOKE_TIMEOUT_MS` | `45000` | `scripts/dev/smoke-electron-packaged.mjs` | Koguaeg (ms), enne kui suitsurakmed loobuvad. | | `ELECTRON_SMOKE_SETTLE_MS` | `2000` | `scripts/dev/smoke-electron-packaged.mjs` | Seadistage aken (ms) pärast lehe laadimist. | | `ELECTRON_SMOKE_APP_EXECUTABLE` | _(automaatne)_ | `scripts/dev/smoke-electron-packaged.mjs` | Pakendatud Electron käivitatava faili selgesõnaline tee. | | `ELECTRON_SMOKE_DATA_DIR` | _(tmpdir)_ | `scripts/dev/smoke-electron-packaged.mjs` | Electron suitsujooksu andmekataloog. | | `ELECTRON_SMOKE_KEEP_DATA` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Määrake `1` suitsuandmete kataloogi säilitamiseks pärast käitamist. | | `ELECTRON_SMOKE_STREAM_LOGS` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | Seadke `1` voogesitama Electron logisid jooksu ajal stdout-i. | | `ELECTRON_SMOKE_COLD_RESTART` | `0` | `scripts/dev/smoke-electron-packaged.mjs` | #7592: taaskäivitage sama andmekataloogi alusel ja kinnitage, et teine käivitamine valib algse SQLite draiveri. | | `CLI_DEVIN_BIN` | _(PATH otsing)_ | `open-sse/executors/devin-cli.ts` | Devin CLI binaartee alistamine. | ### Dokumendi tõlkekonveier Kasutab `scripts/i18n/run-translation.mjs` (käsk `npm run i18n:run` ). Kõik kuus muutujat on vaikimisi määramata. — määrab need `.env` ainult masinates, mis peaksid suutma dokumentide tõlkijat käivitada. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------ | ------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_TRANSLATION_API_URL` | _(määramata)_ | `scripts/i18n/run-translation.mjs` | OpenAI-ga ühilduv põhi URL tõlke taustaprogrammi jaoks. | | `OMNIROUTE_TRANSLATION_API_KEY` | _(määramata)_ | `scripts/i18n/run-translation.mjs` | Tõlke taustaprogrammi kandja tunnus (pole kunagi logitud). | | `OMNIROUTE_TRANSLATION_MODEL` | _(määramata)_ | `scripts/i18n/run-translation.mjs` | Mudeli ID, nt `gpt-4o-mini` või `cx/gpt-5.4-mini`. | | `OMNIROUTE_TRANSLATION_FALLBACK_MODELS` | _(määramata)_ | `scripts/i18n/lib/translate-backend.mjs` | Valikuline komadega eraldatud mudelikett proovitakse järjekorras, kui esmane mudel ebaõnnestub (429 kvoot, 401/402, 5xx, ajalõpp, võrk); valesti vormindatud päringut (400/413/422) mujal uuesti ei proovita. | | `OMNIROUTE_TRANSLATION_TIMEOUT_MS` | `60000` | `scripts/i18n/run-translation.mjs` | Päringu ajalõpp millisekundites. | | `OMNIROUTE_TRANSLATION_REASONING_EFFORT` | _(määramata)_ | `scripts/i18n/lib/translate-backend.mjs` | Valikuline arutlusjuht, mis saadetakse sel kujul taustaprogrammi, kui see on seadistatud. | | `OMNIROUTE_TRANSLATION_CONCURRENCY` | `4` | `scripts/i18n/run-translation.mjs` | Rööptõlkepäringud mitme faili/lokaati töötamisel. | | `OMNIROUTE_TRANSLATION_ENGINE` | `llm` | `scripts/i18n/run-translation.mjs` | `llm` kasutab ülaltoodud taustaprogrammi; `google` tõlgib läbi struktuuriohutu Google mootori ja ei vaja ühtegi LLM muutujatest. | | `OMNIROUTE_TRANSLATION_GOOGLE_FALLBACK` | `1` | `scripts/i18n/run-translation.mjs` | `llm` mootoriga tõlgib Google tüki, mida mudel ei suutnud toota (väljundkaitse ebaõnnestus igal katsel või mudeli viga), selle asemel, et lokaadi rikkuda. `0` keelab selle. | | `OMNIROUTE_TRANSLATION_GOOGLE_API_KEY` | _(määramata)_ | `scripts/i18n/lib/google-translate.mjs` | Valikuline Cloud Translation v2 võti. Unset kasutab võtmeta veebi lõpp-punkti (piiratud kiirusega, sobib aeg-ajalt lainete jaoks). | | `OMNIROUTE_TRANSLATION_GOOGLE_CONCURRENCY` | `6` | `scripts/i18n/lib/google-translate.mjs` | Paralleelsed Google -päringud, mida jagavad kõik jooksu lokaadid. | | `OMNIROUTE_TRANSLATION_GOOGLE_TIMEOUT_MS` | `30000` | `scripts/i18n/lib/google-translate.mjs` | Google mootori päringu ajalõpp, millisekundites. | | `UI_KIT_READ_TOKEN` | _(määramata)_ | `scripts/check/check-ui-kit-upstream.mjs` | Kirjutuskaitstud luba privaatse ülesvoolu UI komplekti repo jaoks, mida kasutab `npm run check:ui-kit-upstream` ja iganädalane töövoog "UI Kit upstream watch". Kohalikult kasutab kontroll teie git-mandaate. | --- ## 27. Radari voog (isehostimine) Valikuline lisandmoodul, mis on piiratud RADAR_ENABLED funktsioonilipuga (vaikimisi välja lülitatud — funktsiooni lipp lülitatakse Settings/DB, mitte env var kaudu; vt [docs/frameworks/RADAR.md](../frameworks/RADAR.md#flag-radar_enabled-default-off) ). Esimesed neli allolevat muutujat on valikulised alistamised isehostitud või kahvliga voogude ja toetajavõtmevoogude jaoks. Viies, `RADAR_ADMIN_URL`, on eraldi vaikimisi tasuta link omaniku privaatsete toimingute paneelile. Vt [docs/frameworks/RADAR.md](../frameworks/RADAR.md) täielikku mooduli dokumenti ja selle [täielikku aktiveerimist ja juhistega seadistamise järjestust](../frameworks/RADAR.md#end-to-end-activation-and-guided-setup). Üldist Home/Changelog teadaannete lugejat ei konfigureeri keskkonnamuutuja ja see ei sõltu RADAR_ENABLED funktsiooni lipust. See loeb avalikku hoidlat `news.json` URL mille `src/shared/utils/releaseNotes.ts` on deklareerinud ainult GET ; loobumine IDs jääb brauseri kohalikku salvestusruumi. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ----------------------------- | -------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `RADAR_FEED_URL` | `https://radar.omniroute.online` | `src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts` | Põhi- URL mida jagavad eraldi allkirjastatud kataloog, viited, toetajapakkumised ja Inteli vood. Alistada, et osutada isehostitud või kahvelteenusele. | | `RADAR_FEED_PUBKEY` | _(kinnitatud vaikevõti)_ | `src/lib/radar/pinnedKeys.ts` | Ed25519 avalik võti (base64-DER SPKI või PEM), mida kasutatakse kohandatud voo allkirjade kontrollimiseks. | | `RADAR_CONTRIBUTOR_CLAIM_URL` | `https://radar.omniroute.online/auth/github` | `src/lib/radar/links.ts` | URL avaneb armatuurlaua nupp "Olen kaastööline" (GitHub OAuth toetaja võtme nõude voog). | | `RADAR_SUPPORTER_PLANS_URL` | `https://radar.omniroute.online/planos` | `src/lib/radar/links.ts` | URL avaneb armatuurlaua nupp "Toeta projekti" (payment/plans leht). | | `RADAR_ADMIN_URL` | _(määramata)_ | `src/lib/radar/links.ts` | Ainult omanike privaatsete toimingute paneeli link. HTTPS on nõutav, välja arvatud HTTP loopback SSH edasi; määramata või kehtetud väärtused ei loo navigeerimisüksust. | --- ## Audit: eemaldatud / surnud muutujad Järgmised muutujad ilmusid `.env.example` eelmistes versioonides, kuid on olemas** käitusaja viited puuduvad** praeguses koodibaasis. Need on eemaldatud: | Muutuv | Põhjus | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `STORAGE_DRIVER=sqlite` | Ärge kunagi lugege ühegi lähtefaili kaudu. SQLite on ainus toetatud draiver — mida pole vaja valida. | | `INSTANCE_NAME=omniroute` | Esineb vanades docs/env mallides, kuid käitusajal kasutamata. Võib naasta tulevases mitme eksemplari funktsioonis. | | `SQLITE_MAX_SIZE_MB=2048` | Lähtekoodis ei viidata. Andmebaasi suurus ei ole kunstlikult piiratud. | | `SQLITE_CLEAN_LEGACY_FILES=true` | Lähtekoodis ei viidata. Pärandpuhastus eemaldati tõenäoliselt. | | `CLI_ROO_BIN` | Pole `src/shared/services/cliRuntime.ts` registreeritud. | | `CLI_KIMI_CODING_BIN` | Pole `src/shared/services/cliRuntime.ts` registreeritud (Kimi kodeerimine kasutab OAuth, mitte CLI binaari). | | `IFLOW_OAUTH_CLIENT_ID` / `IFLOW_OAUTH_CLIENT_SECRET` | Lähtekoodis pole kuskil viidatud. | | `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` | Eemaldatud versioonis 3.8.0. Käitusaeg ei loe enam neid env vars — mandaate, mis pärinevad armatuurlauast / `data/provider-credentials.json` / krüptitud DB. | | `CURSOR_PROTOBUF_DEBUG` | Eemaldatud versioonis 3.8.0. Cursor täitja kasutab `CURSOR_DEBUG` / `CURSOR_STREAM_DEBUG` (vt §22). | | `CLI_COMPAT_KIRO` | Eemaldatud versioonis 3.8.0. Kiro on `CLI_COMPAT_OMITTED_PROVIDER_IDS` — selle lülitil pole mõju. | | `QIANFAN_API_KEY` | Eemaldatud koos teiste kasutamata teenusepakkuja API võtmetükkidega versioonis 3.8.0. | ### Vaikeväärtuse parandused | Muutuv | Vana `.env.example` väärtus | Tegelik kood vaikeväärtus | Parandatud | | ------------------------- | --------------------------- | ------------------------- | ------------------------------------------------------------ | | `APP_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Eemaldatud eksitav väärtus; dokumenteeritud `7` vaikimisi | | `CALL_LOG_RETENTION_DAYS` | `90` | `7` | ✅ Eemaldatud eksitav väärtus; dokumenteeritud `7` vaikimisi | ### OpenCode konfiguratsiooni taastamine (ad-hoc tööriistad) Kasutab `scripts/ad-hoc/regen-opencode-config.ts`, et genereerida `opencode.json` täpsete `limit.context` ja `limit.output` väärtustega, mis on ammutatud töötavast OmniRoute eksemplarist. Ükski neist pole normaalseks tööks vajalik — skript on ainult arendaja tööriistad. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------ | ------------------------ | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_URL` | `http://localhost:20128` | `scripts/ad-hoc/regen-opencode-config.ts` | OmniRoute eksemplari URL baasväärtus `/v1/models` päringu tegemiseks. | | `OMNIROUTE_KEY` | _(määramata)_ | `scripts/ad-hoc/regen-opencode-config.ts` | API võti OmniRoute `/v1/models` lõpp-punkti autentimiseks. Tühistamisel langeb tagasi `OPENCODE_API_KEY`. | | `OPENCODE_API_KEY` | _(määramata)_ | `scripts/ad-hoc/regen-opencode-config.ts` | OpenCode-stiilis API võti (`sk-...`), mis on kirjutatud uuesti genereeritud `opencode.json` sse. Tühistamisel langeb tagasi `OMNIROUTE_KEY`. | ### Pakkimine võrguühenduseta eval rakmed (ad-hoc tööriistad) Kasutab `scripts/compression-eval/index.ts` võrguühenduseta tihendamise hindamist CLI. Pole vaja normaalseks tööks ainult — arendaja tööriistad. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------- | ----------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_EVAL_CREDENTIALS` | `{}` (tühi) | `scripts/compression-eval/index.ts` | Operaatori tarnitud JSON mandaadid teenusepakkuja jaoks, mida kasutab võrguühenduseta tihendus-eval CLI (parsitud `JSON.parse`-ga). Jätke kuivtöötamiseks seadistamata. | ### VNC brauseri seansid Kasutab `src/lib/vncSession/manifest.ts` Dockeri-põhiste peata Chromiumi seansside konfigureerimiseks brauseri automatiseerimise pakkujate jaoks. Kõik allpool näidatud valikulised — vaikesätted. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------- | ------------------------------ | ------------------------------------------- | --------------------------------------------------------------------------------- | | `OMNIROUTE_DOCKER_BIN` | `docker` | `src/lib/vncSession/manifest.ts` | Tee Docker binaari juurde, mida kasutatakse VNC konteinerite loomiseks. | | `OMNIROUTE_VNC_IMAGE` | `omniroute-vnc-chromium:local` | `src/lib/vncSession/manifest.ts` | Docker kujutis VNC kroomimahuti jaoks. | | `OMNIROUTE_VNC_CHROMIUM_ARGS` | _(sisseehitatud lipud)_ | `src/lib/vncSession/manifest.ts` | Täiendavad Chromium CLI argid edastati konteineris olevale brauserile. | | `OMNIROUTE_VNC_CONTAINER_VNC_PORT` | `3000` | `src/lib/vncSession/manifest.ts` | VNC port konteineri sees. | | `OMNIROUTE_VNC_CONTAINER_CDP_PORT` | `9223` | `src/lib/vncSession/manifest.ts` | Chrome DevTools protokolli port konteineri sees. | | `OMNIROUTE_VNC_CONTAINER_PROFILE_DIR` | `/config` | `src/lib/vncSession/manifest.ts` | Profiilikataloog konteineris. | | `OMNIROUTE_VNC_PROFILE_DIR` | _(määramata)_ | `src/lib/vncSession/manifest.ts` | Hostipoolne kataloog püsivate brauseriprofiilide jaoks. | | `OMNIROUTE_VNC_IDLE_MS` | `600000` | `src/lib/vncSession/manifest.ts` | Jõudeoleku ajalõpp (ms) enne VNC seansi kogumist. | | `OMNIROUTE_VNC_MAX_MS` | `1800000` | `src/lib/vncSession/manifest.ts` | Seansi maksimaalne kestus (ms). | | `OMNIROUTE_VNC_MAX_SESSIONS` | `4` | `src/lib/vncSession/manifest.ts` | Maksimaalne samaaegne VNC seanss. | | `OMNIROUTE_VNC_READY_MS` | `45000` | `src/lib/vncSession/manifest.ts` | Brauseri valmiduse ajalõpp (ms). | | `OMNIROUTE_VNC_HARVEST_MS` | `20000` | `src/lib/vncSession/manifest.ts` | Harvest/cleanup aeg (ms). | | `OMNIROUTE_VNC_NETWORK` | `omniroute-vnc-browser-login` | `src/lib/vncSession/manifest.ts` | Spetsiaalne Docker -võrk, millega konteiner liitub (#12571), vaikesillast väljas. | | `VIBEPROXY_DATA_DIR` | _(määramata)_ | `open-sse/services/notionThreadSessions.ts` | Kataloog Notion lõime seansi püsivuse jaoks. | ### Siseteenuste autentimine | Muutuv | Vaikimisi | Kirjeldus | | --------------------------------------- | --------- | ------------------------------------------------------------------------------------------------- | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN` | – | Inline luba haldustasandi teenustevaheliseks autentimiseks. | | `OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE` | – | Siseteenuse tunnust sisaldava faili tee (eelistatud konteinerites; alistab tekstisisese muutuja). | ### OpenRouter pakkuja statistika | Muutuv | Vaikimisi | Kirjeldus | | ----------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------ | | `OPENROUTER_PROVIDER_STATS_ENABLED` | `true` | Määrake `false`, et jätta vahele OpenRouter teenusepakkujapõhise statistika toomine kataloogi täiendamiseks. | | `OPENROUTER_PROVIDER_STATS_TTL_MS` | `3600000` | Vahemällu TTL (ms) toodud OpenRouter pakkuja statistika jaoks. | ### Sisseehitatud Redis köide | Muutuv | Vaikimisi | Kirjeldus | | --------------------------- | ----------- | ------------------------------------------------------------------ | | `REDIS_BIND_HOST` | `127.0.0.1` | Manustatud Redis teenuse sidumisaadress. | | `REDIS_PORT` | `6379` | Port manustatud Redis teenuse jaoks. | | `OMNIROUTE_REDIS_BIND_HOST` | – | Manustatud Redis sidumisaadressi OmniRoute-i ulatusega alistamine. | --- ## 24. Väljalase v3.8.50 täiendused Need sätted võeti kasutusele pärast eelmist keskkonnalepingu hetketõmmist. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_CHAT_ADMISSION_QUEUE_MS` | `2000` | `src/shared/middleware/chatBodyAdmission.ts` | Maksimaalne oodake raskekaalu vestluse sisenemise pesa enne uuesti proovitavat `503`; lühike piiratud ootamine serialiseerib agenti pursked kohese `503` asemel. `0` taastab kohese tagasilükkamise. | | `OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES` | `4194304` (4 MB) | `src/shared/middleware/chatBodyAdmission.ts` | Järjekorras baitide eelarve sissepääsu ootamiseks: piirab kogu protsessi ulatuses pargitud puhverdatud kehabaiti, nii et ootamine ei saa hunnikut võimendada (#4380). Üleeelarvelised ootamised saavad kohe uuesti proovitava `503`. | | `OMNIROUTE_CHAT_VIRTUAL_TTL_MS` | `60000` (60 s) | `src/shared/middleware/chatBodyAdmission.ts` | Alates 10110. aastast katkestatud tegevusetus: seansipõhised sissepääsurajad eemaldati ühe protsessiülese eelarve kasuks. Aktsepteeritud konfiguratsiooni ühilduvuse jaoks; ignoreeritud. | | `OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS` | `64` | `src/shared/middleware/chatBodyAdmission.ts` | Alates 10110. aastast katkestatud tegevusetus: seansipõhised sissepääsurajad eemaldati ühe protsessiülese eelarve kasuks. Aktsepteeritud konfiguratsiooni ühilduvuse jaoks; ignoreeritud. | | `OMNIROUTE_CHAT_VIRTUAL_LANES` | `0` (väljas) | `open-sse/services/admission/runtime.ts` | Kohanduvad käitusaja virtuaalsed sissepääsurajad (#9654): rentniku kohanduvvärava (süsteem 2) pealüliti. Erineb ülaltoodud aegunud ühendusraja variatsioonidest (TTL_MS / MAX_SESSIONS, no-ops alates #10110). Armatuurlaua funktsiooni samanimeline lipp; env var võidab armatuurlaua alistamise; nõuab taaskäivitamist. | | `OMNIROUTE_RUNNOW_TIMEOUT_MS` | `30000` | `src/app/api/jobs/[id]/run-now/route.ts` | Piirab, kui kaua Run-now-kõne ootab enne järjekorda pandud töö alustamist pardatööd. | | `ADOBE_FIREFLY_BROWSER_REFRESH` | lubatud | `open-sse/services/adobeFireflySession.ts` | Hoiab IMS ja brauseri riskiseisundi värskena konto ulatusega Chrome CDP seansside kaudu; määrake `0` keelamiseks. | | `ADOBE_FIREFLY_SESSION_DISK` | lubatud | `open-sse/services/adobeFireflySession.ts` | Püsib parandatud Adobe seansid `DATA_DIR` all; määrake `0` ainult mälu oleku jaoks. | | `ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS` | `12000` | `open-sse/services/adobeFireflySession.ts` | Minimaalne vahe Adobe Firefly genereeritavate esitiste vahel. | | `ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS` | `15000` | `open-sse/services/adobeFireflySession.ts` | Eriti vaikne periood pärast iga kolmandat edukat Adobe esitamist. | | `ADOBE_FIREFLY_CHROME_HEADLESS` | `0` | `open-sse/services/adobeFireflyBrowserLogin.ts` | Ainult silumisfunktsiooniga tõeline peata režiim; Adobe colligo lükkab tavaliselt sellest tuleneva riskiseansi tagasi. | | `CHROME_PATH` | automaatne tuvastamine | `open-sse/executors/cloudflare-playground.ts`, `open-sse/executors/chatgpt-web-codex.ts` | Valikuline absoluutne Chrome'i käivitatav fail, mida kasutavad brauseri juhitud täitjad, kui platvormi automaattuvastus on ebapiisav. | | `TELEGRAM_BOT_TOKEN` | _(määramata)_ | `src/lib/telegram/config.ts` | BotFather märk, mis võimaldab sissetulevat veebihaagi ja märgib Mini Appi `initData`. | | `TELEGRAM_WEBHOOK_SECRET` | _(määramata)_ | `src/lib/telegram/config.ts` | Jagatud saladus registreeritakse `setWebhook` kaudu ja kontrollitakse `X-Telegram-Bot-Api-Secret-Token` päisega igal veebihaagi kohaletoimetamisel. Nõutav veebihaagi tee jaoks; unset tähendab, et veebihaagi kohaletoimetamisest keeldutakse numbriga 503. | | `TELEGRAM_DEFAULT_MODEL` | `auto/chat` | `src/lib/telegram/chatProxy.ts` | Telegram vestlusvastuste jaoks kasutatav mudel. | | `TELEGRAM_BOT_API_BASE` | `https://api.telegram.org` | `src/lib/telegram/config.ts` | Bot API baasi URL alistamine puhverserveritele või isehostitavatele Bot API serveritele. | | `TELEGRAM_WEBHOOK_TIMEOUT_MS` | `60000` | `src/lib/telegram/config.ts` | Väljuvate Bot API kõnede ajalõpp millisekundites. | | `TELEGRAM_USER_ALLOWLIST_ENABLED` | `false` | `src/lib/telegram/config.ts` | Määrake `true`, et teenindada ainult `TELEGRAM_ALLOWED_USER_IDS` loetletud Telegram -kasutajaid (muud: Mini App 403, veebihaagi sõnum on eemaldatud). Vaikimisi väljas: iga Telegram kasutajat teenindatakse ja ta saab vermitud API -võtme, mis kulutab ülesvoolu kvoodi. | | `TELEGRAM_ALLOWED_USER_IDS` | _(määramata)_ | `src/lib/telegram/config.ts` | Komaga eraldatud numbrilised Telegram kasutaja ID-d esitatakse, kui `TELEGRAM_USER_ALLOWLIST_ENABLED=true`. Kirjeid, mis ei ole tavalised positiivsed täisarvud, ignoreeritakse ühekordse hoiatusega. Ignoreeritakse, kui lubatud nimekiri on välja lülitatud; tühi lubatud loendiga ei teeninda kedagi. | | `OMNIROUTE_OPTIONAL_PACK_TAR` | `1` (lubatud) | `scripts/build/optionalPackStaging.mjs` | Määrake `0` `.tar.gz` tarballide väljastamist vahele jätma, lavastades Electron eraldiseisva puu jaoks valikulisi ML/browser pakette (pakkide katalooge ja `optional-packs.index.json` toodetakse endiselt). Kasutatakse töölaua väljalaske töövoo poolt artefakti üleslaadimise suuruse kärpimiseks. | | `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Võimaldab registreerida xAI tellimuse kujutiste marsruute; vaikimisi keelatud, nii et API-võtme pilditee jääb muutumatuks. | | `OMNIROUTE_API_KEY_COOLDOWN_MS` | `60000` | `open-sse/services/apiKeyRotator.ts` | Klahvipõhine jahtumine millisekundites, kui `429` vastusel pole kasutatavat `Retry-After` vihjet. | | `OMNIROUTE_ESTIMATOR_CALIBRATION` | lubatud | `open-sse/services/estimatorCalibration.ts` | Mälusisese hinnangulise kalibreerimise salvestuse ja rakenduse keelamiseks määrake väärtusele `off`, `0` või `false`. | | `NEXT_MANUAL_SIG_HANDLE` | _(sisemine)_ | `scripts/dev/standalone-server-ws.mjs` | Sisemine eraldiseisev serveri signaalitöötleja alistamine; tavaliselt määrab ja tühjendab käivitaja, mitte operaatorid. | | `CHATGPT_WEB_TURN_TIMEOUT_MS` | `180000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Pöördepõhine lagi ChatGPT Web (Clean Room) tekstipöörde jaoks; `1000` st madalamaid väärtusi eiratakse. | | `CHATGPT_WEB_TOOL_TURN_TIMEOUT_MS` | `180000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Pöördepõhine ülemmäär ChatGPT veebi (puhas ruum) pöörde jaoks, mis kannab kliendi tööriistu (emuleeritud `` ümbrik); langetage seda, et tagastada kontroll varem kliendile. Väärtusi alla `1000` eiratakse. | | `CHATGPT_WEB_HEADLESS` | `1` (peata) | `open-sse/utils/chatgptWebExecutorAdapter.ts` | Käivitage ChatGPT Web (Clean Room) brauser ilma peata. Määrake `0` ainult nende kontode jaoks, mille esimese osapoole väljakutse keeldub peata režiimist (vaikeseade muudeti pealkirjast peata režiimis #14948). | | `CHATGPT_WEB_BROWSER_ACQUIRE_TIMEOUT_MS` | `45000` | `open-sse/utils/chatgptWebExecutorAdapter.ts` | ChatGPT Web (Clean Room) brauseri käivitamise ja chatgpt.com soojendamise ülempiir, nii et surnud brauser või seanss ei saa päringujärjekorra tähtaega ära kasutada. | | `UI_KIT_CLONE` | `_references/cheaper-inference-ui-kit` | `scripts/check/check-ui-kit-snapshot.mjs` | Privaatse CI UI komplekti tee kloonib tarnija hetktõmmise värava diffs `packages/ui-kit/src` vastu (KEA-7886); värav hüppab hoiatusega, kui kloon puudub. | ### ChatGPT Web (Codex) Globaalsed vaikeväärtused peata brauserile ja tööriistatunnelile. Im Dashboard gesetzte Connection-Werte haben Vorrang. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | --------------------------------------- | ------------------------------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CHATGPT_WEB_CODEX_CHROME_PATH` | _(automaatne tuvastamine)_ | `open-sse/executors/chatgpt-web-codex.ts` | Expliziter Chrome-/Chromium-Pfad für npm-, systemd- und PM2-Betrieb. | | `CHROME_PATH` | _(automaatne tuvastamine)_ | `open-sse/executors/chatgpt-web-codex.ts` | Gemeinsamer Fallback für einen expliziten Chrome-/Chromium-Pfad. | | `CHATGPT_WEB_CODEX_CDP_URL` | _(määramata)_ | `open-sse/executors/chatgpt-web-codex.ts` | Interner CDP-Endpunkt; Docker verwendet den Sidecar auf Port `9223`. | | `CHATGPT_WEB_CODEX_USE_CDP_PROFILE` | _(tühista — väljalülitamine)_ | `open-sse/vendor/codex-chatgpt-web/persistent-cdp-context.ts` | Määrake väärtusele `1` (konfigureeritud CDP lõpp-punktiga), et korduskasutada väliselt hallatud sisselogitud brauseri profiili olemasolevat ChatGPT lehte pöörde kohta eraldatud konteksti asemel; ka samaaegselt kasutatavate ChatGPT vahelehtede suurtähed on 1. Vaikimisi väljas. Vaadake [püsivat CDP profiili](../guides/CHATGPT-WEB-PERSISTENT-CDP.md). | | `CDP_PROXY_TOKEN` | _(määramata)_ | `docker/chatgpt-web-codex-browser/cdp-proxy.mjs` | Wenn gesetzt, muss jede Anfrage and den den CDP-Proxy-Sidecar diesen Wert im Header `X-Omni-Cdp-Token` mitschicken (#13679). Ohne Wert leitet der Proxy unauthentifiziert weiter — dann schützt nur die Netzisolierung des Compose-Netzes `chatgpt-web-codex-net`. Erzeugen mit `openssl rand -hex 32`. | | `CHATGPT_WEB_CODEX_TUNNEL_ID` | _(määramata)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globaalne OpenAI-Tunnel-ID kohaliku Codex-Tool-Rundeni jaoks. | | `CHATGPT_WEB_CODEX_RUNTIME_KEY` | _(määramata)_ | `open-sse/executors/chatgpt-web-codex.ts` | Globaler Tunnel Runtime-Key; niemals sisse Logs ausgeben. | | `CHATGPT_WEB_CODEX_CONNECTOR_NAME` | `OmniRoute Codex v2` | `open-sse/executors/chatgpt-web-codex.ts` | Exakter Name des neu erstellten ChatGPT-Custom-Connectors for die MCP-Brücke. | | `CODEX_CHATGPT_WEB_HOME` | `/chatgpt-web-codex` | `open-sse/vendor/codex-chatgpt-web/config.ts` | Dediziertes Verzeichnis für Browser-, Broker- un Tunnelzustand. | | `CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS` | `0` | `open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts` | Bei `1` werden Browser-Diagnosebilder an jedem Checkpoint erfasst. | | `CODEX_CHATGPT_WEB_LAUNCHER` | _(määramata)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Valikuline absoluutr Pfad zu einem dauerhaften Launcher-Binary. | | `CODEX_CHATGPT_WEB_BUN` | _(automaatne tuvastamine)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Valikuline absoluutne Pfad zum Bun-Runtime-Binary. | | `CODEX_WEB_GPT_BUN` | _(määramata)_ | `open-sse/vendor/codex-chatgpt-web/config.ts` | Legacy-Fallback für `CODEX_CHATGPT_WEB_BUN`; neue Seadistused verwenden den kanonischen Namen. | --- ## OmniConductor sild Pikaealine SSE tarbija, mis peegeldab OmniConductor jaoturi ülesandeid kohalikku A2A TaskManager (`src/lib/conductor/`). Valiku — sild käivitub alles siis, kui `CONDUCTOR_HUB_URL` on määratud. Ainult serveripoolne: jaoturi luba ei tohi kunagi jõuda brauserisse. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------ | ----------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | `CONDUCTOR_HUB_URL` | _(tühi)_ | `src/lib/conductor/boot.ts` | OmniConductor jaoturi põhi URL (nt `http://127.0.0.1:7910`). Tühista = sild on keelatud. | | `CONDUCTOR_HUB_TOKEN` | _(tühi)_ | `src/lib/conductor/boot.ts` | Jaoturi mandaat SSE voo — jaoks väljastab jaoturis `spokesperson` -kind kaaslase (`POST /v1/peers`, admin). | | `CONDUCTOR_ORCHESTRATOR_TOKEN` | _(tühi)_ | `src/lib/conductor/hubProxy.ts` | Sissetuleva A2A→ jaoturi ülesande delegeerimise mandaat (`POST /v1/tasks`); taandub `CONDUCTOR_HUB_TOKEN`, kui see on tühistatud. | | `CONDUCTOR_SPOKESPERSON_URL` | `http://127.0.0.1:7920` | `src/lib/conductor/faroProxy.ts` | Armatuurlaua vestluse puhverserveri (`/api/conductor/ask`) taga oleva pressiesindaja (Faro) teenuse baas URL. | ### Kvooditeadlik ajakava Kasutavad `open-sse/services/combo.ts` ja `src/lib/quota/quotaScheduler.ts` eeltaotluse lubade eelarve kontrollimiseks. Lubatud — vaikemarsruutimiskäitumine jääb määramata jätmisel muutumatuks. | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ---------------------------------- | --------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `OMNIROUTE_QUOTA_AWARE_ROUTING` | `0` | `open-sse/services/combo.ts` | Kui `1`, jätke vahele ühendused, mille aknapõhise märgi eelarve (`rateLimitOverrides.tpm`, tabel `provider_quota_state`) ei saa lubada hinnangulist päringu maksumust enne saatmist. Ebaõnnestunud avamine, kui eelarve pole seadistatud. | | `OMNIROUTE_ESTIMATOR_CALIBRATION` | _(sees)_ | `open-sse/services/estimatorCalibration.ts` | Kontekstivalve märgi hindaja (#14931) tagasiside kalibreerimine: (pakkuja, mudel, olemasolevad tööriistad) EMA kohta `usage.prompt_tokens` / hinnang, kinnitatud väärtusele 0,15–2,0, ainult mälus. `off`, `0` või `false` keelab salvestamise ja rakenduse. | | `GROK_SUBSCRIPTION_IMAGES_ENABLED` | `false` | `open-sse/config/imageRegistry.ts` | Registreerib `xai-oauth` (`xao`) ja `grok-cli` pildimarsruudid. Armatuurlaua funktsiooni samanimeline lipp; DB alistamine võidab selle väärtuse. | ## Mudeli sünkroniseerimise diagnostika | Muutuv | Vaikimisi | Lähtefail | Kirjeldus | | ------------------------------ | --------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_MODEL_SYNC_TIMINGS` | `0` | `src/lib/providerModels/modelSyncTimings.ts` | Määrake `1`, et logida mudeli sünkroonimise ajal faasiajastus, genereeritud päring ID ja faas success/error. Kõigi muude väärtuste jaoks keelatud. Logid jätavad välja päringu-, konto-, kataloogi- ja veakoormused. | ## Kohalik OpenCode'i meediaanalüüsi tööriist Kasutab `scripts/cli/omniroute-media-mcp.mjs`. Määrake need kohaliku tööriistaprotsessi keskkonnas. | Muutuja | Vaikeväärtus | Kirjeldus | | -------------------------- | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | `OMNIROUTE_MEDIA_CONFIG` | `$XDG_CONFIG_HOME/opencode/opencode.json` (või `~/.config/opencode/opencode.json`) | OpenCode'i konfiguratsioon, mida meediatööriist ja paigaldaja loevad. | | `OMNIROUTE_MEDIA_PROVIDER` | `omniroute` | OpenCode'i konfiguratsioonist meediatööriista loetav pakkuja kirje. | | `OMNIROUTE_MEDIA_MODEL` | `auto` | Meediatööriista edastatav mudel. Selle pakkuja peab toetama taotletud meediatüüpe. | | `OMNIROUTE_MEDIA_API_KEY` | Konfigureeritud pakkuja API-võti või selle keskkonnaviide | Valikuline mandaadi alistamine. Hoidke seda kohaliku protsessi keskkonnas; ärge lisage seda kunagi versioonihaldusse. |