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

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

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

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

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

618 KiB
Raw Blame History

Environment Variables Reference (Bahasa Melayu)

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


Rujukan lengkap bagi setiap pemboleh ubah persekitaran yang dikenali oleh OmniRoute. Untuk templat mula pantas, lihat .env.example.

Important

Setiap pemboleh ubah yang didokumentasikan di sini juga mesti terdapat dalam .env.example, dan setiap pemboleh ubah dalam .env.example mesti terdapat di sini. npm run check:env-doc-sync menguatkuasakan perkara ini semasa komit dan dalam CI. Untuk mengecualikan pemboleh ubah dengan sengaja, tambahkannya pada senarai dibenarkan dalam scripts/check/check-env-doc-sync.mjs.


Kandungan


1. Rahsia yang Diperlukan

Pemboleh ubah ini mesti ditetapkan sebelum dijalankan buat kali pertama. Tanpanya, aplikasi sama ada akan enggan dimulakan atau beroperasi dengan tetapan lalai yang tidak selamat.

Pemboleh Ubah Diperlukan Lalai Fail Sumber Penerangan
JWT_SECRET Ya (tiada) src/lib/auth Menandatangani/mengesahkan semua kuki sesi papan pemuka (JWT). Jana dengan openssl rand -base64 48.
API_KEY_SECRET Ya (tiada) src/lib/db/apiKeys.ts Kunci penyulitan AES untuk nilai kunci API yang disimpan dalam SQLite. Jana dengan openssl rand -hex 32.
INITIAL_PASSWORD Ya CHANGEME Skrip but Menetapkan kata laluan awal papan pemuka pentadbir (sepadan dengan nilai lalai .env.example — sengaja dibiarkan jelas tidak selamat untuk memaksa perubahan). Tukar sebelum penggunaan pertama. Selepas log masuk, tukar melalui Papan Pemuka → Tetapan → Keselamatan.
OMNIROUTE_WS_BRIDGE_SECRET Ya (pengeluaran) (tidak ditetapkan) src/app/api/internal/codex-responses-ws/route.ts Rahsia dikongsi untuk jambatan WebSocket Codex Responses dalaman. Mengesahkan permintaan jambatan antara geganti WS Electron/pelayar dengan OmniRoute. ⚠️ DIPERLUKAN dalam pengeluaran — apabila tidak ditetapkan, semua permintaan jambatan WS ditolak. Jana dengan openssl rand -base64 32.
OMNIROUTE_SW_BUILD_ID Tidak (SHA git) next.config.mjs, scripts/build/assembleStandalone.mjs ID pembatalan cache pekerja perkhidmatan yang eksplisit untuk cangkerang PWA (#11779); yang pertama dalam rantaian resolusi.
SOURCE_VERSION Tidak (tidak ditetapkan) next.config.mjs, scripts/build/assembleStandalone.mjs Yang kedua dalam rantaian — ditetapkan oleh pembina PaaS (contohnya, gaya Heroku) sebagai komit yang digunakan.
NEXT_PUBLIC_SW_BUILD_ID Tidak (diterbitkan) src/shared/components/PwaRegister.tsx Nilai awam masa binaan yang digunakan oleh klien untuk mendaftarkan /sw.js?v=…; diterbitkan daripada dua nilai di atas, kemudian SHA git.
OMNIROUTE_PEER_STAMP_TOKEN Tidak (automatik) (automatik setiap but) src/server/authz/policies/management.ts Rahsia setiap proses yang membuktikan cap IP rakan dipercayai berasal daripada pelayan HTTP OmniRoute sendiri (scripts/dev/peer-stamp.mjs). Perisian tengah authz mempercayai kelokalan permintaan (pengawalan gelung balik/LAN bagi laluan LOCAL_ONLY) hanya apabila cap tersebut membawa token ini. Dijana secara automatik pada setiap but — biarkan tidak ditetapkan; hanya tetapkan secara kekal untuk persediaan berbilang proses yang perlu berkongsi cap tersebut.

Perintah Penjanaan

# Jana keempat-empat rahsia serentak:
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

Jangan sekali-kali komit fail .env yang mengandungi rahsia sebenar kepada kawalan versi. .gitignore sudah mengecualikan .env, tetapi sahkannya sebelum menolak perubahan.


2. Storan & Pangkalan Data

OmniRoute menggunakan SQLite (melalui better-sqlite3) untuk semua pengekalan data. Pemboleh ubah ini mengawal lokasi, penyulitan dan kitaran hayat data.

Pemboleh Ubah Lalai Fail Sumber Penerangan
DATA_DIR ~/.omniroute/ src/lib/db/core.ts Direktori akar untuk pangkalan data SQLite, sandaran dan fail data. Gantikan untuk volum Docker atau laluan tersuai.
OMNIROUTE_ALLOW_DEFAULT_DATA_DIR (tidak ditetapkan) src/lib/dataPaths.ts Mekanisme pelepasan untuk pengawal DATA_DIR ujian/penilaian (#10428). Ujian dan prob penilaian/cetakan Node (-e/--eval/-p/--print, termasuk bentuk --eval=/--print=) tanpa DATA_DIR diubah hala ke direktori sementara pakai buang supaya tidak dapat membuka pangkalan data sebenar pengendali; tetapkan kepada 1 untuk memilih semula penggunaan direktori sebenar.
OMNIROUTE_BUILD_SHA (tidak ditetapkan) src/lib/monitoring/buildSha.ts SHA Git bagi artifak yang sedang berjalan. Dicapkan oleh npm run build:release; boleh disuntik ke dalam bekas yang dihantar tanpa penanda dist/BUILD_SHA. Dipaparkan sebagai system.buildSha pada /api/monitoring/health.
OMNIROUTE_RELEASE_REF origin/main scripts/build/buildProvenance.ts Rujukan yang digunakan oleh gerbang asal-usul pembungkusan artifak untuk menyemak SHA binaan (#10427).
OMNIROUTE_ALLOW_CANARY_BUILD (tidak ditetapkan) scripts/build/buildProvenance.ts Tetapkan kepada 1 untuk membenarkan pembungkusan binaan yang SHAnya tidak berada pada baris keluaran, dengan merekodkannya sebagai binaan kenari yang disengajakan dan bukannya menggagalkan gerbang (#10427).
OMNIROUTE_SMOKE_API_KEY (tidak ditetapkan) scripts/ops/deploy-canary.mjs Kunci API untuk prob asap penggunaan kenari, dihantar sebagai Authorization: Bearer pada /v1/chat/completions. Hanya digunakan oleh skrip penggunaan (#10429), bukan oleh pelayan. Tidak berkaitan dengan pemboleh ubah OMNIROUTE_SMOKE_* bagi abah-abah asap CLI ikut serta (RUN_CLI_SMOKE=1, OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS dalam tests/integration/upstream-cli-smoke.int.test.ts) — lihat Penyepaduan CLI → Sapuan asap sebenar.
OMNIROUTE_BUILDING (tidak ditetapkan) src/lib/buildPhase.ts Isyarat fasa binaan (#10060): ditetapkan kepada 1 oleh scripts/build/build-next-isolated.mjs dan diwarisi oleh setiap pekerja binaan yang dimulakan supaya lapisan pangkalan data mengembalikan stub tanpa operasi dan bukannya memuatkan tambahan asli better-sqlite3 (yang menghentikan pekerja semasa keluar). Tidak sekali-kali ditetapkan untuk pelayan yang sedang berjalan.
OMNIROUTE_SKIP_NATIVE_DEP_CHECK 0 scripts/check/check-native-deps.mjs Tetapkan kepada 1 untuk melangkau semakan prabinaan kebergantungan asli pilihan bagi pepohon vendor yang eksotik. Ini tidak menjadikan kebergantungan yang hilang boleh dibina; gunakan hanya apabila kebergantungan asli dibekalkan melalui saluran luaran.
OMNIROUTE_DATA_DIR (tidak ditetapkan) open-sse/executors/promptql/threadSticky.ts Alias sandaran untuk DATA_DIR, diperiksa hanya apabila DATA_DIR tidak ditetapkan. Digunakan untuk mencari cache sesi lekat-utas pada cakera bagi pelaksana PromptQL (<dir>/promptql-thread-sessions.json); jika kedua-dua pemboleh ubah tidak ditetapkan, cache kekal dalam memori sahaja (tidak dikekalkan merentasi mula semula).
OMNIROUTE_PLUGINS_DIR (tidak ditetapkan) src/lib/plugins/scanner.ts Direktori yang dibaca oleh pengimbas pemalam masa jalan — dan akar tempat pengurus pemalam memasang pemalam — dengan menggantikan lalai yang diperoleh daripada direktori rumah (#11827). Halakannya ke pepohon pemalam yang dipasang secara ikatan dalam Docker/K8s dan bukannya memindahkan HOME semata-mata untuk menempatkan semula laluan imbasan (HOME turut mengawal semua tingkah laku relatif kepada direktori rumah yang lain). Tidak ditetapkan = ~/.omniroute/plugins, atau /tmp/.omniroute/plugins apabila proses tidak mengeksport sebarang direktori rumah — keadaan pemalam tidak ditemui secara senyap yang diselesaikan oleh pemboleh ubah ini. Direktori yang diselesaikan dilog sekali ketika permulaan sebagai scanner.dir_resolved berserta input yang dipilih. Bahagian pelayan sahaja: pemalam perintah CLI mengekalkan OMNIROUTE_PLUGIN_PATH masing-masing (bahagian 9).
STORAGE_ENCRYPTION_KEY (kosong = dilumpuhkan) src/lib/db/encryption.ts Kunci AES untuk penyulitan penuh pangkalan data SQLite semasa disimpan. Jana dengan openssl rand -hex 32.
STORAGE_ENCRYPTION_KEY_VERSION v1 scripts/build/bootstrap-env.mjs, electron/main.js Label versi untuk kunci penyulitan. Tambahkan nilainya apabila melakukan penggiliran kunci untuk menyokong penyahsulitan sandaran lama.
DISABLE_SQLITE_AUTO_BACKUP false src/lib/db/backup.ts Apabila true, melangkau sandaran fail SQLite rutin/sebelum tulis (simpan/kosongkan harga models.dev, penulisan tetapan). Sandaran manual dan sebelum pemulihan masih dijalankan. Ia tidak melumpuhkan petikan keselamatan tahan lama mandatori pelaksana migrasi atau perlindungan migrasi besar-besaran untuk DB berterusan yang sedia ada. Sandaran bukan manual dihadkan kepada paling banyak sekali setiap 60 minit. Settings → Storage pada papan pemuka boleh melumpuhkan sandaran automatik rutin secara berasingan.
OMNIROUTE_CRYPT_KEY (tidak ditetapkan) src/lib/db/encryption.ts Alias legasi untuk STORAGE_ENCRYPTION_KEY. Diterima sebagai nilai sandaran apabila pemboleh ubah utama tiada.
OMNIROUTE_API_KEY_BASE64 (tidak ditetapkan) src/lib/db/encryption.ts Alias legasi (bentuk berkod Base64) yang diterima sebagai nilai sandaran. Dinyahkod secara automatik sebelum digunakan.
OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS (tidak ditetapkan) src/lib/db/core.ts Gantikan selang pemeriksaan kesihatan SQLite berkala (ms). Apabila tidak ditetapkan, nilai lalai diterbitkan daripada NODE_ENV.
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6j) src/lib/db/walMaintenance.ts Gantikan selang wal_checkpoint(TRUNCATE) berkala (ms). Titik semak automatik tidak pernah mengecilkan fail WAL itu sendiri dan pelayan yang berjalan lama tidak pernah menutup DB-nya. 0 melumpuhkannya.
OMNIROUTE_WAL_PASSIVE_INTERVAL_MS 300000 (5m) src/lib/db/walMaintenance.ts Gantikan selang wal_checkpoint(PASSIVE) yang kerap (ms). Mengekalkan bingkai WAL tertunda pada saiz kecil supaya TRUNCATE berkala tidak menyalin tunggakan berbilang GB pada utas utama. 0 melumpuhkannya.
OMNIROUTE_WAL_GUARD_MAX_MB 256 src/lib/db/walMaintenance.ts Apabila detik PASSIVE mendapati fail WAL melebihi saiz ini, tingkatkan kepada wal_checkpoint(TRUNCATE) dengan segera dan bukannya menunggu detik perlahan.
OMNIROUTE_PRESSURE_SELF_RESTART false open-sse/utils/resourcePressure.ts Tetapkan kepada 1/true/yes/on untuk keluar daripada proses selepas tekanan sumber kritikal berterusan selama OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS, membolehkan penyelia (systemd Restart=always, dasar mula semula Docker) menghidupkan semula proses yang bersih dan bukannya memberikan respons 503 tanpa henti.
OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS 120000 (2m) open-sse/utils/resourcePressure.ts Tempoh tekanan kritikal mesti berterusan sebelum proses keluar untuk mula semula kendiri dicetuskan.
OMNIROUTE_SQLJS_WASM_PATH (dikesan secara automatik) src/lib/db/adapters/sqljsAdapter.ts Laluan eksplisit (mutlak atau relatif kepada cwd) ke sql-wasm.wasm apabila menggunakan penyesuai sandaran WASM sql.js. Dikesan secara automatik melalui kebergantungan pakej dan susun atur calon apabila tidak ditetapkan.
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 21600000 (6j) src/lib/db/core.ts Gantikan selang wal_checkpoint(TRUNCATE) berkala (ms). Titik semak automatik tidak pernah mengecilkan fail WAL itu sendiri dan pelayan yang berjalan lama tidak pernah menutup DB-nya. 0 melumpuhkannya.
OMNIROUTE_BATCH_RETENTION_DAYS 30 src/lib/db/cleanup.ts Bilangan hari titik semak tugas Batch API terminal (selesai/gagal/dibatalkan/tamat tempoh), fail input/output/ralat yang dirujuk dan barisnya disimpan oleh pembersihan automatik sebelum dipadamkan. Hanya berkuat kuasa setelah BATCH_AND_FILE_AUTO_CLEANUP_ENABLED dihidupkan; sepadan dengan tempoh pengekalan output Batch API OpenAI sendiri. Tidak menjejaskan laluan DELETE /api/v1/batches/delete-completed yang dicetuskan oleh pengendali, yang kekal tanpa syarat (tiada penapis usia) mengikut reka bentuk.
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED false src/lib/db/cleanup.ts Apabila true, benarkan proses pembersihan automatik memadam tugas Batch API berstatus terminal (serta titik semaknya) yang telah melepasi OMNIROUTE_BATCH_RETENTION_DAYS, dan mengosongkan kandungan BLOB bagi fail yang dimuat naik setelah melepasi expires_at masing-masing. Dimatikan secara lalai: setiap pemasangan sedia ada mengekalkan data ini tepat seperti sebelumnya sehingga pengendali memilih untuk mengaktifkannya. Juga merupakan bendera ciri yang boleh disunting melalui papan pemuka — lihat docs/reference/FEATURE_FLAGS.md → Masa Jalan.
OMNIROUTE_SKIP_DB_HEALTHCHECK 0 src/lib/db/core.ts, src/lib/db/healthCheck.ts Tetapkan kepada 1 untuk melangkau pemeriksaan kesihatan DB sepenuhnya semasa permulaan. Berguna untuk tugas jangka pendek dan ujian integrasi.
OMNIROUTE_FORCE_DB_HEALTHCHECK 0 src/lib/db/core.ts Tetapkan kepada 1 untuk memaksa gelung pemeriksaan kesihatan DB diaktifkan, walaupun ia biasanya akan dilangkau (cth., tugas jangka pendek).
OMNIROUTE_SKIP_POSTINSTALL 0 scripts/postinstall.mjs Tetapkan kepada 1 untuk melangkau pemanasan awal masa jalan natif semasa npm install. Berguna dalam pemasangan CI/tanpa paparan apabila sqlite telah pun dibina.
OMNIROUTE_MIGRATIONS_DIR (kesan automatik) src/lib/db/migrationRunner.ts Gantikan direktori yang diimbas oleh pelaksana migrasi. Berguna apabila menghantar migrasi terbundel dalam binaan tersuai.
OMNIROUTE_EXTRA_MIGRATIONS_DIRS (tidak ditetapkan) src/lib/db/migrationRunner/extraDirs.ts Direktori migrasi tambahan sebagai entri namespace=dir yang dipisahkan oleh pembatas laluan platform (cth. ee=/opt/app/enterprise/db/migrations). Fail yang ditemui di sana direkodkan sebagai <namespace>-<number>, supaya pengedaran yang menyertakan migrasinya sendiri tidak pernah bertembung dengan slot angka huluan. Entri yang tidak sah bentuknya, ruang nama yang tidak sah atau direktori yang tiada akan mencetuskan ralat semasa permulaan dan bukannya melangkau skema secara senyap.
OMNIROUTE_MAX_PENDING_MIGRATIONS 50 src/lib/db/migrationRunner.ts Ambang keselamatan migrasi tertangguh secara besar-besaran (#3416). Permulaan dibatalkan jika lebih banyak migrasi daripada jumlah ini masih tertangguh pada DB sedia ada (melindungi daripada jadual penjejakan yang telah dikosongkan). Naikkan nilainya untuk memulihkan sandaran lama; tetapkan kepada 0 untuk menyahdayakan pemeriksaan.
OMNIROUTE_INSTALL_UPGRADE_WORKDIR (<repo>/.install-upgrade) scripts/check/check-install-upgrade.mjs Direktori kerja untuk get keluaran check:install-upgrade. Ia memerlukan kira-kira 12 GB (dua pepohon pemasangan ~3 GB serta tarball), jadi ia tidak boleh dijalankan pada tmpfs yang kecil — pada pelaksana hos sendiri, /tmp ialah tmpfs 12 GB yang disokong RAM dan get tersebut telah menghabiskan ruangnya, menyebabkan pakej terpotong.
OMNIROUTE_SPEND_FLUSH_INTERVAL_MS (lalai dalam kod) src/lib/spend/batchWriter.ts Selang pengosongan (ms) untuk penulis perbelanjaan/kos berkelompok. Nilai yang lebih rendah mengurangkan penggabungan penulisan; nilai yang lebih tinggi mengurangkan perebutan DB.
OMNIROUTE_SPEND_MAX_BUFFER_SIZE (lalai dalam kod) src/lib/spend/batchWriter.ts Bilangan maksimum entri perbelanjaan yang dibufer sebelum pengosongan paksa. Naikkan untuk penggunaan QPS tinggi; turunkan apabila had memori lebih penting.
OMNIROUTE_PROXY_FETCH_DEBUG (tidak ditetapkan) open-sse/utils/proxyFetch.ts Tetapkan kepada "true" untuk menghasilkan log nyahpepijat [ProxyFetch] pada laluan geganti Vercel. Dimatikan secara lalai untuk mengelakkan pembocoran petunjuk penghalaan.
PROXY_LOG_INCLUDE_IPS false src/lib/proxyLogger.ts Tetapkan kepada "true" atau "1" untuk menyertakan IP klien/keluar dan awalan akaun dalam baris log proses terperinci [ProxyEgress]. Dikekalkan MATI secara lalai supaya log proses tidak membocorkan IP atau awalan akaun.
OMNIROUTE_DEBUG (tidak ditetapkan) bin/cli/commands/quota.mjs Tetapkan kepada 1 untuk mencetak diagnostik pemasaan bagi setiap permintaan ([omniroute] GET <path> completed in Nms) daripada perintah kuota CLI ke stderr.
OMNIROUTE_HEALTHCHECK_PATH (automatik) scripts/dev/healthcheck.mjs Laluan nyata yang diperiksa oleh pemeriksaan kesihatan bekas. Jika tidak ditetapkan, prob akan memperolehnya daripada OMNIROUTE_BASE_PATH; menetapkannya akan mengaktifkan semula titik akhir pemantauan mendalam.
OMNIROUTE_DEBUG_COMPLETION (tidak ditetapkan) bin/cli/commands/completion.mjs Tetapkan kepada sebarang nilai bukan kosong untuk menghasilkan diagnostik [omniroute completion] daripada laluan cache pelengkapan shell CLI (baca/segar semula/tulis). Dimatikan secara lalai — cache tersebut gagal secara senyap supaya cache yang hilang/rosak tidak sekali-kali menjejaskan pelengkapan tab.
BATCH_RETRY_DURATION_MS 86400000 (24j) open-sse/services/batchProcessor.ts Tempoh percubaan semula maksimum untuk item kelompok individu (ms). Item yang melebihi tempoh ini ditandai sebagai gagal.
BATCH_BACKOFF_BASE_MS 5000 open-sse/services/batchProcessor.ts Kelewatan asas (ms) untuk undur eksponen bagi percubaan semula item kelompok.
BATCH_BACKOFF_MAX_MS 3600000 (1j) open-sse/services/batchProcessor.ts Had maksimum (ms) untuk undur eksponen antara percubaan semula item kelompok.
BATCH_MAX_CONCURRENT 1 open-sse/services/batchProcessor.ts Bilangan maksimum kelompok yang diproses secara serentak. Tingkatkan untuk menambah daya pemprosesan; kekalkan rendah untuk mengelakkan lonjakan had kadar.

Important

Sebelum mengubah pangkalan data berterusan yang sedia ada, pengendali migrasi menerbitkan petikan lengkap beralamatkan kandungan di bawah DATA_DIR/db_backups/. Penerbitan memerlukan sistem fail yang menyokong pautan keras dalam sistem fail yang sama tanpa penulisan ganti serta penyegerakan fail yang tahan lama. Hos POSIX juga memerlukan penyegerakan direktori; pada Windows, Node mungkin menolak pemegang direktori, maka OmniRoute melakukan flush pada fail yang diterbitkan dan menganggap penyegerakan entri direktori sebagai usaha terbaik. Jika DATA_DIR yang dilekapkan tidak dapat memberikan jaminan tersebut, permulaan akan gagal secara tertutup sebelum melaksanakan migrasi. Pindahkan DATA_DIR ke volum yang mempunyai primitif tersebut; jangan gunakan DISABLE_SQLITE_AUTO_BACKUP untuk memintas keselamatan migrasi.

Senario

Senario Konfigurasi
Pembangunan setempat Kekalkan semua nilai lalai. DB terletak di ~/.omniroute/omniroute.db.
Docker DATA_DIR=/data + lekapkan volum di /data.
Disulitkan ketika disimpan Tetapkan STORAGE_ENCRYPTION_KEY + simpan sandaran kunci tersebut! Kehilangannya = kehilangan data.
CI/Pengujian DATA_DIR=/tmp/omniroute-test — bersifat sementara, penyulitan tidak diperlukan.

3. Rangkaian & Port

Pemboleh Ubah Lalai Fail Sumber Penerangan
PORT 20128 src/lib/runtime/ports.ts Port utama untuk kedua-dua UI Papan Pemuka dan titik akhir API (mod port tunggal).
OMNIROUTE_BASE_PATH (kosong = akar) next.config.mjs, scripts/docker/ensure-docker-base-path.mjs Sublaluan URL untuk menyediakan OmniRoute di belakang proksi songsang (menetapkan basePath Next.js; penghalaan semula pengesahan mengambil kira basePath). Contohnya /omniroute. Dalam Docker, nilai ini diterapkan semasa docker build (ARG OMNIROUTE_BASE_PATH); imej akar prabina boleh menggunakan nilai masa jalan yang berbeza sekali ketika kontena dimulakan sebelum Next.js dimulakan. Tetapkan NEXT_PUBLIC_BASE_URL kepada sumber awam yang merangkumi sublaluan yang sama.
NEXT_PUBLIC_OMNIROUTE_BASE_PATH (kosong = akar) src/shared/hooks/useDisplayBaseUrl.ts Cerminan OMNIROUTE_BASE_PATH yang boleh dilihat oleh pelayar, disisipkan semasa binaan supaya paparan titik akhir papan pemuka menunjukkan https://host/omniroute/v1 dan bukannya https://host/v1. Kembali menggunakan OMNIROUTE_BASE_PATH apabila tidak ditetapkan. Bina semula selepas mengubahnya (basePath Next ditetapkan semasa binaan).
DASHBOARD_ALLOW_EMBED (tidak ditetapkan = tidak boleh dibingkaikan) next.config.mjs, scripts/build/dashboardEmbed.mjs Penyertaan iframe bagi halaman HTML secara ikut serta. Apabila tidak ditetapkan, setiap laluan dihantar dengan frame-ancestors 'none' + X-Frame-Options: DENY. Tetapkan kepada vscode untuk menyediakan halaman (papan pemuka, log masuk, dokumentasi, halaman pendaratan) dengan frame-ancestors 'self' vscode-webview: dan tanpa X-Frame-Options, supaya Pelayar Ringkas VS Code boleh memaparkannya (mod dashboardOpen: "editor" OmniCopilot). Permukaan API (/api, /v1, /v1beta, /a2a, /healthz, alias peringkat akar) tetap mengekalkan pengepala yang ketat dalam kedua-dua keadaan. Hanya vscode diiktiraf — 1/true tidak mendayakannya. Masa binaan: bina semula selepas mengubahnya (docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode untuk imej; menetapkannya pada pemasangan prabina tidak memberikan kesan).
API_PORT (tidak ditetapkan) src/lib/runtime/ports.ts Apabila ditetapkan, menyediakan API proksi /v1/* pada port berasingan ini.
API_HOST 0.0.0.0 src/lib/runtime/ports.ts Alamat pengikatan untuk port API.
DASHBOARD_PORT (tidak ditetapkan) src/lib/runtime/ports.ts Apabila ditetapkan, menyediakan UI Papan Pemuka pada port berasingan ini.
OMNI_MAX_CONCURRENT_CONNECTIONS 0 (dinyahdayakan) src/sse/utils/backpressure.ts Mengehadkan sambungan sembang aktif serentak; permintaan yang melebihi had menerima 503 dengan Retry-After. Integer positif mendayakan perlindungan; tidak ditetapkan/0 menyahdayakannya.
OMNIROUTE_INSTANCE_ID (tidak ditetapkan) src/shared/resilience/peerRouting.ts ID yang stabil dan unik untuk get laluan ini apabila merangkaikan tika OmniRoute. Mendayakan semakan gelung rakan setara masuk. Aksara yang dibenarkan: huruf, digit, ., _, :, dan -; maksimum 64 aksara.
OMNIROUTE_PEER_URLS (tidak ditetapkan) src/shared/resilience/peerRouting.ts, open-sse/executors/base.ts URL asas OmniRoute yang dipisahkan koma dan boleh menerima X-OmniRoute-Peer-Trace. Hanya URL huluan yang dibenarkan secara eksplisit menerima metadata rakan setara; semua penyedia lain tidak diubah.
OMNIROUTE_PEER_MAX_HOPS 4 src/shared/resilience/peerRouting.ts Bilangan maksimum tika OmniRoute yang telah dilawati sebelum ini dan diterima pada permintaan berantai (1-32). Tika yang berulang atau belanjawan yang telah habis akan mengembalikan HTTP 508 Loop Detected.
PROD_DASHBOARD_PORT 20130 docker-compose.prod.yml Port yang diterbitkan pada bahagian hos untuk Papan Pemuka dalam mod pengeluaran Docker.
PROD_API_PORT 20131 docker-compose.prod.yml Port yang diterbitkan pada bahagian hos untuk API dalam mod pengeluaran Docker.
OMNIROUTE_PORT (tidak ditetapkan) src/lib/runtime/ports.ts Diutamakan berbanding PORT apabila dijalankan dalam Electron atau pembalut lain.
LIVE_WS_PORT 20129 src/server/ws/liveServer.ts Port untuk pelayan pemantauan langsung WebSocket masa nyata.
LIVE_WS_HOST 127.0.0.1 src/server/ws/liveServer.ts Alamat pengikatan untuk pelayan WebSocket langsung. Tetapkan kepada 0.0.0.0 untuk mendedahkannya pada LAN (konfigurasikan juga LIVE_WS_ALLOWED_ORIGINS).
LIVE_WS_ALLOWED_ORIGINS (tidak ditetapkan) src/server/ws/liveServer.ts Asalan tambahan yang dipisahkan koma dan dibenarkan untuk membuka WebSocket langsung. Asalan papan pemuka gelung balik telah dibenarkan secara lalai.
LIVE_WS_ALLOWED_HOSTS (tidak ditetapkan) src/server/ws/liveServerAllowList.ts Nama hos tambahan yang dipisahkan koma dan dibenarkan untuk asalan WebSocket langsung. Tidak seperti LIVE_WS_ALLOWED_ORIGINS (URL asalan penuh), ini hanya memadankan bahagian hos — berguna untuk persediaan LAN/Tailscale.
NEXT_PUBLIC_LIVE_WS_PUBLIC_URL (tidak ditetapkan) src/hooks/useLiveDashboard.ts URL awam untuk WebSocket papan pemuka langsung (bahagian pelayar). Tetapkan apabila pelayan WS diletakkan di belakang proksi songsang atau Cloudflare Tunnel (cth. wss://ws.my-ai.com/live-ws); pelayar akan bersambung ke sana dan bukannya ws://hostname:20132. Bahagian nama laluan turut digunakan sebagai laluan peningkatan WebSocket (lalai: /live-ws).
OMNIROUTE_ENABLE_LIVE_WS true src/server/ws/liveServer.ts dan scripts/start-ws-server.mjs Tetapkan kepada 0 atau false untuk menyahdayakan pelayan WebSocket masa nyata (didayakan secara lalai, terikat pada gelung balik). Togol CI/abah-abah yang menyahdayakan skrip pembantu WebSocket langsung kendiri.
RELAY_IP_PER_MINUTE 30 src/app/api/v1/relay/chat/completions/route.ts Had kadar geganti bagi setiap (token, IP), permintaan/minit. Dalam memori, bagi setiap tika. 0 atau nilai negatif menyahdayakan get dimensi IP (had DB bagi setiap token masih terpakai).
NODE_ENV production Teras Next.js Mengawal tahap perincian log, caching, pendedahan butiran ralat dan pengoptimuman Next.js.
OMNIROUTE_USE_TURBOPACK 1 (Turbopack — lalai kod) package.json / Next.js 16 Turbopack ialah pembundel lalai untuk npm run dev dan npm run build (binaan 2-3× lebih pantas, berdasarkan penanda aras). Tetapkan kepada 0 untuk kembali menggunakan webpack pada Windows, apabila menghadapi ketidakserasian pengikatan natif / keserasian pembundel, atau pada mesin dengan RAM terhad — binaan pengeluaran Turbopack pada siri versi Next.js ini (16.2.x) diketahui mencapai penggunaan memori puncak yang jauh lebih tinggi berbanding webpack untuk graf modul yang besar (pembaikan penyingkiran memori Turbopack dalam Next 16.3 masih belum stabil); penggunaan memori puncak bagi pilihan sandaran webpack jauh lebih rendah. Lihat #6409.
OMNIROUTE_SKIP_DB_HEALTHCHECK (tidak ditetapkan) src/lib/db/core.ts / src/lib/db/healthCheck.ts Tetapkan kepada 1 untuk melangkau pemeriksaan kesihatan integriti SQLite semasa permulaan. Berguna untuk permulaan yang lebih pantas pada pangkalan data besar.
NOTIFY_SOCKET (tidak ditetapkan) systemd (protokol sd_notify) Ditetapkan oleh systemd apabila proses berjalan di bawah unit perkhidmatan dengan penyepaduan sd_notify; OmniRoute membacanya (lihat OMNIROUTE_DISABLE_SD_NOTIFY) untuk menghantar pemberitahuan READY/WATCHDOG. Jangan sekali-kali ditetapkan oleh pengguna.
OMNIROUTE_DISABLE_SD_NOTIFY (tidak ditetapkan) scripts/dev/systemd-notify.mjs Tetapkan kepada 1 untuk menyahdayakan sd_notify systemd (Type=notify / WatchdogSec=) walaupun berjalan di bawah unit systemd. Pemberitahu tidak melakukan apa-apa di luar systemd dalam apa jua keadaan.
CREDENTIAL_HEALTH_CHECK_INTERVAL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/scheduler.ts Selang (ms) bagi penjadual pemeriksaan kesihatan bukti kelayakan latar belakang. Minimum: 10000 (10s).
CREDENTIAL_HEALTH_CACHE_TTL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/cache.ts TTL (ms) bagi status kesihatan bukti kelayakan yang dicache.
OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK false src/lib/credentialHealth/scheduler.ts Tetapkan kepada 1 atau true untuk menyahdayakan pengujian berkala sambungan penyedia di latar belakang. Penyedia carian (SEARCH_VALIDATOR_CONFIGS dalam src/lib/providers/validation/searchProviders.ts, contohnya tavily-search) sentiasa dikecualikan daripada imbasan — "pengesahan" mereka ialah pertanyaan huluan sebenar yang dikenakan bayaran, maka pemeriksaan kesihatan tidak pernah dilakukan mengikut pemasa (#9970).
HOST 0.0.0.0 scripts/dev/run-next.mjs Alamat pengikatan bagi pelayan dev/start Next.js. Mengatasi nilai lalai 0.0.0.0 apabila ditetapkan.
HOSTNAME 127.0.0.1 scripts/dev/run-next-playwright.mjs Alamat pengikatan yang digunakan oleh pelaksana Playwright semasa melancarkan Next.js. Lalai kepada 127.0.0.1 untuk ujian hermetik. Jangan gunakan untuk omniroute serve — sebaliknya, gunakan OMNIROUTE_SERVER_HOST (shell POSIX menetapkan HOSTNAME secara automatik kepada nama mesin; .env tidak boleh mengatasinya).
OMNIROUTE_SERVER_HOST 0.0.0.0 bin/cli/commands/serve.mjs Alamat pengikatan untuk omniroute serve. Mengelakkan pertembungan dengan pemboleh ubah shell POSIX HOSTNAME (sentiasa ditetapkan kepada nama mesin oleh bash/zsh). Kembali kepada 0.0.0.0 apabila tidak ditetapkan. (#6194)

Mod Port

┌─────────────────────────── Port Tunggal (lalai) ───────────────────────────┐
│  PORT=20128                                                                 │
│  → Papan Pemuka: http://localhost:20128                                     │
│  → API:          http://localhost:20128/v1/chat/completions                 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Port Berasingan ─────────────────────────────────┐
│  DASHBOARD_PORT=20128                                                       │
│  API_PORT=20129                                                             │
│  API_HOST=0.0.0.0                                                           │
│  → Papan Pemuka: http://localhost:20128                                     │
│  → API:          http://0.0.0.0:20129/v1/chat/completions                  │
│  Kegunaan: Dedahkan API kepada LAN sambil mengehadkan Papan Pemuka kepada   │
│  localhost.                                                                 │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Docker Pengeluaran ──────────────────────────────┐
│  PROD_DASHBOARD_PORT=443   PROD_API_PORT=8443                              │
│  → Memetakan port bekas kepada port hos dalam docker-compose.prod.yml.      │
└─────────────────────────────────────────────────────────────────────────────┘

4. Keselamatan & Pengesahan

Pemboleh Ubah Lalai Fail Sumber Penerangan
MACHINE_ID_SALT endpoint-proxy-salt src/lib/auth Salt yang digabungkan dengan pengecam perkakasan untuk menghasilkan cap jari mesin. Ubah bagi setiap pelaksanaan untuk pengasingan.
OMNIROUTE_CLI_SALT (tidak ditetapkan = salt rawak bagi setiap pemasangan yang dikekalkan di <DATA_DIR>/cli-token-salt.json) src/lib/machineToken.ts Salt HMAC untuk menerbitkan token pengesahan CLI setempat. Menetapkan nilai ini akan menggilirkan semua token CLI pada mesin dan sentiasa diutamakan berbanding salt yang dikekalkan. Lihat docs/security/CLI_TOKEN.md.
AUTH_COOKIE_SECURE false src/lib/auth Menetapkan bendera Secure pada kuki sesi. Mestilah true apabila dijalankan di belakang HTTPS.
REQUIRE_API_KEY false Perisian tengah API Apabila true, semua permintaan proksi /v1/* mesti menyertakan kunci API yang sah.
ALLOW_API_KEY_REVEAL false src/shared/constants/featureFlagDefinitions.ts Membenarkan nilai penuh kunci API didedahkan dalam UI Papan Pemuka. Boleh dikonfigurasikan daripada Bendera Ciri Papan Pemuka; risiko keselamatan pada tika yang dikongsi.
NO_LOG_API_KEY_IDS (kosong) src/lib/compliance/index.ts ID kunci API dipisahkan koma yang memintas pengelogan permintaan (pematuhan GDPR).
DEFAULT_RATE_LIMIT_PER_DAY (tidak ditetapkan = tanpa had) src/shared/utils/apiKeyPolicy.ts Belanjawan permintaan harian sandaran yang digunakan pada kunci API yang lajur rate_limitsnya bernilai null. Tidak ditetapkan atau kosong: tiada had tersirat (#2289, #11017). 0 adalah sama (tanpa had). Integer positif N mendayakan N/hari, 5N/minggu, 20N/bulan. Nilai bukan kosong yang tidak sah akan kembali kepada tetingkap legasi 1000/hari, 5000/minggu, 20000/bulan.
MAX_BODY_SIZE_BYTES 10485760 (10 MB) src/shared/middleware/bodySizeGuard.ts Saiz maksimum badan permintaan yang dibenarkan. Menolak muatan yang melebihi had ini.
OMNIROUTE_CHAT_LARGE_BODY_BYTES 262144 (256 KB) src/shared/middleware/chatBodyAdmission.ts Badan permintaan sebenar yang sama dengan atau melebihi ambang ini mengambil pajakan kemasukan kelas berat setempat proses yang atomik sebelum penghuraian JSON (laluan BYTE, termasuk POST /v1/responses). Pelepasan ruang lebihan sihat #10437 yang sama seperti bagi struktur berat; masih dihadkan oleh OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110 supaya #7849 tidak berulang.
OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES 52428800 (50 MB) src/shared/middleware/chatBodyAdmission.ts Had mutlak laluan sembang yang dikuatkuasakan berdasarkan bait yang dibaca semasa pengingesan terhad, termasuk permintaan dengan Content-Length yang tiada, tidak sah atau tidak jujur; lebihan menerima 413.
OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (tidak ditetapkan — tiada had bilangan permintaan) src/shared/middleware/chatBodyAdmission.ts #503-fanout: had BILANGAN permintaan legasi ini kini berkuat kuasa hanya apabila ditetapkan secara eksplisit. Jika tidak ditetapkan (lalai), penerimaan sembang berwajaran berat sebaliknya dikawal oleh OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES — belanjawan BAIT yang diterbitkan secara automatik dan ditentukan saiznya daripada had memori sebenar proses dalam satu proses (satu heap V8). Dua /v1/responses bertindih dengan ~750k token akan menggugurkan heap ~12 Gi (#7849) — amaran belanjawan memori, bukannya had maksimum keras produk sebanyak 2. Proses yang sihat (heap di bawah nisbah pelepasan) BOLEH menerima lebih banyak /v1/responses panjang yang serentak melalui OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM. Puluhan klien SSE panjang (4050) bergantung pada heap + OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110, bukannya “maksimum 2”. Menaikkan nilai ini secara membuta tuli untuk “menggunakan hos” akan memperkenalkan semula #7849. Gandakan heap dengan N DATA_DIR bebas (#11024); jangan sekali-kali gunakan replicas>1 pada satu fail SQLite.
OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES (diterbitkan secara automatik) src/shared/middleware/admissionBudget.ts #503-fanout: penggantian untuk belanjawan bait pengingesan yang diterbitkan secara automatik (25% daripada had memori V8/cgroup yang lebih ketat, dibahagikan dengan penguatan sementara 8x). Nilai terbitan dan eksplisit dihadkan kepada 8 MiB2 GiB. Isi yang lebih besar daripada belanjawan berkesan akan gagal serta-merta dengan 413 body_exceeds_budget; persaingan antara isi yang secara individu boleh dilayan kekal boleh dicuba semula dengan 503. 4050 klien SSE panjang yang serentak bergantung pada belanjawan ini + heap, bukannya “maksimum 2” yang keras. Semak chatAdmission.maxInflightBytes / budgetSource / pressureSeverity di /api/monitoring/health sebelum melakukan penalaan.
OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO 0.75 src/shared/middleware/chatBodyAdmission.ts Nisbah pelepasan tekanan heap (heapUsed / heap_size_limit) untuk penerimaan berwajaran berat BYTE dan STRUCTURE (#10183, #10268, #10437). Permintaan berwajaran berat serentak yang melebihi OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT hanya dilepaskan dengan 503 yang boleh dicuba semula apabila heap JUGA berada pada atau melebihi nisbah ini; pada heap yang sihat, permintaan itu diterima melalui ruang tambahan sihat.
OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (lalai 1) src/shared/middleware/chatBodyAdmission.ts Kapasiti tambahan terhad untuk laluan pantas heap sihat (#10437) pada kedua-dua STRUCTURE dan BYTE (admitChatRequest, termasuk isi ≥ OMNIROUTE_CHAT_LARGE_BODY_BYTES). Tanpa had ini, setiap permintaan sibuk tetapi dengan heap sihat akan memintas kawalan penerimaan tanpa had maksimum. Setelah bilangan pajakan serentak sebanyak ini aktif melalui laluan heap sihat, permintaan sibuk seterusnya akan beralih kepada laluan tunggu terhad/pelepasan yang SAMA seperti yang digunakan semasa tekanan heap sebenar. 0 menyahdayakan pintasan sepenuhnya.
OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT 200 src/shared/middleware/chatBodyAdmission.ts Bilangan mesej yang mengklasifikasikan permintaan sembang sebagai berwajaran berat walaupun isi permintaannya di bawah ambang bait.
OMNIROUTE_CHAT_HEAVY_TOOL_COUNT 64 src/shared/middleware/chatBodyAdmission.ts Bilangan alat yang mengklasifikasikan permintaan sembang sebagai berwajaran berat walaupun isi permintaannya di bawah ambang bait.
OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS 32000 src/shared/middleware/chatBodyAdmission.ts Anggaran token konservatif berdasarkan saiz rentetan yang mengklasifikasikan permintaan sebagai berwajaran berat; ini ialah proksi kos penerimaan, bukannya pentokenan pengebilan penyedia.
OMNIROUTE_CHAT_HARD_MAX_MESSAGES 0 (dinyahdayakan) src/shared/middleware/chatBodyAdmission.ts Had sejarah sembang pilihan yang perlu didayakan secara eksplisit. Dinyahdayakan secara lalai: bilangan mesej ialah dasar pengerahan, bukannya sifat sejagat sesuatu permintaan, dan pengehadan di sini menolak perbualan dengan 413 muktamad sebelum saluran pemampatan boleh menjadikannya boleh dilayan. Pertumbuhan heap dihadkan oleh OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT dan pelepasan tekanan heap. Tetapkan nilai positif pada pengerahan dengan kekangan memori yang memerlukan had keras; lebihan kemudiannya menerima 413 berstruktur yang memerlukan pemadatan.
OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES 67108864 (64 MB) open-sse/handlers/chatCore/nonStreamingResponseBody.ts Had keras bagi respons huluan bukan penstriman yang ditimbal sepenuhnya ke dalam memori. Selepas had ini, pembaca huluan dibatalkan dan permintaan gagal dengan segera, dan bukannya terus mengembangkan rentetan tanpa had sehingga heap kehabisan ruang.
OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES 768 open-sse/handlers/chatCore/responseHeaders.ts Bait wayar maksimum yang dimajukan daripada pengepala respons huluan. Apabila belanjawan dilebihi, pengepala berkeutamaan lebih rendah (cth., x-codex-*, x-oai-request-id) digugurkan untuk kekal dalam had pengepala proksi songsang yang lazim. Tetapkan nilai yang lebih tinggi untuk memajukan lebih banyak metadata huluan dengan kos saiz pengepala respons yang lebih besar.
CORS_ORIGIN (tidak ditetapkan) src/server/cors/origins.ts Senarai dibenarkan CORS asal tunggal legasi. Utamakan CORS_ALLOWED_ORIGINS untuk pelaksanaan baharu. CORS hanya untuk klien API pelayar rentas asal; operasi tulis papan pemuka yang disahkan menggunakan permintaan asal sama serta perlindungan CSRF terikat sesi.
CORS_ALLOWED_ORIGINS (tidak ditetapkan) src/server/cors/origins.ts Senarai dibenarkan CORS yang dipisahkan dengan koma. Tiada kad bebas dihantar melainkan CORS_ALLOW_ALL=true dikonfigurasikan secara eksplisit.
CORS_ALLOW_ALL false src/server/cors/origins.ts Pilihan kecemasan untuk pembangunan sahaja bagi menggemakan sebarang Origin pelayar. Jangan dayakan pada pelaksanaan dikongsi atau pengeluaran.
OUTBOUND_SSRF_GUARD_ENABLED true src/shared/network/outboundUrlGuard.ts Sekat panggilan penyedia yang menyasarkan julat IP peribadi/gelung balik/pautan setempat. Nyahdayakan hanya dalam persekitaran ujian terpencil.
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS false src/shared/network/outboundUrlGuard.ts Benarkan URL penyedia yang menghala ke rangkaian peribadi/setempat (localhost, 192.168.x.x, 10.x.x.x, dan sebagainya). DIPERLUKAN untuk penyedia yang dihoskan sendiri (LM Studio, Ollama, vLLM, Llamafile, Triton, SearXNG). Apabila false, papan pemuka menolak pengesahan URL setempat.
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS true src/shared/network/outboundUrlGuard.ts Benarkan penambahan/pengesahan penyedia pada alamat setempat/peribadi (127.0.0.1, localhost, LAN, julat peribadi) — terhad kepada laluan pengesahan penyedia. Lalai true (mengutamakan setempat); tetapkan false untuk menguatkuasakan sekatan ketat kepada alamat awam sahaja. Titik akhir metadata awan (169.254.169.254, metadata.google.internal) kekal disekat tanpa mengira tetapan. (#5066)
AUDIO_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/audioProviderNodes.ts Benarkan laluan /v1/audio/* (transkripsi, pertuturan, terjemahan) menggunakan nod penyedia serasi OpenAI yang dihoskan di luar localhost. Dimatikan secara lalai — penghalaan audio ke hos jauh mengubah identiti trafik keluar dan mestilah keputusan eksplisit pengendali. Nod gelung balik/peribadi (localhost, 127.0.0.1, 172.16-31.x) sentiasa dibenarkan dan tidak terjejas. (#3963)
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts Apabila OIDC didayakan, nyahdayakan log masuk kata laluan supaya pengguna hanya boleh mengesahkan identiti melalui Daftar Masuk Tunggal OIDC. Alias ringkas OIDC_DISABLE_PASSWORD_LOGIN turut diterima; Bendera Ciri Papan Pemuka dengan kekunci yang sama diberi keutamaan. (#10889)
OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts Alias ringkas bagi OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN (#10889).

Senarai Semak Pengukuhan

# Keselamatan minimum untuk pengeluaran:
AUTH_COOKIE_SECURE=true        # Memerlukan HTTPS
REQUIRE_API_KEY=true           # Sahkan semua panggilan proksi
ALLOW_API_KEY_REVEAL=false     # Jangan sekali-kali dedahkan kekunci dalam UI
CORS_ALLOWED_ORIGINS=https://your.domain.com
MAX_BODY_SIZE_BYTES=5242880    # Had 5 MB

5. Sanitasi Input & Perlindungan PII

OmniRoute menyediakan pertahanan dua lapisan: pengimbasan suntikan pada bahagian permintaan dan penyingkiran PII pada bahagian respons.

⚠️ Batasan: Langkah perlindungan ini merupakan pengesanan heuristik usaha terbaik, bukannya tembok api suntikan gesaan atau sistem DLP PII yang lengkap. Ia boleh menghasilkan positif palsu (gesaan persona/RPG yang tidak berbahaya ditandai) dan negatif palsu (leetspeak, penjarakan, corak bukan bahasa Inggeris). Langkah ini sahaja tidak mencukupi untuk pematuhan. Laraskan mod dan uji dengan trafik anda sebelum bergantung padanya.

Bahagian Permintaan: Perlindungan Suntikan Gesaan

Pemboleh ubah Lalai Fail Sumber Penerangan
INPUT_SANITIZER_ENABLED true src/middleware/promptInjectionGuard.ts Dayakan pengimbasan mesej masuk untuk mengesan corak suntikan gesaan.
INPUT_SANITIZER_MODE warn src/middleware/promptInjectionGuard.ts Dasar suntikan: warn = log sahaja, block = tolak permintaan dengan 400. redact legasi tidak menyingkirkan teks suntikan; gunakan PII_REDACTION_ENABLED untuk penulisan semula PII permintaan.
INJECTION_GUARD_MODE (tidak ditetapkan) src/middleware/promptInjectionGuard.ts Alias legasi untuk INPUT_SANITIZER_MODE — tingkah laku yang sama.
INPUT_SANITIZER_BLOCK_THRESHOLD high src/shared/utils/injectionSeverity.ts Tahap keterukan minimum yang ditolak oleh MODE=block: high (lalai), medium, atau low. Corak sederhana hanya diperhatikan melainkan ambang diturunkan.
INJECTION_GUARD_BLOCK_THRESHOLD (tidak ditetapkan) src/shared/utils/injectionSeverity.ts Alias legasi untuk INPUT_SANITIZER_BLOCK_THRESHOLD — tingkah laku yang sama.
PII_REDACTION_ENABLED false src/lib/guardrails/piiMasker.ts Apabila true, samarkan PII dalam permintaan masuk (tidak bergantung pada mod suntikan).
CREDENTIAL_REDACTION_ENABLED false src/lib/guardrails/credentialMasker.ts Samarkan corak kunci API / token rahsia yang diketahui umum daripada muatan permintaan/respons. Penyertaan pilihan; mencerminkan PII_REDACTION_ENABLED.

Bahagian Respons: Sanitasi PII

Pemboleh ubah Lalai Fail Sumber Penerangan
PII_RESPONSE_SANITIZATION false src/lib/piiSanitizer.ts Imbas respons LLM untuk mengesan PII yang bocor sebelum dikembalikan kepada klien.
PII_RESPONSE_SANITIZATION_MODE redact src/lib/piiSanitizer.ts redact = samarkan PII, warn = log sahaja, block = gugurkan keseluruhan respons.

Sanitasi Konteks Laluan Bertoken VS Code

Pemboleh ubah Lalai Fail Sumber Penerangan
OMNIROUTE_VSCODE_SANITIZE_CONTEXT 1 src/app/api/v1/vscode/contextSanitizer.ts Menyingkirkan konteks penyunting aktif tersirat (editorContext, activeEditor, currentFile, selection, openTabs…) daripada permintaan /v1/vscode/[token]/* dan menyamarkan kandungan fail sensitif yang dilampirkan secara eksplisit. Selamat secara lalai; tetapkan kepada 0 untuk menyahdayakannya.

Senario

Senario Konfigurasi
Pematuhan perusahaan INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=block, PII_REDACTION_ENABLED=true, PII_RESPONSE_SANITIZATION=true (suntikan disekat + penyamaran PII permintaan/respons; mod tidak saling bergantung)
Pemantauan sahaja INPUT_SANITIZER_ENABLED=true, INPUT_SANITIZER_MODE=warn — merekodkan log tetapi tidak pernah menyekat
Penggunaan peribadi Biarkan semuanya dinyahdayakan — sifar overhed

6. Dasar Alat & Penghalaan

Pemboleh Ubah Lalai Fail Sumber Penerangan
TOOL_POLICY_MODE disabled src/lib/toolPolicy.ts Mengawal akses alat/pemanggilan fungsi LLM. allowlist = hanya alat yang disenaraikan, denylist = semua kecuali yang disenaraikan, disabled = tiada sekatan.
OMNIROUTE_PAYLOAD_RULES_PATH ./config/payloadRules.json open-sse/services/payloadRules.ts Laluan ke fail JSON peraturan manipulasi muatan (pelarasan huluan mengikut model/protokol).
OMNIROUTE_PAYLOAD_RULES_RELOAD_MS 5000 open-sse/services/payloadRules.ts Selang muat semula (ms) bagi pemuatan semula panas fail peraturan muatan. Minimum 1000.
OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS false open-sse/services/model.ts Pilihan ikut serta: halakan ID model claude-* tanpa awalan daripada klien Claude Code melalui akaun OAuth Claude Code dan bukannya mewajibkan awalan penyedia. Awalan penyedia yang dinyatakan secara eksplisit tetap diutamakan. Turut boleh dikonfigurasikan melalui togol papan pemuka pada halaman penyedia Claude.
COMBO_CONCURRENCY_PER_MODEL 3 open-sse/services/comboConfig.ts Had keserentakan bagi setiap model untuk kombo round-robin (#9100). Semafor kombo round-robin sebelum ini dihadkan secara tetap kepada 3 permintaan serentak bagi setiap model tanpa pilihan untuk mengatasinya, menyebabkan trafik dengan keserentakan lebih tinggi disirikan di belakang had tersebut. Disahkan kepada >= 1, dihadkan kepada <= 32.
DISABLE_CONTEXT_WINDOW_CHECKS false open-sse/handlers/chatCore.ts Pilihan ikut serta berbahaya yang melangkau pemeriksaan tempatan tetingkap konteks/token input maksimum OmniRoute untuk permintaan terus kepada satu model. Penyedia huluan masih menguatkuasakan had sebenar mereka; pemampatan gesaan dan had token output model itu sendiri kekal aktif. Keutamaan berkesan ialah penggantian DB Feature Flags > pemboleh ubah persekitaran > lalai; mula semula tidak diperlukan.
OMNIROUTE_DISABLE_CONVERSATION_TRACKING (tidak ditetapkan) open-sse/services/conversationTracker.ts Tetapkan kepada 1 untuk menghentikan pengumpulan sejarah perbualan. resolveConversationId() mengembalikan hasil yang tidak dijejaki sebelum ia membaca SQLite atau menghuraikan sejarah mesej, dan ID sesi yang dibekalkan oleh klien turut diliputi. Pengendalian sesi penghalaan tidak berubah dan rekod sedia ada tidak dipadamkan. Untuk penggunaan yang tidak menggunakan paparan perbualan papan pemuka dan mahu menghentikan jadual giliran daripada terus bertambah.

7. URL & Penyegerakan Awan

Pemboleh Ubah Lalai Fail Sumber Penerangan
BASE_URL http://localhost:20128 src/lib/cloudSync.ts URL sebelah pelayan untuk tugas penyegerakan dalaman memanggil /api/sync/cloud. Kekalkan ini sebagai URL gelung balik/bekas walaupun aplikasi diproksikan secara awam.
CLOUD_URL (kosong) src/lib/cloudSync.ts URL titik akhir geganti awan (ciri premium).
CLOUD_SYNC_TIMEOUT_MS 12000 src/lib/cloudSync.ts Had masa HTTP untuk permintaan penyegerakan awan.
OMNIROUTE_BUILD_PROFILE full Konfigurasi binaan Webpack Profil masa binaan (tetapkan kepada minimal untuk mengecualikan modul istimewa secara fizikal daripada berkas).
OMNIROUTE_STANDALONE_DIR output kendiri .build/ scripts/build/colocate-standalone.mjs Penggantian masa binaan untuk direktori output kendiri yang digunakan oleh langkah penempatan bersama selepas binaan. Bukan tetapan masa jalan.
OMNIROUTE_CLOUD_SYNC_SECRET (kosong) src/lib/cloudSync.ts Rahsia dikongsi yang digunakan untuk mengesahkan tandatangan HMAC-SHA256 bagi respons Penyegerakan Awan.
OMNIROUTE_CLOUD_SYNC_SECRETS false src/lib/cloudSync.ts Tetapkan kepada true untuk membenarkan titik akhir Penyegerakan Awan menulis ganti kelayakan setempat. Lalai ialah false.
OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE false src/lib/cloudSync.ts Tetapkan kepada true untuk menolak respons Penyegerakan Awan tanpa tandatangan apabila tiada rahsia setempat dikonfigurasikan (#13679). Tandatangan yang tersedia sentiasa disahkan — dan sentiasa ditolak apabila OMNIROUTE_CLOUD_SYNC_SECRET tidak ditetapkan — tanpa mengira bendera ini. Lalai berubah kepada dikuatkuasakan dalam v3.9.
OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP false src/app/api/providers/zed/import/route.ts Tetapkan kepada true untuk kembali kepada tingkah laku satu langkah "import segala-galanya" v3.8.5 tanpa pengesahan pengguna.
NEXT_PUBLIC_BASE_URL http://localhost:20128 OAuth, Papan Pemuka, penyegerakan URL menghadap awam untuk redirect_uri OAuth, pautan Papan Pemuka dan URL awam yang dijana. Tetapkan ini kepada URL awam yang stabil apabila panggil balik OAuth atau pautan pelayar yang dijana perlu menggunakan hos proksi songsang berkanun.
NEXT_PUBLIC_CLOUD_URL (kosong) Sebelah klien Cerminan sebelah klien bagi CLOUD_URL.
NEXT_PUBLIC_APP_URL (tidak ditetapkan) src/shared/services/cloudSyncScheduler.ts Sandaran legasi untuk NEXT_PUBLIC_BASE_URL.
OMNIROUTE_PUBLIC_BASE_URL (tidak ditetapkan) Penyelesai asal awam, URL imej Asal OmniRoute yang menghadap pelayar dengan keutamaan tertinggi, digunakan untuk penjanaan URL awam dan pengesahan asal pelayar bukan papan pemuka. Tetapkan ini apabila OpenWebUI atau geganti lain mencapai OmniRoute melalui URL dalaman tetapi pelayar pengguna perlu mendapatkan media yang dijana daripada LAN, terowong atau asal awam. Jangan sertakan /v1.
OMNIROUTE_PROVIDER_MANIFEST_URL (tidak ditetapkan) open-sse/config/providerPluginManifestUrl.ts URL mutlak manifes pemalam penyedia yang diiklankan kepada klien sidecar. Apabila tidak ditetapkan, OmniRoute memperoleh /api/v1/provider-plugin-manifest daripada asal permintaan atau HOST/PORT.
OMNIROUTE_PUBLIC_PROTOCOL http open-sse/config/providerPluginManifestUrl.ts Protokol yang digunakan apabila memperoleh URL manifes pemalam penyedia daripada HOST/PORT tanpa asal permintaan. Tetapkan kepada https di belakang proksi awam yang menamatkan TLS apabila OMNIROUTE_PROVIDER_MANIFEST_URL tidak ditetapkan secara eksplisit.
OMNIROUTE_TRUST_PROXY (tidak ditetapkan) src/server/origin/publicOrigin.ts Mod kepercayaan pilihan untuk pengepala asal awam yang dimajukan. Tidak ditetapkan = jangan percayai Forwarded / X-Forwarded-* untuk keputusan keselamatan. true / loopback mempercayai hos/protokol yang dimajukan hanya daripada proksi gelung balik bercap token. private / lan turut mempercayai rakan proksi LAN peribadi. Utamakan NEXT_PUBLIC_BASE_URL yang eksplisit dalam pengeluaran.
KIE_CALLBACK_URL (tidak ditetapkan) open-sse/utils/kieTask.ts URL panggil balik awam untuk tugas kie.ai tak segerak. Penggantian dengan keutamaan tertinggi sebelum OMNIROUTE_KIE_CALLBACK_URL dan OMNIROUTE_PUBLIC_URL.
OMNIROUTE_KIE_CALLBACK_URL (tidak ditetapkan) open-sse/utils/kieTask.ts Ejaan alternatif bagi KIE_CALLBACK_URL. Digunakan sebagai sandaran apabila pemboleh ubah utama tidak ditetapkan.
OMNIROUTE_PUBLIC_URL (tidak ditetapkan) open-sse/utils/kieTask.ts Asal awam yang digunakan untuk membentuk URL panggil balik tak segerak. Sandaran berkeutamaan terendah untuk panggil balik kie.ai; turut digunakan sebagai URL awam generik untuk geganti lain.
OMNIROUTE_CROF_USAGE_URL https://crof.ai/usage_api/ open-sse/services/usage.ts Titik akhir carian kuota CrofAI yang digunakan oleh halaman Penggunaan. Gantikan untuk geganti / lekapan ujian.
OMNIROUTE_OPENCODE_QUOTA_URL https://opencode.ai/zen/go/v1/usage open-sse/services/opencodeQuotaFetcher.ts Titik akhir penggunaan rasmi OpenCode Go yang disahkan dengan kunci API dan digunakan oleh halaman Penggunaan. Gantikan untuk geganti / lekapan ujian.
OPENCODE_SYNTHESIZE_CLI_HEADERS true open-sse/executors/opencode.ts Sintesis pengepala identiti OpenCode CLI (User-Agent, x-opencode-client/project, UUID permintaan/sesi) pada permintaan huluan opencode-go/zen yang tidak dihantar oleh klien supaya Cloudflare pada trafik keluar VPS menerimanya (#6210/#5997). Didayakan secara lalai sejak #10571; nyahaktifkan dengan false/0/no/off.
OPENCODE_USER_AGENT opencode open-sse/executors/opencode.ts User-Agent lalai yang digunakan apabila OPENCODE_SYNTHESIZE_CLI_HEADERS diaktifkan dan tiada penggantian <PROVIDER>_USER_AGENT bagi setiap penyedia ditetapkan. Hanya digunakan pada pelaksana opencode.
OPENCODE_CLIENT desktop open-sse/executors/opencode.ts Nilai untuk pengepala x-opencode-client yang disintesis apabila OPENCODE_SYNTHESIZE_CLI_HEADERS diaktifkan.
OPENCODE_PROJECT global open-sse/executors/opencode.ts Nilai untuk pengepala x-opencode-project yang disintesis apabila OPENCODE_SYNTHESIZE_CLI_HEADERS diaktifkan.
OMNIROUTE_OLLAMA_CLOUD_USAGE_URL https://ollama.com/settings open-sse/services/usage.ts URL tetapan Ollama Cloud yang digunakan untuk mengikis data kuota. Tindih untuk geganti / lekapan ujian.
OLLAMA_USAGE_COOKIE (tidak ditetapkan) open-sse/services/usage.ts Kuki __Secure-session Ollama Cloud yang digunakan untuk mengikis data kuota daripada halaman tetapan. Sensitif; utamakan medan Papan Pemuka bagi setiap sambungan apabila berbilang akaun dikonfigurasikan.
OLLAMA_CLOUD_USAGE_COOKIE (tidak ditetapkan) open-sse/services/usage.ts Pemboleh ubah persekitaran alternatif bagi kuki __Secure-session Ollama Cloud. Sensitif; utamakan medan Papan Pemuka bagi setiap sambungan apabila berbilang akaun dikonfigurasikan.
OMNIROUTE_OLLAMA_USAGE_COOKIE (tidak ditetapkan) open-sse/services/usage.ts Pemboleh ubah persekitaran alternatif bagi kuki __Secure-session Ollama Cloud yang digunakan sebelum alias yang lebih pendek. Sensitif; utamakan medan Papan Pemuka bagi setiap sambungan apabila berbilang akaun dikonfigurasikan.
OMNIROUTE_CODEWHISPERER_BASE_URL https://codewhisperer.us-east-1.amazonaws.com open-sse/services/usage.ts Titik akhir had penggunaan CodeWhisperer (AWS Kiro). Tindih untuk geganti / lekapan ujian.

Important

Apabila melaksanakan penggunaan di belakang proksi songsang (nginx, Caddy), tetapkan NEXT_PUBLIC_BASE_URL kepada URL awam stabil anda (cth., https://omniroute.example.com) apabila panggil balik OAuth atau pautan awam yang dijana perlu menggunakan nama hos tersebut. Tanpa tetapan ini, panggil balik OAuth boleh gagal kerana redirect_uri tidak sepadan dan pautan awam yang dijana boleh menghala ke asalan bekas dalaman.

Kekalkan BASE_URL sebagai URL gelung balik/bekas dalaman untuk tugas pelayan-ke-pelayan. Jangan gunakan Origin pelayar atau nama hos awam untuk pengambilan kendiri dalaman yang membawa kelayakan.

Penulisan papan pemuka yang disahkan tidak memerlukan URL asas awam statik: papan pemuka menghantar permintaan tidak selamat daripada asalan yang sama dengan token CSRF yang terikat pada sesi. OmniRoute masih memusatkan pengesahan asalan awam untuk penyepaduan pelayar bukan papan pemuka: pemboleh ubah persekitaran URL awam yang dinyatakan secara eksplisit dipercayai terlebih dahulu; pengepala mentah Forwarded / X-Forwarded-* diabaikan melainkan OMNIROUTE_TRUST_PROXY didayakan dan rakan proksi terdekat ditandakan dengan token sebagai dipercayai. Jangan gunakan tetapan CORS untuk membetulkan permintaan papan pemuka daripada asalan yang sama; CORS hanya untuk klien pelayar rentas asalan.


8. Proksi Keluar

Halakan panggilan penyedia LLM huluan melalui proksi HTTP atau SOCKS5 untuk kawalan trafik keluar, penghalaan geo, atau penyamaran IP.

Pemboleh Ubah Lalai Fail Sumber Penerangan
ENABLE_SOCKS5_PROXY true open-sse/executors Dayakan ejen proksi SOCKS5 untuk panggilan huluan. Nyahaktifkan dengan false.
NEXT_PUBLIC_ENABLE_SOCKS5_PROXY true Sisi klien Kesedaran sisi klien tentang ketersediaan SOCKS5.
PROXY_SKIP_RECENTLY_FAILED false src/shared/utils/featureFlags.ts Bendera ciri yang perlu didayakan secara pilihan (lihat FEATURE_FLAGS.md; penggantian DB papan pemuka diutamakan). Kumpulan proksi dan penggiliran mengikut akaun berhenti menyediakan semula ahli yang baru sahaja gagal (prob TCP ditolak, atau 429 melaluinya) untuk tempoh yang berganda pada setiap kegagalan berulang, sehingga had maksimum. true (atau 1, yes) mendayakannya.
HTTP_PROXY (tidak ditetapkan) Standard Node.js Proksi HTTP untuk panggilan huluan.
HTTPS_PROXY (tidak ditetapkan) Standard Node.js Proksi HTTPS untuk panggilan huluan.
ALL_PROXY (tidak ditetapkan) Standard Node.js Proksi universal (menyokong socks5://).
OMNIROUTE_PROXY_ECHO_URL (tidak ditetapkan) src/lib/proxyEchoTarget.ts Menetapkan sasaran gema-IP yang digunakan oleh prob trafik keluar proksi kepada satu URL. Jika tidak ditetapkan, prob mencuba api64.ipify.org kemudian api4.ipify.org supaya terowong IPv4 sahaja tidak dilaporkan sebagai tidak berfungsi (#9694).
NO_PROXY (tidak ditetapkan) Standard Node.js Nama hos/IP dipisahkan koma untuk memintas proksi.
OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS 32 open-sse/utils/proxyDispatcher.ts Bilangan maksimum soket serentak bagi setiap penghantar proksi HTTP/SOCKS yang dicache. Strim SSE berjangka panjang seperti Codex /v1/responses memerlukan lebih daripada satu sambungan apabila beberapa permintaan berkongsi proksi peringkat akaun yang sama. Nilai melebihi 256 dihadkan.
SOCKS_HANDSHAKE_TIMEOUT_MS 10000 open-sse/utils/socksConnectorWithFamily.ts Tamat masa jabat tangan (sambungan) SOCKS5 dalam ms. Tingkatkannya apabila satu hos get laluan kediaman menerima keserentakan tinggi (cth. 100 permintaan serentak) — jabat tangan sebenar boleh melebihi 10s apabila kumpulan tepu walaupun proksi boleh dicapai, yang jika tidak akan dipaparkan secara palsu sebagai [Proxy Fast-Fail] Proxy unreachable. Dihadkan pada 120000.
PROXY_FAIL_OPEN false src/sse/handlers/chatHelpers.ts Apabila false (lalai), permintaan yang proksi ditetapkan kepadanya gagal diselesaikan akan ditolak (gagal-tertutup) dan bukannya kembali kepada sambungan langsung — ini menghalang kebocoran IP sebenar. Tetapkan true untuk memulihkan pilihan kembali DIRECT legasi.
ENABLE_TLS_FINGERPRINT false open-sse/executors Samarkan cap jari TLS menggunakan wreq-js (meniru Chrome 124). Mengatasi sekatan JA3/JA4.
TLS_FINGERPRINT_PROVIDERS (tidak ditetapkan) open-sse/utils/proxyFetch.ts Senarai dibenarkan penyedia yang dipisahkan koma untuk penghalaan TLS berproksi baharu (open-sse/utils/proxyFetch.ts). TLS langsung mengekalkan tingkah laku legasinya apabila tidak ditetapkan; hanya penyedia ini dihalakan melalui jambatan cap jari Chrome-124.
OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS false open-sse/services/claudeTurnstileSolver.ts Benarkan konteks pelayar Playwright Claude Turnstile mengabaikan ralat sijil HTTPS.

Senario

Senario Konfigurasi
SOCKS5 melalui terowong SSH ALL_PROXY=socks5://127.0.0.1:7890, ENABLE_SOCKS5_PROXY=true
Proksi HTTP korporat HTTP_PROXY=http://proxy.corp.com:3128, HTTPS_PROXY=http://proxy.corp.com:3128, NO_PROXY=localhost,internal.corp.com
Anti-cap jari ENABLE_TLS_FINGERPRINT=true — memerlukan wreq-js (disertakan)
Egres terkawal / tiada akses langsung Biarkan PROXY_FAIL_OPEN=false (lalai). Permintaan gagal sepenuhnya apabila proksi tidak tersedia dan bukannya terbocor melalui sambungan langsung.
Legasi / pembangunan — benarkan sandaran langsung PROXY_FAIL_OPEN=true. Memulihkan tingkah laku sebelum pengerasan: sambungan langsung digunakan apabila resolusi proksi gagal.

Nota (pintasan pengesahan NVIDIA — #3226): Titik akhir pengesahan kunci API NVIDIA tergantung apabila dihalakan melalui pengambilan global yang ditampal proksi/TLS (penghantar undici → 504). src/lib/providers/validation.ts::directHttpsRequest() sengaja memintas tampalan proksi untuk satu panggilan pengesahan tersebut menggunakan safeOutboundFetch({ bypassProxyPatch: true }). Ini ialah pengecualian berskop yang didokumenkan — ia tidak menjejaskan egres sembang/penggunaan. Pintasan ini dikunci kepada skop oleh tests/unit/proxy-bypass-scope-guard-3226.test.ts.


9. Integrasi Alat CLI

Mengawal cara OmniRoute menemui dan melancarkan sidecar CLI (Claude Code, Codex, dll.).

Pemboleh ubah Lalai Fail Sumber Penerangan
CLI_MODE auto src/shared/services/cliRuntime.ts auto = cari dalam PATH sistem; manual = gunakan laluan yang dinyatakan secara eksplisit sahaja.
CLI_EXTRA_PATHS (tidak ditetapkan) src/shared/services/cliRuntime.ts Entri PATH tambahan untuk penemuan perduaan CLI (dipisahkan dengan titik bertindih).
CLI_CONFIG_HOME (tidak ditetapkan) src/shared/services/cliRuntime.ts Gantikan direktori utama untuk membaca konfigurasi CLI (~/.claude, ~/.codex). Mestilah mutlak dan berada dalam direktori utama proses — atau, dalam bekas, laluan yang dipasang secara bind (begitulah /host-home berfungsi). Apa-apa yang lain akan kembali menggunakan direktori utama.
CLI_ALLOW_CONFIG_WRITES true src/shared/services/cliRuntime.ts Benarkan OmniRoute menulis fail konfigurasi CLI (penyegaran token, data sesi). Tetapkan kepada false untuk menyebabkan setiap penulisan konfigurasi CLI gagal dengan ralat "penulisan dinyahdayakan" yang jelas.
CLI_CLAUDE_BIN claude src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Claude.
CLI_CODEX_BIN codex src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Codex.
CLI_DROID_BIN droid src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Droid.
CLI_OPENCLAW_BIN openclaw src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI OpenClaw.
CLI_CURSOR_BIN agent, kemudian cursor src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan ejen Cursor. Tanpanya, pengesanan mencuba agent terlebih dahulu dan kembali menggunakan cursor jika gagal.
CLI_CLINE_BIN cline src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Cline.
CLI_5DIVE_BIN 5dive src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI 5dive.
CLI_5DIVE_STATE_DIR /var/lib/5dive src/shared/services/cliRuntime.ts Direktori keadaan sistem 5dive (profil pengesahan milik root); mencerminkan nilai lalai STATE_DIR 5dive sendiri.
CLI_CONTINUE_BIN cn src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Continue.
CLI_QODER_BIN qodercli src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Qoder.
CLI_QWEN_BIN qwen src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Qwen Code.
CLI_AIDER_BIN aider src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Aider.
CLI_GOOSE_BIN goose src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Goose.
CLI_GEMINI_BIN gemini src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Google Gemini — untuk pengesanan/pemeriksaan kesihatan pada bahagian pelayan sahaja; omniroute run gemini menyelesaikan perduaan gemini daripada PATH sistem.
CLI_KILO_BIN kilocode src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI Kilo Code.
CLI_OPENCODE_BIN opencode src/shared/services/cliRuntime.ts Laluan tersuai kepada perduaan CLI OpenCode.
CLI_HERMES_BIN hermes src/shared/services/cliRuntime.ts Laluan tersuai ke binari Hermes. Dikongsi oleh kedua-dua entri katalog (hermes dan hermes-agent).
CLI_FORGE_BIN forge src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI ForgeCode.
CLI_JCODE_BIN jcode src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI jcode.
CLI_DEEPSEEK_TUI_BIN deepseek-tui src/shared/services/cliRuntime.ts Laluan tersuai ke binari TUI DeepSeek.
CLI_CODEWHALE_BIN codewhale src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI CodeWhale.
CLI_SMELT_BIN smelt src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI Smelt.
CLI_PI_BIN pi src/shared/services/cliRuntime.ts Laluan tersuai ke binari Pi (pi-coding-agent).
CLI_CRUSH_BIN crush src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI Crush.
CLI_OMP_BIN omp src/shared/services/cliRuntime.ts Laluan tersuai ke binari ejen Oh My Pi (omp).
CLI_LETTA_BIN letta src/shared/services/cliRuntime.ts Laluan tersuai ke binari CLI Letta.
CLI_PRIME_AGENT_BIN prime-agent src/shared/services/cliRuntime.ts Laluan tersuai ke binari Prime Agent (Prime Intellect).
CLI_WINDSURF_BIN (tiada) src/shared/services/cliRuntime.ts Laluan tersuai ke binari Windsurf. Windsurf disertakan tanpa perintah lalai — pengesanan binari kekal dinyahdayakan sehingga ini ditetapkan.
CLI_DEVIN_BIN devin open-sse/executors/devin-cli.ts Laluan tersuai ke binari CLI Devin (v3.8.0). Digunakan oleh pelaksana Windsurf/Devin.
DEVIN_DESKTOP_VERSION 3.6.27 open-sse/executors/devin-desktop.ts ide_version Devin Desktop. Nilai penggantian mesti menggunakan format x.y.z; nilai tidak sah akan kembali kepada nilai lalai yang disahkan.
DEVIN_DESKTOP_EXTENSION_VERSION 1.48.2 open-sse/executors/devin-desktop.ts extension_version Codeium/pelayan bahasa yang digabungkan, berbeza daripada ide_version Desktop. Nilai penggantian mesti menggunakan x.y.z; nilai tidak sah akan menggunakan nilai lalai yang digabungkan.
CLI_DEVIN_AGENTIC_BIN devin open-sse/executors/devin-cli-agentic.ts Penggantian CLI Devin khusus untuk titian agentik. Pelaksana hanya menerima ACP stdio setempat sebagai huluan.
DEVIN_AGENTIC_HOME (diperlukan) open-sse/executors/devin-cli-agentic.ts Direktori utama terpencil mutlak untuk subproses Devin agentik; laluan titian yang diterima ialah /home/bridge dan laluan .sandbox setempat tugas (pada Windows, C:\...\.sandbox\...).
DEVIN_AGENTIC_ACP_TIMEOUT_MS 120000 open-sse/executors/devin-cli-agentic.ts Tempoh maksimum bagi satu pusingan ACP Devin sebelum titian menamatkan proses anak dan mengembalikan tamat masa secara eksplisit.
DEVIN_BRIDGE_MODEL devin-cli-agentic/swe-1-7 docker/devin-bridge/compose.yml Alias model Claude Code utama untuk titian terpencil. Abah-abah langsung menggantikan contoh tersebut dengan model yang dikembalikan oleh akaun Devin semasa.
DEVIN_BRIDGE_SONNET_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias titian terpencil yang digunakan apabila Claude Code meminta lalai Sonnetnya.
DEVIN_BRIDGE_OPUS_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias titian terpencil yang digunakan apabila Claude Code meminta lalai Opusnya.
DEVIN_BRIDGE_HAIKU_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias titian terpencil yang digunakan apabila Claude Code meminta lalai Haikunya.
DEVIN_BRIDGE_SUBAGENT_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Alias titian terpencil yang digunakan untuk subejen Claude Code.
DEVIN_SEAT_API_URL https://server.codeium.com open-sse/services/usage/devinCli.ts Penggantian pilihan untuk API pengurusan tempat Codeium yang digunakan oleh kuota Devin CLI (GetUserStatus).
AUGGIE_BIN auggie open-sse/executors/auggie.ts Penggantian laluan mutlak untuk perduaan CLI Augment (Auggie) yang digunakan oleh penyedia auggie setempat. Jika tidak tersedia, menggunakan CLI_AUGGIE_BIN, kemudian carian PATH.
CLI_AUGGIE_BIN auggie open-sse/executors/auggie.ts Penggantian alias untuk laluan perduaan CLI Augment (Auggie) (disemak selepas AUGGIE_BIN).
ZCODE_BIN zcode open-sse/executors/zcode.ts Perduaan yang digunakan untuk klien stdio penyedia zcode setempat. Jika tidak tersedia, menggunakan zcode dalam PATH.
ZCODE_ARGS open-sse/executors/zcode.ts Tatasusunan JSON (≤16 rentetan) bagi argumen tambahan yang dihantar kepada perduaan zcode apabila dilancarkan melalui cliTools.
ZCODE_CWD process.cwd() open-sse/executors/zcode.ts Direktori kerja untuk subproses pelayan aplikasi ZCode.
ZCODE_PROVIDER_ID builtin:zai-coding-plan open-sse/executors/zcode.ts Penggantian untuk ID penyedia yang dihantar kepada pelayan aplikasi.
ZCODE_SERVER_RUNTIME_ROOT ~/.zcode/server open-sse/executors/zcode.ts Akar masa jalan pelayan aplikasi ZCode (tempat node dan zcode-server.cjs yang disertakan berada).
ZCODE_SERVER_NODE <runtimeRoot>/node open-sse/executors/zcode.ts Boleh laku Node yang digunakan untuk mengehoskan pelayan aplikasi ZCode.
ZCODE_SERVER_ENTRY <runtimeRoot>/zcode-server.cjs open-sse/executors/zcode.ts Skrip entri pelayan aplikasi yang digunakan untuk mengehoskan pelayan ZCode.
ZCODE_STARTUP_TIMEOUT_MS 10000 open-sse/executors/zcode.ts Had masa permulaan (ms) sebelum pelancaran pelayan aplikasi ZCode dianggap gagal.
ZCODE_RPC_TIMEOUT_MS 30000 open-sse/executors/zcode.ts Had masa RPC bagi setiap permintaan (ms) untuk panggilan pelayan aplikasi ZCode.
ZCODE_TURN_TIMEOUT_MS 120000 open-sse/executors/zcode.ts Tempoh maksimum (ms) bagi satu giliran ZCode sebelum penyelia menamatkannya kerana melebihi had masa.
ZCODE_POLL_INTERVAL_MS 250 open-sse/executors/zcode.ts Selang tinjauan (ms) untuk penyelesaian giliran ZCode.
HERMES_HOME ~/.hermes src/lib/cli-helper/config-generator/hermesHome.ts Direktori utama Hermes Agent tempat OmniRoute membaca/menulis konfigurasi Hermes CLI. Sepadan dengan pemboleh ubah persekitaran yang ditetapkan oleh pemasang Hermes PowerShell pada Windows (%LOCALAPPDATA%\hermes).

Penyegerakan Automatik Profil CLI

Bendera ciri ini adalah pilihan dan dilumpuhkan secara lalai. Bendera ini juga boleh ditogol daripada papan pemuka CLI Code.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES false src/shared/constants/featureFlagDefinitions.ts Selepas penyegerakan model penyedia, menulis semula fail profil ~/.codex/*.config.toml secara automatik daripada katalog semasa. Memerlukan CLI_ALLOW_CONFIG_WRITES; tidak pernah mengubah konfigurasi Codex aktif/lalai, pengesahan, tetapan Codex-lb atau pilihan penyedia.
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES false src/shared/constants/featureFlagDefinitions.ts Selepas penyegerakan model penyedia, menulis semula fail profil Claude Code ~/.claude/profiles/<name>/settings.json secara automatik daripada katalog semasa. Memerlukan CLI_ALLOW_CONFIG_WRITES; tidak pernah mengubah konfigurasi Claude aktif/lalai, pengesahan atau pilihan penyedia.

Contoh Docker

# Lekapkan perduaan hos ke dalam bekas dan beritahu OmniRoute lokasi perduaan tersebut:
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 hanya berkuat kuasa apabila laluan tersebut benar-benar dipasang ikat dari hos — pasangkannya bersama pelekap seperti ~/.codex:/host-home/.codex:rw (lihat profil host dalam docker-compose.yml). Laluan yang bukan berada di dalam direktori utama pengguna kontena mahupun merupakan pelekap ikat akan diabaikan, kerana penulisan ke situ akan dibuang apabila kontena dicipta semula.

Imej berjalan sebagai USER node, jadi /root yang tidak dilekapkan bukan penggantian yang sah.

Pemboleh ubah Lalai Fail Sumber Penerangan
OMNIROUTE_CONTAINER (automatik) src/shared/utils/containerEnv.ts Paksa pengesanan kontena dihidupkan (1/true) atau dimatikan (0/false). Hanya diperlukan pada masa jalan yang tidak dikesan oleh pengesanan automatik.
OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE false src/shared/services/cliRuntime.ts Benarkan penulisan konfigurasi alat CLI ke laluan kontena yang tidak dilekapkan. Pilihan CLI yang setara ialah --allow-container-write.

Pembantu Binari CLI (omniroute)

Pemboleh ubah ini melaraskan tingkah laku binari CLI omniroute itu sendiri (bukan pengesanan sidecar di atas).

Pemboleh ubah Lalai Fail Sumber Penerangan
OMNIROUTE_LANG (sistem) bin/cli/i18n.mjs Paksa bahasa output CLI. Tempatan BCP-47 (cth. en, pt-BR). Mengatasi pemboleh ubah persekitaran tempatan sistem (LC_ALL, LC_MESSAGES).
OMNIROUTE_SHOW_LOG (tidak ditetapkan) bin/cli/runtime/processSupervisor.mjs Tetapkan kepada 1 untuk memajukan stdout/stderr pelayan ke terminal dalam mod diselia. Setara dengan bendera --log pada omniroute serve.
OMNIROUTE_CLI_TOKEN (tidak ditetapkan) bin/cli/api.mjs Token pengesahan mesin yang disuntik sebagai pengepala x-omniroute-cli-token. Dijana secara automatik dalam tugasan 8.12.
OMNIROUTE_HTTP_TIMEOUT_MS 30000 bin/cli/api.mjs Tamat masa HTTP bagi setiap percubaan (ms) untuk permintaan CLI → pelayan.
OMNIROUTE_READY_TIMEOUT_MS 60000 bin/cli/utils/pid.mjs Tempoh maksimum (ms) CLI menunggu titik akhir kesihatan pelayan sebelum memaparkan amaran tamat masa. Berguna untuk permulaan sejuk yang perlahan (cth. Windows). Juga boleh ditetapkan melalui --ready-timeout.
OMNIROUTE_VERBOSE 0 bin/cli/api.mjs Tetapkan kepada 1 untuk memaparkan diagnostik percubaan semula/undur masa ke stderr semasa perintah CLI.
OMNIROUTE_PLUGIN_PATH (tidak ditetapkan) bin/cli/plugins.mjs Direktori tersuai untuk penemuan pemalam CLI (pakej omniroute-cmd-*). Lalai kepada ~/.omniroute/plugins/ apabila tidak ditetapkan. CLI sahaja — ia tidak pernah sampai kepada pengimbas pemalam sisi pelayan, yang diarahkan oleh OMNIROUTE_PLUGINS_DIR (bahagian 2).

10. Ejen Dalaman & Integrasi MCP

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_BASE_URL pengesanan automatik open-sse/mcp-server/server.ts URL eksplisit untuk alat MCP/A2A mencapai OmniRoute. Mengatasi pengesanan automatik localhost.
OMNIROUTE_API_KEY (tidak ditetapkan) Modul MCP/A2A Kunci API untuk panggilan alat MCP dalaman dan kemahiran A2A.
OMNIROUTE_API_KEY_ID (tidak ditetapkan) open-sse/mcp-server/audit.ts ID kunci untuk atribusi log audit MCP.
ROUTER_API_KEY (tidak ditetapkan) Legasi Alias legasi untuk OMNIROUTE_API_KEY.
OMNIROUTE_A2A_HISTORY_RETENTION_DAYS 30 src/lib/a2a/taskManager.ts Bilangan hari sejarah tugas A2A disimpan dalam pangkalan data setempat sebelum pembersihan harian memadamkan sesuatu baris. Jika tidak ditetapkan, bukan angka, atau <= 0, nilai kembali kepada 30.
OMNIROUTE_A2A_MEMORY_HITS 1 src/lib/a2a/taskExecution.ts Suis henti untuk ciri kebolehcerapan capaian memori A2A. Tetapkan kepada 0 untuk melangkau sepenuhnya carian ingatan semula bagi sesuatu tugas; sebarang nilai lain (termasuk tidak ditetapkan) mengekalkannya didayakan.
OMNIROUTE_ISSUE_AGENT_ENABLED false src/app/api/issue-agent/runs/route.ts Mendayakan titik akhir triage direkodkan Issue Agent luar talian/setempat. Biarkan dinyahdayakan melainkan anda menjalankan aliran kerja triage direkodkan setempat secara eksplisit.
OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS (tidak ditetapkan) src/lib/issueAgent/execution.ts Tamat masa (ms) untuk satu pelaksanaan triage direkodkan Issue Agent. Dihadkan kepada maksimum dalaman; kembali kepada nilai lalai terbina dalam apabila tidak ditetapkan atau tidak sah.
OMNIROUTE_CONTEXT (konteks aktif) bin/cli/program.mjs, bin/cli/api.mjs Konteks/profil mod jauh CLI untuk perintah omniroute; mengatasi konteks aktif dalam stor konteks setempat. Bersamaan dengan --context <name>.
OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED 0 bin/cli/contexts.mjs Nyahdayakan bahagian belakang rantai kunci OS keytar pilihan untuk kelayakan konteks CLI. Apabila didayakan, kelayakan kekal dalam mod config.json 0600 dan CLI mengeluarkan amaran penggunaan sandaran sekali sahaja; bertujuan untuk operasi tanpa paparan/kontena yang disengajakan.
OMNIROUTE_MCP_ENFORCE_SCOPES true open-sse/mcp-server/server.ts Menguatkuasakan kawalan akses berasaskan skop pada panggilan alat MCP.
OMNIROUTE_MCP_SCOPES (semua) open-sse/mcp-server/server.ts Skop dipisahkan koma: admin, combos, health, models, routing, budget, metrics, pricing, memory, skills.
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS false open-sse/mcp-server/descriptionCompressor.ts Mampatkan penerangan alat MCP sebelum menyerialisasikan manifes. Nilai yang mendayakan: 1, true, on.
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION rtk open-sse/mcp-server/descriptionCompressor.ts Algoritma/profil pemampatan. Nilai yang menyahdayakan: 0, false, off.
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 open-sse/mcp-server/fetchTimeout.ts Belanjawan pembatalan (ms) untuk bacaan pengurusan dalaman pelayan MCP (kesihatan, daya tahan, gabungan, kuota, penggunaan).
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 open-sse/mcp-server/fetchTimeout.ts Had masa henti (ms) untuk lompatan MCP yang menunggu penyedia (route_request, web_search, web_fetch).
OMNIROUTE_CORPUS_CACHE_SIZE 5 src/lib/localCorpus/configured.ts Bilangan maksimum tika indeks korpus tempatan yang dicache dalam memori (LRU, satu bagi setiap direktori akar yang diindeks). Dihadkan kepada minimum 1.
MODEL_SYNC_INTERVAL_HOURS 24 src/shared/services/modelSyncScheduler.ts Selang penyegerakan katalog model dalam jam.
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 src/lib/usage/providerLimits.ts Selang tinjauan had kadar dan kuota penyedia.
PROVIDER_LIMITS_SYNC_SPACING_MS 1500 src/lib/usage/providerLimits.ts Jeda (ms) antara pengambilan kuota OAuth berturut-turut dalam penyegerakan pukal; sambungan OAuth diambil satu demi satu untuk mengelakkan lonjakan permintaan ke huluan. 0 memilih keluar (serentak).
OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS 250 open-sse/services/quotaFetchThrottle.ts Selang minimum (ms) antara pengambilan kuota huluan berturut-turut pada laluan prapenerbangan/pemantauan bagi setiap permintaan; menjarakkan panggilan rangkaian serentak supaya banyak akaun pada satu IP tidak menyebabkan lonjakan permintaan ke huluan. Disepadukan ke dalam pengambil kuota Codex (/wham/usage), DeepSeek, Bailian (kedua-dua tapak pengambilan), OpenCode dan Crof (#6009, #6911). Laluan penghantaran generik usage.ts::getUsageForProvider (github/glm/minimax/nanogpt/xai/dll.) belum diliputi — dijejak secara berasingan. Padanan cache tidak terjejas. 0 menyahdayakan; dihadkan kepada 0..5000.
PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS 5000 src/lib/usage/providerLimits.ts Kelewatan (ms) sebelum menyegarkan had penyedia selepas peristiwa penggunaan sebenar, bagi memberi masa kepada API kuota huluan untuk merekodkan penggunaan.
OMNIROUTE_LOGIN_BROWSER_PATH auto-detect open-sse/services/adobeFireflyBrowserLogin.ts Laluan mutlak ke fail boleh laku Chrome atau Edge sistem yang digunakan untuk log masuk Adobe Firefly secara interaktif dan pembaharuan luar skrin.
ADOBE_FIREFLY_BROWSER_REFRESH enabled open-sse/services/adobeFireflySession.ts Memastikan keadaan IMS dan risiko pelayar kekal terkini melalui sesi Chrome CDP mengikut skop akaun. Tetapkan kepada 0 untuk menyahdayakan pembaharuan pelayar.
ADOBE_FIREFLY_SESSION_DISK enabled open-sse/services/adobeFireflySession.ts Mengekalkan sesi Adobe yang telah dibaiki di bawah DATA_DIR merentasi mula semula proses. Tetapkan kepada 0 untuk menyimpan sesi dalam memori sahaja.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Jarak minimum dalam milisaat antara penyerahan penjanaan Adobe Firefly; 0 menyahdayakan penjarakan.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Tempoh senyap tambahan dalam milisaat selepas setiap penyerahan Adobe ketiga yang berjaya.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyClient.ts Tempoh undur asas dalam milisaat selepas respons sementara Adobe 408; digabungkan dengan penjarakan penyerahan merentasi paling banyak lima percubaan.
OMNIROUTE_DISABLE_BACKGROUND_SERVICES false src/instrumentation-node.ts Nyahdayakan semua perkhidmatan latar belakang (penyegerakan, penetapan harga, penyegaran model). Berguna untuk CI/ujian.
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS (tidak ditetapkan) src/lib/config/runtimeSettings.ts Paksa tugas latar belakang diaktifkan apabila pengesanan ujian automatik berlaku. Tetapkan 1 untuk mengatasi heuristik ujian.
OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS 600000 src/lib/jobs/budgetResetJob.ts Kekerapan semakan tetapan semula belanjawan (ms). Had bawah 10000.
OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS 60000 src/lib/quota/connectionRecovery.ts Kekerapan pemulihan proaktif tempoh bertenang sambungan (ms): mengesahkan semula sambungan yang nilai sementara rate_limited_until telah berlalu, di luar laluan kritikal permintaan. Minimum 5000.
OMNIROUTE_DISABLE_CONNECTION_RECOVERY false src/lib/quota/connectionRecovery.ts Lumpuhkan penjadual pemulihan proaktif tempoh bertenang sambungan (pemulihan malas dalam getProviderCredentials masih terpakai).
OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS 1800000 src/lib/jobs/reasoningCacheCleanupJob.ts Kekerapan pembersihan cache penaakulan (ms). Minimum 60000.
OMNIROUTE_REASONING_MIN_BUDGET tidak ditetapkan (dilumpuhkan) open-sse/services/reasoningTokenBuffer.ts Had minimum ikut serta untuk belanjawan output model pemikiran: max_tokens pemanggil dalam [256, floor) dinaikkan kepada had minimum (dihadkan oleh had output model). Tidak ditetapkan = belanjawan klien tidak pernah diperbesar (#9507).
OMNIROUTE_LOG_EXPORT_CRON 0 * * * * src/lib/jobs/logExportJob.ts Ungkapan cron (UTC) untuk tugas eksport log panggilan yang mengosongkan setiap destinasi eksport log yang didayakan.
OMNIROUTE_CONFIG_HOT_RELOAD_MS 5000 src/lib/config/hotReload.ts Selang pengundian (ms) untuk muat semula panas konfigurasi. Nilai kurang daripada 1000 ditolak.
OMNIROUTE_DISABLE_REDIS_AUTH_CACHE (didayakan) src/lib/db/apiKeys.ts Tetapkan kepada 1 untuk memintas cache pengesahan kunci API berasaskan Redis (memaksa bacaan DB).
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS 0 open-sse/services/compression/engines/rtk/filterLoader.ts Percayai peraturan penapis projek RTK yang diurus pengguna tanpa semakan tandatangan yang ketat.
OMNIROUTE_LITE_MAX_TOOL_LENGTH 2000 open-sse/services/compression/lite.ts Had aksara untuk pemangkasan proaktif hasil alat Lite apabila lite.maxToolLength tidak ditetapkan. Julat 2561000000. Tetapan papan pemuka mengatasi persekitaran ini.
OMNI_COMPRESSION_WORKERS 2 open-sse/services/compression/compressionWorkerPool.ts Bilangan maksimum pekerja RTK/Caveman segerak yang berjalan serentak; tugas berlebihan menunggu mengikut FIFO.
OMNI_COMPRESSION_WORKER_TIMEOUT_MS 120000 open-sse/services/compression/compressionWorkerPool.ts Tamat masa setiap tugas dalam milisaat. Pekerja yang tamat masa ditamatkan dan permintaan diteruskan tanpa perubahan apabila gagal.
OMNI_COMPRESSION_WORKER_IDLE_MS 60000 open-sse/services/compression/compressionWorkerPool.ts Jangka hayat melahu dalam milisaat sebelum pekerja pemampatan yang tidak digunakan ditamatkan.
COMPRESSION_PIPELINE_BREAKER_ENABLED false open-sse/services/compression/pipelineEngineBreaker.ts Suis induk pemutus litar setiap enjin untuk saluran bertindan T02. Ikut serta (dimatikan secara lalai) — apabila dihidupkan, enjin yang berulang kali mencetuskan ralat merentas permintaan akan dilangkau (terus beroperasi apabila gagal) sepanjang tempoh bertenang; dimatikan = tingkah laku legasi yang seiras bait demi bait.
COMPRESSION_PIPELINE_BREAKER_THRESHOLD 3 open-sse/services/compression/pipelineEngineBreaker.ts Bilangan kegagalan berturut-turut merentas permintaan sebelum pemutus litar enjin dibuka.
COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS 30000 open-sse/services/compression/pipelineEngineBreaker.ts Tempoh dalam milisaat enjin yang pemutus litarnya terbuka terus dilangkau sebelum siasatan separa terbuka.
COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR 2 open-sse/services/compression/engines/ccr/index.ts Peningkatan maklum balas pengambilan T08/H8 CCR: setiap pengambilan terdahulu bagi blok yang disimpan menaikkan minChars efektifnya secara linear (kandungan yang kerap diambil dimampatkan dengan lebih sedikit; >=3 pengambilan = tidak pernah dimampatkan). 1 melumpuhkan peningkatan tersebut (langkauan binari pada ambang sahaja).
COMPRESSION_CCR_DURABLE_STORE true open-sse/services/compression/engines/ccr/index.ts Storan blok tahan lama CCR (#9061). Menyokong storan dalam memori dengan SQLite supaya blok kekal tersedia selepas penyingkiran LRU, tamat tempoh TTL, mula semula, atau pengambilan yang tiba pada tika lain. Tetapkan kepada false untuk menyimpan blok dalam memori sahaja. Blok melebihi 512KB dan masa jalan awan kekal dalam memori sahaja tanpa mengira tetapan ini.
COMPRESSION_PREFIX_FREEZE_ENABLED false open-sse/services/compression/prefixFreeze.ts Suis utama pembekuan awalan berdasarkan penggunaan yang diperhatikan bagi T08/H5. Ikut serta (dimatikan secara lalai) — apabila dihidupkan, gesaan sistem yang diperhatikan >= ambang akan dianggap sebagai awalan stabil yang boleh dicache dan dikekalkan daripada pemampatan walaupun bagi penyedia yang tidak dikesan oleh heuristik cache statik (pembekuan hanya mengekalkan, tidak pernah mengubah).
COMPRESSION_PREFIX_FREEZE_THRESHOLD 3 open-sse/services/compression/prefixFreeze.ts Bilangan pemerhatian terhadap gesaan sistem sebelum ia dianggap sebagai awalan stabil yang dibekukan.
OMNIROUTE_BOOTSTRAPPED false src/app/(dashboard)/dashboard/page.tsx Ditetapkan kepada true oleh skrip bootstrap selepas persediaan awal. Mengawal keterlihatan bestari persediaan.
OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE 0 open-sse/executors/antigravity.ts Jalan keluar kecemasan: benarkan isi permintaan mengatasi medan projek Antigravity.
ANTIGRAVITY_CREDITS off open-sse/services/antigravityCredits.ts Dasar kredit Google One AI: off tidak pernah menyuntik kredit, retry menyuntik sekali selepas ralat kuota 429 yang layak, dan always menyuntik pada permintaan pertama.
ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS 0 open-sse/translator/request/openai-to-gemini.ts Benarkan penterjemah permintaan Antigravity melangkau pengesahan ketat tandatangan permintaan CLI apabila perkhidmatan huluan menolak tandatangan sebenar (mod nyahpepijat/CLI lapuk). Nilai bukan sifar mendayakan pintasan tersebut.
AGY_TOKEN_FILE ~/.gemini/antigravity-cli/antigravity-oauth-token src/app/api/providers/agy-auth/apply-local/route.ts Atasi laluan fail token CLI Antigravity (agy) untuk import log masuk setempat yang dikesan secara automatik.

Jambatan CLI OAuth (Dalaman)

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_SERVER kesan automatik src/lib/oauth/config/index.ts URL pelayan untuk jambatan pengesahan CLI↔OmniRoute.
OMNIROUTE_TOKEN (tidak ditetapkan) src/lib/oauth/config/index.ts Token pengesahan untuk jambatan CLI.
OMNIROUTE_USER_ID cli src/lib/oauth/config/index.ts ID pengguna untuk sesi jambatan CLI.
SERVER_URL (tidak ditetapkan) src/lib/oauth/config/index.ts Alias legasi untuk OMNIROUTE_SERVER.
CLI_TOKEN (tidak ditetapkan) src/lib/oauth/config/index.ts Alias legasi untuk OMNIROUTE_TOKEN.
CLI_USER_ID (tidak ditetapkan) src/lib/oauth/config/index.ts Alias legasi untuk OMNIROUTE_USER_ID.

11. Bukti Kelayakan Penyedia OAuth

Bukti kelayakan terbina dalam untuk pembangunan localhost. Untuk penggunaan jauh, daftarkan bukti kelayakan anda sendiri dalam konsol pembangun setiap penyedia.

Pemboleh Ubah Penyedia Nota
CLAUDE_OAUTH_CLIENT_ID Claude Code (Anthropic) Klien awam — tiada rahsia diperlukan.
CLAUDE_CODE_REDIRECT_URI Claude Code Mengatasi URI ubah hala. Lalai: https://platform.claude.com/oauth/code/callback
CODEX_OAUTH_CLIENT_ID Codex / OpenAI Klien awam.
GEMINI_OAUTH_CLIENT_ID Gemini (Google) Memerlukan _SECRET yang sepadan.
GEMINI_OAUTH_CLIENT_SECRET Gemini (Google)
KIMI_CODING_OAUTH_CLIENT_ID Kimi Coding (Moonshot) Klien awam.
ANTIGRAVITY_OAUTH_CLIENT_ID Antigravity (Google) Memerlukan _SECRET yang sepadan.
ANTIGRAVITY_OAUTH_CLIENT_SECRET Antigravity (Google)
GITHUB_OAUTH_CLIENT_ID GitHub Copilot Klien awam.
GHE_COPILOT_OAUTH_CLIENT_ID GHE Copilot Pengatas pilihan untuk ID klien OAuth GitHub Enterprise Copilot. Kembali kepada nilai lalai awam GITHUB_OAUTH_CLIENT_ID jika tidak ditetapkan.
WINDSURF_API_KEY Windsurf / Devin (v3.8) Sandaran kunci API yang digunakan oleh open-sse/executors/devin-cli.ts apabila tiada bukti kelayakan bagi setiap sambungan tersedia. Pilihan.
CLI_DEVIN_BIN Devin CLI (v3.8) Laluan tersuai ke perduaan Devin CLI (devin). Diselesaikan oleh open-sse/executors/devin-cli.ts.
GITLAB_DUO_OAUTH_CLIENT_ID GitLab Duo (v3.8) ID klien OAuth untuk GitLab Duo. Daftarkan aplikasi di https://gitlab.com/-/profile/applications dengan URI ubah hala <NEXT_PUBLIC_BASE_URL>/callback dan skop api, read_user, openid, profile, email. Kembali kepada GITLAB_OAUTH_CLIENT_ID.
GITLAB_DUO_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) Rahsia klien OAuth untuk GitLab Duo. Pilihan — aliran PKCE tidak memerlukan rahsia. Kembali kepada GITLAB_OAUTH_CLIENT_SECRET.
GITLAB_DUO_BASE_URL GitLab Duo (v3.8) Mengatasi URL asas GitLab (GitLab dihoskan sendiri). Lalai kepada https://gitlab.com. Kembali kepada GITLAB_BASE_URL.
GITLAB_BASE_URL GitLab Duo (v3.8) Sandaran legasi untuk GITLAB_DUO_BASE_URL. Digunakan apabila varian _DUO_ tidak ditetapkan.
GITLAB_OAUTH_CLIENT_ID GitLab Duo (v3.8) Sandaran legasi untuk GITLAB_DUO_OAUTH_CLIENT_ID yang digunakan oleh src/lib/oauth/constants/oauth.ts.
GITLAB_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) Sandaran legasi untuk GITLAB_DUO_OAUTH_CLIENT_SECRET yang digunakan oleh src/lib/oauth/constants/oauth.ts.
QODER_OAUTH_CLIENT_SECRET Qoder
QODER_OAUTH_AUTHORIZE_URL Qoder Tetapkan untuk mendayakan OAuth Qoder.
QODER_OAUTH_TOKEN_URL Qoder
QODER_OAUTH_USERINFO_URL Qoder
QODER_OAUTH_CLIENT_ID Qoder
QODER_PERSONAL_ACCESS_TOKEN Qoder Sandaran kunci API langsung (memintas OAuth).
QODER_CLI_WORKSPACE Qoder ID ruang kerja untuk CLI Qoder.
OMNIROUTE_QODER_WORKSPACE Qoder Alias untuk QODER_CLI_WORKSPACE.
QODER_CLI_CONFIG_DIR Qoder Gantikan direktori konfigurasi CLI Qoder (sesi PAT terpencil, mengelakkan log masuk pelayar daripada ditulis ganti).
BLACKBOX_WEB_VALIDATED_TOKEN Blackbox Web Token tk bahagian hadapan untuk dihantar sebagai validated pada /api/chat. Diperlukan apabila Blackbox menguatkuasakan pemadanan token; jika tidak, OmniRoute menggunakan UUID rawak sebagai sandaran. Lihat isu #2252.
VISION_BRIDGE_BASE_URL Pengadang Vision Bridge URL asas yang serasi dengan OpenAI untuk panggilan vision-bridge bukan Anthropic. Lalai kepada env URL OpenAI legasi atau api.openai.com. Halakan kepada gelung kendiri /v1 OmniRoute atau mana-mana titik akhir yang serasi dengan OpenAI (Gemini OpenAI-compat, OpenRouter). Isu #2232. Apabila URL ialah /v1 OmniRoute sendiri, subpermintaan penerangan menghantar x-omniroute-admission-bypass: internal dan mengesahkan dengan kelayakan gelung kendiri yang telah ditentukan (sk_omniroute sentinel dalam mod setempat, atau OMNIROUTE_API_KEY / ROUTER_API_KEY — #1350) supaya penggunaan REQUIRE_API_KEY=true berfungsi.
VISION_BRIDGE_API_KEY Pengadang Vision Bridge Kunci API untuk URL di atas. Mengatasi pemboleh ubah env OpenAI / Google bagi setiap penyedia untuk panggilan vision-bridge bukan Anthropic. Model Anthropic mengekalkan laluan kunci Anthropic khususnya. Isu #2232.

Warning

  1. Pergi ke Google Cloud Console → Credentials
  2. Cipta ID Klien OAuth 2.0 (jenis: "Aplikasi web")
  3. Tambahkan URL pelayan anda sebagai URI ubah hala yang dibenarkan
  4. Gantikan nilai kelayakan dalam .env.

12. Penggantian User-Agent Penyedia

Gantikan pengepala User-Agent yang dihantar kepada setiap penyedia huluan. Nilai ini ditentukan secara dinamik semasa masa jalan oleh kelas asas pelaksana:

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

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

Pemboleh Ubah Nilai Lalai Masa untuk Dikemas Kini
CLAUDE_USER_AGENT claude-cli/2.1.258 (external, cli) Apabila Anthropic mengeluarkan versi CLI baharu
CLAUDE_DISABLE_TOOL_NAME_CLOAK false executors/base.ts + executors/cliproxyapi.ts Tetapkan kepada 1/true untuk memajukan nama alat abah pihak ketiga secara verbatim kepada Anthropic pada kedua-dua laluan yang terikat dengan Anthropic (OAuth asli dan CLIProxyAPI). Secara lalai, pelaksana secara deterministik memberikan alias kepada nama alat bukan Claude Code (pemetaan kanonik Claude Code apabila tersedia, atau PascalCase jika tiada) dan mengembalikannya pada respons melalui _toolNameMap, supaya abah dengan alat snake_case tidak ditolak kerana dicap sebagai klien pihak ketiga. Untuk penyahpepijatan sahaja.
CODEX_USER_AGENT codex-cli/0.142.0 (Windows 10.0.26200; x64) Apabila OpenAI mengemas kini Codex CLI
CODEX_CLIENT_VERSION 0.131.0 Gantikan versi klien Codex secara berasingan daripada rentetan UA penuh
CLAUDE_CODE_CLIENT_VERSION 2.1.258 Gantikan versi Claude Code yang diiklankan secara berasingan daripada CLAUDE_USER_AGENT. Anthropic mengehadkan sesetengah model berdasarkan nilai ini (#12417).
GITHUB_COPILOT_CLI_VERSION 1.0.81-6 Gantikan versi Copilot CLI yang diiklankan secara berasingan daripada GITHUB_USER_AGENT
GITHUB_USER_AGENT GitHubCopilotChat/0.54.0 Apabila GitHub Copilot Chat dikemas kini
ANTIGRAVITY_USER_AGENT antigravity/2.0.1 darwin/arm64 Apabila Antigravity IDE dikemas kini
KIRO_USER_AGENT AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 Apabila Kiro IDE dikemas kini
KIRO_OAUTH_CLIENT_ID kiro-cli Gantikan clientId kod peranti sosial Kiro (ID awam)
KIRO_VERIFY_FULL_CRC false Ikut serta: pengesahan CRC mesej penuh bagi setiap bingkai pada strim peristiwa Kiro (nyahpepijat strim yang rosak)
QODER_USER_AGENT Qoder-Cli Apabila Qoder CLI dikemas kini
CURSOR_USER_AGENT Cursor/3.3 Apabila Cursor dikemas kini

Tip

Anda boleh menambahkan penggantian User-Agent untuk mana-mana penyedia menggunakan corak {PROVIDER_ID}_USER_AGENT. Pelaksana membina nama pemboleh ubah persekitaran secara dinamik.


13. Keserasian Cap Jari CLI

Apabila didayakan, OmniRoute menyusun semula pengepala HTTP dan medan isi JSON agar sepadan dengan tandatangan tepat alat CLI rasmi. Ini mengurangkan risiko akaun ditandai sambil mengekalkan IP proksi anda.

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

Mengikut Penyedia

Pemboleh Ubah Pengaktifan Kesan
CLI_COMPAT_CODEX =1 Meniru tandatangan permintaan Codex CLI
CLI_COMPAT_CLAUDE =1 Meniru tandatangan permintaan Claude Code
CLI_COMPAT_GITHUB =1 Meniru tandatangan permintaan GitHub Copilot
CLI_COMPAT_ANTIGRAVITY =1 Meniru tandatangan permintaan Antigravity
CLI_COMPAT_CURSOR =1 Meniru tandatangan permintaan Cursor
CLI_COMPAT_KIMI_CODING =1 Meniru tandatangan permintaan Kimi Coding
CLI_COMPAT_KILOCODE =1 Meniru tandatangan permintaan Kilo Code
CLI_COMPAT_CLINE =1 Meniru tandatangan permintaan Cline

Global

Pemboleh Ubah Pengaktifan Kesan
CLI_COMPAT_ALL =1 Dayakan keserasian cap jari untuk semua penyedia secara serentak.

Penggantian identiti Kimi Coding CLI

Pemboleh Ubah Lalai Fail Sumber Penerangan
KIMI_CLI_VERSION 1.36.0 src/lib/oauth/providers/kimi-coding.ts Gantikan versi Kimi CLI yang dihantar semasa panggilan OAuth/API.
KIMI_CODING_DEVICE_ID (lalai yang dirakam) src/lib/oauth/providers/kimi-coding.ts Gantikan ID peranti Kimi yang dirakam dan digunakan dalam pengepala klien.

Note

Ciri ini berfungsi bersama penggantian User-Agent (§12). Sistem cap jari mengendalikan susunan pengepala dan susunan medan isi, manakala penggantian User-Agent mengendalikan rentetan UA tertentu. Kedua-duanya boleh didayakan secara berasingan.


14. Penyedia Kunci API

Kunci API untuk penyedia yang menggunakan pengesahan langsung. Persediaan pilihan: Dashboard → Providers → Add API Key.

Penetapan melalui pemboleh ubah persekitaran ialah alternatif untuk penggunaan Docker atau tanpa paparan.

Corak yang dikenal pasti: {PROVIDER_ID}_API_KEY

Pemboleh Ubah Penyedia
DEEPSEEK_API_KEY DeepSeek
NVIDIA_API_KEY NVIDIA NIM
JINA_AI_API_KEY Jina AI (Foundation API + sandaran Reader)
JINA_API_KEY Jina AI (alias untuk JINA_AI_API_KEY)
GEMINI_API_KEY Gemini (Google AI Studio) pembenaman + sandaran sembang
GOOGLE_API_KEY Gemini (alias untuk GEMINI_API_KEY)

Note

Entri ${PROVIDER}_API_KEY statik untuk Groq, xAI, Mistral, Perplexity, Together AI, Fireworks, Cerebras, Cohere, Nebius dan Qianfan telah dialih keluar dalam v3.8.0 kerana masa jalan tidak lagi membacanya — penyedia tersebut bergantung sepenuhnya pada Dashboard / data/provider-credentials.json / pangkalan data yang disulitkan. Lihat bahagian Audit: Pemboleh Ubah yang Dialih Keluar / Tidak Digunakan di bahagian bawah dokumen ini untuk laluan migrasi.

Tip

Kunci yang ditetapkan melalui Dashboard disimpan dalam bentuk tersulit dalam SQLite dan diberi keutamaan berbanding pemboleh ubah persekitaran.

Jina: Pembenaman, susun semula, pengelasan dan segmentasi jina-ai/…, serta jina-search, tidak mengenakan caj pada kunci persekitaran kluster apabila sambungan dashboard jina-ai (atau jina-reader yang dikongsi) tersedia — getProviderCredentials mengisi yang pertama dahulu. JINA_AI_API_KEY / JINA_API_KEY hanya digunakan apabila tiada kunci dashboard yang boleh digunakan. Log panggilan mengaitkan sandaran persekitaran sebagai connection_id=env:JINA_AI_API_KEY. Kad Reader (jina-reader, r.jina.ai) tidak pernah menyediakan /v1/embeddings atau /v1/rerank.

Gemini: gemini/gemini-embedding-2 (alias google/gemini-embedding-2) menggunakan sambungan dashboard gemini terlebih dahulu. GEMINI_API_KEY / GOOGLE_API_KEY hanya digunakan apabila tiada kunci dashboard yang boleh digunakan. Log panggilan mengaitkan sandaran persekitaran sebagai connection_id=env:GEMINI_API_KEY. Trafik multimodal asli menggunakan x-goog-api-key terhadap :embedContent / :batchEmbedContents — N item input OpenAI menghasilkan N vektor.


15. Tetapan Tamat Masa

Semua nilai adalah dalam milisaat. Penyelesaian berpusat dalam src/shared/utils/runtimeTimeouts.ts.

Hierarki Tamat Masa

REQUEST_TIMEOUT_MS (gantian global)
├─→ FETCH_TIMEOUT_MS (panggilan penyedia huluan, lalai: 600000)
│   ├─→ FETCH_HEADERS_TIMEOUT_MS (mewarisi daripada FETCH_TIMEOUT_MS)
│   ├─→ FETCH_BODY_TIMEOUT_MS (mewarisi daripada FETCH_TIMEOUT_MS)
│   ├─→ TLS_CLIENT_TIMEOUT_MS (mewarisi daripada FETCH_TIMEOUT_MS)
│   │   └── TLS_FIRST_BYTE_WATCHDOG_MS (bebas, lalai: 10000)
│   ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS (bebas, lalai: 15000)
│   ├── FETCH_CONNECT_TIMEOUT_MS (bebas, lalai: 30000)
│   └── FETCH_KEEPALIVE_TIMEOUT_MS (bebas, lalai: 4000)
├─→ STREAM_IDLE_TIMEOUT_MS (mewarisi daripada REQUEST_TIMEOUT_MS, lalai: 600000)
├─→ STREAM_ACTIVE_TIMEOUT_MS (bebas, lalai: 1260000; 0 menyahdayakan)
├─→ STREAM_READINESS_TIMEOUT_MS (mewarisi daripada REQUEST_TIMEOUT_MS, lalai: 80000)
├─→ STREAM_READINESS_MAX_TIMEOUT_MS (mengehadkan pelanjutan kesediaan adaptif, lalai: 180000)
└─→ API_BRIDGE_PROXY_TIMEOUT_MS (mewarisi daripada REQUEST_TIMEOUT_MS, lalai: 30000)
    ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS (diterbitkan, lalai: 300000)
    ├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS (lalai: 60000)
    ├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS (lalai: 5000)
    └── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS (lalai: 0 = dinyahdayakan)
Pemboleh ubah Lalai Penerangan
REQUEST_TIMEOUT_MS (tidak ditetapkan) Pintasan global — mengatasi nilai lalai bagi FETCH_TIMEOUT_MS dan STREAM_IDLE_TIMEOUT_MS.
FETCH_TIMEOUT_MS 600000 Had masa keseluruhan permintaan HTTP untuk panggilan kepada penyedia huluan.
STREAM_IDLE_TIMEOUT_MS 600000 Tempoh senyap maksimum antara bait mentah huluan sebelum dibatalkan. Model pemikiran lanjutan jarang berhenti seketika selama >90s.
STREAM_ACTIVE_TIMEOUT_MS 1260000 Jangka hayat aktif maksimum keseluruhan bagi strim SSE; tidak pernah ditetapkan semula apabila menerima bait huluan dan tidak bergantung pada REQUEST_TIMEOUT_MS. Diperoleh daripada timeoutMs per model terbesar dalam daftaran (1200000, Codex) ditambah margin 60000, supaya model yang dibenarkan menggunakan belanjawan penuhnya tidak dihentikan ketika sedang menjana jawapan. Tetapkan kepada 0 untuk menyahdayakan.
OMNIROUTE_SSE_COMMENTS (dinyahdayakan) Sama ada OmniRoute boleh mengeluarkan baris komen SSE : (contohnya degupan jantung : keepalive dan treler metadata x-omniroute-*). Dinyahdayakan secara lalai (#10524) kerana klien serasi OpenAI yang ketat menggunakan JSON.parse pada setiap baris SSE dan gagal apabila menemui komen :; degupan jantung data: tidak terjejas. Tetapkan on/true/1/yes untuk mengikut serta semula. Digunakan oleh open-sse/utils/sseHeartbeat.ts.
STREAM_READINESS_TIMEOUT_MS 80000 Tempoh untuk menerima peristiwa SSE bukan ping yang pertama. Mewarisi REQUEST_TIMEOUT_MS apabila ditetapkan.
STREAM_READINESS_MAX_TIMEOUT_MS 180000 Tetingkap kesediaan adaptif maksimum bagi peristiwa pertama untuk permintaan penstriman yang besar, banyak menggunakan alat, atau memerlukan penaakulan tinggi.
OMNIROUTE_AGENT_GOAL_POLICY_ENABLED true Suis pematian untuk heuristik /goal. Tetapkan false/0/off untuk menyahdayakan pengesanan sepenuhnya — had masa kesediaan dan pemulihan strim tidak akan ditingkatkan oleh isi permintaan/pengepala, sekali gus mengurangkan penguatan had masa yang dikawal oleh klien.
OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS 600000 Tetingkap kesediaan maksimum bagi peristiwa pertama untuk pelaksanaan ejen /goal yang dikesan atau permintaan yang dipaksa menggunakan x-omniroute-agent-goal.
OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY true Dayakan pemulihan strim awal secara automatik untuk pelaksanaan ejen /goal yang dikesan. Tetapkan false/0/off untuk menyahdayakan pilihan ikut serta khusus matlamat. Ini hanya boleh MENAMBAH pemulihan di samping nilai lalai pengendali — ia tidak pernah mengatasi pilihan untuk tidak menyertai yang ditetapkan secara eksplisit melalui tetapan STREAM_RECOVERY_ENABLED/DB.
OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS true Singkirkan peristiwa SSE codex.* bukan standard (contohnya codex.rate_limits) yang menyebabkan responses.stream() dalam OpenAI SDK gagal dengan ralat 502. HIDUP secara lalai (#11014). Tetapkan 0/false/no/off untuk memajukannya.
OMNIROUTE_CODEX_APPSERVER_WS (tidak ditetapkan) Pengangkutan pelayan aplikasi Codex yang memerlukan pilihan ikut serta. Titik akhir WebSocket (ws:///wss://) bagi sespan codex app-server setempat. Apabila ditetapkan bersama token, permintaan Codex dihalakan melalui JSON-RPC kepada sespan dan bukannya API Respons HTTP. Turut boleh ditetapkan bagi setiap sambungan melalui providerSpecificData.codexAppServerUrl. Digunakan oleh open-sse/executors/codex/appServerConfig.ts.
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN (tidak ditetapkan) Token keupayaan/pembawa sebaris yang dikemukakan kepada pelayan aplikasi. Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerToken.
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE (tidak ditetapkan) Laluan ke fail yang mengandungi token keupayaan pelayan aplikasi (daripada codex app-server --ws-token-file). Digunakan apabila OMNIROUTE_CODEX_APPSERVER_WS_TOKEN tidak ditetapkan. Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerTokenFile.
OMNIROUTE_CODEX_APPSERVER_CWD /tmp Direktori kerja tempat giliran pelayan aplikasi dijalankan. Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerCwd.
OMNIROUTE_CODEX_APPSERVER_APPROVAL (tidak ditetapkan) Dasar kelulusan yang dihantar kepada giliran pelayan aplikasi (contohnya never, on-request). Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerApprovalPolicy.
OMNIROUTE_CODEX_APPSERVER_SANDBOX (tidak ditetapkan) Dasar kotak pasir yang dihantar kepada giliran pelayan aplikasi (contohnya read-only, workspace-write, danger-full-access). Apabila tidak ditetapkan, pelaksana menggunakan workspace-write secara lalai (diperkukuh; sebelum ini danger-full-access). Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerSandbox.
OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE false Luluskan secara automatik gesaan kelulusan pelayan aplikasi itu sendiri (pelaksanaan perintah/fail/kebenaran pada hos). Dimatikan secara lalai — gesaan ditolak secara automatik; panggilan alat rangka kerja tidak terjejas (panggilan tersebut melalui laluan terus item/tool/call yang berasingan). Menerima true/1/yes. Nilai ganti bagi setiap sambungan: providerSpecificData.codexAppServerAutoApprove.
FETCH_HEADERS_TIMEOUT_MS = FETCH_TIMEOUT_MS Tempoh untuk menerima pengepala respons.
OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS 30000 (30s) Masa menunggu maksimum untuk respons bermula (ms) bagi setiap percubaan langsung tanpa proksi. Apabila tamat masa, percubaan akan dibuat semula sekali menggunakan soket baharu; tetapkan 0 untuk menyahdayakan had dan mengekalkan tingkah laku sebelumnya.
FETCH_BODY_TIMEOUT_MS = FETCH_TIMEOUT_MS Masa untuk menerima keseluruhan isi respons.
FETCH_CONNECT_TIMEOUT_MS 30000 Tamat masa untuk mewujudkan sambungan TCP.
FETCH_KEEPALIVE_TIMEOUT_MS 4000 Tamat masa melahu soket keep-alive.
TLS_CLIENT_TIMEOUT_MS = FETCH_TIMEOUT_MS Tamat masa proksi cap jari TLS (wreq-js).
TLS_FIRST_BYTE_WATCHDOG_MS 10000 Mengehadkan masa hingga bait pertama khususnya pada isi pengangkutan cap jari TLS wreq-js; TLS_CLIENT_TIMEOUT_MS sahaja tidak dapat mengesan isi yang tersekat kerana ia diselesaikan sebaik sahaja pengepala tiba (#12656). Apabila tamat masa, pembaca wreq dibatalkan dan kembali menggunakan penghantar langsung/proksi; 0 menyahdayakan pemantau.
RESPONSES_FIRST_BYTE_TIMEOUT_MS 15000 Hanya untuk pelaksana OpenCode, dan hanya semasa bendera ciri OPENCODE_RESPONSES_STALL_ROTATION dihidupkan (dimatikan secara lalai): mengehadkan masa menunggu bait pertama isi bagi balasan Responses yang distrim selepas pengepalanya (#13484). Strim Responses dibuka dengan response.created, jadi ketiadaan data selepas tempoh ini dianggap tersekat: akaun diberi tempoh bertenang dan permintaan dialihkan ke akaun seterusnya sekali; keadaan tersekat kali kedua akan gagal serta-merta. 0 menyahdayakan perlindungan walaupun bendera dihidupkan.
API_BRIDGE_PROXY_TIMEOUT_MS 30000 Tamat masa lompatan proksi untuk permintaan jambatan /v1.
FIRECRAWL_BASE_URL https://api.firecrawl.dev Halakan pelaksana pengambilan web Firecrawl ke tika yang dihoskan sendiri (kunci API adalah pilihan di luar awan).
FIRECRAWL_TIMEOUT_MS 30000 Tamat masa bagi setiap permintaan untuk pelaksana pengambilan web Firecrawl.
API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS 300000 Tamat masa keseluruhan permintaan pelayan untuk jambatan.
API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS 60000 Masa untuk menghantar pengepala respons melalui jambatan.
API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS 5000 Tamat masa melahu keep-alive jambatan.
API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS 0 Tamat masa soket mentah (0 = dinyahdayakan).
SHUTDOWN_TIMEOUT_MS 30000 Tempoh tangguh apabila menerima SIGTERM/SIGINT sebelum keluar secara paksa.
OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS 120000 Nilai sandaran yang digunakan oleh src/shared/utils/fetchTimeout.ts apabila FETCH_TIMEOUT_MS tidak ditetapkan.
OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS 8000 Tamat masa (ms) untuk pratetap validationRead dan modelsProbe dalam src/shared/network/safeOutboundFetch.ts. Tingkatkan nilai untuk titik akhir yang perlahan (Cerebras, Cloudflare AI, Groq) bagi mengelakkan pertukaran berulang antara aktif/ralat dalam papan pemuka. Kembali kepada 8000ms untuk nilai tidak sah (<1000) atau bukan angka.
OMNIROUTE_RELAY_FETCH_TIMEOUT_MS 25000 Tamat masa pengambilan khusus geganti dalam open-sse/utils/proxyFetch.ts (#9158). Geganti yang tergantung mesti gagal sebelum tamat masa klien/ejen (~30s) supaya pemanggil melihat kegagalan khusus geganti dan bukannya tamat masa huluan generik. Dihadkan kepada 29000 supaya ia sentiasa dicetuskan terlebih dahulu.
OMNIROUTE_RETRY_BACKOFF_MS 10 Jeda cuba semula dikongsi untuk laluan cuba semula sekali langsung/geganti/proksi dalam open-sse/utils/proxyFetch.ts (#9158). 0 = cuba semula serta-merta.
OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS 60000 Tamat masa permintaan wreq-js natif (claudeTlsClient.ts).
OMNIROUTE_CLAUDE_TLS_GRACE_MS 10000 Tempoh tangguh tarikh akhir mutlak JS yang ditambahkan di atas tamat masa natif.
OMNIROUTE_PPLX_TLS_TIMEOUT_MS 30000 Tamat masa permintaan wreq-js natif (perplexityTlsClient.ts).
OMNIROUTE_PPLX_TLS_GRACE_MS 10000 Tempoh tangguh tarikh akhir mutlak JS yang ditambahkan di atas tamat masa natif.
OMNIROUTE_PPLX_SEARCH_HINT 0 (dimatikan) Menambahkan "Anda mempunyai carian web terbina dalam. Jawab soalan secara langsung menggunakan hasil carian." pada mesej sistem pemanggil (perplexity-web/protocol.ts). Dimatikan secara lalai — Perplexity tetap menjalankan carian, dan ayat tersebut terpapar dalam balasan sebagai ulasan meta untuk klien pengekodan. Tetapkan 1/true/yes/on untuk memulihkannya.
OMNIROUTE_GROK_TLS_TIMEOUT_MS 60000 Tamat masa permintaan wreq-js natif (grokTlsClient.ts).
OMNIROUTE_GROK_TLS_GRACE_MS 10000 Tempoh ihsan tenggat mutlak JS yang ditambahkan pada tamat masa natif.
OMNIROUTE_NOTION_TLS_TIMEOUT_MS 30000 Tamat masa permintaan wreq-js natif (notionTlsClient.ts); notion-web meningkatkannya bagi setiap permintaan kepada 180000 untuk penjanaan yang panjang.
OMNIROUTE_NOTION_TLS_GRACE_MS 10000 Tempoh ihsan tenggat mutlak JS yang ditambahkan pada tamat masa natif.
OMNIROUTE_BROWSER_POOL on Kumpulan pelayar Playwright dikongsi untuk sembang kuki web yang disokong pelayar (browserPool.ts); tetapkan off untuk menyahdayakannya.
OBSCURA_BIN auto-detect Laluan ke perduaan obscura yang digunakan sebagai enjin utama oleh kumpulan pelayar dan pelaksana Cloudflare Playground (open-sse/services/obscura.ts); dikesan secara automatik daripada PATH sistem apabila tidak ditetapkan.
OBSCURA_CDP_ENDPOINT (tidak ditetapkan) Halakan ke Obscura yang sudah berjalan (http://host:port) dan bukannya memulakan satu proses baharu; modul tersebut tidak memiliki proses itu (open-sse/services/obscura.ts).
OBSCURA_PORT port bebas rawak Port eksplisit untuk obscura serve yang dimulakan; port bebas dipilih secara automatik apabila tidak ditetapkan (open-sse/services/obscura.ts).
WEB_COOKIE_USE_BROWSER 0 Sertakan permintaan sembang kuki web dalam laluan yang disokong pelayar (browserBackedChat.ts); 1 untuk mendayakannya.
KIMI_WEB_BASE_URL https://www.kimi.ai URL asas untuk pelaksana Kimi Web (Connect-RPC kimi.ai antarabangsa) (kimi-web.ts); ubah hanya untuk titik akhir cermin/proksi.
KIMI_WEB_CHAT_URL <KIMI_WEB_BASE_URL>/apiv2/kimi.gateway.chat.v1.ChatService/Chat Titik akhir sembang penuh untuk pelaksana Kimi Web (kimi-web.ts).
OMNIROUTE_LOGIN_BROWSER_PATH (dikesan secara automatik) Laluan ke boleh laku Chrome/Edge sistem untuk log masuk pelayar interaktif Adobe Firefly (adobeFireflyBrowserLogin.ts); mengatasi pengesanan automatik bagi setiap OS.
OMNIROUTE_STANDALONE_DIR output kendiri .build/ Penggantian masa binaan bagi direktori output kendiri yang digunakan oleh langkah penempatan bersama pascabinaan (scripts/build/colocate-standalone.mjs); untuk alat binaan, bukan masa jalan.

Percubaan sasaran kombo mewarisi tamat masa permintaan huluan yang telah ditentukan (FETCH_TIMEOUT_MS, atau REQUEST_TIMEOUT_MS apabila ia membekalkan nilai lalai pengambilan). Tetapkan targetTimeoutMs dalam kombo, lalai kombo atau penggantian penyedia hanya untuk mempercepat sandaran kombo; nilai yang melebihi tamat masa huluan semasa dihadkan kepada tamat masa huluan.

comboTimeoutMs ialah belanjawan masa dinding berasingan untuk keseluruhan kombo merentas sasaran failover. Biarkannya tidak ditetapkan atau 0 untuk mengekalkan lelaran tanpa had (penghenti hang 10 minit COMBO_LOOP_SAFETY_TIMEOUT_MS masih terpakai). Nilai positif menggantikan jaring keselamatan tersebut untuk kombo. Pastikan comboTimeoutMs lebih panjang daripada targetTimeoutMs supaya failover masih mempunyai masa selepas sasaran pertama yang perlahan.

Ambang Pemutus Litar

Penalaan pemutus litar peringkat penyedia. Nilai lalai mencerminkan nilai berskala yang digunakan sejak v3.6 untuk lebih 500 sambungan.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD 8 open-sse/config/constants.ts Ambang kegagalan berturut-turut bagi penyedia OAuth sebelum pemutus litar tercetus.
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS 60000 open-sse/config/constants.ts Tempoh penetapan semula (ms) bagi pemutus litar penyedia OAuth.
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD 12 open-sse/config/constants.ts Ambang kegagalan berturut-turut bagi penyedia kunci API.
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS 30000 open-sse/config/constants.ts Tempoh penetapan semula (ms) bagi pemutus litar penyedia kunci API.
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD 2 open-sse/config/constants.ts Ambang kegagalan berturut-turut bagi penyedia setempat (Ollama, LM Studio, ...).
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS 15000 open-sse/config/constants.ts Tempoh penetapan semula (ms) bagi pemutus litar penyedia setempat.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD 10 open-sse/config/constants.ts Pemutus litar peringkat penyedia: bilangan kegagalan dalam tempoh tersebut sebelum keseluruhan penyedia OAuth memasuki tempoh bertenang.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS 900000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh pengiraan kegagalan bergulir (ms) bagi penyedia OAuth.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS 300000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh bertenang (ms) setelah ambang penyedia OAuth dicapai.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD 5 open-sse/config/constants.ts Penyedia OAuth memasuki keadaan DEGRADED apabila mencapai bilangan kegagalan ini.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER 8 open-sse/config/constants.ts Pengganda maksimum peningkatan resetTimeout bagi penyedia OAuth.
OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT 2 open-sse/config/constants.ts Penyedia OAuth meningkatkan sela tunggu selepas bilangan kitaran terbuka ini.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD 15 open-sse/config/constants.ts Pemutus litar peringkat penyedia: bilangan kegagalan dalam tempoh tersebut sebelum keseluruhan penyedia kunci API memasuki tempoh bertenang.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS 1800000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh pengiraan kegagalan bergulir (ms) bagi penyedia kunci API.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS 600000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh bertenang (ms) setelah ambang penyedia kunci API dicapai.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD 7 open-sse/config/constants.ts Penyedia kunci API memasuki keadaan DEGRADED apabila mencapai bilangan kegagalan ini.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER 4 open-sse/config/constants.ts Pengganda maksimum peningkatan resetTimeout bagi penyedia kunci API.
OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT 3 open-sse/config/constants.ts Penyedia kunci API meningkatkan sela tunggu selepas bilangan kitaran terbuka ini.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD 2 open-sse/config/constants.ts Pemutus litar peringkat penyedia: bilangan kegagalan sebelum keseluruhan penyedia setempat memasuki tempoh bertenang.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS 300000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh pengiraan kegagalan bergulir (ms) bagi penyedia setempat.
OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS 60000 open-sse/config/constants.ts Pemutus litar peringkat penyedia: tempoh bertenang (ms) setelah ambang penyedia setempat dicapai.
PIN_DROP_BACKOFF_LEVEL 2 open-sse/services/combo.ts Kedalaman sela tunggu yang menyebabkan penyedia pin cache konteks dianggap tidak sihat secara berterusan dan pin tersebut digugurkan untuk pengambilalihan.
PIN_DROP_GRACE_MS 20000 open-sse/services/combo.ts Tempoh antiturun naik (ms) yang membenarkan tempoh bertenang sementara yang singkat sebelum menggugurkan pin cache konteks.

Senario

Senario Konfigurasi
Penjanaan kod jangka panjang REQUEST_TIMEOUT_MS=900000 (15 min)
Had jumlah tempoh hayat strim STREAM_ACTIVE_TIMEOUT_MS=1260000 (21 min)
Gagal pantas untuk API pengeluaran API_BRIDGE_PROXY_TIMEOUT_MS=10000
Model penaakulan lanjutan STREAM_IDLE_TIMEOUT_MS=300000 (5 min antara ketulan)

16. Pengelogan

Sistem pengelogan menulis ke stdout dan fail log berputar. Semua konfigurasi dibaca oleh src/lib/logEnv.ts.

Pemboleh ubah Lalai Penerangan
APP_LOG_LEVEL info Tahap log minimum: debug, info, warn, error.
APP_LOG_FORMAT text Format output: text (boleh dibaca manusia) atau json (berstruktur).
APP_LOG_TO_FILE true Tulis log ke fail di samping stdout.
APP_LOG_FILE_PATH logs/application/app.log Laluan fail log (relatif kepada akar projek atau DATA_DIR).
APP_LOG_MAX_FILE_SIZE 50M Saiz fail maksimum sebelum putaran. Menerima: 50M, 1G, 512K, atau bait biasa.
APP_LOG_RETENTION_DAYS 7 Bilangan hari untuk menyimpan fail log aplikasi yang telah diputar.
APP_LOG_MAX_FILES 20 Bilangan maksimum sandaran fail log berputar.
CALL_LOG_RETENTION_DAYS 7 Bilangan hari untuk menyimpan entri log permintaan/panggilan dalam pangkalan data.
CALL_LOG_MAX_ENTRIES 10000 Bilangan maksimum entri log panggilan dalam penimbal dalam memori.
CALL_LOGS_TABLE_MAX_ROWS 100000 Bilangan maksimum baris dalam jadual SQLite call_logs sebelum pemangkasan.
ENABLE_REQUEST_LOGS (tidak ditetapkan) Paksa pengelogan permintaan terperinci dihidupkan atau dimatikan, mengatasi tetapan papan pemuka.
MAX_PENDING_REQUEST_AGE_MS 3600000 (1 jam) Usia maksimum bagi entri log permintaan aktif tanpa induk sebelum pembersihan dalam memori.
CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS false Simpan cebisan strim dalam artifak saluran paip apabila call_log_pipeline_enabled=true. Pilihan ikut serta (true) — dimatikan secara lalai untuk menjimatkan ruang cakera.
CALL_LOG_PIPELINE_MAX_SIZE_KB 512 Saiz maksimum artifak log panggilan saluran paip dalam KB apabila call_log_pipeline_enabled=true.
PROXY_LOGS_TABLE_MAX_ROWS 100000 Bilangan maksimum baris dalam jadual SQLite proxy_logs sebelum pemangkasan.
PROXY_LOG_INCLUDE_IPS false Sertakan IP klien/keluar dan awalan akaun dalam log konsol [ProxyEgress]. Rekod log proksi papan pemuka/pangkalan data mengekalkan butiran penuh.
APP_LOG_ROTATION_CHECK_INTERVAL_MS 60000 (1 min) Kekerapan src/lib/logRotation.ts menyemak semula saiz fail log aktif.
CHAT_LOG_TEXT_LIMIT 65536 Panjang rentetan maksimum yang dikekalkan dalam artifak log sembang (lalai 64 KB).
CHAT_LOG_ARRAY_TAIL_ITEMS 128 Bilangan item tatasusunan yang dikekalkan dari penghujung apabila memendekkan muatan log sembang.
CHAT_LOG_MAX_DEPTH 6 Kedalaman sarang maksimum sebelum muatan log sembang dipendekkan.
CHAT_LOG_MAX_OBJECT_KEYS 80 Bilangan maksimum kunci objek yang dikekalkan dalam muatan log sembang (0 = tanpa had).
CHAT_LOG_MAX_BODY_KB 1024 Saiz keseluruhan isi permintaan/respons (KB) sebelum digantikan dengan ringkasan ringkas dan bukannya klon penuh. Naikkan nilai ini jika perbualan berasaskan ejen yang panjang memaparkan ruang letak dan bukannya mesej sebenar pada papan pemuka.
CHAT_DEBUG_FILE false Apabila benar, serializeArtifactForStorage melangkau pemendekan berdasarkan saiz. Untuk nyahpepijat sahaja.

17. Pengoptimuman Memori

Pemboleh ubah Lalai Penerangan
OMNIROUTE_MEMORY_MB auto (perkakasan fizikal); 1024 dalam imej Docker Had tindanan V8 (MB) yang disyorkan untuk Docker kendiri. Apabila tidak ditetapkan, nilainya ditentukur secara dinamik (~35% daripada RAM sistem, dihadkan kepada [512, 4096]); 512 hanyalah nilai minimum apabila jumlah memori tidak dapat dibaca. Pada run-standalone.mjs (Docker CMD), nilai eksplisit ditambahkan sebagai --max-old-space-size dan mengatasi bendera tindanan NODE_OPTIONS yang bercanggah (bendera terakhir V8). omniroute serve masih mengutamakan tindanan NODE_OPTIONS yang sedia ada (#5238). Jangan tetapkan kedua-duanya kepada nombor yang berbeza — proses akan merekodkan amaran yang menyatakan kedua-dua nilai dan nilai yang diguna pakai. Imej Docker rasmi sentiasa menetapkan 1024, jadi penentukuran tidak pernah dijalankan di situ. /v1/responses untuk agen pengekodan memerlukan 819212288 serta ruang tambahan cgroup — lihat Panduan Docker — RAM masa jalan.
PROMPT_CACHE_MAX_SIZE 50 Bilangan maksimum entri gesaan sistem yang dicache.
PROMPT_CACHE_MAX_BYTES 2097152 (2 MB) Saiz jumlah maksimum cache gesaan.
PROMPT_CACHE_TTL_MS 300000 (5 min) TTL entri cache gesaan.
SEMANTIC_CACHE_MAX_SIZE 100 Bilangan maksimum respons temperature=0 yang dicache.
SEMANTIC_CACHE_MAX_BYTES 4194304 (4 MB) Saiz jumlah maksimum cache semantik.
SEMANTIC_CACHE_TTL_MS 1800000 (30 min) TTL entri cache semantik.
OMNIROUTE_CORPUS_CACHE_SIZE 5 Akar korpus setempat yang mengekalkan indeks aktif dalam memori secara serentak (src/lib/localCorpus/configured.ts). LRU: apabila mencapai had, indeks akar yang paling lama tidak digunakan akan disingkirkan dan dibina semula pada pertanyaan seterusnya. Dihadkan kepada nilai minimum 1; nilai bukan angka akan kembali kepada nilai lalai.
STREAM_HISTORY_MAX 50 Bilangan maksimum peristiwa strim terkini dalam penimbal paparan langsung Papan Pemuka.
CONTEXT_LENGTH_DEFAULT 128000 Panjang konteks maksimum sandaran global untuk model tanpa konfigurasi eksplisit.
USAGE_TOKEN_BUFFER 100 Ruang tambahan token yang diperuntukkan semasa menjejak kuota penggunaan.

Pemampatan

Pemboleh ubah Lalai Penerangan
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS tidak ditetapkan Percayai .rtk/filters.json projek tanpa cincangan .rtk/trust.json. Gunakan hanya dalam pembangunan setempat yang terkawal.

Enjin Memori (pelan 21)

Kos gelung peristiwa bagi memori, kemahiran dan penyegaran token (#10349)

OmniRoute ialah satu proses Node. Pengekstrakan/pengambilan semula memori, penyuntikan kemahiran dan penyegaran token penyedia dijalankan pada gelung peristiwa yang sama seperti GET /healthz dan papan pemuka. Semua itu bukan utas pekerja.

Kerja Kod Lalai Kawalan pengendali
Pengekstrakan / pemerolehan semula memori src/lib/memory/ memoryEnabled papan pemuka (dihidupkan secara lalai) Matikan Tetapan → Memori. Tiada suis henti env berasingan selain daripada melumpuhkan ciri tersebut dalam tetapan.
Suntikan kemahiran src/lib/skills/injection.ts skillsEnabled papan pemuka (dihidupkan secara lalai) Matikan Tetapan → Memori/Kemahiran (skillsEnabled). Tombol kawalan sandbox di bawah hanya mengehadkan pelaksanaan selepas suntikan dihidupkan.
Penyegaran token src/sse/services/tokenRefresh.ts Dihidupkan untuk penyedia OAuth/web yang disambungkan Putuskan sambungan penyedia atau biarkan token kekal sah; pada masa ini tiada env TOKEN_REFRESH=0.

Jika /healthz perlahan pada mesin yang tidak sibuk, lumpuhkan memori + kemahiran terlebih dahulu, kemudian semak beban katalog/pemampatan (#10303, #9685). Ciri-ciri ini memberi laluan pada titik await, tetapi masih bersaing untuk satu utas.

Tombol kawalan lapisan pembenaman, stor vektor dan penarafan semula untuk subsistem memori berterusan (src/lib/memory/).

Pemboleh ubah Lalai Penerangan
MEMORY_EMBEDDING_CACHE_TTL_MS 300000 (5 min) TTL untuk cache pembenaman dalam memori (bagi setiap tandatangan sumber/model/dim).
MEMORY_EMBEDDING_CACHE_MAX 1000 Bilangan maksimum entri LRU yang dikekalkan dalam cache pembenaman.
MEMORY_TRANSFORMERS_MODEL Xenova/all-MiniLM-L6-v2 Id repo HF untuk saluran MiniLM setempat @huggingface/transformers yang perlu diikut serta (~23 MB int8, ~400 MB RAM).
MEMORY_STATIC_MODEL minishlab/potion-base-8M Id repo HF untuk pembenam jadual carian potion/Model2Vec statik. Dimuat turun secara malas ke dalam direktori cache.
MEMORY_STATIC_CACHE_DIR <DATA_DIR>/embeddings Direktori yang digunakan untuk menyimpan cache fail model potion statik. Secara lalai berada di bawah DATA_DIR apabila tidak ditetapkan.
HF_HUB_ENDPOINT https://huggingface.co Gantikan URL asas Hugging Face Hub yang digunakan oleh staticPotion.ts (cth. titik akhir cermin untuk persediaan terasing daripada rangkaian).
MEMORY_VEC_TOP_K 20 Top-K lalai yang digunakan oleh carian vektor daya kasar sqlite-vec dalam src/lib/memory/vectorStore.ts.
MEMORY_RRF_K 60 Pemalar Reciprocal Rank Fusion k untuk pemerolehan hibrid FTS5 + vektor (resipi sqlite-vec).
VECTOR_STORE_DISABLE_VEC false Titik sambungan ujian/diagnostik dalam getVectorStore() (src/lib/memory/vectorStore.ts): apabila true, memaksa stor vektor menjadi null (mensimulasikan persekitaran awan/WASM tanpa sqlite-vec), lalu menurunkan taraf pemerolehan memori kepada carian kata kunci FTS5. Biarkan tidak ditetapkan dalam pengeluaran.
NOTION_API_KEY (tidak ditetapkan) Kunci API untuk bahagian belakang Notion (digunakan oleh pratetap bahagian belakang yang diketahui dalam genericBackend.ts).
NOTION_API_URL https://api.notion.com/v1 URL asas untuk API Notion (boleh digantikan untuk alternatif Notion yang dihos sendiri).
OBSIDIAN_API_KEY (tidak ditetapkan) Kunci API untuk bahagian belakang Obsidian Vault (digunakan oleh pratetap bahagian belakang yang diketahui dalam genericBackend.ts).
OBSIDIAN_API_URL http://localhost:27123 URL asas untuk API Obsidian Vault (boleh digantikan untuk vault jauh).
MEMORY_TYPED_DECAY_ENABLED false Suis induk pereputan memori berjenis TV6. Perlu diikut serta (dimatikan secara lalai) — sapuan tersebut memadamkan memori yang telah mereput. Apabila dimatikan, access_count/last_accessed_at hanyalah telemetri dan tiada apa-apa yang akan dipadamkan.
MEMORY_TYPED_DECAY_EPISODIC_DAYS 30 TTL (hari) yang selepasnya memori episodic yang tidak digunakan akan mereput. 0 turut menjadikan episodik kebal. Jenis tahan lama (factual/procedural/semantic) sentiasa kebal. Jam pereputan diasaskan semula pada last_accessed_at.
MEMORY_TYPED_DECAY_ACCESS_IMMUNITY 3 Memori yang disuntik sebanyak >= kali ini menjadi kebal terhadap pereputan tanpa mengira jenis. 0 melumpuhkan kekebalan akses.
MEMORY_TYPED_DECAY_SWEEP_INTERVAL 0 (dilumpuhkan) Selang (saat) untuk sapuan pereputan berkala pilihan dalam src/lib/memory/typedDecay.ts. 0/tidak ditetapkan = tiada sapuan berkala. Perlu diikut serta dua kali: turut memerlukan MEMORY_TYPED_DECAY_ENABLED=true.
OMNIROUTE_STRICT_SYSTEM_PROVIDERS (tidak ditetapkan) Id penyedia dipisahkan koma (tidak sensitif huruf besar/kecil) yang menerima mesej system hanya pada indeks 0 (src/lib/memory/injection.ts). Bagi penyedia ini, penyisipan memori di tengah tatasusunan yang selamat untuk cache adalah tidak selamat dalam perbualan berbilang giliran, maka memori digabungkan/ditambahkan di hadapan sebagai mesej sistem pertama. Secara lalai hanya xiaomi-mimo/mimo; lanjutkan untuk titik akhir serasi OpenAI yang dihos sendiri (cth. Qwen3.5+/3.6) dengan templat sembang yang menguatkuasakan kekangan mesej sistem tunggal di hadapan yang sama.

Contoh Docker RAM Rendah

128 hanya untuk papan pemuka. Ejen pengekodan pada timbunan ini mengalami FATAL ERROR semasa /v1/responses yang panjang. Jangan gunakan contoh ini sebagai get laluan Claude/Codex/Grok.

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. Penyegerakan Harga

Penyegerakan automatik data harga model daripada sumber luaran.

Pemboleh Ubah Lalai Fail Sumber Penerangan
PRICING_SYNC_ENABLED false src/lib/pricingSync.ts Penyegerakan harga berkala secara ikut serta.
PRICING_SYNC_INTERVAL 86400 (24j) src/lib/pricingSync.ts Selang penyegerakan dalam saat.
PRICING_SYNC_SOURCES litellm src/lib/pricingSync.ts Sumber data yang dipisahkan dengan koma.

Penyegerakan ELO Arena

Pemboleh Ubah Lalai Fail Sumber Penerangan
ARENA_ELO_SYNC_ENABLED true src/shared/constants/featureFlagDefinitions.ts Penyegerakan ELO berkala papan pendahulu Arena AI, boleh dikonfigurasikan melalui Bendera Ciri Papan Pemuka atau menggunakan false untuk tidak menyertainya.
MODELS_CATALOG_PREFIX_MODE dual src/shared/constants/featureFlagDefinitions.ts, src/app/api/v1/models/catalog.ts Bentuk awalan yang digunakan untuk id model dalam GET /v1/models. dual mengiklankan kedua-dua awalan alias pendek dan awalan penyedia kanonik untuk setiap model (keserasian ke belakang — kira-kira menggandakan katalog); alias menghasilkan satu id bagi setiap model; canonical hanya menghasilkan awalan id penyedia penuh (penyedia yang aliasnya sudah merupakan id kanonik mengekalkan satu entri sahaja). Klien boleh mengatasi tetapan ini bagi setiap permintaan dengan ?prefix=alias. Lihat API_REFERENCE.
ARENA_ELO_SYNC_INTERVAL 86400 (24j) src/lib/arenaEloSync.ts Selang penyegerakan dalam saat.

Penyedia Playground PromptQL (Tidak Rasmi/Eksperimen)

Jambatan sesi GraphQL kejuruteraan terbalik untuk prompt.ql.app (src/shared/constants/providers/web-cookie.ts). Semuanya pilihan — nilai lalai menghala ke titik akhir playground awam; timpa hanya untuk penggunaan PromptQL yang dihoskan sendiri/alternatif.

Pemboleh Ubah Lalai Fail Sumber Penerangan
PROMPTQL_GRAPHQL_ENDPOINT https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql open-sse/executors/promptql.ts Titik akhir GraphQL yang digunakan untuk operasi sembang/sesi.
PROMPTQL_CREDITS_ENDPOINT https://data.pro.ql.app/v1/graphql open-sse/executors/promptql.ts, open-sse/services/usage/promptql.ts Titik akhir GraphQL yang digunakan untuk menanyakan baki/penggunaan kredit.
PROMPTQL_TOKEN_REFRESH_URL https://auth.pro.ql.app/ddn/project/token open-sse/executors/promptql.ts Titik akhir yang digunakan untuk percubaan terbaik menyegarkan semula token.
PROMPTQL_POLL_TIMEOUT_MS 180000 open-sse/executors/promptql.ts Masa maksimum (ms) untuk meninjau thread_events sebelum tamat masa.

Penyedia Web HyperAgent (Tidak Rasmi/Eksperimen)

Jambatan sesi kejuruteraan songsang untuk hyperagent.com (src/shared/constants/providers/web-cookie.ts). Pilihan — lalai menghala ke titik akhir pengebilan/penggunaan awam; ubah hanya untuk penggunaan HyperAgent hos kendiri/alternatif.

Pemboleh Ubah Lalai Fail Sumber Penerangan
HYPERAGENT_USAGE_URL https://hyperagent.com/api/settings/billing/usage open-sse/services/usage/hyperagent.ts Titik akhir yang digunakan untuk mendapatkan blok kredit pengebilan/penggunaan.

Kuota Penggunaan Kilo Code

Semakan baki USD peribadi dan penggunaan Kilo Pass untuk penyedia Kilo Code. Pilihan — lalai menghala ke API Kilo awam; ubah hanya untuk geganti/lekapan ujian. Pengesahan menggunakan token akses OAuth sedia ada bagi sambungan tersebut.

Pemboleh Ubah Lalai Fail Sumber Penerangan
KILO_API_URL https://api.kilo.ai open-sse/services/usage/kilocode.ts URL asas yang digunakan untuk mendapatkan baki Kilo Code peribadi dan penggunaan Kilo Pass.

Penyedia Web Adobe Firefly (Tidak Rasmi/Eksperimen)

Penyegaran sesi dipacu pelayar untuk penyedia web Adobe Firefly (open-sse/services/adobeFireflyBrowserLogin.ts, open-sse/services/adobeFireflySession.ts, open-sse/services/adobeFireflyClient.ts). Pilihan — semua lalai ditala untuk pemasangan desktop biasa.

Dialih keluar dalam #9255. Masa jalan Chrome lama yang dilampirkan melalui CDP (adobeFireflyChromeRuntime.ts) telah digantikan dengan perkhidmatan log masuk pelayar Playwright dan tetapannya tidak lagi wujud. Pemboleh ubah ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART, serta ADOBE_FIREFLY_LOGIN_WAIT_MS dan ADOBE_FIREFLY_FORTER_WAIT_MS, tidak dibaca di mana-mana dalam pangkalan kod — menetapkannya tidak memberikan sebarang kesan.

Pemboleh Ubah Lalai Fail Sumber Penerangan
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts Tetapkan kepada 1 untuk Chrome tanpa kepala sebenar (diketahui rosak untuk penjanaan; penyahpepijatan sahaja).
ADOBE_FIREFLY_BROWSER_REFRESH 1 open-sse/services/adobeFireflySession.ts Pilihan ikut serta/keluar pemanasan pelayar proaktif. 0 menyahdayakan pemanasan proaktif (pemulihan 408 di pertengahan kelompok masih digunakan).
ADOBE_FIREFLY_SESSION_DISK 1 open-sse/services/adobeFireflySession.ts Tetapkan kepada 0 untuk menyahdayakan penyimpanan berterusan sesi Adobe Firefly pada cakera.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS (tidak ditetapkan) open-sse/services/adobeFireflySession.ts Selang minimum (ms) yang dikuatkuasakan antara penyerahan berturut-turut, mengatasi lalai terbina dalam.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS (tidak ditetapkan) open-sse/services/adobeFireflySession.ts Selang tambahan (ms) yang ditambah selepas kelompok berjaya, mengatasi lalai terbina dalam.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS (tidak ditetapkan) open-sse/services/adobeFireflyClient.ts Kelewatan asas (ms) sebelum menyerahkan permintaan penjanaan, mengatasi lalai terbina dalam.

19. Penyegerakan Model (Pembangunan)

Pemboleh Ubah Lalai Fail Sumber Penerangan
MODELS_DEV_SYNC_ENABLED (tidak ditetapkan) src/lib/modelsDevSync.ts Pengatasan mutlak untuk penyegerakan harga models.dev. Tidak ditetapkan = patuhi Tetapan > AI (modelsDevSyncEnabled). 0/false/off/no mengatasi DB dan melangkau kedua-dua penyegerakan berkala serta imbasan SQL/JSON getModelsDevPricing() (pemulihan apabila papan pemuka tersekat pada gelung peristiwa yang sama). 1/true/on/yes memaksa penyegerakan diaktifkan. Penyimpanan/pengosongan harga masih memanggil backupDbFile("pre-write"), yang tidak melakukan apa-apa di bawah pendikitan 60 minit atau DISABLE_SQLITE_AUTO_BACKUP.
MODELS_DEV_SYNC_INTERVAL 86400 (24j) src/lib/modelsDevSync.ts Selang penyegerakan katalog model semasa pembangunan dalam saat.
CONTEXT_WINDOW_RECONCILE_INTERVAL 86400 (24j) src/lib/contextWindowResolver.ts Selang (saat) untuk penyelaras tetingkap konteks pembetulan kendiri (5004): menetapkan tetingkap yang diisytiharkan penyedia daripada penemuan /models sebagai pengatasan auto:discovery apabila ia berbeza daripada katalog. Tetapkan kepada 0 untuk menyahdayakan. Menggunakan semula data yang telah disegerakkan (tiada pengambilan baharu); tidak pernah menulis ganti pengatasan manual.

20. Tetapan Khusus Penyedia

Pemboleh ubah Lalai Fail Sumber Penerangan
OPENROUTER_CATALOG_TTL_MS 86400000 (24j) src/lib/catalog/openrouterCatalog.ts TTL cache katalog model OpenRouter.
MODEL_CATALOG_INCLUDE_NAMES true src/shared/constants/featureFlagDefinitions.ts Sertakan medan name yang mesra paparan dalam respons /v1/models. Nyahdayakan untuk klien yang hanya menjangkakan ID.
CATALOG_BUILD_TIMEOUT_MS 8000 (8s) src/app/api/v1/models/catalogCache.ts Had menunggu laluan sejuk untuk pembinaan semula katalog GET /v1/models yang digabungkan (#12627). Apabila tamat masa, respons 200 terakhir yang baik akan disampaikan jika ada.
OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS 2592000000 (30 hari) src/lib/db/models/activeSyncedCatalog.ts Tempoh selepas senarai model tersegerak bagi sesuatu sambungan tidak lagi dianggap berwibawa untuk penghalaan dan beralih kepada pendaftaran jika gagal (#12849). Baris yang tidak pernah mempunyai cap masa dianggap lapuk.
NANOBANANA_POLL_TIMEOUT_MS 120000 open-sse/handlers/imageGeneration.ts Tempoh menunggu maksimum untuk tugas penjanaan imej NanoBanana.
NANOBANANA_POLL_INTERVAL_MS 2500 open-sse/handlers/imageGeneration.ts Kekerapan peninjauan tugas NanoBanana.
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyUpscale.ts Kelewatan asas untuk undur eksponen percubaan semula penyerahan peningkatan skala Adobe Firefly.
AWS_REGION (tidak ditetapkan) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts Rantau yang digunakan untuk membina titik akhir AWS Bedrock (Kiro, audio).
AWS_DEFAULT_REGION (tidak ditetapkan) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts Nilai sandaran apabila AWS_REGION tidak ditetapkan.
CLOUDFLARE_ACCOUNT_ID (tidak ditetapkan) open-sse/executors/cloudflare-ai.ts ID akaun untuk Cloudflare Workers AI.
CLOUDFLARE_PLAYGROUND_CHROME_PATH (tidak ditetapkan) open-sse/executors/cloudflare-playground.ts Laluan penuh binari Chrome desktop untuk pelaksana Cloudflare AI Playground, digunakan apabila semakan cap jari tanpa kepala menyekat Chromium terbina dalam Playwright.
CLOUDFLARE_API_BASE https://api.cloudflare.com/client/v4 src/app/api/settings/proxy/cloudflare-deploy/route.ts Gantikan asas API REST Cloudflare yang digunakan oleh pelaksana geganti Workers kumpulan proksi (#4640 / 9router#1360).
NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx Nama projek worker lalai yang dicadangkan dalam modal "Gunakan Geganti" kumpulan proksi.
NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Tetapkan kepada false untuk menyembunyikan pilihan geganti Cloudflare Workers daripada tab Kumpulan Proksi.
CLOUDFLARED_BIN pengesanan automatik src/lib/cloudflaredTunnel.ts Laluan tersuai kepada binari cloudflared.
CLOUDFLARED_PROTOCOL http2 src/lib/cloudflaredTunnel.ts Protokol pengangkutan terowong: http2 (lalai), quic, atau auto.
CLOUDFLARED_CONFIG (tidak ditetapkan) src/lib/cloudflaredTunnel.ts Laluan kepada config.yml cloudflared yang diurus secara setempat (dengan tunnel:, credentials-file:, ingress:). Apabila ditetapkan, OmniRoute menjalankan tunnel --config <path> run (terowong bernama) dan bukannya terowong pantas sementara.
CLOUDFLARED_HOSTNAME (daripada ingress konfigurasi) src/lib/cloudflaredTunnel.ts Gantian untuk nama hos awam terowong bernama (cth. ai.example.com), yang dilaporkan sebagai publicUrl/apiUrl. Apabila tidak ditetapkan, ia dibaca daripada nama hos ingress pertama dalam konfigurasi.
DENO_DEPLOY_API_BASE https://api.deno.com/v2 src/app/api/settings/proxy/deno-deploy/route.ts Gantikan asas REST API Deno Deploy yang digunakan oleh pengatur kedudukan geganti kumpulan proksi (#4643 / 9router#1437).
NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT omniroute-deno-relay src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx Nama aplikasi Deno Deploy lalai yang dicadangkan dalam modal "Deploy Relay" kumpulan proksi.
NEXT_PUBLIC_DENO_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx Tetapkan kepada false untuk menyembunyikan pilihan geganti Deno Deploy daripada tab Kumpulan Proksi.
SEARCH_CACHE_TTL_MS 300000 (5 minit) open-sse/services/searchCache.ts TTL untuk pencachean respons API carian (Perplexity, Brave, dll.).
ENABLE_CC_COMPATIBLE_PROVIDER false src/shared/utils/featureFlags.ts Paparkan UI penyedia serasi CC yang eksperimental untuk geganti Claude Code sahaja.
NINEROUTER_HOST 127.0.0.1 open-sse/executors/ninerouter.ts Gantikan hos tempat tika 9router terbenam mendengar.
NINEROUTER_PORT 20130 open-sse/executors/ninerouter.ts Gantikan port tempat tika 9router terbenam mendengar.
EMBED_WS_PROXY_HOST 127.0.0.1 src/lib/services/embedWsProxy.ts Hos pengikatan untuk proksi WebSocket perkhidmatan terbenam (gelung balik sahaja secara lalai).
EMBED_WS_PROXY_PORT 20131 src/lib/services/embedWsProxy.ts Port untuk pelayan proksi WebSocket perkhidmatan terbenam.
CLIPROXYAPI_HOST 127.0.0.1 open-sse/executors/cliproxyapi.ts Hos jambatan CLIProxyAPI (penyepaduan legasi).
CLIPROXYAPI_PORT 5544 open-sse/executors/cliproxyapi.ts Port jambatan CLIProxyAPI.
CLIPROXYAPI_API_KEY (kosong) open-sse/handlers/chatCore/cliproxyapiCredentials.ts Kunci sandaran bidang data apabila tetapan cliproxyapi_api_key tiada.
CLIPROXYAPI_MANAGEMENT_KEY (kosong) src/lib/services/cliproxyAccountHealth.ts Kunci pengurusan untuk pembacaan kesihatan akaun daripada tika CLIProxyAPI yang diurus secara luaran.
CLIPROXYAPI_CONFIG_DIR ~/.cli-proxy-api src/lib/versionManager/processManager.ts Direktori konfigurasi CLIProxyAPI.
CLIPROXY_BIND_HOST 127.0.0.1 docker-compose.yml Antara muka hos tempat docker-compose menerbitkan sidecar cliproxyapi (#12578). Volum datanya menyimpan kelayakan OAuth/API penyedia dan imej yang dipinkan tidak mempunyai penggantian api-keys bidang data berasaskan env (hanya config.yaml yang dilekapkan), jadi 0.0.0.0 mendedahkan perkhidmatan yang mengandungi kelayakan kepada seluruh LAN.
MUX_SERVICE_PORT 8322 src/lib/services/bootstrap.ts Gantikan port tempat daemon pengorkestraan ejen Mux (coder/mux) terbenam mendengar (sentiasa 127.0.0.1).
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Hos pengikatan/sambungan perkhidmatan terbenam Dario (gelung balik sahaja secara lalai).
DARIO_PORT 3456 open-sse/executors/dario.ts Port perkhidmatan terbenam Dario.
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Hos pengikatan/sambungan perkhidmatan terbenam Dario (gelung balik sahaja secara lalai).
DARIO_PORT 3456 open-sse/executors/dario.ts Port perkhidmatan terbenam Dario.
LOCAL_HOSTNAMES (kosong) open-sse/config/providerRegistry.ts Nama hos tambahan yang dipisahkan dengan koma dan dianggap sebagai "setempat" (nama perkhidmatan Docker, dsb.).

ENABLE_CC_COMPATIBLE_PROVIDER hanya untuk geganti pihak ketiga yang menerima klien Claude Code secara eksklusif. OmniRoute menulis semula permintaan supaya geganti tersebut menerimanya. Jika anda hanya mahu menggunakan Claude Code CLI, atau anda tidak pasti tentang geganti ini, biarkan ciri ini dinyahdayakan dan tambahkan penyedia biasa yang serasi dengan Anthropic.


21. Kesihatan Proksi

Pemboleh Ubah Lalai Fail Sumber Penerangan
PROXY_FAST_FAIL_TIMEOUT_MS 2000 src/lib/proxyHealth.ts Tamat masa pemeriksaan kesihatan gagal pantas.
PROXY_LATENCY_WINDOW_HOURS 3 src/lib/db/proxies.ts Tetingkap masa (jam) untuk mengira kependaman purata proksi calon dalam strategi kumpulan yang dioptimumkan untuk kependaman.
PROXY_HEALTH_CACHE_TTL_MS 30000 src/lib/proxyHealth.ts TTL cache hasil pemeriksaan kesihatan.
PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS 2000 src/lib/proxyHealth.ts TTL cache untuk siasatan kesihatan proksi yang gagal. Pastikan nilai ini lebih pendek daripada PROXY_HEALTH_CACHE_TTL_MS supaya tamat masa proksi sementara di bawah konkurensi tinggi dicuba semula dengan cepat tanpa menyahdayakan mekanisme gagal pantas bagi proksi yang benar-benar tidak berfungsi.
PROXY_HEALTH_ENABLED true src/lib/proxyHealth/scheduler.ts Tetapkan kepada false untuk menyahdayakan penjadual kesihatan proksi latar belakang yang menyiasat proksi berdaftar secara berkala.
PROXY_HEALTH_INTERVAL_MS 600000 src/lib/proxyHealth/scheduler.ts Selang sapuan penjadual kesihatan latar belakang dalam ms (minimum 60000).
PROXY_HEALTH_TEST_URL https://httpbin.org/ip src/lib/proxyHealth/probeTarget.ts Sasaran siasatan kebolehcapaian yang digunakan oleh penjadual dan titik akhir /api/settings/proxies/auto-test. Tetapkannya kepada URL dalaman/dihoskan sendiri untuk mengelakkan penggunaan nilai lalai awam.
PROXY_HEALTH_TEST_CONCURRENCY 10 src/lib/proxyHealth/probeTarget.ts Bilangan siasatan yang dimulakan serentak bagi setiap kelompok, dikongsi oleh penjadual dan titik akhir /api/settings/proxies/auto-test. Dibundarkan ke bawah dengan nilai minimum 1 dan dihadkan kepada 50.
PROXY_HEALTH_TEST_STAGGER_MS 100 src/lib/proxyHealth/probeTarget.ts Lengahan dalam ms antara pelepasan dua siasatan dalam sesuatu kelompok. Tanpanya, seluruh kelompok dilepaskan pada masa yang sama dan IP keluar yang dikongsi boleh mencetuskan pengehadan kadar pada sasaran. Tetapkan kepada 0 untuk melumpuhkan penjarakan; dihadkan kepada 5000.
PROXY_HEALTH_USE_PROVIDER_TARGET true src/lib/proxyHealth/providerProbeTarget.ts Tetapkan "false" untuk berhenti menyiasat hos sebenar penyedia yang ditetapkan kepada proksi (GET /models, tanpa kunci API) dan sebaliknya sentiasa menggunakan PROXY_HEALTH_TEST_URL.
PROXY_HEALTH_AUTO_DEACTIVATE false src/lib/proxyHealth/statusPolicy.ts Apabila false (lalai), siasatan kebolehcapaian automatik (penjadual + butang "Uji Semua" /api/settings/proxies/auto-test) adalah baca sahaja dan tidak pernah menulis status proksi — hanya pengendali menetapkan aktif/tidak aktif, supaya siasatan yang tidak stabil tidak menyebabkan proksi yang ditetapkan terkandas (#6246). Tetapkan true untuk memulihkan tingkah laku uji-dan-tetap yang lama.
PROXY_POOL_EGRESS_OBSERVATION false src/shared/utils/featureFlags.ts Bendera ciri ikut serta (lihat FEATURE_FLAGS.md; penggantian DB papan pemuka diberi keutamaan). true (atau 1, yes) memaparkan pemerhatian keluar kelompok baca sahaja di bawah kelompok proksi dalam papan pemuka (IP keluar yang berbeza, sambungan dan bilangan terbanyak yang dilihat di belakang satu IP sepanjang 24 jam lalu, daripada log proksi). Tidak pernah digunakan untuk penghalaan.
PROXY_AUTO_REMOVE false src/lib/proxyHealth/scheduler.ts Tetapkan true untuk membolehkan penjadual mengalih keluar proksi secara automatik selepas kegagalan berturut-turut yang berulang.
PROXY_AUTO_REMOVE_AFTER 3 src/lib/proxyHealth/scheduler.ts Bilangan kegagalan berturut-turut sebelum penjadual mengalih keluar proksi secara automatik (apabila PROXY_AUTO_REMOVE=true).
PROXY_AUTO_DISABLE false src/lib/proxyHealth/scheduler.ts Tetapkan kepada true untuk membolehkan penjadual menyahdayakan proksi secara lembut (status dead, tidak pernah dipadamkan) selepas kegagalan berturut-turut yang berulang, dan bukannya mengalih keluarnya. Alternatif tanpa pemusnahan kepada PROXY_AUTO_REMOVE: proksi dikeluarkan daripada penyelesaian kumpulan/putaran serta-merta (penapis status hidup yang digunakan oleh penyelesaian kumpulan skop sudah mengecualikannya) dan diaktifkan semula secara automatik sebaik sahaja ia kembali melepasi pemeriksaan. Berkongsi ambang PROXY_AUTO_REMOVE_AFTER. Jika kedua-dua bendera ialah true, PROXY_AUTO_REMOVE diutamakan.
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK false src/shared/constants/featureFlagDefinitions.ts Benarkan aliran pengesahan OAuth dan penyedia memintas proksi yang ditetapkan serta menyambung secara langsung apabila prapemeriksaan kebolehcapaian proksi gagal. Keutamaan yang berkuat kuasa ialah penggantian DB Bendera Ciri > pemboleh ubah persekitaran > lalai.
RATE_LIMIT_MAX_WAIT_MS 30000 (30s) open-sse/services/rateLimitManager.ts Masa maksimum untuk menunggu respons 429 sebelum permintaan digagalkan.
RATE_LIMIT_EXECUTION_MAX_WAIT_MS 600000 (10 min) open-sse/services/rateLimitManager.ts Had maksimum tempoh permintaan yang diterima boleh kekal dalam pelaksanaan sebelum tempahan had kadarnya tamat tempoh — dipisahkan daripada peruntukan masa menunggu baris gilir supaya permulaan pengambilan yang perlahan pada get laluan bukan tokokan tidak tamat masa (#12027).
RATE_LIMIT_MAX_QUEUE_DEPTH 0 (dinyahdayakan) open-sse/services/rateLimitManager.ts Had penerimaan baris gilir: tolak dengan respons 429 queue_full apabila bilangan permintaan yang sedang beratur telah mencapai nilai ini. 0 = tanpa had (lalai).
RATE_LIMIT_AUTO_ENABLE (tidak ditetapkan) open-sse/services/rateLimitManager.ts Paksa jaringan keselamatan had kadar didayakan atau dinyahdayakan secara automatik tanpa mengambil kira tetapan Papan Pemuka yang disimpan. Menerima true/1/on untuk memaksa pengaktifan, false/0/off untuk memaksa penyahaktifan.
PROVIDER_COOLDOWN_ENABLED (tidak ditetapkan → dimatikan) open-sse/services/providerCooldownTracker.ts Penjejakan tempoh bertenang penyedia/sambungan global merentas permintaan yang perlu dipilih untuk digunakan. DIMATIKAN secara lalai (bertindih dengan Tempoh Bertenang Sambungan / Pemutus Litar Penyedia). Menerima true/1/on untuk mendayakan.
PROVIDER_COOLDOWN_MIN_MS 5000 open-sse/services/providerCooldownTracker.ts Tempoh bertenang minimum (ms) sebelum penyedia/sambungan yang gagal dicuba semula. Diskalakan secara eksponen mengikut kegagalan berturut-turut. Hanya digunakan apabila PROVIDER_COOLDOWN_ENABLED.
PROVIDER_COOLDOWN_MAX_MS 300000 (5 min) open-sse/services/providerCooldownTracker.ts Had tempoh bertenang maksimum (ms) sebelum penyedia/sambungan yang gagal dicuba semula tanpa mengira keadaan. Hanya digunakan apabila PROVIDER_COOLDOWN_ENABLED.
STREAM_RECOVERY_ENABLED (tidak ditetapkan → dimatikan) src/lib/resilience/settings.ts (nilai awal) → open-sse/services/streamRecovery.ts (logik) Apa: pemulihan telus bagi strim huluan yang terpotong (port free-claude-code). Menahan tetingkap SSE pembukaan sehingga STREAM_RECOVERY.HOLDBACK_MS (750 ms) supaya pemotongan pra-komit — yang berlaku sebelum sebarang bait sampai kepada klien — dibuka semula dan dicuba semula secara tidak kelihatan. Bila perlu didayakan: huluan yang tidak stabil/kerap terpotong kepada 0 bait pada permulaan strim; biarkan DIMATIKAN jika anda tidak mampu menerima tambahan masa sehingga 750 ms untuk token pertama pada setiap strim. Menerima true/1/on. Menetapkan nilai awal bagi tetapan Daya Tahan yang disimpan; tetapan Papan Pemuka akan diutamakan selepas ditetapkan.
STREAM_RECOVERY_MIDSTREAM_ENABLED (tidak ditetapkan → dimatikan) src/lib/resilience/settings.ts (nilai awal) → open-sse/services/streamRecovery.ts (logik) Apa: penerusan pertengahan strim (Fasa 4.4) — selepas pemotongan pasca-komit (bait telah sampai kepada klien), buat permintaan semula dengan teks separa sebagai praisi pembantu dan cantumkan akhiran yang hilang. Hanya untuk strim teks biasa yang serasi dengan OpenAI; tidak akan dicetuskan apabila panggilan alat sedang berlangsung. Bila perlu didayakan: penjanaan panjang yang terpotong di pertengahan jawapan dan anda menerima bahagian akhir yang dipulihkan tiba dalam satu kelompok dan bukannya token demi token. Tidak bergantung pada STREAM_RECOVERY_ENABLED (profil risiko yang berbeza). Menerima true/1/on.
STREAM_THROUGHPUT_WATCHDOG_ENABLED (tidak ditetapkan → dimatikan) src/lib/resilience/settings.tsopen-sse/services/throughputWatchdog.ts Pemantau output berguna bagi strim aktif yang perlu didayakan secara pilihan. Mengesan strim yang terus menghantar ketulan tetapi kekal di bawah kadar output pembantu yang dikonfigurasikan; denyutan jantung, peristiwa penggunaan, delta kosong serta fasa alat/penaakulan tidak dianggap sebagai kemajuan. Berasingan daripada tamat masa melahu dan tarikh akhir mutlak.
STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS 30000 src/lib/resilience/settings/normalize.ts Tempoh ihsan sebelum penilaian daya pemprosesan, dihadkan kepada 0600000 ms.
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS 30000 src/lib/resilience/settings/normalize.ts Tetingkap output berguna bergulir, dihadkan kepada 1000600000 ms; satu tetingkap lengkap diperlukan sebelum dihentikan.
STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND 4 src/lib/resilience/settings/normalize.ts Kadar bait minimum output pembantu UTF-8 (proksi token konservatif), dihadkan kepada 11000000.
STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES 1 src/lib/resilience/settings/normalize.ts Sampel output berguna bukan sifar minimum yang dianggap boleh diukur, dihadkan kepada 11000000 bait.
HEALTHCHECK_STAGGER_MS 3000 src/lib/tokenHealthCheck.ts Selang berperingkat (ms) antara semakan kesihatan token penyedia semasa permulaan.
HEALTHCHECK_JITTER_MIN_MS 500 src/lib/tokenHealthCheck.ts Jiter rawak minimum (ms) yang ditambahkan di atas HEALTHCHECK_STAGGER_MS antara semakan kesihatan token penyedia untuk mengelakkan ledakan (Isu #1220).
HEALTHCHECK_JITTER_MAX_MS 5000 src/lib/tokenHealthCheck.ts Jiter rawak maksimum (ms) yang ditambahkan di atas HEALTHCHECK_STAGGER_MS antara semakan kesihatan token penyedia untuk mengelakkan ledakan (Isu #1220).
HEALTHCHECK_BATCH_SIZE 20 src/lib/tokenHealthCheck.ts Saiz kelompok semakan serentak untuk imbasan pemeriksaan kesihatan token semasa permulaan; nilai yang lebih besar menyemak lebih banyak sambungan secara selari, manakala nilai yang lebih kecil mengurangkan beban mendadak (Isu #7875, regresi bagi #7719).
REQUEST_RETRY 2 src/sse/services/cooldownAwareRetry.ts Bilangan percubaan semula automatik bagi respons tempoh bertenang pada skop model sebelum mengembalikan ralat kepada klien.
MAX_RETRY_INTERVAL_SEC 30 src/sse/services/cooldownAwareRetry.ts Selang masa tunggu balik maksimum (saat) antara percubaan semula semasa tempoh bertenang. Dihadkan oleh nilai ini tanpa mengira Retry-After daripada huluan.
HEADROOM_URL http://localhost:8787 src/lib/headroom/detect.ts URL proksi penjimat token Headroom. Kitaran hayat papan pemuka (api/headroom/*) memulakan CLI headroom-ai setempat pada antara muka gelung balik secara lalai; ubah hanya untuk menghala ke proksi sidecar Docker luaran.

Pemalar penalaan pemulihan strim

Tingkah laku penahanan pemulihan ditala melalui pemalar berkod keras dalam open-sse/config/constants.ts (STREAM_RECOVERY), yang ditunjukkan di sini sebagai rujukan — mengubahnya memerlukan pengeditan kod, bukan pemboleh ubah persekitaran:

  • STREAM_RECOVERY.HOLDBACK_MS = 750 — tempoh tetingkap SSE pembukaan ditahan supaya pemotongan awal boleh dicuba semula sebelum sebarang bait diserahkan kepada klien.
  • STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536 — had keras bagi tetingkap yang ditahan; serahkan (kosongkan penimbal + laluan terus) sebaik sahaja bait sebanyak ini terkumpul, tanpa mengira pemasa.
  • STREAM_RECOVERY.EARLY_RETRY_MAX = 4 — bilangan maksimum pembukaan semula telus bagi strim huluan selagi penahanan masih belum diserahkan.

Had kadar tetingkap gelangsar bagi setiap penyedia (tiada pemboleh ubah persekitaran): sandaran had kadar tetingkap gelangsar bagi setiap penyedia yang diport daripada FCC wujud dalam kod (open-sse/services/providerDefaultRateLimit.ts, disambungkan melalui open-sse/services/rateLimitManager.ts) tetapi disertakan dengan peta lalai kosong dan pada masa ini tiada pemboleh ubah persekitaran pengendali — ia hanya didayakan melalui cangkuk ujian / pengeditan kod. Ia sengaja tidak disenaraikan dalam jadual di atas. Pengehad geganti bagi setiap (token, IP) yang sememangnya mempunyai tetapan ialah RELAY_IP_PER_MINUTE (§3 Rangkaian & Port).


22. Penyahpepijatan

Caution

Pemboleh ubah ini menghasilkan output terperinci dan mungkin membocorkan data sensitif. Jangan sekali-kali dayakan dalam persekitaran produksi.

Pemboleh Ubah Lalai Fail Sumber Penerangan
CURSOR_DEBUG (tidak ditetapkan) open-sse/executors/cursor.ts Tetapkan kepada 1 untuk mendayakan log pelaksana Cursor yang terperinci (ketulan SSE yang dinyahkod dan sebagainya).
CURSOR_STREAM_DEBUG (tidak ditetapkan) open-sse/executors/cursor.ts Alias serasi ke belakang bagi CURSOR_DEBUG.
CURSOR_DUMP_FILE (tidak ditetapkan) open-sse/executors/cursor.ts Laluan fail pilihan yang menerima ketulan mentah Cursor yang dinyahkod apabila CURSOR_DEBUG=1.
CURSOR_STREAM_TIMEOUT_MS 300000 open-sse/executors/cursor.ts Tamat masa melahu strim (ms) untuk pelaksana Cursor.
CURSOR_KV_GRACE_MS 2000 open-sse/executors/cursor.ts Tempoh kelonggaran (ms) selepas penamat lembut composer kv_after_text apabila bait masih dibufer — memberikan masa kepada panggilan alat exec_mcp di penghujung untuk melengkapkan bingkainya.
CURSOR_TOOL_DIRECTIVE didayakan (!== "0") open-sse/executors/cursor.ts Arahan komit alat yang memastikan composer-2.5 mengeluarkan panggilan alat dengan andal. Tetapkan kepada 0 untuk menyahdayakan.
OMNIROUTE_SYSTEM_INSTRUCTION_APPEND (tidak ditetapkan) open-sse/translator/request/claude-to-openai.ts, open-sse/translator/response/openai-to-claude.ts Teks gesaan sistem yang ditentukan oleh pengendali, ditambahkan pada mesej sistem SELEPAS terjemahan (suntikan pascaterjemahan), lalu mencapai laluan codex/Responses dan /v1/messages. Turut digunakan sebagai awalan arahan yang dibuang daripada blok mukadimah sistem yang digemakan. Biarkan tidak ditetapkan untuk menyahdayakan.
CURSOR_IMAGE_FETCH_TIMEOUT_MS 15000 open-sse/utils/cursorImages.ts Tamat masa pengambilan bagi setiap imej (ms) untuk input penglihatan image_url jauh.
CURSOR_STATE_DB_PATH (diperiksa) open-sse/utils/cursorVersionDetector.ts Mengatasi carian pangkalan data keadaan Cursor IDE yang digunakan untuk pengesanan versi IDE.
CURSOR_AGENT_CLI_VERSION (kesan / tetapkan) open-sse/utils/cursorAgentCliVersion.ts ID binaan Agent CLI (YYYY.MM.DD-<hash>) untuk x-cursor-client-version: cli-… pada Agent Run.
CURSOR_AGENT_BIN (tidak ditetapkan) open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Laluan ke perduaan Cursor Agent yang digunakan untuk penjanaan imej. Jika tidak ditetapkan, pengendali menggunakan providerSpecificData.agentBin, kemudian PATH.
CURSOR_IMG_TIMEOUT_MS 210000 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Masa jam dinding bagi setiap imej (ms) untuk tugas imej Cursor Agent.
CURSOR_IMG_MAX_CONCURRENT 2 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Had keserentakan tempat duduk dikongsi untuk tugas imej Cursor.
CURSOR_IMG_MODEL permintaan / auto open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Mengatasi --model Cursor CLI untuk tugas imej.
UC_IMAGE_POLL_INTERVAL_MS 2000 open-sse/handlers/imageGeneration/providers/ucImage.ts Kekerapan peninjauan hasil penjanaan imej UC (uncensored.com) (ms).
UC_IMAGE_POLL_TIMEOUT_MS 60000 open-sse/handlers/imageGeneration/providers/ucImage.ts Masa jam dinding peninjauan hasil penjanaan imej UC (ms).
UC_VIDEO_POLL_INTERVAL_MS 3000 open-sse/handlers/videoGeneration/providers/ucVideo.ts Kekerapan peninjauan hasil penjanaan video UC (uncensored.com) (ms).
UC_VIDEO_POLL_TIMEOUT_MS 300000 open-sse/handlers/videoGeneration/providers/ucVideo.ts Masa jam dinding peninjauan hasil penjanaan video UC (ms).
CURSOR_DATA_DIR (diperiksa) open-sse/utils/cursorAgentCliVersion.ts Mengatasi direktori data Cursor Agent CLI (…/versions/<id>); pemboleh ubah yang sama digunakan oleh ejen rasmi.
CURSOR_TOKEN (tidak ditetapkan) scripts/ad-hoc/cursor-tap.cjs Token pembawa Cursor langsung yang digunakan oleh alat pembangun.
OMNIROUTE_LOG_REQUEST_SHAPE dinyahdayakan (ikut serta melalui "1") src/app/api/v1/chat/completions/route.ts Log penanda jenis/panjang kandungan untuk muatan sembang yang besar apabila "1" ditetapkan. Dimatikan secara lalai untuk mengurangkan hingar log.
DEBUG_RESPONSES_SSE_TO_JSON (tidak ditetapkan) open-sse/handlers/responseTranslator.ts Tetapkan kepada true untuk merekodkan butiran terjemahan SSE→JSON Responses API.
DEBUG_CLAUDE_NONSTREAM (tidak ditetapkan) open-sse/handlers/responseTranslator.ts Tetapkan kepada true untuk mendedahkan ketulan textContent kosong dalam laluan terjemahan respons Claude (penyahpepijatan sahaja).
NEXT_PUBLIC_OMNIROUTE_E2E_MODE (tidak ditetapkan) abah-abah ujian E2E Tetapkan kepada true untuk mendayakan mod ujian E2E (pengesahan dilonggarkan, cangkuk ujian).

23. Integrasi GitHub

Benarkan pengguna melaporkan isu secara langsung daripada Dashboard.

Pemboleh Ubah Lalai Fail Sumber Penerangan
GITHUB_ISSUES_REPO (tidak ditetapkan) src/app/api/v1/issues/report/route.ts Repositori dalam format owner/repo.
GITHUB_ISSUES_TOKEN (tidak ditetapkan) src/app/api/v1/issues/report/route.ts Token Akses Peribadi GitHub dengan skop issues:write.
GITHUB_TOKEN (tidak ditetapkan) pembantu pengelasan isu / ejen awan Token akses GitHub generik yang digunakan sebagai pilihan sandaran untuk GITHUB_ISSUES_TOKEN dan digunakan oleh pembantu ejen awan dalam src/lib/cloudAgent/*.

Senario Penggunaan

Untuk panduan SRE bahagian belakang geganti (tingkah laku ts/bifrost/auto, penempatan 9router berbanding CLIProxyAPI, dan strategi sandaran daya pemprosesan tinggi), lihat Strategi Bahagian Belakang Geganti.

Pembangunan Setempat Minimum

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

Pengeluaran Docker

JWT_SECRET=<generated>
API_KEY_SECRET=<generated>
INITIAL_PASSWORD=<generated>
STORAGE_ENCRYPTION_KEY=<generated>
DATA_DIR=/data
PORT=20128
API_PORT=20129
NODE_ENV=production
AUTH_COOKIE_SECURE=true
REQUIRE_API_KEY=true
NEXT_PUBLIC_BASE_URL=https://omniroute.example.com
BASE_URL=http://localhost:20128
OMNIROUTE_MEMORY_MB=8192
CORS_ORIGIN=https://your-frontend.example.com

Persekitaran Terasing / CI

JWT_SECRET=test-jwt-secret-for-ci
API_KEY_SECRET=test-api-key-secret-for-ci
INITIAL_PASSWORD=testpass
NODE_ENV=production
OMNIROUTE_DISABLE_BACKGROUND_SERVICES=true
APP_LOG_TO_FILE=false

VPS dengan Proksi Songsang (nginx + Cloudflare)

JWT_SECRET=<generated>
API_KEY_SECRET=<generated>
STORAGE_ENCRYPTION_KEY=<generated>
PORT=20128
AUTH_COOKIE_SECURE=true
REQUIRE_API_KEY=true
NEXT_PUBLIC_BASE_URL=https://omniroute.example.com
BASE_URL=http://127.0.0.1:20128
CORS_ORIGIN=https://omniroute.example.com
ENABLE_TLS_FINGERPRINT=true
CLI_COMPAT_ALL=1

24. Kotak Pasir Kemahiran (v3.8.0+)

Had dan kawalan keselamatan yang digunakan apabila rangka kerja Kemahiran (src/lib/skills/) melaksanakan automasi takrifan pengguna dalam persekitaran kotak pasir.

Pemboleh Ubah Lalai Fail Sumber Penerangan
SKILLS_SANDBOX_TIMEOUT_MS 10000 (10 s) src/lib/skills/builtins.ts Tamat masa jam dinding bagi setiap pelaksanaan untuk kod kemahiran dalam kotak pasir. Had mutlak; apa-apa yang mengambil masa lebih lama akan dihentikan.
SKILLS_EXECUTION_TIMEOUT_MS (kembali kepada SKILLS_SANDBOX_TIMEOUT_MS) src/lib/skills/ Tamat masa orkestrasi kemahiran peringkat tinggi. Tetapkan lebih tinggi daripada SKILLS_SANDBOX_TIMEOUT_MS untuk membenarkan aliran kerja berbilang langkah.
SKILLS_MAX_FILE_BYTES 1048576 (1 MB) src/lib/skills/builtins.ts Bilangan bait maksimum yang boleh dibaca oleh sesuatu kemahiran daripada mana-mana satu fail dalam kotak pasir.
SKILLS_MAX_HTTP_RESPONSE_BYTES 256000 (250 KB) src/lib/skills/builtins.ts Bilangan bait maksimum yang ditangkap daripada mana-mana satu respons HTTP dalam sesuatu kemahiran.
SKILLS_MAX_SANDBOX_OUTPUT_CHARS 100000 src/lib/skills/builtins.ts Had mutlak bagi aksara stdout/stderr yang dikembalikan daripada panggilan kotak pasir.
SKILLS_SANDBOX_NETWORK_ENABLED false src/lib/skills/builtins.ts Tetapkan 1/true untuk membenarkan rangkaian keluar dari dalam kotak pasir. Secara lalai, ia diasingkan demi keselamatan.
SKILLS_ALLOWED_SANDBOX_IMAGES (kosong) src/lib/skills/builtins.ts Senarai imej bekas yang dibenarkan untuk pelaksanaan kotak pasir, dipisahkan dengan koma. Kosong bermaksud lalai terbina dalam sahaja.
SKILLS_SANDBOX_DOCKER_IMAGE (lalai terbina dalam) src/lib/skills/ Imej bekas yang digunakan semasa menghasilkan kotak pasir berasaskan Docker. Gantikan untuk menetapkan imej asas tersuai yang diperkukuh.
SKILLS_SANDBOX_RUNTIME auto src/lib/skills/sandbox.ts, src/lib/skills/containerProvider.ts Masa jalan bekas untuk pengotakpasiran kemahiran: auto | docker | apple | wsl | orbstack | podman. auto memilih masa jalan terpasang yang terbaik bagi setiap OS hos (Apple Container/OrbStack pada macOS, WSL Container pada Windows, Podman pada Linux), dengan Docker sebagai sandaran.

Caution

Mendayakan SKILLS_SANDBOX_NETWORK_ENABLED=true membuka laluan trafik keluar daripada kod kemahiran sewenang-wenangnya. Gandingkan dengan OUTBOUND_SSRF_GUARD_ENABLED=true dan dasar CORS_ORIGIN/proksi yang ketat dalam pelaksanaan dikongsi.


25. Kuota Penyedia, Terowong, Sandaran & Lain-lain Masa Jalan

Titik akhir kuota penyedia, terowong rangkaian (Tailscale, Ngrok, proksi nyahpepijat MITM), kumpulan egress 1Proxy, sandaran pangkalan data dan penggantian kecil bagi setiap ciri yang dirujuk oleh lapisan pelaksana atau skrip.

Pemboleh Ubah Lalai Fail Sumber Penerangan
REDIS_URL redis://localhost:6379 src/shared/utils/rateLimiter.ts Rentetan sambungan Redis untuk bahagian belakang pengehad kadar.
ALIBABA_CODING_PLAN_HOST (hos pengeluaran) open-sse/services/bailianQuotaFetcher.ts Gantikan hos yang digunakan untuk mendapatkan kuota pelan pengekodan Alibaba Bailian.
ALIBABA_CODING_PLAN_QUOTA_URL diperoleh daripada hos open-sse/services/bailianQuotaFetcher.ts Penggantian URL kuota penuh untuk Alibaba Bailian.
QWEN_CLOUD_COOKIE (tidak ditetapkan) open-sse/services/qwenTokenPlanQuotaFetcher.ts Kuki sesi konsol untuk get laluan kuota Pelan Token peribadi Qwen Cloud / Model Studio (kunci API inferens tidak boleh membacanya). Salin keseluruhan pengepala permintaan Cookie — yang mengandungi login_qwencloud_ticket — daripada mana-mana panggilan api.json kepada cs-data.qwencloud.com di home.qwencloud.com Billing Subscription (F12 Network). Sensitif dan terikat pada sesi; utamakan medan Papan Pemuka qwenCloudCookie bagi setiap sambungan.
QWEN_CLOUD_SEC_TOKEN (tidak ditetapkan) open-sse/services/qwenTokenPlanQuotaFetcher.ts Penggantian manual sec_token untuk get laluan konsol Pelan Token. Sensitif; apabila tidak ditetapkan, pengambil mendapatkannya daripada HTML papan pemuka menggunakan kuki.
QWEN_TOKEN_PLAN_HOST https://cs-data.qwencloud.com open-sse/services/qwenTokenPlanQuotaFetcher.ts Penggantian hos get laluan untuk pengambil kuota Pelan Token peribadi (cth. bailian-singapore-cs.alibabacloud.com untuk konsol Model Studio).
QWEN_TOKEN_PLAN_DASHBOARD_URL https://home.qwencloud.com/ open-sse/services/qwenTokenPlanQuotaFetcher.ts URL papan pemuka yang digunakan untuk mendapatkan sec_token daripada HTML selepas log masuk.
ALIBABA_FREE_TIER_VISION_FE_PATH /costing-balance/free-quota-image-video open-sse/services/alibabaFreeTierQuotaFetcher.ts Penggantian laluan bahagian hadapan konsol untuk mendapatkan kuota penglihatan/media peringkat percuma Alibaba Model Studio.
ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH /costing-balance/free-quota-multimodal open-sse/services/alibabaFreeTierQuotaFetcher.ts Penggantian laluan bahagian hadapan konsol untuk mendapatkan kuota multimodal peringkat percuma Alibaba Model Studio.
ALIBABA_FREE_TIER_AUDIO_FE_PATH /costing-balance/free-quota-audio open-sse/services/alibabaFreeTierQuotaFetcher.ts Penggantian laluan bahagian hadapan konsol untuk mendapatkan kuota audio peringkat percuma Alibaba Model Studio.
ALIBABA_FREE_TIER_ALLOWLIST_PATH (tidak ditetapkan) open-sse/services/alibabaFreeTierAllowlist.ts Laluan pilihan kepada fail JSON setempat yang menggantikan senarai dibenarkan terbina dalam bagi model teks peringkat percuma Alibaba. Jika tidak tersedia, menggunakan $DATA_DIR/alibaba-free-tier-allowlist.json, kemudian config/alibaba-free-tier-allowlist.json.
CONTEXT_RESERVE_TOKENS 1024 open-sse/services/contextManager.ts Token yang diperuntukkan bagi output pelengkapan semasa mengira belanjawan gesaan.
CONTEXT_KEEP_LATEST_IMAGES 2 open-sse/services/contextManager.ts Bilangan imej sebaris terbaharu yang perlu dikekalkan apabila memangkas imej lama agar muat dalam tetingkap konteks (#8560).
MODEL_ALIAS_COMPAT_ENABLED didayakan open-sse/services/model.ts Togol lapisan keserasian alias model legasi yang digunakan oleh klien lama.
OMNIROUTE_EMERGENCY_FALLBACK didayakan open-sse/services/emergencyFallback.ts Tetapkan kepada false (atau 0) untuk menyahdayakan sandaran kecemasan apabila belanjawan habis, yang menghalakan semula permintaan yang gagal kepada model percuma nvidia/openai/gpt-oss-120b. Keutamaan berkesan ialah penggantian DB Bendera Ciri > pemboleh ubah persekitaran > lalai; jika tidak tersedia, perkhidmatan kembali menggunakan nilai mentah pemboleh ubah persekitaran.
COMMAND_CODE_CALLBACK_PORT (tidak ditetapkan) src/app/api/providers/command-code/auth/shared.ts Port setempat yang digunakan untuk panggil balik gaya OAuth daripada pembantu CLI Command Code.
COMMAND_CODE_VERSION 0.33.2 open-sse/executors/commandCode.ts Nilai yang dihantar sebagai pengepala x-command-code-version kepada perkhidmatan huluan Command Code. Gantikan untuk menaik taraf versi CLI.
COMMANDCODE_API_URL https://api.commandcode.ai open-sse/services/usage/command-code.ts URL asas bagi perkhidmatan huluan penggunaan/kuota Command Code yang digunakan oleh telemetri pengambil kuota telefon pintar. Gantikan untuk API Command Code yang dihoskan sendiri/alternatif.
MITM_LOCAL_PORT 443 src/mitm/server.cjs Port pengikatan setempat untuk proksi nyahpepijat MITM.
MITM_DISABLE_TLS_VERIFY 0 src/mitm/server.cjs Tetapkan kepada 1 untuk menyahdayakan pengesahan TLS huluan (pembangunan sahaja).
MITM_IDLE_TIMEOUT_MS 60000 src/mitm/socketTimeouts.ts, src/mitm/server.cjs Tamat masa soket melahu (ms) untuk sambungan yang diproksikan; soket yang terus melahu selepas tempoh ini akan ditamatkan untuk mengelakkan kebocoran terowong separa terbuka.
MITM_VERBOSE 1 src/mitm/server.cjs, src/mitm/_internal/bypass.cjs Tahap perincian log keputusan penghalaan: 0 menyenyapkan log, manakala nilai yang lebih tinggi merekodkan lebih banyak keputusan pintasan/penghalaan.
MITM_ROOT_CA_ENABLED false src/mitm/manager.ts Tetapkan kepada true untuk memilih menyertai model sijil CA akar + sijil daun per hos (#6684). Pemasangan baharu mendapatkannya secara automatik; pemasangan dengan sijil daun legasi dipercayai yang sedia ada akan mengekalkan sijil SAN tetap legasi melainkan memilih untuk menyertai.
MITM_CERT_MODE legacy src/mitm/manager.ts, src/mitm/server.cjs Ditetapkan OLEH pengurus MITM untuk proses proksi yang dicetuskan (root-ca | legacy) — mencerminkan keputusan migrasi sijil; tidak dimaksudkan untuk ditetapkan secara manual.
OMNIROUTE_NO_SUDO 0 src/mitm/systemCommands.ts Tetapkan kepada 1 (benar) untuk membuang sudo di hadapan arahan kepercayaan sijil MITM — bagi penggunaan tanpa root / ruang nama pengguna apabila pengendali mempercayai CA secara manual (misalnya melalui mekanisme sijil CA tambahan Node).
SKIP_ANTIGRAVITY_DNS (tidak ditetapkan) src/mitm/dns/provision.ts Tetapkan kepada true untuk melangkau sepenuhnya penyediaan entri DNS /etc/hosts bagi nama hos proksi Antigravity — untuk bekas yang tidak mempunyai akses sudo/root.
OMNIROUTE_SKIP_DNS_WRITE (tidak ditetapkan) src/mitm/dns/dnsConfig.ts Tetapkan kepada 1 untuk melangkau penulisan ke fail hos semasa menambah/mengalih keluar entri DNS — untuk persekitaran ujian berkotak pasir atau baca sahaja.
OMNIROUTE_SKIP_SYSTEM_TRUST 0 src/mitm/cert/install.ts, src/mitm/tproxy/caTrust.ts Perlindungan untuk ujian/CI sahaja: tetapkan kepada 1 untuk menjadikan pemasangan/nyahpasang kepercayaan sijil sebagai operasi tanpa kesan supaya suit tidak pernah mengubah suai stor kepercayaan OS. Ditetapkan secara automatik oleh persediaan ujian dan aliran kerja CI.
CHANGELOG_BASE_REF (auto) scripts/check/check-changelog-integrity.mjs Rujukan asas eksplisit untuk get anti-pemadaman CHANGELOG (lalai kepada cabang asas PR dalam CI, atau release/v* tertinggi).
FREE_PROXY_AUTO_SYNC_ENABLED false src/lib/freeProxyProviders/scheduler.ts Tetapkan kepada true untuk mendayakan penjadual penyegerakan automatik kumpulan proksi percuma di latar belakang. Penyertaan secara pilihan, dilumpuhkan secara lalai.
FREE_PROXY_AUTO_SYNC_INTERVAL_MS 1800000 src/lib/freeProxyProviders/scheduler.ts Selang penyegerakan automatik dalam milisaat (lalai 30 minit).
FREE_PROXY_1PROXY_ENABLED true src/lib/freeProxyProviders/oneproxy.ts Dayakan sumber proksi percuma 1proxy. Tetapkan kepada false untuk melumpuhkannya.
FREE_PROXY_1PROXY_API_URL (lihat oneproxy.ts) src/lib/freeProxyProviders/oneproxy.ts Penggantian URL API 1proxy.
FREE_PROXY_1PROXY_MAX 500 src/lib/freeProxyProviders/oneproxy.ts Bilangan maksimum proksi yang diambil bagi setiap penyegerakan daripada 1proxy.
FREE_PROXY_1PROXY_MIN_QUALITY 50 src/lib/freeProxyProviders/oneproxy.ts Ambang skor kualiti minimum untuk import 1proxy.
FREE_PROXY_PROXIFLY_ENABLED true src/lib/freeProxyProviders/proxifly.ts Dayakan sumber proksi percuma Proxifly. Tetapkan kepada false untuk melumpuhkannya.
FREE_PROXY_PROXIFLY_QUANTITY 100 src/lib/freeProxyProviders/proxifly.ts Bilangan proksi untuk diambil bagi setiap penyegerakan Proxifly.
FREE_PROXY_PROXIFLY_ANONYMITY elite src/lib/freeProxyProviders/proxifly.ts Penapis tahap ketanpanamaan untuk Proxifly (elite, anonymous, transparent).
FREE_PROXY_IPLOCATE_ENABLED false src/lib/freeProxyProviders/iplocate.ts Dayakan sumber proksi percuma IPLocate. Pilihan ikut serta sahaja.
FREE_PROXY_IPLOCATE_BASE_URL https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols src/lib/freeProxyProviders/iplocate.ts Gantian URL asas senarai proksi IPLocate.
FREE_PROXY_WEBSHARE_ENABLED true src/lib/freeProxyProviders/webshare.ts Dayakan sumber kumpulan proksi Webshare. Tetapkan kepada false untuk melumpuhkannya; FREE_PROXY_WEBSHARE_API_KEY juga perlu ditetapkan.
FREE_PROXY_WEBSHARE_API_KEY (tiada) src/lib/freeProxyProviders/webshare.ts Token API akaun Webshare (Authorization: Token <key>). Diperlukan — penyedia kekal dilumpuhkan tanpanya.
FREE_PROXY_WEBSHARE_API_URL https://proxy.webshare.io/api/v2/proxy/list/ src/lib/freeProxyProviders/webshare.ts Gantian URL API senarai proksi Webshare.
FREE_PROXY_WEBSHARE_MAX 500 src/lib/freeProxyProviders/webshare.ts Bilangan maksimum proksi yang diimport bagi setiap penyegerakan Webshare.
NEXT_PUBLIC_VERCEL_RELAY_ENABLED true src/app/(dashboard)/…/ProxyPoolTab.tsx Tunjukkan/sembunyikan butang Deploy Vercel Relay dalam tab Proxy Pool.
VERCEL_API_BASE https://api.vercel.com src/app/api/settings/proxy/vercel-deploy/route.ts Gantian URL asas API Vercel (untuk pengujian).
NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/…/VercelRelayModal.tsx Nama projek lalai yang dipraisi dalam modal penggunaan Vercel Relay.
TAILSCALE_BIN (dikesan secara automatik) src/lib/tailscaleTunnel.ts Laluan eksplisit ke perduaan tailscale.
TAILSCALED_BIN (auto-kesan) src/lib/tailscaleTunnel.ts Laluan eksplisit kepada perduaan daemon tailscaled.
TAILSCALE_AUTHKEY (tidak ditetapkan) src/lib/tailscaleTunnel.ts Kunci pengesahan Tailscale prakongsi untuk tailscale up tanpa interaksi / tanpa paparan (diberikan melalui --auth-key=). Apabila tidak ditetapkan, log masuk akan kembali menggunakan URL pengesahan pelayar interaktif.
NGROK_AUTHTOKEN (tidak ditetapkan) src/lib/ngrokTunnel.ts Mengesahkan terowong ngrok keluar.
DB_BACKUP_MAX_FILES 20 src/lib/db/backup.ts Bilangan maksimum fail sandaran SQLite yang dikekalkan oleh pembersihan sandaran manual/berjadual. Syot kilat migrasi dialamatkan berdasarkan kandungan dan digunakan semula untuk keadaan DB yang serupa; syot kilat tersebut tidak dipangkas dalam tetingkap migrasi serentak. Mengatasi nilai yang disimpan daripada Tetapan → Pengekalan sandaran pangkalan data.
DB_BACKUP_RETENTION_DAYS 0 src/lib/db/backup.ts Umur maksimum (hari) yang dikekalkan oleh pembersihan sandaran manual/berjadual. 0 menyahdayakan pemangkasan berdasarkan umur. Syot kilat migrasi tidak dipangkas dalam tetingkap migrasi serentak. Mengatasi nilai yang disimpan daripada Tetapan → Pengekalan sandaran pangkalan data.
OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS 30000 src/lib/jobs/backupScheduleJob.ts Selang detik (ms) bagi tugas sisi pelayan yang melaksanakan backup-schedule.json. Nilai ini mesti kekal jauh di bawah kegranularan cron 1 minit; nilai di bawah 5000 atau yang tidak dapat dihuraikan akan kembali kepada 30000.
CONTAINER_HOST docker scripts/check-permissions.sh Petunjuk masa jalan bekas untuk pemeriksaan kebenaran titik masuk. Tetapkan kepada podman untuk sebarang topologi Podman. Oleh sebab bekas tidak dapat menentukan sama ada enjin itu setempat atau dicapai melalui Podman Machine, amaran tersebut kekal neutral terhadap topologi dan merujuk kepada contrib/podman/README.md.
QUOTA_STORE_DRIVER sqlite src/lib/quota/storeFactory.ts Bahagian belakang stor penggunaan perkongsian kuota: sqlite (lalai) atau redis.
QUOTA_STORE_REDIS_URL (tidak ditetapkan) src/lib/quota/storeFactory.ts Rentetan sambungan Redis yang digunakan apabila QUOTA_STORE_DRIVER=redis (cth. redis://localhost:6379).
QUOTA_SATURATION_THRESHOLD 0.5 src/lib/quota/enforce.ts Nisbah ketepuan kumpulan (0..1); apabila mencapai/melebihinya, kumpulan memasuki mod ketat (tiada peminjaman).
QUOTA_SOFT_DEPRIORITIZE_FACTOR 0.7 open-sse/services/combo.ts Pengganda skor (0..1) yang digunakan pada sasaran apabila dasar kuota lembut menurunkan keutamaannya.
STATUS_SOFT_DEPRIORITIZE_FACTOR 0.5 open-sse/services/combo/autoStrategy.ts Pengganda skor (0..1) yang digunakan pada penyedia yang telah kehabisan sumber (credits_exhausted/rate_limited) dalam pemarkahan auto-kombo apabila ambang kuota prapenerbangan DIMATIKAN (#4540).
QUOTA_CONSUMPTION_RETENTION_DAYS 14 src/lib/db/quotaConsumption.ts Tempoh pengekalan (hari) untuk bekas quota_consumption sebelum GC (gcQuotaConsumption).
QUOTA_PREFLIGHT_CUTOFF_ENABLED false src/lib/resilience/settings.ts Pilihan ikut serta (DIMATIKAN secara lalai): mendayakan ambang kuota keras penghalaan automatik yang menggugurkan calon berkuota rendah sebelum pemarkahan.
OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL false open-sse/services/autoCombo/virtualFactory.ts Pilihan ikut serta (DIMATIKAN secara lalai): apabila penapis auto/<category>:<tier> tidak sepadan dengan mana-mana calon yang tersambung, pulihkan tingkah laku lama dengan kembali kepada kumpulan penuh (tanpa penapisan), dan bukannya mengembalikan kumpulan kosong. Tetapan lalai DIMATIKAN menjadikan :free bermaksud "peringkat percuma sahaja".
OMNIROUTE_CHAOS_MAX_PANEL 5 open-sse/services/autoCombo/virtualFactory.ts Had saiz panel (diapit pada 110) untuk varian siaran auto/*:chaos — satu permintaan disebarkan kepada tidak lebih daripada bilangan model daripada pelbagai penyedia ini.
OMNIROUTE_CHAOS_MIN_PANEL (lalai enjin) open-sse/services/autoCombo/virtualFactory.ts Penalaan saiz panel minimum yang dimajukan kepada pengendali siaran chaos; jika tidak ditetapkan, nilai lalai enjin dikekalkan.
OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS (lalai enjin) open-sse/services/autoCombo/virtualFactory.ts Tamat masa mutlak (ms) untuk keseluruhan penyebaran panel chaos; jika tidak ditetapkan, nilai lalai enjin dikekalkan.
GROK_AUTH_PATH ~/.grok/auth.json open-sse/services/grokQuotaFetcher.ts Laluan ke auth.json Grok CLI yang digunakan untuk mendapatkan kuota mingguan grok-web; ubah suai untuk ujian atau pemasangan CLI bukan standard.
AGENTBRIDGE_UPSTREAM_CA_CERT (tidak ditetapkan) src/mitm/manager.ts Sijil CA tambahan (PEM) yang dipercayai untuk sambungan TLS huluan AgentBridge.
INSPECTOR_BUFFER_SIZE 1000 src/mitm/inspector/buffer.ts Bilangan maksimum permintaan yang ditangkap dan disimpan dalam penimbal gelang Pemeriksa Trafik.
INSPECTOR_MAX_BODY_KB 1024 src/mitm/inspector/buffer.ts Saiz maksimum kandungan permintaan/respons yang ditangkap (KB) sebelum dipenggal.
INSPECTOR_HTTP_PROXY_PORT 8080 src/mitm/inspector/httpProxyServer.ts Port setempat untuk proksi HTTP Pemeriksa Trafik.
INSPECTOR_HTTP_PROXY_AUTOSTART false src/mitm/inspector/httpProxyServer.ts Mulakan proksi HTTP pemeriksa secara automatik semasa but.
INSPECTOR_TLS_INTERCEPT false src/lib/inspector/captureState.ts Dayakan pemintasan TLS (MITM) untuk trafik HTTPS yang ditangkap.
INSPECTOR_LLM_HOSTS_EXTRA (tidak ditetapkan) src/lib/inspector/captureState.ts Nama hos tambahan (dipisahkan dengan koma) yang dianggap sebagai titik akhir LLM untuk tangkapan.
INSPECTOR_MASK_SECRETS true src/mitm/inspector/buffer.ts Samarkan rahsia (pengepala pengesahan / kunci API) dalam trafik yang ditangkap.
INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES 30 src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts Bilangan minit sebelum pelindung proksi sistem mengembalikan tetapan proksi OS secara automatik.
INSPECTOR_INTERNAL_INGEST_TOKEN (automatik) src/app/api/tools/traffic-inspector/internal/ingest/route.ts Token yang mengesahkan pengingesan tangkapan dalaman ke dalam pemeriksa.
PLAYGROUND_COMPARE_MAX_COLUMNS 4 src/app/(dashboard)/dashboard/playground/ Bilangan maksimum lajur sebelah-menyebelah dalam mod perbandingan Playground.
PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL (tidak ditetapkan) src/app/(dashboard)/dashboard/playground/ Model lalai untuk tindakan 'perbaik gesaan' Playground (kembali menggunakan model aktif apabila tidak ditetapkan).
BIFROST_ENABLED 1 src/app/api/v1/relay/chat/completions/bifrost/route.ts Suis utama untuk mematikan proksi sidecar Bifrost. Apabila ditetapkan kepada 0, laluan mengembalikan 503 dengan pengepala X-Bifrost-Killswitch dan pengendali dialihkan ke laluan TS. Gunakan untuk menyahdayakan sidecar tanpa melaksanakan semula pengerahan (insiden penghala tahap 1, penggiliran kunci).
BIFROST_BASE_URL (tidak ditetapkan) src/app/api/v1/relay/chat/completions/bifrost/route.ts Apabila ditetapkan, laluan proksi sidecar Bifrost memajukan trafik /v1/chat/completions ke get laluan Go ini dan bukannya pengendali geganti TS. Tidak ditetapkan → 503 dengan sandaran. Garis miring di hujung dibuang.
BIFROST_PORT 8080 src/lib/services/bootstrap.ts Port yang digunakan oleh perkhidmatan terbenam Bifrost yang diselia (127.0.0.1:<port>) apabila OmniRoute mengurus kitaran hayat sidecar Bifrost. Lalai kepada 8080.
BIFROST_API_KEY (tidak ditetapkan) src/app/api/v1/relay/chat/completions/bifrost/route.ts Kunci API untuk get laluan Bifrost (dihantar sebagai Authorization: Bearer ...). Jika tidak ditetapkan, laluan menjangkakan permintaan membawa kunci API OmniRoute yang sah; kunci ini hanya untuk pengesahan di sisi get laluan.
BIFROST_STREAMING_ENABLED true src/app/api/v1/relay/chat/completions/bifrost/route.ts Apabila benar, laluan sidecar Bifrost menstrim respons kembali melalui SSE menerusi get laluan dan bukannya pelaksana penstriman TS. Tetapkan kepada 0 untuk memaksa respons JSON tanpa penstriman melalui get laluan.
BIFROST_TIMEOUT_MS 30000 src/app/api/v1/relay/chat/completions/bifrost/route.ts Tempoh tamat setiap permintaan apabila diproksikan ke get laluan Bifrost (ms). Apabila tamat tempoh, laluan mengembalikan laluan geganti TS melalui pengepala X-Bifrost-Fallback.
OMNIROUTE_BIFROST_KEY (tidak ditetapkan) src/app/api/v1/relay/chat/completions/bifrost/route.ts Alias untuk BIFROST_API_KEY (digunakan oleh skrip yang membaca persekitaran melalui OMNIROUTE_*). BIFROST_API_KEY diberi keutamaan apabila kedua-duanya ditetapkan.
OMNIROUTE_RELAY_BACKEND ts / auto src/app/api/v1/relay/chat/completions/routingBackend.ts Bahagian belakang geganti untuk /api/v1/relay/chat/completions: ts | bifrost | auto. ts = geganti TypeScript (lalai apabila Bifrost tidak dikonfigurasikan); auto memilih Bifrost apabila BIFROST_BASE_URL ditetapkan dan BIFROST_ENABLED0, dengan sandaran TS automatik jika sidecar tidak dapat dicapai; bifrost memaksa penggunaan Bifrost (ketat, tanpa sandaran). Pengesahan/pengehadan kadar/pelindung suntikan/senarai dibenarkan sentiasa dijalankan dalam laluan Next terlebih dahulu. Respons mengandungi X-Routing-Backend / X-Routing-Fallback / X-Routing-Fallback-Reason.
RELAY_ROUTING_BACKEND (tidak ditetapkan) src/app/api/v1/relay/chat/completions/routingBackend.ts Alias yang diterima untuk OMNIROUTE_RELAY_BACKEND (nilai ts | bifrost | auto yang sama). OMNIROUTE_RELAY_BACKEND diberi keutamaan apabila kedua-duanya ditetapkan.
OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS 5000 src/app/api/v1/relay/chat/completions/bifrostCooldown.ts Tempoh bertenang (ms) selepas lompatan sidecar Bifrost gagal dalam mod auto sebelum geganti mencuba semula sidecar; ia menghala terus ke laluan TS sepanjang tempoh bertenang, kemudian menguji semula. 0 menyahdayakannya. Hanya terpakai apabila OMNIROUTE_RELAY_BACKEND=auto.
OMNIROUTE_TLS_CERT (tidak ditetapkan) bin/cli/commands/serve.mjs Laluan ke sijil TLS PEM untuk menyediakan omniroute serve melalui HTTPS (bersamaan dengan --tls-cert). Mesti digandingkan dengan OMNIROUTE_TLS_KEY; pelayan kendiri kemudiannya menamatkan TLS pada pendengar yang sama (wss:// terus berfungsi tanpa perubahan). Tidak ditetapkan → HTTP biasa. Memberikan hanya satu daripada sijil/kunci, atau laluan yang tidak boleh dibaca, akan merekodkan amaran dan kekal menggunakan HTTP.
OMNIROUTE_TLS_KEY (tidak ditetapkan) bin/cli/commands/serve.mjs Laluan ke kunci persendirian TLS PEM untuk HTTPS omniroute serve (bersamaan dengan --tls-key). Mesti digandingkan dengan OMNIROUTE_TLS_CERT. Lihat OMNIROUTE_TLS_CERT.
OMNIROUTE_LOCAL_ENDPOINTS_ENABLED 0 src/lib/security/localEndpoints.ts Suis utama untuk laluan /api/local/*. Apabila tidak ditetapkan atau 0, semua laluan /api/local/* mengembalikan 503 dalam persekitaran pengeluaran. Mesti bernilai 1 dalam penggunaan bukan gelung balik untuk mendayakan pelancar Redis dan pemula perkhidmatan setempat 1 klik yang serupa. Perlindungan berlapis bersama pengelasan pengawal laluan isLocalOnlyPath() (LOCAL_ONLY_API_PREFIXES dalam src/server/authz/routeGuard.ts).
OMNIROUTE_LOCAL_ENDPOINTS_TOKEN (tidak ditetapkan) src/lib/security/localEndpoints.ts Token pembawa untuk pemanggil /api/local/* yang tidak berada pada gelung balik (cth. aplikasi desktop). Apabila ditetapkan, permintaan daripada IP bukan gelung balik mesti membawa Authorization: Bearer <token>. Diperlukan apabila OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1 dalam penggunaan bukan gelung balik.
OMNIROUTE_REDIS_CONTAINER_NAME omniroute-redis bin/cli/commands/redis.mjs Nama bekas untuk pelancar Redis 1 klik (omniroute redis up). Digunakan oleh CLI dan GUI RedisLauncherPanel.
OMNIROUTE_REDIS_HOST_PORT 6379 bin/cli/commands/redis.mjs Port hos untuk pelancar Redis 1 klik. Tukar jika hos sudah menggunakan 6379. Port dalaman bekas kekal 6379.
OMNIROUTE_REDIS_BIND_HOST 127.0.0.1 bin/cli/commands/redis.mjs Antara muka hos tempat pelancar Redis 1 klik menerbitkan perkhidmatan. Pelancar memulakan Redis TANPA kata laluan, maka pengikatan kepada 0.0.0.0 memberikan setiap hos dalam LAN anda akses kepada Redis tanpa pengesahan — luaskan pengikatan ini hanya jika anda turut menetapkan sendiri kata laluan pada tika tersebut.
REDIS_BIND_HOST 127.0.0.1 docker-compose.yml Antara muka hos tempat docker-compose menerbitkan sidecar Redis (#9286). Redis compose berjalan tanpa requirepass; bekas aplikasi mencapainya melalui rangkaian compose (redis:6379) — port yang diterbitkan hanya wujud untuk perkakasan sisi hos. 0.0.0.0 mendedahkan Redis tanpa pengesahan kepada seluruh LAN.
REDIS_PORT 6379 docker-compose.yml Port hos untuk sidecar Redis compose.
APP_BIND_HOST 127.0.0.1 docker-compose.yml, docker-compose.prod.yml Antara muka hos tempat docker-compose menerbitkan port papan pemuka/API/live-WS aplikasi itu sendiri (#12568). Dengan REQUIRE_API_KEY=false disertakan sebagai nilai lalai .env.example, 0.0.0.0 mendedahkan proksi LLM /v1 tanpa nama kepada seluruh LAN/WAN — hanya perluaskan akses selepas REQUIRE_API_KEY=true atau apabila proksi songsang di hadapan menguatkuasakan pengesahannya sendiri.
QDRANT_BIND_HOST 127.0.0.1 docker-compose.yml Antara muka hos tempat docker-compose menerbitkan sidecar memori Qdrant (#12578). Rasional pendedahan LAN yang sama seperti REDIS_BIND_HOST.
BIFROST_BIND_HOST 127.0.0.1 docker-compose.yml Antara muka hos tempat docker-compose menerbitkan sidecar penghala Bifrost (#12578). Rasional pendedahan LAN yang sama seperti REDIS_BIND_HOST.
REDIS_KEY_PREFIX omniroute: src/shared/utils/rateLimiter.ts Awalan ruang nama yang digunakan pada setiap kunci Redis OmniRoute (pengehad kadar, cache pengesahan, stor kuota, pemutus litar pemanasan). Menghalang perlanggaran kunci apabila tika Redis dikongsi dengan aplikasi lain (#11042).
OMNIROUTE_INTERNAL_SERVICE_TOKEN (tidak ditetapkan — mekanisme dinyahdayakan) src/lib/api/internalServiceAuth.ts Rahsia dikongsi untuk lompatan REST dalaman yang mengekalkan identiti (#9260): komponen OmniRoute yang memanggil laluan OmniRoute setempat lain menghantarnya sebagai x-omniroute-internal-service-token supaya identiti pemanggil asal dikekalkan. Dibandingkan menggunakan timingSafeEqual.
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE (tidak ditetapkan) src/lib/api/internalServiceAuth.ts Varian fail rahsia bagi token perkhidmatan dalaman: laluan ke fail yang kandungannya selepas ruang kosong dibuang ialah token tersebut. Hanya dirujuk apabila pemboleh ubah sebaris tidak ditetapkan.
OPENROUTER_PROVIDER_STATS_ENABLED true src/lib/catalog/openrouterProviderStats.ts Perkayakan senarai penyedia papan pemuka dengan statistik kedudukan mingguan OpenRouter (#9324). Dihidupkan secara lalai; tetapkan false untuk melangkau pengambilan latar belakang sepenuhnya (tidak menyekat, tidak pernah membawa maut).
OPENROUTER_PROVIDER_STATS_TTL_MS 86400000 (24j) src/lib/catalog/openrouterProviderStats.ts TTL cache untuk syot kilat statistik penyedia OpenRouter, dalam milisaat.
OMNIROUTE_REDIS_IMAGE redis:7-alpine bin/cli/commands/redis.mjs Imej Redis yang digunakan oleh pelancar Redis 1 klik. Gantikan dengan redis:8-alpine atau cermin pendaftaran peribadi mengikut keperluan.
QDRANT_HOST qdrant (profil kluster ikut serta) Nama hos sidecar Qdrant apabila --profile memory aktif. Nilai lalai menghala ke nama perkhidmatan qdrant dalam rangkaian; gantikan untuk pengerahan luaran. Hanya digunakan apabila qdrantEnabled ialah true dalam kod (src/lib/memory/vectorStore.ts:108).
QDRANT_PORT 6333 (profil kluster ikut serta) Port REST bagi sidecar Qdrant.
QDRANT_GRPC_PORT 6334 (profil kluster ikut serta) Port gRPC bagi sidecar Qdrant. Digunakan oleh pustaka klien yang mengutamakan gRPC berbanding REST untuk operasi penstriman.
QDRANT_API_KEY (tidak ditetapkan) (profil kluster ikut serta) Kunci API pilihan untuk Qdrant Cloud atau tika setempat yang disahkan. Kosong → tiada pengepala api-key dihantar.
QDRANT_COLLECTION omniroute-memory (profil kluster ikut serta) Nama koleksi untuk pembenaman memori perbualan OmniRoute. Dicipta pada pelaksanaan pertama dengan dimensi QDRANT_VECTOR_SIZE.
QDRANT_EMBEDDING_MODEL text-embedding-3-small (profil kluster ikut serta) Nama model pembenaman lalai yang direkodkan dalam metadata koleksi Qdrant. Pembenaman sebenar dijana oleh mana-mana penyedia yang dirujuk oleh medan embeddingModel dalam tetapan OmniRoute.
QDRANT_VECTOR_SIZE 1536 (profil kluster ikut serta) Dimensi vektor pembenaman. Mesti sepadan dengan model yang anda gunakan untuk pembenaman (text-embedding-3-small → 1536; ada-002 → 1536; nomic-embed-text → 768).
QDRANT_HNSW_EF_CONSTRUCT 128 (profil kluster ikut serta) Ketepatan semasa pembinaan indeks HNSW. Lebih tinggi = pembinaan lebih perlahan, carian lebih pantas.
OMNIROUTE_ROTATION_ENABLED true open-sse/services/rotationConfig.ts Suis induk untuk penggiliran akaun yang boleh dikonfigurasikan oleh pengendali. Apabila false, tiada kelas OMNIROUTE_ROTATE_* di bawah mencetuskan penggunaan akaun sandaran (keadaan induk dimatikan turut menyekat kelas 429/500/502 yang didayakan secara lalai). Membolehkan antara muka hadapan penyeliaan (contohnya aplikasi desktop VibeProxy) mencerminkan peraturan penggilirannya sendiri kepada enjin penggunaan akaun sandaran bahagian belakang.
OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS 0 open-sse/services/rotationConfig.ts Tempoh bertenang (saat) yang dikenakan pada akaun yang dihadkan kadar apabila perkhidmatan huluan tidak memberikan petunjuk tetapan semula yang jelas. 0 = gunakan tempoh bertenang lalai enjin dan bukannya penggantian tetap.
OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET true open-sse/services/rotationConfig.ts Cerminan keutamaan antara muka hadapan "jangan tandai sebagai dihadkan kadar tanpa masa tetapan semula".
OMNIROUTE_ROTATE_ON_429 true open-sse/services/rotationConfig.ts Mendayakan sandaran mengikut status untuk ralat 429. Apabila false (dan OMNIROUTE_ROTATION_ENABLED=true), 429 tidak lagi mencetuskan penggiliran akaun dan sebaliknya dikembalikan kepada klien.
OMNIROUTE_ROTATE_429_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilangan ralat 429 dalam tempoh OMNIROUTE_ROTATE_429_WINDOW_SECONDS yang diperlukan sebelum akaun digilirkan. 1 (lalai) menggilirkan akaun serta-merta, mengekalkan tingkah laku terdahulu.
OMNIROUTE_ROTATE_429_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Tetingkap bergerak (dalam saat) untuk mengira ralat 429 bagi mencapai OMNIROUTE_ROTATE_429_THRESHOLD.
OMNIROUTE_ROTATE_ON_500 true open-sse/services/rotationConfig.ts Mendayakan sandaran mengikut status untuk ralat pelayan 5xx (tidak termasuk 502, yang mempunyai kelas tersendiri). Apabila false, ralat ini tidak lagi mencetuskan penggiliran akaun.
OMNIROUTE_ROTATE_500_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilangan ralat 5xx dalam tempoh OMNIROUTE_ROTATE_500_WINDOW_SECONDS yang diperlukan sebelum akaun digilirkan. 1 (lalai) menggilirkan akaun serta-merta.
OMNIROUTE_ROTATE_500_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Tetingkap bergerak (dalam saat) untuk mengira ralat 5xx bagi mencapai OMNIROUTE_ROTATE_500_THRESHOLD.
OMNIROUTE_ROTATE_ON_502 true open-sse/services/rotationConfig.ts Mendayakan sandaran mengikut status untuk ralat 502 (get laluan buruk). Apabila false, ralat 502 tidak lagi mencetuskan penggiliran akaun.
OMNIROUTE_ROTATE_502_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilangan ralat 502 dalam tempoh OMNIROUTE_ROTATE_502_WINDOW_SECONDS yang diperlukan sebelum akaun digilirkan. 1 (lalai) menggilirkan akaun serta-merta.
OMNIROUTE_ROTATE_502_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Tetingkap bergerak (dalam saat) untuk mengira ralat 502 bagi mencapai OMNIROUTE_ROTATE_502_THRESHOLD.
OMNIROUTE_ROTATE_ON_400 false open-sse/services/rotationConfig.ts Ikut serta (DIMATIKAN secara lalai): apabila true, 400 biasa (permintaan tidak sah) turut mencetuskan penggiliran akaun. Ini hanya bersifat tambahan — ia tidak pernah menyekat tingkah laku sedia ada enjin, iaitu 400 yang mengandungi teks had kadar/kuota masih beralih kepada akaun lain tanpa mengira bendera ini.
OMNIROUTE_ROTATE_400_THRESHOLD 1 open-sse/services/rotationConfig.ts Bilangan ralat 400 dalam tempoh OMNIROUTE_ROTATE_400_WINDOW_SECONDS yang diperlukan sebelum akaun digilirkan (hanya dirujuk apabila OMNIROUTE_ROTATE_ON_400=true).
OMNIROUTE_ROTATE_400_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts Tetingkap gelongsor (saat) untuk mengira ralat 400 terhadap OMNIROUTE_ROTATE_400_THRESHOLD.

Penjadual Pemanasan Claude

Pemanasan dipacu cron untuk sambungan OAuth Anthropic yang telah memilih untuk menyertainya, supaya tetingkap had kadar 5 jam dibuka melalui permintaan terjadual yang ringkas dan bukannya oleh permintaan sebenar yang pertama (#8848). Penjadual dinyahaktifkan melainkan OMNIROUTE_WARMUP_ENABLED bernilai benar dan sambungan ditandakan dalam settings.claudeWarmup.connections; senarai sambungan yang kosong bermakna tiada apa-apa yang dipanaskan walaupun pemboleh ubah persekitaran diaktifkan.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_WARMUP_ENABLED (tidak ditetapkan → dinyahaktifkan) src/lib/warmupScheduler.ts Suis utama untuk penjadual pemanasan. Menerima 1/true/yes/on (tidak peka huruf besar-kecil, ruang kosong dibuang). Sebarang nilai lain, atau jika tidak ditetapkan, akan membiarkan penjadual dinyahaktifkan.
OMNIROUTE_WARMUP_CRON 0 7 * * * src/lib/warmupScheduler.ts Ungkapan cron lima medan untuk detik pemanasan, dinilai dalam America/Los_Angeles (zon waktu tetapan semula Anthropic) tanpa mengira jam hos.
OMNIROUTE_WARMUP_CONCURRENCY 3 src/lib/warmupScheduler.ts Bilangan sambungan yang dipanaskan secara selari bagi setiap detik. Dihadkan kepada 1-10; nilai bukan angka kembali kepada 3.
OMNIROUTE_WARMUP_MODEL claude-3-5-haiku-20241022 src/lib/warmupScheduler.ts Model yang digunakan untuk permintaan pemanasan. Ubah hanya jika lalai tidak tersedia dalam pelan anda; pilih model termurah yang masih boleh membuka tetingkap tersebut.

Sesi VNC Log Masuk Pelayar & Alias Direktori Data

Chromium+VNC dalam bekas yang digunakan untuk mendapatkan bukti kelayakan log masuk pelayar secara interaktif (/api/vnc-session), serta alias legasi DATA_DIR. Semuanya pilihan — nilai lalai VNC menyasarkan imej terbina dalam omniroute-vnc-chromium:local dan hanya diubah untuk imej bekas tersuai, port, atau pelarasan kitar hayat.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Tag imej Docker untuk bekas log masuk Chromium+VNC. Bina docker/vnc-browser/chromium atau tetapkannya kepada imej tersuai.
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts Binari masa jalan bekas yang digunakan untuk melancarkan bekas VNC (contohnya, tetapkan kepada podman).
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts Port VNC/noVNC yang didedahkan di dalam bekas.
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Port Chrome DevTools Protocol di dalam bekas.
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Laluan direktori profil Chromium di dalam bekas.
OMNIROUTE_VNC_PROFILE_DIR $HOME/.omniroute/browser-login-profiles src/lib/vncSession/manifest.ts Direktori hos yang menyimpan profil log masuk pelayar yang dikekalkan.
OMNIROUTE_VNC_IDLE_MS 600000 (10 minit) src/lib/vncSession/manifest.ts Tempoh tamat melahu (ms) sebelum sesi VNC yang tidak aktif ditamatkan.
OMNIROUTE_VNC_MAX_MS 1800000 (30 minit) src/lib/vncSession/manifest.ts Had mutlak (ms) bagi jangka hayat satu sesi VNC.
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Bilangan maksimum sesi VNC serentak.
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Tempoh tamat (ms) untuk menunggu pelayar dalam bekas menjadi sedia CDP.
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Tempoh tamat (ms) untuk mendapatkan sesi/kuki yang ditangkap selepas log masuk selesai.
OMNIROUTE_VNC_CHROMIUM_ARGS --remote-debugging-port=9222 --no-first-run --no-default-browser-check src/lib/vncSession/manifest.ts Bendera baris perintah tambahan yang dihantar kepada Chromium dalam bekas.
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Rangkaian Docker khusus yang disertai oleh bekas log masuk VNC (#12571), bukannya jambatan lalai, supaya bekas setara tidak dapat mencapai port jambatan CDP-nya.
VIBEPROXY_DATA_DIR (tidak ditetapkan) open-sse/services/notionThreadSessions.ts Alias legasi untuk DATA_DIR, diperiksa hanya selepas kedua-dua DATA_DIR dan OMNIROUTE_DATA_DIR tidak ditetapkan. Menentukan lokasi cache sesi urutan web Notion (<dir>/notion-web-thread-sessions.json).

26. Ujian & Peralatan E2E

Digunakan oleh scripts/dev/run-next-playwright.mjs, scripts/dev/smoke-electron-packaged.mjs, scripts/dev/run-ecosystem-tests.mjs, dan scripts/build/uninstall.mjs. Biarkan setiap nilai di bawah tidak ditetapkan dalam penggunaan produksi.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_E2E_BOOTSTRAP_MODE auth scripts/dev/run-next-playwright.mjs Mod pemula E2E (auth, fresh, reuse) untuk pelaksana Playwright.
OMNIROUTE_E2E_PASSWORD kembali kepada INITIAL_PASSWORD scripts/dev/run-next-playwright.mjs Kata laluan pentadbir yang disuntik ke dalam persekitaran Playwright.
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Lumpuhkan tinjauan semakan kesihatan setempat semasa pelaksanaan Playwright.
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Lumpuhkan gelung semakan kesihatan token OAuth semasa ujian.
OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS (tidak ditetapkan) src/lib/tokenHealthCheck.ts Penyedia dipisahkan koma yang dikecualikan daripada proses imbasan penyegaran token proaktif (cth. codex,openai). Alternatif bersasar kepada tindakan melumpuhkan semakan kesihatan sepenuhnya — penyedia TTL pendek terus disegarkan manakala penyedia lata kekal reaktif sahaja.
OMNIROUTE_HIDE_HEALTHCHECK_LOGS true scripts/dev/run-next-playwright.mjs Senyapkan hingar semakan kesihatan dalam stdout Playwright.
OMNIROUTE_PLAYWRIGHT_SKIP_BUILD 0 scripts/dev/run-next-playwright.mjs Langkau binaan produksi Next.js sebelum Playwright bermula (pengoptimuman CI).
OMNIROUTE_SKIP_UNINSTALL_HOOK 0 scripts/build/uninstall.mjs Langkau cangkuk nyahpasang OmniRoute (digunakan oleh CI untuk mengekalkan node_modules).
ECOSYSTEM_SERVER_WAIT_MS 180000 scripts/dev/run-ecosystem-tests.mjs Masa menunggu (ms) untuk pelayan menjadi sihat sebelum menjalankan ujian ekosistem/protokol.
ELECTRON_SMOKE_URL http://127.0.0.1:20128/login scripts/dev/smoke-electron-packaged.mjs URL yang dijangka oleh peralatan ujian asap Electron untuk disediakan oleh aplikasi berpakej.
ELECTRON_SMOKE_TIMEOUT_MS 45000 scripts/dev/smoke-electron-packaged.mjs Jumlah tamat masa (ms) sebelum peralatan ujian asap berhenti mencuba.
ELECTRON_SMOKE_SETTLE_MS 2000 scripts/dev/smoke-electron-packaged.mjs Tempoh penstabilan (ms) selepas halaman dimuatkan.
ELECTRON_SMOKE_APP_EXECUTABLE (automatik) scripts/dev/smoke-electron-packaged.mjs Laluan eksplisit ke fail boleh laku Electron yang dipakejkan.
ELECTRON_SMOKE_DATA_DIR (tmpdir) scripts/dev/smoke-electron-packaged.mjs Direktori data untuk pelaksanaan ujian asap Electron.
ELECTRON_SMOKE_KEEP_DATA 0 scripts/dev/smoke-electron-packaged.mjs Tetapkan kepada 1 untuk mengekalkan direktori data ujian asap selepas pelaksanaan.
ELECTRON_SMOKE_STREAM_LOGS 0 scripts/dev/smoke-electron-packaged.mjs Tetapkan kepada 1 untuk menstrim log Electron ke stdout semasa pelaksanaan.
ELECTRON_SMOKE_COLD_RESTART 0 scripts/dev/smoke-electron-packaged.mjs #7592: lancarkan semula menggunakan direktori data yang sama dan pastikan pelancaran kedua memilih pemacu SQLite natif.
CLI_DEVIN_BIN (carian PATH) open-sse/executors/devin-cli.ts Mengatasi laluan perduaan Devin CLI.

Saluran terjemahan dokumentasi

Digunakan oleh scripts/i18n/run-translation.mjs (perintah npm run i18n:run). Kelima-lima pemboleh ubah tidak ditetapkan secara lalai — tetapkannya dalam .env hanya pada mesin yang sepatutnya boleh menjalankan penterjemah dokumentasi.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_TRANSLATION_API_URL (tidak ditetapkan) scripts/i18n/run-translation.mjs URL asas yang serasi dengan OpenAI untuk bahagian belakang terjemahan.
OMNIROUTE_TRANSLATION_API_KEY (tidak ditetapkan) scripts/i18n/run-translation.mjs Token pembawa untuk bahagian belakang terjemahan (tidak pernah dilog).
OMNIROUTE_TRANSLATION_MODEL (tidak ditetapkan) scripts/i18n/run-translation.mjs ID model, cth. gpt-4o-mini atau cx/gpt-5.4-mini.
OMNIROUTE_TRANSLATION_TIMEOUT_MS 60000 scripts/i18n/run-translation.mjs Had masa bagi setiap permintaan dalam milisaat.
OMNIROUTE_TRANSLATION_CONCURRENCY 4 scripts/i18n/run-translation.mjs Permintaan terjemahan selari semasa memproses berbilang fail / penempatan setempat.

27. Suapan Radar (Pengehosan Sendiri)

Tambahan pilihan yang dikawal oleh bendera ciri RADAR_ENABLED (dimatikan secara lalai — bendera ciri yang ditogol melalui Tetapan/DB, bukan pemboleh ubah persekitaran; lihat docs/frameworks/RADAR.md). Empat pemboleh ubah pertama di bawah ialah penggantian pilihan untuk suapan yang dihoskan sendiri atau dicabang serta aliran kunci penyokong. Yang kelima, RADAR_ADMIN_URL, ialah pautan berasingan tanpa nilai lalai ke panel operasi peribadi pemilik. Lihat docs/frameworks/RADAR.md untuk dokumentasi modul penuh dan urutan pengaktifan hujung ke hujung serta persediaan berpandu.

Pembaca pengumuman umum Laman Utama/Log Perubahan tidak dikonfigurasikan melalui pemboleh ubah persekitaran dan tidak bergantung pada bendera ciri RADAR_ENABLED. Ia membaca URL news.json repositori awam yang diisytiharkan dalam src/shared/utils/releaseNotes.ts menggunakan GET sahaja; ID penolakan kekal dalam storan setempat pelayar.

Pemboleh Ubah Lalai Fail Sumber Penerangan
RADAR_FEED_URL https://radar.omniroute.online src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts URL asas yang dikongsi oleh suapan katalog, rujukan, tawaran penyokong dan Intel yang ditandatangani secara berasingan. Gantikan untuk menghalakannya ke perkhidmatan yang dihoskan sendiri atau dicabang.
RADAR_FEED_PUBKEY (kunci lalai yang disematkan) src/lib/radar/pinnedKeys.ts Kunci awam Ed25519 (SPKI DER base64 atau PEM) yang digunakan untuk mengesahkan tandatangan suapan daripada suapan tersuai.
RADAR_CONTRIBUTOR_CLAIM_URL https://radar.omniroute.online/auth/github src/lib/radar/links.ts URL yang dibuka oleh butang papan pemuka "Saya seorang penyumbang" (aliran tuntutan kunci penyokong GitHub OAuth).
RADAR_SUPPORTER_PLANS_URL https://radar.omniroute.online/planos src/lib/radar/links.ts URL yang dibuka oleh butang papan pemuka "Sokong projek" (halaman pembayaran/pelan).
RADAR_ADMIN_URL (tidak ditetapkan) src/lib/radar/links.ts Pautan panel operasi peribadi untuk pemilik sahaja. HTTPS diperlukan kecuali bagi pemajuan SSH gelung balik HTTP; nilai yang tidak ditetapkan atau tidak sah tidak menghasilkan item navigasi.

Audit: Pemboleh Ubah yang Dialih Keluar / Tidak Digunakan

Pemboleh ubah berikut muncul dalam versi terdahulu .env.example tetapi tidak mempunyai rujukan masa jalan dalam pangkalan kod semasa. Pemboleh ubah tersebut telah dialih keluar:

Pemboleh Ubah Sebab
STORAGE_DRIVER=sqlite Tidak pernah dibaca oleh mana-mana fail sumber. SQLite ialah satu-satunya pemacu yang disokong — tiada pemilihan diperlukan.
INSTANCE_NAME=omniroute Terdapat dalam dokumentasi/templat env lama tetapi tidak digunakan semasa masa jalan. Mungkin kembali dalam ciri berbilang tika pada masa hadapan.
SQLITE_MAX_SIZE_MB=2048 Tidak dirujuk dalam kod sumber. Saiz pangkalan data tidak dihadkan secara buatan.
SQLITE_CLEAN_LEGACY_FILES=true Tidak dirujuk dalam kod sumber. Pembersihan legasi berkemungkinan telah dialih keluar.
CLI_ROO_BIN Tidak didaftarkan dalam src/shared/services/cliRuntime.ts.
CLI_KIMI_CODING_BIN Tidak didaftarkan dalam src/shared/services/cliRuntime.ts (Kimi Coding menggunakan OAuth, bukan binari CLI).
IFLOW_OAUTH_CLIENT_ID / IFLOW_OAUTH_CLIENT_SECRET Tidak dirujuk di mana-mana dalam kod sumber.
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 Dialih keluar dalam v3.8.0. Masa jalan tidak lagi membaca pemboleh ubah env ini — bukti kelayakan diperoleh daripada Papan Pemuka / data/provider-credentials.json / DB disulitkan.
CURSOR_PROTOBUF_DEBUG Dialih keluar dalam v3.8.0. Pelaksana Cursor menggunakan CURSOR_DEBUG / CURSOR_STREAM_DEBUG (lihat §22).
CLI_COMPAT_KIRO Dialih keluar dalam v3.8.0. Kiro berada dalam CLI_COMPAT_OMITTED_PROVIDER_IDS — togolnya tidak memberikan sebarang kesan.
QIANFAN_API_KEY Dialih keluar bersama-sama stub kunci API penyedia lain yang tidak digunakan dalam v3.8.0.

Pembetulan Nilai Lalai

Pemboleh Ubah Nilai .env.example Lama Lalai Kod Sebenar Dibetulkan
APP_LOG_RETENTION_DAYS 90 7 Nilai yang mengelirukan dialih keluar; 7 didokumentasikan sebagai nilai lalai
CALL_LOG_RETENTION_DAYS 90 7 Nilai yang mengelirukan dialih keluar; 7 didokumentasikan sebagai nilai lalai

Penjanaan semula konfigurasi OpenCode (alat ad hoc)

Digunakan oleh scripts/ad-hoc/regen-opencode-config.ts untuk menjana semula opencode.json dengan nilai limit.context dan limit.output yang tepat, yang diambil daripada tika OmniRoute yang sedang berjalan. Tiada satu pun daripada ini diperlukan untuk operasi biasa — skrip ini hanyalah alat pembangun.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_URL http://localhost:20128 scripts/ad-hoc/regen-opencode-config.ts URL asas bagi tika OmniRoute yang akan ditanya untuk /v1/models.
OMNIROUTE_KEY (tidak ditetapkan) scripts/ad-hoc/regen-opencode-config.ts Kunci API untuk mengesahkan identiti terhadap titik akhir OmniRoute /v1/models. Menggunakan OPENCODE_API_KEY jika tidak ditetapkan.
OPENCODE_API_KEY (tidak ditetapkan) scripts/ad-hoc/regen-opencode-config.ts Kunci API gaya OpenCode (sk-...) yang ditulis ke dalam opencode.json yang dijana semula. Menggunakan OMNIROUTE_KEY jika tidak ditetapkan.

Abah-abah penilaian luar talian pemampatan (alatan ad hoc)

Digunakan oleh scripts/compression-eval/index.ts, CLI penilaian pemampatan luar talian. Tidak diperlukan untuk operasi biasa — untuk alatan pembangun sahaja.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_EVAL_CREDENTIALS {} (kosong) scripts/compression-eval/index.ts Bukti kelayakan JSON yang dibekalkan oleh pengendali untuk penyedia yang diuji oleh CLI penilaian pemampatan luar talian (dihurai dengan JSON.parse). Biarkan tidak ditetapkan untuk percubaan kering.

Sesi Pelayar VNC

Digunakan oleh src/lib/vncSession/manifest.ts untuk mengkonfigurasi sesi Chromium tanpa kepala berasaskan Docker bagi penyedia automasi pelayar. Semuanya pilihan — nilai lalai ditunjukkan di bawah.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts Laluan ke perduaan Docker yang digunakan untuk mewujudkan bekas VNC.
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Imej Docker untuk bekas VNC Chromium.
OMNIROUTE_VNC_CHROMIUM_ARGS (bendera terbina dalam) src/lib/vncSession/manifest.ts Argumen CLI Chromium tambahan yang dihantar kepada pelayar di dalam bekas.
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts Port VNC di dalam bekas.
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts Port Chrome DevTools Protocol di dalam bekas.
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts Direktori profil di dalam bekas.
OMNIROUTE_VNC_PROFILE_DIR (tidak ditetapkan) src/lib/vncSession/manifest.ts Direktori pada hos untuk profil pelayar berterusan.
OMNIROUTE_VNC_IDLE_MS 600000 src/lib/vncSession/manifest.ts Tempoh tamat melahu (ms) sebelum sesi VNC dikutip.
OMNIROUTE_VNC_MAX_MS 1800000 src/lib/vncSession/manifest.ts Tempoh sesi maksimum (ms).
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts Bilangan maksimum sesi VNC serentak.
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts Tempoh tamat kesediaan pelayar (ms).
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts Tempoh tamat pengutipan/pembersihan (ms).
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts Rangkaian Docker khusus yang disertai oleh bekas (#12571), di luar jambatan lalai.
VIBEPROXY_DATA_DIR (tidak ditetapkan) open-sse/services/notionThreadSessions.ts Direktori untuk pengekalan sesi urutan Notion.

Pengesahan perkhidmatan dalaman

Pemboleh Ubah Lalai Penerangan
OMNIROUTE_INTERNAL_SERVICE_TOKEN Token sebaris untuk pengesahan perkhidmatan-ke-perkhidmatan satah pengurusan.
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE Laluan ke fail yang mengandungi token perkhidmatan dalaman (diutamakan dalam bekas; mengatasi pemboleh ubah sebaris).

Statistik penyedia OpenRouter

Pemboleh Ubah Lalai Penerangan
OPENROUTER_PROVIDER_STATS_ENABLED true Tetapkan kepada false untuk melangkau pengambilan statistik setiap penyedia OpenRouter bagi pengayaan katalog.
OPENROUTER_PROVIDER_STATS_TTL_MS 3600000 TTL cache (ms) untuk statistik penyedia OpenRouter yang diambil.

Pengikatan Redis terbenam

Pemboleh Ubah Lalai Penerangan
REDIS_BIND_HOST 127.0.0.1 Alamat pengikatan untuk perkhidmatan Redis terbenam.
REDIS_PORT 6379 Port untuk perkhidmatan Redis terbenam.
OMNIROUTE_REDIS_BIND_HOST Penggantian khusus OmniRoute untuk alamat pengikatan Redis terbenam.

24. Penambahan keluaran v3.8.50

Tetapan ini diperkenalkan selepas petikan kontrak persekitaran sebelumnya.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_CHAT_ADMISSION_QUEUE_MS 2000 src/shared/middleware/chatBodyAdmission.ts Tempoh menunggu maksimum untuk slot penerimaan sembang berkapasiti tinggi sebelum menerima 503 yang boleh dicuba semula; tempoh menunggu singkat yang terhad menyusun letusan permintaan ejen secara bersiri dan bukannya memberikan 503 serta-merta. 0 memulihkan penolakan serta-merta.
OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES 4194304 (4 MB) src/shared/middleware/chatBodyAdmission.ts Bajet bait dalam baris gilir untuk menunggu penerimaan: mengehadkan jumlah bait isi yang dibufer dan ditahan pada seluruh proses supaya penantian tidak meningkatkan penggunaan heap (#4380). Penantian yang melebihi bajet menerima 503 yang boleh dicuba semula dengan serta-merta.
OMNIROUTE_CHAT_VIRTUAL_TTL_MS 60000 (60 s) src/shared/middleware/chatBodyAdmission.ts Tiada operasi dan tidak digunakan lagi sejak #10110: laluan penerimaan bagi setiap sesi telah dialih keluar dan digantikan dengan satu bajet seluruh proses. Diterima untuk keserasian konfigurasi; diabaikan.
OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS 64 src/shared/middleware/chatBodyAdmission.ts Tiada operasi dan tidak digunakan lagi sejak #10110: laluan penerimaan bagi setiap sesi telah dialih keluar dan digantikan dengan satu bajet seluruh proses. Diterima untuk keserasian konfigurasi; diabaikan.
OMNIROUTE_CHAT_VIRTUAL_LANES 0 (dimatikan) open-sse/services/admission/runtime.ts Laluan penerimaan maya masa jalan adaptif (#9654): suis utama bagi pagar adaptif setiap penyewa (sistem 2). Berbeza daripada pemboleh ubah laluan setiap sambungan yang tidak digunakan lagi di atas (TTL_MS / MAX_SESSIONS, tiada operasi sejak #10110). Bendera ciri papan pemuka dengan nama yang sama; pemboleh ubah persekitaran mengatasi penggantian papan pemuka; memerlukan mula semula.
OMNIROUTE_RUNNOW_TIMEOUT_MS 30000 src/app/api/jobs/[id]/run-now/route.ts Mengehadkan tempoh panggilan jalankan-sekarang menunggu tugas yang sedang berjalan sebelum memulakan pelaksanaan dalam baris gilir.
ADOBE_FIREFLY_BROWSER_REFRESH didayakan open-sse/services/adobeFireflySession.ts Memastikan keadaan IMS dan risiko pelayar sentiasa terkini melalui sesi Chrome CDP yang diskopkan kepada akaun; tetapkan 0 untuk menyahdayakannya.
ADOBE_FIREFLY_SESSION_DISK didayakan open-sse/services/adobeFireflySession.ts Menyimpan sesi Adobe yang telah dibaiki di bawah DATA_DIR; tetapkan 0 untuk keadaan dalam memori sahaja.
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Jarak minimum antara penyerahan penjanaan Adobe Firefly.
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Tempoh lengang tambahan selepas setiap penyerahan Adobe ketiga yang berjaya.
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts Mod tanpa kepala sebenar untuk penyahpepijatan sahaja; Adobe colligo lazimnya menolak sesi risiko yang terhasil.
CHROME_PATH pengesanan automatik open-sse/executors/cloudflare-playground.ts, open-sse/executors/chatgpt-web-codex.ts Boleh laku Chrome mutlak pilihan yang digunakan oleh pelaksana dipacu pelayar apabila pengesanan automatik platform tidak mencukupi.
TELEGRAM_BOT_TOKEN (tidak ditetapkan) src/lib/telegram/config.ts Token BotFather yang mendayakan webhook masuk dan menandatangani initData Mini App.
TELEGRAM_WEBHOOK_SECRET (tidak ditetapkan) src/lib/telegram/config.ts Rahsia dikongsi yang didaftarkan melalui setWebhook dan disahkan terhadap pengepala X-Telegram-Bot-Api-Secret-Token pada setiap penghantaran webhook. Diperlukan untuk laluan webhook; jika tidak ditetapkan, penghantaran webhook ditolak dengan 503.
TELEGRAM_DEFAULT_MODEL auto/chat src/lib/telegram/chatProxy.ts Model yang digunakan untuk balasan sembang Telegram.
TELEGRAM_BOT_API_BASE https://api.telegram.org src/lib/telegram/config.ts Penggantian URL asas Bot API untuk proksi atau pelayan Bot API yang dihoskan sendiri.
TELEGRAM_WEBHOOK_TIMEOUT_MS 60000 src/lib/telegram/config.ts Had masa dalam milisaat untuk panggilan Bot API keluar.
OMNIROUTE_OPTIONAL_PACK_TAR 1 (didayakan) scripts/build/optionalPackStaging.mjs Tetapkan 0 untuk melangkau penghasilan tarball .tar.gz ketika menyediakan pek ML/pelayar pilihan bagi pepohon kendiri Electron (direktori pek dan optional-packs.index.json masih dihasilkan). Digunakan oleh aliran kerja keluaran desktop untuk mengurangkan saiz muat naik artifak.

ChatGPT Web (Codex)

Tetapan lalai global untuk pelayar tanpa kepala dan terowong alat keluar. Nilai Connection yang ditetapkan dalam papan pemuka diberi keutamaan.

Pemboleh Ubah Lalai Fail Sumber Penerangan
CHATGPT_WEB_CODEX_CHROME_PATH (dikesan secara automatik) open-sse/executors/chatgpt-web-codex.ts Laluan Chrome/Chromium eksplisit untuk pengendalian npm, systemd dan PM2.
CHROME_PATH (dikesan secara automatik) open-sse/executors/chatgpt-web-codex.ts Sandaran bersama untuk laluan Chrome/Chromium eksplisit.
CHATGPT_WEB_CODEX_CDP_URL (tidak ditetapkan) open-sse/executors/chatgpt-web-codex.ts Titik akhir CDP dalaman; Docker menggunakan sidecar pada port 9223.
CDP_PROXY_TOKEN (tidak ditetapkan) docker/chatgpt-web-codex-browser/cdp-proxy.mjs Jika ditetapkan, setiap permintaan kepada sidecar proksi CDP mesti menyertakan nilai ini dalam pengepala X-Omni-Cdp-Token (#13679). Tanpa nilai, proksi akan memajukan permintaan tanpa pengesahan — dalam keadaan ini, hanya pengasingan rangkaian bagi rangkaian Compose chatgpt-web-codex-net yang memberikan perlindungan. Jana dengan openssl rand -hex 32.
CHATGPT_WEB_CODEX_TUNNEL_ID (tidak ditetapkan) open-sse/executors/chatgpt-web-codex.ts ID terowong OpenAI global untuk pusingan alat Codex setempat.
CHATGPT_WEB_CODEX_RUNTIME_KEY (tidak ditetapkan) open-sse/executors/chatgpt-web-codex.ts Kunci masa jalan terowong global; jangan sekali-kali paparkannya dalam log.
CHATGPT_WEB_CODEX_CONNECTOR_NAME OmniRoute Codex v2 open-sse/executors/chatgpt-web-codex.ts Nama tepat bagi penyambung tersuai ChatGPT yang baru dicipta untuk jambatan MCP.
CODEX_CHATGPT_WEB_HOME <DATA_DIR>/chatgpt-web-codex open-sse/vendor/codex-chatgpt-web/config.ts Direktori khusus untuk keadaan pelayar, broker dan terowong.
CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS 0 open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts Apabila 1, imej diagnostik pelayar dirakam pada setiap titik semak.
CODEX_CHATGPT_WEB_LAUNCHER (tidak ditetapkan) open-sse/vendor/codex-chatgpt-web/config.ts Laluan mutlak pilihan kepada binari pelancar kekal.
CODEX_CHATGPT_WEB_BUN (dikesan secara automatik) open-sse/vendor/codex-chatgpt-web/config.ts Laluan mutlak pilihan kepada binari masa jalan Bun.
CODEX_WEB_GPT_BUN (tidak ditetapkan) open-sse/vendor/codex-chatgpt-web/config.ts Sandaran legasi untuk CODEX_CHATGPT_WEB_BUN; persediaan baharu menggunakan nama kanonik.

OmniConductor Bridge

Pengguna SSE berjangka panjang yang mencerminkan tugasan hab OmniConductor ke dalam A2A TaskManager setempat (src/lib/conductor/). Ikut serta — jambatan hanya bermula apabila CONDUCTOR_HUB_URL ditetapkan. Bahagian pelayan sahaja: token hab tidak boleh sampai ke pelayar.

Pemboleh Ubah Lalai Fail Sumber Penerangan
CONDUCTOR_HUB_URL (kosong) src/lib/conductor/boot.ts URL asas hab OmniConductor (cth. http://127.0.0.1:7910). Tidak ditetapkan = jambatan dinyahdayakan.
CONDUCTOR_HUB_TOKEN (kosong) src/lib/conductor/boot.ts Bukti kelayakan hab untuk suapan SSE — keluarkan rakan setara berjenis spokesperson pada hab (POST /v1/peers, pentadbir).
CONDUCTOR_ORCHESTRATOR_TOKEN (kosong) src/lib/conductor/hubProxy.ts Bukti kelayakan untuk pengagihan tugasan A2A→hab masuk (POST /v1/tasks); menggunakan CONDUCTOR_HUB_TOKEN jika tidak ditetapkan.
CONDUCTOR_SPOKESPERSON_URL http://127.0.0.1:7920 src/lib/conductor/faroProxy.ts URL asas perkhidmatan jurucakap (Faro) di belakang proksi sembang papan pemuka (/api/conductor/ask).

Penjadualan peka kuota

Digunakan oleh open-sse/services/combo.ts dan src/lib/quota/quotaScheduler.ts untuk semakan bajet token prapermintaan. Ikut serta — tingkah laku penghalaan lalai tidak berubah apabila tidak ditetapkan.

Pemboleh Ubah Lalai Fail Sumber Penerangan
OMNIROUTE_QUOTA_AWARE_ROUTING 0 open-sse/services/combo.ts Apabila 1, langkau sambungan yang bajet token setiap tetingkapnya (rateLimitOverrides.tpm, jadual provider_quota_state) tidak dapat menampung anggaran kos permintaan sebelum penghantaran. Teruskan apabila gagal jika tiada bajet dikonfigurasikan.