Files
OmniRoute/docs/i18n/ja/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

659 KiB
Raw Blame History

Environment Variables Reference (日本語)

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


OmniRoute が認識するすべての環境変数に関する完全なリファレンスです。 クイックスタート用テンプレートについては、.env.exampleを参照してください。

Important

ここに記載されているすべての変数は .env.example にも含まれている必要があり、 .env.example に含まれるすべての変数もここに記載されている必要があります。npm run check:env-doc-sync は、コミット時および CI でこの整合性を強制します。変数を意図的に除外するには、 scripts/check/check-env-doc-sync.mjs 内の許可リストに追加してください。


目次


1. 必須のシークレット

これらは初回実行前に必ず設定する必要があります。設定されていない場合、アプリケーションは起動を拒否するか、安全でないデフォルト設定で動作します。

変数 必須 デフォルト ソースファイル 説明
JWT_SECRET はい (なし) src/lib/auth すべてのダッシュボードセッションCookieJWTの署名および検証に使用します。openssl rand -base64 48 で生成してください。
API_KEY_SECRET はい (なし) src/lib/db/apiKeys.ts SQLite内に保存されるAPIキー値のAES暗号化キーです。openssl rand -hex 32 で生成してください。
INITIAL_PASSWORD はい CHANGEME ブートストラップスクリプト 管理ダッシュボードの初期パスワードを設定します(.env.example のデフォルト値と一致します。変更を促すため、意図的に安全でないことが明確な値にしています)。初回使用前に変更してください。 ログイン後、ダッシュボード → 設定 → セキュリティから変更してください。
OMNIROUTE_WS_BRIDGE_SECRET はい(本番環境) (未設定) src/app/api/internal/codex-responses-ws/route.ts 内部Codex Responses WebSocketブリッジ用の共有シークレットです。Electron/ブラウザーのWSリレーとOmniRoute間のブリッジリクエストを認証します。⚠️ 本番環境では必須です。未設定の場合、すべてのWSブリッジリクエストが拒否されます。 openssl rand -base64 32 で生成してください。
OMNIROUTE_SW_BUILD_ID いいえ (git SHA) next.config.mjs, scripts/build/assembleStandalone.mjs PWAシェル#11779用の明示的なService Workerキャッシュ無効化IDです。解決チェーンで最初に使用されます。
SOURCE_VERSION いいえ (未設定) next.config.mjs, scripts/build/assembleStandalone.mjs 解決チェーンの2番目です。デプロイされたコミットとしてPaaSビルダーHeroku形式などによって設定されます。
NEXT_PUBLIC_SW_BUILD_ID いいえ (派生値) src/shared/components/PwaRegister.tsx クライアントが /sw.js?v=… を登録するために使用するビルド時の公開値です。上記2つの値、続いてgit SHAから派生します。
OMNIROUTE_PEER_STAMP_TOKEN いいえ(自動) (起動ごとに自動) src/server/authz/policies/management.ts 信頼されたピアIPスタンプがOmniRoute自身のHTTPサーバーscripts/dev/peer-stamp.mjsから発行されたことを証明する、プロセスごとのシークレットです。authzミドルウェアは、スタンプにこのトークンが含まれる場合にのみ、リクエストのローカリティLOCAL_ONLYルートのループバック/LANゲーティングを信頼します。起動ごとに自動生成されるため、未設定のままにしてください。スタンプを共有する必要があるマルチプロセス構成の場合にのみ固定してください。

生成コマンド

# 4つのシークレットを一度に生成
echo "JWT_SECRET=$(openssl rand -base64 48)"
echo "API_KEY_SECRET=$(openssl rand -hex 32)"
echo "INITIAL_PASSWORD=$(openssl rand -base64 16)"
echo "OMNIROUTE_WS_BRIDGE_SECRET=$(openssl rand -base64 32)"

Caution

実際のシークレットを含む .env ファイルは、絶対にバージョン管理へコミットしないでください。.gitignore ではすでに .env が除外されていますが、プッシュ前に確認してください。


2. ストレージとデータベース

OmniRoute は、すべての永続化に SQLitebetter-sqlite3 経由)を使用します。これらの変数は、データの保存場所、暗号化、およびライフサイクルを制御します。

変数 デフォルト ソースファイル 説明
DATA_DIR ~/.omniroute/ src/lib/db/core.ts SQLite DB、バックアップ、およびデータファイルのルートディレクトリです。Docker ボリュームまたはカスタムパスを使用する場合は上書きしてください。
OMNIROUTE_ALLOW_DEFAULT_DATA_DIR (未設定) src/lib/dataPaths.ts テストおよび評価用の DATA_DIR ガード(#10428を回避するためのエスケープハッチです。DATA_DIR がないテストおよび Node の eval/print プローブ(-e/--eval/-p/--print--eval=/--print= 形式を含む)は、オペレーターの実データベースを開けないよう、使い捨ての一時ディレクトリへリダイレクトされます。実ディレクトリの使用を再度有効にするには 1 に設定してください。
OMNIROUTE_BUILD_SHA (未設定) src/lib/monitoring/buildSha.ts 実行中の成果物の Git SHA です。npm run build:release によって記録されます。dist/BUILD_SHA センチネルを含まないコンテナでは注入できます。/api/monitoring/healthsystem.buildSha として公開されます。
OMNIROUTE_RELEASE_REF origin/main scripts/build/buildProvenance.ts パック成果物のプロベナンスゲートがビルド SHA と照合する参照です(#10427
OMNIROUTE_ALLOW_CANARY_BUILD (未設定) scripts/build/buildProvenance.ts SHA がリリースライン上にないビルドのパッキングを許可するには 1 に設定します。ゲートを失敗させる代わりに、意図的なカナリアとして記録します(#10427
OMNIROUTE_SMOKE_API_KEY (未設定) scripts/ops/deploy-canary.mjs カナリアデプロイのスモークプローブ用 API キーです。/v1/chat/completions へのリクエストで Authorization: Bearer として送信されます。デプロイスクリプトでのみ使用され(#10429、サーバーでは使用されません。オプトイン式 CLI スモークハーネスの OMNIROUTE_SMOKE_* 変数(tests/integration/upstream-cli-smoke.int.test.ts 内の RUN_CLI_SMOKE=1OMNIROUTE_SMOKE_BASE_URL/MODEL/API_KEY_ENV/TARGETS/TIMEOUT_MS)とは関係ありません。詳細は CLI 統合 → 実環境スモークスイープ を参照してください。
OMNIROUTE_BUILDING (未設定) src/lib/buildPhase.ts ビルドフェーズシグナル(#10060です。scripts/build/build-next-isolated.mjs によって 1 に設定され、生成されたすべてのビルドワーカーに継承されます。これにより、DB レイヤーはネイティブ better-sqlite3 アドオンを読み込む代わりに、何もしないスタブを返します(このアドオンは終了時にワーカーを中断させます)。実行中のサーバーでは決して設定しないでください。
OMNIROUTE_SKIP_NATIVE_DEP_CHECK 0 scripts/check/check-native-deps.mjs 特殊なベンダー化ツリーに対するオプションのネイティブ依存関係プリビルドチェックをスキップするには 1 に設定します。これによって不足している依存関係をビルド可能にできるわけではありません。ネイティブ依存関係が別経路で提供される場合にのみ使用してください。
OMNIROUTE_DATA_DIR (未設定) open-sse/executors/promptql/threadSticky.ts DATA_DIRフォールバックエイリアスであり、DATA_DIR が未設定の場合にのみ確認されます。PromptQL エグゼキューターのディスク上のスレッド固定セッションキャッシュ(<dir>/promptql-thread-sessions.json)を特定するために使用されます。どちらの変数も設定されていない場合、キャッシュはメモリ内にのみ保持されます(再起動後は永続化されません)。
OMNIROUTE_PLUGINS_DIR (未設定) src/lib/plugins/scanner.ts ランタイムプラグインスキャナーが読み取り、プラグインマネージャーがインストール先として使用するルートディレクトリです。ホームディレクトリから導出されるデフォルトを上書きします(#11827。スキャンパスを変更するためだけに HOME を移動するのではなく、Docker/K8s でバインドマウントされたプラグインツリーを指定してくださいHOME は、ホーム相対の他のすべての動作にも影響します)。未設定の場合は ~/.omniroute/plugins、プロセスがホームをまったく公開していない場合は /tmp/.omniroute/plugins になります。この変数により、プラグインが検出されないまま何も通知されない問題を解消できます。解決されたディレクトリは、採用された入力とともに、起動時に scanner.dir_resolved として一度ログに記録されます。サーバー側専用です。CLI コマンドプラグインは独自の OMNIROUTE_PLUGIN_PATH(セクション 9を引き続き使用します。
STORAGE_ENCRYPTION_KEY (空 = 無効) src/lib/db/encryption.ts 保存時のSQLiteデータベース全体を暗号化するためのAESキー。openssl rand -hex 32で生成します。
STORAGE_ENCRYPTION_KEY_VERSION v1 scripts/build/bootstrap-env.mjs, electron/main.js 暗号化キーのバージョンラベル。古いバックアップの復号をサポートするため、キーローテーションを実行する際に値を増やします。
DISABLE_SQLITE_AUTO_BACKUP false src/lib/db/backup.ts trueの場合、定期的なSQLiteファイルバックアップと書き込み前のバックアップmodels.devの料金情報の保存消去、設定の書き込みをスキップします。手動バックアップと復元前バックアップは引き続き実行されます。移行ランナーで必須となる永続的な安全スナップショットや、既存の永続DBに対する大規模移行ガードは無効化されません。手動以外のバックアップは、最大でも60分に1回に制限されます。ダッシュボードの設定 → ストレージでは、定期自動バックアップを別途無効化できます。
OMNIROUTE_CRYPT_KEY (未設定) src/lib/db/encryption.ts STORAGE_ENCRYPTION_KEYレガシーエイリアス。プライマリ変数が存在しない場合のフォールバックとして受け付けられます。
OMNIROUTE_API_KEY_BASE64 (未設定) src/lib/db/encryption.ts フォールバックとして受け付けられるレガシーエイリアスBase64エンコード形式。使用前に自動的にデコードされます。
OMNIROUTE_DB_HEALTHCHECK_INTERVAL_MS (未設定) src/lib/db/core.ts SQLiteの定期ヘルスチェック間隔ミリ秒を上書きします。未設定の場合、デフォルト値はNODE_ENVに基づいて決定されます。
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 216000006時間 src/lib/db/walMaintenance.ts 定期的なwal_checkpoint(TRUNCATE)の間隔ミリ秒を上書きします。自動チェックポイントによってWALファイル自体が縮小されることはなく、長時間稼働するサーバーがDBを閉じることもありません。0で無効化します。
OMNIROUTE_WAL_PASSIVE_INTERVAL_MS 3000005分 src/lib/db/walMaintenance.ts 頻繁に実行されるwal_checkpoint(PASSIVE)の間隔ミリ秒を上書きします。保留中のWALフレームを少量に抑えることで、定期的なTRUNCATEがメインスレッド上で数GBに及ぶバックログをコピーしないようにします。0で無効化します。
OMNIROUTE_WAL_GUARD_MAX_MB 256 src/lib/db/walMaintenance.ts PASSIVEの実行時にWALファイルがこのサイズを超えていることが検出された場合、低頻度の実行を待たず、直ちにwal_checkpoint(TRUNCATE)へエスカレートします。
OMNIROUTE_PRESSURE_SELF_RESTART false open-sse/utils/resourcePressure.ts 1trueyesonに設定すると、重大なリソース負荷がOMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MSの期間継続した後にプロセスを終了します。これにより、503エラーを無期限に返し続ける代わりに、スーパーバイザーsystemdのRestart=always、Dockerの再起動ポリシーがクリーンなプロセスを再起動できるようになります。
OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS 1200002分 open-sse/utils/resourcePressure.ts 自己再起動のための終了処理が実行されるまでに、重大な負荷が継続していなければならない時間。
OMNIROUTE_SQLJS_WASM_PATH (自動検出) src/lib/db/adapters/sqljsAdapter.ts sql.jsのWASMフォールバックアダプターを使用する際のsql-wasm.wasmへの明示的なパス絶対パスまたはcwdからの相対パス。未設定の場合、パッケージの依存関係と候補となるレイアウトから自動検出されます。
OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS 216000006時間 src/lib/db/core.ts 定期的なwal_checkpoint(TRUNCATE)の間隔ミリ秒を上書きします。自動チェックポイントによってWALファイル自体が縮小されることはなく、長時間稼働するサーバーがDBを閉じることもありません。0で無効化します。
OMNIROUTE_BATCH_RETENTION_DAYS 30 src/lib/db/cleanup.ts 終了状態完了失敗キャンセル済み期限切れとなったBatch APIジョブのチェックポイント、参照されている入力出力エラーファイル、および行を、自動クリーンアップ処理で削除するまで保持する日数。BATCH_AND_FILE_AUTO_CLEANUP_ENABLEDを有効にした場合にのみ反映され、OpenAI独自のBatch API出力保持期間と一致します。オペレーターが実行するDELETE /api/v1/batches/delete-completedルートには影響しません。このルートは設計上、無条件(経過期間によるフィルターなし)のままです。
BATCH_AND_FILE_AUTO_CLEANUP_ENABLED false src/lib/db/cleanup.ts true の場合、自動クリーンアップ処理により、OMNIROUTE_BATCH_RETENTION_DAYS を超過した終了済みの Batch API ジョブ(およびそのチェックポイント)を削除し、それぞれの expires_at を超過したアップロード済みファイルの BLOB コンテンツを消去します。デフォルトでは無効です。オペレーターが明示的に有効化するまで、既存のすべてのインストール環境でこのデータは従来どおり保持されます。ダッシュボードから編集可能な機能フラグでもあります。docs/reference/FEATURE_FLAGS.md → Runtime を参照してください。
OMNIROUTE_SKIP_DB_HEALTHCHECK 0 src/lib/db/core.ts, src/lib/db/healthCheck.ts 1 に設定すると、起動時の DB ヘルスチェックを完全にスキップします。短時間で終了するタスクや統合テストに便利です。
OMNIROUTE_FORCE_DB_HEALTHCHECK 0 src/lib/db/core.ts 1 に設定すると、通常であればスキップされる場合短時間で終了するタスクなどでも、DB ヘルスチェックループを強制的に有効にします。
OMNIROUTE_SKIP_POSTINSTALL 0 scripts/postinstall.mjs 1 に設定すると、npm install 中のネイティブランタイムのウォームアップをスキップします。sqlite がすでにビルド済みの CIヘッドレスインストールで便利です。
OMNIROUTE_MIGRATIONS_DIR (自動検出) src/lib/db/migrationRunner.ts マイグレーションランナーがスキャンするディレクトリを上書きします。カスタムビルドでバンドルされたマイグレーションを配布する場合に便利です。
OMNIROUTE_EXTRA_MIGRATIONS_DIRS (未設定) src/lib/db/migrationRunner/extraDirs.ts プラットフォームのパス区切り文字で区切った namespace=dir 形式の追加マイグレーションディレクトリです(例:ee=/opt/app/enterprise/db/migrations)。そこで見つかったファイルは <namespace>-<number> として記録されるため、独自のマイグレーションを同梱するディストリビューションがアップストリームの数値スロットと衝突することはありません。不正な形式のエントリ、無効な名前空間、または存在しないディレクトリがある場合、スキーマを暗黙的にスキップするのではなく、起動時にエラーがスローされます。
OMNIROUTE_MAX_PENDING_MIGRATIONS 50 src/lib/db/migrationRunner.ts 大量の保留中マイグレーションに対する安全しきい値です(#3416。既存の DB にこの数を超える保留中のマイグレーションがある場合、起動を中止します(追跡テーブルが消去された場合への保護)。古いバックアップを復元する場合は値を引き上げ、チェックを無効にするには 0 に設定します。
OMNIROUTE_INSTALL_UPGRADE_WORKDIR <repo>/.install-upgrade scripts/check/check-install-upgrade.mjs check:install-upgrade リリースゲートの作業ディレクトリです。約 12 GB約 3 GB のインストールツリー 2 つと tarballが必要なため、小容量の tmpfs 上で実行してはいけません。セルフホストランナーでは /tmp が RAM ベースの 12 GB tmpfs であり、ゲートがその容量を使い果たしてパッケージが切り詰められました。
OMNIROUTE_SPEND_FLUSH_INTERVAL_MS (コード内のデフォルト値) src/lib/spend/batchWriter.ts バッチ処理される支出コストライターのフラッシュ間隔msです。値を小さくすると書き込みの集約が減り、値を大きくすると DB の競合が減ります。
OMNIROUTE_SPEND_MAX_BUFFER_SIZE (コード内のデフォルト値) src/lib/spend/batchWriter.ts 強制フラッシュ前にバッファリングできる支出エントリの最大数です。高 QPS のデプロイでは値を引き上げ、メモリの上限を抑えることがより重要な場合は値を引き下げます。
OMNIROUTE_PROXY_FETCH_DEBUG (未設定) open-sse/utils/proxyFetch.ts "true" に設定すると、Vercel リレーパスで [ProxyFetch] デバッグログを出力します。ルーティングに関する情報の漏洩を防ぐため、デフォルトでは無効です。
PROXY_LOG_INCLUDE_IPS false src/lib/proxyLogger.ts "true" または "1" に設定すると、詳細な [ProxyEgress] プロセスログ行にクライアント/送信元 IP とアカウントプレフィックスを含めます。プロセスログから IP やアカウントプレフィックスが漏洩しないよう、デフォルトでは無効に設定されています。
OMNIROUTE_DEBUG (未設定) bin/cli/commands/quota.mjs 1 に設定すると、CLI のクォータコマンドからリクエストごとのタイミング診断([omniroute] GET <path> completed in Nms)を stderr に出力します。
OMNIROUTE_HEALTHCHECK_PATH (自動) scripts/dev/healthcheck.mjs コンテナのヘルスチェックでプローブする明示的なパスです。未設定の場合、プローブは OMNIROUTE_BASE_PATH からパスを導出します。設定すると、詳細監視エンドポイントを再び使用するようになります。
OMNIROUTE_DEBUG_COMPLETION (未設定) bin/cli/commands/completion.mjs 空でない任意の値に設定すると、CLI のシェル補完キャッシュ処理(読み取り/更新/書き込み)から [omniroute completion] 診断を出力します。デフォルトでは無効です。これらのキャッシュは暗黙的に失敗するため、キャッシュが欠落または破損していてもタブ補完が機能しなくなることはありません。
BATCH_RETRY_DURATION_MS 86400000 (24時間) open-sse/services/batchProcessor.ts 個々のバッチ項目に対する最大再試行期間(ミリ秒)。この期間を超えた項目は失敗としてマークされます。
BATCH_BACKOFF_BASE_MS 5000 open-sse/services/batchProcessor.ts バッチ項目の再試行時に使用する指数バックオフの基本遅延時間(ミリ秒)。
BATCH_BACKOFF_MAX_MS 3600000 (1時間) open-sse/services/batchProcessor.ts バッチ項目の再試行間に適用される指数バックオフの上限(ミリ秒)。
BATCH_MAX_CONCURRENT 1 open-sse/services/batchProcessor.ts 同時に処理するバッチの最大数。スループットを向上させるには値を増やします。レート制限が連鎖的に発生するのを避けるには、低い値を維持してください。

Important

既存の永続データベースを変更する前に、マイグレーションランナーは完全な コンテンツアドレス指定スナップショットを DATA_DIR/db_backups/ に公開します。公開には、同一ファイルシステム内での 上書き不可のハードリンクと、永続性が保証されるファイル同期をサポートするファイルシステムが必要です。POSIX ホストでは ディレクトリ同期も必要です。Windows では Node がディレクトリハンドルを拒否する場合があるため、OmniRoute は 公開済みファイルをフラッシュし、ディレクトリエントリの同期をベストエフォートとして扱います。 マウントされた DATA_DIR がこれらの保証を提供できない場合、マイグレーションを適用する前に 起動を安全側に倒して失敗させます。DATA_DIR をこれらのプリミティブを備えたボリュームへ移動してください。マイグレーションの安全性を回避するために DISABLE_SQLITE_AUTO_BACKUP を使用しないでください。

シナリオ

シナリオ 構成
ローカル開発 すべてデフォルトのままにします。DB は ~/.omniroute/omniroute.db に保存されます。
Docker DATA_DIR=/data を設定し、/data にボリュームをマウントします。
保存時の暗号化 STORAGE_ENCRYPTION_KEY を設定し、キーを必ずバックアップしてください!キーの喪失 = データの喪失です。
CI/テスト DATA_DIR=/tmp/omniroute-test — 一時的なデータのため、暗号化は不要です。

3. ネットワークとポート

変数 デフォルト ソースファイル 説明
PORT 20128 src/lib/runtime/ports.ts Dashboard UI と API エンドポイントの両方で使用するプライマリポート(単一ポートモード)。
OMNIROUTE_BASE_PATH (空 = ルート) next.config.mjs, scripts/docker/ensure-docker-base-path.mjs リバースプロキシの背後で OmniRoute を提供するための URL サブパスNext.js の basePath を設定し、認証リダイレクトも basePath を考慮)。例: /omniroute。Docker では、値は docker build 時に組み込まれます(ARG OMNIROUTE_BASE_PATH。ビルド済みのルートイメージでは、Next.js の起動前にコンテナ起動時に一度だけ、別のランタイム値を適用できます。同じサブパスを含む公開オリジンを NEXT_PUBLIC_BASE_URL に設定してください。
NEXT_PUBLIC_OMNIROUTE_BASE_PATH (空 = ルート) src/shared/hooks/useDisplayBaseUrl.ts OMNIROUTE_BASE_PATH のブラウザ可視ミラー。ビルド時にインライン化されるため、ダッシュボードのエンドポイント表示には https://host/v1 ではなく https://host/omniroute/v1 が表示されます。未設定の場合は OMNIROUTE_BASE_PATH にフォールバックします。変更後は再ビルドしてくださいNext の basePath はビルド時に設定されます)。
DASHBOARD_ALLOW_EMBED (未設定 = フレーム表示不可) next.config.mjs, scripts/build/dashboardEmbed.mjs HTML ページの iframe 埋め込みをオプトインで有効にします。未設定の場合、すべてのルートで frame-ancestors 'none'X-Frame-Options: DENY が設定されます。vscode に設定すると、ページ(ダッシュボード、ログイン、ドキュメント、ランディングページ)が frame-ancestors 'self' vscode-webview: 付き、かつ X-Frame-Options なしで提供されるため、VS Code Simple Browser で表示できますOmniCopilot の dashboardOpen: "editor" モード。API サーフェス(/api/v1/v1beta/a2a/healthz、ルートレベルのエイリアス)では、どちらの場合も厳格なヘッダーが維持されます。認識される値は vscode のみであり、1/true では有効になりません。ビルド時設定: 変更後は再ビルドしてください(イメージの場合は docker build --build-arg DASHBOARD_ALLOW_EMBED=vscode。ビルド済みインストール環境で設定しても効果はありません)。
API_PORT (未設定) src/lib/runtime/ports.ts 設定すると、/v1/* プロキシ API をこの個別のポートで提供します。
API_HOST 0.0.0.0 src/lib/runtime/ports.ts API ポートのバインドアドレス。
DASHBOARD_PORT (未設定) src/lib/runtime/ports.ts 設定すると、Dashboard UI をこの個別のポートで提供します。
OMNI_MAX_CONCURRENT_CONNECTIONS 0 (無効) src/sse/utils/backpressure.ts 同時処理中のチャット接続数に上限を設定します。上限を超えたリクエストには、Retry-After とともに 503 が返されます。正の整数を指定するとガードが有効になり、未設定または 0 の場合は無効になります。
OMNIROUTE_INSTANCE_ID (未設定) src/shared/resilience/peerRouting.ts OmniRoute インスタンスを連鎖させる際に、このゲートウェイを識別するための安定した一意の ID。受信時のピアループチェックを有効にします。使用可能な文字: 英字、数字、._:-。最大 64 文字。
OMNIROUTE_PEER_URLS (未設定) src/shared/resilience/peerRouting.ts, open-sse/executors/base.ts X-OmniRoute-Peer-Trace を受信する可能性がある、カンマ区切りの OmniRoute ベース URL。明示的に許可リストへ登録されたアップストリーム URL のみにピアメタデータが送信され、その他すべてのプロバイダーには影響しません。
OMNIROUTE_PEER_MAX_HOPS 4 src/shared/resilience/peerRouting.ts チェーンされたリクエストで許容される、以前に訪問した OmniRoute インスタンスの最大数(132)。インスタンスが重複しているか、上限を使い切った場合は HTTP 508 Loop Detected を返します。
PROD_DASHBOARD_PORT 20130 docker-compose.prod.yml Docker 本番モードで Dashboard 用に公開されるホスト側ポート。
PROD_API_PORT 20131 docker-compose.prod.yml Docker 本番モードで API 用に公開されるホスト側ポート。
OMNIROUTE_PORT (未設定) src/lib/runtime/ports.ts Electron またはその他のラッパー内で実行する場合、PORT より優先されます。
LIVE_WS_PORT 20129 src/server/ws/liveServer.ts リアルタイム WebSocket ライブ監視サーバー用のポート。
LIVE_WS_HOST 127.0.0.1 src/server/ws/liveServer.ts ライブ WebSocket サーバーのバインドアドレス。LAN 上で公開するには 0.0.0.0 に設定してください(LIVE_WS_ALLOWED_ORIGINS も設定してください)。
LIVE_WS_ALLOWED_ORIGINS (未設定) src/server/ws/liveServer.ts ライブ WebSocket を開くことを許可する追加オリジンのカンマ区切りリスト。ループバックの Dashboard オリジンは、デフォルトですでに許可されています。
LIVE_WS_ALLOWED_HOSTS (未設定) src/server/ws/liveServerAllowList.ts ライブ WebSocket オリジンとして許可する追加ホスト名のカンマ区切りリスト。LIVE_WS_ALLOWED_ORIGINS(完全なオリジン URLとは異なり、ホスト部分のみに一致します。LAN/Tailscale 環境で便利です。
NEXT_PUBLIC_LIVE_WS_PUBLIC_URL (未設定) src/hooks/useLiveDashboard.ts ライブ Dashboard WebSocket の公開 URLブラウザ側。WS サーバーの前段にリバースプロキシまたは Cloudflare Tunnel を配置する場合に設定します(例:wss://ws.my-ai.com/live-ws)。ブラウザは ws://hostname:20132 の代わりにこの URL に接続します。パス名部分は WebSocket のアップグレードパスとしても使用されます(デフォルト:/live-ws)。
OMNIROUTE_ENABLE_LIVE_WS true src/server/ws/liveServer.ts and scripts/start-ws-server.mjs リアルタイム WebSocket サーバーを無効にするには 0 または false に設定します(デフォルトでは有効で、ループバックにバインドされます)。スタンドアロンのライブ WebSocket ヘルパースクリプトを無効にする CI/ハーネス用トグルです。
RELAY_IP_PER_MINUTE 30 src/app/api/v1/relay/chat/completions/route.ts トークン、IPごとのリレー速度制限リクエスト数/分)。インメモリかつインスタンス単位です。0 または負の値を指定すると IP 軸のゲートが無効になります(トークンごとの DB 制限は引き続き適用されます)。
NODE_ENV production Next.js コア ログの詳細度、キャッシュ、エラー詳細の公開、および Next.js の最適化を制御します。
OMNIROUTE_USE_TURBOPACK 1Turbopack — コード上のデフォルト) package.json / Next.js 16 Turbopack は npm run dev および npm run build のデフォルトバンドラーです(ベンチマークではビルドが 23 倍高速。Windows でネイティブバインディングやバンドラー互換性の問題が発生した場合、または RAM に制約のあるマシンでは0 に設定して webpack にフォールバックしてください。この Next.js バージョン系列16.2.xの Turbopack プロダクションビルドは、大規模なモジュールグラフにおいて webpack よりもメモリ使用量のピークがはるかに高くなることがアップストリームで確認されていますNext 16.3 の Turbopack メモリ退避修正はまだ安定版ではありません。webpack へのフォールバックではピークが大幅に低くなります。#6409 を参照してください。
OMNIROUTE_SKIP_DB_HEALTHCHECK (未設定) src/lib/db/core.ts / src/lib/db/healthCheck.ts 1 に設定すると、起動時の SQLite 整合性ヘルスチェックをスキップします。大規模なデータベースで起動を高速化する場合に役立ちます。
NOTIFY_SOCKET (未設定) systemdsd_notify プロトコル) プロセスが sd_notify 統合を備えたサービスユニットの下で実行される場合に systemd によって設定されます。OmniRoute はこれを読み取り(OMNIROUTE_DISABLE_SD_NOTIFY を参照、READY/WATCHDOG 通知を送信します。ユーザーが設定することはありません。
OMNIROUTE_DISABLE_SD_NOTIFY (未設定) scripts/dev/systemd-notify.mjs systemd ユニットの下で実行している場合でも、1 に設定すると systemd の sd_notifyType=notify / WatchdogSec=を無効にします。systemd 外では、いずれの場合も通知機能は何も実行しません。
CREDENTIAL_HEALTH_CHECK_INTERVAL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/scheduler.ts バックグラウンドの認証情報ヘルスチェックスケジューラーの間隔ミリ秒。最小値1000010 秒)。
CREDENTIAL_HEALTH_CACHE_TTL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/cache.ts キャッシュされた認証情報のヘルスステータスの TTLミリ秒
OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK false src/lib/credentialHealth/scheduler.ts 1 または true に設定すると、プロバイダー接続のバックグラウンド定期テストを無効にします。検索プロバイダー(src/lib/providers/validation/searchProviders.ts 内の SEARCH_VALIDATOR_CONFIGS、例tavily-search)は常に一括チェックの対象外です。その「検証」は実際に課金されるアップストリームクエリであるため、タイマーによるヘルスチェックは実行されません(#9970
HOST 0.0.0.0 scripts/dev/run-next.mjs Next.js の開発/起動サーバーのバインドアドレス。設定されている場合、デフォルトの 0.0.0.0 を上書きします。
HOSTNAME 127.0.0.1 scripts/dev/run-next-playwright.mjs Playwright ランナーが Next.js を起動するときに使用するバインドアドレス。再現性と隔離性を確保したテストのため、デフォルトは 127.0.0.1 です。omniroute serve には使用しないでください — 代わりに OMNIROUTE_SERVER_HOST を使用してくださいPOSIX シェルは HOSTNAME をマシン名に自動設定するため、.env では上書きできません)。
OMNIROUTE_SERVER_HOST 0.0.0.0 bin/cli/commands/serve.mjs omniroute serve のバインドアドレス。POSIX シェルの HOSTNAME 変数bash/zsh によって常にマシン名に設定される)との衝突を回避します。未設定の場合は 0.0.0.0 にフォールバックします。(#6194

ポートモード

┌─────────────────────────── 単一ポート(デフォルト) ────────────────────────┐
│  PORT=20128                                                                 │
│  → ダッシュボード: http://localhost:20128                                   │
│  → API:            http://localhost:20128/v1/chat/completions               │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── ポートの分割 ────────────────────────────────────┐
│  DASHBOARD_PORT=20128                                                       │
│  API_PORT=20129                                                             │
│  API_HOST=0.0.0.0                                                           │
│  → ダッシュボード: http://localhost:20128                                   │
│  → API:            http://0.0.0.0:20129/v1/chat/completions                │
│  ユースケース: ダッシュボードを localhost に制限しつつ、API を LAN に公開。│
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────── Docker 本番環境 ─────────────────────────────────┐
│  PROD_DASHBOARD_PORT=443   PROD_API_PORT=8443                              │
│  → docker-compose.prod.yml でコンテナのポートをホストのポートにマッピング。│
└─────────────────────────────────────────────────────────────────────────────┘

4. セキュリティと認証

変数 デフォルト ソースファイル 説明
MACHINE_ID_SALT endpoint-proxy-salt src/lib/auth マシンのフィンガープリントを生成するため、ハードウェア識別子と組み合わせるソルト。環境を分離するため、デプロイごとに変更してください。
OMNIROUTE_CLI_SALT (未設定 = インストールごとにランダムなソルトを生成し、<DATA_DIR>/cli-token-salt.json に永続化) src/lib/machineToken.ts ローカル CLI 認証トークンを導出するための HMAC ソルト。この値を設定すると、マシン上のすべての CLI トークンがローテーションされ、永続化されたソルトより常に優先されます。docs/security/CLI_TOKEN.md を参照してください。
AUTH_COOKIE_SECURE false src/lib/auth セッション Cookie に Secure フラグを設定します。HTTPS の背後で実行する場合は、必ず true にする必要があります
REQUIRE_API_KEY false API ミドルウェア true の場合、すべての /v1/* プロキシリクエストに有効な API キーを含める必要があります。
ALLOW_API_KEY_REVEAL false src/shared/constants/featureFlagDefinitions.ts Dashboard UI で API キーの完全な値を表示できるようにします。Dashboard の Feature Flags から設定できますが、共有インスタンスではセキュリティ上のリスクがあります。
NO_LOG_API_KEY_IDS (空) src/lib/compliance/index.ts リクエストのログ記録を省略する API キー ID のカンマ区切りリストGDPR 準拠)。
DEFAULT_RATE_LIMIT_PER_DAY (未設定 = 無制限) src/shared/utils/apiKeyPolicy.ts rate_limits 列が null の API キーに適用される、1 日あたりのフォールバックリクエスト上限。未設定または空の場合、暗黙的な上限はありません(#2289、#110170 も同様です(無制限)。正の整数 N を指定すると、N/日、5N/週、20N/月が有効になります。不正な空でない値の場合は、従来の 1000/日、5000/週、20000/月の期間制限にフォールバックします。
MAX_BODY_SIZE_BYTES 10485760 (10 MB) src/shared/middleware/bodySizeGuard.ts 許可されるリクエストボディの最大サイズ。この制限を超えるペイロードは拒否されます。
OMNIROUTE_CHAT_LARGE_BODY_BYTES 262144 (256 KB) src/shared/middleware/chatBodyAdmission.ts このしきい値以上の実際のリクエストボディは、JSON の解析前に、プロセスローカルでアトミックな重量級アドミッションリースを取得します(POST /v1/responses を含む BYTE パス)。構造負荷が高い場合と同じ #10437 の健全なヘッドルームによる回避策が適用されます。ただし、#7849 の再発を防ぐため、引き続き OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110 によって制限されます。
OMNIROUTE_CHAT_HARD_MAX_BODY_BYTES 52428800 (50 MB) src/shared/middleware/chatBodyAdmission.ts Content-Length が欠落、不正、または実際と異なるリクエストを含め、制限付き取り込み中に読み取られたバイト数に対して適用されるチャットルートのハード上限。超過した場合は 413 が返されます。
OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (未設定 — リクエスト数の上限なし) src/shared/middleware/chatBodyAdmission.ts #503-fanout: このレガシーなリクエスト数の上限は、明示的に設定された場合にのみ適用されるようになりました。未設定(デフォルト)の場合、高負荷チャットの受け入れは代わりに OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES によって制御されます。これは、1つのプロセス1つのV8ヒープにおけるプロセスの実際のメモリ上限から自動導出されるバイト単位の予算です。約75万トークンの /v1/responses が2件重なると、約12 GiBのヒープが異常終了します#7849。これはメモリ予算に関する警告であり、製品上のハード上限が2件という意味ではありません。正常なプロセスヒープがシェッド比率未満は、OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM を介して、より多くの長時間 /v1/responses を同時に受け入れられる場合があります。数十件4050件の長時間SSEクライアントを処理できるかどうかは、ヒープ + OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES / #10110によって決まり、「最大2件」ではありません。「ホストを最大限使用する」ためにこれを安易に引き上げると、#7849が再発します。ヒープを増やすには、N個の独立した DATA_DIR を使用してください(#11024。1つのSQLiteファイルに対して replicas>1 を使用してはいけません。
OMNIROUTE_CHAT_MAX_INFLIGHT_BYTES (自動導出) src/shared/middleware/admissionBudget.ts #503-fanout: 自動導出される取り込みバイト予算のオーバーライドですV8とcgroupのメモリ上限のうち厳しい方の25%を、8倍の一時的増幅係数で除算。導出値と明示値はいずれも8 MiB2 GiBの範囲に制限されます。有効な予算を超える本文は、直ちに 413 body_exceeds_budget で失敗します。個別には処理可能な本文同士の競合は、引き続き再試行可能な 503 となります。4050件の長時間SSEクライアントを同時に処理できるかどうかは、この予算 + ヒープによって決まり、ハードな「最大2件」ではありません。調整前に /api/monitoring/healthchatAdmission.maxInflightBytes / budgetSource / pressureSeverity を確認してください。
OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO 0.75 src/shared/middleware/chatBodyAdmission.ts バイトおよび構造に基づく高負荷リクエスト受け入れに対する、ヒープ圧迫時のシェッド比率(heapUsed / heap_size_limit)です(#10183、#10268、#10437OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT を超える同時高負荷リクエストは、ヒープもこの比率以上の場合にのみ、再試行可能な 503 でシェッドされます。ヒープが正常な場合は、正常時ヘッドルームを介して受け入れられます。
OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT(デフォルト 1 src/shared/middleware/chatBodyAdmission.ts 正常なヒープ向け高速パス(#10437の追加容量に対する上限です。構造とバイトの両方に適用されます(admitChatRequestOMNIROUTE_CHAT_LARGE_BODY_BYTES 以上の本文を含む)。この上限がない場合、ヒープは正常だが処理中リクエストが多い状況で、すべてのリクエストが上限なしに受け入れ制御を迂回していました。この正常ヒープパスを介した同時リースがこの件数に達すると、それ以降のビジー状態のリクエストは、実際のヒープ圧迫時に使用されるものと同じ、待機時間に上限のあるシェッドパスにフォールスルーします。0 にすると迂回が完全に無効になります。
OMNIROUTE_CHAT_HEAVY_MESSAGE_COUNT 200 src/shared/middleware/chatBodyAdmission.ts 本文がバイトしきい値未満の場合でも、チャットリクエストを高負荷として分類するメッセージ数です。
OMNIROUTE_CHAT_HEAVY_TOOL_COUNT 64 src/shared/middleware/chatBodyAdmission.ts 本文がバイトしきい値未満の場合でも、チャットリクエストを高負荷として分類するツール数です。
OMNIROUTE_CHAT_HEAVY_ESTIMATED_TOKENS 32000 src/shared/middleware/chatBodyAdmission.ts リクエストを高負荷として分類する、文字列サイズに基づく保守的なトークン推定値です。これは受け入れコストの代替指標であり、プロバイダーの課金用トークン化ではありません。
OMNIROUTE_CHAT_HARD_MAX_MESSAGES 0(無効) src/shared/middleware/chatBodyAdmission.ts オプトインで設定できるチャット履歴の上限です。デフォルトでは無効です。メッセージ数はデプロイポリシーであり、リクエストに普遍的な特性ではありません。また、ここで上限を設定すると、圧縮パイプラインによって処理可能になる前に、会話が最終的な 413 で拒否されます。ヒープの増加は、OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT とヒープ圧迫時のシェッドによって制限されます。ハード上限を必要とするメモリ制約のあるデプロイでは正の値を設定してください。超過した場合は、圧縮が必要であることを示す構造化された 413 が返されます。
OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES 6710886464 MB open-sse/handlers/chatCore/nonStreamingResponseBody.ts メモリ内に完全にバッファリングされる、非ストリーミングのアップストリームレスポンスに対するハード上限です。これを超えるとアップストリームリーダーがキャンセルされ、ヒープが枯渇するまで無制限に文字列が増大するのではなく、リクエストが即座に失敗します。
OMNIROUTE_FORWARDING_HEADER_BUDGET_BYTES 768 open-sse/handlers/chatCore/responseHeaders.ts アップストリームレスポンスヘッダーから転送される最大ワイヤーバイト数です。予算を超えると、一般的なリバースプロキシのヘッダー制限内に収めるため、優先度の低いヘッダー(例: カスタム x-codex-*x-oai-request-id)が破棄されます。レスポンスヘッダーのサイズが大きくなる代わりに、より多くのアップストリームメタデータを転送するには、より高い値を設定してください。
CORS_ORIGIN (未設定) src/server/cors/origins.ts 従来の単一オリジン用 CORS 許可リスト。新規デプロイでは CORS_ALLOWED_ORIGINS を推奨します。CORS はクロスオリジンのブラウザー API クライアント専用です。認証済みダッシュボードからの書き込みでは、代わりに同一オリジンリクエストとセッションに紐付けられた CSRF 保護を使用します。
CORS_ALLOWED_ORIGINS (未設定) src/server/cors/origins.ts カンマ区切りの CORS 許可リスト。CORS_ALLOW_ALL=true が明示的に設定されていない限り、ワイルドカードは送信されません。
CORS_ALLOW_ALL false src/server/cors/origins.ts ブラウザーの任意の Origin をそのまま返すための、開発環境専用の回避手段。共有環境や本番環境では有効にしないでください。
OUTBOUND_SSRF_GUARD_ENABLED true src/shared/network/outboundUrlGuard.ts プライベート、ループバック、リンクローカルの IP 範囲を対象とするプロバイダー呼び出しをブロックします。無効化するのは、隔離されたテスト環境のみにしてください。
OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS false src/shared/network/outboundUrlGuard.ts プライベートローカルネットワークlocalhost、192.168.x.x、10.x.x.x など)を指すプロバイダー URL を許可します。セルフホスト型プロバイダーでは必須ですLM Studio、Ollama、vLLM、Llamafile、Triton、SearXNGfalse の場合、ダッシュボードはローカル URL の検証を拒否します。
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS true src/shared/network/outboundUrlGuard.ts ローカルプライベートアドレス127.0.0.1、localhost、LAN、プライベート範囲上のプロバイダーの追加検証を許可します。これはプロバイダー検証パスに限定されます。デフォルトは true(ローカル優先)です。公開アドレスのみに厳格に制限するには false に設定します。クラウドメタデータエンドポイント169.254.169.254、metadata.google.internalは、設定にかかわらず引き続きブロックされます。#5066
AUDIO_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/audioProviderNodes.ts /v1/audio/* ルート(文字起こし、音声、翻訳)が localhost 外でホストされている OpenAI 互換プロバイダーノードを使用できるようにします。デフォルトでは無効です。音声をリモートホストにルーティングすると外向き通信の送信元 ID が変わるため、運用者が明示的に決定する必要があります。ループバックプライベートードlocalhost、127.0.0.1、172.16-31.xは常に許可され、この設定の影響を受けません。#3963
OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts OIDC が有効な場合、パスワードログインを無効にし、ユーザーが OIDC シングルサインオン経由でのみ認証できるようにします。短縮エイリアス OIDC_DISABLE_PASSWORD_LOGIN も使用できます。同じキーを持つダッシュボードの機能フラグが優先されます。(#10889
OIDC_DISABLE_PASSWORD_LOGIN false src/app/api/auth/login/route.ts OMNIROUTE_OIDC_DISABLE_PASSWORD_LOGIN の短縮エイリアスです(#10889

セキュリティ強化チェックリスト

# 本番環境における最低限のセキュリティ設定:
AUTH_COOKIE_SECURE=true        # HTTPS が必要
REQUIRE_API_KEY=true           # すべてのプロキシ呼び出しを認証
ALLOW_API_KEY_REVEAL=false     # UI にキーを一切表示しない
CORS_ALLOWED_ORIGINS=https://your.domain.com
MAX_BODY_SIZE_BYTES=5242880    # 上限 5 MB

5. 入力サニタイズと PII 保護

OmniRoute は、リクエスト側のインジェクションスキャンとレスポンス側の PII 除去という、2 層の防御を提供します。

⚠️ 制限事項: これらのガードレールは完全なプロンプトインジェクションファイアウォールや PII DLP システムではなく、ベストエフォート型のヒューリスティック検出です。誤検知(無害なペルソナ/RPG プロンプトが検出される)や検出漏れ(リートスピーク、空白の挿入、英語以外のパターン)が発生する可能性があります。これらだけではコンプライアンス対応として十分ではありません。依存する前に、モードを調整し、実際のトラフィックに対してテストしてください。

リクエスト側: プロンプトインジェクションガード

変数 デフォルト ソースファイル 説明
INPUT_SANITIZER_ENABLED true src/middleware/promptInjectionGuard.ts 受信メッセージに対するプロンプトインジェクションパターンのスキャンを有効にします。
INPUT_SANITIZER_MODE warn src/middleware/promptInjectionGuard.ts インジェクションポリシー: warn = ログ記録のみ、block = リクエストを 400 で拒否します。従来の redact はインジェクションテキストを除去しません。リクエスト内の PII を書き換えるには PII_REDACTION_ENABLED を使用してください。
INJECTION_GUARD_MODE (未設定) src/middleware/promptInjectionGuard.ts INPUT_SANITIZER_MODE の従来のエイリアスです。動作は同じです。
INPUT_SANITIZER_BLOCK_THRESHOLD high src/shared/utils/injectionSeverity.ts MODE=block が拒否する最低重大度: high(デフォルト)、medium、または low。しきい値を下げない限り、重大度が Medium のパターンは監視のみとなります。
INJECTION_GUARD_BLOCK_THRESHOLD (未設定) src/shared/utils/injectionSeverity.ts INPUT_SANITIZER_BLOCK_THRESHOLD の従来のエイリアスです。動作は同じです。
PII_REDACTION_ENABLED false src/lib/guardrails/piiMasker.ts true の場合、受信リクエスト内の PII をマスキングします(インジェクションモードとは独立しています)。
CREDENTIAL_REDACTION_ENABLED false src/lib/guardrails/credentialMasker.ts リクエスト/レスポンスのペイロードから、既知の API キー/シークレットトークンのパターンをマスキングします。オプトイン方式で、PII_REDACTION_ENABLED と同様に動作します。

レスポンス側: PII サニタイザー

変数 デフォルト ソースファイル 説明
PII_RESPONSE_SANITIZATION false src/lib/piiSanitizer.ts クライアントに返す前に、LLM のレスポンスに漏洩した PII が含まれていないかスキャンします。
PII_RESPONSE_SANITIZATION_MODE redact src/lib/piiSanitizer.ts redact = PII をマスキング、warn = ログ記録のみ、block = レスポンス全体を破棄します。

VS Code トークン化ルートのコンテキストサニタイザー

変数 デフォルト ソースファイル 説明
OMNIROUTE_VSCODE_SANITIZE_CONTEXT 1 src/app/api/v1/vscode/contextSanitizer.ts /v1/vscode/[token]/* リクエストから、暗黙的なアクティブエディターのコンテキスト(editorContextactiveEditorcurrentFileselectionopenTabs…)を除去し、明示的に添付された機密ファイルの内容をマスキングします。デフォルトで安全な設定です。無効にするには 0 に設定してください。

シナリオ

シナリオ 設定
エンタープライズコンプライアンス INPUT_SANITIZER_ENABLED=trueINPUT_SANITIZER_MODE=blockPII_REDACTION_ENABLED=truePII_RESPONSE_SANITIZATION=true(インジェクションをブロックし、リクエスト/レスポンスの PII をマスキングします。各モードは独立しています)
監視のみ INPUT_SANITIZER_ENABLED=trueINPUT_SANITIZER_MODE=warn — ログには記録しますが、ブロックは行いません
個人利用 すべて無効のままにします — オーバーヘッドはゼロです

6. ツールおよびルーティングポリシー

変数 デフォルト ソースファイル 説明
TOOL_POLICY_MODE disabled src/lib/toolPolicy.ts LLMのツール関数呼び出しへのアクセスを制御します。allowlist = リストに含まれるツールのみ、denylist = リストに含まれるもの以外すべて、disabled = 制限なし。
OMNIROUTE_PAYLOAD_RULES_PATH ./config/payloadRules.json open-sse/services/payloadRules.ts ペイロード操作ルールのJSONファイルモデルプロトコルごとのアップストリーム調整へのパス。
OMNIROUTE_PAYLOAD_RULES_RELOAD_MS 5000 open-sse/services/payloadRules.ts ペイロードルールファイルをホットリロードする間隔ms。最小値は1000
OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS false open-sse/services/model.ts オプトイン設定Claude Codeクライアントからのプレフィックスなしのclaude-*モデルIDを、プロバイダープレフィックス必須とせず、Claude Code OAuthアカウント経由でルーティングします。明示的なプロバイダープレフィックスが引き続き優先されます。Claudeプロバイダーページのダッシュボード切り替えスイッチからも設定できます。
COMBO_CONCURRENCY_PER_MODEL 3 open-sse/services/comboConfig.ts ラウンドロビンコンボのモデルごとの同時実行数上限(#9100。ラウンドロビンコンボのセマフォは、オーバーライドなしでモデルごとに同時リクエスト3件へハードコードされていたため、同時実行数が多いトラフィックはその上限の背後で直列化されていました。>= 1になるよう検証され、<= 32に制限されます。
DISABLE_CONTEXT_WINDOW_CHECKS false open-sse/handlers/chatCore.ts 直接の単一モデルリクエストに対するOmniRouteのローカルなコンテキストウィンドウ最大入力トークンチェックをスキップする危険なオプトイン設定です。アップストリームプロバイダーは引き続き実際の制限を適用し、プロンプト圧縮とモデル自身の出力トークン上限も引き続き有効です。有効な優先順位は、Feature Flags DBのオーバーライド > 環境変数 > デフォルトです。再起動は不要です。
OMNIROUTE_DISABLE_CONVERSATION_TRACKING (未設定) open-sse/services/conversationTracker.ts 会話履歴の収集を停止するには1に設定します。resolveConversationId()は、SQLiteの読み取りやメッセージ履歴の解析を行う前に、追跡対象外の結果を返します。クライアントから提供されたセッションIDも対象です。ルーティングセッションの処理は変更されず、既存のレコードも削除されません。ダッシュボードの会話ビューを使用せず、ターンテーブルの増加を停止したいデプロイメント向けです。

7. URL とクラウド同期

変数 デフォルト ソースファイル 説明
BASE_URL http://localhost:20128 src/lib/cloudSync.ts 内部同期ジョブが /api/sync/cloud を呼び出すためのサーバー側 URL。アプリが公開プロキシ経由で提供される場合でも、ループバック URL またはコンテナ URL のままにしてください。
CLOUD_URL (空) src/lib/cloudSync.ts クラウドリレーエンドポイントの URLプレミアム機能
CLOUD_SYNC_TIMEOUT_MS 12000 src/lib/cloudSync.ts クラウド同期リクエストの HTTP タイムアウト。
OMNIROUTE_BUILD_PROFILE full Webpack ビルド設定 ビルド時のプロファイル(権限が必要なモジュールをバンドルから物理的に除外するには minimal に設定)。
OMNIROUTE_STANDALONE_DIR .build/ スタンドアロン出力 scripts/build/colocate-standalone.mjs ビルド後のコロケーション手順で使用されるスタンドアロン出力ディレクトリを上書きするビルド時設定。ランタイム設定ではありません。
OMNIROUTE_CLOUD_SYNC_SECRET (空) src/lib/cloudSync.ts Cloud Sync レスポンスの HMAC-SHA256 署名を検証するために使用される共有シークレット。
OMNIROUTE_CLOUD_SYNC_SECRETS false src/lib/cloudSync.ts Cloud Sync エンドポイントによるローカル認証情報の上書きを許可するには true に設定します。デフォルトは false です。
OMNIROUTE_CLOUD_SYNC_ENFORCE_SIGNATURE false src/lib/cloudSync.ts ローカルシークレットが設定されていない場合に、署名のない Cloud Sync レスポンスを拒否するには true に設定します(#13679。このフラグに関係なく、署名が存在する場合は常に検証され、OMNIROUTE_CLOUD_SYNC_SECRET が未設定の場合は常に拒否されます。v3.9 では、デフォルトが署名の強制に変更されます。
OMNIROUTE_ZED_IMPORT_LEGACY_ONE_STEP false src/app/api/providers/zed/import/route.ts ユーザーの確認なしに、v3.8.5 のワンステップ「すべてをインポート」動作へフォールバックするには true に設定します。
NEXT_PUBLIC_BASE_URL http://localhost:20128 OAuth、ダッシュボード、同期 OAuth の redirect_uri、ダッシュボードのリンク、生成される公開 URL に使用する外部公開 URL。OAuth コールバックまたは生成されるブラウザーリンクで正規のリバースプロキシホストを使用する必要がある場合は、安定した公開 URL に設定してください。
NEXT_PUBLIC_CLOUD_URL (空) クライアント側 CLOUD_URL のクライアント側ミラー。
NEXT_PUBLIC_APP_URL (未設定) src/shared/services/cloudSyncScheduler.ts NEXT_PUBLIC_BASE_URL 用の従来のフォールバック。
OMNIROUTE_PUBLIC_BASE_URL (未設定) 公開オリジンリゾルバー、画像 URL 公開 URL の生成およびダッシュボード以外でのブラウザーオリジン検証に使用される、最優先のブラウザー向け OmniRoute オリジン。OpenWebUI または別のリレーが内部 URL で OmniRoute にアクセスする一方、ユーザーのブラウザーが生成されたメディアを LAN、トンネル、または公開オリジンから取得する必要がある場合に設定します。/v1 は含めないでください。
OMNIROUTE_PROVIDER_MANIFEST_URL (未設定) open-sse/config/providerPluginManifestUrl.ts サイドカークライアントに通知されるプロバイダープラグインマニフェストの絶対 URL。未設定の場合、OmniRoute はリクエストオリジンまたは HOST/PORT から /api/v1/provider-plugin-manifest を導出します。
OMNIROUTE_PUBLIC_PROTOCOL http open-sse/config/providerPluginManifestUrl.ts リクエストオリジンなしで HOST/PORT からプロバイダープラグインマニフェスト URL を導出する際に使用されるプロトコル。明示的な OMNIROUTE_PROVIDER_MANIFEST_URL が設定されていない場合、TLS を終端する公開プロキシの背後では https に設定します。
OMNIROUTE_TRUST_PROXY (未設定) src/server/origin/publicOrigin.ts 転送された公開オリジンヘッダーに対するオプションの信頼モード。未設定 = セキュリティ上の判定で Forwarded / X-Forwarded-* を信頼しません。true / loopback は、トークンが付与されたループバックプロキシからの転送ホスト/プロトコルのみを信頼します。private / lan は、プライベート LAN のプロキシピアも信頼します。本番環境では明示的な NEXT_PUBLIC_BASE_URL を推奨します。
KIE_CALLBACK_URL (未設定) open-sse/utils/kieTask.ts 非同期 kie.ai ジョブ用の公開コールバック URL。OMNIROUTE_KIE_CALLBACK_URL および OMNIROUTE_PUBLIC_URL より優先される、最優先のオーバーライド。
OMNIROUTE_KIE_CALLBACK_URL (未設定) open-sse/utils/kieTask.ts KIE_CALLBACK_URL の代替表記。主要な変数が未設定の場合にフォールバックします。
OMNIROUTE_PUBLIC_URL (未設定) open-sse/utils/kieTask.ts 非同期コールバック URL の構成に使用される公開オリジン。kie.ai コールバックにおける最低優先度のフォールバックであり、他のリレー用の汎用公開 URL としても使用されます。
OMNIROUTE_CROF_USAGE_URL https://crof.ai/usage_api/ open-sse/services/usage.ts 使用量ページで使用される CrofAI クォータ照会エンドポイント。リレー/テストフィクスチャ向けにオーバーライドできます。
OMNIROUTE_OPENCODE_QUOTA_URL https://opencode.ai/zen/go/v1/usage open-sse/services/opencodeQuotaFetcher.ts 使用量ページで使用される、公式の API キー認証付き OpenCode Go 使用量エンドポイント。リレー/テストフィクスチャ向けにオーバーライドできます。
OPENCODE_SYNTHESIZE_CLI_HEADERS true open-sse/executors/opencode.ts クライアントが送信しなかった OpenCode CLI 識別ヘッダーUser-Agent、x-opencode-client/project、リクエストセッション UUIDを opencode-go/zen アップストリームリクエストで生成し、VPS からの送信を Cloudflare が受け入れられるようにします(#6210/#5997。#10571 以降はデフォルトで有効です。無効にするには false/0/no/off を指定します。
OPENCODE_USER_AGENT opencode open-sse/executors/opencode.ts OPENCODE_SYNTHESIZE_CLI_HEADERS が有効で、プロバイダーごとの <PROVIDER>_USER_AGENT オーバーライドが設定されていない場合に使用されるデフォルトの User-Agent。opencode エグゼキューターにのみ適用されます。
OPENCODE_CLIENT desktop open-sse/executors/opencode.ts OPENCODE_SYNTHESIZE_CLI_HEADERS が有効な場合に生成される x-opencode-client ヘッダーの値。
OPENCODE_PROJECT global open-sse/executors/opencode.ts OPENCODE_SYNTHESIZE_CLI_HEADERS が有効な場合に、生成される x-opencode-project ヘッダーに使用される値。
OMNIROUTE_OLLAMA_CLOUD_USAGE_URL https://ollama.com/settings open-sse/services/usage.ts クォータ情報のスクレイピングに使用される Ollama Cloud の設定 URL。リレーやテストフィクスチャ用にオーバーライドできます。
OLLAMA_USAGE_COOKIE (未設定) open-sse/services/usage.ts 設定ページからクォータ情報をスクレイピングするために使用される Ollama Cloud の __Secure-session Cookie。機密情報です。複数のアカウントを設定する場合は、接続ごとのダッシュボードフィールドを使用してください。
OLLAMA_CLOUD_USAGE_COOKIE (未設定) open-sse/services/usage.ts Ollama Cloud の __Secure-session Cookie に使用できる代替環境変数。機密情報です。複数のアカウントを設定する場合は、接続ごとのダッシュボードフィールドを使用してください。
OMNIROUTE_OLLAMA_USAGE_COOKIE (未設定) open-sse/services/usage.ts 短い別名よりも先に使用される、Ollama Cloud の __Secure-session Cookie 用代替環境変数。機密情報です。複数のアカウントを設定する場合は、接続ごとのダッシュボードフィールドを使用してください。
OMNIROUTE_CODEWHISPERER_BASE_URL https://codewhisperer.us-east-1.amazonaws.com open-sse/services/usage.ts CodeWhispererAWS Kiroの使用量上限エンドポイント。リレーやテストフィクスチャ用にオーバーライドできます。

Important

リバースプロキシnginx、Caddyの背後にデプロイする場合、OAuth コールバックまたは生成される公開リンクでそのホスト名を使用する必要があるときは、NEXT_PUBLIC_BASE_URL を安定した公開 URL例: https://omniroute.example.comに設定してください。これを設定しないと、redirect_uri が一致しないため OAuth コールバックが失敗したり、生成された公開リンクが内部コンテナのオリジンを指したりする可能性があります。

サーバー間ジョブでは、BASE_URL を内部ループバック URL またはコンテナ URL のままにしてください。認証情報を伴う内部セルフフェッチに、ブラウザの Origin や公開ホスト名を使用しないでください。

認証済みのダッシュボード書き込みには、静的な公開ベース URL は必要ありません。ダッシュボードは、セッションに紐付けられた CSRF トークンを使用して、同一オリジンへの安全でないリクエストを送信します。OmniRoute は、ダッシュボード以外のブラウザ統合についても公開オリジンの検証を一元管理します。明示的な公開 URL 環境変数が最初に信頼されます。生の Forwarded / X-Forwarded-* ヘッダーは、OMNIROUTE_TRUST_PROXY が有効で、かつ直近のプロキシピアに信頼済みであることを示すトークンが付与されていない限り無視されます。同一オリジンのダッシュボードリクエストを修正するために CORS 設定を使用しないでください。CORS はクロスオリジンのブラウザクライアント専用です。


8. アウトバウンドプロキシ

送信制御、ジオルーティング、または IP マスキングのために、アップストリーム LLM プロバイダーへの呼び出しを HTTP または SOCKS5 プロキシ経由でルーティングします。

変数 デフォルト ソースファイル 説明
ENABLE_SOCKS5_PROXY true open-sse/executors アップストリーム呼び出しに対して SOCKS5 プロキシエージェントを有効にします。false で無効化できます。
NEXT_PUBLIC_ENABLE_SOCKS5_PROXY true クライアント側 SOCKS5 が利用可能であることをクライアント側で認識できるようにします。
PROXY_SKIP_RECENTLY_FAILED false src/shared/utils/featureFlags.ts オプトインの機能フラグです(FEATURE_FLAGS.md を参照。ダッシュボードの DB オーバーライドが優先されます。プロキシプールおよびアカウントごとのローテーションでは、直前に失敗したメンバーTCP プローブが拒否された、またはそのメンバー経由で 429 が返された)を、失敗の繰り返しごとに上限まで倍増する期間中、再度割り当てません。true(または 1yes)で有効になります。
HTTP_PROXY (未設定) Node.js 標準 アップストリーム呼び出し用の HTTP プロキシです。
HTTPS_PROXY (未設定) Node.js 標準 アップストリーム呼び出し用の HTTPS プロキシです。
ALL_PROXY (未設定) Node.js 標準 汎用プロキシです(socks5:// をサポート)。
OMNIROUTE_PROXY_ECHO_URL (未設定) src/lib/proxyEchoTarget.ts プロキシ送信プローブで使用するエコー IP のターゲットを単一の URL に固定します。未設定の場合、プローブは api64.ipify.org、次に api4.ipify.org を試行するため、IPv4 のみのトンネルが停止中と誤って報告されることはありません(#9694
NO_PROXY (未設定) Node.js 標準 プロキシをバイパスするホスト名/IP をカンマ区切りで指定します。
OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS 32 open-sse/utils/proxyDispatcher.ts キャッシュされた HTTP/SOCKS プロキシディスパッチャーごとの最大同時ソケット数です。複数のリクエストが同じアカウントレベルのプロキシを共有する場合、Codex /v1/responses などの長時間持続する SSE ストリームには複数の接続が必要です。256 を超える値は上限で制限されます。
SOCKS_HANDSHAKE_TIMEOUT_MS 10000 open-sse/utils/socksConnectorWithFamily.ts SOCKS5 ハンドシェイク(接続)のタイムアウト(ミリ秒)です。単一の住宅用ゲートウェイホストに高い同時実行負荷(例: 100 件の同時リクエスト)がかかる場合は、この値を増やしてください。プロキシに到達可能であっても、飽和したプールでは実際のハンドシェイクが 10 秒を超えることがあり、そのままでは誤った [Proxy Fast-Fail] Proxy unreachable として現れます。上限は 120000 です。
PROXY_FAIL_OPEN false src/sse/handlers/chatHelpers.ts false(デフォルト)の場合、割り当てられたプロキシの解決に失敗したリクエストは、直接接続へフォールバックせずに 拒否(フェイルクローズ) されます。これにより、実 IP の漏えいを防止します。従来の DIRECT フォールバックを復元するには true に設定します。
ENABLE_TLS_FINGERPRINT false open-sse/executors wreq-js を使用して TLS フィンガープリントを偽装しますChrome 124 を模倣。JA3/JA4 によるブロックを回避します。
TLS_FINGERPRINT_PROVIDERS (未設定) open-sse/utils/proxyFetch.ts 新しいプロキシ経由の TLS ルーティング(open-sse/utils/proxyFetch.ts)で使用する、プロバイダーのカンマ区切り許可リスト。未設定の場合、直接 TLS は従来の動作を維持し、ここで指定したプロバイダーのみが Chrome-124 フィンガープリントブリッジを経由します。
OMNIROUTE_TURNSTILE_IGNORE_TLS_ERRORS false open-sse/services/claudeTurnstileSolver.ts Claude Turnstile の Playwright ブラウザーコンテキストで HTTPS 証明書エラーを無視できるようにします。

シナリオ

シナリオ 設定
SSH トンネル経由の SOCKS5 ALL_PROXY=socks5://127.0.0.1:7890, ENABLE_SOCKS5_PROXY=true
企業 HTTP プロキシ HTTP_PROXY=http://proxy.corp.com:3128, HTTPS_PROXY=http://proxy.corp.com:3128, NO_PROXY=localhost,internal.corp.com
フィンガープリント対策 ENABLE_TLS_FINGERPRINT=truewreq-js(同梱)が必要
送信制御あり / 直接アクセス不可 PROXY_FAIL_OPEN=false(デフォルト)のままにします。プロキシが利用できない場合、直接接続による漏えいを避けるため、リクエストは即座に失敗します。
レガシー / 開発環境 — 直接接続へのフォールバックを許可 PROXY_FAIL_OPEN=true。強化前の動作に戻し、プロキシの解決に失敗した場合は直接接続を使用します。

注記NVIDIA 検証バイパス — #3226 NVIDIA の API キー検証エンドポイントは、 グローバルプロキシ/TLS パッチ適用済みの fetchundici dispatcher → 504経由でルーティングすると停止します。 src/lib/providers/validation.ts::directHttpsRequest() は、その 1 回の検証呼び出しに限り、 safeOutboundFetch({ bypassProxyPatch: true }) を使用して意図的にプロキシパッチをバイパスします。 これは文書化された限定的な例外であり、チャット/使用状況の送信には影響しません。 バイパスの適用範囲は tests/unit/proxy-bypass-scope-guard-3226.test.ts によって固定されています。


9. CLIツールの統合

OmniRoute が CLI サイドカーClaude Code、Codex など)を検出して起動する方法を制御します。

変数 デフォルト ソースファイル 説明
CLI_MODE auto src/shared/services/cliRuntime.ts auto = システムの PATH を検索します。manual = 明示的に指定されたパスのみを使用します。
CLI_EXTRA_PATHS (未設定) src/shared/services/cliRuntime.ts CLI バイナリを検出するための追加の PATH エントリ(コロン区切り)。
CLI_CONFIG_HOME (未設定) src/shared/services/cliRuntime.ts CLI 設定(~/.claude~/.codex)の読み取りに使用するホームディレクトリを上書きします。絶対パスであり、プロセスのホーム内に存在する必要があります。または、コンテナ内ではバインドマウントされたパスも使用できます(/host-home はこの仕組みで動作します)。それ以外の場合はホームディレクトリにフォールバックします。
CLI_ALLOW_CONFIG_WRITES true src/shared/services/cliRuntime.ts OmniRoute による CLI 設定ファイルへの書き込み(トークンの更新、セッションデータ)を許可します。false に設定すると、CLI 設定へのすべての書き込みが明示的な「書き込みが無効です」というエラーで失敗します。
CLI_CLAUDE_BIN claude src/shared/services/cliRuntime.ts Claude CLI バイナリへのカスタムパス。
CLI_CODEX_BIN codex src/shared/services/cliRuntime.ts Codex CLI バイナリへのカスタムパス。
CLI_DROID_BIN droid src/shared/services/cliRuntime.ts Droid CLI バイナリへのカスタムパス。
CLI_OPENCLAW_BIN openclaw src/shared/services/cliRuntime.ts OpenClaw CLI バイナリへのカスタムパス。
CLI_CURSOR_BIN agent、次に cursor src/shared/services/cliRuntime.ts Cursor エージェントバイナリへのカスタムパス。指定しない場合、検出では最初に agent を試し、見つからなければ cursor にフォールバックします。
CLI_CLINE_BIN cline src/shared/services/cliRuntime.ts Cline CLI バイナリへのカスタムパス。
CLI_5DIVE_BIN 5dive src/shared/services/cliRuntime.ts 5dive CLI バイナリへのカスタムパス。
CLI_5DIVE_STATE_DIR /var/lib/5dive src/shared/services/cliRuntime.ts 5dive のシステム状態ディレクトリroot が所有する認証プロファイル。5dive 自体の STATE_DIR のデフォルトと同じです。
CLI_CONTINUE_BIN cn src/shared/services/cliRuntime.ts Continue CLI バイナリへのカスタムパス。
CLI_QODER_BIN qodercli src/shared/services/cliRuntime.ts Qoder CLI バイナリへのカスタムパス。
CLI_QWEN_BIN qwen src/shared/services/cliRuntime.ts Qwen Code CLI バイナリへのカスタムパス。
CLI_AIDER_BIN aider src/shared/services/cliRuntime.ts Aider CLI バイナリへのカスタムパス。
CLI_GOOSE_BIN goose src/shared/services/cliRuntime.ts Goose CLI バイナリへのカスタムパス。
CLI_GEMINI_BIN gemini src/shared/services/cliRuntime.ts Google Gemini CLI バイナリへのカスタムパス。サーバー側の検出およびヘルスチェックにのみ使用されます。omniroute run gemini はシステムの PATH から gemini バイナリを解決します。
CLI_KILO_BIN kilocode src/shared/services/cliRuntime.ts Kilo Code CLI バイナリへのカスタムパス。
CLI_OPENCODE_BIN opencode src/shared/services/cliRuntime.ts OpenCode CLI バイナリへのカスタムパス。
CLI_HERMES_BIN hermes src/shared/services/cliRuntime.ts Hermes バイナリへのカスタムパス。両方のカタログエントリ(hermes および hermes-agent)で共有されます。
CLI_FORGE_BIN forge src/shared/services/cliRuntime.ts ForgeCode CLI バイナリへのカスタムパス。
CLI_JCODE_BIN jcode src/shared/services/cliRuntime.ts jcode CLI バイナリへのカスタムパス。
CLI_DEEPSEEK_TUI_BIN deepseek-tui src/shared/services/cliRuntime.ts DeepSeek TUI バイナリへのカスタムパス。
CLI_CODEWHALE_BIN codewhale src/shared/services/cliRuntime.ts CodeWhale CLI バイナリへのカスタムパス。
CLI_SMELT_BIN smelt src/shared/services/cliRuntime.ts Smelt CLI バイナリへのカスタムパス。
CLI_PI_BIN pi src/shared/services/cliRuntime.ts Pipi-coding-agentバイナリへのカスタムパス。
CLI_CRUSH_BIN crush src/shared/services/cliRuntime.ts Crush CLI バイナリへのカスタムパス。
CLI_OMP_BIN omp src/shared/services/cliRuntime.ts Oh My Piomp)エージェントバイナリへのカスタムパス。
CLI_LETTA_BIN letta src/shared/services/cliRuntime.ts Letta CLI バイナリへのカスタムパス。
CLI_PRIME_AGENT_BIN prime-agent src/shared/services/cliRuntime.ts Prime AgentPrime Intellectバイナリへのカスタムパス。
CLI_WINDSURF_BIN (なし) src/shared/services/cliRuntime.ts Windsurf バイナリへのカスタムパス。Windsurf にはデフォルトコマンドが付属していません。この値が設定されるまで、バイナリ検出は無効のままです。
CLI_DEVIN_BIN devin open-sse/executors/devin-cli.ts Devin CLI バイナリv3.8.0へのカスタムパス。Windsurf/Devin エグゼキューターによって使用されます。
DEVIN_DESKTOP_VERSION 3.6.27 open-sse/executors/devin-desktop.ts Devin Desktop の ide_version。オーバーライドには x.y.z 形式を使用する必要があります。無効な値の場合は、検証済みのデフォルト値にフォールバックします。
DEVIN_DESKTOP_EXTENSION_VERSION 1.48.2 open-sse/executors/devin-desktop.ts バンドルされている Codeium/language-server の extension_version。Desktop の ide_version とは別のものです。オーバーライドには x.y.z を使用する必要があります。無効な値の場合は、バンドルされているデフォルト値が使用されます。
CLI_DEVIN_AGENTIC_BIN devin open-sse/executors/devin-cli-agentic.ts Agentic ブリッジ専用の Devin CLI オーバーライド。エグゼキューターは、ローカルの ACP stdio アップストリームのみを受け入れます。
DEVIN_AGENTIC_HOME (必須) open-sse/executors/devin-cli-agentic.ts Agentic Devin サブプロセス用の絶対パスで指定する分離されたホーム。許可されるブリッジパスは /home/bridge およびタスクローカルの .sandbox パスですWindows では C:\...\.sandbox\...)。
DEVIN_AGENTIC_ACP_TIMEOUT_MS 120000 open-sse/executors/devin-cli-agentic.ts ブリッジが子プロセスを終了して明示的なタイムアウトを返すまでの、1 回の Devin ACP ターンの最大時間。
DEVIN_BRIDGE_MODEL devin-cli-agentic/swe-1-7 docker/devin-bridge/compose.yml 分離されたブリッジ用のメイン Claude Code モデルエイリアス。ライブハーネスは、この例の値を現在の Devin アカウントから返されたモデルに置き換えます。
DEVIN_BRIDGE_SONNET_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Claude Code がデフォルトの Sonnet をリクエストしたときに使用される、分離されたブリッジのエイリアス。
DEVIN_BRIDGE_OPUS_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Claude Code がデフォルトの Opus をリクエストしたときに使用される、分離されたブリッジのエイリアス。
DEVIN_BRIDGE_HAIKU_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Claude Code がデフォルトの Haiku をリクエストしたときに使用される、分離されたブリッジのエイリアス。
DEVIN_BRIDGE_SUBAGENT_MODEL DEVIN_BRIDGE_MODEL docker/devin-bridge/compose.yml Claude Code のサブエージェントに使用される、分離されたブリッジのエイリアス。
DEVIN_SEAT_API_URL https://server.codeium.com open-sse/services/usage/devinCli.ts Devin CLI のクォータ(GetUserStatus)で使用される Codeium シート管理 API のオプションのオーバーライド。
AUGGIE_BIN auggie open-sse/executors/auggie.ts ローカルの auggie プロバイダーで使用される AugmentAuggieCLI バイナリの絶対パスによるオーバーライド。未指定の場合は CLI_AUGGIE_BIN、次に PATH 検索へフォールバックします。
CLI_AUGGIE_BIN auggie open-sse/executors/auggie.ts AugmentAuggieCLI バイナリパスのエイリアスによるオーバーライド(AUGGIE_BIN の後に確認されます)。
ZCODE_BIN zcode open-sse/executors/zcode.ts ローカルの zcode プロバイダーの stdio クライアントに使用されるバイナリ。未指定の場合は PATH 上の zcode にフォールバックします。
ZCODE_ARGS open-sse/executors/zcode.ts cliTools 経由で起動するときに zcode バイナリへ渡される追加引数の JSON 配列16 個以下の文字列)。
ZCODE_CWD process.cwd() open-sse/executors/zcode.ts ZCode アプリサーバーのサブプロセス用作業ディレクトリ。
ZCODE_PROVIDER_ID builtin:zai-coding-plan open-sse/executors/zcode.ts アプリサーバーへ送信されるプロバイダー ID のオーバーライド。
ZCODE_SERVER_RUNTIME_ROOT ~/.zcode/server open-sse/executors/zcode.ts ZCode アプリサーバーランタイムのルート(バンドルされた nodezcode-server.cjs が配置される場所)。
ZCODE_SERVER_NODE <runtimeRoot>/node open-sse/executors/zcode.ts ZCode アプリサーバーのホストに使用される Node 実行可能ファイル。
ZCODE_SERVER_ENTRY <runtimeRoot>/zcode-server.cjs open-sse/executors/zcode.ts ZCode サーバーのホストに使用されるアプリサーバーのエントリースクリプト。
ZCODE_STARTUP_TIMEOUT_MS 10000 open-sse/executors/zcode.ts ZCode アプリサーバーの起動が失敗したと見なされるまでの起動タイムアウト(ミリ秒)。
ZCODE_RPC_TIMEOUT_MS 30000 open-sse/executors/zcode.ts ZCode アプリサーバー呼び出しに対するリクエスト単位の RPC タイムアウト(ミリ秒)。
ZCODE_TURN_TIMEOUT_MS 120000 open-sse/executors/zcode.ts スーパーバイザーがタイムアウトさせるまでの 1 回の ZCode ターンの最大継続時間(ミリ秒)。
ZCODE_POLL_INTERVAL_MS 250 open-sse/executors/zcode.ts ZCode ターンの完了を確認するポーリング間隔(ミリ秒)。
HERMES_HOME ~/.hermes src/lib/cli-helper/config-generator/hermesHome.ts OmniRoute が Hermes CLI 設定を読み書きする Hermes Agent ホームディレクトリ。Windows で Hermes PowerShell インストーラーが設定する環境変数(%LOCALAPPDATA%\hermes)と一致します。

CLI プロファイルの自動同期

これらの機能フラグはオプトインであり、デフォルトでは無効です。 CLI Code ダッシュボードから切り替えることもできます。

変数 デフォルト ソースファイル 説明
OMNIROUTE_AUTO_SYNC_CODEX_PROFILES false src/shared/constants/featureFlagDefinitions.ts プロバイダーモデルの同期後、ライブカタログに基づいて ~/.codex/*.config.toml プロファイルファイルを自動的に書き換えます。CLI_ALLOW_CONFIG_WRITES が必要です。アクティブ/デフォルトの Codex 設定、認証、Codex-lb 設定、またはプロバイダーの選択は変更しません。
OMNIROUTE_AUTO_SYNC_CLAUDE_PROFILES false src/shared/constants/featureFlagDefinitions.ts プロバイダーモデルの同期後、ライブカタログに基づいて ~/.claude/profiles/<name>/settings.json の Claude Code プロファイルファイルを自動的に書き換えます。CLI_ALLOW_CONFIG_WRITES が必要です。アクティブ/デフォルトの Claude 設定、認証、またはプロバイダーの選択は変更しません。

Docker の例

# ホストのバイナリをコンテナにマウントし、その場所を OmniRoute に指定します:
CLI_EXTRA_PATHS=/host-cli/bin
CLI_CONFIG_HOME=/host-home
CLI_ALLOW_CONFIG_WRITES=true
CLI_CLAUDE_BIN=/host-cli/bin/claude

CLI_CONFIG_HOME は、パスが実際にホストからバインドマウントされている場合にのみ有効です。~/.codex:/host-home/.codex:rw のようなマウントと組み合わせてください(docker-compose.ymlhost プロファイルを参照)。コンテナユーザーのホーム内にもバインドマウント内にもないパスは無視されます。そこに書き込んでも、コンテナの再作成時に破棄されるためです。

イメージは USER node として実行されるため、マウントされていない /root は有効なオーバーライド先ではありません

変数 デフォルト ソースファイル 説明
OMNIROUTE_CONTAINER (自動) src/shared/utils/containerEnv.ts コンテナ検出を強制的に有効(1/true)または無効(0/false)にします。自動検出で検出できないランタイムでのみ必要です。
OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE false src/shared/services/cliRuntime.ts マウントされていないコンテナパスへの CLI ツール設定の書き込みを許可します。CLI での同等の指定は --allow-container-write です。

CLI バイナリ(omniroute)のヘルパー

これらの変数は、omniroute CLI バイナリ自体の動作を調整します(上記のサイドカー検出とは異なります)。

変数 デフォルト ソースファイル 説明
OMNIROUTE_LANG (システム) bin/cli/i18n.mjs CLI の出力言語を強制的に指定します。BCP-47 ロケール(例:enpt-BR。システムのロケール環境変数LC_ALL、LC_MESSAGESより優先されます。
OMNIROUTE_SHOW_LOG (未設定) bin/cli/runtime/processSupervisor.mjs 1 に設定すると、監視モードでサーバーの stdout/stderr をターミナルに転送します。omniroute serve--log フラグと同等です。
OMNIROUTE_CLI_TOKEN (未設定) bin/cli/api.mjs x-omniroute-cli-token ヘッダーとして注入されるマシン認証トークンです。タスク 8.12 で自動生成されます。
OMNIROUTE_HTTP_TIMEOUT_MS 30000 bin/cli/api.mjs CLI → サーバーリクエストの試行ごとの HTTP タイムアウト(ミリ秒)です。
OMNIROUTE_READY_TIMEOUT_MS 60000 bin/cli/utils/pid.mjs CLI がタイムアウト警告を表示するまでに、サーバーのヘルスエンドポイントを待機する最大時間ミリ秒です。遅いコールドスタートWindowsに便利です。--ready-timeout でも設定できます。
OMNIROUTE_VERBOSE 0 bin/cli/api.mjs 1 に設定すると、CLI コマンドの実行中にリトライ/バックオフの診断情報を stderr に出力します。
OMNIROUTE_PLUGIN_PATH (未設定) bin/cli/plugins.mjs CLI プラグイン検出用のカスタムディレクトリ(omniroute-cmd-* パッケージ)です。未設定時のデフォルトは ~/.omniroute/plugins/ です。CLI 専用であり、OMNIROUTE_PLUGINS_DIR(セクション 2が指定するサーバー側のプラグインスキャナーには渡されません。

10. 内部エージェントと MCP の統合

変数 デフォルト ソースファイル 説明
OMNIROUTE_BASE_URL 自動検出 open-sse/mcp-server/server.ts MCP/A2A ツールが OmniRoute にアクセスするための明示的な URL。localhost の自動検出を上書きします。
OMNIROUTE_API_KEY (未設定) MCP/A2A モジュール 内部 MCP ツールおよび A2A スキル呼び出し用の API キー。
OMNIROUTE_API_KEY_ID (未設定) open-sse/mcp-server/audit.ts MCP 監査ログの帰属を示すキー ID。
ROUTER_API_KEY (未設定) レガシー OMNIROUTE_API_KEY のレガシーエイリアス。
OMNIROUTE_A2A_HISTORY_RETENTION_DAYS 30 src/lib/a2a/taskManager.ts 日次パージで行が削除されるまで、A2A タスク履歴をローカルデータベースに保持する日数。未設定、数値以外、または <= 0 の場合は 30 にフォールバックします。
OMNIROUTE_A2A_MEMORY_HITS 1 src/lib/a2a/taskExecution.ts A2A メモリヒット可観測性機能のキルスイッチ。0 に設定すると、タスクのメモリ再呼び出し検索を完全にスキップします。未設定を含むその他の値では有効なままになります。
OMNIROUTE_ISSUE_AGENT_ENABLED false src/app/api/issue-agent/runs/route.ts オフライン/ローカルの Issue Agent 記録済みトリアージエンドポイントを有効にします。ローカルの記録済みトリアージワークフローを明示的に実行する場合を除き、無効のままにしてください。
OMNIROUTE_ISSUE_AGENT_TIMEOUT_MS (未設定) src/lib/issueAgent/execution.ts 単一の Issue Agent 記録済みトリアージ実行のタイムアウト(ミリ秒)。内部の最大値に制限され、未設定または無効な場合は組み込みのデフォルト値にフォールバックします。
OMNIROUTE_CONTEXT (アクティブなコンテキスト) bin/cli/program.mjs, bin/cli/api.mjs omniroute コマンドの CLI リモートモード用コンテキスト/プロファイル。ローカルのコンテキストストア内のアクティブなコンテキストを上書きします。--context <name> と同等です。
OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED 0 bin/cli/contexts.mjs CLI コンテキスト認証情報用のオプションの keytar OS キーチェーンバックエンドを無効にします。有効にすると、認証情報はモード 0600config.json に保持され、CLI はフォールバック警告を一度だけ出力します。意図的なヘッドレス/コンテナ運用を対象としています。
OMNIROUTE_MCP_ENFORCE_SCOPES true open-sse/mcp-server/server.ts MCP ツール呼び出しに対してスコープベースのアクセス制御を適用します。
OMNIROUTE_MCP_SCOPES (すべて) open-sse/mcp-server/server.ts カンマ区切りのスコープ:admincomboshealthmodelsroutingbudgetmetricspricingmemoryskills
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS false open-sse/mcp-server/descriptionCompressor.ts マニフェストをシリアライズする前に MCP ツールの説明を圧縮します。有効化する値:1trueon
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION rtk open-sse/mcp-server/descriptionCompressor.ts 圧縮アルゴリズム/プロファイル。無効化する値:0falseoff
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 open-sse/mcp-server/fetchTimeout.ts MCP サーバー内部の管理読み取り(ヘルス、レジリエンス、コンボ、クォータ、使用量)に対する中止までの時間枠(ミリ秒)。
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 open-sse/mcp-server/fetchTimeout.ts プロバイダーを待機する MCP ホップ(route_requestweb_searchweb_fetch)の中断タイムアウト(ミリ秒)。
OMNIROUTE_CORPUS_CACHE_SIZE 5 src/lib/localCorpus/configured.ts メモリ内にキャッシュされるローカルコーパスのインデックスインスタンスの最大数LRU、インデックス化されたルートディレクトリごとに 1 つ)。最小値 1 に制限されます。
MODEL_SYNC_INTERVAL_HOURS 24 src/shared/services/modelSyncScheduler.ts モデルカタログの同期間隔(時間)。
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 src/lib/usage/providerLimits.ts プロバイダーのレート制限とクォータのポーリング間隔。
PROVIDER_LIMITS_SYNC_SPACING_MS 1500 src/lib/usage/providerLimits.ts 一括同期で OAuth クォータを連続取得する際の間隔ミリ秒。アップストリームへのアクセス集中を避けるため、OAuth 接続は一度に 1 つずつ取得されます。0 を指定すると無効(並行実行)になります。
OMNIROUTE_QUOTA_FETCH_MIN_INTERVAL_MS 250 open-sse/services/quotaFetchThrottle.ts リクエスト単位のプリフライト/監視パスで、アップストリームのクォータを連続取得する際の最小間隔(ミリ秒)。同一 IP 上の多数のアカウントからアップストリームへのアクセスが集中しないよう、並行ネットワーク呼び出しの間隔を空けます。Codex/wham/usage、DeepSeek、Bailian両方の取得箇所、OpenCode、および Crof のクォータ取得処理に組み込まれています(#6009、#6911。汎用の usage.ts::getUsageForProvider ディスパッチパスgithub/glm/minimax/nanogpt/xai/etc.)はまだ対象外で、別途追跡されています。キャッシュヒットには影響しません。0 で無効化され、0..5000 の範囲に制限されます。
PROVIDER_LIMITS_POST_USAGE_REFRESH_DELAY_MS 5000 src/lib/usage/providerLimits.ts 実際の使用イベント後、プロバイダー制限を更新するまでの遅延(ミリ秒)。アップストリームのクォータ API が消費量を反映するための時間を確保します。
OMNIROUTE_LOGIN_BROWSER_PATH 自動検出 open-sse/services/adobeFireflyBrowserLogin.ts Adobe Firefly の対話型サインインおよび画面外での更新に使用する、システムの Chrome または Edge 実行ファイルへの絶対パス。
ADOBE_FIREFLY_BROWSER_REFRESH 有効 open-sse/services/adobeFireflySession.ts アカウントスコープの Chrome CDP セッションを使用して、IMS とブラウザーリスク状態を最新に保ちます。ブラウザーによる更新を無効にするには 0 に設定します。
ADOBE_FIREFLY_SESSION_DISK 有効 open-sse/services/adobeFireflySession.ts 修復された Adobe セッションを DATA_DIR 配下に永続化し、プロセスの再起動後も保持します。セッションをメモリ内のみに保持するには 0 に設定します。
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Adobe Firefly の生成送信間の最小間隔(ミリ秒)。0 で間隔を無効にします。
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Adobe への送信が 3 回成功するたびに設ける追加の待機時間(ミリ秒)。
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyClient.ts Adobe から一時的な 408 レスポンスを受信した後の基本バックオフ時間(ミリ秒)。最大 5 回の試行にわたり、送信間隔と組み合わせて適用されます。
OMNIROUTE_DISABLE_BACKGROUND_SERVICES false src/instrumentation-node.ts すべてのバックグラウンドサービス同期、価格設定、モデル更新を無効にします。CIテストに便利です。
OMNIROUTE_ENABLE_RUNTIME_BACKGROUND_TASKS (未設定) src/lib/config/runtimeSettings.ts 自動テストが検出された場合でも、バックグラウンドタスクを強制的に有効にします。テスト判定を上書きするには 1 に設定します。
OMNIROUTE_BUDGET_RESET_JOB_INTERVAL_MS 600000 src/lib/jobs/budgetResetJob.ts 予算リセットの確認間隔(ミリ秒)。下限は 10000 です。
OMNIROUTE_CONNECTION_RECOVERY_INTERVAL_MS 60000 src/lib/quota/connectionRecovery.ts プロアクティブな接続クールダウン復旧の実行間隔ms一時的な rate_limited_until が経過した接続を、リクエストのホットパス外で再検証します。下限は 5000
OMNIROUTE_DISABLE_CONNECTION_RECOVERY false src/lib/quota/connectionRecovery.ts プロアクティブな接続クールダウン復旧スケジューラーを無効にします(getProviderCredentials での遅延復旧は引き続き適用されます)。
OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS 1800000 src/lib/jobs/reasoningCacheCleanupJob.ts 推論キャッシュのクリーンアップ間隔ms。下限は 60000
OMNIROUTE_REASONING_MIN_BUDGET 未設定(無効) open-sse/services/reasoningTokenBuffer.ts 思考モデルの出力バジェットに対するオプトインの下限:呼び出し元の max_tokens[256, floor) の範囲にある場合、下限まで引き上げられます(モデルの出力上限まで)。未設定の場合、クライアントのバジェットは拡大されません(#9507
OMNIROUTE_LOG_EXPORT_CRON 0 * * * * src/lib/jobs/logExportJob.ts 有効化されているすべてのログエクスポート先にコールログを排出するジョブの Cron 式UTC
OMNIROUTE_CONFIG_HOT_RELOAD_MS 5000 src/lib/config/hotReload.ts 設定のホットリロードのポーリング間隔ms1000 未満は拒否されます。
OMNIROUTE_DISABLE_REDIS_AUTH_CACHE (有効) src/lib/db/apiKeys.ts Redis ベースの API キー認証キャッシュを迂回するには 1 に設定しますDB 読み取りを強制します)。
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS 0 open-sse/services/compression/engines/rtk/filterLoader.ts ユーザー管理の RTK プロジェクトフィルタールールを、厳格な署名チェックなしで信頼します。
OMNIROUTE_LITE_MAX_TOOL_LENGTH 2000 open-sse/services/compression/lite.ts lite.maxToolLength が未設定の場合に、Lite のプロアクティブなツール結果切り詰めに適用する文字数上限。範囲は 2561000000。この環境変数よりもダッシュボード設定が優先されます。
OMNI_COMPRESSION_WORKERS 2 open-sse/services/compression/compressionWorkerPool.ts 同時実行可能な同期 RTK/Caveman ワーカーの最大数。超過したジョブは FIFO で待機します。
OMNI_COMPRESSION_WORKER_TIMEOUT_MS 120000 open-sse/services/compression/compressionWorkerPool.ts ジョブごとのタイムアウト(ミリ秒)。タイムアウトしたワーカーは終了され、リクエストは変更されないままフェイルオープンします。
OMNI_COMPRESSION_WORKER_IDLE_MS 60000 open-sse/services/compression/compressionWorkerPool.ts 未使用の圧縮ワーカーが終了されるまでのアイドル時間(ミリ秒)。
COMPRESSION_PIPELINE_BREAKER_ENABLED false open-sse/services/compression/pipelineEngineBreaker.ts T02 スタック型パイプラインのエンジンごとのサーキットブレーカーを制御するマスタースイッチ。オプトイン(デフォルトではオフ) — オンの場合、リクエストをまたいで繰り返し例外をスローするエンジンは、クールダウン期間中スキップ(フェイルオープン)されます。オフの場合、従来の動作とバイト単位で同一です。
COMPRESSION_PIPELINE_BREAKER_THRESHOLD 3 open-sse/services/compression/pipelineEngineBreaker.ts エンジンのブレーカーが開くまでに必要な、リクエストをまたぐ連続失敗回数。
COMPRESSION_PIPELINE_BREAKER_COOLDOWN_MS 30000 open-sse/services/compression/pipelineEngineBreaker.ts 開いたエンジンがハーフオープンのプローブを実行するまでスキップされ続ける時間(ミリ秒)。
COMPRESSION_CCR_RETRIEVAL_RAMP_FACTOR 2 open-sse/services/compression/engines/ccr/index.ts T08/H8 CCR の取得フィードバックランプ:保存されたブロックが過去に取得されるたびに、その実効 minChars が線形に増加します(頻繁に取得されるコンテンツほど圧縮率が低くなり、取得回数が >=3 の場合は圧縮されません)。1 にするとランプが無効になります(しきい値でのバイナリスキップのみ)。
COMPRESSION_CCR_DURABLE_STORE true open-sse/services/compression/engines/ccr/index.ts CCR 永続ブロックストア(#9061。インメモリストアを SQLite でバックアップすることで、LRU による退避、TTL、再起動、または別のインスタンスに到達した取得リクエストの後でもブロックが存続するようにします。ブロックをメモリ内のみに保持するには false に設定します。512KB を超えるブロックとクラウドランタイムでは、この設定にかかわらずメモリ内のみに保持されます。
COMPRESSION_PREFIX_FREEZE_ENABLED false open-sse/services/compression/prefixFreeze.ts T08/H5 の使用状況観測型プレフィックス固定のマスタースイッチ。オプトイン(デフォルトではオフ) — 有効にすると、>= しきい値の回数だけ観測されたシステムプロンプトは、安定したキャッシュ可能なプレフィックスとして扱われ、静的キャッシュヒューリスティックでは検出されないプロバイダーの場合でも圧縮対象から除外されます(固定は内容を保持するだけで、変更はしません)。
COMPRESSION_PREFIX_FREEZE_THRESHOLD 3 open-sse/services/compression/prefixFreeze.ts システムプロンプトが固定された安定プレフィックスとして扱われるまでに必要な観測回数。
OMNIROUTE_BOOTSTRAPPED false src/app/(dashboard)/dashboard/page.tsx 初期セットアップ後にブートストラップスクリプトによって true に設定されます。セットアップウィザードの表示を制御します。
OMNIROUTE_ALLOW_BODY_PROJECT_OVERRIDE 0 open-sse/executors/antigravity.ts 緊急回避策:リクエストボディによる Antigravity のプロジェクトフィールドの上書きを許可します。
ANTIGRAVITY_CREDITS off open-sse/services/antigravityCredits.ts Google One AI クレジットポリシー:off はクレジットを一切挿入せず、retry は対象となるクォータ超過の 429 の後に一度だけ挿入し、always は最初のリクエストで挿入します。
ANTIGRAVITY_ALLOW_SIGNATURE_BYPASS 0 open-sse/translator/request/openai-to-gemini.ts アップストリームが実際の署名を拒否する場合に、Antigravity リクエストトランスレーターが厳格な CLI リクエスト署名検証をスキップできるようにします(デバッグ/旧式 CLI モード)。ゼロ以外の値でバイパスが有効になります。
AGY_TOKEN_FILE ~/.gemini/antigravity-cli/antigravity-oauth-token src/app/api/providers/agy-auth/apply-local/route.ts ローカルログインの自動検出インポートに使用する Antigravity CLIagyのトークンファイルパスを上書きします。

OAuth CLI ブリッジ(内部)

変数 デフォルト ソースファイル 説明
OMNIROUTE_SERVER 自動検出 src/lib/oauth/config/index.ts CLI↔OmniRoute 認証ブリッジのサーバー URL。
OMNIROUTE_TOKEN (未設定) src/lib/oauth/config/index.ts CLI ブリッジの認証トークン。
OMNIROUTE_USER_ID cli src/lib/oauth/config/index.ts CLI ブリッジセッションのユーザー ID。
SERVER_URL (未設定) src/lib/oauth/config/index.ts OMNIROUTE_SERVER のレガシーエイリアス。
CLI_TOKEN (未設定) src/lib/oauth/config/index.ts OMNIROUTE_TOKEN のレガシーエイリアス。
CLI_USER_ID (未設定) src/lib/oauth/config/index.ts OMNIROUTE_USER_ID のレガシーエイリアス。

11. OAuthプロバイダーの認証情報

localhostでの開発用の組み込み認証情報です。リモート環境にデプロイする場合は、各プロバイダーの開発者コンソールで独自の認証情報を登録してください。

変数 プロバイダー 備考
CLAUDE_OAUTH_CLIENT_ID Claude Code (Anthropic) パブリッククライアント — シークレットは不要です。
CLAUDE_CODE_REDIRECT_URI Claude Code リダイレクトURIを上書きします。デフォルト: https://platform.claude.com/oauth/code/callback
CODEX_OAUTH_CLIENT_ID Codex / OpenAI パブリッククライアントです。
GEMINI_OAUTH_CLIENT_ID Gemini (Google) 対応する_SECRETが必要です。
GEMINI_OAUTH_CLIENT_SECRET Gemini (Google)
KIMI_CODING_OAUTH_CLIENT_ID Kimi Coding (Moonshot) パブリッククライアントです。
ANTIGRAVITY_OAUTH_CLIENT_ID Antigravity (Google) 対応する_SECRETが必要です。
ANTIGRAVITY_OAUTH_CLIENT_SECRET Antigravity (Google)
GITHUB_OAUTH_CLIENT_ID GitHub Copilot パブリッククライアントです。
GHE_COPILOT_OAUTH_CLIENT_ID GHE Copilot GitHub Enterprise CopilotのOAuthクライアントIDを上書きするための任意設定です。未設定の場合は、GITHUB_OAUTH_CLIENT_IDのパブリックなデフォルト値にフォールバックします。
WINDSURF_API_KEY Windsurf / Devin (v3.8) 接続ごとの認証情報を利用できない場合にopen-sse/executors/devin-cli.tsが使用するAPIキーのフォールバックです。任意です。
CLI_DEVIN_BIN Devin CLI (v3.8) Devin CLIバイナリdevin)へのカスタムパスです。open-sse/executors/devin-cli.tsによって解決されます。
GITLAB_DUO_OAUTH_CLIENT_ID GitLab Duo (v3.8) GitLab Duo用のOAuthクライアントIDです。リダイレクトURIを<NEXT_PUBLIC_BASE_URL>/callback、スコープをapi, read_user, openid, profile, emailとして、https://gitlab.com/-/profile/applicationsでアプリを登録してください。GITLAB_OAUTH_CLIENT_IDにフォールバックします。
GITLAB_DUO_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) GitLab Duo用のOAuthクライアントシークレットです。任意です — PKCEフローではシークレットは不要です。GITLAB_OAUTH_CLIENT_SECRETにフォールバックします。
GITLAB_DUO_BASE_URL GitLab Duo (v3.8) GitLabのベースURLセルフホスト型GitLabを上書きします。デフォルトはhttps://gitlab.comです。GITLAB_BASE_URLにフォールバックします。
GITLAB_BASE_URL GitLab Duo (v3.8) GITLAB_DUO_BASE_URLのレガシーフォールバックです。_DUO_バリアントが未設定の場合に使用されます。
GITLAB_OAUTH_CLIENT_ID GitLab Duo (v3.8) src/lib/oauth/constants/oauth.tsが使用するGITLAB_DUO_OAUTH_CLIENT_IDのレガシーフォールバックです。
GITLAB_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) src/lib/oauth/constants/oauth.ts で使用される GITLAB_DUO_OAUTH_CLIENT_SECRET のレガシーフォールバック。
QODER_OAUTH_CLIENT_SECRET Qoder
QODER_OAUTH_AUTHORIZE_URL Qoder Qoder OAuth を有効にするには設定してください。
QODER_OAUTH_TOKEN_URL Qoder
QODER_OAUTH_USERINFO_URL Qoder
QODER_OAUTH_CLIENT_ID Qoder
QODER_PERSONAL_ACCESS_TOKEN Qoder 直接 API キーを使用するフォールバックOAuth をバイパス)。
QODER_CLI_WORKSPACE Qoder Qoder CLI のワークスペース ID。
OMNIROUTE_QODER_WORKSPACE Qoder QODER_CLI_WORKSPACE のエイリアス。
QODER_CLI_CONFIG_DIR Qoder Qoder CLI の設定ディレクトリを上書きします(分離された PAT セッションを使用し、ブラウザログインの設定が上書きされるのを防ぎます)。
BLACKBOX_WEB_VALIDATED_TOKEN Blackbox Web /api/chatvalidated として送信するフロントエンドの tk トークン。Blackbox がトークンの一致を強制する場合は必須です。それ以外の場合、OmniRoute はランダムな UUID にフォールバックします。issue #2252 を参照してください。
VISION_BRIDGE_BASE_URL Vision Bridge ガードレール Anthropic 以外の Vision Bridge 呼び出しに使用する OpenAI 互換のベース URL。デフォルトでは、レガシーな OpenAI URL 環境変数または api.openai.com が使用されます。OmniRoute 自身の /v1 セルフループ、または任意の OpenAI 互換エンドポイントGemini OpenAI 互換、OpenRouterを指定してください。issue #2232。URL が OmniRoute 自身の /v1 の場合、describe サブリクエストは x-omniroute-admission-bypass: internal を送信し、解決されたセルフループ認証情報(ローカルモードでは sk_omniroute センチネル、または OMNIROUTE_API_KEY / ROUTER_API_KEY — #1350で認証するため、REQUIRE_API_KEY=true のデプロイ環境でも動作します。
VISION_BRIDGE_API_KEY Vision Bridge ガードレール 上記 URL の API キー。Anthropic 以外の Vision Bridge 呼び出しでは、プロバイダーごとの OpenAI / Google 環境変数よりも優先されます。Anthropic モデルでは、専用の Anthropic キーパスが引き続き使用されます。issue #2232。

Warning

  1. Google Cloud Console → 認証情報 に移動します
  2. OAuth 2.0 クライアント ID種類:「ウェブ アプリケーション」)を作成します
  3. サーバー URL を承認済みのリダイレクト URI として追加します
  4. .env の認証情報の値を置き換えます。

12. プロバイダーの User-Agent オーバーライド

各アップストリームプロバイダーに送信される User-Agent ヘッダーをオーバーライドします。これは、エグゼキューターの基底クラスによって実行時に動的に解決されます。

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

ソース: open-sse/executors/base.tsbuildHeaders()

変数 デフォルト値 更新するタイミング
CLAUDE_USER_AGENT claude-cli/2.1.258 (external, cli) Anthropic が新しい CLI バージョンをリリースしたとき
CLAUDE_DISABLE_TOOL_NAME_CLOAK false executors/base.ts + executors/cliproxyapi.ts 1/true に設定すると、両方の Anthropic 向けパス(ネイティブ OAuth および CLIProxyAPIで、サードパーティ製ハーネスのツール名をそのまま Anthropic に転送します。デフォルトでは、エグゼキューターは Claude Code 以外のツール名に決定論的なエイリアスを割り当てClaude Code の正規マッピングが存在する場合はそれを使用し、それ以外は PascalCase を使用)、レスポンスでは _toolNameMap を介して元に戻します。これにより、snake_case のツールを使用するハーネスが、フィンガープリントされたサードパーティクライアントとして拒否されることを防ぎます。デバッグ専用です。
CODEX_USER_AGENT codex-cli/0.142.0 (Windows 10.0.26200; x64) OpenAI が Codex CLI を更新したとき
CODEX_CLIENT_VERSION 0.131.0 完全な UA 文字列とは独立して Codex クライアントのバージョンをオーバーライドします
CLAUDE_CODE_CLIENT_VERSION 2.1.258 CLAUDE_USER_AGENT とは独立して、通知される Claude Code のバージョンをオーバーライドします。Anthropic はこの値に基づいて一部のモデルへのアクセスを制御します(#12417
GITHUB_COPILOT_CLI_VERSION 1.0.81-6 GITHUB_USER_AGENT とは独立して、通知される Copilot CLI のバージョンをオーバーライドします
GITHUB_USER_AGENT GitHubCopilotChat/0.54.0 GitHub Copilot Chat が更新されたとき
ANTIGRAVITY_USER_AGENT antigravity/2.0.1 darwin/arm64 Antigravity IDE が更新されたとき
KIRO_USER_AGENT AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 Kiro IDE が更新されたとき
KIRO_OAUTH_CLIENT_ID kiro-cli Kiro のソーシャルデバイスコードの clientId(公開 IDをオーバーライドします
KIRO_VERIFY_FULL_CRC false オプトイン: Kiro イベントストリームでフレームごとの完全なメッセージ CRC 検証を行います(破損したストリームのデバッグ用)
QODER_USER_AGENT Qoder-Cli Qoder CLI が更新されたとき
CURSOR_USER_AGENT Cursor/3.3 Cursor が更新されたとき

Tip

{PROVIDER_ID}_USER_AGENT というパターンを使用すると、任意のプロバイダーに User-Agent オーバーライドを追加できます。エグゼキューターは環境変数名を動的に構築します。


13. CLI フィンガープリント互換性

有効にすると、OmniRoute は HTTP ヘッダーと JSON ボディのフィールドを並べ替え、公式 CLI ツールの正確なシグネチャに一致させます。これにより、プロキシ IP を維持しながら、アカウントがフラグ付けされるリスクを軽減します。

ソース: open-sse/config/cliFingerprints.tsopen-sse/executors/base.ts

プロバイダー別

変数 有効化 効果
CLI_COMPAT_CODEX =1 Codex CLI のリクエストシグネチャを模倣
CLI_COMPAT_CLAUDE =1 Claude Code のリクエストシグネチャを模倣
CLI_COMPAT_GITHUB =1 GitHub Copilot のリクエストシグネチャを模倣
CLI_COMPAT_ANTIGRAVITY =1 Antigravity のリクエストシグネチャを模倣
CLI_COMPAT_CURSOR =1 Cursor のリクエストシグネチャを模倣
CLI_COMPAT_KIMI_CODING =1 Kimi Coding のリクエストシグネチャを模倣
CLI_COMPAT_KILOCODE =1 Kilo Code のリクエストシグネチャを模倣
CLI_COMPAT_CLINE =1 Cline のリクエストシグネチャを模倣

グローバル

変数 有効化 効果
CLI_COMPAT_ALL =1 すべてのプロバイダーでフィンガープリント互換性を一括で有効にします。

Kimi Coding CLI の ID オーバーライド

変数 デフォルト ソースファイル 説明
KIMI_CLI_VERSION 1.36.0 src/lib/oauth/providers/kimi-coding.ts OAuth/API 呼び出し時に送信される Kimi CLI のバージョンを上書きします。
KIMI_CODING_DEVICE_ID (取得済みのデフォルト) src/lib/oauth/providers/kimi-coding.ts クライアントヘッダーで使用される、取得済みの Kimi デバイス ID を上書きします。

Note

この機能は User-Agent オーバーライド§12と併用できます。フィンガープリントシステムはヘッダーとボディフィールドの順序を処理し、User-Agent オーバーライドは特定の UA 文字列を処理します。両方を個別に有効化できます。


14. API キープロバイダー

直接認証を使用するプロバイダー向けの API キーです。推奨設定: Dashboard → Providers → Add API Key。

Docker またはヘッドレスデプロイでは、代替手段として環境変数を使用して設定できます。

認識されるパターン: {PROVIDER_ID}_API_KEY

変数 プロバイダー
DEEPSEEK_API_KEY DeepSeek
NVIDIA_API_KEY NVIDIA NIM
JINA_AI_API_KEY Jina AIFoundation API + Reader フォールバック)
JINA_API_KEY Jina AIJINA_AI_API_KEY のエイリアス)
GEMINI_API_KEY GeminiGoogle AI Studioの埋め込み + チャットフォールバック
GOOGLE_API_KEY GeminiGEMINI_API_KEY のエイリアス)

Note

Groq、xAI、Mistral、Perplexity、Together AI、Fireworks、Cerebras、Cohere、Nebius、Qianfan の静的な ${PROVIDER}_API_KEY エントリは、ランタイムで読み込まれなくなったため、v3.8.0 で削除されました。これらのプロバイダーは、Dashboard / data/provider-credentials.json / 暗号化 DB のみに依存します。移行手順については、このドキュメントの末尾にある 監査: 削除済み / 無効な変数 セクションを参照してください。

Tip

Dashboard で設定されたキーは SQLite に暗号化して保存され、環境変数よりも優先されます。

Jina: Dashboard に jina-ai(または共有の jina-reader)接続が存在する場合、jina-ai/… の埋め込み、再ランキング、分類、セグメント化、および jina-search では、クラスターの環境変数キーに課金されることはありませんgetProviderCredentials は先着充足方式です。JINA_AI_API_KEY / JINA_API_KEY は、使用可能な Dashboard キーが存在しない場合にのみ使用されます。呼び出しログでは、環境変数へのフォールバックが connection_id=env:JINA_AI_API_KEY として記録されます。Reader カード(jina-readerr.jina.ai)が /v1/embeddings または /v1/rerank を処理することはありません。

Gemini: gemini/gemini-embedding-2(エイリアス google/gemini-embedding-2は、Dashboard の gemini 接続を最初に使用します。GEMINI_API_KEY / GOOGLE_API_KEY は、使用可能な Dashboard キーが存在しない場合にのみ使用されます。呼び出しログでは、環境変数へのフォールバックが connection_id=env:GEMINI_API_KEY として記録されます。ネイティブのマルチモーダルトラフィックでは、:embedContent / :batchEmbedContents に対して x-goog-api-key が使用されます。N 個の OpenAI input 項目は N 個のベクトルになります。


15. タイムアウト設定

すべての値の単位はミリ秒です。設定の一元的な解決は src/shared/utils/runtimeTimeouts.ts で行われます。

タイムアウトの階層

REQUEST_TIMEOUT_MSグローバルオーバーライド
├─→ FETCH_TIMEOUT_MS上流プロバイダーへの呼び出し、デフォルト: 600000
│   ├─→ FETCH_HEADERS_TIMEOUT_MSFETCH_TIMEOUT_MS を継承)
│   ├─→ FETCH_BODY_TIMEOUT_MSFETCH_TIMEOUT_MS を継承)
│   ├─→ TLS_CLIENT_TIMEOUT_MSFETCH_TIMEOUT_MS を継承)
│   │   └── TLS_FIRST_BYTE_WATCHDOG_MS独立、デフォルト: 10000
│   ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS独立、デフォルト: 15000
│   ├── FETCH_CONNECT_TIMEOUT_MS独立、デフォルト: 30000
│   └── FETCH_KEEPALIVE_TIMEOUT_MS独立、デフォルト: 4000
├─→ STREAM_IDLE_TIMEOUT_MSREQUEST_TIMEOUT_MS を継承、デフォルト: 600000
├─→ STREAM_ACTIVE_TIMEOUT_MS独立、デフォルト: 1260000、0 で無効化)
├─→ STREAM_READINESS_TIMEOUT_MSREQUEST_TIMEOUT_MS を継承、デフォルト: 80000
├─→ STREAM_READINESS_MAX_TIMEOUT_MS適応型の準備完了タイムアウト延長の上限、デフォルト: 180000
└─→ API_BRIDGE_PROXY_TIMEOUT_MSREQUEST_TIMEOUT_MS を継承、デフォルト: 30000
    ├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS派生値、デフォルト: 300000
    ├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MSデフォルト: 60000
    ├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MSデフォルト: 5000
    └── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MSデフォルト: 0 = 無効)
変数 デフォルト 説明
REQUEST_TIMEOUT_MS (未設定) グローバルショートカット — FETCH_TIMEOUT_MSSTREAM_IDLE_TIMEOUT_MS の両方のデフォルト値を上書きします。
FETCH_TIMEOUT_MS 600000 アップストリームプロバイダー呼び出しにおける HTTP リクエスト全体のタイムアウト。
STREAM_IDLE_TIMEOUT_MS 600000 中止するまでに許容される、アップストリームからの生バイト間の最大無通信時間。拡張思考モデルが 90 秒を超えて停止することはほとんどありません。
STREAM_ACTIVE_TIMEOUT_MS 1260000 アクティブな SSE ストリームの最大合計存続時間。アップストリームからバイトを受信してもリセットされず、REQUEST_TIMEOUT_MS から独立しています。レジストリ内でモデルごとに設定された最大の timeoutMs1200000、Codexに 60000 のマージンを加えて算出されるため、実行時間の全割り当てを許可されたモデルが回答途中で強制終了されることはありません。無効にするには 0 に設定します。
OMNIROUTE_SSE_COMMENTS (無効) OmniRoute が SSE の : コメント行(例: : keepalive ハートビートや x-omniroute-* メタデータトレーラー)を送信できるかどうか。厳格な OpenAI 互換クライアントはすべての SSE 行に対して JSON.parse を実行し、: コメントでクラッシュするため、デフォルトでは無効です(#10524data: ハートビートには影響しません。再度有効にするには on/true/1/yes を設定します。open-sse/utils/sseHeartbeat.ts で使用されます。
STREAM_READINESS_TIMEOUT_MS 80000 ping ではない最初の SSE イベントを受信するまでの時間。REQUEST_TIMEOUT_MS が設定されている場合は、その値を継承します。
STREAM_READINESS_MAX_TIMEOUT_MS 180000 大規模なリクエスト、ツールを多用するリクエスト、または高度な推論を伴うストリーミングリクエストに対する、適応型の最初のイベント準備待機時間の上限。
OMNIROUTE_AGENT_GOAL_POLICY_ENABLED true /goal ヒューリスティックのキルスイッチ。検出を完全に無効にするには false/0/off を設定します。これにより、リクエスト本文やヘッダーによって準備タイムアウトやストリーム復旧が引き上げられることがなくなり、クライアント制御によるタイムアウト増幅を軽減します。
OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS 600000 検出された /goal エージェント実行、または x-omniroute-agent-goal で強制指定されたリクエストに対する、最初のイベント準備待機時間の上限。
OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY true 検出された /goal エージェント実行に対して、早期ストリーム復旧を自動的に有効にします。目標固有のオプトインを無効にするには false/0/off を設定します。これはオペレーターのデフォルト設定に復旧機能を追加することしかできず、明示的な STREAM_RECOVERY_ENABLED/DB 設定によるオプトアウトを上書きすることはありません。
OMNIROUTE_CODEX_DROP_NONSTANDARD_EVENTS true OpenAI SDK の responses.stream() を 502 エラーで失敗させる、非標準の codex.* SSE イベント(例: codex.rate_limits)を除去します。デフォルトではオンです(#11014。転送するには 0/false/no/off を設定します。
OMNIROUTE_CODEX_APPSERVER_WS (未設定) オプトイン方式の Codex app-server トランスポート。ローカルの codex app-server サイドカーの WebSocket エンドポイント(ws:///wss://。トークンとともに設定すると、Codex リクエストは HTTP Responses API の代わりに JSON-RPC 経由でサイドカーへルーティングされます。接続ごとに providerSpecificData.codexAppServerUrl で設定することもできます。open-sse/executors/codex/appServerConfig.ts で使用されます。
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN (未設定) app-server に提示するインラインのケイパビリティトークン/ベアラートークン。接続ごとの上書き: providerSpecificData.codexAppServerToken
OMNIROUTE_CODEX_APPSERVER_WS_TOKEN_FILE (未設定) app-server のケイパビリティトークンを格納するファイルへのパス(codex app-server --ws-token-file から取得)。OMNIROUTE_CODEX_APPSERVER_WS_TOKEN が未設定の場合に使用されます。接続ごとの上書き: providerSpecificData.codexAppServerTokenFile
OMNIROUTE_CODEX_APPSERVER_CWD /tmp app-server のターンが実行される作業ディレクトリ。接続ごとの上書き: providerSpecificData.codexAppServerCwd
OMNIROUTE_CODEX_APPSERVER_APPROVAL (未設定) app-server のターンに渡される承認ポリシー(例: neveron-request)。接続ごとの上書き: providerSpecificData.codexAppServerApprovalPolicy
OMNIROUTE_CODEX_APPSERVER_SANDBOX (未設定) app-server のターンに渡されるサンドボックスポリシー(例: read-onlyworkspace-writedanger-full-access。未設定の場合、executor のデフォルトは workspace-write です(セキュリティ強化済み。以前は danger-full-access)。接続ごとの上書き: providerSpecificData.codexAppServerSandbox
OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE false app-server 自身の承認プロンプト(ホスト上でのコマンド/ファイル/権限の実行)を自動承認します。デフォルトではオフで、プロンプトは自動拒否されます。ハーネスのツール呼び出しには影響しません(別の item/tool/call パススルーを経由します)。true/1/yes を指定できます。接続ごとの上書き: providerSpecificData.codexAppServerAutoApprove
FETCH_HEADERS_TIMEOUT_MS = FETCH_TIMEOUT_MS レスポンスヘッダーを受信するまでの時間。
OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS 30000 (30秒) プロキシを使用しない各直接接続試行で、レスポンス開始を待機する最大時間ミリ秒。タイムアウトした場合は新しいソケットで1回再試行します。上限を無効にして以前の動作を維持するには、0を設定します。
FETCH_BODY_TIMEOUT_MS = FETCH_TIMEOUT_MS レスポンス本文全体を受信するまでの時間。
FETCH_CONNECT_TIMEOUT_MS 30000 TCP接続の確立タイムアウト。
FETCH_KEEPALIVE_TIMEOUT_MS 4000 Keep-Aliveソケットのアイドルタイムアウト。
TLS_CLIENT_TIMEOUT_MS = FETCH_TIMEOUT_MS TLSフィンガープリントプロキシwreq-jsのタイムアウト。
TLS_FIRST_BYTE_WATCHDOG_MS 10000 wreq-js TLSフィンガープリントトランスポートの本文に対する最初のバイトの受信待ち時間を制限します。ヘッダーが到着した時点で解決されるため、TLS_CLIENT_TIMEOUT_MSだけでは本文の停止を検出できません(#12656。タイムアウトするとwreqリーダーをキャンセルし、直接接続プロキシディスパッチャーにフォールバックします。0を指定するとウォッチドッグが無効になります。
RESPONSES_FIRST_BYTE_TIMEOUT_MS 15000 OpenCodeエグゼキューター専用で、OPENCODE_RESPONSES_STALL_ROTATION機能フラグが有効な場合デフォルトは無効にのみ使用されます。ストリーミングされたResponses応答で、ヘッダー受信後に本文の最初のバイトを待機する時間を制限します#13484。Responsesストリームはresponse.createdで開始されるため、この時間を超えてデータが届かない場合は停止と見なされます。そのアカウントはクールダウン状態になり、リクエストは次のアカウントへ1回だけローテーションされます。2回目も停止した場合は即座に失敗します。機能フラグが有効でも、0を指定するとこのガードが無効になります。
API_BRIDGE_PROXY_TIMEOUT_MS 30000 /v1ブリッジリクエストのプロキシホップタイムアウト。
FIRECRAWL_BASE_URL https://api.firecrawl.dev Firecrawl Web取得エグゼキューターの接続先をセルフホスト型インスタンスに設定しますクラウド外ではAPIキーは任意
FIRECRAWL_TIMEOUT_MS 30000 Firecrawl Web取得エグゼキューターのリクエスト単位のタイムアウト。
API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS 300000 ブリッジのサーバーリクエスト全体のタイムアウト。
API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS 60000 ブリッジ経由でレスポンスヘッダーを送信するまでの時間。
API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS 5000 ブリッジのKeep-Aliveアイドルタイムアウト。
API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS 0 RAWソケットのタイムアウト0 = 無効)。
SHUTDOWN_TIMEOUT_MS 30000 SIGTERM/SIGINT受信後、強制終了するまでの猶予期間。
OMNIROUTE_DEFAULT_FETCH_TIMEOUT_MS 120000 FETCH_TIMEOUT_MSが未設定の場合にsrc/shared/utils/fetchTimeout.tsで使用されるフォールバック値。
OMNIROUTE_PROVIDER_PROBE_TIMEOUT_MS 8000 src/shared/network/safeOutboundFetch.tsvalidationReadおよびmodelsProbeプリセットのタイムアウトミリ秒。低速なエンドポイントCerebras、Cloudflare AI、Groqでは値を増やすことで、ダッシュボード上でアクティブ状態とエラー状態が頻繁に切り替わるのを防止できます。無効な値1000未満または数値以外の値の場合は8000msにフォールバックします。
OMNIROUTE_RELAY_FETCH_TIMEOUT_MS 25000 open-sse/utils/proxyFetch.tsのリレー固有の取得タイムアウト(#9158。停止したリレーはクライアントエージェントのタイムアウト約30秒より前に失敗する必要があるため、呼び出し元には汎用的なアップストリームタイムアウトではなく、リレー固有のエラーが通知されます。常に先に発動するよう、上限は29000に設定されます。
OMNIROUTE_RETRY_BACKOFF_MS 10 open-sse/utils/proxyFetch.tsの直接接続リレープロキシにおける1回限りの再試行パスで共有される再試行バックオフ#91580 = 即時に再試行します。
OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS 60000 ネイティブwreq-jsリクエストのタイムアウトclaudeTlsClient.ts)。
OMNIROUTE_CLAUDE_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS側の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_PPLX_TLS_TIMEOUT_MS 30000 ネイティブwreq-jsリクエストのタイムアウトperplexityTlsClient.ts)。
OMNIROUTE_PPLX_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS側の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_PPLX_SEARCH_HINT 0(オフ) 呼び出し元のシステムメッセージに「組み込みのウェブ検索を利用できます。検索結果を使用して質問に直接回答してください。」を追加します(perplexity-web/protocol.ts。デフォルトではオフです。Perplexity はこの設定がなくても検索を行い、コーディングクライアントではこの文がメタコメントとして応答に混入するためです。元に戻すには 1/true/yes/on を設定します。
OMNIROUTE_GROK_TLS_TIMEOUT_MS 60000 ネイティブ wreq-js リクエストのタイムアウト(grokTlsClient.ts)。
OMNIROUTE_GROK_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS 側の絶対ハードデッドラインの猶予時間。
OMNIROUTE_NOTION_TLS_TIMEOUT_MS 30000 ネイティブ wreq-js リクエストのタイムアウト(notionTlsClient.ts)。長時間の生成に対応するため、notion-web はリクエストごとにこれを 180000 へ引き上げます。
OMNIROUTE_NOTION_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS 側の絶対ハードデッドラインの猶予時間。
OMNIROUTE_BROWSER_POOL on ブラウザベースのウェブ Cookie チャット向け共有 Playwright ブラウザプール(browserPool.ts)。無効にするには off を設定します。
OBSCURA_BIN auto-detect ブラウザプールおよび Cloudflare Playground エグゼキューターがプライマリエンジンとして使用する obscura バイナリへのパス(open-sse/services/obscura.ts)。未設定の場合はシステムの PATH から自動検出されます。
OBSCURA_CDP_ENDPOINT (未設定) 新たに起動する代わりに、すでに実行中の Obscurahttp://host:port)を指定します。このモジュールはそのプロセスを管理しません(open-sse/services/obscura.ts)。
OBSCURA_PORT random free port 起動される obscura serve の明示的なポート。未設定の場合は空きポートが自動的に選択されます(open-sse/services/obscura.ts)。
WEB_COOKIE_USE_BROWSER 0 ウェブ Cookie チャットリクエストでブラウザベースの経路を使用するよう指定します(browserBackedChat.ts)。有効にするには 1 を設定します。
KIMI_WEB_BASE_URL https://www.kimi.ai Kimi Web国際版 kimi.ai Connect-RPCエグゼキューターのベース URLkimi-web.ts)。ミラー/プロキシエンドポイントを使用する場合にのみ上書きしてください。
KIMI_WEB_CHAT_URL <KIMI_WEB_BASE_URL>/apiv2/kimi.gateway.chat.v1.ChatService/Chat Kimi Web エグゼキューターの完全なチャットエンドポイント(kimi-web.ts)。
OMNIROUTE_LOGIN_BROWSER_PATH (自動検出) Adobe Firefly の対話型ブラウザサインインに使用する、システム上の Chrome/Edge 実行可能ファイルへのパス(adobeFireflyBrowserLogin.ts。OS ごとの自動検出を上書きします。
OMNIROUTE_STANDALONE_DIR .build/ スタンドアロン出力 ビルド後の併置ステップで使用されるスタンドアロン出力ディレクトリを、ビルド時に上書きします(scripts/build/colocate-standalone.mjs)。ランタイムではなく、ビルドツール向けの設定です。

コンボターゲットの試行では、解決済みのアップストリームリクエストタイムアウト(FETCH_TIMEOUT_MS、または フェッチのデフォルト値を指定している場合は REQUEST_TIMEOUT_MS)が継承されます。コンボ、 コンボのデフォルト、またはプロバイダーのオーバーライドで targetTimeoutMs を設定するのは、 コンボのフォールバックを高速化する場合に限ってください。現在のアップストリームタイムアウトを超える値は、 そのアップストリームタイムアウトに制限されます。

comboTimeoutMs は、フェイルオーバーターゲット全体に適用される、コンボ全体の独立した実時間ベースの制限です。 無制限の反復を維持するには、未設定または 0 のままにしてください10 分間の COMBO_LOOP_SAFETY_TIMEOUT_MS によるハング停止は引き続き適用されます)。正の値を指定すると、 コンボではその値が安全策に代わって使用されます。遅い最初のターゲットの後でもフェイルオーバーする時間を確保できるよう、 comboTimeoutMstargetTimeoutMs より長くしてください。

サーキットブレーカーのしきい値

プロバイダーレベルのサーキットブレーカー調整。デフォルト値は、500 以上の接続に対応するため v3.6 以降で使用されているスケーリング済みの値を反映しています。

変数 デフォルト ソースファイル 説明
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD 8 open-sse/config/constants.ts OAuthプロバイダーのブレーカーが作動するまでの連続失敗しきい値。
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS 60000 open-sse/config/constants.ts OAuthプロバイダーのブレーカーのリセット期間ミリ秒
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_THRESHOLD 12 open-sse/config/constants.ts APIキープロバイダーの連続失敗しきい値。
OMNIROUTE_CIRCUIT_BREAKER_API_KEY_RESET_MS 30000 open-sse/config/constants.ts APIキープロバイダーのブレーカーのリセット期間ミリ秒
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_THRESHOLD 2 open-sse/config/constants.ts ローカルプロバイダーOllama、LM Studioなどの連続失敗しきい値。
OMNIROUTE_CIRCUIT_BREAKER_LOCAL_RESET_MS 15000 open-sse/config/constants.ts ローカルプロバイダーのブレーカーのリセット期間(ミリ秒)。
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_THRESHOLD 10 open-sse/config/constants.ts プロバイダーレベルのブレーカーOAuthプロバイダー全体がクールダウン状態に入るまでの期間内の失敗回数。
OMNIROUTE_PROVIDER_BREAKER_OAUTH_FAILURE_WINDOW_MS 900000 open-sse/config/constants.ts プロバイダーレベルのブレーカーOAuthプロバイダーのローリング失敗回数集計期間ミリ秒
OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS 300000 open-sse/config/constants.ts プロバイダーレベルのブレーカーOAuthプロバイダーがしきい値に達した後のクールダウン時間ミリ秒
OMNIROUTE_PROVIDER_BREAKER_OAUTH_DEGRADATION_THRESHOLD 5 open-sse/config/constants.ts OAuthプロバイダーがDEGRADED状態に入る失敗回数。
OMNIROUTE_PROVIDER_BREAKER_OAUTH_MAX_BACKOFF_MULTIPLIER 8 open-sse/config/constants.ts OAuthプロバイダーのresetTimeout延長倍率の上限。
OMNIROUTE_PROVIDER_BREAKER_OAUTH_BACKOFF_ESCALATION_COUNT 2 open-sse/config/constants.ts OAuthプロバイダーでバックオフがエスカレートするまでのオープンサイクル数。
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_THRESHOLD 15 open-sse/config/constants.ts プロバイダーレベルのブレーカーAPIキープロバイダー全体がクールダウン状態に入るまでの期間内の失敗回数。
OMNIROUTE_PROVIDER_BREAKER_API_KEY_FAILURE_WINDOW_MS 1800000 open-sse/config/constants.ts プロバイダーレベルのブレーカーAPIキープロバイダーのローリング失敗回数集計期間ミリ秒
OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS 600000 open-sse/config/constants.ts プロバイダーレベルのブレーカーAPIキープロバイダーがしきい値に達した後のクールダウン時間ミリ秒
OMNIROUTE_PROVIDER_BREAKER_API_KEY_DEGRADATION_THRESHOLD 7 open-sse/config/constants.ts APIキープロバイダーがDEGRADED状態に入る失敗回数。
OMNIROUTE_PROVIDER_BREAKER_API_KEY_MAX_BACKOFF_MULTIPLIER 4 open-sse/config/constants.ts APIキープロバイダーのresetTimeout延長倍率の上限。
OMNIROUTE_PROVIDER_BREAKER_API_KEY_BACKOFF_ESCALATION_COUNT 3 open-sse/config/constants.ts APIキープロバイダーでバックオフがエスカレートするまでのオープンサイクル数。
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_THRESHOLD 2 open-sse/config/constants.ts プロバイダーレベルのブレーカー:ローカルプロバイダー全体がクールダウン状態に入るまでの失敗回数。
OMNIROUTE_PROVIDER_BREAKER_LOCAL_FAILURE_WINDOW_MS 300000 open-sse/config/constants.ts プロバイダーレベルのブレーカー:ローカルプロバイダーのローリング失敗回数集計期間(ミリ秒)。
OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS 60000 open-sse/config/constants.ts プロバイダーレベルのブレーカー:ローカルプロバイダーがしきい値に達した後のクールダウン時間(ミリ秒)。
PIN_DROP_BACKOFF_LEVEL 2 open-sse/services/combo.ts コンテキストキャッシュのピンに対応するプロバイダーが継続的に異常であると判断し、フェイルオーバーのためにピンを解除するバックオフ深度。
PIN_DROP_GRACE_MS 20000 open-sse/services/combo.ts コンテキストキャッシュのピンを解除する前に、短時間の一時的なクールダウンを許容するアンチフラップ期間(ミリ秒)。

シナリオ

シナリオ 構成
長時間実行されるコード生成 REQUEST_TIMEOUT_MS=90000015分
ストリームの総存続時間を制限 STREAM_ACTIVE_TIMEOUT_MS=126000021分
本番APIでの高速失敗 API_BRIDGE_PROXY_TIMEOUT_MS=10000
拡張思考モデル STREAM_IDLE_TIMEOUT_MS=300000チャンク間は5分

16. ロギング

ロギングシステムは、標準出力とローテーションされるログファイルの両方に書き込みます。すべての設定は src/lib/logEnv.ts によって読み込まれます。

変数 デフォルト 説明
APP_LOG_LEVEL info 最小ログレベル:debuginfowarnerror
APP_LOG_FORMAT text 出力形式:text(人間が読みやすい形式)または json(構造化形式)。
APP_LOG_TO_FILE true 標準出力に加えてログをファイルにも書き込みます。
APP_LOG_FILE_PATH logs/application/app.log ログファイルのパス(プロジェクトルートまたは DATA_DIR からの相対パス)。
APP_LOG_MAX_FILE_SIZE 50M ローテーション前の最大ファイルサイズ。50M1G512K、または単純なバイト数を指定できます。
APP_LOG_RETENTION_DAYS 7 ローテーションされたアプリケーションログファイルを保持する日数。
APP_LOG_MAX_FILES 20 ローテーションされたログファイルのバックアップ最大数。
CALL_LOG_RETENTION_DAYS 7 データベース内のリクエスト/呼び出しログエントリを保持する日数。
CALL_LOG_MAX_ENTRIES 10000 メモリ内バッファに保持する呼び出しログエントリの最大数。
CALL_LOGS_TABLE_MAX_ROWS 100000 削除処理が行われるまでの call_logs SQLite テーブルの最大行数。
ENABLE_REQUEST_LOGS (未設定) ダッシュボード設定を上書きし、詳細なリクエストロギングを強制的にオンまたはオフにします。
MAX_PENDING_REQUEST_AGE_MS 36000001 時間) メモリ内クリーンアップの対象となる、孤立したアクティブなリクエストログエントリの最大経過時間。
CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS false call_log_pipeline_enabled=true の場合に、ストリームチャンクをパイプラインアーティファクトへ保存します。オプトイン(true)方式で、ディスク容量を節約するためデフォルトではオフです。
CALL_LOG_PIPELINE_MAX_SIZE_KB 512 call_log_pipeline_enabled=true の場合のパイプライン呼び出しログアーティファクトの最大サイズKB
PROXY_LOGS_TABLE_MAX_ROWS 100000 削除処理が行われるまでの proxy_logs SQLite テーブルの最大行数。
PROXY_LOG_INCLUDE_IPS false [ProxyEgress] コンソールログにクライアント/送信元 IP とアカウントプレフィックスを含めます。ダッシュボード/データベースのプロキシログレコードには、引き続き完全な詳細が保持されます。
APP_LOG_ROTATION_CHECK_INTERVAL_MS 600001 分) src/lib/logRotation.ts がアクティブなログファイルのサイズを再確認する間隔。
CHAT_LOG_TEXT_LIMIT 65536 チャットログアーティファクトに保持する文字列の最大長(デフォルトは 64 KB
CHAT_LOG_ARRAY_TAIL_ITEMS 128 チャットログペイロードを切り詰める際に、末尾から保持する配列要素の数。
CHAT_LOG_MAX_DEPTH 6 チャットログペイロードが切り詰められるまでの最大ネスト深度。
CHAT_LOG_MAX_OBJECT_KEYS 80 チャットログペイロードに保持するオブジェクトキーの最大数0 = 無制限)。
CHAT_LOG_MAX_BODY_KB 1024 完全な複製の代わりに簡易要約へ置き換えられるまでの、リクエストレスポンス本文全体のサイズKB。長時間のエージェント型会話で、実際のメッセージの代わりにプレースホルダーがダッシュボードに表示される場合は、この値を増やしてください。
CHAT_DEBUG_FILE false true の場合、serializeArtifactForStorage はサイズに基づく切り詰めをスキップします。デバッグ専用です。

17. メモリ最適化

変数 デフォルト 説明
OMNIROUTE_MEMORY_MB 自動(ベアメタル); Docker イメージでは 1024 Docker/スタンドアロン向けに推奨される V8 ヒープ上限MB。未設定の場合、動的に調整されますシステム RAM の約 35%、[512, 4096] の範囲に制限)。512 は、総メモリを読み取れない場合にのみ下限として使用されます。run-standalone.mjsDocker CMDでは、明示的な値が --max-old-space-size として追加され、競合する NODE_OPTIONS のヒープフラグより優先されますV8 では最後のフラグが有効)。omniroute serve は引き続き既存の NODE_OPTIONS ヒープ設定を優先します(#5238。両方に異なる数値を設定しないでください。プロセスは両方の値と優先される値を明記した警告をログに出力します。公式 Docker イメージでは常に 1024 が設定されるため、動的調整は実行されません。 コーディングエージェントの /v1/responses には、cgroup の余裕分に加えて 819212288 が必要です。Docker ガイド — 実行時 RAMを参照してください。
PROMPT_CACHE_MAX_SIZE 50 キャッシュするシステムプロンプトエントリの最大数。
PROMPT_CACHE_MAX_BYTES 2097152 (2 MB) プロンプトキャッシュの合計最大サイズ。
PROMPT_CACHE_TTL_MS 300000 (5 分) プロンプトキャッシュエントリの TTL。
SEMANTIC_CACHE_MAX_SIZE 100 キャッシュする temperature=0 のレスポンスの最大数。
SEMANTIC_CACHE_MAX_BYTES 4194304 (4 MB) セマンティックキャッシュの合計最大サイズ。
SEMANTIC_CACHE_TTL_MS 1800000 (30 分) セマンティックキャッシュエントリの TTL。
OMNIROUTE_CORPUS_CACHE_SIZE 5 ライブなインメモリインデックスを同時に保持するローカルコーパスのルート数(src/lib/localCorpus/configured.ts。LRU: 上限に達すると、最も長く使用されていないルートのインデックスが削除され、次回のクエリ時に再構築されます。最小値は 1 に制限され、数値以外の値の場合はデフォルトに戻ります。
STREAM_HISTORY_MAX 50 ダッシュボードのライブビューバッファに保持する直近のストリームイベントの最大数。
CONTEXT_LENGTH_DEFAULT 128000 明示的な設定がないモデルに対する、グローバルな最大コンテキスト長のフォールバック値。
USAGE_TOKEN_BUFFER 100 使用量クォータの追跡時に予約される追加のトークン余裕分。

圧縮

変数 デフォルト 説明
OMNIROUTE_RTK_TRUST_PROJECT_FILTERS 未設定 .rtk/trust.json ハッシュなしでプロジェクトの .rtk/filters.json を信頼します。管理されたローカル開発環境でのみ使用してください。

メモリエンジン(プラン 21

メモリ、スキル、トークン更新のイベントループコスト(#10349

OmniRoute は単一の Node プロセスです。メモリの抽出/取得、スキルの注入、プロバイダートークンの更新は、GET /healthz およびダッシュボードと同じイベントループ上で実行されます。これらはワーカースレッドではありません。

処理 コード デフォルト オペレーターによる制御
メモリの抽出 / 取得 src/lib/memory/ ダッシュボードの memoryEnabled(デフォルトでオン) 設定 → メモリ でオフにします。設定で機能を無効化する以外に、独立した環境変数のキルスイッチはありません。
スキルの注入 src/lib/skills/injection.ts ダッシュボードの skillsEnabled(デフォルトでオン) 設定 → メモリ/スキルskillsEnabled)でオフにします。以下のサンドボックス設定は、注入がすでにオンになっている場合の実行範囲を制限するだけです。
トークンの更新 src/sse/services/tokenRefresh.ts 接続済みの OAuth/Web プロバイダーではオン プロバイダーを切断するか、トークンを有効な状態に保ちます。現時点では TOKEN_REFRESH=0 という環境変数はありません。

負荷のないマシンで /healthz が遅い場合は、まずメモリとスキルを無効にしてから、カタログ/圧縮の負荷を確認してください(#10303、#9685。これらの機能は await ポイントで処理を譲りますが、それでも単一スレッドを奪い合います。

永続メモリサブシステム(src/lib/memory/)の埋め込みレイヤー、ベクトルストア、および再ランキング設定。

変数 デフォルト 説明
MEMORY_EMBEDDING_CACHE_TTL_MS 3000005 分) インメモリ埋め込みキャッシュの TTLソース/モデル/次元シグネチャごと)。
MEMORY_EMBEDDING_CACHE_MAX 1000 埋め込みキャッシュに保持する LRU エントリの最大数。
MEMORY_TRANSFORMERS_MODEL Xenova/all-MiniLM-L6-v2 オプトインの @huggingface/transformers ローカル MiniLM パイプライン(約 23 MB、int8、RAM 約 400 MB用の HF リポジトリ ID。
MEMORY_STATIC_MODEL minishlab/potion-base-8M 静的な potion/Model2Vec ルックアップテーブル埋め込み器用の HF リポジトリ ID。キャッシュディレクトリへ遅延ダウンロードされます。
MEMORY_STATIC_CACHE_DIR <DATA_DIR>/embeddings 静的 potion モデルファイルのキャッシュに使用するディレクトリ。未設定の場合は DATA_DIR 配下がデフォルトです。
HF_HUB_ENDPOINT https://huggingface.co staticPotion.ts が使用する Hugging Face Hub のベース URL を上書きします(例: エアギャップ環境向けのミラーエンドポイント)。
MEMORY_VEC_TOP_K 20 src/lib/memory/vectorStore.ts 内の sqlite-vec 総当たりベクトル検索で使用するデフォルトの top-K。
MEMORY_RRF_K 60 FTS5 とベクトルのハイブリッド検索における Reciprocal Rank Fusion の定数 ksqlite-vec のレシピ)。
VECTOR_STORE_DISABLE_VEC false getVectorStore()src/lib/memory/vectorStore.ts)のテスト/診断用シーム。true の場合、ベクトルストアを強制的に null にし(sqlite-vec のないクラウド/WASM 環境をシミュレート)、メモリ検索を FTS5 キーワード検索へフォールバックさせます。本番環境では未設定のままにしてください。
NOTION_API_KEY (未設定) Notion バックエンド用の API キー(genericBackend.ts の既知のバックエンドプリセットで使用)。
NOTION_API_URL https://api.notion.com/v1 Notion API のベース URLセルフホスト型の Notion 代替サービス向けに上書き可能)。
OBSIDIAN_API_KEY (未設定) Obsidian Vault バックエンド用の API キー(genericBackend.ts の既知のバックエンドプリセットで使用)。
OBSIDIAN_API_URL http://localhost:27123 Obsidian Vault API のベース URLリモート Vault 向けに上書き可能)。
MEMORY_TYPED_DECAY_ENABLED false TV6 の型付きメモリ減衰のマスタースイッチ。オプトイン(デフォルトでオフ) — スイープは減衰したメモリを削除します。オフの場合、access_count/last_accessed_at は純粋なテレメトリであり、何も削除されません。
MEMORY_TYPED_DECAY_EPISODIC_DAYS 30 未使用の episodic メモリが減衰するまでの TTL日数0 にすると episodic も減衰しません。永続タイプ(factual/procedural/semantic)は常に減衰しません。減衰時間は last_accessed_at を基準に再設定されます。
MEMORY_TYPED_DECAY_ACCESS_IMMUNITY 3 注入回数がこの値以上(>=)になったメモリは、タイプに関係なく減衰しなくなります。0 にするとアクセス回数による減衰免除が無効になります。
MEMORY_TYPED_DECAY_SWEEP_INTERVAL 0(無効) src/lib/memory/typedDecay.ts のオプションの定期的な減衰スイープの間隔(秒)。0/未設定 = 定期スイープなし。二重のオプトイン方式であり、MEMORY_TYPED_DECAY_ENABLED=true も必要です。
OMNIROUTE_STRICT_SYSTEM_PROVIDERS (未設定) system メッセージをインデックス 0 でのみ受け付ける、カンマ区切りのプロバイダー ID大文字と小文字を区別しないsrc/lib/memory/injection.ts)。これらのプロバイダーでは、キャッシュに安全な配列中間へのメモリ挿入は複数ターンの会話で安全ではないため、代わりにメモリが先頭の system メッセージとしてマージ/先頭追加されます。デフォルトは xiaomi-mimo/mimo のみです。チャットテンプレートで同じ「先頭に単一の system メッセージ」という制約を適用する、セルフホスト型の OpenAI 互換エンドポイント(例: Qwen3.5+/3.6)向けに追加してください。

低 RAM Docker の例

128 はダッシュボード専用です。このヒープサイズでは、コーディングエージェントが長時間の /v1/responses 中に FATAL ERROR になります。この例を Claude/Codex/Grok ゲートウェイとして使用しないでください。

OMNIROUTE_MEMORY_MB=128
PROMPT_CACHE_MAX_SIZE=20
PROMPT_CACHE_MAX_BYTES=524288        # 512 KB
SEMANTIC_CACHE_MAX_SIZE=25
SEMANTIC_CACHE_MAX_BYTES=1048576     # 1 MB
STREAM_HISTORY_MAX=10

18. 料金同期

外部ソースからモデルの料金データを自動的に同期します。

変数 デフォルト ソースファイル 説明
PRICING_SYNC_ENABLED false src/lib/pricingSync.ts 定期的な料金同期をオプトインで有効にします。
PRICING_SYNC_INTERVAL 86400 (24h) src/lib/pricingSync.ts 同期間隔(秒単位)。
PRICING_SYNC_SOURCES litellm src/lib/pricingSync.ts カンマ区切りのデータソース。

Arena ELO 同期

変数 デフォルト ソースファイル 説明
ARENA_ELO_SYNC_ENABLED true src/shared/constants/featureFlagDefinitions.ts Arena AI リーダーボードの ELO を定期的に同期します。Dashboard の Feature Flags から設定するか、false にしてオプトアウトできます。
MODELS_CATALOG_PREFIX_MODE dual src/shared/constants/featureFlagDefinitions.ts, src/app/api/v1/models/catalog.ts GET /v1/models のモデル ID に使用するプレフィックス形式。dual は、すべてのモデルについて短いエイリアスプレフィックスと正規プロバイダープレフィックスの両方を公開します後方互換性のため、カタログのサイズはおよそ2倍になりますalias はモデルごとに1つの ID を出力します。canonical は完全なプロバイダー ID プレフィックスのみを出力します(エイリアスがすでに正規 ID であるプロバイダーは、単一のエントリを維持します)。クライアントはリクエストごとに ?prefix=alias を指定して上書きできます。API_REFERENCE を参照してください。
ARENA_ELO_SYNC_INTERVAL 86400 (24h) src/lib/arenaEloSync.ts 同期間隔(秒単位)。

PromptQL Playground プロバイダー(非公式/実験的)

prompt.ql.app 用にリバースエンジニアリングされた GraphQL セッションブリッジ(src/shared/constants/providers/web-cookie.ts)。すべて任意です。デフォルトでは公開 Playground エンドポイントを使用します。セルフホストまたは代替の PromptQL デプロイメントを使用する場合にのみ上書きしてください。

変数 デフォルト ソースファイル 説明
PROMPTQL_GRAPHQL_ENDPOINT https://data.prompt.ql.app/promptql/playground-v2-hge/v1/graphql open-sse/executors/promptql.ts チャット/セッション操作に使用する GraphQL エンドポイント。
PROMPTQL_CREDITS_ENDPOINT https://data.pro.ql.app/v1/graphql open-sse/executors/promptql.ts, open-sse/services/usage/promptql.ts クレジット残高/使用量の照会に使用する GraphQL エンドポイント。
PROMPTQL_TOKEN_REFRESH_URL https://auth.pro.ql.app/ddn/project/token open-sse/executors/promptql.ts ベストエフォート方式のトークン更新に使用するエンドポイント。
PROMPTQL_POLL_TIMEOUT_MS 180000 open-sse/executors/promptql.ts タイムアウトするまで thread_events をポーリングする最大時間(ミリ秒)。

HyperAgent Web プロバイダー(非公式/実験的)

hyperagent.com 向けにリバースエンジニアリングされたセッションブリッジ(src/shared/constants/providers/web-cookie.ts)。任意設定です。デフォルトでは公開の請求/使用量エンドポイントを参照します。セルフホスト環境または代替の HyperAgent デプロイメントを使用する場合にのみ上書きしてください。

変数 デフォルト ソースファイル 説明
HYPERAGENT_USAGE_URL https://hyperagent.com/api/settings/billing/usage open-sse/services/usage/hyperagent.ts 請求/使用量のクレジットブロックを取得するために使用されるエンドポイント。

Kilo Code 使用量クォータ

Kilo Code プロバイダー向けの個人 USD 残高および Kilo Pass 使用量の照会。任意設定です。デフォルトでは公開 Kilo API を参照します。リレーまたはテストフィクスチャを使用する場合にのみ上書きしてください。認証には、接続に既存の OAuth アクセストークンが使用されます。

変数 デフォルト ソースファイル 説明
KILO_API_URL https://api.kilo.ai open-sse/services/usage/kilocode.ts Kilo Code の個人残高および Kilo Pass の使用量を取得するために使用されるベース URL。

Adobe Firefly Web プロバイダー(非公式/実験的)

Adobe Firefly Web プロバイダー向けのブラウザー駆動型セッション更新 open-sse/services/adobeFireflyBrowserLogin.tsopen-sse/services/adobeFireflySession.tsopen-sse/services/adobeFireflyClient.ts)。任意設定です。すべてのデフォルト値は通常の デスクトップインストール向けに調整されています。

#9255 で削除されました。 旧 CDP 接続型 Chrome ランタイムadobeFireflyChromeRuntime.tsは Playwright ブラウザーログインサービスに置き換えられ、その設定項目は存在しなくなりました。 ADOBE_FIREFLY_CHROME_ CDP_PORT / VISIBLE / HEADED / PING / FORCE_RESTART 変数、および ADOBE_FIREFLY_LOGIN_WAIT_MS と ADOBE_FIREFLY_FORTER_WAIT_MS はコードベース内の どこからも読み取られないため、設定しても効果はありません。

変数 デフォルト ソースファイル 説明
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts 真のヘッドレス Chrome を使用するには 1 に設定します(生成では動作しないことが既知であり、デバッグ専用です)。
ADOBE_FIREFLY_BROWSER_REFRESH 1 open-sse/services/adobeFireflySession.ts 事前のブラウザーウォームアップを有効化/無効化します。0 にすると事前ウォームアップが無効になります(バッチ途中の 408 リカバリーは引き続き適用されます)。
ADOBE_FIREFLY_SESSION_DISK 1 open-sse/services/adobeFireflySession.ts Adobe Firefly セッションのディスクへの永続化を無効にするには 0 に設定します。
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS (未設定) open-sse/services/adobeFireflySession.ts 連続する送信間に適用される最小間隔ms。組み込みのデフォルト値を上書きします。
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS (未設定) open-sse/services/adobeFireflySession.ts バッチ成功後に追加される待機時間ms。組み込みのデフォルト値を上書きします。
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS (未設定) open-sse/services/adobeFireflyClient.ts 生成リクエストを送信する前の基本遅延ms。組み込みのデフォルト値を上書きします。

19. モデル同期(開発用)

変数 デフォルト ソースファイル 説明
MODELS_DEV_SYNC_ENABLED (未設定) src/lib/modelsDevSync.ts models.dev の料金同期を強制的に上書きします。未設定 = 設定 > AImodelsDevSyncEnabled)に従います。0/false/off/noDB の設定より優先され、定期同期と getModelsDevPricing() による SQL/JSON スキャンの両方をスキップします(ダッシュボードが同じイベントループ上で停止した場合の復旧用)。1/true/on/yes を指定すると、同期が強制的に有効になります。料金の保存/消去時には引き続き backupDbFile("pre-write") が呼び出されますが、60 分間のスロットリング中、または DISABLE_SQLITE_AUTO_BACKUP が設定されている場合は何も実行されません。
MODELS_DEV_SYNC_INTERVAL 8640024時間 src/lib/modelsDevSync.ts 開発時のモデルカタログ同期の間隔(秒単位)。
CONTEXT_WINDOW_RECONCILE_INTERVAL 8640024時間 src/lib/contextWindowResolver.ts 自己修正型コンテキストウィンドウ調整処理5004の実行間隔秒単位/models の検出によってプロバイダーから宣言されたウィンドウがカタログと異なる場合、それらを auto:discovery オーバーライドとして固定します。無効にするには 0 に設定します。同期済みのデータを再利用し(新たな取得は行いません)、manual オーバーライドを上書きすることはありません。

20. プロバイダー固有の設定

変数 デフォルト ソースファイル 説明
OPENROUTER_CATALOG_TTL_MS 8640000024時間 src/lib/catalog/openrouterCatalog.ts OpenRouter モデルカタログのキャッシュ TTL。
MODEL_CATALOG_INCLUDE_NAMES true src/shared/constants/featureFlagDefinitions.ts /v1/models レスポンスに表示用の name フィールドを含めます。ID のみを想定するクライアントでは無効にしてください。
CATALOG_BUILD_TIMEOUT_MS 80008秒 src/app/api/v1/models/catalogCache.ts 統合された GET /v1/models カタログ再構築のコールドパス待機時間の上限(#12627。タイムアウト時、直近の正常な 200 レスポンスが存在する場合はそれを返します。
OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS 259200000030日 src/lib/db/models/activeSyncedCatalog.ts 接続の同期済みモデルリストがルーティングにおける信頼できる情報ではなくなり、レジストリへのフェイルオープンが行われるまでの経過期間(#12849。タイムスタンプが一度も設定されていない行は古いものとして扱われます。
NANOBANANA_POLL_TIMEOUT_MS 120000 open-sse/handlers/imageGeneration.ts NanoBanana 画像生成ジョブの最大待機時間。
NANOBANANA_POLL_INTERVAL_MS 2500 open-sse/handlers/imageGeneration.ts NanoBanana ジョブのポーリング間隔。
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyUpscale.ts Adobe Firefly アップスケール送信再試行の指数バックオフに使用する基本遅延時間。
AWS_REGION (未設定) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts AWS Bedrock エンドポイントKiro、音声の構築に使用するリージョン。
AWS_DEFAULT_REGION (未設定) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts AWS_REGION が設定されていない場合のフォールバック。
CLOUDFLARE_ACCOUNT_ID (未設定) open-sse/executors/cloudflare-ai.ts Cloudflare Workers AI のアカウント ID。
CLOUDFLARE_PLAYGROUND_CHROME_PATH (未設定) open-sse/executors/cloudflare-playground.ts Cloudflare AI Playground エグゼキューター用のデスクトップ版 Chrome バイナリへの完全パス。ヘッドレスのフィンガープリントチェックによって Playwright 同梱の Chromium がブロックされる場合に使用されます。
CLOUDFLARE_API_BASE https://api.cloudflare.com/client/v4 src/app/api/settings/proxy/cloudflare-deploy/route.ts プロキシプールの Workers リレーデプロイヤーが使用する Cloudflare REST API のベース URL を上書きします(#4640 / 9router#1360
NEXT_PUBLIC_CLOUDFLARE_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/dashboard/settings/components/proxy/CloudflareRelayModal.tsx プロキシプールの「Deploy Relay」モーダルで提案されるデフォルトの Worker プロジェクト名。
NEXT_PUBLIC_CLOUDFLARE_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx false に設定すると、Proxy Pool タブから Cloudflare Workers リレーオプションを非表示にします。
CLOUDFLARED_BIN 自動検出 src/lib/cloudflaredTunnel.ts cloudflared バイナリへのカスタムパス。
CLOUDFLARED_PROTOCOL http2 src/lib/cloudflaredTunnel.ts トンネルの転送プロトコル:http2(デフォルト)、quic、または auto
CLOUDFLARED_CONFIG (未設定) src/lib/cloudflaredTunnel.ts ローカルで管理される cloudflared の config.ymltunnel:credentials-file:ingress: を含むへのパス。設定すると、OmniRoute は一時的なクイックトンネルの代わりに tunnel --config <path> run(名前付きトンネル)を実行します。
CLOUDFLARED_HOSTNAME (設定の ingress から取得) src/lib/cloudflaredTunnel.ts 名前付きトンネルの公開ホスト名(例:ai.example.com)の上書き値。publicUrl/apiUrl として報告されます。未設定の場合は、設定内の最初の ingress ホスト名から読み取られます。
DENO_DEPLOY_API_BASE https://api.deno.com/v2 src/app/api/settings/proxy/deno-deploy/route.ts プロキシプールのリレーデプロイヤーが使用する Deno Deploy REST API のベース URL を上書きします(#4643 / 9router#1437
NEXT_PUBLIC_DENO_RELAY_DEFAULT_PROJECT omniroute-deno-relay src/app/(dashboard)/dashboard/settings/components/proxy/DenoRelayModal.tsx プロキシプールの「Deploy Relay」モーダルで提案されるデフォルトの Deno Deploy アプリ名です。
NEXT_PUBLIC_DENO_RELAY_ENABLED true src/app/(dashboard)/dashboard/settings/components/proxy/ProxyPoolTab.tsx false に設定すると、Proxy Pool タブで Deno Deploy リレーオプションが非表示になります。
SEARCH_CACHE_TTL_MS 3000005 分) open-sse/services/searchCache.ts 検索 APIPerplexity、Brave など)のレスポンスキャッシュの TTL です。
ENABLE_CC_COMPATIBLE_PROVIDER false src/shared/utils/featureFlags.ts Claude Code 専用リレー向けの実験的な CC 互換プロバイダー UI を表示します。
NINEROUTER_HOST 127.0.0.1 open-sse/executors/ninerouter.ts 組み込みの 9router インスタンスがリッスンするホストを上書きします。
NINEROUTER_PORT 20130 open-sse/executors/ninerouter.ts 組み込みの 9router インスタンスがリッスンするポートを上書きします。
EMBED_WS_PROXY_HOST 127.0.0.1 src/lib/services/embedWsProxy.ts 組み込みサービスの WebSocket プロキシがバインドするホストです(デフォルトではループバックのみ)。
EMBED_WS_PROXY_PORT 20131 src/lib/services/embedWsProxy.ts 組み込みサービスの WebSocket プロキシサーバーのポートです。
CLIPROXYAPI_HOST 127.0.0.1 open-sse/executors/cliproxyapi.ts CLIProxyAPI ブリッジのホストです(レガシー統合)。
CLIPROXYAPI_PORT 5544 open-sse/executors/cliproxyapi.ts CLIProxyAPI ブリッジのポートです。
CLIPROXYAPI_API_KEY (空) open-sse/handlers/chatCore/cliproxyapiCredentials.ts cliproxyapi_api_key 設定が存在しない場合のデータプレーンキーのフォールバックです。
CLIPROXYAPI_MANAGEMENT_KEY (空) src/lib/services/cliproxyAccountHealth.ts 外部管理されている CLIProxyAPI インスタンスからアカウント状態を読み取るための管理キーです。
CLIPROXYAPI_CONFIG_DIR ~/.cli-proxy-api src/lib/versionManager/processManager.ts CLIProxyAPI の設定ディレクトリです。
CLIPROXY_BIND_HOST 127.0.0.1 docker-compose.yml docker-compose が cliproxyapi サイドカーを公開するホストインターフェースです(#12578。そのデータボリュームにはプロバイダーの OAuth/API 認証情報が保持され、固定されたイメージには環境変数ベースのデータプレーン api-keys 上書きがなく(マウントされた config.yaml のみ)、0.0.0.0 にすると認証情報を保持するサービスが LAN 全体に公開されます。
MUX_SERVICE_PORT 8322 src/lib/services/bootstrap.ts 組み込みの Muxcoder/muxエージェントオーケストレーションデーモンがリッスンするポートを上書きします常に 127.0.0.1)。
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Dario 組み込みサービスのバインド/接続ホストです(デフォルトではループバックのみ)。
DARIO_PORT 3456 open-sse/executors/dario.ts Dario 組み込みサービスのポートです。
DARIO_HOST 127.0.0.1 open-sse/executors/dario.ts Dario 組み込みサービスのバインド/接続ホストです(デフォルトではループバックのみ)。
DARIO_PORT 3456 open-sse/executors/dario.ts Dario 組み込みサービスのポートです。
LOCAL_HOSTNAMES (空) open-sse/config/providerRegistry.ts 「ローカル」として扱われる、カンマ区切りの追加ホスト名Docker サービス名など)。

ENABLE_CC_COMPATIBLE_PROVIDER は、Claude Code クライアントのみを受け付けるサードパーティ製リレー専用です。 OmniRoute は、それらのリレーがリクエストを受け付けられるようにリクエストを書き換えます。Claude Code CLI のみを使用する場合、またはこれらのリレーが何かわからない場合は、この設定を無効のままにして、代わりに通常の Anthropic 互換プロバイダーを追加してください。


21. プロキシのヘルスチェック

変数 デフォルト ソースファイル 説明
PROXY_FAST_FAIL_TIMEOUT_MS 2000 src/lib/proxyHealth.ts 高速失敗ヘルスチェックのタイムアウト。
PROXY_LATENCY_WINDOW_HOURS 3 src/lib/db/proxies.ts レイテンシー最適化プール戦略で、候補プロキシの平均レイテンシーを計算するための時間枠(時間単位)。
PROXY_HEALTH_CACHE_TTL_MS 30000 src/lib/proxyHealth.ts ヘルスチェック結果のキャッシュ TTL。
PROXY_HEALTH_UNHEALTHY_CACHE_TTL_MS 2000 src/lib/proxyHealth.ts 失敗したプロキシヘルスプローブのキャッシュ TTL。一時的なプロキシタイムアウトが高並行処理時に発生した場合に、完全に停止しているプロキシに対する高速失敗を無効にすることなく迅速に再試行できるよう、この値は PROXY_HEALTH_CACHE_TTL_MS より短く設定してください。
PROXY_HEALTH_ENABLED true src/lib/proxyHealth/scheduler.ts 登録済みプロキシを定期的にプローブするバックグラウンドプロキシヘルススケジューラーを無効にするには、false に設定します。
PROXY_HEALTH_INTERVAL_MS 600000 src/lib/proxyHealth/scheduler.ts バックグラウンドヘルススケジューラーのスイープ間隔(ミリ秒単位、最小値は 60000)。
PROXY_HEALTH_TEST_URL https://httpbin.org/ip src/lib/proxyHealth/probeTarget.ts スケジューラーおよび /api/settings/proxies/auto-test エンドポイントで使用される到達可能性プローブのターゲット。公開されているデフォルトを使用しないようにするには、内部/セルフホストの URL を指定してください。
PROXY_HEALTH_TEST_CONCURRENCY 10 src/lib/proxyHealth/probeTarget.ts スケジューラーおよび /api/settings/proxies/auto-test エンドポイントで共有される、バッチごとに同時開始するプローブ数。最小値は 1、最大値は 50 です。
PROXY_HEALTH_TEST_STAGGER_MS 100 src/lib/proxyHealth/probeTarget.ts バッチ内で 2 つのプローブを送信する間の遅延ms。これを設定しないとバッチ全体が同時に送信され、共有の送信元 IP によって、レート制限のあるターゲットで制限が発動する可能性があります。間隔を無効にするには 0 に設定してください。最大値は 5000 です。
PROXY_HEALTH_USE_PROVIDER_TARGET true src/lib/proxyHealth/providerProbeTarget.ts プロキシに割り当てられたプロバイダーの実際のホストへのプローブ(GET /models、API キーなし)を停止し、代わりに常に PROXY_HEALTH_TEST_URL を使用するには、"false" に設定します。
PROXY_HEALTH_AUTO_DEACTIVATE false src/lib/proxyHealth/statusPolicy.ts false(デフォルト)の場合、自動到達可能性プローブ(スケジューラー + /api/settings/proxies/auto-test の「Test All」ボタン読み取り専用となり、プロキシのステータスを変更しません。アクティブ/非アクティブを設定できるのはオペレーターのみとなるため、不安定なプローブによって割り当て済みプロキシが使用不能になることを防げます(#6246。従来のテストおよびステータス設定動作に戻すには、true に設定します。
PROXY_POOL_EGRESS_OBSERVATION false src/shared/utils/featureFlags.ts オプトインの機能フラグです(FEATURE_FLAGS.md を参照。ダッシュボードの DB オーバーライドが優先されます)。true(または 1yes)にすると、ダッシュボードのプロキシプール配下に読み取り専用のプール送信観測が表示されます(プロキシログに基づく、過去 24 時間の異なる送信元 IP 数、接続数、および 1 つの IP の背後で最も多く観測された数)。ルーティングには一切使用されません。
PROXY_AUTO_REMOVE false src/lib/proxyHealth/scheduler.ts 繰り返し連続して失敗した後、スケジューラーがプロキシを自動削除できるようにするには、true に設定します。
PROXY_AUTO_REMOVE_AFTER 3 src/lib/proxyHealth/scheduler.ts スケジューラーがプロキシを自動削除するまでの連続失敗回数(PROXY_AUTO_REMOVE=true の場合)。
PROXY_AUTO_DISABLE false src/lib/proxyHealth/scheduler.ts true に設定すると、スケジューラーはプロキシを削除する代わりに、連続して繰り返し失敗した後でソフト無効化(ステータスは dead、削除はされない)します。PROXY_AUTO_REMOVE に代わる非破壊的な選択肢です。プロキシはプール/ローテーションの解決対象から即座に除外され(スコーププールの解決で使用される稼働ステータスフィルターによって既に除外されます)、プローブに再び合格し始めると自動的に再有効化されます。PROXY_AUTO_REMOVE_AFTER のしきい値を共有します。両方のフラグが true の場合は、PROXY_AUTO_REMOVE が優先されます。
OMNIROUTE_CONTROL_PLANE_PROXY_DIRECT_FALLBACK false src/shared/constants/featureFlagDefinitions.ts プロキシ到達性の事前チェックが失敗した場合に、OAuth およびプロバイダー検証フローが固定されたプロキシを迂回して直接接続することを許可します。有効な優先順位は、Feature Flags DB のオーバーライド > 環境変数 > デフォルトです。
RATE_LIMIT_MAX_WAIT_MS 3000030秒 open-sse/services/rateLimitManager.ts リクエストを失敗させるまでに 429 で待機する最大時間です。
RATE_LIMIT_EXECUTION_MAX_WAIT_MS 60000010分 open-sse/services/rateLimitManager.ts 受け付けられたリクエストが、レート制限の予約が期限切れになるまで実行状態に留まれる時間の上限です。キュー待機時間の上限とは分離されているため、非インクリメンタルゲートウェイでフェッチ開始が遅くてもタイムアウトしません(#12027
RATE_LIMIT_MAX_QUEUE_DEPTH 0(無効) open-sse/services/rateLimitManager.ts キュー受け入れ上限です。既にキューに入っているリクエスト数がこの値に達すると、429 queue_full で拒否します。0 = 無制限(デフォルト)。
RATE_LIMIT_AUTO_ENABLE (未設定) open-sse/services/rateLimitManager.ts 保存されている Dashboard の設定に関係なく、レート制限の自動有効化セーフティネットを強制的にオン/オフにします。強制的にオンにするには true/1/on、強制的にオフにするには false/0/off を指定できます。
PROVIDER_COOLDOWN_ENABLED (未設定 → オフ) open-sse/services/providerCooldownTracker.ts リクエスト間で共有されるグローバルなプロバイダー接続クールダウン追跡をオプトインで有効にします。デフォルトではオフですConnection Cooldown / Provider Circuit Breaker と機能が重複します)。有効にするには true/1/on を指定できます。
PROVIDER_COOLDOWN_MIN_MS 5000 open-sse/services/providerCooldownTracker.ts 失敗したプロバイダー/接続を再試行するまでの最小クールダウン時間(ミリ秒)です。連続失敗回数に応じて指数関数的に増加します。PROVIDER_COOLDOWN_ENABLED が有効な場合にのみ使用されます。
PROVIDER_COOLDOWN_MAX_MS 3000005分 open-sse/services/providerCooldownTracker.ts 失敗したプロバイダー接続が、この時間を超えると無条件で再試行される最大クールダウン時間msの上限。PROVIDER_COOLDOWN_ENABLED が有効な場合にのみ使用されます。
STREAM_RECOVERY_ENABLED (未設定 → オフ) src/lib/resilience/settings.ts(初期値)→ open-sse/services/streamRecovery.ts(ロジック) **概要:**途中で切断されたアップストリームの透過的な復旧free-claude-codeからの移植。最初のSSEウィンドウを最大 STREAM_RECOVERY.HOLDBACK_MS750 ms保持することで、コミット前、つまりクライアントにバイトが到達する前に切断された場合、ストリームを再オープンして透過的に再試行します。**有効化する場合:**不安定なアップストリームや、ストリーム開始時に0バイトで頻繁に切断されるアップストリーム。すべてのストリームで最初のトークンが届くまでの時間が最大750 ms増加することを許容できない場合は、オフのままにしてください。true/1/on を指定できます。永続化されるResilience設定の初期値として使用されます。一度設定すると、Dashboardの設定が優先されます。
STREAM_RECOVERY_MIDSTREAM_ENABLED (未設定 → オフ) src/lib/resilience/settings.ts(初期値)→ open-sse/services/streamRecovery.ts(ロジック) **概要:**ストリーム途中からの継続フェーズ4.4。_コミット後_の切断バイトがすでにクライアントへ到達している状態が発生した場合、部分テキストをassistantのprefillとして再リクエストし、不足している末尾を連結します。プレーンテキストのOpenAI互換ストリームのみが対象で、tool callの処理中には実行されません。**有効化する場合:**長い生成が回答の途中で切断され、復旧した末尾がトークン単位ではなく一括で到着することを許容できる場合。STREAM_RECOVERY_ENABLED からは独立しています(リスク特性が異なるため)。true/1/on を指定できます。
STREAM_THROUGHPUT_WATCHDOG_ENABLED (未設定 → オフ) src/lib/resilience/settings.tsopen-sse/services/throughputWatchdog.ts オプトイン方式の、アクティブなストリームに対する有効出力ウォッチドッグ。チャンクを送信し続けているにもかかわらず、設定されたassistant出力レートを下回っているストリームを検出します。ハートビート、使用量イベント、空のdelta、およびtoolreasoningフェーズが進捗として誤認されることはありません。アイドルタイムアウトおよびハードデッドラインタイムアウトとは別の機能です。
STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS 30000 src/lib/resilience/settings/normalize.ts スループット評価を開始するまでの猶予期間。0600000 msの範囲に制限されます。
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS 30000 src/lib/resilience/settings/normalize.ts 有効出力を測定するローリングウィンドウ。1000600000 msの範囲に制限され、中断する前に1つの完全なウィンドウが必要です。
STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND 4 src/lib/resilience/settings/normalize.ts assistant出力の最小UTF-8バイトレート保守的なトークン代替指標。11000000の範囲に制限されます。
STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES 1 src/lib/resilience/settings/normalize.ts 測定可能と見なされる、ゼロではない有効出力サンプルの最小値。11000000バイトの範囲に制限されます。
HEALTHCHECK_STAGGER_MS 3000 src/lib/tokenHealthCheck.ts 起動時に実行されるプロバイダーのトークンヘルスチェック間の時間差ms
HEALTHCHECK_JITTER_MIN_MS 500 src/lib/tokenHealthCheck.ts バーストを防ぐために、プロバイダーのトークンヘルスチェック間で HEALTHCHECK_STAGGER_MS に加算されるランダムジッターの最小値msIssue #1220
HEALTHCHECK_JITTER_MAX_MS 5000 src/lib/tokenHealthCheck.ts バーストを防ぐために、プロバイダーのトークンヘルスチェック間で HEALTHCHECK_STAGGER_MS に加算されるランダムジッターの最大値msIssue #1220
HEALTHCHECK_BATCH_SIZE 20 src/lib/tokenHealthCheck.ts 起動時のトークンヘルスチェックスイープにおける同時チェックのバッチサイズ。値を大きくするとより多くの接続を並列にチェックし、値を小さくするとバースト負荷を軽減しますIssue #7875、#7719 のリグレッション)。
REQUEST_RETRY 2 src/sse/services/cooldownAwareRetry.ts モデル単位のクールダウン応答に対し、クライアントへエラーを返す前に行う自動再試行の回数。
MAX_RETRY_INTERVAL_SEC 30 src/sse/services/cooldownAwareRetry.ts クールダウン再試行間の最大バックオフ間隔(秒)。アップストリームの Retry-After にかかわらず、この値が上限になります。
HEADROOM_URL http://localhost:8787 src/lib/headroom/detect.ts Headroom トークン節約プロキシの URL。ダッシュボードのライフサイクルapi/headroom/*)は、デフォルトでローカルの headroom-ai CLI をループバック上に起動します。外部の Docker サイドカープロキシを指定する場合にのみ上書きしてください。

ストリーム復旧の調整用定数

復旧時の保留動作は、 open-sse/config/constants.tsSTREAM_RECOVERY)内のハードコードされた定数によって調整されます。参考として以下に示します — これらを変更するには環境変数ではなく、コードの編集が必要です。

  • STREAM_RECOVERY.HOLDBACK_MS = 750 — SSE の開始ウィンドウを保持する時間。 クライアントにバイトがコミットされる前に、早期切断を再試行できるようにします。
  • STREAM_RECOVERY.BUFFER_MAX_BYTES = 65536 — 保持ウィンドウの上限。タイマーにかかわらず、 このバイト数が蓄積した時点でコミット(フラッシュ + パススルー)します。
  • STREAM_RECOVERY.EARLY_RETRY_MAX = 4 — 保留内容がまだコミットされていない間に、 アップストリームストリームを透過的に再オープンする最大回数。

プロバイダーごとのスライディングウィンドウ方式レート制限(環境変数なし): FCC から移植された、 プロバイダーごとのスライディングウィンドウ方式レート制限の_フォールバック_はコード内に存在します open-sse/services/providerDefaultRateLimit.tsopen-sse/services/rateLimitManager.ts を介して接続されています)が、デフォルトのマップは空の状態で提供されており、 現時点では運用者向けの環境変数はありません — テストフックまたは コード編集によってのみ有効化できます。このため、上の表には意図的に記載していません。 調整用の設定項目が存在する、(token, IP) ごとのリレーリミッターは RELAY_IP_PER_MINUTE§3 ネットワークとポート)です。


22. デバッグ

Caution

これらの変数は詳細な出力を生成し、機密データが漏洩する可能性があります。本番環境では絶対に有効にしないでください。

変数 デフォルト ソースファイル 説明
CURSOR_DEBUG (未設定) open-sse/executors/cursor.ts 1 に設定すると、Cursor エグゼキューターの詳細ログ(デコード済み SSE チャンクなど)が有効になります。
CURSOR_STREAM_DEBUG (未設定) open-sse/executors/cursor.ts CURSOR_DEBUG の後方互換エイリアスです。
CURSOR_DUMP_FILE (未設定) open-sse/executors/cursor.ts CURSOR_DEBUG=1 の場合に、デコード済みの未加工 Cursor チャンクを受け取る任意のファイルパスです。
CURSOR_STREAM_TIMEOUT_MS 300000 open-sse/executors/cursor.ts Cursor エグゼキューターのストリームアイドルタイムアウト(ミリ秒)です。
CURSOR_KV_GRACE_MS 2000 open-sse/executors/cursor.ts バイトがバッファーに残っている場合の composer kv_after_text ソフトターミネーター後の猶予期間(ミリ秒)です。後続の exec_mcp ツール呼び出しがフレームを完了するための時間を確保します。
CURSOR_TOOL_DIRECTIVE 有効(!== "0" open-sse/executors/cursor.ts composer-2.5 が確実にツール呼び出しを実行するようにする、ツールコミットディレクティブです。無効にするには 0 を設定します。
OMNIROUTE_SYSTEM_INSTRUCTION_APPEND (未設定) open-sse/translator/request/claude-to-openai.ts, open-sse/translator/response/openai-to-claude.ts 変換後にシステムメッセージへ追加される、運用者定義のシステムプロンプトテキストです変換後の挿入。codex/Responses および /v1/messages の各パスに到達します。また、エコーされたシステムプリアンブルブロックから除去されるディレクティブのプレフィックスとしても使用されます。無効にするには未設定のままにします。
CURSOR_IMAGE_FETCH_TIMEOUT_MS 15000 open-sse/utils/cursorImages.ts リモート image_url ビジョン入力に対する画像ごとの取得タイムアウト(ミリ秒)です。
CURSOR_STATE_DB_PATH (探索) open-sse/utils/cursorVersionDetector.ts IDE のバージョン検出に使用する Cursor IDE ステート DB の検索先を上書きします。
CURSOR_AGENT_CLI_VERSION (検出 / 固定) open-sse/utils/cursorAgentCliVersion.ts Agent Run の x-cursor-client-version: cli-… に使用する Agent CLI ビルド IDYYYY.MM.DD-<hash>)です。
CURSOR_AGENT_BIN (未設定) open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts 画像生成に使用する Cursor Agent バイナリへのパスです。未設定の場合、ハンドラーは providerSpecificData.agentBin、次に PATH を使用します。
CURSOR_IMG_TIMEOUT_MS 210000 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Cursor Agent の画像ジョブにおける画像ごとの実時間上限(ミリ秒)です。
CURSOR_IMG_MAX_CONCURRENT 2 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Cursor 画像ジョブに対する共有シートの同時実行制限です。
CURSOR_IMG_MODEL リクエスト / auto open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts 画像ジョブに使用する Cursor CLI の --model を上書きします。
UC_IMAGE_POLL_INTERVAL_MS 2000 open-sse/handlers/imageGeneration/providers/ucImage.ts UCuncensored.comの画像生成結果をポーリングする間隔ミリ秒です。
UC_IMAGE_POLL_TIMEOUT_MS 60000 open-sse/handlers/imageGeneration/providers/ucImage.ts UC の画像生成結果ポーリングにおける実時間上限(ミリ秒)です。
UC_VIDEO_POLL_INTERVAL_MS 3000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UCuncensored.comの動画生成結果をポーリングする間隔ミリ秒です。
UC_VIDEO_POLL_TIMEOUT_MS 300000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UC の動画生成結果ポーリングにおける実時間上限(ミリ秒)です。
CURSOR_DATA_DIR (探索) open-sse/utils/cursorAgentCliVersion.ts Cursor Agent CLI のデータディレクトリ(…/versions/<id>)を上書きします。公式エージェントが使用するものと同じ変数です。
CURSOR_TOKEN (未設定) scripts/ad-hoc/cursor-tap.cjs 開発者ツールで使用する Cursor の直接ベアラートークンです。
OMNIROUTE_LOG_REQUEST_SHAPE 無効("1" によるオプトイン) src/app/api/v1/chat/completions/route.ts "1" が設定されている場合、大きなチャットペイロードのコンテンツタイプ/長さのマーカーをログに記録します。ログノイズを減らすため、デフォルトでは無効です。
DEBUG_RESPONSES_SSE_TO_JSON (未設定) open-sse/handlers/responseTranslator.ts true に設定すると、Responses API の SSE→JSON 変換の詳細がログに記録されます。
DEBUG_CLAUDE_NONSTREAM (未設定) open-sse/handlers/responseTranslator.ts true に設定すると、Claude レスポンス変換パスで空の textContent チャンクが表面化されます(デバッグ専用)。
NEXT_PUBLIC_OMNIROUTE_E2E_MODE (未設定) E2E テストハーネス true に設定すると、E2E テストモード(緩和された認証、テストフック)が有効になります。

23. GitHub 連携

ユーザーがダッシュボードから直接問題を報告できるようにします。

変数 デフォルト ソースファイル 説明
GITHUB_ISSUES_REPO (未設定) src/app/api/v1/issues/report/route.ts owner/repo 形式のリポジトリ。
GITHUB_ISSUES_TOKEN (未設定) src/app/api/v1/issues/report/route.ts issues:write スコープを持つ GitHub Personal Access Token。
GITHUB_TOKEN (未設定) Issue トリアージ / クラウドエージェントヘルパー GITHUB_ISSUES_TOKEN のフォールバックとして使用され、src/lib/cloudAgent/* 内のクラウドエージェントヘルパーによって利用される汎用 GitHub アクセストークン。

デプロイシナリオ

リレーバックエンドの SRE ガイダンスts/bifrost/auto の動作、9router と CLIProxyAPI の配置、高スループット向けフォールバック戦略)については、リレーバックエンド戦略を参照してください。

最小構成のローカル開発

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

Docker 本番環境

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

エアギャップ環境 / CI

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

リバースプロキシを使用する VPSnginx + Cloudflare

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

24. Skills サンドボックスv3.8.0+

Skills フレームワーク(src/lib/skills/)がサンドボックス環境でユーザー定義の自動処理を実行する際に適用される制限および安全性の設定です。

変数 デフォルト ソースファイル 説明
SKILLS_SANDBOX_TIMEOUT_MS 1000010 秒) src/lib/skills/builtins.ts サンドボックス化されたスキルコードに対する、実行ごとの実時間タイムアウト。ハード上限であり、これを超える処理は強制終了されます。
SKILLS_EXECUTION_TIMEOUT_MS SKILLS_SANDBOX_TIMEOUT_MS にフォールバック) src/lib/skills/ 高レベルのスキルオーケストレーションのタイムアウト。複数ステップのワークフローを許可するには、SKILLS_SANDBOX_TIMEOUT_MS より大きい値を設定します。
SKILLS_MAX_FILE_BYTES 10485761 MB src/lib/skills/builtins.ts スキルがサンドボックス内の単一ファイルから読み取れる最大バイト数。
SKILLS_MAX_HTTP_RESPONSE_BYTES 256000250 KB src/lib/skills/builtins.ts スキル内の単一 HTTP レスポンスから取得できる最大バイト数。
SKILLS_MAX_SANDBOX_OUTPUT_CHARS 100000 src/lib/skills/builtins.ts サンドボックス呼び出しから返される stdout/stderr の文字数のハード上限。
SKILLS_SANDBOX_NETWORK_ENABLED false src/lib/skills/builtins.ts サンドボックス内からのアウトバウンドネットワーク通信を許可するには、1/true に設定します。安全のため、デフォルトでは分離されています。
SKILLS_ALLOWED_SANDBOX_IMAGES (空) src/lib/skills/builtins.ts サンドボックス実行を許可するコンテナイメージのカンマ区切り許可リスト。空の場合は、組み込みのデフォルトのみが許可されます。
SKILLS_SANDBOX_DOCKER_IMAGE (組み込みのデフォルト) src/lib/skills/ Docker ベースのサンドボックスを起動する際に使用するコンテナイメージ。カスタムの強化済みベースイメージに固定するには上書きします。
SKILLS_SANDBOX_RUNTIME auto src/lib/skills/sandbox.ts, src/lib/skills/containerProvider.ts スキルのサンドボックス化に使用するコンテナランタイム:auto | docker | apple | wsl | orbstack | podmanauto はホスト OS ごとにインストール済みの最適なランタイムmacOS では Apple Container/OrbStack、Windows では WSL Container、Linux では Podmanを選択し、利用できない場合は Docker にフォールバックします。

Caution

SKILLS_SANDBOX_NETWORK_ENABLED=true を有効にすると、任意のスキルコードから外部への通信経路が開かれます。共有デプロイ環境では、OUTBOUND_SSRF_GUARD_ENABLED=true および厳格な CORS_ORIGIN/プロキシポリシーと組み合わせてください。


25. プロバイダーのクォータ、トンネル、バックアップ、その他のランタイム設定

プロバイダーのクォータエンドポイント、ネットワークトンネルTailscale、Ngrok、MITM デバッグプロキシ、1Proxy のエグレスプール、データベースバックアップ、およびエグゼキューターレイヤーまたはスクリプトから参照される機能ごとの小規模なオーバーライド設定。

変数 デフォルト ソースファイル 説明
REDIS_URL redis://localhost:6379 src/shared/utils/rateLimiter.ts レートリミッターのバックエンド用 Redis 接続文字列。
ALIBABA_CODING_PLAN_HOST (本番ホスト) open-sse/services/bailianQuotaFetcher.ts Alibaba Bailian のコーディングプランのクォータ取得に使用するホストをオーバーライドします。
ALIBABA_CODING_PLAN_QUOTA_URL ホストから導出 open-sse/services/bailianQuotaFetcher.ts Alibaba Bailian の完全なクォータ URL をオーバーライドします。
QWEN_CLOUD_COOKIE (未設定) open-sse/services/qwenTokenPlanQuotaFetcher.ts Qwen Cloud / Model Studio の個人向け Token Plan クォータゲートウェイ用コンソールセッション Cookie推論 API キーでは読み取れません。home.qwencloud.com の「Billing」「Subscription」F12 「Network」で、cs-data.qwencloud.com に対する任意の api.json 呼び出しから、login_qwencloud_ticket を含む Cookie リクエストヘッダー全体をコピーします。機密情報でありセッション単位です。接続ごとの Dashboard フィールド qwenCloudCookie の使用を推奨します。
QWEN_CLOUD_SEC_TOKEN (未設定) open-sse/services/qwenTokenPlanQuotaFetcher.ts Token Plan コンソールゲートウェイ用の sec_token を手動でオーバーライドします。機密情報です。未設定の場合、フェッチャーは Cookie を使用して Dashboard の HTML から解決します。
QWEN_TOKEN_PLAN_HOST https://cs-data.qwencloud.com open-sse/services/qwenTokenPlanQuotaFetcher.ts 個人向け Token Plan クォータフェッチャーのゲートウェイホストをオーバーライドしますModel Studio コンソールの場合は bailian-singapore-cs.alibabacloud.com)。
QWEN_TOKEN_PLAN_DASHBOARD_URL https://home.qwencloud.com/ open-sse/services/qwenTokenPlanQuotaFetcher.ts ログイン済み HTML から sec_token を解決するために使用する Dashboard URL。
ALIBABA_FREE_TIER_VISION_FE_PATH /costing-balance/free-quota-image-video open-sse/services/alibabaFreeTierQuotaFetcher.ts Alibaba Model Studio の無料枠における画像/メディアのクォータを取得するためのコンソールフロントエンドパスをオーバーライドします。
ALIBABA_FREE_TIER_MULTIMODAL_FE_PATH /costing-balance/free-quota-multimodal open-sse/services/alibabaFreeTierQuotaFetcher.ts Alibaba Model Studio の無料枠マルチモーダルクォータを取得するためのコンソールフロントエンドパスのオーバーライド。
ALIBABA_FREE_TIER_AUDIO_FE_PATH /costing-balance/free-quota-audio open-sse/services/alibabaFreeTierQuotaFetcher.ts Alibaba Model Studio の無料枠オーディオクォータを取得するためのコンソールフロントエンドパスのオーバーライド。
ALIBABA_FREE_TIER_ALLOWLIST_PATH (未設定) open-sse/services/alibabaFreeTierAllowlist.ts 組み込みの Alibaba 無料枠テキストモデル許可リストをオーバーライドするローカル JSON へのオプションのパス。未指定の場合は $DATA_DIR/alibaba-free-tier-allowlist.json、次に config/alibaba-free-tier-allowlist.json を使用。
CONTEXT_RESERVE_TOKENS 1024 open-sse/services/contextManager.ts プロンプトのトークン予算を計算する際に、補完出力用として予約するトークン数。
CONTEXT_KEEP_LATEST_IMAGES 2 open-sse/services/contextManager.ts コンテキストウィンドウに収めるために古い画像を削除する際、保持する最新のインライン画像の数(#8560
MODEL_ALIAS_COMPAT_ENABLED 有効 open-sse/services/model.ts 古いクライアントで使用されるレガシーなモデルエイリアス互換性レイヤーを切り替える。
OMNIROUTE_EMERGENCY_FALLBACK 有効 open-sse/services/emergencyFallback.ts 失敗したリクエストを無料の nvidia/openai/gpt-oss-120b モデルへ再ルーティングする、予算枯渇時の緊急フォールバックを無効にするには、false(または 0)を設定する。有効な優先順位は Feature Flags DB のオーバーライド > 環境変数 > デフォルト。利用できない場合、サービスは未加工の環境変数値にフォールバックする。
COMMAND_CODE_CALLBACK_PORT (未設定) src/app/api/providers/command-code/auth/shared.ts Command Code CLI ヘルパーからの OAuth 形式のコールバックに使用されるローカルポート。
COMMAND_CODE_VERSION 0.33.2 open-sse/executors/commandCode.ts Command Code のアップストリームへ x-command-code-version ヘッダーとして送信される値。CLI バージョンを更新する場合はオーバーライドする。
COMMANDCODE_API_URL https://api.commandcode.ai open-sse/services/usage/command-code.ts スマートフォンのクォータ取得テレメトリで使用される Command Code 使用量/クォータアップストリームのベース URL。セルフホストまたは代替の Command Code API を使用する場合はオーバーライドする。
MITM_LOCAL_PORT 443 src/mitm/server.cjs MITM デバッグプロキシのローカルバインドポート。
MITM_DISABLE_TLS_VERIFY 0 src/mitm/server.cjs アップストリームの TLS 検証を無効にするには 1 を設定します(開発環境のみ)。
MITM_IDLE_TIMEOUT_MS 60000 src/mitm/socketTimeouts.ts, src/mitm/server.cjs プロキシ接続のアイドルソケットタイムアウトms。この時間を超えてアイドル状態にあるソケットは、ハーフオープントンネルのリークを防ぐため切断されます。
MITM_VERBOSE 1 src/mitm/server.cjs, src/mitm/_internal/bypass.cjs ルーティング判断ログの詳細度:0 で出力を抑止し、値を大きくするとバイパス/ルート判断のログがより多く出力されます。
MITM_ROOT_CA_ENABLED false src/mitm/manager.ts ルート CA + ホストごとのリーフ証明書モデル(#6684を明示的に有効化するには true を設定します。新規インストールでは自動的に有効になります。既存の信頼済みレガシーリーフ証明書があるインストールでは、明示的に有効化しない限り、従来の固定 SAN 証明書が維持されます。
MITM_CERT_MODE legacy src/mitm/manager.ts, src/mitm/server.cjs 起動されたプロキシプロセス向けに MITM マネージャーが設定します(root-ca | legacy)。証明書移行の判断を反映するものであり、手動で設定することを意図していません。
OMNIROUTE_NO_SUDO 0 src/mitm/systemCommands.ts MITM 証明書信頼コマンドの先頭にある sudo を取り除くには、1truthyを設定します。オペレーターが CA を手動で信頼する、root 権限なしユーザー名前空間を使用したデプロイ向けですNode の追加 CA 証明書メカニズムを使用する場合)。
SKIP_ANTIGRAVITY_DNS (未設定) src/mitm/dns/provision.ts Antigravity プロキシのホスト名に対する /etc/hosts の DNS エントリのプロビジョニングを完全にスキップするには、true を設定します。sudo/root を利用できないコンテナ向けです。
OMNIROUTE_SKIP_DNS_WRITE (未設定) src/mitm/dns/dnsConfig.ts DNS エントリの追加/削除時に hosts ファイルへの書き込みをスキップするには、1 を設定します。サンドボックス化された、または読み取り専用のテスト環境向けです。
OMNIROUTE_SKIP_SYSTEM_TRUST 0 src/mitm/cert/install.ts, src/mitm/tproxy/caTrust.ts テストCI 専用の保護設定:1 を設定すると、証明書の信頼設定のインストール/アンインストールが何も行わない処理になり、テストスイートが OS の信頼ストアを変更しないようにします。テストのセットアップおよび CI ワークフローによって自動的に設定されます。
CHANGELOG_BASE_REF (自動) scripts/check/check-changelog-integrity.mjs CHANGELOG の削除を防止するゲートで使用するベース ref を明示的に指定しますデフォルトは、CI では PR のベースブランチ、それ以外では最上位の release/v*)。
FREE_PROXY_AUTO_SYNC_ENABLED false src/lib/freeProxyProviders/scheduler.ts バックグラウンドで無料プロキシプールを自動同期するスケジューラーを有効にするには、true に設定します。オプトイン方式で、デフォルトでは無効です。
FREE_PROXY_AUTO_SYNC_INTERVAL_MS 1800000 src/lib/freeProxyProviders/scheduler.ts 自動同期の間隔(ミリ秒単位、デフォルトは 30 分)。
FREE_PROXY_1PROXY_ENABLED true src/lib/freeProxyProviders/oneproxy.ts 1proxy の無料プロキシソースを有効にします。無効にするには false に設定します。
FREE_PROXY_1PROXY_API_URL oneproxy.ts を参照) src/lib/freeProxyProviders/oneproxy.ts 1proxy API URL を上書きします。
FREE_PROXY_1PROXY_MAX 500 src/lib/freeProxyProviders/oneproxy.ts 1proxy から同期ごとに取得するプロキシの最大数。
FREE_PROXY_1PROXY_MIN_QUALITY 50 src/lib/freeProxyProviders/oneproxy.ts 1proxy からインポートする際の品質スコアの最小しきい値。
FREE_PROXY_PROXIFLY_ENABLED true src/lib/freeProxyProviders/proxifly.ts Proxifly の無料プロキシソースを有効にします。無効にするには false に設定します。
FREE_PROXY_PROXIFLY_QUANTITY 100 src/lib/freeProxyProviders/proxifly.ts Proxifly の同期ごとに取得するプロキシの数。
FREE_PROXY_PROXIFLY_ANONYMITY elite src/lib/freeProxyProviders/proxifly.ts Proxifly の匿名性レベルフィルター(eliteanonymoustransparent)。
FREE_PROXY_IPLOCATE_ENABLED false src/lib/freeProxyProviders/iplocate.ts IPLocateの無料プロキシソースを有効にします。オプトインでのみ有効になります。
FREE_PROXY_IPLOCATE_BASE_URL https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols src/lib/freeProxyProviders/iplocate.ts IPLocateプロキシリストのベースURLを上書きします。
FREE_PROXY_WEBSHARE_ENABLED true src/lib/freeProxyProviders/webshare.ts Webshareプロキシプールソースを有効にします。無効にするにはfalseに設定します。また、FREE_PROXY_WEBSHARE_API_KEYが設定されている必要があります。
FREE_PROXY_WEBSHARE_API_KEY (なし) src/lib/freeProxyProviders/webshare.ts WebshareアカウントのAPIトークンAuthorization: Token <key>)。必須です。これがない場合、プロバイダーは無効のままになります。
FREE_PROXY_WEBSHARE_API_URL https://proxy.webshare.io/api/v2/proxy/list/ src/lib/freeProxyProviders/webshare.ts WebshareプロキシリストのAPI URLを上書きします。
FREE_PROXY_WEBSHARE_MAX 500 src/lib/freeProxyProviders/webshare.ts Webshareの同期ごとにインポートするプロキシの最大数です。
NEXT_PUBLIC_VERCEL_RELAY_ENABLED true src/app/(dashboard)/…/ProxyPoolTab.tsx 「プロキシプール」タブの「Vercel Relayをデプロイ」ボタンの表示非表示を切り替えます。
VERCEL_API_BASE https://api.vercel.com src/app/api/settings/proxy/vercel-deploy/route.ts Vercel APIのベースURLを上書きしますテスト用
NEXT_PUBLIC_VERCEL_RELAY_DEFAULT_PROJECT omniroute-relay src/app/(dashboard)/…/VercelRelayModal.tsx Vercel Relayのデプロイモーダルに事前入力されるデフォルトのプロジェクト名です。
TAILSCALE_BIN (自動検出) src/lib/tailscaleTunnel.ts tailscaleバイナリへの明示的なパスです。
TAILSCALED_BIN (自動検出) src/lib/tailscaleTunnel.ts tailscaled デーモンバイナリへの明示的なパス。
TAILSCALE_AUTHKEY (未設定) src/lib/tailscaleTunnel.ts 非対話型/ヘッドレスの tailscale up 用に事前共有された Tailscale 認証キー(--auth-key= 経由で渡されます)。未設定の場合、ログインは対話型のブラウザ認証 URL にフォールバックします。
NGROK_AUTHTOKEN (未設定) src/lib/ngrokTunnel.ts 外向きの ngrok トンネルを認証します。
DB_BACKUP_MAX_FILES 20 src/lib/db/backup.ts 手動/スケジュールバックアップのクリーンアップで保持する SQLite バックアップファイルの最大数。マイグレーションスナップショットはコンテンツアドレス方式で管理され、同一の DB 状態では再利用されます。同時マイグレーション期間中は削除されません。[設定]→[データベースバックアップの保持]で保存された値を上書きします。
DB_BACKUP_RETENTION_DAYS 0 src/lib/db/backup.ts 手動/スケジュールバックアップのクリーンアップで保持する最大期間(日数)。0 にすると、経過日数に基づく削除が無効になります。同時マイグレーション期間中、マイグレーションスナップショットは削除されません。[設定]→[データベースバックアップの保持]で保存された値を上書きします。
OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS 30000 src/lib/jobs/backupScheduleJob.ts backup-schedule.json を実行するサーバー側ジョブのティック間隔ミリ秒。cron の最小粒度である1分を十分に下回る値にする必要があります。5000 未満の値や解析不能な値は 30000 にフォールバックします。
CONTAINER_HOST docker scripts/check-permissions.sh エントリーポイントの権限チェック用のコンテナランタイムヒント。Podman 構成では podman に設定します。コンテナからは、エンジンがローカルにあるのか Podman Machine 経由で接続されているのか判別できないため、警告では特定の構成を前提とせず、contrib/podman/README.md を参照先として示します。
QUOTA_STORE_DRIVER sqlite src/lib/quota/storeFactory.ts クォータ共有消費ストアのバックエンド:sqlite(デフォルト)または redis
QUOTA_STORE_REDIS_URL (未設定) src/lib/quota/storeFactory.ts QUOTA_STORE_DRIVER=redis の場合に使用される Redis 接続文字列(例:redis://localhost:6379)。
QUOTA_SATURATION_THRESHOLD 0.5 src/lib/quota/enforce.ts プールの飽和率01。この値以上になると、プールは厳格モード借用なしに入ります。
QUOTA_SOFT_DEPRIORITIZE_FACTOR 0.7 open-sse/services/combo.ts ソフトクォータポリシーによってターゲットの優先度が下げられた際に適用されるスコア乗数0..1)。
STATUS_SOFT_DEPRIORITIZE_FACTOR 0.5 open-sse/services/combo/autoStrategy.ts プリフライトクォータカットオフが OFF の場合に、自動コンボのスコアリングで枯渇状態のプロバイダー(credits_exhausted/rate_limitedに適用されるスコア乗数0..1#4540
QUOTA_CONSUMPTION_RETENTION_DAYS 14 src/lib/db/quotaConsumption.ts GCgcQuotaConsumption)実行前に quota_consumption バケットを保持する期間(日数)。
QUOTA_PREFLIGHT_CUTOFF_ENABLED false src/lib/resilience/settings.ts オプトイン(デフォルトは OFFスコアリング前にクォータ残量の少ない候補を除外する、自動ルーティングのハードクォータカットオフを有効にします。
OMNIROUTE_AUTO_FREE_FALLBACK_TO_FULL_POOL false open-sse/services/autoCombo/virtualFactory.ts オプトイン(デフォルトは OFFauto/<category>:<tier> フィルターに一致する接続済み候補がない場合、空のプールを返す代わりに、フィルタリングされていない全プールへフォールバックする従来の動作に戻します。デフォルトが OFF の場合、:free は「無料ティアのみ」を意味します。
OMNIROUTE_CHAOS_MAX_PANEL 5 open-sse/services/autoCombo/virtualFactory.ts auto/*:chaos ブロードキャストバリアントのパネルサイズ上限110 に制限)— 1 件のリクエストがファンアウトされるのは、プロバイダーの異なる最大この数のモデルまでです。
OMNIROUTE_CHAOS_MIN_PANEL (エンジンのデフォルト) open-sse/services/autoCombo/virtualFactory.ts chaos ブロードキャストハンドラーに転送される最小パネルサイズの調整値。未設定の場合はエンジンのデフォルトを維持します。
OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS (エンジンのデフォルト) open-sse/services/autoCombo/virtualFactory.ts chaos パネル全体のファンアウトに対するハードタイムアウトms。未設定の場合はエンジンのデフォルトを維持します。
GROK_AUTH_PATH ~/.grok/auth.json open-sse/services/grokQuotaFetcher.ts grok-web の週間クォータ取得に使用する Grok CLI の auth.json のパス。テストまたは標準以外の CLI インストール環境ではオーバーライドできます。
AGENTBRIDGE_UPSTREAM_CA_CERT (未設定) src/mitm/manager.ts AgentBridge のアップストリーム TLS 接続で信頼する追加の CA 証明書PEM
INSPECTOR_BUFFER_SIZE 1000 src/mitm/inspector/buffer.ts Traffic Inspector のリングバッファに保持される、キャプチャ済みリクエストの最大数。
INSPECTOR_MAX_BODY_KB 1024 src/mitm/inspector/buffer.ts 切り捨て前にキャプチャできるリクエスト/レスポンス本文の最大サイズKB
INSPECTOR_HTTP_PROXY_PORT 8080 src/mitm/inspector/httpProxyServer.ts Traffic Inspector HTTP プロキシのローカルポート。
INSPECTOR_HTTP_PROXY_AUTOSTART false src/mitm/inspector/httpProxyServer.ts 起動時に Inspector HTTP プロキシを自動起動する。
INSPECTOR_TLS_INTERCEPT false src/lib/inspector/captureState.ts キャプチャされた HTTPS トラフィックに対する TLS 傍受MITMを有効にする。
INSPECTOR_LLM_HOSTS_EXTRA (未設定) src/lib/inspector/captureState.ts キャプチャ対象の LLM エンドポイントとして扱う追加のホスト名(カンマ区切り)。
INSPECTOR_MASK_SECRETS true src/mitm/inspector/buffer.ts キャプチャされたトラフィック内のシークレット(認証ヘッダー/API キー)をマスクする。
INSPECTOR_SYSTEM_PROXY_GUARD_MINUTES 30 src/app/api/tools/traffic-inspector/capture-modes/system-proxy/route.ts システムプロキシガードが OS のプロキシ設定を自動的に元に戻すまでの時間(分)。
INSPECTOR_INTERNAL_INGEST_TOKEN (自動) src/app/api/tools/traffic-inspector/internal/ingest/route.ts Inspector への内部キャプチャ取り込みを認証するトークン。
PLAYGROUND_COMPARE_MAX_COLUMNS 4 src/app/(dashboard)/dashboard/playground/ Playground の比較モードで横並びに表示できる列の最大数。
PLAYGROUND_IMPROVE_PROMPT_DEFAULT_MODEL (未設定) src/app/(dashboard)/dashboard/playground/ Playground の「プロンプトを改善」アクションで使用するデフォルトモデル(未設定の場合はアクティブなモデルにフォールバック)。
BIFROST_ENABLED 1 src/app/api/v1/relay/chat/completions/bifrost/route.ts Bifrost サイドカープロキシのマスターキルスイッチ。0 に設定すると、ルートは X-Bifrost-Killswitch ヘッダー付きの 503 を返し、処理は TS パスに切り替えられます。再デプロイせずにサイドカーを無効化する場合Tier 1 ルーターのインシデント、キーのローテーション)に使用します。
BIFROST_BASE_URL (未設定) src/app/api/v1/relay/chat/completions/bifrost/route.ts 設定されている場合、Bifrost サイドカープロキシルートは /v1/chat/completions トラフィックを TS リレーハンドラーではなく、この Go ゲートウェイに転送します。未設定 → フォールバックを伴う 503。末尾のスラッシュは削除されます。
BIFROST_PORT 8080 src/lib/services/bootstrap.ts OmniRoute が Bifrost サイドカーのライフサイクルを管理する場合に、監視対象の組み込み Bifrost サービスがバインドするポート(127.0.0.1:<port>)。デフォルトは 8080 です。
BIFROST_API_KEY (未設定) src/app/api/v1/relay/chat/completions/bifrost/route.ts Bifrost ゲートウェイ用の API キー(Authorization: Bearer ... として送信)。未設定の場合、リクエストに有効な OmniRoute API キーが含まれていることをルートが要求します。このキーはゲートウェイ側の認証専用です。
BIFROST_STREAMING_ENABLED true src/app/api/v1/relay/chat/completions/bifrost/route.ts true の場合、Bifrost サイドカールートは TS ストリーミングエグゼキューターではなく、ゲートウェイを介して SSE でレスポンスをストリーミングします。ゲートウェイ経由で非ストリーミングの JSON レスポンスを強制するには 0 に設定します。
BIFROST_TIMEOUT_MS 30000 src/app/api/v1/relay/chat/completions/bifrost/route.ts Bifrost ゲートウェイへのプロキシ時におけるリクエストごとのタイムアウト(ミリ秒)。タイムアウト時、ルートは X-Bifrost-Fallback ヘッダーを介して TS リレーパスを返します。
OMNIROUTE_BIFROST_KEY (未設定) src/app/api/v1/relay/chat/completions/bifrost/route.ts BIFROST_API_KEY のエイリアス(OMNIROUTE_* を介して環境変数を読み取るスクリプトで使用)。両方が設定されている場合は BIFROST_API_KEY が優先されます。
OMNIROUTE_RELAY_BACKEND ts / auto src/app/api/v1/relay/chat/completions/routingBackend.ts /api/v1/relay/chat/completions のリレーバックエンド:ts | bifrost | autots = TypeScript リレーBifrost が未構成の場合のデフォルト)。auto は、BIFROST_BASE_URL が設定され、かつ BIFROST_ENABLED0 の場合に Bifrost を選択し、サイドカーに到達できない場合は自動的に TS にフォールバックします。bifrost は Bifrost を強制します(厳格モード、フォールバックなし)。認証、レート制限、インジェクションガード、許可リストは常に最初に Next ルートで実行されます。レスポンスには X-Routing-Backend / X-Routing-Fallback / X-Routing-Fallback-Reason が含まれます。
RELAY_ROUTING_BACKEND (未設定) src/app/api/v1/relay/chat/completions/routingBackend.ts OMNIROUTE_RELAY_BACKEND で使用可能なエイリアス(同じ ts | bifrost | auto の値)。両方が設定されている場合は OMNIROUTE_RELAY_BACKEND が優先されます。
OMNIROUTE_BIFROST_FAILURE_COOLDOWN_MS 5000 src/app/api/v1/relay/chat/completions/bifrostCooldown.ts auto モードで Bifrost サイドカーへのホップが失敗した後、リレーがサイドカーへの再試行を行うまでのクールダウン(ミリ秒)。クールダウン中は TS パスへ直接ルーティングし、その後再度プローブします。0 で無効になります。OMNIROUTE_RELAY_BACKEND=auto の場合にのみ適用されます。
OMNIROUTE_TLS_CERT (未設定) bin/cli/commands/serve.mjs omniroute serve を HTTPS で提供するための PEM TLS 証明書へのパス(--tls-cert と同等)。OMNIROUTE_TLS_KEY と併せて指定する必要があります。指定すると、スタンドアロンサーバーは同じリスナー上で TLS を終端します(wss:// も変更なしで動作します)。未設定 → プレーン HTTP。証明書とキーの一方のみを指定した場合、またはパスを読み取れない場合は、警告がログに記録され、HTTP のまま動作します。
OMNIROUTE_TLS_KEY (未設定) bin/cli/commands/serve.mjs omniroute serve の HTTPS 用 PEM TLS 秘密鍵へのパス(--tls-key と同等)。OMNIROUTE_TLS_CERT と併せて指定する必要があります。OMNIROUTE_TLS_CERT を参照してください。
OMNIROUTE_LOCAL_ENDPOINTS_ENABLED 0 src/lib/security/localEndpoints.ts /api/local/* ルートのマスタースイッチ。未設定または 0 の場合、本番環境ではすべての /api/local/* ルートが 503 を返します。Redis ランチャーや同様のワンクリック式ローカルサービス起動機能を有効にするには、非ループバック環境へのデプロイで 1 に設定する必要があります。isLocalOnlyPath() のルートガード分類(src/server/authz/routeGuard.tsLOCAL_ONLY_API_PREFIXES)と併用する多重防御です。
OMNIROUTE_LOCAL_ENDPOINTS_TOKEN (未設定) src/lib/security/localEndpoints.ts ループバック上にない /api/local/* 呼び出し元(例:デスクトップアプリ)用の Bearer トークン。設定すると、非ループバック IP からのリクエストには Authorization: Bearer <token> が必要になります。非ループバック環境へのデプロイで OMNIROUTE_LOCAL_ENDPOINTS_ENABLED=1 を使用する場合は必須です。
OMNIROUTE_REDIS_CONTAINER_NAME omniroute-redis bin/cli/commands/redis.mjs ワンクリック Redis ランチャー(omniroute redis upのコンテナ名。CLI と RedisLauncherPanel GUI の両方で使用されます。
OMNIROUTE_REDIS_HOST_PORT 6379 bin/cli/commands/redis.mjs ワンクリック Redis ランチャーのホストポート。ホストですでに 6379 がバインドされている場合は変更してください。コンテナの内部ポートは 6379 のままです。
OMNIROUTE_REDIS_BIND_HOST 127.0.0.1 bin/cli/commands/redis.mjs ワンクリック Redis ランチャーが公開するホストインターフェース。ランチャーはパスワードなしで Redis を起動するため、0.0.0.0 にバインドすると LAN 上のすべてのホストから認証なしで Redis にアクセスできるようになります。自身でインスタンスにパスワードも設定する場合にのみ、バインド範囲を広げてください。
REDIS_BIND_HOST 127.0.0.1 docker-compose.yml docker-compose が Redis サイドカーを公開するホストインターフェース(#9286。compose の Redis は requirepass なしで実行されます。アプリコンテナは compose ネットワーク経由(redis:6379)でアクセスするため、公開ポートはホスト側ツール専用です。0.0.0.0 にすると、認証なしの Redis が LAN 全体に公開されます。
REDIS_PORT 6379 docker-compose.yml compose Redis サイドカーのホストポート。
APP_BIND_HOST 127.0.0.1 docker-compose.yml, docker-compose.prod.yml docker-compose がアプリ自身のダッシュボード/API/live-WS ポートを公開するホストインターフェース (#12568)。.env.example のデフォルトでは REQUIRE_API_KEY=false となっているため、0.0.0.0 を指定すると、匿名アクセス可能な /v1 LLM プロキシが LAN/WAN 全体に公開されます。REQUIRE_API_KEY=true にするか、前段のリバースプロキシで独自の認証を適用してから、バインド範囲を広げてください。
QDRANT_BIND_HOST 127.0.0.1 docker-compose.yml docker-compose が Qdrant メモリサイドカーを公開するホストインターフェース (#12578)。LAN への公開に関する考え方は REDIS_BIND_HOST と同じです。
BIFROST_BIND_HOST 127.0.0.1 docker-compose.yml docker-compose が Bifrost ルーターサイドカーを公開するホストインターフェース (#12578)。LAN への公開に関する考え方は REDIS_BIND_HOST と同じです。
REDIS_KEY_PREFIX omniroute: src/shared/utils/rateLimiter.ts OmniRoute のすべての Redis キーレートリミッター、認証キャッシュ、クォータストア、ウォームアップ用サーキットブレーカーに適用される名前空間プレフィックス。Redis インスタンスを他のアプリと共有する場合のキー衝突を防ぎます (#11042)。
OMNIROUTE_INTERNAL_SERVICE_TOKEN (未設定 — メカニズムは無効) src/lib/api/internalServiceAuth.ts ID を保持する内部 REST ホップ用の共有シークレット (#9260)。他のローカル OmniRoute ルートを呼び出す OmniRoute コンポーネントは、元の呼び出し元の ID が保持されるよう、これを x-omniroute-internal-service-token として送信します。timingSafeEqual で比較されます。
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE (未設定) src/lib/api/internalServiceAuth.ts 内部サービストークンのシークレットファイル版。トリムされた内容をトークンとして使用するファイルへのパスです。インライン変数が未設定の場合にのみ参照されます。
OPENROUTER_PROVIDER_STATS_ENABLED true src/lib/catalog/openrouterProviderStats.ts ダッシュボードのプロバイダー一覧に OpenRouter の週間ランキング統計を追加します (#9324)。デフォルトで有効です。false に設定すると、バックグラウンド取得を完全にスキップします(ノンブロッキングで、致命的エラーになることはありません)。
OPENROUTER_PROVIDER_STATS_TTL_MS 86400000 (24時間) src/lib/catalog/openrouterProviderStats.ts OpenRouter プロバイダー統計スナップショットのキャッシュ TTLミリ秒単位
OMNIROUTE_REDIS_IMAGE redis:7-alpine bin/cli/commands/redis.mjs ワンクリック Redis ランチャーで使用する Redis イメージ。必要に応じて redis:8-alpine またはプライベートレジストリのミラーに変更できます。
QDRANT_HOST qdrant (オプトインのクラスタープロファイル) --profile memory が有効な場合の Qdrant サイドカーのホスト名。デフォルトではネットワーク内の qdrant サービス名を指します。外部デプロイメントを使用する場合は変更してください。コード内で qdrantEnabledtrue の場合にのみ使用されます(src/lib/memory/vectorStore.ts:108)。
QDRANT_PORT 6333 (オプトインのクラスタープロファイル) Qdrant サイドカーの REST ポート。
QDRANT_GRPC_PORT 6334 (オプトインのクラスタープロファイル) Qdrant サイドカーの gRPC ポート。ストリーミング操作で REST よりも gRPC を優先するクライアントライブラリによって使用されます。
QDRANT_API_KEY (未設定) (オプトインのクラスタープロファイル) Qdrant Cloud または認証済みオンプレミスインスタンス用のオプションの API キー。空の場合 → api-key ヘッダーは送信されません。
QDRANT_COLLECTION omniroute-memory (オプトインのクラスタープロファイル) OmniRoute の会話メモリエンベディング用コレクション名。初回実行時に QDRANT_VECTOR_SIZE 次元で作成されます。
QDRANT_EMBEDDING_MODEL text-embedding-3-small (オプトインのクラスタープロファイル) Qdrant コレクションのメタデータに記録されるデフォルトのエンベディングモデル名。実際のエンベディングは、OmniRoute の設定内の embeddingModel フィールドが参照するプロバイダーによって生成されます。
QDRANT_VECTOR_SIZE 1536 (オプトインのクラスタープロファイル) エンベディングベクトルの次元数。使用するエンベディングモデルと一致させる必要がありますtext-embedding-3-small → 1536、ada-002 → 1536、nomic-embed-text → 768
QDRANT_HNSW_EF_CONSTRUCT 128 (オプトインのクラスタープロファイル) HNSW インデックス構築時の精度。値が高いほど構築は遅くなりますが、検索は高速になります。
OMNIROUTE_ROTATION_ENABLED true open-sse/services/rotationConfig.ts オペレーターが設定可能なアカウントローテーションのマスタースイッチ。false の場合、以下の OMNIROUTE_ROTATE_* クラスはいずれもアカウントフォールバックをトリガーしません(マスターがオフの状態では、デフォルトで有効な 429/500/502 クラスもブロックされます。これにより、管理用フロントエンドVibeProxy デスクトップアプリ)が独自のローテーションルールをバックエンドのアカウントフォールバックエンジンに反映できます。
OMNIROUTE_ROTATION_RATE_LIMIT_RESET_SECONDS 0 open-sse/services/rotationConfig.ts アップストリームから明示的なリセット情報が提供されない場合に、レート制限されたアカウントへ適用されるクールダウン(秒)。0 = 固定のオーバーライド値ではなく、エンジンのデフォルトクールダウンを使用します。
OMNIROUTE_ROTATION_DISABLE_TAG_WITHOUT_RESET true open-sse/services/rotationConfig.ts フロントエンドの「リセット時刻がない場合はレート制限としてタグ付けしない」設定を反映します。
OMNIROUTE_ROTATE_ON_429 true open-sse/services/rotationConfig.ts 429エラーに対するステータス別フォールバックの有効化。falseの場合(かつOMNIROUTE_ROTATION_ENABLED=trueの場合)、429はアカウントローテーションをトリガーせず、代わりにクライアントへ返されます。
OMNIROUTE_ROTATE_429_THRESHOLD 1 open-sse/services/rotationConfig.ts アカウントがローテーションされるまでに、OMNIROUTE_ROTATE_429_WINDOW_SECONDS内で必要な429エラーの数。1(デフォルト)の場合は即座にローテーションされ、従来の動作が維持されます。
OMNIROUTE_ROTATE_429_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_429_THRESHOLDに向けて429エラーをカウントするスライディングウィンドウ(秒)。
OMNIROUTE_ROTATE_ON_500 true open-sse/services/rotationConfig.ts 5xxサーバーエラー(独自のクラスを持つ502を除く)に対するステータス別フォールバックの有効化。falseの場合、これらのエラーはアカウントローテーションをトリガーしなくなります。
OMNIROUTE_ROTATE_500_THRESHOLD 1 open-sse/services/rotationConfig.ts アカウントがローテーションされるまでに、OMNIROUTE_ROTATE_500_WINDOW_SECONDS内で必要な5xxエラーの数。1(デフォルト)の場合は即座にローテーションされます。
OMNIROUTE_ROTATE_500_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_500_THRESHOLDに向けて5xxエラーをカウントするスライディングウィンドウ(秒)。
OMNIROUTE_ROTATE_ON_502 true open-sse/services/rotationConfig.ts 502(不正なゲートウェイ)エラーに対するステータス別フォールバックの有効化。falseの場合、502はアカウントローテーションをトリガーしなくなります。
OMNIROUTE_ROTATE_502_THRESHOLD 1 open-sse/services/rotationConfig.ts アカウントがローテーションされるまでに、OMNIROUTE_ROTATE_502_WINDOW_SECONDS内で必要な502エラーの数。1(デフォルト)の場合は即座にローテーションされます。
OMNIROUTE_ROTATE_502_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_502_THRESHOLDに向けて502エラーをカウントするスライディングウィンドウ(秒)。
OMNIROUTE_ROTATE_ON_400 false open-sse/services/rotationConfig.ts オプトイン(デフォルトでは無効):trueの場合、通常の400(不正なリクエスト)もアカウントローテーションをトリガーします。これは追加的な動作に限られます。このフラグの値にかかわらず、レート制限またはクォータに関するテキストを含む400でフォールオーバーする、エンジンの既存の動作を妨げることはありません。
OMNIROUTE_ROTATE_400_THRESHOLD 1 open-sse/services/rotationConfig.ts アカウントがローテーションされるまでに OMNIROUTE_ROTATE_400_WINDOW_SECONDS 内で必要となる 400 エラーの数(OMNIROUTE_ROTATE_ON_400=true の場合にのみ参照されます)。
OMNIROUTE_ROTATE_400_WINDOW_SECONDS 120 open-sse/services/rotationConfig.ts OMNIROUTE_ROTATE_400_THRESHOLD に向けて 400 エラーをカウントするスライディングウィンドウ(秒)。

Claude ウォームアップスケジューラー

オプトインされた Anthropic OAuth 接続向けの cron 駆動ウォームアップです。これにより、5 時間のレート制限ウィンドウが最初の実際のリクエストではなく、スケジュールされた軽微なリクエストによって開始されます(#8848OMNIROUTE_WARMUP_ENABLED が真値で、かつ接続が settings.claudeWarmup.connections で指定されていない限り、スケジューラーは無効です。接続リストが空の場合、環境変数が有効でもウォームアップは実行されません。

変数 デフォルト ソースファイル 説明
OMNIROUTE_WARMUP_ENABLED (未設定 → 無効) src/lib/warmupScheduler.ts ウォームアップスケジューラーのマスタースイッチ。1/true/yes/on を受け付けます(大文字と小文字を区別せず、前後の空白は除去されます)。その他の値、または未設定の場合、スケジューラーは無効のままです。
OMNIROUTE_WARMUP_CRON 0 7 * * * src/lib/warmupScheduler.ts ウォームアップ実行用の 5 フィールド cron 式。ホストの時計に関係なく、America/Los_AngelesAnthropic のリセットタイムゾーン)で評価されます。
OMNIROUTE_WARMUP_CONCURRENCY 3 src/lib/warmupScheduler.ts 1 回の実行で並列にウォームアップする接続数。110 の範囲に制限されます。数値以外の値の場合は 3 にフォールバックします。
OMNIROUTE_WARMUP_MODEL claude-3-5-haiku-20241022 src/lib/warmupScheduler.ts ウォームアップリクエストに使用するモデル。デフォルトがお使いのプランで利用できない場合にのみ上書きしてください。ウィンドウを開始できる最も安価なモデルを選択してください。

ブラウザログイン用 VNC セッションとデータディレクトリのエイリアス

対話形式のブラウザログインによる認証情報取得(/api/vnc-session)に使用するコンテナ化された Chromium+VNC と、レガシーな DATA_DIR エイリアスです。すべて任意です。VNC のデフォルト設定では、同梱の omniroute-vnc-chromium:local イメージが使用され、カスタムコンテナイメージ、ポート、またはライフサイクル調整が必要な場合にのみ上書きします。

変数 デフォルト ソースファイル 説明
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Chromium+VNC ログインコンテナ用の Docker イメージタグ。docker/vnc-browser/chromium をビルドするか、カスタムイメージを指定します。
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts VNC コンテナの起動に使用するコンテナランタイムのバイナリ(例:podman に設定)。
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts コンテナ内で公開される VNC/noVNC ポート。
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts コンテナ内の Chrome DevTools Protocol ポート。
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts コンテナ内の Chromium プロファイルディレクトリのパス。
OMNIROUTE_VNC_PROFILE_DIR $HOME/.omniroute/browser-login-profiles src/lib/vncSession/manifest.ts 永続化されたブラウザログインプロファイルを保持するホストディレクトリ。
OMNIROUTE_VNC_IDLE_MS 60000010 分) src/lib/vncSession/manifest.ts 非アクティブな VNC セッションが破棄されるまでのアイドルタイムアウト(ミリ秒)。
OMNIROUTE_VNC_MAX_MS 180000030 分) src/lib/vncSession/manifest.ts 単一の VNC セッションの有効期間に対する上限(ミリ秒)。
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts 同時に実行できる VNC セッションの最大数。
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts コンテナ化されたブラウザが CDP 対応可能になるまでの待機タイムアウト(ミリ秒)。
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts ログイン完了後に、取得したセッションCookie を収集する際のタイムアウト(ミリ秒)。
OMNIROUTE_VNC_CHROMIUM_ARGS --remote-debugging-port=9222 --no-first-run --no-default-browser-check src/lib/vncSession/manifest.ts コンテナ化された Chromium に渡される追加のコマンドラインフラグ。
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts VNC ログインコンテナがデフォルトブリッジの代わりに参加する専用 Docker ネットワーク(#12571。これにより、同階層のコンテナから CDP ブリッジポートに到達できなくなります。
VIBEPROXY_DATA_DIR (未設定) open-sse/services/notionThreadSessions.ts DATA_DIRレガシーエイリアスDATA_DIROMNIROUTE_DATA_DIR の両方が未設定の場合にのみ確認されます。Notion Web スレッドのセッションキャッシュ(<dir>/notion-web-thread-sessions.json)の場所を指定します。

26. テスト & E2E ハーネス

scripts/dev/run-next-playwright.mjsscripts/dev/smoke-electron-packaged.mjsscripts/dev/run-ecosystem-tests.mjs、および scripts/build/uninstall.mjs で使用されます。本番環境へのデプロイでは、以下のすべての値を未設定のままにしてください。

変数 デフォルト ソースファイル 説明
OMNIROUTE_E2E_BOOTSTRAP_MODE auth scripts/dev/run-next-playwright.mjs Playwright ランナーの E2E ブートストラップモード(authfreshreuse)。
OMNIROUTE_E2E_PASSWORD INITIAL_PASSWORD にフォールバック scripts/dev/run-next-playwright.mjs Playwright 環境に注入される管理者パスワード。
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Playwright の実行中、ローカルヘルスチェックのポーリングを無効にします。
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK true scripts/dev/run-next-playwright.mjs テスト中、OAuth トークンのヘルスチェックループを無効にします。
OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS (未設定) src/lib/tokenHealthCheck.ts プロアクティブなトークン更新スイープから除外するプロバイダーをカンマ区切りで指定します(例:codex,openai。ヘルスチェックを完全に無効化する代わりとなる対象限定の設定です。TTL が短いプロバイダーは更新を継続し、カスケードプロバイダーはリアクティブな更新のみを行います。
OMNIROUTE_HIDE_HEALTHCHECK_LOGS true scripts/dev/run-next-playwright.mjs Playwright の標準出力に含まれるヘルスチェックのノイズを抑制します。
OMNIROUTE_PLAYWRIGHT_SKIP_BUILD 0 scripts/dev/run-next-playwright.mjs Playwright の起動前に行われる Next.js の本番ビルドをスキップしますCI の最適化)。
OMNIROUTE_SKIP_UNINSTALL_HOOK 0 scripts/build/uninstall.mjs OmniRoute のアンインストールフックをスキップしますCI で node_modules を維持するために使用)。
ECOSYSTEM_SERVER_WAIT_MS 180000 scripts/dev/run-ecosystem-tests.mjs エコシステム/プロトコルテストを実行する前に、サーバーが正常になるまで待機する時間(ミリ秒)。
ELECTRON_SMOKE_URL http://127.0.0.1:20128/login scripts/dev/smoke-electron-packaged.mjs Electron スモークハーネスが、パッケージ化されたアプリによって提供されることを想定する URL。
ELECTRON_SMOKE_TIMEOUT_MS 45000 scripts/dev/smoke-electron-packaged.mjs スモークハーネスが処理を断念するまでの合計タイムアウト(ミリ秒)。
ELECTRON_SMOKE_SETTLE_MS 2000 scripts/dev/smoke-electron-packaged.mjs ページ読み込み後の安定化待機時間(ミリ秒)。
ELECTRON_SMOKE_APP_EXECUTABLE (自動) scripts/dev/smoke-electron-packaged.mjs パッケージ化された Electron 実行可能ファイルへの明示的なパス。
ELECTRON_SMOKE_DATA_DIR tmpdir scripts/dev/smoke-electron-packaged.mjs Electron スモーク実行用のデータディレクトリ。
ELECTRON_SMOKE_KEEP_DATA 0 scripts/dev/smoke-electron-packaged.mjs 実行後もスモークテストのデータディレクトリを保持するには、1 に設定します。
ELECTRON_SMOKE_STREAM_LOGS 0 scripts/dev/smoke-electron-packaged.mjs 実行中に Electron のログを stdout にストリーミングするには、1 に設定します。
ELECTRON_SMOKE_COLD_RESTART 0 scripts/dev/smoke-electron-packaged.mjs #7592: 同じデータディレクトリを使用して再起動し、2 回目の起動でネイティブ SQLite ドライバーが選択されることを確認します。
CLI_DEVIN_BIN PATH 検索) open-sse/executors/devin-cli.ts Devin CLI バイナリのパスを上書きします。

ドキュメント翻訳パイプライン

scripts/i18n/run-translation.mjsnpm run i18n:run コマンド)で使用されます。 5 つの変数はすべてデフォルトでは未設定です。ドキュメント翻訳ツールを実行できるようにする マシンでのみ、.env に設定してください。

変数 デフォルト ソースファイル 説明
OMNIROUTE_TRANSLATION_API_URL (未設定) scripts/i18n/run-translation.mjs 翻訳バックエンド用の OpenAI 互換ベース URL。
OMNIROUTE_TRANSLATION_API_KEY (未設定) scripts/i18n/run-translation.mjs 翻訳バックエンド用の Bearer トークン(ログには決して記録されません)。
OMNIROUTE_TRANSLATION_MODEL (未設定) scripts/i18n/run-translation.mjs モデル ID例: gpt-4o-mini または cx/gpt-5.4-mini)。
OMNIROUTE_TRANSLATION_TIMEOUT_MS 60000 scripts/i18n/run-translation.mjs リクエストごとのタイムアウト(ミリ秒)。
OMNIROUTE_TRANSLATION_CONCURRENCY 4 scripts/i18n/run-translation.mjs 複数のファイルやロケールを処理する際の並列翻訳リクエスト数。

27. Radar フィード(セルフホスティング)

RADAR_ENABLED 機能フラグによって制御されるオプションのアドオンです(デフォルトはオフ — 環境変数ではなく、Settings/DB 経由で切り替える機能フラグです。docs/frameworks/RADAR.md を参照してください)。 以下の最初の4つの変数は、セルフホストまたはフォークしたフィード、およびサポーターキーのフローに対するオプションのオーバーライドです。5つ目の RADAR_ADMIN_URL は、所有者の非公開運用パネルへの、デフォルト値を持たない独立したリンクです。モジュールの完全なドキュメントと エンドツーエンドの有効化およびガイド付きセットアップ手順については、docs/frameworks/RADAR.md を参照してください。

汎用の Home/Changelog お知らせリーダーは環境変数で設定されず、RADAR_ENABLED 機能フラグにも依存しません。src/shared/utils/releaseNotes.ts で宣言された公開リポジトリの news.json URL を GET のみで読み取ります。非表示にしたお知らせの ID は、引き続きブラウザーのローカルストレージに保存されます。

変数 デフォルト ソースファイル 説明
RADAR_FEED_URL https://radar.omniroute.online src/lib/radar/{sync,referralsSync,offersSync,intelSync}.ts 個別に署名されたカタログ、紹介、サポーター向けオファー、および Intel フィードで共有されるベース URL。セルフホストまたはフォークしたサービスを指定するにはオーバーライドします。
RADAR_FEED_PUBKEY (固定されたデフォルトキー) src/lib/radar/pinnedKeys.ts カスタムフィードからのフィード署名を検証するために使用される Ed25519 公開鍵base64-DER SPKI または PEM
RADAR_CONTRIBUTOR_CLAIM_URL https://radar.omniroute.online/auth/github src/lib/radar/links.ts ダッシュボードの「コントリビューターです」ボタンで開く URLGitHub OAuth サポーターキー申請フロー)。
RADAR_SUPPORTER_PLANS_URL https://radar.omniroute.online/planos src/lib/radar/links.ts ダッシュボードの「プロジェクトを支援」ボタンで開く URL支払いプランページ
RADAR_ADMIN_URL (未設定) src/lib/radar/links.ts 所有者専用の非公開運用パネルへのリンク。HTTP ループバック SSH 転送を除き、HTTPS が必須です。未設定または無効な値の場合、ナビゲーション項目は作成されません。

監査:削除済み/未使用の変数

以下の変数は以前のバージョンの .env.example に存在していましたが、現在のコードベースでは実行時に参照されていません。これらは削除されました。

変数 理由
STORAGE_DRIVER=sqlite どのソースファイルからも読み取られません。SQLite が唯一サポートされているドライバーであるため、選択は不要です。
INSTANCE_NAME=omniroute 古いドキュメントや環境変数テンプレートには存在しますが、実行時には使用されません。将来のマルチインスタンス機能で再導入される可能性があります。
SQLITE_MAX_SIZE_MB=2048 ソースコードから参照されていません。データベースサイズは人為的に制限されません。
SQLITE_CLEAN_LEGACY_FILES=true ソースコードから参照されていません。レガシーファイルのクリーンアップ機能は削除された可能性があります。
CLI_ROO_BIN src/shared/services/cliRuntime.ts に登録されていません。
CLI_KIMI_CODING_BIN src/shared/services/cliRuntime.ts に登録されていませんKimi Coding は CLI バイナリではなく OAuth を使用します)。
IFLOW_OAUTH_CLIENT_ID / IFLOW_OAUTH_CLIENT_SECRET ソースコード内のどこからも参照されていません。
CEREBRAS_API_KEY / COHERE_API_KEY / FIREWORKS_API_KEY / GROQ_API_KEY / MISTRAL_API_KEY / NEBIUS_API_KEY / PERPLEXITY_API_KEY / TOGETHER_API_KEY / XAI_API_KEY v3.8.0 で削除されました。ランタイムはこれらの環境変数を読み取らなくなりました。認証情報は Dashboard / data/provider-credentials.json / 暗号化 DB から取得されます。
CURSOR_PROTOBUF_DEBUG v3.8.0 で削除されました。Cursor executor は CURSOR_DEBUG / CURSOR_STREAM_DEBUG を使用します§22 を参照)。
CLI_COMPAT_KIRO v3.8.0 で削除されました。Kiro は CLI_COMPAT_OMITTED_PROVIDER_IDS に含まれているため、この切り替え設定は効果がありません。
QIANFAN_API_KEY v3.8.0 で、他の未使用プロバイダー API キーのスタブとともに削除されました。

デフォルト値の修正

変数 .env.example の値 実際のコード上のデフォルト値 修正内容
APP_LOG_RETENTION_DAYS 90 7 誤解を招く値を削除し、デフォルト値が 7 であると明記
CALL_LOG_RETENTION_DAYS 90 7 誤解を招く値を削除し、デフォルト値が 7 であると明記

OpenCode 設定の再生成(アドホックツール)

scripts/ad-hoc/regen-opencode-config.ts で使用され、実行中の OmniRoute インスタンスから取得した正確な limit.context および limit.output の値を使用して opencode.json を再生成します。これらは通常の動作には 必要ありません。このスクリプトは開発者向けツールとしてのみ使用されます。

変数 デフォルト ソースファイル 説明
OMNIROUTE_URL http://localhost:20128 scripts/ad-hoc/regen-opencode-config.ts /v1/models を照会する OmniRoute インスタンスのベース URL。
OMNIROUTE_KEY (未設定) scripts/ad-hoc/regen-opencode-config.ts OmniRoute の /v1/models エンドポイントに対する認証用 API キー。未設定の場合は OPENCODE_API_KEY にフォールバックします。
OPENCODE_API_KEY (未設定) scripts/ad-hoc/regen-opencode-config.ts 再生成された opencode.json に書き込まれる OpenCode 形式の API キー(sk-...)。未設定の場合は OMNIROUTE_KEY にフォールバックします。

圧縮オフライン評価ハーネス(アドホックツール)

オフライン圧縮評価 CLI である scripts/compression-eval/index.ts によって使用されます。 通常の運用には不要で、開発者向けツールでのみ使用されます。

変数 デフォルト ソースファイル 説明
OMNIROUTE_EVAL_CREDENTIALS {}(空) scripts/compression-eval/index.ts オフライン圧縮評価 CLI でテストするプロバイダー用にオペレーターが指定する JSON 認証情報(JSON.parse で解析)。ドライランの場合は未設定のままにしてください。

VNC ブラウザーセッション

ブラウザー自動化プロバイダー向けの Docker ベースのヘッドレス Chromium セッションを設定するために、src/lib/vncSession/manifest.ts によって使用されます。すべて任意です。デフォルト値を以下に示します。

変数 デフォルト ソースファイル 説明
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts VNC コンテナの起動に使用する Docker バイナリへのパス。
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts VNC Chromium コンテナ用の Docker イメージ。
OMNIROUTE_VNC_CHROMIUM_ARGS (組み込みフラグ) src/lib/vncSession/manifest.ts コンテナ内のブラウザーに渡す追加の Chromium CLI 引数。
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts コンテナ内の VNC ポート。
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts コンテナ内の Chrome DevTools Protocol ポート。
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts コンテナ内のプロファイルディレクトリ。
OMNIROUTE_VNC_PROFILE_DIR (未設定) src/lib/vncSession/manifest.ts 永続的なブラウザープロファイル用のホスト側ディレクトリ。
OMNIROUTE_VNC_IDLE_MS 600000 src/lib/vncSession/manifest.ts VNC セッションが回収されるまでのアイドルタイムアウト(ミリ秒)。
OMNIROUTE_VNC_MAX_MS 1800000 src/lib/vncSession/manifest.ts セッションの最大継続時間(ミリ秒)。
OMNIROUTE_VNC_MAX_SESSIONS 4 src/lib/vncSession/manifest.ts 同時に実行できる VNC セッションの最大数。
OMNIROUTE_VNC_READY_MS 45000 src/lib/vncSession/manifest.ts ブラウザーの準備完了タイムアウト(ミリ秒)。
OMNIROUTE_VNC_HARVEST_MS 20000 src/lib/vncSession/manifest.ts 回収/クリーンアップのタイムアウト(ミリ秒)。
OMNIROUTE_VNC_NETWORK omniroute-vnc-browser-login src/lib/vncSession/manifest.ts コンテナが参加する専用 Docker ネットワーク(#12571。デフォルトブリッジは使用しません。
VIBEPROXY_DATA_DIR (未設定) open-sse/services/notionThreadSessions.ts Notion スレッドセッションを永続化するディレクトリ。

内部サービス認証

変数 デフォルト 説明
OMNIROUTE_INTERNAL_SERVICE_TOKEN 管理プレーンのサービス間認証に使用するインライン形式のトークン。
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE 内部サービストークンを格納したファイルへのパス(コンテナでは推奨。インライン変数より優先されます)。

OpenRouter プロバイダー統計

変数 デフォルト 説明
OPENROUTER_PROVIDER_STATS_ENABLED true カタログ情報の拡充に使用する OpenRouter のプロバイダー別統計の取得をスキップするには、false に設定します。
OPENROUTER_PROVIDER_STATS_TTL_MS 3600000 取得した OpenRouter プロバイダー統計のキャッシュ TTLミリ秒

組み込み Redis バインディング

変数 デフォルト 説明
REDIS_BIND_HOST 127.0.0.1 組み込み Redis サービスのバインドアドレス。
REDIS_PORT 6379 組み込み Redis サービスのポート。
OMNIROUTE_REDIS_BIND_HOST 組み込み Redis のバインドアドレスに対する OmniRoute スコープのオーバーライド。

24. リリース v3.8.50 での追加項目

これらの設定は、前回の環境コントラクトのスナップショット以降に導入されました。

変数 デフォルト ソースファイル 説明
OMNIROUTE_CHAT_ADMISSION_QUEUE_MS 2000 src/shared/middleware/chatBodyAdmission.ts 高負荷チャットの受け入れスロットが空くまでの最大待機時間です。この時間を超えると、再試行可能な 503 が返されます。短い上限付き待機により、エージェントからのリクエスト集中を即座に 503 とする代わりに直列化します。0 にすると即時拒否に戻ります。
OMNIROUTE_CHAT_ADMISSION_MAX_QUEUED_BYTES 4194304 (4 MB) src/shared/middleware/chatBodyAdmission.ts 受け入れ待機用のキュー済みバイト数の上限です。プロセス全体で待機中に保持される、バッファリング済みの本文バイト総量を制限し、待機によってヒープ使用量が増幅しないようにします(#4380。上限を超える待機リクエストには、再試行可能な 503 が即座に返されます。
OMNIROUTE_CHAT_VIRTUAL_TTL_MS 60000 (60 s) src/shared/middleware/chatBodyAdmission.ts #10110 以降は非推奨の何もしない設定です。セッション単位の受け入れレーンは廃止され、プロセス全体で共有する単一の予算に置き換えられました。設定互換性のため受け付けられますが、無視されます。
OMNIROUTE_CHAT_VIRTUAL_MAX_SESSIONS 64 src/shared/middleware/chatBodyAdmission.ts #10110 以降は非推奨の何もしない設定です。セッション単位の受け入れレーンは廃止され、プロセス全体で共有する単一の予算に置き換えられました。設定互換性のため受け付けられますが、無視されます。
OMNIROUTE_CHAT_VIRTUAL_LANES 0 (無効) open-sse/services/admission/runtime.ts 適応型ランタイム仮想受け入れレーン(#9654です。テナント単位の適応型ゲートシステム 2に対するマスタースイッチです。上記の非推奨となった接続単位のレーン変数TTL_MS / MAX_SESSIONS、#10110 以降は何もしない設定)とは異なります。同名のダッシュボード機能フラグが存在しますが、環境変数はダッシュボードのオーバーライドより優先されます。変更には再起動が必要です。
OMNIROUTE_RUNNOW_TIMEOUT_MS 30000 src/app/api/jobs/[id]/run-now/route.ts run-now 呼び出しが、キューに入れられた実行を開始する前に、実行中のジョブを待機する時間の上限です。
ADOBE_FIREFLY_BROWSER_REFRESH 有効 open-sse/services/adobeFireflySession.ts アカウント単位の Chrome CDP セッションを通じて、IMS とブラウザーのリスク状態を最新に保ちます。無効にするには 0 を設定します。
ADOBE_FIREFLY_SESSION_DISK 有効 open-sse/services/adobeFireflySession.ts 修復された Adobe セッションを DATA_DIR 配下に永続化します。メモリ内のみで状態を保持するには 0 を設定します。
ADOBE_FIREFLY_MIN_SUBMIT_GAP_MS 12000 open-sse/services/adobeFireflySession.ts Adobe Firefly の生成リクエスト送信間隔の最小値です。
ADOBE_FIREFLY_BATCH_EXTRA_GAP_MS 15000 open-sse/services/adobeFireflySession.ts Adobe への送信が 3 回成功するたびに追加される待機時間です。
ADOBE_FIREFLY_CHROME_HEADLESS 0 open-sse/services/adobeFireflyBrowserLogin.ts デバッグ専用の完全ヘッドレスモードです。Adobe colligo は通常、このモードで生成されたリスクセッションを拒否します。
CHROME_PATH 自動検出 open-sse/executors/cloudflare-playground.ts, open-sse/executors/chatgpt-web-codex.ts プラットフォームの自動検出では不十分な場合に、ブラウザー駆動型 executor が使用する Chrome 実行ファイルの絶対パスを任意で指定します。
TELEGRAM_BOT_TOKEN (未設定) src/lib/telegram/config.ts 受信 webhook を有効化し、Mini App の initData に署名する BotFather トークンです。
TELEGRAM_WEBHOOK_SECRET (未設定) src/lib/telegram/config.ts setWebhook で登録され、各 webhook 配信時に X-Telegram-Bot-Api-Secret-Token ヘッダーと照合される共有シークレットです。webhook パスには必須です。未設定の場合、webhook 配信は 503 で拒否されます。
TELEGRAM_DEFAULT_MODEL auto/chat src/lib/telegram/chatProxy.ts Telegram のチャット応答に使用するモデルです。
TELEGRAM_BOT_API_BASE https://api.telegram.org src/lib/telegram/config.ts プロキシまたはセルフホスト型 Bot API サーバー用の Bot API ベース URL のオーバーライドです。
TELEGRAM_WEBHOOK_TIMEOUT_MS 60000 src/lib/telegram/config.ts 外向きの Bot API 呼び出しに対するタイムアウト(ミリ秒)です。
OMNIROUTE_OPTIONAL_PACK_TAR 1 (有効) scripts/build/optionalPackStaging.mjs Electron スタンドアロンツリー向けのオプション MLブラウザーパックをステージングする際に、.tar.gz tarball の生成を省略するには 0 を設定します(パックディレクトリと optional-packs.index.json は引き続き生成されます)。デスクトップリリースワークフローで、アップロードするアーティファクトのサイズを削減するために使用されます。

ChatGPT Web (Codex)

ヘッドレスブラウザーと外向き Tool トンネルに対するグローバルデフォルトです。ダッシュボードで設定された Connection の値が優先されます。

変数 デフォルト ソースファイル 説明
CHATGPT_WEB_CODEX_CHROME_PATH (自動検出) open-sse/executors/chatgpt-web-codex.ts npm、systemd、PM2での実行に使用する明示的なChrome/Chromiumパス。
CHROME_PATH (自動検出) open-sse/executors/chatgpt-web-codex.ts 明示的なChrome/Chromiumパスに共通で使用されるフォールバック。
CHATGPT_WEB_CODEX_CDP_URL (未設定) open-sse/executors/chatgpt-web-codex.ts 内部CDPエンドポイント。Dockerではポート9223のサイドカーを使用します。
CDP_PROXY_TOKEN (未設定) docker/chatgpt-web-codex-browser/cdp-proxy.mjs 設定されている場合、CDPプロキシ・サイドカーへのすべてのリクエストで、この値をヘッダーX-Omni-Cdp-Tokenに含める必要があります(#13679。値が設定されていない場合、プロキシは認証なしで転送します。この場合、Composeネットワークchatgpt-web-codex-netのネットワーク分離のみが保護手段となります。openssl rand -hex 32で生成します。
CHATGPT_WEB_CODEX_TUNNEL_ID (未設定) open-sse/executors/chatgpt-web-codex.ts ローカルCodexツールラウンド用のグローバルOpenAIトンネルID。
CHATGPT_WEB_CODEX_RUNTIME_KEY (未設定) open-sse/executors/chatgpt-web-codex.ts グローバルなトンネルのランタイムキー。ログには絶対に出力しないでください。
CHATGPT_WEB_CODEX_CONNECTOR_NAME OmniRoute Codex v2 open-sse/executors/chatgpt-web-codex.ts MCPブリッジ用に新規作成されるChatGPTカスタムコネクターの正確な名前。
CODEX_CHATGPT_WEB_HOME <DATA_DIR>/chatgpt-web-codex open-sse/vendor/codex-chatgpt-web/config.ts ブラウザー、ブローカー、トンネルの状態を保存する専用ディレクトリ。
CODEX_CHATGPT_WEB_BROWSER_DIAGNOSTICS 0 open-sse/vendor/codex-chatgpt-web/adapters/chatgpt-web/browser-worker.ts 1の場合、各チェックポイントでブラウザー診断画像を取得します。
CODEX_CHATGPT_WEB_LAUNCHER (未設定) open-sse/vendor/codex-chatgpt-web/config.ts 永続的なランチャーバイナリへの絶対パス(任意)。
CODEX_CHATGPT_WEB_BUN (自動検出) open-sse/vendor/codex-chatgpt-web/config.ts Bunランタイムバイナリへの絶対パス任意
CODEX_WEB_GPT_BUN (未設定) open-sse/vendor/codex-chatgpt-web/config.ts CODEX_CHATGPT_WEB_BUN用のレガシーフォールバック。新しいセットアップでは正式な名前を使用します。

OmniConductor ブリッジ

OmniConductor ハブのタスクをローカルの A2A TaskManagersrc/lib/conductor/)にミラーリングする、長時間稼働型の SSE コンシューマーです。オプトイン方式であり、CONDUCTOR_HUB_URL が設定されている場合にのみブリッジが起動します。サーバーサイド専用です。ハブトークンがブラウザーに渡ることがあってはなりません。

変数 デフォルト ソースファイル 説明
CONDUCTOR_HUB_URL (空) src/lib/conductor/boot.ts OmniConductor ハブのベース URLhttp://127.0.0.1:7910)。未設定の場合、ブリッジは無効になります。
CONDUCTOR_HUB_TOKEN (空) src/lib/conductor/boot.ts SSE フィード用のハブ認証情報。ハブ上で spokesperson 種別のピアを発行します(POST /v1/peers、管理者権限)。
CONDUCTOR_ORCHESTRATOR_TOKEN (空) src/lib/conductor/hubProxy.ts 受信した A2A→ハブのタスク委譲POST /v1/tasks)用の認証情報。未設定の場合は CONDUCTOR_HUB_TOKEN にフォールバックします。
CONDUCTOR_SPOKESPERSON_URL http://127.0.0.1:7920 src/lib/conductor/faroProxy.ts ダッシュボードのチャットプロキシ(/api/conductor/ask)の背後にある spokespersonFaroサービスのベース URL。

クォータを考慮したスケジューリング

open-sse/services/combo.ts および src/lib/quota/quotaScheduler.ts が、リクエスト前にトークン予算を確認するために使用します。オプトイン方式であり、未設定の場合、デフォルトのルーティング動作は変更されません。

変数 デフォルト ソースファイル 説明
OMNIROUTE_QUOTA_AWARE_ROUTING 0 open-sse/services/combo.ts 1 の場合、ディスパッチ前に、ウィンドウごとのトークン予算(rateLimitOverrides.tpm、テーブル provider_quota_state)では推定リクエストコストを賄えない接続をスキップします。予算が設定されていない場合はフェイルオープンします。