コンテンツにスキップ
OmniRoute source

Environment Variables Reference (日本語)


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

変数 必須 デフォルト ソースファイル 説明
JWT_SECRET はい (なし) src/lib/auth すべてのダッシュボードセッションCookie(JWT)の署名および検証に使用します。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 が除外されていますが、プッシュ前に確認してください。


OmniRoute は、すべての永続化に SQLite(better-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/health で system.buildSha として公開されます。
OMNIROUTE_RELEASE_REF origin/main scripts/build/buildProvenance.ts pack-artifact のプロベナンスゲートがビルド SHA を照合する対象の ref です(#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=1、OMNIROUTE_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 回に制限されます。ダッシュボードの Settings → Storage では、定期自動バックアップを個別に無効化できます。
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 (削除済み) src/lib/db/walMaintenance.ts 削除済み。 稼働中に定期的な wal_checkpoint(TRUNCATE) を実行すると、共有 wal-index マッピングが無効化され、SIGBUS によりプロセスがクラッシュする可能性があるため(#13973)、このスケジューラーは廃止されました。この変数は機能しません。正の値を設定すると非推奨警告が一度だけログに記録され、0 または未設定の場合は何も記録されません。WAL は以下の PASSIVE チェックポイントによって維持され、シャットダウン時のチェックポイントによって切り詰められます。
OMNIROUTE_WAL_PASSIVE_INTERVAL_MS 300000 (5分) src/lib/db/walMaintenance.ts 頻繁に実行される wal_checkpoint(PASSIVE) の間隔(ミリ秒)を上書きします。保留中の WAL フレーム数を少なく保つことで、チェックポイント処理を高速に維持し、シャットダウン時の切り詰め処理の間も WAL ファイルサイズを一定範囲内に抑えます。0 で無効化します。
OMNIROUTE_WAL_GUARD_MAX_MB 256 src/lib/db/walMaintenance.ts PASSIVE の実行時に WAL ファイルがこのサイズを超えていることが検出された場合、マッピング済みの wal-index を再書き込みせずに WAL を最初から開始できるよう、wal_checkpoint(RESTART) を実行します。稼働中の truncate モードのチェックポイントは削除されています(OMNIROUTE_WAL_TRUNCATE_INTERVAL_MS の行を参照)。
OMNIROUTE_PRESSURE_SELF_RESTART false open-sse/utils/resourcePressure.ts 1/true/yes/on に設定すると、重大なリソース圧迫が OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS の間継続した後にプロセスを終了します。これにより、無期限に 503 を返し続ける代わりに、スーパーバイザー(systemd の Restart=always、Docker の再起動ポリシー)がクリーンなプロセスを再起動できます。
OMNIROUTE_PRESSURE_SELF_RESTART_AFTER_MS 120000 (2分) open-sse/utils/resourcePressure.ts 自己再起動のための終了処理が実行されるまでに、重大なリソース圧迫が継続しなければならない時間。
OMNIROUTE_SQLJS_WASM_PATH (自動検出) src/lib/db/adapters/sqljsAdapter.ts sql.js WASM フォールバックアダプターを使用する際の sql-wasm.wasm への明示的なパス(絶対パス、または cwd からの相対パス)。未設定の場合、パッケージ依存関係と候補となるレイアウトから自動検出されます。
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 起動時の DB ヘルスチェックを完全にスキップするには 1 に設定します。短時間で終了するタスクや統合テストに便利です。
OMNIROUTE_FORCE_DB_HEALTHCHECK 0 src/lib/db/core.ts 通常はスキップされる場合(短時間で終了するタスクなど)でも、DB ヘルスチェックループを強制的に有効にするには 1 に設定します。
OMNIROUTE_SKIP_POSTINSTALL 0 scripts/postinstall.mjs npm install 中のネイティブランタイムのウォームアップをスキップするには 1 に設定します。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 Vercel リレーパスで [ProxyFetch] デバッグログを出力するには "true" に設定します。ルーティング情報の漏えいを避けるため、デフォルトでは無効です。
PROXY_LOG_INCLUDE_IPS false src/lib/proxyLogger.ts 詳細な [ProxyEgress] プロセスログ行にクライアント/外向き IP とアカウントプレフィックスを含めるには、"true" または "1" に設定します。プロセスログから IP やアカウントプレフィックスが漏えいしないよう、デフォルトでは無効になっています。
OMNIROUTE_DEBUG (未設定) bin/cli/commands/quota.mjs CLI のクォータコマンドから、リクエストごとのタイミング診断([omniroute] GET <path> completed in Nms)を stderr に出力するには 1 に設定します。
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 個々のバッチ項目に対する最大再試行期間(ms)です。この期間を超えた項目は失敗としてマークされます。
BATCH_BACKOFF_BASE_MS 5000 open-sse/services/batchProcessor.ts バッチ項目の再試行における指数バックオフの基本遅延(ms)。
BATCH_BACKOFF_MAX_MS 3600000(1時間) open-sse/services/batchProcessor.ts バッチ項目の再試行間における指数バックオフの上限(ms)。
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 — 一時的なため、暗号化は不要です。

変数 デフォルト ソースファイル 説明
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 インスタンスの最大数(1~32)。インスタンスが重複しているか、上限を使い切った場合は HTTP 508 Loop Detected を返します。
PROD_DASHBOARD_PORT 20130 docker-compose.prod.yml Docker 本番モードで Dashboard 用に公開されるホスト側ポート。
PROD_API_PORT 20131 docker-compose.prod.yml Docker 本番モードで API 用に公開されるホスト側ポート。
OMNIROUTE_PORT (未設定) src/lib/runtime/ports.ts Electron またはその他のラッパー内で実行する場合、PORT より優先されます。
LIVE_WS_PORT 20129 src/server/ws/liveServer.ts リアルタイム WebSocket ライブ監視サーバー用のポート。
LIVE_WS_HOST 127.0.0.1 src/server/ws/liveServer.ts ライブ WebSocket サーバーのバインドアドレス。LAN 上で公開するには 0.0.0.0 に設定してください(LIVE_WS_ALLOWED_ORIGINS も設定してください)。
LIVE_WS_ALLOWED_ORIGINS (未設定) src/server/ws/liveServer.ts ライブ WebSocket を開くことを許可する追加オリジンのカンマ区切りリスト。ループバックの Dashboard オリジンは、デフォルトですでに許可されています。
LIVE_WS_ALLOWED_HOSTS (未設定) src/server/ws/liveServerAllowList.ts ライブ WebSocket オリジンとして許可する追加ホスト名のカンマ区切りリスト。LIVE_WS_ALLOWED_ORIGINS(完全なオリジン URL)とは異なり、ホスト部分のみに一致します。LAN/Tailscale 環境で便利です。
NEXT_PUBLIC_LIVE_WS_PUBLIC_URL (未設定) src/hooks/useLiveDashboard.ts ライブ Dashboard WebSocket の公開 URL(ブラウザ側)。WS サーバーの前段にリバースプロキシまたは Cloudflare Tunnel を配置する場合に設定します(例:wss://ws.my-ai.com/live-ws)。ブラウザは ws://hostname:20132 の代わりにこの 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 1(Turbopack — コード上のデフォルト) package.json / Next.js 16 Turbopack は npm run dev および npm run build のデフォルトバンドラーです(ベンチマークではビルドが 2~3 倍高速)。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 (未設定) systemd(sd_notify プロトコル) プロセスが sd_notify 統合を備えたサービスユニットの下で実行される場合に systemd によって設定されます。OmniRoute はこれを読み取り(OMNIROUTE_DISABLE_SD_NOTIFY を参照)、READY/WATCHDOG 通知を送信します。ユーザーが設定することはありません。
OMNIROUTE_DISABLE_SD_NOTIFY (未設定) scripts/dev/systemd-notify.mjs systemd ユニットの下で実行している場合でも、1 に設定すると systemd の sd_notify(Type=notify / WatchdogSec=)を無効にします。systemd 外では、いずれの場合も通知機能は何も実行しません。
CREDENTIAL_HEALTH_CHECK_INTERVAL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/scheduler.ts バックグラウンドの認証情報ヘルスチェックスケジューラーの間隔(ミリ秒)。最小値:10000(10 秒)。
CREDENTIAL_HEALTH_CACHE_TTL 300000 open-sse/config/constants.ts / src/lib/credentialHealth/cache.ts キャッシュされた認証情報のヘルスステータスの TTL(ミリ秒)。
OMNIROUTE_DISABLE_CREDENTIAL_HEALTH_CHECK false src/lib/credentialHealth/scheduler.ts 1 または true に設定すると、プロバイダー接続のバックグラウンド定期テストを無効にします。検索プロバイダー(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 でコンテナのポートをホストのポートにマッピング。│
└─────────────────────────────────────────────────────────────────────────────┘

変数 デフォルト ソースファイル 説明
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 キーを含める必要があります。このフラグは GET /v1/models へのアクセスを制御しません。代わりに、GET /v1/models はダッシュボードのログイン設定(requireAuthForModels)に従います。そのため、/v1/models から 401 が返されても、推論が保護されていることを意味するわけではありません。docs/security/INFERENCE_AUTH_POSTURE.md(#13695)を参照してください。
ALLOW_API_KEY_REVEAL false src/shared/constants/featureFlagDefinitions.ts ダッシュボード UI で API キーの完全な値を表示できるようにします。ダッシュボードの機能フラグから設定できますが、共有インスタンスではセキュリティリスクがあります。
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、#11017)。0 も同様に無制限です。正の整数 N を指定すると、N/日、5N/週、20N/月が有効になります。不正な空でない値の場合は、従来の 1000/日、5000/週、20000/月の期間別上限にフォールバックします。
MAX_BODY_SIZE_BYTES 10485760 (10 MB) src/shared/middleware/bodySizeGuard.ts 許可されるリクエスト本文の最大サイズ。この上限を超えるペイロードは拒否されます。
OMNIROUTE_CHAT_LARGE_BODY_BYTES 262144 (256 KB) src/shared/middleware/chatBodyAdmission.ts このしきい値以上の実際のリクエスト本文は、JSON の解析前に、プロセスローカルなアトミック方式の高負荷処理用アドミッションリースを取得します(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 ヒープ)におけるプロセスの実際のメモリ上限から自動算出されるバイト単位の予算です。約 750k トークンの /v1/responses が 2 件重なると、約 12 GiB のヒープが異常終了します(#7849)。これはメモリ予算に関する警告であり、製品上のハード上限が 2 であることを意味しません。正常なプロセス(ヒープがシェッド比率未満)では、OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM を介して、より多くの長時間 /v1/responses を同時に受け入れてもかまいません。長時間接続する SSE クライアントが数十(40~50)ある場合の制約は、ヒープ + 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 MiB~2 GiB の範囲に制限されます。実効予算を超える本文は、直ちに 413 body_exceeds_budget で失敗します。個別には処理可能な本文間の競合では、引き続き再試行可能な 503 が返されます。40~50 個の長時間 SSE クライアントに対する制約は、この予算 + ヒープであり、ハードな「最大 2」ではありません。調整前に、/api/monitoring/health で chatAdmission.maxInflightBytes / budgetSource / pressureSeverity を確認してください。
OMNIROUTE_CHAT_ADMISSION_HEAP_SHED_RATIO 0.75 src/shared/middleware/chatBodyAdmission.ts BYTE および STRUCTURE の重量級受け入れに対する、ヒープ圧力のシェッド比率(heapUsed / heap_size_limit)です(#10183、#10268、#10437)。OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT を超える同時重量級リクエストが、再試行可能な 503 でシェッドされるのは、ヒープがこの比率以上でもある場合に限られます。ヒープが正常な場合は、healthy-headroom を介して受け入れられます。
OMNIROUTE_CHAT_ADMISSION_HEALTHY_HEADROOM OMNIROUTE_CHAT_MAX_HEAVY_IN_FLIGHT (デフォルト 1) src/shared/middleware/chatBodyAdmission.ts STRUCTURE と BYTE の両方(OMNIROUTE_CHAT_LARGE_BODY_BYTES 以上の本文を含む admitChatRequest)に適用される、正常なヒープ向け高速パス(#10437)の制限付き追加容量です。この制限がなければ、ヒープが正常な場合、ビジー状態のすべてのリクエストが上限なしで受け入れ制御を迂回していました。この数の同時リースが正常ヒープパスを通じてアクティブになると、それ以降のビジー状態のリクエストは、実際のヒープ圧力下で使用されるものと同じ、境界付き待機/シェッドパスへフォールスルーします。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 とヒープ圧力シェッドによって制限されます。ハード上限が必要なメモリ制約の厳しいデプロイメントでは、正の値を設定してください。超過時には、compact-required を示す構造化された 413 が返されます。
OMNIROUTE_MAX_NONSTREAMING_RESPONSE_BYTES 67108864 (64 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、SearXNG)。false の場合、ダッシュボードはローカルURLの検証を拒否します。
OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS true src/shared/network/outboundUrlGuard.ts ローカル/プライベートアドレス(127.0.0.1、localhost、LAN、プライベート範囲)上のプロバイダーの追加/検証を許可します。これはプロバイダー検証パスのみに適用されます。デフォルトは true(ローカル優先)。公開アドレス以外を厳格にブロックするには false に設定してください。クラウドメタデータエンドポイント(169.254.169.254、metadata.google.internal)は、この設定にかかわらずブロックされます。(#5066)
AUDIO_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/audioProviderNodes.ts /v1/audio/* ルート(文字起こし、音声、翻訳)が、localhost外でホストされているOpenAI互換プロバイダーノードを使用できるようにします。デフォルトでは無効です。音声をリモートホストにルーティングすると送信元IDが変わるため、オペレーターによる明示的な判断が必要です。ループバック/プライベートノード(localhost、127.0.0.1、172.16-31.x)は常に許可され、この設定の影響を受けません。(#3963)
RERANK_REMOTE_PROVIDER_NODES false src/app/api/v1/_shared/rerankProviderNodes.ts POST /v1/rerank(およびメモリエンジンのループバック再ランク処理)が、localhost外でホストされているOpenAI互換プロバイダーノード(TEI、Infinity、vLLMなどを実行するLAN上のマシンまたはTailscaleピア)を使用できるようにします。デフォルトでは無効です。リモートホストへのルーティングは送信元IDを変更するため、オペレーターによる明示的な判断が必要です。ループバックノード(localhost、127.0.0.1、172.16-31.x)は常に許可され、この設定の影響を受けません。リモートノードは、プロバイダーのアウトバウンドURLポリシー(OMNIROUTE_ALLOW_LOCAL_PROVIDER_URLS / OMNIROUTE_ALLOW_PRIVATE_PROVIDER_URLS)にも合格する必要があります。クラウドメタデータホストには決してルーティングされません。
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)

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

Section titled “セキュリティ強化チェックリスト”
ターミナルウィンドウ
# 本番環境における最低限のセキュリティ設定:
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の上限

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

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

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

Section titled “リクエスト側: プロンプトインジェクションガード”
変数 デフォルト ソースファイル 説明
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 サニタイザー

Section titled “レスポンス側: 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 トークン化ルートのコンテキストサニタイザー

Section titled “VS Code トークン化ルートのコンテキストサニタイザー”
変数 デフォルト ソースファイル 説明
OMNIROUTE_VSCODE_SANITIZE_CONTEXT 1 src/app/api/v1/vscode/contextSanitizer.ts /v1/vscode/[token]/* リクエストから、暗黙的なアクティブエディターのコンテキスト(editorContext、activeEditor、currentFile、selection、openTabs…)を除去し、明示的に添付された機密ファイルの内容をマスキングします。デフォルトで安全な設定です。無効にするには 0 に設定してください。
シナリオ 設定
エンタープライズコンプライアンス INPUT_SANITIZER_ENABLED=true、INPUT_SANITIZER_MODE=block、PII_REDACTION_ENABLED=true、PII_RESPONSE_SANITIZATION=true(インジェクションをブロックし、リクエスト/レスポンスの PII をマスキングします。各モードは独立しています)
監視のみ INPUT_SANITIZER_ENABLED=true、INPUT_SANITIZER_MODE=warn — ログには記録しますが、ブロックは行いません
個人利用 すべて無効のままにします — オーバーヘッドはゼロです

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

Section titled “6. ツールおよびルーティングポリシー”
変数 デフォルト ソースファイル 説明
TOOL_POLICY_MODE disabled src/lib/toolPolicy.ts LLMのツール/関数呼び出しへのアクセスを制御します。allowlist = 一覧に記載されたツールのみ、denylist = 一覧に記載されたもの以外すべて、disabled = 制限なし。
OMNIROUTE_PAYLOAD_RULES_PATH ./config/payloadRules.json open-sse/services/payloadRules.ts ペイロード操作ルールのJSONファイルへのパス(モデル/プロトコルごとのアップストリーム調整)。
OMNIROUTE_PAYLOAD_RULES_RELOAD_MS 5000 open-sse/services/payloadRules.ts ペイロードルールファイルをホットリロードする間隔(ミリ秒)。最小値は1000。
OMNIROUTE_PREFER_CLAUDE_CODE_FOR_UNPREFIXED_CLAUDE_MODELS false open-sse/services/model.ts オプトイン設定:Claude Codeクライアントから送られるプロバイダープレフィックスなしのclaude-*モデルIDを、プロバイダープレフィックス必須とせず、Claude Code OAuthアカウント経由でルーティングします。明示的なプロバイダープレフィックスがある場合は、引き続きそちらが優先されます。Claudeプロバイダーページのダッシュボードトグルからも設定できます。
COMBO_CONCURRENCY_PER_MODEL 3 open-sse/services/comboConfig.ts ラウンドロビンコンボのモデルごとの同時実行数上限(#9100)。ラウンドロビンコンボのセマフォは、上書き不可でモデルごとに同時リクエスト3件へハードキャップされていたため、それを超える同時実行トラフィックは上限の後ろで直列化されていました。>= 1で検証され、<= 32に制限されます。
DISABLE_CONTEXT_WINDOW_CHECKS false open-sse/handlers/chatCore.ts 直接の単一モデルリクエストに対するOmniRouteのローカルコンテキストウィンドウ/最大入力トークンチェックをスキップする、危険なオプトイン設定です。アップストリームプロバイダーでは引き続き実際の上限が適用され、プロンプト圧縮とモデル自体の出力トークン上限も有効なままです。有効な優先順位は、Feature Flags DBによる上書き > 環境変数 > デフォルトです。再起動は不要です。
OMNIROUTE_SELF_HOSTED_PROVIDERS (未設定) open-sse/services/selfHostedEntry.ts インラインYAMLのproviders:ドキュメント(RIC-738、D4)。設定すると(strategy:ブロックの有無にかかわらず)、/v1/chat/completionsはクラウドパイプラインではなく、セルフホストされた統合OpenAI互換エントリへ転送されます。未設定(デフォルト)の場合、ルートは既存のクラウドパイプラインへそのままフォールスルーします。docs/routing/SELF_HOSTED_OPENAI_ENTRY.mdを参照してください。
OMNIROUTE_SELF_HOSTED_PROVIDERS_FILE (未設定) open-sse/services/selfHostedEntry.ts インライン環境変数よりファイルを使用したいデプロイメント向けに、OMNIROUTE_SELF_HOSTED_PROVIDERSと同じproviders:ドキュメントを格納するYAMLファイルへのパスです。どちらか一方を設定すると、セルフホストエントリが有効になります。
OMNIROUTE_SELF_HOSTED_API_KEY (未設定 — オープンルート) open-sse/services/selfHostedEntry.ts 統合セルフホストエントリ用のオプションの共有APIキー(D5スキャフォールド、キーごとのクォータシステム用に予約)。設定した場合、リクエストにAuthorization: Bearer &lt;key&gt;を含める必要があります。未設定の場合、ルートはオープンとなり、既存のセルフホスト型ローカルプロバイダーパターン(ループバック/信頼済みネットワークへのデプロイ)と一致します。
OMNIROUTE_SELF_HOSTED_STRATEGY (未設定) open-sse/services/routingStrategies.ts 決定論的ルーティングエンジン用のインラインYAMLのstrategy:ドキュメント(M2/RIC-740、D3)— ブラックリスト/ホワイトリスト、クールダウンブレーカー、コスト優先、レイテンシー考慮、フォールバックチェーン。キーごとに、OMNIROUTE_SELF_HOSTED_PROVIDERS内にネストされたインラインstrategy:ブロックを上書きします。docs/routing/DETERMINISTIC_ROUTING.mdを参照してください。
OMNIROUTE_SELF_HOSTED_STRATEGY_FILE (未設定) open-sse/services/routingStrategies.ts インライン環境変数よりファイルを使用したいデプロイメント向けに、OMNIROUTE_SELF_HOSTED_STRATEGYと同じstrategy:ドキュメントを格納するYAMLファイルへのパスです。
OMNIROUTE_DISABLE_CONVERSATION_TRACKING (未設定) open-sse/services/conversationTracker.ts 会話履歴の収集を停止するには 1 を設定します。resolveConversationId() は、SQLite の読み取りやメッセージ履歴の解析を行う前に、追跡対象外の結果を返します。クライアントから指定されたセッション ID も対象です。ルーティングセッションの処理は変更されず、既存のレコードも削除されません。ダッシュボードの会話ビューを使用せず、ターンテーブルの増加を止めたいデプロイ環境向けです。

変数 デフォルト ソースファイル 説明
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 のレガシーフォールバック。
NEXT_PUBLIC_PORT (未設定 — PORT にフォールバック) src/shared/hooks/useDisplayBaseUrl.ts オリジンが不明な場合(SSR/テスト)に表示 URL で使用するクライアント側のフォールバックポート。PORT より先に読み取られます。
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 Usage ページで使用される CrofAI クォータ照会エンドポイント。リレー/テストフィクスチャ向けにオーバーライドできます。
OMNIROUTE_OPENCODE_QUOTA_URL https://opencode.ai/zen/go/v1/usage open-sse/services/opencodeQuotaFetcher.ts Usage ページで使用される、API キー認証対応の公式 OpenCode Go 使用量エンドポイント。リレー/テストフィクスチャ向けにオーバーライドできます。
OPENCODE_SYNTHESIZE_CLI_HEADERS true open-sse/executors/opencode.ts クライアントが送信しなかった場合に、opencode-go/zen のアップストリームリクエストへ OpenCode CLI 識別ヘッダー(User-Agent、x-opencode-client/project、リクエスト/セッション UUID)を合成し、VPS からの送信を Cloudflare が受け入れられるようにします(#6210/#5997)。#10571 以降はデフォルトで有効です。無効にするには false/0/no/off を指定します。
OPENCODE_USER_AGENT opencode/1.18.31 open-sse/utils/opencodeHeaders.ts OPENCODE_SYNTHESIZE_CLI_HEADERS が有効で、プロバイダーごとの <PROVIDER>_USER_AGENT オーバーライドが設定されていない場合に使用されるデフォルトの User-Agent。opencode executor にのみ適用されます。アップストリームによって制限されるキーレスリクエストでは、設定値に opencode/<version >= 1.17> が含まれていない場合、拒否される代わりにこのデフォルト値へ置き換えられます。
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 ヘッダーに使用する値。
OPENCODE_FREE_TIER_REQUEST_CONTRACT (未設定) open-sse/executors/opencodeFreeTierContract.ts off に設定すると、キーなしの OpenCode リクエストのボディ(ストリーミングフラグとツールリスト)の調整を停止します。ヘッダーは引き続き適用されます。リクエストごとに読み込まれるため、変更は即座に反映されます。
OPENCODE_FREE_TIER_PLACEHOLDER_TOOLS (未設定) open-sse/executors/opencodeFreeTierContract.ts ツールを含まないキーなしの OpenCode リクエストに対して、そのモデルでまだ何も観測されていない場合に宣言するツール名のカンマ区切りリスト。空の場合は、モデルに呼び出さないよう指示される単一のプレースホルダーにフォールバックします。最大 32 エントリで、形式は [A-Za-z_][A-Za-z0-9_-]{0,63}。無効なエントリは無視されます。
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 CodeWhisperer(AWS Kiro)の使用量制限エンドポイント。リレーやテストフィクスチャ用に上書きできます。

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

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

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


送信制御、ジオルーティング、または 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(または 1、yes)で有効になります。
HTTP_PROXY (未設定) Node.js 標準 アップストリーム呼び出し用の HTTP プロキシです。
HTTPS_PROXY (未設定) Node.js 標準 アップストリーム呼び出し用の HTTPS プロキシです。
ALL_PROXY (未設定) Node.js 標準 汎用プロキシです(socks5:// をサポート)。
OMNIROUTE_PROXY_ECHO_URL (未設定) src/lib/proxyEchoTarget.ts プロキシ送信プローブで使用するエコー IP のターゲットを単一の URL に固定します。未設定の場合、プローブは api64.ipify.org、次に api4.ipify.org を試行するため、IPv4 のみのトンネルが停止中と誤って報告されることはありません(#9694)。
NO_PROXY (未設定) Node.js 標準 プロキシをバイパスするホスト名/IP をカンマ区切りで指定します。
OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS 32 open-sse/utils/proxyDispatcher.ts キャッシュされた HTTP/SOCKS プロキシディスパッチャーごとの最大同時ソケット数です。複数のリクエストが同じアカウントレベルのプロキシを共有する場合、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=true — wreq-js(同梱)が必要
送信制御あり / 直接アクセス不可 PROXY_FAIL_OPEN=false(デフォルト)のままにします。プロキシが利用できない場合、直接接続による漏えいを避けるため、リクエストは即座に失敗します。
レガシー / 開発環境 — 直接接続へのフォールバックを許可 PROXY_FAIL_OPEN=true。強化前の動作に戻し、プロキシの解決に失敗した場合は直接接続を使用します。

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


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 Pi(pi-coding-agent)バイナリへのカスタムパス。
CLI_CRUSH_BIN crush src/shared/services/cliRuntime.ts Crush CLI バイナリへのカスタムパス。
CLI_OMP_BIN omp src/shared/services/cliRuntime.ts Oh My Pi(omp)エージェントバイナリへのカスタムパス。
CLI_LETTA_BIN letta src/shared/services/cliRuntime.ts Letta CLI バイナリへのカスタムパス。
CLI_PRIME_AGENT_BIN prime-agent src/shared/services/cliRuntime.ts Prime Agent(Prime Intellect)バイナリへのカスタムパス。
CLI_WINDSURF_BIN (なし) src/shared/services/cliRuntime.ts Windsurf バイナリへのカスタムパス。Windsurf にはデフォルトコマンドが付属していません。この値が設定されるまで、バイナリ検出は無効のままです。
CLI_DEVIN_BIN devin open-sse/executors/devin-cli.ts Devin CLI バイナリ(v3.8.0)へのカスタムパス。Windsurf/Devin エグゼキューターによって使用されます。
DEVIN_DESKTOP_VERSION 3.6.27 open-sse/executors/devin-desktop.ts Devin Desktop の ide_version。オーバーライドには x.y.z 形式を使用する必要があります。無効な値の場合は、検証済みのデフォルト値にフォールバックします。
DEVIN_DESKTOP_EXTENSION_VERSION 1.48.2 open-sse/executors/devin-desktop.ts バンドルされている Codeium/language-server の extension_version。Desktop の ide_version とは別のものです。オーバーライドには x.y.z を使用する必要があります。無効な値の場合は、バンドルされているデフォルト値が使用されます。
CLI_DEVIN_AGENTIC_BIN devin open-sse/executors/devin-cli-agentic.ts Agentic ブリッジ専用の Devin CLI オーバーライド。エグゼキューターは、ローカルの ACP stdio アップストリームのみを受け入れます。
DEVIN_AGENTIC_HOME (必須) open-sse/executors/devin-cli-agentic.ts Agentic Devin サブプロセス用の絶対パスで指定する分離されたホーム。許可されるブリッジパスは /home/bridge およびタスクローカルの .sandbox パスです(Windows では C:\...\.sandbox\...)。
DEVIN_AGENTIC_ACP_TIMEOUT_MS 120000 open-sse/executors/devin-cli-agentic.ts ブリッジが子プロセスを終了して明示的なタイムアウトを返すまでの、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 プロバイダーで使用される Augment(Auggie)CLI バイナリの絶対パスによるオーバーライド。未指定の場合は CLI_AUGGIE_BIN、次に PATH 検索へフォールバックします。
CLI_AUGGIE_BIN auggie open-sse/executors/auggie.ts Augment(Auggie)CLI バイナリパスのエイリアスによるオーバーライド(AUGGIE_BIN の後に確認されます)。
ZCODE_BIN zcode open-sse/executors/zcode.ts ローカルの zcode プロバイダーの stdio クライアントに使用されるバイナリ。未指定の場合は PATH 上の zcode にフォールバックします。
ZCODE_ARGS — open-sse/executors/zcode.ts cliTools 経由で起動するときに zcode バイナリへ渡される追加引数の JSON 配列(16 個以下の文字列)。
ZCODE_CWD process.cwd() open-sse/executors/zcode.ts ZCode アプリサーバーのサブプロセス用作業ディレクトリ。
ZCODE_PROVIDER_ID builtin:zai-coding-plan open-sse/executors/zcode.ts アプリサーバーへ送信されるプロバイダー ID のオーバーライド。
ZCODE_SERVER_RUNTIME_ROOT ~/.zcode/server open-sse/executors/zcode.ts ZCode アプリサーバーランタイムのルート(バンドルされた node と zcode-server.cjs が配置される場所)。
ZCODE_SERVER_NODE &lt;runtimeRoot&gt;/node open-sse/executors/zcode.ts ZCode アプリサーバーのホストに使用される Node 実行可能ファイル。
ZCODE_SERVER_ENTRY &lt;runtimeRoot&gt;/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 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/&lt;name&gt;/settings.json の Claude Code プロファイルファイルを自動的に書き換えます。CLI_ALLOW_CONFIG_WRITES が必要です。アクティブ/デフォルトの Claude 設定、認証、またはプロバイダーの選択は変更しません。
ターミナルウィンドウ
# ホストのバイナリをコンテナにマウントし、その場所を 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.yml の host プロファイルを参照)。コンテナユーザーのホーム内にもバインドマウント内にもないパスは無視されます。そこに書き込んでも、コンテナの再作成時に破棄されるためです。

イメージは 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)のヘルパー

Section titled “CLI バイナリ(omniroute)のヘルパー”

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

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

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

Section titled “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 &lt;name&gt; と同等です。
OMNIROUTE_CONTEXT_KEYCHAIN_DISABLED 0 bin/cli/contexts.mjs CLI コンテキスト認証情報用のオプションの keytar OS キーチェーンバックエンドを無効にします。有効にすると、認証情報はモード 0600 の config.json に保持され、CLI はフォールバック警告を一度だけ出力します。意図的なヘッドレス/コンテナ運用を対象としています。
OMNIROUTE_MCP_ENFORCE_SCOPES false open-sse/mcp-server/server.ts MCP ツール呼び出しに対してスコープベースのアクセス制御を適用します。
OMNIROUTE_MCP_SCOPES (すべて) open-sse/mcp-server/server.ts カンマ区切りのスコープ:admin、combos、health、models、routing、budget、metrics、pricing、memory、skills。
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS false open-sse/mcp-server/descriptionCompressor.ts マニフェストをシリアライズする前に MCP ツールの説明を圧縮します。有効化する値:1、true、on。
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION rtk open-sse/mcp-server/descriptionCompressor.ts 圧縮アルゴリズム/プロファイル。無効化する値:0、false、off。
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 open-sse/mcp-server/fetchTimeout.ts MCP サーバー内部の管理読み取り(ヘルス、レジリエンス、コンボ、クォータ、使用量)に対する中止までの時間枠(ミリ秒)。
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 open-sse/mcp-server/fetchTimeout.ts プロバイダーを待機する MCP ホップ(route_request、web_search、web_fetch)の中断タイムアウト(ミリ秒)。
OMNIROUTE_CORPUS_CACHE_SIZE 5 src/lib/localCorpus/configured.ts メモリ内にキャッシュされるローカルコーパスのインデックスインスタンスの最大数(LRU、インデックス化されたルートディレクトリごとに 1 つ)。最小値 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 設定のホットリロードのポーリング間隔(ms)。1000 未満は拒否されます。
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 のプロアクティブなツール結果切り詰めに適用する文字数上限。範囲は 256~1000000。この環境変数よりもダッシュボード設定が優先されます。
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 CLI(agy)のトークンファイルパスを上書きします。
変数 デフォルト ソースファイル 説明
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プロバイダーの認証情報

Section titled “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) パブリッククライアント。
MUSE_CODE_OAUTH_CLIENT_ID Muse Code (Meta) パブリックMuse CLIデバイスフロークライアントIDのオプションの上書き。組み込みのパブリッククライアントを使用するには未設定のままにします。
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のパブリックデフォルトにフォールバックします。
COPILOT_INTEGRATION_ID GitHub Copilot Copilot-Integration-IdおよびEditor-Plugin-Versionヘッダーで送信されるGitHub Copilotクライアント統合IDのオプションの上書き。デフォルトはcopilot-developer-cliです。
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。https://gitlab.com/-/profile/applicationsで、リダイレクトURIを<NEXT_PUBLIC_BASE_URL>/callback、スコープをapi, read_user, openid, profile, emailとしてアプリを登録してください。GITLAB_OAUTH_CLIENT_IDにフォールバックします。
GITLAB_DUO_OAUTH_CLIENT_SECRET GitLab Duo (v3.8) 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/chat で validated として送信するフロントエンドの tk トークン。Blackbox がトークンの一致を強制する場合に必要です。それ以外の場合、OmniRoute はランダムな UUID にフォールバックします。Issue #2252 を参照してください。
VISION_BRIDGE_BASE_URL Vision Bridge guardrail Anthropic 以外の vision-bridge 呼び出し用の OpenAI 互換ベース URL。レガシーな OpenAI URL 環境変数または api.openai.com にデフォルト設定されます。OmniRoute の /v1 セルフループ、または任意の OpenAI 互換エンドポイント (Gemini OpenAI 互換、OpenRouter) を指します。Issue #2232。URL が OmniRoute 自身の /v1 である場合、記述サブ要求は x-omniroute-admission-bypass: internal を送信し、解決されたセルフループ認証情報 (ローカルモードでは sk_omniroute センチネル、または OMNIROUTE_API_KEY / ROUTER_API_KEY — #1350) で認証されるため、REQUIRE_API_KEY=true のデプロイが機能します。
VISION_BRIDGE_API_KEY Vision Bridge guardrail 上記 URL 用の API キー。Anthropic 以外の vision-bridge 呼び出しの場合、プロバイダーごとの OpenAI / Google 環境変数を上書きします。Anthropic モデルは専用の Anthropic キーパスを保持します。Issue #2232。
OMNIROUTE_VISION_BRIDGE_NEGATIVE_CACHE_MS Vision Bridge guardrail 「利用可能な候補なし」というルーティング結果がキャッシュされる期間 (ミリ秒単位、デフォルト 30000)。無効な値または負の値はデフォルトにフォールバックします。0 はネガティブキャッシュを無効にします。ソース: src/lib/guardrails/visionBridgeRouter.ts。

[!WARNING]

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

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

Section titled “12. プロバイダーの User-Agent オーバーライド”

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

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

ソース: open-sse/executors/base.ts → buildHeaders()

| 変数 | デフォルト値 | 更新するタイミング | | –––––––––––––––– | ——————————————— | ———————————————————————————————— | —————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— | | 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 に転送します。デフォルトでは、executor は Claude Code 以外のツール名に決定論的なエイリアスを割り当て(Claude Code の標準マッピングが存在する場合はそれを使用し、それ以外は PascalCase を使用)、レスポンスでは _toolNameMap を介して元に戻します。これにより、snake_case のツールを使用するハーネスが、フィンガープリントされたサードパーティクライアントとして拒否されるのを防ぎます。デバッグ専用です。 | | CODEX_USER_AGENT | codex-cli/0.155.0 (Windows 10.0.26200; x64) | OpenAI が Codex CLI を更新したとき | | CODEX_CLIENT_VERSION | 0.155.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 オーバーライドを追加できます。executor は環境変数名を動的に構築します。


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

Section titled “13. CLI フィンガープリント互換性”

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

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

変数 有効化 効果
CLI_COMPAT_CODEX =1 Codex CLI のリクエストシグネチャを模倣
CLI_COMPAT_CLAUDE =1 Claude Code のリクエストシグネチャを模倣
CLI_COMPAT_GITHUB =1 GitHub Copilot のリクエストシグネチャを模倣
CLI_COMPAT_ANTIGRAVITY =1 Antigravity のリクエストシグネチャを模倣
CLI_COMPAT_CURSOR =1 Cursor のリクエストシグネチャを模倣
CLI_COMPAT_KIMI_CODING =1 Kimi Coding のリクエストシグネチャを模倣
CLI_COMPAT_KILOCODE =1 Kilo Code のリクエストシグネチャを模倣
CLI_COMPAT_CLINE =1 Cline のリクエストシグネチャを模倣
変数 有効化 効果
CLI_COMPAT_ALL =1 すべてのプロバイダーでフィンガープリント互換性を一括で有効にします。

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

Section titled “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 文字列を処理します。両方を個別に有効化できます。


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

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

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

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

[!NOTE] Groq、xAI、Mistral、Perplexity、Together AI、Fireworks、Cerebras、Cohere、Nebius、Qianfan の静的な ${PROVIDER}_API_KEY エントリは、ランタイムで読み込まれなくなったため、v3.8.0 で削除されました。これらのプロバイダーは、Dashboard / data/provider-credentials.json / 暗号化 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-reader、r.jina.ai)が /v1/embeddings または /v1/rerank を処理することはありません。

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


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

REQUEST_TIMEOUT_MS(グローバルオーバーライド)
├─→ FETCH_TIMEOUT_MS(上流プロバイダー呼び出し、デフォルト: 600000)
│ ├─→ FETCH_HEADERS_TIMEOUT_MS(FETCH_TIMEOUT_MS から継承)
│ ├─→ FETCH_BODY_TIMEOUT_MS(FETCH_TIMEOUT_MS から継承)
│ ├─→ TLS_CLIENT_TIMEOUT_MS(FETCH_TIMEOUT_MS から継承)
│ │ └── TLS_FIRST_BYTE_WATCHDOG_MS(独立、デフォルト: 10000)
│ ├── RESPONSES_FIRST_BYTE_TIMEOUT_MS(独立、デフォルト: 15000)
│ ├── FETCH_CONNECT_TIMEOUT_MS(独立、デフォルト: 30000)
│ └── FETCH_KEEPALIVE_TIMEOUT_MS(独立、デフォルト: 4000)
├─→ STREAM_IDLE_TIMEOUT_MS(REQUEST_TIMEOUT_MS から継承、デフォルト: 600000)
├─→ STREAM_ACTIVE_TIMEOUT_MS(独立、デフォルト: 1260000、0 で無効化)
├─→ STREAM_READINESS_TIMEOUT_MS(REQUEST_TIMEOUT_MS から継承、デフォルト: 80000)
├─→ STREAM_READINESS_MAX_TIMEOUT_MS(適応型の準備完了タイムアウト延長に上限を設定、デフォルト: 180000)
└─→ API_BRIDGE_PROXY_TIMEOUT_MS(REQUEST_TIMEOUT_MS から継承、デフォルト: 30000)
├─→ API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS(派生値、デフォルト: 300000)
├── API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS(デフォルト: 60000)
├── API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS(デフォルト: 5000)
└── API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS(デフォルト: 0 = 無効)
変数 デフォルト 説明
REQUEST_TIMEOUT_MS (未設定) グローバルショートカット — FETCH_TIMEOUT_MS と STREAM_IDLE_TIMEOUT_MS の両方のデフォルト値を上書きします。
FETCH_TIMEOUT_MS 600000 アップストリームプロバイダー呼び出しに対する HTTP リクエスト全体のタイムアウト。
STREAM_IDLE_TIMEOUT_MS 600000 中断するまでに許容される、アップストリームからの生バイト間の最大無通信時間。拡張思考モデルが 90 秒を超えて停止することはほとんどありません。
STREAM_ACTIVE_TIMEOUT_MS 1260000 アクティブな SSE ストリームの最大合計存続時間。アップストリームからバイトを受信してもリセットされず、REQUEST_TIMEOUT_MS から独立しています。レジストリ内で最大のモデル別 timeoutMs(1200000、Codex)に 60000 の余裕を加えて算出されるため、割り当てられた時間をすべて使用するモデルが応答途中で終了されることはありません。無効化するには 0 に設定します。
OMNIROUTE_SSE_COMMENTS (無効) OmniRoute が SSE の : コメント行(例: : keepalive ハートビートや x-omniroute-* メタデータトレーラー)を送出できるかどうか。厳密な OpenAI 互換クライアントはすべての SSE 行に対して JSON.parse を実行し、: コメントでクラッシュするため、デフォルトでは無効です(#10524)。data: ハートビートには影響しません。再度有効にするには on/true/1/yes を設定します。open-sse/utils/sseHeartbeat.ts で使用されます。
STREAM_READINESS_TIMEOUT_MS 80000 最初の非 ping SSE イベントを受信するまでの時間。REQUEST_TIMEOUT_MS が設定されている場合は、その値を継承します。
STREAM_READINESS_MAX_TIMEOUT_MS 180000 大規模なリクエスト、ツールを多用するリクエスト、または高度な推論を行うストリーミングリクエストに対する、最初のイベントまでの適応型準備待機時間の上限。
OMNIROUTE_AGENT_GOAL_POLICY_ENABLED true /goal ヒューリスティックのキルスイッチ。検出を完全に無効化するには false/0/off に設定します。これにより、リクエスト本文やヘッダーによって準備タイムアウトやストリーム復旧が引き上げられることがなくなり、クライアントが制御可能なタイムアウト増幅を軽減します。
OMNIROUTE_AGENT_GOAL_READINESS_MAX_TIMEOUT_MS 600000 検出された /goal エージェント実行、または x-omniroute-agent-goal によって強制されたリクエストに対する、最初のイベントまでの準備待機時間の上限。
OMNIROUTE_AGENT_GOAL_STREAM_RECOVERY true 検出された /goal エージェント実行に対して、早期ストリーム復旧を自動的に有効化します。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 のターンに渡される承認ポリシー(例: never、on-request)。接続ごとのオーバーライド: providerSpecificData.codexAppServerApprovalPolicy。
OMNIROUTE_CODEX_APPSERVER_SANDBOX (未設定) app-server のターンに渡されるサンドボックスポリシー(例: read-only、workspace-write、danger-full-access)。未設定の場合、エグゼキューターのデフォルトは workspace-write です(強化済み。以前は danger-full-access)。接続ごとのオーバーライド: providerSpecificData.codexAppServerSandbox。
OMNIROUTE_CODEX_APPSERVER_AUTO_APPROVE false app-server 自体の承認プロンプト(ホスト上でのコマンド/ファイル/権限の実行)を自動承認します。デフォルトではオフで、プロンプトは自動的に拒否されます。ハーネスのツール呼び出しには影響しません(別の item/tool/call パススルーを経由します)。true/1/yes を受け付けます。接続ごとのオーバーライド: providerSpecificData.codexAppServerAutoApprove。
FETCH_HEADERS_TIMEOUT_MS = FETCH_TIMEOUT_MS レスポンスヘッダーを受信するまでの時間。
OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS 30000(30秒) プロキシを使用しない各直接接続試行で、レスポンス開始を待機する最大時間(ms)。タイムアウト時は新しいソケットで1回再試行します。0 に設定すると上限が無効になり、従来の動作が維持されます。
OMNIROUTE_DIRECT_RESPONSE_RETRY_TIMEOUT_MS 600000(10分) 上記のプール済み接続による試行でレスポンス開始がタイムアウトした後に行う、新しいソケットでの RETRY 試行の上限(ms)(#13703)。呼び出し元が独自のデッドラインシグナル(解決済みの接続/モデル/プロバイダー/FETCH_TIMEOUT_MS のカスケード)をすでに設定している場合にのみ適用されます。このシグナルが実際の上限であり、想定された経路では先に発火するため、これは一律の上限ではなく余裕を持たせた最終的な安全策です。これがない場合、再試行ではプール済み接続による試行と同じ短い OMNIROUTE_DIRECT_HEADERS_TIMEOUT_MS の時間枠が再利用され、正常ではあるものの TTFB が遅い推論モデルで 504 が発生していました。上記の一律の下限を下回ることはありません。呼び出し元がデッドラインシグナルをまったく指定しない場合、再試行では一律の下限がそのまま維持されます。
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 にすると、フラグが有効でもこのガードを無効にします。
OPENCODE_PARK_AND_RESUME false OpenCode エグゼキューターのみ:一時的な 429 が繰り返し発生した場合(または新しいプール負荷マーカーがある場合)、ハートビートを維持しながらリクエストを保留し、その後、フリート全体へ展開する代わりに、最大3つのアカウントを順番に試す上限付きの1区間を再実行します(#13924)。デフォルトでは無効です。無効時は従来どおり、429 が発生するたびに次のアカウントへローテーションします。
OPENCODE_POOL_STRAIN_MARKER_PATH (未設定) OpenCode エグゼキューターのみ:保留前に読み取るプール負荷マーカー({since, reason, ttl_s}、デフォルトは /tmp/opencode-pool-strain.json、#13924)のパスを上書きします。新しいマーカーがある場合は再集計せずに保留します。マーカーが存在しないか古い場合は、バーストカウンターにフォールバックします。
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.ts の validationRead および modelsProbe プリセットのタイムアウト(ms)。低速なエンドポイント(Cerebras、Cloudflare AI、Groq)では、ダッシュボード上で active/error 状態が頻繁に切り替わるのを防ぐため、値を増やしてください。無効な値(1000未満)または数値以外の値の場合は 8000ms にフォールバックします。
OMNIROUTE_RELAY_FETCH_TIMEOUT_MS 25000 open-sse/utils/proxyFetch.ts における Relay 固有の fetch タイムアウト(#9158)。ハングした Relay は、クライアント/エージェントのタイムアウト(約30秒)より前に失敗させる必要があります。これにより、呼び出し元には汎用的なアップストリームタイムアウトではなく、Relay 固有のエラーが通知されます。常に先に発動するよう、上限は 29000 です。
OMNIROUTE_RETRY_BACKOFF_MS 10 open-sse/utils/proxyFetch.ts における direct/relay/proxy の1回限りの再試行パスで共有される再試行バックオフ(#9158)。0 = 即座に再試行します。
OMNIROUTE_CLAUDE_TLS_TIMEOUT_MS 60000 ネイティブ wreq-js リクエストのタイムアウト(claudeTlsClient.ts)。
OMNIROUTE_CLAUDE_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_PPLX_TLS_TIMEOUT_MS 30000 ネイティブ wreq-js リクエストのタイムアウト(perplexityTlsClient.ts)。
OMNIROUTE_PPLX_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_PPLX_SEARCH_HINT 0(オフ) 呼び出し元のシステムメッセージに「組み込みのウェブ検索を使用できます。検索結果を使って質問に直接回答してください。」を追加します(perplexity-web/protocol.ts)。デフォルトではオフです — Perplexity はいずれにしても検索を行い、コーディングクライアントではこの文がメタコメントとして応答に漏れ出すためです。元に戻すには 1/true/yes/on を設定してください。
OMNIROUTE_GROK_TLS_TIMEOUT_MS 60000 ネイティブ wreq-js リクエストのタイムアウト(grokTlsClient.ts)。
OMNIROUTE_GROK_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_NOTION_TLS_TIMEOUT_MS 30000 ネイティブ wreq-js リクエストのタイムアウト(notionTlsClient.ts)。notion-web では、生成に時間がかかる場合、リクエストごとに 180000 まで引き上げられます。
OMNIROUTE_NOTION_TLS_GRACE_MS 10000 ネイティブタイムアウトに追加される、JS の絶対的なハードデッドラインの猶予時間。
OMNIROUTE_BROWSER_POOL on ブラウザベースの web-cookie チャット用の共有 Playwright ブラウザプール(browserPool.ts)。無効にするには off を設定します。
OBSCURA_BIN auto-detect ブラウザプールおよび Cloudflare Playground executor がプライマリエンジンとして使用する obscura バイナリへのパス(open-sse/services/obscura.ts)。未設定の場合はシステムの PATH から自動検出されます。
OBSCURA_CDP_ENDPOINT (未設定) 新たに起動する代わりに、すでに実行中の Obscura(http://host:port)を指定します。このモジュールはそのプロセスを所有しません(open-sse/services/obscura.ts)。
OBSCURA_PORT ランダムな空きポート 起動される obscura serve の明示的なポート。未設定の場合は空きポートが自動的に選択されます(open-sse/services/obscura.ts)。
WEB_COOKIE_USE_BROWSER 0 web-cookie チャットリクエストでブラウザベースのパスを使用するようオプトインします(browserBackedChat.ts)。有効にするには 1 を設定します。
KIMI_WEB_BASE_URL https://www.kimi.ai Kimi Web(国際版 kimi.ai Connect-RPC)executor のベース URL(kimi-web.ts)。ミラー/プロキシエンドポイントを使用する場合にのみオーバーライドしてください。
KIMI_WEB_CHAT_URL <KIMI_WEB_BASE_URL>/apiv2/kimi.gateway.chat.v1.ChatService/Chat Kimi Web executor の完全なチャットエンドポイント(kimi-web.ts)。
OMNIROUTE_LOGIN_BROWSER_PATH (自動検出) Adobe Firefly の対話型ブラウザサインインで使用するシステム上の Chrome/Edge 実行可能ファイルへのパス(adobeFireflyBrowserLogin.ts)。OS ごとの自動検出をオーバーライドします。
OMNIROUTE_STANDALONE_DIR .build/ の standalone 出力 ビルド後の同一配置ステップ(scripts/build/colocate-standalone.mjs)で使用される standalone 出力ディレクトリのビルド時オーバーライド。ランタイムではなく、ビルドツール用です。

combo ターゲットの試行は、解決済みのアップストリームリクエストタイムアウト(FETCH_TIMEOUT_MS、または fetch のデフォルト値を提供する場合は REQUEST_TIMEOUT_MS)を継承します。combo、 combo のデフォルト、または provider のオーバーライドで targetTimeoutMs を設定するのは、 combo のフォールバックを高速化する場合だけにしてください。現在のアップストリームタイムアウトを超える値は、 アップストリームタイムアウトを上限として制限されます。

comboTimeoutMs は、フェイルオーバーターゲット全体にまたがる combo 全体の独立した実時間予算です。 無制限の反復を維持するには、未設定または 0 のままにしてください( comboPredicates.ts にハードコードされた10分間のハング停止は引き続き適用されます)。 正の値を指定すると、combo ではそのセーフティネットが置き換えられます。 遅い最初のターゲットの後でもフェイルオーバーに時間を確保できるよう、comboTimeoutMs は targetTimeoutMs より長く設定してください。

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

Section titled “サーキットブレーカーのしきい値”

provider レベルのサーキットブレーカー調整。デフォルト値には、v3.6 以降で500以上の接続に使用されているスケーリング済みの値が反映されています。

変数 デフォルト ソースファイル 説明
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_THRESHOLD 8 open-sse/config/constants.ts ブレーカーが作動するまでの OAuth プロバイダーの連続失敗しきい値。
OMNIROUTE_CIRCUIT_BREAKER_OAUTH_RESET_MS 60000 open-sse/config/constants.ts OAuth プロバイダーのブレーカーのリセット期間(ms)。
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 キープロバイダーのブレーカーのリセット期間(ms)。
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 ローカルプロバイダーのブレーカーのリセット期間(ms)。
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 プロバイダーのローリング失敗回数集計期間(ms)。
OMNIROUTE_PROVIDER_BREAKER_OAUTH_COOLDOWN_MS 300000 open-sse/config/constants.ts プロバイダーレベルのブレーカー:OAuth プロバイダーがしきい値に達した後のクールダウン時間(ms)。
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 キープロバイダーのローリング失敗回数集計期間(ms)。
OMNIROUTE_PROVIDER_BREAKER_API_KEY_COOLDOWN_MS 600000 open-sse/config/constants.ts プロバイダーレベルのブレーカー:API キープロバイダーがしきい値に達した後のクールダウン時間(ms)。
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 プロバイダーレベルのブレーカー:ローカルプロバイダーのローリング失敗回数集計期間(ms)。
OMNIROUTE_PROVIDER_BREAKER_LOCAL_COOLDOWN_MS 60000 open-sse/config/constants.ts プロバイダーレベルのブレーカー:ローカルプロバイダーがしきい値に達した後のクールダウン時間(ms)。
PIN_DROP_BACKOFF_LEVEL 2 open-sse/services/combo.ts コンテキストキャッシュのピンに紐づくプロバイダーが持続的に異常と見なされ、フェイルオーバーのためにピンが解除されるバックオフ深度。
PIN_DROP_GRACE_MS 20000 open-sse/services/combo.ts コンテキストキャッシュのピンを解除する前に、短時間の一時的なクールダウンを許容するアンチフラップ期間(ms)。
シナリオ 設定
長時間実行されるコード生成 REQUEST_TIMEOUT_MS=900000(15 分)
ストリームの合計存続時間を制限 STREAM_ACTIVE_TIMEOUT_MS=1260000(21 分)
本番 API の高速失敗 API_BRIDGE_PROXY_TIMEOUT_MS=10000
拡張思考モデル STREAM_IDLE_TIMEOUT_MS=300000(チャンク間 5 分)

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

変数 デフォルト 説明
APP_LOG_LEVEL info 最小ログレベル:debug、info、warn、error。
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 ローテーション前の最大ファイルサイズ。50M、1G、512K、または単純なバイト数を指定できます。
APP_LOG_RETENTION_DAYS 7 ローテーションされたアプリケーションログファイルを保持する日数。
APP_LOG_MAX_FILES 20 ローテーションされたログファイルのバックアップ最大数。
CALL_LOG_RETENTION_DAYS 7 データベース内のリクエスト/呼び出しログエントリを保持する日数。
CALL_LOG_MAX_ENTRIES 10000 メモリ内バッファに保持する呼び出しログエントリの最大数。
CALL_LOGS_TABLE_MAX_ROWS 100000 削除処理が行われるまでの call_logs SQLite テーブルの最大行数。
ENABLE_REQUEST_LOGS (未設定) ダッシュボード設定を上書きし、詳細なリクエストロギングを強制的にオンまたはオフにします。
MAX_PENDING_REQUEST_AGE_MS 3600000(1 時間) メモリ内クリーンアップの対象となる、孤立したアクティブなリクエストログエントリの最大経過時間。
CALL_LOG_PIPELINE_CAPTURE_STREAM_CHUNKS false call_log_pipeline_enabled=true の場合に、ストリームチャンクをパイプラインアーティファクトへ保存します。オプトイン(true)方式で、ディスク容量を節約するためデフォルトではオフです。
CALL_LOG_PIPELINE_MAX_SIZE_KB 512 call_log_pipeline_enabled=true の場合のパイプライン呼び出しログアーティファクトの最大サイズ(KB)。
PROXY_LOGS_TABLE_MAX_ROWS 100000 削除処理が行われるまでの proxy_logs SQLite テーブルの最大行数。
PROXY_LOG_INCLUDE_IPS false [ProxyEgress] コンソールログにクライアント/送信元 IP とアカウントプレフィックスを含めます。ダッシュボード/データベースのプロキシログレコードには、引き続き完全な詳細が保持されます。
APP_LOG_ROTATION_CHECK_INTERVAL_MS 60000(1 分) 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 はサイズに基づく切り詰めをスキップします。デバッグ専用です。

変数 デフォルト 説明
OMNIROUTE_MEMORY_MB 自動(ベアメタル); Docker イメージでは 1024 Docker/スタンドアロン向けに推奨される V8 ヒープ上限(MB)。未設定の場合、動的に調整されます(システム RAM の約 35%、[512, 4096] の範囲に制限)。512 は、総メモリを読み取れない場合にのみ下限として使用されます。run-standalone.mjs(Docker CMD)では、明示的な値が --max-old-space-size として追加され、競合する NODE_OPTIONS のヒープフラグより優先されます(V8 では最後のフラグが有効)。omniroute serve は引き続き既存の NODE_OPTIONS ヒープ設定を優先します(#5238)。両方に異なる数値を設定しないでください。プロセスは両方の値と優先される値を明記した警告をログに出力します。公式 Docker イメージでは常に 1024 が設定されるため、動的調整は実行されません。 コーディングエージェントの /v1/responses には、cgroup の余裕分に加えて 8192~12288 が必要です。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 を信頼します。管理されたローカル開発環境でのみ使用してください。

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

Section titled “メモリ、スキル、トークン更新のイベントループコスト(#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 300000(5 分) インメモリ埋め込みキャッシュの 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 の定数 k(sqlite-vec のレシピ)。
VECTOR_STORE_DISABLE_VEC false getVectorStore()(src/lib/memory/vectorStore.ts)のテスト/診断用シーム。true の場合、ベクトルストアを強制的に null にし(sqlite-vec のないクラウド/WASM 環境をシミュレート)、メモリ検索を FTS5 キーワード検索へフォールバックさせます。本番環境では未設定のままにしてください。
NOTION_API_KEY (未設定) Notion バックエンド用の API キー(genericBackend.ts の既知のバックエンドプリセットで使用)。
NOTION_API_URL https://api.notion.com/v1 Notion API のベース URL(セルフホスト型の Notion 代替サービス向けに上書き可能)。
OBSIDIAN_API_KEY (未設定) Obsidian Vault バックエンド用の API キー(genericBackend.ts の既知のバックエンドプリセットで使用)。
OBSIDIAN_API_URL http://localhost:27123 Obsidian Vault API のベース URL(リモート 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)向けに追加してください。

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

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

変数 デフォルト ソースファイル 説明
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_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 プロバイダー(非公式/実験的)

Section titled “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 プロバイダー(非公式/実験的)

Section titled “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 プロバイダー向けの個人 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 プロバイダー(非公式/実験的)

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

Adobe Firefly Web プロバイダー向けのブラウザー駆動型セッション更新 (open-sse/services/adobeFireflyBrowserLogin.ts、open-sse/services/adobeFireflySession.ts、 open-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)。組み込みのデフォルト値を上書きします。

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

変数 デフォルト ソースファイル 説明
OPENROUTER_CATALOG_TTL_MS 86400000(24時間) src/lib/catalog/openrouterCatalog.ts OpenRouterモデルカタログのキャッシュTTL。
MODEL_CATALOG_INCLUDE_NAMES true src/shared/constants/featureFlagDefinitions.ts /v1/modelsレスポンスに表示用のnameフィールドを含めます。IDのみを想定するクライアントでは無効にしてください。
CATALOG_BUILD_TIMEOUT_MS 8000(8秒) src/app/api/v1/models/catalogCache.ts 統合されたGET /v1/modelsカタログ再構築のコールドパス待機時間の上限(#12627)。タイムアウト時、正常な直近の200レスポンスが存在する場合は、それを返します。
OMNIROUTE_SYNCED_CATALOG_STALE_AFTER_MS 2592000000(30日) src/lib/db/models/activeSyncedCatalog.ts 接続で同期されたモデル一覧がルーティングの信頼できる情報源ではなくなり、レジストリへのフォールオープンが行われるまでの期間(#12849)。タイムスタンプが一度も設定されていない行は古いものと見なされます。
NANOBANANA_POLL_TIMEOUT_MS 120000 open-sse/handlers/imageGeneration.ts NanoBanana画像生成ジョブの最大待機時間。
NANOBANANA_POLL_INTERVAL_MS 2500 open-sse/handlers/imageGeneration.ts NanoBananaジョブのポーリング頻度。
ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS 8000 open-sse/services/adobeFireflyUpscale.ts Adobe Fireflyアップスケール送信再試行における指数バックオフの基本遅延時間。
AWS_REGION (未設定) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts AWS Bedrockエンドポイント(Kiro、音声)の構築に使用するリージョン。
AWS_DEFAULT_REGION (未設定) src/lib/providers/validation.ts, open-sse/handlers/audioSpeech.ts AWS_REGIONが設定されていない場合のフォールバック。
CLOUDFLARE_ACCOUNT_ID (未設定) open-sse/executors/cloudflare-ai.ts Cloudflare Workers AIのアカウントID。
CLOUDFLARE_PLAYGROUND_CHROME_PATH (未設定) open-sse/executors/cloudflare-playground.ts 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.yml(tunnel:、credentials-file:、ingress:を含む)へのパス。設定されている場合、OmniRouteは一時的なクイックトンネルの代わりにtunnel --config &lt;path&gt; run(名前付きトンネル)を実行します。
CLOUDFLARED_HOSTNAME (設定のingressから取得) src/lib/cloudflaredTunnel.ts publicUrl/apiUrlとして報告される名前付きトンネルの公開ホスト名(例:ai.example.com)の上書き設定。未設定の場合、設定内の最初のingressホスト名から読み取られます。
DENO_DEPLOY_API_BASE https://api.deno.com/v2 src/app/api/settings/proxy/deno-deploy/route.ts プロキシプールのリレーデプロイヤーが使用する Deno Deploy REST API のベースを上書きします(#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 300000(5分) open-sse/services/searchCache.ts 検索 API(Perplexity、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 組み込み Mux(coder/mux)エージェントオーケストレーションデーモンがリッスンするポートを上書きします(常に 127.0.0.1)。
OPENWA_SERVICE_PORT 8323 src/lib/services/bootstrap.ts 組み込み open-wa(WhatsApp Web 自動化)デーモンがリッスンするポートを上書きします(常に 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 互換プロバイダーを追加してください。


変数 デフォルト ソースファイル 説明
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_RECOVERY_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 つのプローブを送信する間の遅延(ミリ秒)です。これがない場合、バッチ全体が同時に送信されるため、共有の送信元 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 に設定します。
FLUSH_EMPTY_RETRY_ENABLED false src/shared/utils/featureFlags.ts オプトインの機能フラグです(FEATURE_FLAGS.md を参照。ダッシュボードの DB オーバーライドが優先されます)。true(または 1、yes)に設定すると、空の 200 またはコンテンツが空の 502 を返す代わりに、空の変換済みストリーミングターンを通常の認証情報パス経由で再試行します(最大 STREAM_RECOVERY.EMPTY_TURN_RETRY_MAX 回)。
PROXY_POOL_EGRESS_OBSERVATION false src/shared/utils/featureFlags.ts オプトインの機能フラグです(FEATURE_FLAGS.md を参照。ダッシュボードの DB オーバーライドが優先されます)。true(または 1、yes)に設定すると、ダッシュボードのプロキシプール配下に読み取り専用の送信元観測情報が表示されます(プロキシログに基づく、過去 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 30000(30秒) src/lib/resilience/settings.ts デフォルトのキュー待機時間枠:リクエストが拒否されてアップストリームに到達しなくなるまでに、プロバイダースロットを待機し、キューに留まることができる時間です。ジョブの実行が開始されるとタイマーは解除されます。実行時間は RATE_LIMIT_EXECUTION_MAX_WAIT_MS によって別途制限されます。環境変数で設定されるのはデフォルト値のみです。永続化された resilienceSettings.requestQueue.maxWaitMs、次に接続ごとの rateLimitOverrides.maxWaitMs が、それぞれこの値より優先されます。
RATE_LIMIT_EXECUTION_MAX_WAIT_MS 600000(10分) open-sse/services/rateLimitManager.ts 許可されたリクエストが、レート制限の予約期限が切れるまで実行状態に留まることができる時間の上限です。キュー待機時間枠とは分離されているため、非インクリメンタルゲートウェイでフェッチ開始が遅い場合でもタイムアウトしません(#12027)。
RATE_LIMIT_MAX_QUEUE_DEPTH 0(無効) open-sse/services/rateLimitManager.ts キュー受付数の上限:すでにこの数のリクエストがキューに入っている場合、429 queue_full で拒否します。0 = 無制限(デフォルト)。
RATE_LIMIT_AUTO_ENABLE (未設定) open-sse/services/rateLimitManager.ts 永続化された Dashboard 設定に関係なく、レート制限の自動有効化セーフティネットを強制的にオン/オフします。強制的にオンにするには true/1/on、強制的にオフにするには false/0/off を指定できます。
PROVIDER_COOLDOWN_ENABLED (未設定 → オフ) open-sse/services/providerCooldownTracker.ts リクエストをまたぐグローバルなプロバイダー/接続クールダウン追跡をオプトインで有効にします。デフォルトではオフです(接続クールダウン/プロバイダーサーキットブレーカーと機能が重複します)。有効にするには true/1/on を指定します。
PROVIDER_COOLDOWN_MIN_MS 5000 open-sse/services/providerCooldownTracker.ts 障害が発生したプロバイダー/接続を再試行するまでの最小クールダウン時間(ms)。連続した失敗回数に応じて指数関数的に延長されます。PROVIDER_COOLDOWN_ENABLED が有効な場合にのみ使用されます。
PROVIDER_COOLDOWN_MAX_MS 300000(5分) 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_MS(750 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互換ストリームのみが対象で、ツール呼び出しの処理中には実行されません。**有効にする場合:**長い生成が回答の途中で切断され、復旧された末尾部分がトークン単位ではなく一括で到着することを許容できる場合に有効にします。STREAM_RECOVERY_ENABLED とは独立しています(リスク特性が異なります)。true/1/on で有効になります。
STREAM_THROUGHPUT_WATCHDOG_ENABLED (未設定 → オフ) src/lib/resilience/settings.ts → open-sse/services/throughputWatchdog.ts アクティブなストリームの有用な出力を監視するウォッチドッグをオプトインで有効にします。チャンクを送信し続けていても、設定されたassistant出力レートを下回っているストリームを検出します。ハートビート、使用量イベント、空のdelta、ツール/reasoningフェーズは進捗として扱われません。アイドルタイムアウトおよびハードデッドラインタイムアウトとは別の機能です。
STREAM_THROUGHPUT_WATCHDOG_WARMUP_MS 30000 src/lib/resilience/settings/normalize.ts スループット評価を開始するまでの猶予期間。0~600000 msの範囲に制限されます。
STREAM_THROUGHPUT_WATCHDOG_WINDOW_MS 30000 src/lib/resilience/settings/normalize.ts 有用な出力を測定するローリングウィンドウ。1000~600000 msの範囲に制限されます。中断するには、1つの完全なウィンドウが必要です。
STREAM_THROUGHPUT_WATCHDOG_MIN_BYTES_PER_SECOND 4 src/lib/resilience/settings/normalize.ts assistant出力の最小UTF-8バイトレート(保守的なトークン換算値)。1~1000000の範囲に制限されます。
STREAM_THROUGHPUT_WATCHDOG_MIN_USEFUL_BYTES 1 src/lib/resilience/settings/normalize.ts 測定可能とみなされる、ゼロではない有用な出力サンプルの最小サイズ。1~1000000バイトの範囲に制限されます。
HEALTHCHECK_STAGGER_MS 3000 src/lib/tokenHealthCheck.ts 起動時にプロバイダートークンのヘルスチェックを実行する間隔(ms)。
HEALTHCHECK_JITTER_MIN_MS 500 src/lib/tokenHealthCheck.ts バーストを防ぐため、プロバイダートークンのヘルスチェック間で HEALTHCHECK_STAGGER_MS に加えて適用されるランダム化ジッターの最小値(ms)(Issue #1220)。
HEALTHCHECK_JITTER_MAX_MS 5000 src/lib/tokenHealthCheck.ts バーストを防ぐため、プロバイダートークンのヘルスチェック間で HEALTHCHECK_STAGGER_MS に加えて適用されるランダム化ジッターの最大値(ms)(Issue #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.ts(STREAM_RECOVERY)内のハードコードされた定数によって調整されます。参考として以下に示します。 これらを変更するには、環境変数ではなくコードの編集が必要です。

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

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


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

変数 デフォルト ソースファイル 説明
CURSOR_DEBUG (未設定) open-sse/executors/cursor.ts 1 に設定すると、Cursor executor の詳細ログ(デコード済み 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 executor のストリームアイドルタイムアウト(ミリ秒)です。
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 のパスに適用されます。また、エコーされたシステムプリアンブルブロックから除去するディレクティブのプレフィックスとしても使用されます。無効にする場合は未設定のままにしてください。
OMNIROUTE_STRIP_SYSTEM_PREAMBLE 0(オフ) open-sse/translator/response/openai-to-claude.ts, open-sse/utils/directivePreambleStripper.ts 1 に設定すると、openai→claude ストリームの先頭から、エコーされたシステムプロンプトのプリアンブルブロックを除去します。デフォルトではオフです。ヒューリスティクスは英語の散文を前提としており、レスポンスのペイロードを変更するため、正当にそのようなセクションで始まる応答では、そのセクションが失われます。
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 ビルド ID(YYYY.MM.DD-&lt;hash&gt;)です。
CURSOR_AGENT_BIN (未設定) open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts 画像生成に使用する Cursor Agent バイナリへのパスです。未設定の場合、ハンドラーは providerSpecificData.agentBin、次に PATH を使用します。
CURSOR_IMG_TIMEOUT_MS 210000 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Cursor Agent の画像ジョブにおける画像ごとの実経過時間の上限(ミリ秒)です。
CURSOR_IMG_MAX_CONCURRENT 2 open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts Cursor 画像ジョブに対する共有シートの同時実行数制限です。
CURSOR_IMG_MODEL リクエスト / auto open-sse/handlers/imageGeneration/providers/cursorAgentImage.ts 画像ジョブに使用する Cursor CLI の --model を上書きします。
UC_IMAGE_POLL_INTERVAL_MS 2000 open-sse/handlers/imageGeneration/providers/ucImage.ts UC(uncensored.com)画像生成結果のポーリング間隔(ミリ秒)です。
UC_IMAGE_POLL_TIMEOUT_MS 60000 open-sse/handlers/imageGeneration/providers/ucImage.ts UC 画像生成結果のポーリングにおける実経過時間の上限(ミリ秒)です。
UC_VIDEO_POLL_INTERVAL_MS 3000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UC(uncensored.com)動画生成結果のポーリング間隔(ミリ秒)です。
UC_VIDEO_POLL_TIMEOUT_MS 300000 open-sse/handlers/videoGeneration/providers/ucVideo.ts UC 動画生成結果のポーリングにおける実経過時間の上限(ミリ秒)です。
CURSOR_DATA_DIR (探索) open-sse/utils/cursorAgentCliVersion.ts Cursor Agent CLI のデータディレクトリ(…/versions/&lt;id&gt;)を上書きします。公式 Agent が使用するものと同じ変数です。
CURSOR_TOKEN (未設定) scripts/ad-hoc/cursor-tap.cjs 開発者向けツールで使用される直接指定の Cursor bearer token です。
OMNIROUTE_LOG_REQUEST_SHAPE 無効("1" でオプトイン) src/app/api/v1/chat/completions/route.ts "1" が設定されている場合、大きなチャットペイロードの content-type/length マーカーをログに記録します。ログノイズを減らすため、デフォルトではオフです。
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 テストモード(認証の緩和、テストフック)が有効になります。

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

変数 デフォルト ソースファイル 説明
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
ターミナルウィンドウ
JWT_SECRET=&lt;generated&gt;
API_KEY_SECRET=&lt;generated&gt;
INITIAL_PASSWORD=&lt;generated&gt;
STORAGE_ENCRYPTION_KEY=&lt;generated&gt;
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
ターミナルウィンドウ
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

リバースプロキシ(nginx + Cloudflare)を使用したVPS

Section titled “リバースプロキシ(nginx + Cloudflare)を使用したVPS”
ターミナルウィンドウ
JWT_SECRET=&lt;generated&gt;
API_KEY_SECRET=&lt;generated&gt;
STORAGE_ENCRYPTION_KEY=&lt;generated&gt;
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+)

Section titled “24. Skills サンドボックス(v3.8.0+)”

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

変数 デフォルト ソースファイル 説明
SKILLS_SANDBOX_TIMEOUT_MS 10000(10 秒) src/lib/skills/builtins.ts サンドボックス化されたスキルコードに対する、実行ごとの実時間タイムアウト。ハード上限であり、これを超える処理は強制終了されます。
SKILLS_EXECUTION_TIMEOUT_MS (SKILLS_SANDBOX_TIMEOUT_MS にフォールバック) src/lib/skills/ 高レベルのスキルオーケストレーションのタイムアウト。複数ステップのワークフローを許可するには、SKILLS_SANDBOX_TIMEOUT_MS より大きい値を設定します。
SKILLS_MAX_FILE_BYTES 1048576(1 MB) src/lib/skills/builtins.ts スキルがサンドボックス内の単一ファイルから読み取れる最大バイト数。
SKILLS_MAX_HTTP_RESPONSE_BYTES 256000(250 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 | podman。auto はホスト 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. プロバイダーのクォータ、トンネル、バックアップ、その他のランタイム設定

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

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

変数 デフォルト ソースファイル 説明
REDIS_URL redis://localhost:6379 src/shared/utils/rateLimiter.ts レートリミッターのバックエンドに使用する Redis 接続文字列。
ALIBABA_CODING_PLAN_HOST (本番ホスト) open-sse/services/bailianQuotaFetcher.ts Alibaba Bailian の coding-plan クォータの取得に使用するホストをオーバーライドします。
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 を使用してダッシュボードの 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 を解決するために使用するダッシュボード 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 プロキシ接続のアイドルソケットタイムアウト(ミリ秒)。半開きトンネルのリークを防ぐため、この時間を超えてアイドル状態のソケットは切断されます。
BRIDGE_PORT 20129 bin/antigravity-bridge.mjs Antigravity MITM ブリッジがリッスンするポート。
ROUTER_URL http://127.0.0.1:20128/v1/antigravity bin/antigravity-bridge.mjs ブリッジが Antigravity トラフィックを転送するルーターエンドポイント。
CERT_DIR ~/.omniroute/mitm bin/antigravity-bridge.mjs ブリッジの TLS リスナー用の server.key/server.crt を格納するディレクトリ。いずれかが存在しない場合、ブリッジは終了します。
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 を削除するには、1(真値)に設定します。これは、オペレーターが 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 の不正な削除を防止するゲート用のベース参照を明示的に指定します(デフォルトは 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 から 1 回の同期で取得するプロキシの最大数。
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 の 1 回の同期で取得するプロキシ数。
FREE_PROXY_PROXIFLY_ANONYMITY elite src/lib/freeProxyProviders/proxifly.ts Proxifly の匿名性レベルフィルター(elite、anonymous、transparent)。
FREE_PROXY_IPLOCATE_ENABLED false src/lib/freeProxyProviders/iplocate.ts IPLocate の無料プロキシソースを有効にします。オプトイン専用です。
FREE_PROXY_IPLOCATE_BASE_URL https://raw.githubusercontent.com/iplocate/free-proxy-list/main/protocols src/lib/freeProxyProviders/iplocate.ts IPLocate プロキシリストのベース URL を上書きします。
FREE_PROXY_WEBSHARE_ENABLED true src/lib/freeProxyProviders/webshare.ts Webshare プロキシプールソースを有効にします。無効にするには false に設定します。また、FREE_PROXY_WEBSHARE_API_KEY の設定も必要です。
FREE_PROXY_WEBSHARE_API_KEY (なし) src/lib/freeProxyProviders/webshare.ts Webshare アカウントの API トークン(Authorization: Token &lt;key&gt;)。必須です。設定されていない場合、プロバイダーは無効のままです。
FREE_PROXY_WEBSHARE_API_URL https://proxy.webshare.io/api/v2/proxy/list/ src/lib/freeProxyProviders/webshare.ts Webshare プロキシリスト API の URL を上書きします。
FREE_PROXY_WEBSHARE_MAX 500 src/lib/freeProxyProviders/webshare.ts Webshare の同期ごとにインポートするプロキシの最大数。
NEXT_PUBLIC_VERCEL_RELAY_ENABLED true src/app/(dashboard)/…/ProxyPoolTab.tsx プロキシプールタブで「Deploy Vercel Relay」ボタンの表示/非表示を切り替えます。
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 プール飽和率(0..1)。この値以上になると、プールは厳格モード(借用なし)に移行します。
QUOTA_SOFT_DEPRIORITIZE_FACTOR 0.7 open-sse/services/combo.ts ソフトクォータポリシーによってターゲットの優先度が下げられる際に適用されるスコア倍率(0..1)。
STATUS_SOFT_DEPRIORITIZE_FACTOR 0.5 open-sse/services/combo/autoStrategy.ts プリフライトクォータカットオフが OFF の場合(#4540)、自動コンボのスコアリングで上限に達したプロバイダー(credits_exhausted/rate_limited)に適用されるスコア倍率(0..1)。
QUOTA_CONSUMPTION_RETENTION_DAYS 14 src/lib/db/quotaConsumption.ts GC(gcQuotaConsumption)実行前に 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 オプトイン(デフォルトは OFF):auto/&lt;category&gt;:&lt;tier&gt; フィルターに一致する接続済み候補がない場合、空のプールを返す代わりに、完全な(フィルターされていない)プールへフォールバックする従来の動作に戻します。デフォルトの OFF では、:free は「無料ティアのみ」を意味します。
OMNIROUTE_CHAOS_MAX_PANEL 5 open-sse/services/autoCombo/virtualFactory.ts auto/*:chaos ブロードキャストバリアントのパネルサイズ上限(1~10 に制限)。1 件のリクエストが最大でこの数の、プロバイダーの異なるモデルへファンアウトされます。
OMNIROUTE_CHAOS_MIN_PANEL (エンジンのデフォルト) open-sse/services/autoCombo/virtualFactory.ts chaos ブロードキャストハンドラーに渡される最小パネルサイズの調整値。未設定の場合はエンジンのデフォルトが維持されます。
OMNIROUTE_CHAOS_PANEL_TIMEOUT_MS (エンジンのデフォルト) open-sse/services/autoCombo/virtualFactory.ts chaos パネル全体のファンアウトに対するハードタイムアウト(ミリ秒)。未設定の場合はエンジンのデフォルトが維持されます。
GROK_AUTH_PATH ~/.grok/auth.json open-sse/services/grokQuotaFetcher.ts grok-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:&lt;port&gt;)。デフォルトは 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 | auto。ts = TypeScript リレー(Bifrost が未設定の場合のデフォルト)。auto は、BIFROST_BASE_URL が設定され、かつ BIFROST_ENABLED ≠ 0 の場合に 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.ts の LOCAL_ONLY_API_PREFIXES)と組み合わせた二重の安全策です。
OMNIROUTE_LOCAL_ENDPOINTS_TOKEN (未設定) src/lib/security/localEndpoints.ts ループバック上にない /api/local/* 呼び出し元(デスクトップアプリなど)向けの Bearer トークン。設定されている場合、ループバック以外の IP からのリクエストには Authorization: Bearer &lt;token&gt; を含める必要があります。ループバック以外のデプロイ環境で 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 呼び出し元の識別情報を維持する内部 REST ホップ用の共有シークレット(#9260)。OmniRoute コンポーネントがローカルの別の OmniRoute ルートを呼び出す際に x-omniroute-internal-service-token として送信し、元の呼び出し元の識別情報を維持します。timingSafeEqual を使用して比較されます。
OMNIROUTE_INTERNAL_SERVICE_TOKEN_FILE (未設定) src/lib/api/internalServiceAuth.ts 内部サービストークンのシークレットファイル版。トークンとして使用する、前後の空白を除去した内容を含むファイルへのパスです。インライン変数が未設定の場合にのみ参照されます。
OPENROUTER_PROVIDER_STATS_ENABLED true src/lib/catalog/openrouterProviderStats.ts ダッシュボードのプロバイダー一覧に OpenRouter の週間ランキング統計を追加します(#9324)。デフォルトで有効です。バックグラウンド取得を完全に省略するには false に設定してください(ノンブロッキングで、致命的エラーになることはありません)。
OPENROUTER_PROVIDER_STATS_TTL_MS 86400000 (24h) 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 サービス名を参照します。外部デプロイメントの場合は上書きしてください。コード内で qdrantEnabled が true の場合にのみ使用されます(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 ウォームアップスケジューラー

Section titled “Claude ウォームアップスケジューラー”

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

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

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

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

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

変数 デフォルト ソースファイル 説明
OMNIROUTE_VNC_IMAGE omniroute-vnc-chromium:local src/lib/vncSession/manifest.ts Chromium+VNC ログインコンテナ用の Docker イメージタグ。docker/vnc-browser/chromium をビルドするか、カスタムイメージを指定します。
OMNIROUTE_DOCKER_BIN docker src/lib/vncSession/manifest.ts VNC コンテナの起動に使用するコンテナランタイムのバイナリ(例:podman に設定)。
OMNIROUTE_VNC_CONTAINER_VNC_PORT 3000 src/lib/vncSession/manifest.ts コンテナ内で公開される VNC/noVNC ポート。
OMNIROUTE_VNC_CONTAINER_CDP_PORT 9223 src/lib/vncSession/manifest.ts コンテナ内の Chrome DevTools Protocol ポート。
OMNIROUTE_VNC_CONTAINER_PROFILE_DIR /config src/lib/vncSession/manifest.ts コンテナ内の Chromium プロファイルディレクトリのパス。
OMNIROUTE_VNC_PROFILE_DIR $HOME/.omniroute/browser-login-profiles src/lib/vncSession/manifest.ts 永続化されたブラウザログインプロファイルを保持するホスト側ディレクトリ。
OMNIROUTE_VNC_IDLE_MS 600000(10 分) src/lib/vncSession/manifest.ts 非アクティブな VNC セッションが破棄されるまでのアイドルタイムアウト(ミリ秒)。
OMNIROUTE_VNC_MAX_MS 1800000(30 分) src/lib/vncSession/manifest.ts 1 つの 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_DIR と OMNIROUTE_DATA_DIR の両方が未設定の場合にのみ確認されます。Notion Web スレッドのセッションキャッシュ(&lt;dir&gt;/notion-web-thread-sessions.json)の場所を指定します。

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

変数 デフォルト ソースファイル 説明
OMNIROUTE_E2E_BOOTSTRAP_MODE auth scripts/dev/run-next-playwright.mjs Playwright ランナーの E2E ブートストラップモード(auth、fresh、reuse)。
OMNIROUTE_E2E_PASSWORD INITIAL_PASSWORD にフォールバック scripts/dev/run-next-playwright.mjs Playwright 環境に注入される管理者パスワード。
OMNIROUTE_DISABLE_LOCAL_HEALTHCHECK true scripts/dev/run-next-playwright.mjs Playwright の実行中、ローカルヘルスチェックのポーリングを無効にします。
OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK true scripts/dev/run-next-playwright.mjs テスト中、OAuth トークンのヘルスチェックループを無効にします。
OMNIROUTE_HEALTHCHECK_SKIP_PROVIDERS (未設定) src/lib/tokenHealthCheck.ts プロアクティブなトークン更新スイープから除外するプロバイダーをカンマ区切りで指定します(例:codex,openai)。ヘルスチェックを完全に無効化する代わりとなる対象限定の設定です。TTL が短いプロバイダーは更新を継続し、カスケードプロバイダーはリアクティブな更新のみを行います。
OMNIROUTE_HIDE_HEALTHCHECK_LOGS true scripts/dev/run-next-playwright.mjs Playwright の標準出力に含まれるヘルスチェックのノイズを抑制します。
OMNIROUTE_PLAYWRIGHT_SKIP_BUILD 0 scripts/dev/run-next-playwright.mjs 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 バイナリのパスを上書きします。

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

Section titled “ドキュメント翻訳パイプライン”

scripts/i18n/run-translation.mjs(npm 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 フィード(セルフホスティング)

Section titled “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 ダッシュボードの「コントリビューターです」ボタンで開く URL(GitHub OAuth サポーターキー申請フロー)。
RADAR_SUPPORTER_PLANS_URL https://radar.omniroute.online/planos src/lib/radar/links.ts ダッシュボードの「プロジェクトを支援」ボタンで開く URL(支払い/プランページ)。
RADAR_ADMIN_URL (未設定) src/lib/radar/links.ts 所有者専用の非公開運用パネルへのリンク。HTTP ループバック SSH 転送を除き、HTTPS が必須です。未設定または無効な値の場合、ナビゲーション項目は作成されません。

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

Section titled “監査:削除済み/未使用の変数”

以下の変数は以前のバージョンの .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 設定の再生成(アドホックツール)

Section titled “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 にフォールバックします。

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

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

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

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

ブラウザー自動化プロバイダー向けの 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_PROVIDER_STATS_ENABLED true カタログ情報の拡充に使用する OpenRouter のプロバイダー別統計の取得をスキップするには、false に設定します。
OPENROUTER_PROVIDER_STATS_TTL_MS 3600000 取得した OpenRouter プロバイダー統計のキャッシュ TTL(ミリ秒)。
変数 デフォルト 説明
REDIS_BIND_HOST 127.0.0.1 組み込み Redis サービスのバインドアドレス。
REDIS_PORT 6379 組み込み Redis サービスのポート。
OMNIROUTE_REDIS_BIND_HOST – 組み込み Redis のバインドアドレスに対する OmniRoute スコープのオーバーライド。

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

Section titled “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 は引き続き生成されます)。デスクトップリリースワークフローで、アップロードするアーティファクトのサイズを削減するために使用されます。

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

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

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

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

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)では推定リクエストコストを賄えない接続をスキップします。予算が設定されていない場合はフェイルオープンします。

OmniRoute ソースコード (a58000c7685f)

HagiCode

HagiCode は構造化ワークフロー、マルチエージェント実行、Hero Dungeon ビューを備えたエージェント型コーディングワークスペースです。

よりスマートで速く、楽しいエージェント型ワークフローで、使いやすいソフトウェアを形にします。

HagiCode ライトテーマのメイン画面
  • Smart構造化ワークフローは意図をアイデアから変更のリリースまで実行可能な道筋にします。
  • Efficientマルチエージェントのワークフローで調査、実装、レビューを並行して進めます。
  • FunHero Dungeon により長時間のコーディングを視覚的で協力的な体験にします。
HagiCode を見る