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

CLI Integrations (日本語)

すべてのコマンドは、アクティブなコンテキスト(omniroute connect で設定。詳細は リモートモードを参照)または明示的な --remote <url> --api-key <key> フラグに従います。 以下の「ローカルとリモート」の意味は、フラグがない場合は http://localhost:20128 を対象とし、 --remote を指定した場合(またはアクティブなリモートコンテキストがある場合)は、そのサーバーから カタログを取得し、設定をローカルに書き込むということです。

コマンド ツール 書き込む内容 主なフラグ ローカル対リモート
omniroute setup-codex OpenAI Codex CLI ~/.codex/<name>.config.toml — 互換性のあるテキストモデルごとに1つのプロファイル(codex --profile <name>) --remote --api-key --only --dry-run --port --codex-home 両方
omniroute setup-claude Claude Code ~/.claude/profiles/<name>/settings.json — 一致したモデルごとに1つのプロファイル(CLAUDE_CONFIG_DIR) --remote --api-key --only --dry-run --port --claude-home 両方
omniroute setup-opencode OpenCode(OpenAI互換) ~/.config/opencode/opencode.json — カタログ内の全モデルを含むomnirouteプロバイダー(opencode -m omniroute/<model>) --remote --api-key --only --model --dry-run --port 両方
omniroute setup-cline Cline ~/.cline/data/{globalState,secrets}.json(CLIモード)+ VS Code拡張機能の設定を出力 --remote --api-key --model --yes --dry-run --port --cline-dir 両方
omniroute setup-kilo Kilo Code ~/.local/share/kilo/auth.json(CLI)+ VS Codeのsettings.jsonが存在する場合はkilocode.*をマージ --remote --api-key --model --yes --dry-run --port --auth-path --vscode-settings 両方
omniroute setup-continue Continue / cn CLI ~/.continue/config.yaml — provider: openaiモデル、キーは${{ secrets.OMNIROUTE_API_KEY }}経由 --remote --api-key --only --dry-run --port --config-path 両方
omniroute setup-cursor Cursor なし — アプリ内での手順を出力(Cursorの設定は非公開のSQLite) --remote --api-key --only --port 両方
omniroute setup-roo Roo Code ~/.omniroute/roo-settings.json(インポート用ドキュメント)+ VS Codeのsettings.jsonが存在する場合はroo-cline.autoImportSettingsPathを設定 --remote --api-key --model --yes --dry-run --port --import-path --vscode-settings 両方
omniroute setup-crush Crush ~/.config/crush/crush.json — openai-compatプロバイダー、キーは$OMNIROUTE_API_KEY経由 --remote --api-key --only --dry-run --port --config-path 両方
omniroute setup-goose Goose ~/.config/goose/config.yaml(GOOSE_PROVIDER/OPENAI_HOST/GOOSE_MODEL)+ 環境変数の設定手順を出力 --remote --api-key --model --yes --dry-run --port --config-path 両方
omniroute setup-aider Aider ~/.aider.conf.yml(openai-api-base+model: openai/<id>)+ 環境変数の設定手順を出力 --remote --api-key --model --yes --dry-run --port --config-path 両方
omniroute setup-qwen Qwen Code ~/.qwen/settings.json — V4のmodelProviders.openai配列+~/.qwen/.env内のOMNIROUTE_API_KEY --remote --api-key --model --yes --dry-run --port --config-path --env-path 両方
omniroute setup-5dive 5dive(エージェント群) $HOME配下には何も書き込まない — 5dive agent auth setを介して5diveの認証プロファイル(/var/lib/5dive/auth-profiles/<name>/)を書き込む。root専用で、エージェント群のホスト上で実行 --remote --api-key --model --auth-profile --agent --byo-provider --fivedive-bin --no-sudo --yes --dry-run --port 両方
omniroute run <target> ランタイム起動(汎用) なし — 適切な環境変数と引数を使用してclaude/codex/aider/goose/opencode/qwen/geminiを起動。QwenとGeminiは一時的に分離されたホームを使用 --remote --base-url --context --provider --model --api-key --api-key-env --dry-run --json --port --profile --token 両方
omniroute launch Claude Code なし — ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKENを注入してclaudeを起動 --remote --api-key --token --profile --port 両方
omniroute launch-codex OpenAI Codex CLI なし — -cフラグを介してomnirouteプロバイダーを注入し、codexを起動 --remote --api-key --profile(-p)--port 両方

フラグに関する注記(コマンドのソースで確認済み):

  • --remote <url> — リモートの OmniRoute からカタログを取得します(--port およびアクティブなコンテキストを上書きします)。--api-key <key> はその サーバー用の認証情報を指定します(デフォルトは OMNIROUTE_API_KEY 環境変数、 またはアクティブなコンテキストのトークンです)。
  • --only <patterns> — カンマ区切りの部分文字列です。一致するモデル ID のみを保持します(例:--only glm,kimi)。setup-codex、setup-claude、 setup-opencode、setup-continue、setup-cursor、setup-crush で使用できます。
  • --dry-run — ファイルシステムに変更を加えず、書き込まれる内容をそのまま 出力します。setup-cursor(ファイルを一切書き込みません)を除く すべての setup-* コマンドで使用できます。
  • --model <id> — モデルの自動検出機能がないツール(Cline、Kilo、Roo、 Goose、Qwen、Aider、5dive)では必須です(または対話的に選択します)。 これらのツールは非対話実行用の --yes も受け付けます(その場合は --model が必須です)。setup-opencode では、--model によって デフォルトのトップレベルモデルを設定します。
  • omniroute run の --model <id> は、マニフェストのターゲットごとの配線 (bin/cli/cli-manifest.mjs)に従います。aider には --model openai/<id>、opencode には --model omniroute/<id> が 渡されます(ID にそのプレフィックスがまだ含まれていない場合にのみ追加されます)。 qwen と gemini には ID がそのまま渡されます。claude には ANTHROPIC_MODEL、goose には GOOSE_MODEL、codex には -c model_providers.omniroute.* 引数を介して渡されます。 実行ターゲットの中で --model が厳密に必須なのは Qwen だけです。 --model なしで omniroute run qwen を実行すると、明示的なエラーとともに 終了コード 2 で終了します。
  • --port <port> — ローカル OmniRoute のポートです(デフォルトは 20128。 --remote が設定されている場合は無視されます)。すべての setup-* と両方のランチャーに存在します。
  • omniroute run の終了コード:子 CLI 自体の終了コードがそのまま伝播されます。 2 = 無効な引数(未対応のターゲット、必須の --model の欠如、コンテナガード)、 127 = ターゲットのバイナリが PATH に存在しない、130/143/129 = SIGINT/SIGTERM/SIGHUP によって起動が終了した場合、1 = その他の実行時起動エラーです。
  • 2 つのランチャー(launch、launch-codex)は、 setup-claude / setup-codex によって書き込まれたプロファイルを選択する --profile <name> と、基盤となる claude / codex バイナリへの パススルー引数を受け付けます。

対話型ピッカーはセットアップレシピでも共有されます:

ターミナルウィンドウ
# アクティブなローカルまたはリモートのモデルカタログから選択し、ターゲットを設定します。
omniroute configure claude
omniroute configure opencode --provider glm
omniroute configure qwen --model qwen/qwen3.8-max-preview --yes

configure は現在、codex、claude、opencode、qwen、aider、 goose、cline、continue、kilo、5dive について、テスト済みの レシピに処理を委譲します。IDE 専用、MITM、ガイド専用のカタログエントリは、 引き続き明示的な setup-* / 手動フローとなり、起動可能なターゲットとしては 表示されません。

setup-opencode は、軽量な openai-compatible OpenCode インテグレーションです。より高機能なプラグインインテグレーション omniroute setup opencode もあり、こちらは @omniroute/opencode-plugin をインストールします。これらは異なるコマンドです。上記の表では setup-opencode について説明しています。

このプラグインは OpenCode のメジャーバージョンごとに 1 つずつ、 2 つのパッケージで提供されます。これは、2 つのローダーが異なる エントリポイントを必要とするためです。OpenCode v1 向けの @omniroute/opencode-plugin と、OpenCode v2 向けの @omniroute/opencode-plugin-v2 があります。v2 パッケージは新しく (0.1.0)、まだ変化しているホストコントラクトに従うため、特定の形式を 前提とせず、OpenCode がカタログドラフトに設定する構造を読み取ります。 opencode.json に plugins エントリを追加してインストールしてください。 omniroute setup opencode は引き続き v1 パッケージをインストールします。 オプションと認証情報の検索順序については、パッケージの README を参照してください。


OmniRoute が localhost:20128 で実行されている状態で、お使いのツール用のセットアップコマンドを実行するだけです。カタログはローカルサーバーから取得されます。

ターミナルウィンドウ
# Codex: 一致したモデルごとのプロファイルを ~/.codex/ に書き込む
omniroute setup-codex
codex --profile glm52 # 生成されたプロファイルを使用
# Claude Code: モデルごとのプロファイルを書き込み、そのうち1つを起動
omniroute setup-claude
omniroute launch --profile glm52
# OpenCode: すべてのカタログモデルを含む openai 互換プロバイダーを書き込む
omniroute setup-opencode
export OMNIROUTE_API_KEY=sk-... # {env:OMNIROUTE_API_KEY} 経由で参照され、ディスクには保存されない
opencode -m omniroute/glm/glm-5.2 "..."
# 自動検出に対応していないツールでは、モデルを明示的に指定する必要がある:
omniroute setup-aider --model glm/glm-5.2
omniroute setup-qwen --model qwen/qwen3.8-max-preview
# 何も書き込まずにプレビュー:
omniroute setup-continue --dry-run

設定を一切書き込まずに起動します(環境変数の注入のみ)。

ターミナルウィンドウ
omniroute launch # Claude Code → ローカルの OmniRoute
omniroute launch-codex # Codex CLI → ローカルの OmniRoute
omniroute launch-codex --profile glm52
omniroute run claude --model openai/gpt-5.4
omniroute run codex --model openai/gpt-5.4 --dry-run --json
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# 明示的なコマンドパス: -- より後にあるものをそのまま渡す
omniroute run claude -- --print-system-prompt "review this diff"

任意のセットアップコマンドに --remote と --api-key を指定し、リモートの OmniRoute を参照させます。カタログはリモートから取得され、設定はローカルマシンに書き込まれます。

ターミナルウィンドウ
# リモート VPS 上の OpenCode で、glm/kimi モデルのみを保持
omniroute setup-opencode --remote http://192.168.0.15:20128 --api-key oma_live_xxx \
--only glm,kimi
opencode -m omniroute/glm/glm-5.2 "..." # 先に OMNIROUTE_API_KEY を export する
# リモートカタログから Codex プロファイルを生成
omniroute setup-codex --remote http://192.168.0.15:20128 --api-key oma_live_xxx
# リモートに直接接続して CLI を起動
omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx
omniroute launch-codex --remote http://192.168.0.15:20128 --api-key oma_live_xxx

毎回 --remote/--api-key を渡す代わりに、一度ログインして、アクティブコンテキストから自動的に指定できます。

ターミナルウィンドウ
omniroute connect 192.168.0.15 # スコープ付きトークンを発行し、コンテキストを保存
omniroute setup-codex # ← 以降はリモートカタログを使用
omniroute setup-opencode # ← 同様
omniroute launch # ← リモートに接続して Claude Code を起動

コンテキスト、スコープ、トークン管理については、リモートモードを参照してください。


5dive は、長時間稼働するコーディングエージェントのフリートを実行します。各エージェントは、それぞれ専用の Unix ユーザーで動作する systemd ユニットです。5dive 自体はコーディング CLI ではないため、omniroute run で起動するものはありません。5dive は設定専用のターゲットです。

ターミナルウィンドウ
omniroute configure 5dive --model failover-demo --yes
omniroute setup-5dive --model failover-demo --auth-profile omniroute --agent worker1

どちらの形式でも、1つの 5dive 認証プロファイルを書き込みます。そのプロファイルに紐付けられたすべての claude シートは、その後 OmniRoute と通信します。このターゲットには、以下の3つの固有事項があります。

  • フリートホスト上で root として実行されます。 5dive のコマンドはローカルの systemd ユニットと root 所有の状態ディレクトリに作用するため、リモートモードはありません。すでに root でない場合、レシピは sudo 経由で自身を再実行します(--no-sudo を指定すると、この動作を無効化し、代わりにコマンドを表示します)。
  • ループバックでない限り、エンドポイントは https:// でなければなりません。 エージェントの API キーはリクエストのたびにその URL を通じて送信されるため、5dive はマシン外部への平文エンドポイントを拒否します。プライベート LAN アドレスも例外ではありません。
  • 各シート独自のモデル固定設定は、プロファイルより優先されます。 プロファイルには ANTHROPIC_DEFAULT_{OPUS,SONNET,HAIKU}_MODEL が含まれますが、標準モデル ID に固定されたままのシートは、最初のターンで 「選択したモデルに問題があります」 というエラーになります。シートも固定するには --agent <name> を渡します(複数回指定可能)。指定しない場合、レシピがコマンドを表示します。

API キーは stdin(--api-key=-)で 5dive に渡されるため、ps の出力には表示されません。

プロファイルを単一モデルではなく OmniRoute の combo に向けることで、フリートでプロバイダーのフェイルオーバーが利用可能になります。#11578 に記録された実行では、プライマリエンドポイントがターンの途中で完全にダウンした際、エージェントは残りのステップをフォールバック上で完了し、障害が表面化することはありませんでした。


Base URL の規則(どのツールが /v1 を必要とするか)

Section titled “Base URL の規則(どのツールが /v1 を必要とするか)”

OmniRoute は OpenAI インターフェースを /v1、Anthropic インターフェースをルート、 ネイティブ Gemini インターフェースを /v1beta で公開します。各統合は、そのツールが 期待する形式に合わせて構成されています(コマンドのソースで確認済み)。

統合 書き込まれる Base URL /v1?
setup-cline (openAiBaseUrl) ルート いいえ — Cline が /v1/chat/completions を追加
setup-goose (OPENAI_HOST) ルート いいえ — Goose がパスを追加
setup-aider (OPENAI_API_BASE) ルート いいえ — LiteLLM が /v1/chat/completions を追加
setup-kilo, setup-roo, setup-continue, setup-crush, setup-cursor /v1 付き はい
setup-claude (ANTHROPIC_BASE_URL), launch ルート いいえ — Claude Code が /v1/messages を追加
setup-codex, launch-codex (model_providers.omniroute.base_url) /v1 付き はい
setup-qwen (modelProviders.openai[].baseUrl) /v1 付き はい
run gemini (GOOGLE_GEMINI_BASE_URL) ルート いいえ — SDK が /v1beta/models/… を追加
setup-5dive(認証プロファイル内の ANTHROPIC_BASE_URL) ルート いいえ — Claude Code が /v1/messages を追加

更新時にネイティブ依存関係を維持する:--include=optional

Section titled “更新時にネイティブ依存関係を維持する:--include=optional”

omniroute update で更新すると(確認後、または --apply を指定した場合)、 OmniRoute は --include=optional を組み込んだ次のインストールコマンドを実行します。

ターミナルウィンドウ
npm install -g omniroute@latest --include=optional

これは omniroute update に渡すフラグではありません。アップデーターによって 常に適用されます。これにより、npm 設定で omit=optional が設定されていても、 optionalDependencies(better-sqlite3、keytar、tls-client、 LLMLingua SLM スタック)が更新後も維持されます。この指定がない場合、ネイティブの SQLite ドライバーと OS キーリングのバインディングが通知なく削除される可能性があります。 適用せずに実際のコマンドをプレビューするには、次を実行します。

ターミナルウィンドウ
omniroute update --dry-run
# [ドライラン] 実行予定: npm install -g omniroute@latest --include=optional

その他の omniroute update フラグ(ソースで確認済み):--check(古い場合は終了コード 1)、--apply(確認なしでインストール)、--changelog、--no-backup、 --yes。


omniroute run gemini 経由での Google Gemini CLI

Section titled “omniroute run gemini 経由での Google Gemini CLI”

@google/gemini-cli 0.50.0 に対して契約を確認済みです。この CLI は GOOGLE_GEMINI_BASE_URL を尊重し、そこに対して POST /v1beta/models/<model>:generateContent (および :streamGenerateContent?alt=sse)を発行します。これは OmniRoute の ネイティブ Gemini インターフェース(/v1beta)と正確に一致します。 omniroute run gemini はこれを自動的に構成します。

  • GOOGLE_GEMINI_BASE_URL → アクティブな OmniRoute の Base URL(ルート、/v1 なし)。
  • GEMINI_API_KEY → 解決済みの OmniRoute 認証情報(オプション/環境変数/コンテキスト)。
  • gemini-api-key 認証を選択する .gemini/settings.json を含む、一時的で隔離された GEMINI_CLI_HOME。これにより、保存済みの Google OAuth セッション(Code Assist)が OmniRoute 向けの起動設定を上書きすることはありません。終了後に削除されます。
  • 環境変数の衛生管理:子プロセスの環境から GOOGLE_API_KEY、 GOOGLE_GENAI_USE_VERTEXAI、GOOGLE_GENAI_USE_GCA(認証先を Vertex/Code Assist に変更する可能性があるもの)を除去し、念には念を入れたフォールバックとして GEMINI_DEFAULT_AUTH_TYPE=gemini-api-key を設定します。他の run ターゲットにも、 それぞれ競合する変数に対して同様の処理が適用されます。
  • --provider/--model に基づく --model <id> の挿入。
ターミナルウィンドウ
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "hello"

Gemini のワークスペース信頼ガードはヘッドレスモードでも適用されます。--skip-trust を自分で渡す(または対話形式でディレクトリを信頼する)必要があります。ランチャーは 意図的にこのガードを回避しません。このランチャーは ACP 登録 (src/lib/acp/registry.ts、gemini --acp)とは別のものであり、後者は引き続き /dashboard/acp-agents 用のエージェントプロトコル統合です。


実環境スモークスイープ(オプトイン)

Section titled “実環境スモークスイープ(オプトイン)”

決定論的な起動プランの回帰テストは CI で実行されます(tests/unit/cli/run-command.test.ts、 tests/unit/cli/run-execution.test.ts)。実際の OmniRoute サーバーに対して実際のバイナリを検証するために、 オプトイン形式のテストハーネスが tests/integration/upstream-cli-smoke.int.test.ts に用意されています。 これは自動的には実行されません(RUN_CLI_SMOKE=1 が設定されていない限り、すべてのサブテストがスキップされます)。 認証情報は値ではなく環境変数名で渡され、記録される出力からキー形式の文字列が編集除去されます。 また、バイナリがインストールされていないターゲットはスキップされ、失敗は単純な真偽値ではなく 認証 / アップストリーム / 設定に分類されます。

ターミナルウィンドウ
RUN_CLI_SMOKE=1 \
OMNIROUTE_SMOKE_BASE_URL="http://localhost:20128" \
OMNIROUTE_SMOKE_MODEL="<provider/model>" \
OMNIROUTE_SMOKE_API_KEY_ENV="OMNIROUTE_API_KEY" \
node --import tsx/esm --test tests/integration/upstream-cli-smoke.int.test.ts

任意: OMNIROUTE_SMOKE_TARGETS="codex,opencode,qwen" を指定するとスイープ対象を限定できます。 OMNIROUTE_SMOKE_TIMEOUT_MS を指定すると、ターゲットごとのデフォルトのタイムアウトである 120 秒を上書きできます。



OmniRoute ソースコード (a58000c7685f)

HagiCode

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

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

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