bitrouter
BitRouterをローカルLLMプロキシとして構築・運用し、OpenAI、Anthropic、Google、およびカスタムプロバイダーへのリクエストを単一エンドポイント経由でルーティングできます。BitRouterのインストール、LLMプロバイダーの設定、プロキシサーバーの起動、またはlocalhost:8787を通じたモデルリクエストのルーティングが必要な場合に使用します。BitRouterのセットアップ、LLMプロキシ、モデルルーティング、マルチプロバイダーゲートウェイ、ローカルAIプロキシ、bitrouter.yamlの設定などで自動トリガーされます。
description の原文を見る
Set up and run BitRouter as a local LLM proxy that routes requests to OpenAI, Anthropic, Google, and custom providers through a single endpoint. Use this skill when you need to install bitrouter, configure LLM providers, start the proxy server, or route model requests through localhost:8787. Triggers on: bitrouter setup, LLM proxy, model routing, multi-provider gateway, local AI proxy, configuring bitrouter.yaml.
SKILL.md 本文
BitRouter -- ローカルLLMプロキシオンボーディング
BitRouter はローカルLLMプロキシで、単一のエンドポイント
(http://127.0.0.1:8787) から OpenAI、Anthropic、Google、または OpenAI互換のプロバイダーへのリクエストをルーティングします。デフォルトではローカルで認証は不要です。
ステップ 0: 現在の状態を確認
まず現在の状況を把握してください。以下のチェックを実行し、該当するセクションにスキップしてください:
# 1. bitrouter がインストールされていますか?
command -v bitrouter
# 2. 既に実行されていますか?
bitrouter status
# 3. 設定ファイルが存在しますか?
ls ~/.bitrouter/bitrouter.yaml 2>/dev/null
# 4. どのプロバイダー API キーが利用可能ですか?
[ -n "${OPENAI_API_KEY:-}" ] && echo "openai: available"
[ -n "${ANTHROPIC_API_KEY:-}" ] && echo "anthropic: available"
[ -n "${GOOGLE_API_KEY:-}" ] && echo "google: available"
| 状態 | 移動先 |
|---|---|
実行中で正常 (bitrouter status で PID が表示される) | ステップ 4: 確認と使用 |
| インストール済み + 設定ファイルは存在するが実行されていない | ステップ 3: 起動 |
| インストール済みだが設定ファイルなし | ステップ 2: 設定 |
| インストールされていない | ステップ 1: インストール |
ステップ 1: インストール
cargo install bitrouter
ソースからコンパイルされ、初回インストール時は数分かかります。Rust ツールチェーンが必要です。cargo が見つからない場合は、https://rustup.rs から先にインストールしてください。
ステップ 2: 設定
パス A: ゼロコンフィグ (推奨)
プロバイダー API キーが既に環境にある場合 (OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY)、bitrouter は自動的に検出します。設定ファイルは不要です。ステップ 3 にスキップしてください。
BitRouter には OpenAI、Anthropic、Google の組み込み定義が付属しています。環境内で PROVIDER_API_KEY が見つかると、これらのプロバイダーが自動的に利用可能になります。
パス B: 設定ファイルを作成
カスタムプロバイダー、名前付きモデル、フェイルオーバー、またはロードバランシングが必要な場合は、設定ファイルを作成してください。
BitRouter は以下の順序で設定を探します:
--config-file <path>フラグ- カレントディレクトリの
./bitrouter.yaml $BITROUTER_HOME/bitrouter.yaml~/.bitrouter/bitrouter.yaml(見つからない場合は作成)
最小限の設定 -- どの API キーが存在するかを検出し、必要なもののみを生成:
server:
listen: "127.0.0.1:8787"
providers:
openai:
api_key: "${OPENAI_API_KEY}"
anthropic:
api_key: "${ANTHROPIC_API_KEY}"
google:
api_key: "${GOOGLE_API_KEY}"
${VAR} 構文は環境変数または ~/.bitrouter/.env の .env ファイルから値を取得します。キーを持つプロバイダーのみを含めてください。
名前付きモデルとフェイルオーバー付き:
server:
listen: "127.0.0.1:8787"
providers:
openai:
api_key: "${OPENAI_API_KEY}"
anthropic:
api_key: "${ANTHROPIC_API_KEY}"
models:
default:
strategy: priority
endpoints:
- provider: anthropic
model_id: claude-sonnet-4-20250514
- provider: openai
model_id: gpt-4o
strategy: priority では、モデル "default" へのリクエストは最初のエンドポイントに送信されます。失敗した場合、bitrouter は次を試します。ラウンドロビン分散には strategy: load_balance を使用してください。
カスタムプロバイダー (OpenRouter、Ollama など) については、references/providers.md を参照してください。
.env ファイルを使用した秘密情報管理 -- API キーを YAML から除外:
# ~/.bitrouter/.env
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
ステップ 3: 起動
# バックグラウンドデーモン (エージェント向け推奨)
bitrouter start
# 起動確認
bitrouter status
または、TUI なしでフォアグラウンド実行:
bitrouter serve --headless
ポートが既に使用中の場合や起動に失敗した場合は、references/troubleshooting.md を参照してください。
ライフサイクルコマンド
bitrouter status # PID、プロバイダー、モデル、リスンアドレスを表示
bitrouter stop # グレースフルシャットダウン
bitrouter restart # 停止 + 起動、設定を再読み込み
ステップ 4: 確認と使用
# ヘルスチェック
curl -s http://127.0.0.1:8787/health
# → {"status":"ok"}
モデルネーミング
ダイレクトルーティング -- provider:model_id 形式。API キーが設定されているプロバイダーで動作します:
openai:gpt-4o
openai:gpt-4o-mini
openai:o3-mini
anthropic:claude-sonnet-4-20250514
anthropic:claude-3.5-haiku-20241022
google:gemini-2.5-flash
google:gemini-1.5-pro
名前付きモデル -- 設定の models: セクションで定義されたエイリアス (例: "default")。これらはフェイルオーバーとロードバランシングをサポートします。
リクエスト送信
Bitrouter はプロトコル互換のエンドポイントを公開しています。master_key が設定されていない場合 (デフォルト)、認証ヘッダーは不要です。
OpenAI互換 (/v1/chat/completions):
curl http://127.0.0.1:8787/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "openai:gpt-4o",
"messages": [{"role": "user", "content": "ping"}]
}'
Anthropic互換 (/v1/messages):
curl http://127.0.0.1:8787/v1/messages \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic:claude-sonnet-4-20250514",
"max_tokens": 256,
"messages": [{"role": "user", "content": "ping"}]
}'
カスタム基本 URL を受け入れるすべての SDK が動作します。http://127.0.0.1:8787 にポイントして、上記のモデル名を使用してください。
SDK 統合の例
Python (OpenAI SDK):
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:8787/v1", api_key="unused")
response = client.chat.completions.create(
model="openai:gpt-4o",
messages=[{"role": "user", "content": "Hello"}],
)
Python (Anthropic SDK):
from anthropic import Anthropic
client = Anthropic(base_url="http://127.0.0.1:8787", api_key="unused")
message = client.messages.create(
model="anthropic:claude-sonnet-4-20250514",
max_tokens=256,
messages=[{"role": "user", "content": "Hello"}],
)
利用可能なエンドポイント
| エンドポイント | プロトコル |
|---|---|
GET /health | ヘルスチェック |
POST /v1/chat/completions | OpenAI Chat Completions |
POST /v1/responses | OpenAI Responses API |
POST /v1/messages | Anthropic Messages |
POST /v1beta/models/generateContent | Google Generative AI |
リファレンスドキュメント
references/providers.md-- カスタムプロバイダー、派生設定、認証オプション、すべての組み込みモデルreferences/troubleshooting.md-- ポート競合、スタレデーモン、API キーの問題、設定エラー
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- bitrouter
- ライセンス
- MIT
- 最終更新
- 2026/5/12
Source: https://github.com/bitrouter/bitrouter-openclaw / ライセンス: MIT