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

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

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

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

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

82 KiB
Raw Blame History

User Guide (日本語)

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


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

プロバイダーの設定、コンボの作成、CLI ツールの統合、OmniRoute のデプロイに関する完全ガイドです。


目次


💰 料金の概要

プラン プロバイダー 料金 クォータのリセット 最適な用途
💳 サブスクリプション Claude Code (Pro) $20/月 5時間ごと毎週 すでに契約済みの場合
Codex (Plus/Pro) $20200/月 5時間ごと毎週 OpenAI ユーザー
GitHub Copilot $1019/月 毎月 GitHub ユーザー
🔑 API キー DeepSeek 従量課金 なし 低コストな推論
Groq 従量課金 なし 超高速な推論
xAI (Grok) 従量課金 なし Grok 4 による推論
Mistral 従量課金 なし EU でホストされるモデル
Perplexity 従量課金 なし 検索拡張
Together AI 従量課金 なし オープンソースモデル
Fireworks AI 従量課金 なし 高速な FLUX 画像生成
Cerebras 従量課金 なし ウェハースケールの速度
Cohere 従量課金 なし Command R+ RAG
NVIDIA NIM 従量課金 なし エンタープライズモデル
Baidu Qianfan 従量課金 なし ERNIE モデル
💰 低価格 GLM-4.7 $0.6/1M 毎日午前10時 低予算のバックアップ
MiniMax M2.1 $0.2/1M 5時間のローリング方式 最安の選択肢
Kimi K2 月額 $9 の定額制 10M tokens/月 予測可能なコスト
🆓 無料 Qoder $0 プロバイダーの制限が適用 現在のカタログを要確認
Kiro $0 約50クレジット/月 Claude を無料で利用

🎯 ユースケース

ケース 1: 「Claude Pro のサブスクリプションを契約している」

問題: クォータを使い切れないまま期限切れになり、コーディング作業が多いときにはレート制限に達する

組み合わせ: "maximize-claude"
  1. cc/claude-opus-4-7        (サブスクリプションを最大限に活用)
  2. glm/glm-4.7               (クォータ切れ時の低コストなバックアップ)
  3. if/qwen3.8-max-preview       (緊急時の無料フォールバック)

月額費用: $20サブスクリプション+ 約$5バックアップ= 合計$25
対して、$20のみで制限に達する場合 = ストレス

ケース 2: 「コストをゼロにしたい」

問題: サブスクリプションを契約する余裕はないが、信頼性の高い AI コーディングが必要

組み合わせ: "zero-cost"
  1. if/kimi-k2.7-code          (無料アクセスとして掲載。レート制限が適用される場合あり)
  2. kr/qwen3-coder-next        Kiro の無料フォールバック)

月額費用: $0
品質: ワークロードに対するモデル、制限、プライバシー、SLA を確認してください

ケース 3: 「中断なしで 24時間365日コーディングしたい」

問題: 締め切りがあり、ダウンタイムは許容できない

組み合わせ: "always-on"
  1. cc/claude-opus-4-7        (最高品質)
  2. cx/gpt-5.5                2つ目のサブスクリプション
  3. glm/glm-4.7               (低コストで毎日リセット)
  4. minimax/MiniMax-M2.1      最安で5時間ごとにリセット
  5. if/deepseek-v4-flash       (無料アクセスとして掲載。レート制限が適用される場合あり)

結果: 5層のフォールバックにより耐障害性が向上しますが、上流サービスの可用性は保証されません
月額費用: $20200サブスクリプション+ $1020バックアップ

ケース 4: 「OpenClaw で無料の AI を使いたい」

問題: メッセージングアプリで完全無料の AI アシスタントが必要

組み合わせ: "openclaw-free"
  1. if/qwen3.8-max-preview     (無料アクセスとして掲載。レート制限が適用される場合あり)
  2. if/deepseek-v4-flash       (無料アクセスとして掲載。レート制限が適用される場合あり)
  3. if/kimi-k2.7-code          (無料アクセスとして掲載。レート制限が適用される場合あり)

月額費用: $0
アクセス方法: WhatsApp、Telegram、Slack、Discord、iMessage、Signal...

📖 プロバイダーのセットアップ

CSV または JSON ファイルから API キー接続を一括追加するには、ダッシュボード → プロバイダー → ファイルからインポートを使用します。列は位置によって決まります(provider,name,apiKey,baseUrl,priority)。provider は、管理対象プロバイダーまたは互換性のあるノードとして、すでに存在している必要があります。CSV または JSON ファイルからプロバイダーをインポートするを参照してください。

🔐 サブスクリプションプロバイダー

Claude CodePro/Max

ダッシュボード → プロバイダー → Claude Code に接続
→ OAuth ログイン → トークンの自動更新
→ 5時間ごと + 週間クォータの追跡

モデル:
  cc/claude-opus-4-7
  cc/claude-sonnet-4-6
  cc/claude-haiku-4-5-20251001

プロのヒント: 複雑なタスクには Opus、速度を重視する場合は Sonnet を使用してください。OmniRoute はモデルごとにクォータを追跡します!

Claude および Claude Code 互換ルートでは、Opus と Sonnet モデルの max 思考強度が維持されます。Haiku モデルは max 強度レベルを受け付けないため、OmniRoute はアップストリームへ送信する前に、そのリクエストを高い思考予算へダウングレードします。

OpenAI CodexPlus/Pro

ダッシュボード → プロバイダー → Codex に接続
→ OAuth ログイン(ポート 1455
→ 5時間ごと + 週間リセット

モデル:
  cx/gpt-5.5
  cx/gpt-5.4
  cx/gpt-5.3-codex
  cx/gpt-5.3-codex-spark

GitHub Copilot

ダッシュボード → プロバイダー → GitHub に接続
→ GitHub 経由で OAuth
→ 毎月リセット毎月1日

モデル:
  gh/gpt-5.5
  gh/gpt-5.4
  gh/claude-sonnet-4.6
  gh/claude-opus-4.7
  gh/gemini-3.1-pro-preview

💰 低価格プロバイダー

GLM-4.7(毎日リセット、$0.6/1M

  1. 登録: Zhipu AI
  2. Coding Plan から API キーを取得
  3. ダッシュボード → API キーを追加: プロバイダー: glm、API キー: your-key

使用方法: glm/glm-4.7プロのヒント: Coding Plan では、1/7 のコストで3倍のクォータを利用できます毎日午前10時にリセットされます。

MiniMax M2.15時間ごとにリセット、$0.20/1M

  1. 登録: MiniMax
  2. API キーを取得 → ダッシュボード → API キーを追加

使用方法: minimax/MiniMax-M2.1プロのヒント: 長いコンテキスト1M トークン)向けの最安オプションです!

Kimi K2月額 $9 の定額制)

  1. サブスクリプションに登録: Moonshot AI
  2. API キーを取得 → ダッシュボード → API キーを追加

使用方法: kimi/kimi-k2.5プロのヒント: 10M トークンが月額固定 $9 のため、実質コストは $0.90/1M です!

Baidu Qianfan / ERNIE

  1. 登録: Baidu AI Cloud Qianfan
  2. Qianfan API キーを作成 → ダッシュボード → API キーを追加: プロバイダー: qianfan

使用方法: qianfan/ernie-5.1qianfan/ernie-x1.1、またはその他の Qianfan OpenAI 互換モデル ID。

🆓 無料プロバイダー

認証不要の無料プロバイダーには、そのプロバイダーページの 認証不要 の横に切り替えスイッチがあります。 オフにすると、そのプロバイダーが無効になり、「設定済みプロバイダー」表示およびコンパクト表示から削除され、さらにそのモデルも /v1/models から削除されます。

Qoder無料モデル9種

ダッシュボード → Qoder に接続 → OAuth ログイン → アクセスには現在のプロバイダー制限が適用されます

モデル: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3

KiroClaude を無料で利用可能)

ダッシュボード → Kiro に接続 → AWS Builder ID または Google/GitHub → 月あたり約50クレジット

モデル: kr/claude-sonnet-4.5, kr/claude-haiku-4.5

🎨 コンボ

Dashboard → Combos で各カードのハンドルをドラッグすると、コンボカードを直接並べ替えられます。順序は SQLite に保存され、再読み込み時に復元されます。

例 1: サブスクリプションを最大活用 → 安価なバックアップ

Dashboard → Combos → Create New

名前: premium-coding
モデル:
  1. cc/claude-opus-4-7 (サブスクリプションのプライマリ)
  2. glm/glm-4.7 (安価なバックアップ、$0.6/1M)
  3. minimax/MiniMax-M2.7 (最も安価なフォールバック、$0.3/1M)

CLI で使用: premium-coding

例 2: 無料のみ(コストゼロ)

名前: free-combo
モデル:
  1. if/kimi-k2.7-code (無料アクセスとして掲載。プロバイダーの制限が適用される場合があります)
  2. kr/qwen3-coder-next (Kiro の無料フォールバック)

コスト: 現在は $0 と記載されていますが、利用条件と提供状況は変更される可能性があります

🔧 CLI 連携

Cursor IDE

OmniRoute クライアントとして Cursor を使用する場合Cursor のチャットを OmniRoute 経由でルーティング):

Settings → Models → Advanced:
  OpenAI API Base URL: http://localhost:20128/v1
  OpenAI API Key: [OmniRoute ダッシュボードから取得]
  Model: cc/claude-opus-4-7

Cursor プロバイダーとして OmniRoute を使用する場合OmniRoute がアップストリームの Cursor を呼び出す): Dashboard → Providers → Cursor → Login with Cursor を推奨します。Docker では、 docs/providers/CURSOR-DOCKER.mdを参照してください。

Claude Code

~/.claude/settings.json を編集します:

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:20128",
    "ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
  }
}

ここでは Claude 互換のルートエンドポイントを使用してください。ANTHROPIC_BASE_URL/v1 を追加しないでください。

Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"

OpenClaw

~/.openclaw/openclaw.json を編集します:

{
  "agents": {
    "defaults": {
      "model": { "primary": "omniroute/if/kimi-k2.7-code" }
    }
  },
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://localhost:20128/v1",
        "apiKey": "your-omniroute-api-key",
        "api": "openai-completions",
        "models": [{ "id": "if/kimi-k2.7-code", "name": "Kimi K2.7 Code" }]
      }
    }
  }
}

またはダッシュボードを使用: CLI Tools → OpenClaw → Auto-config

Cline / Continue / RooCode

プロバイダー: OpenAI Compatible
ベース URL: http://localhost:20128/v1
API キー: [ダッシュボードから取得]
モデル: cc/claude-opus-4-7

🚀 デプロイ

グローバル npm インストール(推奨)

npm install -g omniroute

# 設定ディレクトリを作成
mkdir -p ~/.omniroute

# .env ファイルを作成(.env.example を参照)
cp .env.example ~/.omniroute/.env

# サーバーを起動
omniroute
# またはカスタムポートを指定:
omniroute --port 3000

CLI は ~/.omniroute/.env または ./.env から .env を自動的に読み込みます。

トレイモード

OmniRoute をシステムトレイで起動します:

omniroute serve --tray

このコマンドは、サーバーとトレイの準備が完了すると終了します。

サーバーはターミナルなしで動作を継続します。

トレイモードは macOS、Windows、およびグラフィカルな Linux セッションをサポートします。トレイモードではダッシュボードは自動的に開きません。

トレイメニューから次の操作を実行できます:

  • ダッシュボードを開く。
  • /dashboard/logs を開く。
  • 自動起動の設定を変更する。
  • OmniRoute を停止する。

--tray を次のオプションと併用しないでください:

  • --daemon
  • --log
  • --no-recovery

これらのモードでは、異なるプロセス所有方式が必要です。

次回のマシンへのログイン時に起動するよう有効化します:

omniroute autostart enable

自動起動では、macOS、Windows、およびグラフィカルな Linux セッションでトレイモードが使用されます。ヘッドレス Linux では、既存の systemd ユーザーサービスが使用されます。

ログイン時の起動を無効化します:

omniroute autostart disable

アンインストール

OmniRoute が不要になった場合、クリーンに削除するための簡単なスクリプトを 2 つ用意しています:

コマンド 操作
npm run uninstall システムアプリを削除しますが、~/.omniroute 内のデータベースと設定は保持します
npm run uninstall:full アプリを削除し、さらにすべての設定、キー、データベースを完全に消去します

注: これらのコマンドを実行するには、OmniRoute プロジェクトフォルダー(クローンした場合)に移動してから実行してください。または、グローバルにインストールした場合は、npm uninstall -g omniroute を実行するだけです。

VPS デプロイ

git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute && npm install && npm run build

export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/omniroute"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"

npm run start
# または: pm2 start npm --name omniroute -- start

PM2 デプロイ(低メモリ)

RAM が限られているサーバーでは、メモリ制限オプションを使用してください:

# 512MB の制限を指定(デフォルト)
pm2 start npm --name omniroute -- start

# またはカスタムメモリ制限を指定
OMNIROUTE_MEMORY_MB=512 pm2 start npm --name omniroute -- start

# または ecosystem.config.js を使用
pm2 start ecosystem.config.js

ecosystem.config.js を作成します:

module.exports = {
  apps: [
    {
      name: "omniroute",
      script: "npm",
      args: "start",
      env: {
        NODE_ENV: "production",
        OMNIROUTE_MEMORY_MB: "512",
        JWT_SECRET: "your-secret",
        INITIAL_PASSWORD: "your-password",
      },
      node_args: "--max-old-space-size=512",
      max_memory_restart: "300M",
    },
  ],
};

Docker

# イメージをビルド(デフォルト = codex/claude/droid がプリインストールされた runner-cli
docker build -t omniroute:cli .

# ポータブルモード(推奨)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cli

CLI バイナリを使用するホスト統合モードについては、メインドキュメントの Docker セクションを参照してください。

Void Linux (xbps-src)

Void Linux ユーザーは、xbps-src クロスコンパイルフレームワークを使用して、OmniRoute をネイティブにパッケージ化してインストールできます。これにより、Node.js のスタンドアロンビルドと、必要な better-sqlite3 ネイティブバインディングが自動的に処理されます。

xbps-src テンプレートを表示
# 'omniroute' 用テンプレートファイル
pkgname=omniroute
version=3.8.0
revision=1
hostmakedepends="nodejs python3 make"
depends="openssl"
short_desc="Universal AI gateway with smart routing for multiple LLM providers"
maintainer="zenobit <zenobit@disroot.org>"
license="MIT"
homepage="https://github.com/diegosouzapw/OmniRoute"
distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz"
checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b
system_accounts="_omniroute"
omniroute_homedir="/var/lib/omniroute"
export NODE_ENV=production
export npm_config_engine_strict=false
export npm_config_loglevel=error
export npm_config_fund=false
export npm_config_audit=false

do_build() {
	# node-gyp のターゲット CPU アーキテクチャを判定
	local _gyp_arch
	case "$XBPS_TARGET_MACHINE" in
		aarch64*) _gyp_arch=arm64 ;;
		armv7*|armv6*) _gyp_arch=arm ;;
		i686*) _gyp_arch=ia32 ;;
		*) _gyp_arch=x64 ;;
	esac

	# 1) すべての依存関係をインストール  スクリプトはスキップ
	NODE_ENV=development npm ci --ignore-scripts

	# 2) Next.js スタンドアロンバンドルをビルド
	npm run build

	# 3) 静的アセットをスタンドアロンにコピー
	cp -r .next/static .next/standalone/.next/static
	[ -d public ] && cp -r public .next/standalone/public || true

	# 4) better-sqlite3 ネイティブバインディングをコンパイル
	local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
	(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")

	# 5) コンパイル済みバインディングをスタンドアロンバンドルに配置
	local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
	mkdir -p "$_bs3_release"
	cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"

	# 6) アーキテクチャ固有の sharp バンドルを削除
	rm -rf .next/standalone/node_modules/@img

	# 7) Next.js の静的解析で省略された pino のランタイム依存関係をコピー:
	for _mod in pino-abstract-transport split2 process-warning; do
		cp -r "node_modules/$_mod" .next/standalone/node_modules/
	done
}

do_check() {
	npm run test:unit
}

do_install() {
	vmkdir usr/lib/omniroute/.next
	vcopy .next/standalone/. usr/lib/omniroute/.next/standalone

	# インストール後フックによって空の Next.js App Router ディレクトリが削除されるのを防止
	for _d in \
		.next/standalone/.next/server/app/dashboard \
		.next/standalone/.next/server/app/dashboard/settings \
		.next/standalone/.next/server/app/dashboard/providers; do
		touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
	done

	cat > "${WRKDIR}/omniroute" <<'EOF'
#!/bin/sh
export PORT="${PORT:-20128}"
export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}"
export APP_LOG_TO_FILE="${APP_LOG_TO_FILE:-false}"
mkdir -p "${DATA_DIR}"
exec node /usr/lib/omniroute/.next/standalone/server.js "$@"
EOF
	vbin "${WRKDIR}/omniroute"
}

post_install() {
	vlicense LICENSE
}

環境変数

変数 デフォルト 説明
JWT_SECRET omniroute-default-secret-change-me JWT 署名用シークレット(本番環境では変更してください
INITIAL_PASSWORD CHANGEME 初回ログイン用パスワード
DATA_DIR ~/.omniroute データディレクトリ(データベース、使用状況、ログ)
PORT フレームワークのデフォルト サービスポート(例では 20128
HOSTNAME フレームワークのデフォルト バインド先ホストDocker のデフォルトは 0.0.0.0
NODE_ENV ランタイムのデフォルト デプロイ時には production に設定
NEXT_PUBLIC_BASE_URL http://localhost:20128 ダッシュボードに表示され、サーバーにも公開される公開ベース URL従来の BASE_URL を置き換え)
NEXT_PUBLIC_CLOUD_URL https://omniroute.dev クラウド同期エンドポイントのベース URL従来の CLOUD_URL を置き換え)
API_KEY_SECRET endpoint-proxy-api-key-secret 生成される API キー用の HMAC シークレット
REQUIRE_API_KEY false /v1/* で Bearer API キーを必須にする
ALLOW_API_KEY_REVEAL false 認証済みのダッシュボードユーザーが、保存されている API キーの完全な値をオンデマンドで表示できるようにする
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES 70 キャッシュされたプロバイダー制限データのサーバー側更新間隔。UI の更新ボタンでは引き続き手動同期が実行される
DISABLE_SQLITE_AUTO_BACKUP false 書き込み、インポート、復元前の SQLite 自動スナップショットを無効化する。手動バックアップは引き続き利用可能
APP_LOG_TO_FILE true アプリケーションログと監査ログのディスクへの出力を有効にする
AUTH_COOKIE_SECURE false Secure 認証 Cookie を強制するHTTPS リバースプロキシの背後で使用)
CLOUDFLARED_BIN 未設定 管理対象としてダウンロードする代わりに、既存の cloudflared バイナリを使用する
CLOUDFLARED_PROTOCOL http2 管理対象の Quick Tunnels 用トランスポート(http2quic、または auto
OMNIROUTE_MEMORY_MB 512 Node.js のヒープ上限MB
PROMPT_CACHE_MAX_SIZE 50 プロンプトキャッシュの最大エントリ数
SEMANTIC_CACHE_MAX_SIZE 100 セマンティックキャッシュの最大エントリ数

環境変数の完全なリファレンスについては、README を参照してください。


📊 利用可能なモデル

利用可能なすべてのモデルを表示

以下の一覧は、v3.8.0 の open-sse/config/providerRegistry.ts から厳選されています。クラウドカタログGemini、OpenRouter など)は動的に同期されます。最新の完全なカタログを確認するには、ダッシュボード → プロバイダー → [provider] → 利用可能なモデルを開くか、GET /api/models/catalog を呼び出してください。

プロバイダーの組み込みリストが最新の状態と異なる場合は、そのページの /models からインポートを使用するか、自動同期を有効にして、最新のアップストリームカタログを取得してください。これは、LLM7.iogemini-3.1-flash-lite)および UncloseAIsolidrust/Hermes-3-Llama-3.1-8B-AWQ)について v3.8.50 で検証済みです。同じテスト実施時点で、Pollinations の匿名アクセスには引き続きアップストリーム側の制限がありました。

Claude Codecc/ — Pro/Max OAuthcc/claude-opus-4-8cc/claude-opus-4-7cc/claude-opus-4-6cc/claude-opus-4-5-20251101cc/claude-sonnet-4-6cc/claude-sonnet-4-5-20250929cc/claude-haiku-4-5-20251001

Codexcx/ — Plus/Pro OAuthcx/gpt-5.5+ 推論強度レベル:gpt-5.5-xhighgpt-5.5-highgpt-5.5-mediumgpt-5.5-low)、cx/gpt-5.4cx/gpt-5.4-minicx/gpt-5.3-codexcx/gpt-5.3-codex-spark

GitHub Copilotgh/ — OAuthgh/gpt-5.5gh/gpt-5.4gh/gpt-5.4-minigh/gpt-5-minigh/gpt-5.3-codexgh/claude-opus-4.7gh/claude-opus-4.6gh/claude-opus-4-5-20251101gh/claude-sonnet-4.6gh/claude-sonnet-4.5gh/claude-haiku-4.5gh/gemini-3.1-pro-previewgh/gemini-3-flash-previewgh/oswe-vscode-prime

Kirokr/ — 無料 OAuthダッシュボード → プロバイダー → Kiro → 利用可能なモデルに表示されるライブカタログを使用してください。利用可否はアカウントとプランによって異なります。

Qoderif/ — 無料 OAuthif/qwen3.8-max-previewif/qwen3.7-maxif/qwen3.7-plusif/kimi-k3if/kimi-k2.7-codeif/glm-5.2if/deepseek-v4-proif/deepseek-v4-flashif/minimax-m3

GLMglm/glm-cn/zai/glmt/ — $0.20.6/1Mglm/glm-5.1glm/glm-5glm/glm-5-turboglm/glm-4.7glm/glm-4.7-flashglm/glm-4.6glm/glm-4.6vglm/glm-4.5glm/glm-4.5vglm/glm-4.5-air

MiniMaxminimax/minimax-cn/ — $0.2/1Mminimax/MiniMax-M2.7minimax/MiniMax-M2.7-highspeedminimax/MiniMax-M2.5minimax/MiniMax-M2.5-highspeed

Kimikimi/kimi-coding/kimi-coding-apikey/ — 月額 $9 の定額制または従量課金:kimi/kimi-k2.6kimi/kimi-k2.5

DeepSeekds/ — API キー:ds/deepseek-v4-prods/deepseek-v4-flash

Groqgroq/ — 超高速:groq/llama-3.3-70b-versatilegroq/meta-llama/llama-4-maverick-17b-128e-instructgroq/qwen/qwen3-32bgroq/openai/gpt-oss-120b

xAIxai/ — Grok ネイティブ:xai/grok-4.3xai/grok-4.20-multi-agent-0309xai/grok-4.20-0309-reasoningxai/grok-4.20-0309-non-reasoning

Mistralmistral/ — EU 内ホスティング:mistral/mistral-large-latestmistral/mistral-medium-3-5mistral/mistral-small-latestmistral/devstral-latestmistral/codestral-latest

Perplexitypplx/ — 検索拡張:pplx/sonar-deep-researchpplx/sonar-reasoning-propplx/sonar-propplx/sonar

Together AItogether/ — オープンソース:together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free(無料)、together/meta-llama/Llama-Vision-Freetogether/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Freetogether/deepseek-ai/DeepSeek-R1together/Qwen/Qwen3-235B-A22Btogether/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8

Fireworks AIfireworks/ — 高速推論:fireworks/accounts/fireworks/models/kimi-k2p6fireworks/accounts/fireworks/models/minimax-m2p7fireworks/accounts/fireworks/models/qwen3p6-plusfireworks/accounts/fireworks/models/glm-5p1fireworks/accounts/fireworks/models/deepseek-v4-pro

Cerebrascerebras/ — ウェハースケール:cerebras/zai-glm-4.7cerebras/gpt-oss-120b

Coherecohere/ — RAG 重視:cohere/command-a-reasoning-08-2025cohere/command-a-vision-07-2025cohere/command-a-03-2025cohere/command-r-08-2024

NVIDIA NIMnvidia/ — エンタープライズ:nvidia/z-ai/glm-5.1nvidia/minimaxai/minimax-m2.7nvidia/google/gemma-4-31b-itnvidia/mistralai/mistral-small-4-119b-2603nvidia/mistralai/mistral-large-3-675b-instruct-2512nvidia/qwen/qwen3.5-397b-a17bnvidia/deepseek-ai/deepseek-v4-pronvidia/openai/gpt-oss-120bnvidia/nvidia/nemotron-3-super-120b-a12b

Baidu Qianfanqianfan/ — ERNIEqianfan/ernie-5.1qianfan/ernie-5.0-thinking-latestqianfan/ernie-x1.1

Ollama Cloudollama-cloud/ollama-cloud/deepseek-v4-proollama-cloud/deepseek-v4-flashollama-cloud/kimi-k2.6ollama-cloud/glm-5.1ollama-cloud/minimax-m2.7ollama-cloud/gemma4:31bollama-cloud/qwen3.5:397b

GeminiGoogle Cloud gemini/Google から API キーごとにライブ同期されるため、静的リストはありません。ダッシュボード → プロバイダーでキーを接続し、利用可能なモデルを使用して現在のカタログをインポートしてください(例:gemini/gemini-3-progemini/gemini-3-flash)。

その他の互換プロバイダー(一部):coheredatabrickssnowflaketogethervertexalibabaalibaba-cnbedrockaws-bedrock 経由)、azure-aiopenrouter(パススルーカタログ)、siliconflowhyperbolichuggingfacefeatherless-aicloudflare-aiscalewaydeepinfravercel-ai-gatewaybazaarlinkfriendliainous-researchrekavolcengineai21gigachat。各プロバイダーは providerRegistry.ts 内で独自のモデルリストを管理しており、プロバイダーが /models エンドポイントを公開している場合は自動同期できます。

モデル ID に関する注意: OmniRoute はプロバイダーネイティブの IDclaude-opus-4-8gpt-5.5glm-5.1MiniMax-M2.7kimi-k2.5grok-4.20-0309-reasoning)を使用します。一部の ID にドット区切りのバージョンが含まれているのは、アップストリーム API がその形式を要求しているためです。モデルが上記に記載されていない場合は、omniroute models --search <term> を実行するか、GET /api/models/catalog にアクセスして利用可否を確認してください。


🧩 高度な機能

カスタムモデル

アプリの更新を待たずに、任意のプロバイダーへ任意のモデルIDを追加できます。

# API経由
curl -X POST http://localhost:20128/api/provider-models \
  -H "Content-Type: application/json" \
  -d '{"provider": "openai", "modelId": "gpt-5.2", "modelName": "GPT-5.2"}'

# 一覧: curl http://localhost:20128/api/provider-models?provider=openai
# 削除: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-5.2"

または、ダッシュボードの Providers → [Provider] → Custom Models を使用します。

注意事項:

  • OpenRouterおよびOpenAI/Anthropic互換プロバイダーは、Available Models のみで管理されます。手動追加、インポート、自動同期はすべて同じ利用可能モデル一覧に反映されるため、これらのプロバイダーには独立したCustom Modelsセクションはありません。
  • Custom Models セクションは、管理対象の利用可能モデルをインポートする機能を提供していないプロバイダー向けです。

OmniRouteピアのチェーン化

別のOmniRouteゲートウェイを、Custom OpenAI-compatible プロバイダーとして追加できます。ピアの /v1ベースURLと、そのピアが発行した専用の最小権限APIキーを使用してください。

相互チェーンまたはマルチホップチェーンでは、すべてのゲートウェイでオプトイン方式のループガードを有効にします。

# gateway-a
OMNIROUTE_INSTANCE_ID=gateway-a
OMNIROUTE_PEER_URLS=http://gateway-b:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
# gateway-b
OMNIROUTE_INSTANCE_ID=gateway-b
OMNIROUTE_PEER_URLS=http://gateway-a:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4

明示的に許可リストへ登録されたピアURLに送信されるリクエストのみ、 X-OmniRoute-Peer-Traceヘッダーを受け取ります。ゲートウェイは、インスタンスIDの重複またはホップ 上限の消費を検出するとHTTP 508 Loop Detectedで拒否します。通常のアップストリームプロバイダーにはピアのメタデータは送信されません。

ピアチェーンは、データベースのレプリケーションやホストのフェイルオーバーではありません。各ゲートウェイは独立した SQLiteの状態、キャッシュ、レートカウンター、セッションを保持します。アクティブパッシブまたはアクティブアクティブ構成で可用性を確保するには、ヘルスチェック付きリバースプロキシまたはクライアント側 フェイルオーバーを使用してください。また、1つのSQLiteデータベースを実行中の複数のOmniRouteインスタンスにマウントしないでください。

プロバイダー専用ルート

モデル検証を行いながら、リクエストを特定のプロバイダーへ直接ルーティングします。

POST http://localhost:20128/v1/providers/openai/chat/completions
POST http://localhost:20128/v1/providers/openai/embeddings
POST http://localhost:20128/v1/providers/fireworks/images/generations

プロバイダーのプレフィックスがない場合は自動的に追加されます。一致しないモデルには400が返されます。

ネットワークプロキシ設定

# グローバルプロキシを設定
curl -X PUT http://localhost:20128/api/settings/proxy \
  -d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'

# プロバイダーごとのプロキシ
curl -X PUT http://localhost:20128/api/settings/proxy \
  -d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'

# プロキシをテスト
curl -X POST http://localhost:20128/api/settings/proxy/test \
  -d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'

優先順位: キー固有 → コンボ固有 → プロバイダー固有 → グローバル → 環境。

モデルカタログAPI

curl http://localhost:20128/api/models/catalog

タイプ(chatembeddingimage)とともに、プロバイダー別にグループ化されたモデルを返します。

クラウド同期

  • プロバイダー、コンボ、設定をデバイス間で同期
  • タイムアウトとフェイルファストを備えた自動バックグラウンド同期
  • 本番環境ではサーバー側のNEXT_PUBLIC_BASE_URL/NEXT_PUBLIC_CLOUD_URLを推奨

Cloudflare Quick Tunnel

  • Dockerおよびその他のセルフホスト環境では、Dashboard → Endpoints から利用可能
  • 現在のOpenAI互換/v1エンドポイントへ転送する、一時的なhttps://*.trycloudflare.com URLを作成
  • 初回の有効化時のみ、必要に応じてcloudflaredをインストールし、それ以降の再起動では同じ管理対象バイナリを再利用
  • Quick Tunnelは、OmniRouteまたはコンテナの再起動後に自動復元されません。必要に応じてダッシュボードから再度有効にしてください
  • トンネルURLは一時的なものであり、トンネルを停止開始するたびに変更されます
  • 管理対象のQuick Tunnelは、制約のあるコンテナで大量のQUIC UDPバッファー警告が発生するのを避けるため、デフォルトでHTTP/2トランスポートを使用します
  • 管理対象トランスポートの選択を上書きする場合は、CLOUDFLARED_PROTOCOL=quicまたはautoを設定します
  • 管理対象のダウンロードではなく、プリインストール済みのcloudflaredバイナリを使用する場合は、CLOUDFLARED_BINを設定します
  • Cloudflare Quick Tunnel、Tailscale Funnel、ngrok Tunnelの各パネルは、Settings → Appearance で表示または非表示にできます。パネルを非表示にしても、実行中のトンネルは停止しません。

LLMゲートウェイインテリジェンスフェーズ9

  • セマンティックキャッシュ — 非ストリーミングかつtemperature=0のレスポンスを自動的にキャッシュしますX-OmniRoute-No-Cache: trueでバイパス)
  • リクエストの冪等性Idempotency-KeyまたはX-Request-Idヘッダーを使用して、5秒以内のリクエストを重複排除します
  • 進捗追跡X-OmniRoute-Progress: trueヘッダーを使用して、オプトイン形式のSSE event: progressイベントを有効化します

Translator Playground

Dashboard → Translator からアクセスします。OmniRouteがプロバイダー間でAPIリクエストをどのように変換するかをデバッグし、可視化できます。

モード 目的
Playground 変換元/変換先の形式を選択してリクエストを貼り付け、変換結果を即座に確認します
Chat Tester プロキシ経由でライブチャットメッセージを送信し、リクエスト/レスポンスのサイクル全体を確認します
Test Bench 複数の形式の組み合わせに対してバッチテストを実行し、変換の正確性を検証します
Live Monitor リクエストがプロキシを通過する際の変換をリアルタイムで監視します

ユースケース:

  • 特定のクライアント/プロバイダーの組み合わせが失敗する理由をデバッグ
  • 思考タグ、ツール呼び出し、システムプロンプトが正しく変換されることを確認
  • OpenAI、Claude、Gemini、Responses APIの各形式の違いを比較

ルーティング戦略

ダッシュボード → 設定 → ルーティングから設定します。ダッシュボードには最もよく使用される6つの戦略が表示されますが、コンボとオートルーターは内部的により多くの戦略をサポートしています。

ダッシュボードに表示される戦略(アカウントレベルのルーティング):

戦略 説明
Fill First 優先順位に従ってアカウントを使用します。プライマリアカウントが利用できなくなるまで、すべてのリクエストを処理します
Round Robin 設定可能なスティッキー上限デフォルトアカウントごとに3回の呼び出しに従って、すべてのアカウントを順番に使用します
P2C (Power of Two Choices) 2つのアカウントをランダムに選び、より正常な方へルーティングします。正常性を考慮しながら負荷を分散します
Random Fisher-Yatesシャッフルを使用して、リクエストごとにアカウントをランダムに選択します
Least Used lastUsedAtタイムスタンプが最も古いアカウントへルーティングし、トラフィックを均等に分散します
Cost Optimized 優先順位の値が最も低いアカウントへルーティングし、最も低コストのプロバイダーを優先します

高度なコンボ戦略とオート戦略(コンボごと、またはauto/*プレフィックスを介して設定可能です。AUTO-COMBO.mdを参照してください):

  • priority — 厳密な順序で処理し、ラウンドロビンは行いません
  • weighted — モデルごとの重みに基づいてトラフィックを比例配分します
  • fill-first — 上限に達するまで最初のモデルを使い切ります
  • round-robin / strict-random / random
  • p2cPower of Two Choices
  • least-usedおよびcost-optimized
  • auto — すべての候補をスコアに基づいて選択します
  • lkgpLast Known Good Provider— 最後に成功したプロバイダーへ固定し、その後ルールに従ってフォールバックします
  • context-optimized — 空きコンテキストウィンドウが最も大きいモデルを選択します
  • context-relay — 後続のターン向けに、長いコンテキストを持つモデルを連鎖させます

外部スティッキーセッションヘッダー

外部セッションアフィニティたとえば、リバースプロキシの背後にあるClaude Code/Codexエージェントを使用するには、次を送信します

X-Session-Id: your-session-key

OmniRouteはx_session_idも受け付け、有効なセッションキーをX-OmniRoute-Session-Idで返します。

Nginxを使用し、アンダースコア形式のヘッダーを送信する場合は、次を有効にします

underscores_in_headers on;

ワイルドカードモデルエイリアス

モデル名を再マッピングするためのワイルドカードパターンを作成します:

パターン: claude-sonnet-*     →  ターゲット: cc/claude-sonnet-4-6
パターン: gpt-*               →  ターゲット: gh/gpt-5.3-codex

ワイルドカードでは、*(任意の文字列)と?任意の1文字を使用できます。

フォールバックチェーン

すべてのリクエストに適用されるグローバルフォールバックチェーンを定義します:

チェーン: production-fallback
  1. cc/claude-opus-4-7
  2. gh/gpt-5.3-codex
  3. glm/glm-4.7

レジリエンスとサーキットブレーカー

ダッシュボード → 設定 → レジリエンスから設定します。

OmniRouteは、5つのコンポーネントによるプロバイダーレベルのレジリエンスを実装しています

  1. リクエストキューとペーシング — システムレベルのリクエスト制御:

    • 1分あたりのリクエスト数RPM — アカウントごとの1分あたりの最大リクエスト数
    • リクエスト間の最小時間 — リクエスト間に設ける最小間隔(ミリ秒)
    • 最大同時リクエスト数 — アカウントごとの最大同時リクエスト数
  2. 接続クールダウン — 再試行可能なエラーが発生した後の、単一接続に対する認証タイプ別の設定:

    • 基本クールダウン — 再試行可能なアップストリームエラーに対するデフォルトのクールダウン期間
    • アップストリームの再試行ヒントを使用 — 提供されている場合、信頼できるRetry-Afterまたはリセットヒントに従います
    • 最大バックオフステップ数 — エラーが繰り返された場合の指数バックオフの最大レベル
  3. プロバイダーサーキットブレーカー — プロバイダーのエンドツーエンドの障害を追跡し、設定された警告しきい値に達するとプロバイダーを劣化状態としてマークし、設定された障害しきい値に達するとブレーカーを開きます:

    • 劣化しきい値DEGRADEDへ移行するまでの連続したプロバイダー障害の回数
    • 障害しきい値OPENへ移行するまでの連続したプロバイダー障害の回数
    • リセットタイムアウト — プロバイダーを再テストするまでの時間
    • CLOSED(正常)— リクエストは通常どおり処理されます
    • DEGRADED — 障害の増加を追跡しながら、リクエストの処理を継続します
    • OPEN — 障害が繰り返されたため、プロバイダーは一時的にブロックされます
    • HALF_OPEN — プロバイダーが回復したかどうかをテストしています

    接続スコープの429レート制限は接続クールダウンで処理され、プロバイダーブレーカーにはカウントされません。

    プロバイダーブレーカーのランタイム状態は、ダッシュボード → ヘルスにのみ表示されます。

  4. クールダウンを待機 — すべての候補接続がすでにクールダウン中の場合、OmniRouteは最も早く終了するクールダウンを待ち、同じクライアントリクエストを自動的に再試行できます。

  5. レート制限の自動検出 — アップストリームプロバイダーが明示的な待機時間を返した場合、この設定が有効であれば、そのヒントがローカル接続のクールダウンより優先されます。

ヒント: 障害発生後に稼働中のプロバイダーブレーカーを確認してリセットするには、ヘルスページを使用してください。レジリエンスページで変更できるのは設定のみです。


データベースのエクスポート/インポート

データベースのバックアップは、ダッシュボード → 設定 → システムとストレージで管理します。

アクション 説明
データベースをエクスポート 現在の SQLite データベースを .sqlite ファイルとしてダウンロードします
すべてエクスポート(.tar.gz データベース、設定、コンボ、プロバイダー接続情報認証情報を除く、API キーのメタデータを含む完全なバックアップアーカイブをダウンロードします
データベースをインポート .sqlite ファイルをアップロードして現在のデータベースを置き換えます。DISABLE_SQLITE_AUTO_BACKUP=true でない限り、インポート前のバックアップが自動的に作成されます
# APIデータベースをエクスポート
curl -o backup.sqlite http://localhost:20128/api/db-backups/export

# APIすべてエクスポート完全なアーカイブ
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll

# APIデータベースをインポート
curl -X POST http://localhost:20128/api/db-backups/import \
  -F "file=@backup.sqlite"

インポートの検証: インポートされたファイルは、整合性SQLite pragma チェック)、必須テーブル(provider_connectionsprovider_nodescombosapi_keys)、およびサイズ(最大 100MBについて検証されます。

ユースケース:

  • OmniRoute をマシン間で移行する
  • ディザスターリカバリー用の外部バックアップを作成する
  • チームメンバー間で設定を共有する(すべてエクスポート → アーカイブを共有)

設定ダッシュボード

設定ページは、操作しやすいように 7 個のタブに整理されています:

タブ 内容
一般 システムストレージツール、デフォルト動作、エンドポイントトンネルの表示設定
外観 テーマ制御ライトダークシステム、サイドバーの表示設定、CloudflareTailscalengrok トンネルカードのパネル切り替え
AI Thinking Budgetパススルー自動除去カスタム適応型 — THINKING_BUDGET.md を参照)、グローバルシステムプロンプト、プロンプトキャッシュ統計
セキュリティ ログインパスワード設定、IP アクセス制御、/models の API 認証、プロバイダーのブロック、プロンプトインジェクション対策
ルーティング グローバルルーティング戦略Fill FirstRound RobinP2CRandomLeast UsedCost Optimized、ワイルドカードモデルエイリアス、フォールバックチェーン、コンボのデフォルト
耐障害性 リクエストキュー、接続クールダウン、プロバイダーブレーカー設定、およびクールダウン待機動作
詳細設定 グローバルプロキシ設定HTTPSOCKS5、プロバイダーごとのプロキシオーバーライド

「一般」タブには、読み取り専用のログおよびキャッシュに関する注記が重複して表示されなくなりました。データベースの保持期間と 最適化設定は /api/settings/database を通じて永続化され、手動でのキャッシュ消去には DELETE /api/cache を使用します。リクエストログおよびプロキシログの最大行数は、 CALL_LOGS_TABLE_MAX_ROWSPROXY_LOGS_TABLE_MAX_ROWS で制御されます。


コストと予算の管理

ダッシュボード → コストからアクセスします。

タブ 目的
予算 API キーごとに日次/週次/月次の予算で支出上限を設定し、リアルタイムで追跡します
価格設定 モデルの価格エントリ(プロバイダーごとの入力/出力トークン 1,000 個あたりのコスト)を表示・編集します
# API予算を設定
curl -X POST http://localhost:20128/api/usage/budget \
  -H "Content-Type: application/json" \
  -d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'

# API現在の予算状況を取得
curl http://localhost:20128/api/usage/budget

コスト追跡: すべてのリクエストについてトークン使用量が記録され、価格表を使用してコストが計算されます。プロバイダー、モデル、および API キーごとの内訳は、ダッシュボード → 使用状況で確認できます。


音声文字起こし

OmniRoute は、OpenAI 互換エンドポイントを介した音声文字起こしをサポートしています:

POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data

# curl を使用した例
curl -X POST http://localhost:20128/v1/audio/transcriptions \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@audio.mp3" \
  -F "model=openai/whisper-1"

deepgram/nova-3 は Deepgram ネイティブのルートであり、Deepgram API キーが必要です。 OpenRouter のみを設定している場合は、openrouter/deepgram/nova-3 を使用してください。

**音声テキスト変換(文字起こし)**プロバイダー:

  • openai/Whisper 互換)
  • groq/Groq Whisper Turbo
  • deepgram/Nova ファミリー)
  • assemblyai/
  • nvidia/Parakeet、Canary
  • huggingface/Whisper バリアント)
  • qwen/

**テキスト音声変換(POST /v1/audio/speech**プロバイダー:

  • openai/tts-1、tts-1-hd
  • hyperbolic/
  • deepgram/Aura
  • nvidia/Magpie TTS
  • elevenlabs/
  • huggingface/
  • inworld/
  • cartesia/
  • playht/
  • kie/
  • aws-polly/
  • xiaomi-mimo/
  • coqui/tortoise/
  • qwen/

文字起こしでサポートされる音声形式:mp3wavm4aflacoggwebm。TTS の出力形式はプロバイダーによって異なりますmp3、wav、opus、pcm、mulaw


コンボのバランシング戦略

コンボごとのバランシングは、ダッシュボード → コンボ → 作成/編集 → 戦略で設定します。

戦略 説明
ラウンドロビン モデルを順番に切り替えます
優先順位 常に最初のモデルを試し、エラーが発生した場合にのみフォールバックします
ランダム リクエストごとにコンボからランダムなモデルを選択します
重み付け モデルごとに割り当てられた重みに基づいて比例配分でルーティングします
最少使用 直近のリクエスト数が最も少ないモデルにルーティングします(コンボメトリクスを使用)
コスト最適化 利用可能な最も安価なモデルにルーティングします(料金表を使用)

グローバルなコンボのデフォルト設定は、ダッシュボード → 設定 → ルーティング → コンボのデフォルトで設定できます。 コンボターゲットのタイムアウトは、デフォルトで現在のリクエストタイムアウトを継承します。ターゲットごとの制限時間を短くして より迅速にフォールバックを開始する必要がある場合にのみ、コンボのデフォルト設定または個別のコンボで**ターゲットタイムアウト (秒)**を使用してください。

ゼロレイテンシーのコンボ最適化はオプトインです。これらのレイテンシー機能によってフォールバックターゲットとの競合、 TTFT 履歴に基づくターゲットのスキップ、フォールバックリクエストの圧縮が発生しないようにするには、ゼロレイテンシー最適化を 無効のままにしてください。有効にすると、設定されたヘッジング、予測 TTFT スキップ、プロアクティブなフォールバック圧縮が使用され、ルーティングやリクエストの忠実性と引き換えにテール レイテンシーを低減できます。

上流プロバイダーで厳密な max_tokens / maxOutputTokens 制限が必要な場合は、推論トークンバッファを無効にしてください。有効にすると、コンボルーティングでは、既知の出力上限を持つモデルにのみ推論モデル用の 余裕が追加され、安全なバッファ値がその上限を超える場合はクライアントのトークン制限が変更されません。クライアントの制限が既知の上限をすでに超えている場合、 OmniRoute は上流リクエストを送信する前に、その上限まで制限値を引き下げます。


ヘルスダッシュボード

ダッシュボード → ヘルスからアクセスできます。6 つのカードでシステムの健全性をリアルタイムに確認できます。

カード 表示内容
システムステータス 稼働時間、バージョン、メモリ使用量、データディレクトリ
プロバイダーの健全性 グローバルプロバイダーのサーキットブレーカーの実行時状態
レート制限 アカウントごとの有効な接続クールダウンと残り時間
有効なロックアウト 有効なモデル単位のロックアウトと一時的な除外
シグネチャキャッシュ 重複排除キャッシュの統計(有効なキー、ヒット率)
レイテンシーテレメトリ プロバイダーごとの p50/p95/p99 レイテンシー集計

プロのヒント: ヘルスページは 10 秒ごとに自動更新されます。問題が発生しているプロバイダーを特定するには、サーキットブレーカーカードを使用してください。


🤖 自動ルーティング(設定不要)

OmniRoute には、接続されたすべてのプロバイダーから各リクエストに最適なモデルを選択する、スコア駆動型の自動ルーターが搭載されています。管理が必要なコンボはありません。auto/* プレフィックスのいずれかを指定してリクエストを送信するだけで、OmniRoute がその場で仮想コンボを構築し、レイテンシ、コスト、成功率、コンテキスト適合度、タスクに対するモデルの適性、直近の失敗、クォータ、サーキットブレーカーの状態に基づいて候補をスコアリングします。

プレフィックス 最適化対象
auto バランスの取れたデフォルト(レイテンシ × コスト × 成功率)
auto/coding コーディングタスクClaude、GPT-5、GLM、Kimi、Qwen Coder、DeepSeek のコーディングモデルを優先
auto/cheap 最低の $/token。レイテンシの増加を許容
auto/fast 最低レイテンシ。コストは無視
auto/offline ローカル専用プロバイダーOllama、vLLM、llama.cpp。エアギャップ環境に有用
auto/smart 推論品質を最優先Opus、GPT-5 xhigh、R1、GLM 5.1 reasoning
auto/lkgp 「最後に正常動作したプロバイダー」— 最後に成功したプロバイダーに固定し、その後ルールへフォールバック

例:

curl -X POST http://localhost:20128/v1/chat/completions \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto/coding",
    "messages": [{ "role": "user", "content": "この Python 関数をリファクタリングしてください" }],
    "stream": true
  }'

自動ルーターの詳細については、AUTO-COMBO.md を参照してください。スコアリングの重みの調整方法、プロバイダーをブラックリストに登録する方法、ダッシュボード → Auto Combo でルーティング判断を確認する方法などが記載されています。


🔌 MCP と A2A の統合

OmniRoute は、MCP サーバーModel Context Protocolであると同時に、A2A サーバーAgent-to-Agent JSON-RPC 2.0でもあります。MCP 互換の IDE またはエージェントホストから OmniRoute のツールを直接呼び出せます。追加のラッパーは必要ありません。

MCP トランスポート

  • SSEhttp://localhost:20128/api/mcp/sse
  • ストリーム対応 HTTPhttp://localhost:20128/api/mcp/stream
  • stdioomniroute --mcpstdio を使用する IDE プラグイン向け)

Claude Desktop への接続

macOS では ~/Library/Application Support/Claude/claude_desktop_config.json を、Windows/Linux では対応するファイルを編集します:

{
  "mcpServers": {
    "omniroute": {
      "command": "omniroute",
      "args": ["--mcp"]
    }
  }
}

Cursor / Continue / VS Code MCP への接続

SSE URL http://localhost:20128/api/mcp/sse と、ダッシュボード → API Keys で生成した Bearer API キーを使用します。

スコープ

MCP では現在、名前付きスコープが 32 個定義されています。各 Bearer キーは特定のスコープのみに制限できます。正式なスコープとツールの一覧については MCP-SERVER.md を、JSON-RPC スキーマについては A2A-SERVER.md を参照してください。


🧠 スキルシステム

OmniRoute は拡張可能なスキルフレームワークsrc/lib/skills/)を公開しており、エージェントや A2A エンドポイントがドメイン固有のルーチン(例:code-reviewsummarizeextract-factsweb-research)を実行できます。

  • マーケットプレイス UIダッシュボード → スキルからスキルを参照してインストール
  • キーごとのスコープ — 各 API キーが呼び出せるスキルを制限
  • カスタムスキル — TypeScript ファイルを src/lib/a2a/skills/ に配置して登録すると、A2A 経由ですぐに呼び出し可能

完全なリファレンス:SKILLS.md


💾 メモリシステム

OmniRoute は、ハイブリッド検索を使用して長期的な会話メモリを永続化します。

  • 過去のターンを対象としたキーワード検索には SQLite FTS5
  • 意味検索には Qdrant vector store(オプション)
  • 自動ファクト抽出 — 各セッション後にエンティティ、設定、決定事項を要約し、memory_facts テーブルに保存
  • メモリは API キーごと、およびセッションごとにスコープ設定

ダッシュボード → メモリでメモリを管理できます検索、編集、エクスポート、消去。HTTP インターフェース(/api/memory/*)を使用すると、エージェントはプログラムからファクトを追加・照会できます。詳細は MEMORY.md を参照してください。


🔔 Webhook

リアルタイムの監視と自動化のために、OmniRoute イベントを購読できます。

  • ダッシュボード → Webhookで、ターゲット URL と HMAC 署名シークレットを指定して Webhook を作成
  • 利用可能なイベント:request.completedrequest.failedprovider.unavailablebudget.exceededcombo.switchedcircuit_breaker.openedcircuit_breaker.closed
  • すべてのペイロードには、検証用の X-OmniRoute-SignatureHMAC-SHA256が含まれます
  • 再試行:指数バックオフで 3 回試行後、デッドレターキューへ送信

完全なスキーマは WEBHOOKS.md を参照してください。


☁️ クラウドエージェント

OmniRoute はクラウドコーディングエージェント(OpenAI Codex CloudDevinJulesAntigravity)と統合されており、ローカルルーティングを管理するものと同じダッシュボードから、長時間実行タスクを送信できます。

  • ダッシュボード → クラウドエージェント、または POST /api/v1/agents/tasks を使用してタスクを作成
  • タスクごとにステータス、ログ、アーティファクトを追跡
  • プロバイダーごとに独自の API キーを使用可能 — 認証情報が OmniRoute インスタンスの外部に送信されることはありません

完全なリファレンス:CLOUD_AGENT.md


🛠️ プログラムによる管理

manage スコープを持つ Bearer キーを使用して、HTTP 経由ですべての OmniRoute リソース(プロバイダー、コンボ、キー、設定)を管理できます。

ダッシュボード → API キー → 新しいキー → スコープmanageでキーを生成してから、以下を実行します。

# プロバイダーを一覧表示
curl http://localhost:20128/api/providers \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"

# プロバイダー接続を追加
curl -X POST http://localhost:20128/api/providers \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "provider": "openai", "apiKey": "sk-...", "name": "main" }'

# コンボを作成
curl -X POST http://localhost:20128/api/combos \
  -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "premium", "strategy": "priority", "models": [{ "model": "cc/claude-opus-4-7" }, { "model": "glm/glm-5.1" }] }'

# API キーを一覧表示/作成
curl http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
curl -X POST http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
  -d '{ "name": "ci-bot", "scopes": ["chat"] }'

エンドポイントの完全なカタログとリクエスト/レスポンススキーマについては、API_REFERENCE.md を参照してください。


💻 内部 CLI

OmniRoute には、セットアップ、診断、ランタイム制御用の内部 CLIomniroute …)が付属しています。これは、サードパーティー製 CLIClaude Code、Cursor、Codex、Cline など)が OmniRoute と通信できるように設定する、ダッシュボードの「CLI ツール」ページとは別のものです

omniroute setup                    # 対話形式のウィザード(パスワード、プロバイダー、コンボ)
omniroute setup --non-interactive  # CI 向け
omniroute doctor                   # ヘルス診断データディレクトリ、DB、プロバイダー、ポート
omniroute providers available      # サポートされているプロバイダーを一覧表示
omniroute providers list           # 設定済みの接続を一覧表示
omniroute providers test <id>      # プロバイダー接続をリアルタイムでテスト
omniroute combos list              # コンボを一覧表示
omniroute combos switch <name>     # デフォルトのコンボを設定
omniroute models                   # 利用可能なモデルを一覧表示(--json、--search
omniroute keys add | list | remove # ターミナルから API キーを管理
omniroute backup                   # 設定と DB のスナップショットを作成
omniroute restore [<timestamp>]    # スナップショットから復元
omniroute health                   # 詳細なヘルス情報(ブレーカー、キャッシュ、メモリ)
omniroute quota                    # プロバイダーのクォータ使用量
omniroute mcp status               # MCP サーバーのステータス
omniroute a2a status               # A2A サーバーのステータス
omniroute tunnel list|create|stop  # Cloudflare/Tailscale/ngrok トンネル
omniroute reset-password           # 管理者パスワードをリセット
omniroute --mcp                    # stdio 経由で MCP サーバーを起動
omniroute --port 3000              # カスタムポートでサーバーを起動

ヒント: omniroute doctor --json を監視ツールと組み合わせることで、プロバイダー接続に問題がある場合にアラートを発行できます。


🖥️ デスクトップアプリケーションElectron

OmniRoute は、Windows、macOS、Linux 向けのネイティブデスクトップアプリケーションとして利用できます。

インストール

# electron ディレクトリから実行:
cd electron
npm install

# 開発モード(実行中の Next.js 開発サーバーに接続):
npm run dev

# 本番モード(スタンドアロンビルドを使用):
npm start

インストーラーのビルド

cd electron
npm run build          # 現在のプラットフォーム
npm run build:win      # Windows.exe NSIS
npm run build:mac      # macOS.dmg ユニバーサル)
npm run build:linux    # Linux.AppImage

出力先 → electron/dist-electron/

主な機能

機能 説明
サーバーの準備状態 ウィンドウを表示する前にサーバーをポーリング(空白画面を防止)
システムトレイ トレイへの最小化、ポート変更、トレイメニューからの終了
ポート管理 トレイからサーバーポートを変更(サーバーを自動再起動)
コンテンツセキュリティポリシー セッションヘッダーによる制限的な CSP
単一インスタンス 一度に実行できるアプリインスタンスは 1 つのみ
オフラインモード 同梱の Next.js サーバーはインターネット接続なしで動作

環境変数

変数 デフォルト 説明
OMNIROUTE_PORT 20128 サーバーポート
OMNIROUTE_MEMORY_MB 512 Node.js のヒープ上限6416384 MB

📖 完全なドキュメント: electron/README.md