llm-router について
llm-routerは、SwiftOpenAI-CLIを設定し、単発のエージェントタスクをOpenAI、Grok、Groq、DeepSeek、OpenRouterへ振り分けるスキルです。CLIの確認とプロバイダー設定に加え、セッション、出力形式、MCPツールにも対応します。
主な機能
- 015つのプロバイダーへのタスク振り分け
- 02CLIの確認と更新
- 03プロバイダーとモデルの設定
- 04単発のエージェントタスク実行
- 05セッションによる会話の継続
- 06出力形式の選択
活用シーン
- 01指定プロバイダーへの質問送信
- 02コーディングや推論向けモデルの選択
- 03複数リクエスト間での会話コンテキスト維持
- 04MCPツールを使ったタスク実行
MCP 対応
MCP連携に対応するSwiftOpenAI-CLIのエージェントモードを利用します。リクエストでMCPサーバーと許可するツールを指定できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jamesrochabrun/ skills --skill llm-routerインストール後、Claude Code で/llm-routerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/providers.mdscripts/check_install_cli.shconfigure_provider.sh詳細
LLM ルーター
概要
SwiftOpenAI-CLI のエージェントモードを使用して、AI リクエストをさまざまな LLM プロバイダーにルーティングします。このスキルは、指定されたプロバイダー(OpenAI、Grok、Groq、DeepSeek、OpenRouter)を使用するよう CLI を自動的に設定し、ツールがインストール済みで最新であることを確認して、単発のエージェントタスクを実行します。
基本的なワークフロー
ユーザーから特定の LLM プロバイダーを使うよう依頼された場合(例:「grok を使って量子コンピューティングを説明して」)、次のワークフローに従います。
ステップ 1:SwiftOpenAI-CLI の準備状況を確認する
SwiftOpenAI-CLI がインストール済みで、最新であることを確認します。
scripts/check_install_cli.sh
このスクリプトでは、次の処理が行われます。
swiftopenaiがインストールされているか確認する- バージョンを確認する(最低 1.4.4)
- 必要に応じてインストールまたは更新する
- 現在のインストール状況を報告する
ステップ 2:プロバイダーを設定する
ユーザーのリクエストに基づいて対象のプロバイダーを特定し、SwiftOpenAI-CLI を設定します。
scripts/configure_provider.sh <provider> [model]
対応しているプロバイダー:
openai- OpenAI(GPT-4、GPT-5 など)grok- xAI の Grok モデルgroq- Groq(Llama、Mixtral など)deepseek- DeepSeek モデルopenrouter- OpenRouter(300 以上のモデル)
例:
# Configure for Grok
scripts/configure_provider.sh grok grok-4-0709
# Configure for Groq with Llama
scripts/configure_provider.sh groq llama-3.3-70b-versatile
# Configure for DeepSeek Reasoner
scripts/configure_provider.sh deepseek deepseek-reasoner
# Configure for OpenAI GPT-5
scripts/configure_provider.sh openai gpt-5
このスクリプトでは、次の処理が自動的に行われます。
- プロバイダー設定を行う
- 適切なベース URL を設定する
- デフォルトモデルを設定する
- API キーの設定方法を案内する
ステップ 3:API キーを確認する
設定スクリプトは API キーが設定されているか自動的に確認し、見つからない場合は明確な手順を表示して停止します。
API キーが見つからない場合:
スクリプトはエラーコード 1 で終了し、次の内容を表示します。
- ⚠️ API キーが設定されていないことを示す警告
- 環境変数で設定する手順
- 設定ファイルで設定する手順(永続的)
API キーが見つからないために設定スクリプトが失敗した場合は、ステップ 4 に進まないでください。
代わりに、まず API キーを設定する必要があることをユーザーに伝えます。
オプション 1 - 環境変数(一時的):
export XAI_API_KEY=xai-... # for Grok
export GROQ_API_KEY=gsk_... # for Groq
export DEEPSEEK_API_KEY=sk-... # for DeepSeek
export OPENROUTER_API_KEY=sk-or-... # for OpenRouter
export OPENAI_API_KEY=sk-... # for OpenAI
オプション 2 - 設定ファイル(永続的):
swiftopenai config set api-key <api-key-value>
ユーザーが API キーを設定したら、設定スクリプトを再実行して確認します。
ステップ 4:エージェントタスクを実行する
エージェントモードを使って、ユーザーのリクエストを実行します。
swiftopenai agent "<user's question or task>"
エージェントモードの機能:
- 単発のタスク実行
- 組み込みのツール呼び出し
- MCP(Model Context Protocol)統合のサポート
- セッション ID による会話メモリ
- 複数の出力形式
例:
# Simple question
swiftopenai agent "What is quantum entanglement?"
# With specific model override
swiftopenai agent "Write a Python function" --model grok-3
# With session for conversation continuity
swiftopenai agent "Remember my name is Alice" --session-id chat-123
swiftopenai agent "What's my name?" --session-id chat-123
# With MCP tools (filesystem example)
swiftopenai agent "Read the README.md file" \
--mcp-servers filesystem \
--allowed-tools "mcp__filesystem__*"
使用パターン
パターン 1:シンプルなプロバイダールーティング
ユーザーのリクエスト:「grok を使って量子コンピューティングを説明して」
実行:
# 1. Check CLI installation
scripts/check_install_cli.sh
# 2. Configure for Grok
scripts/configure_provider.sh grok grok-4-0709
# 3. Execute the task
swiftopenai agent "Explain quantum computing"
パターン 2:特定のモデルを選択する
ユーザーのリクエスト:「DeepSeek Reasoner に、この数学の問題を段階的に解くよう依頼して」
実行:
# 1. Check CLI installation
scripts/check_install_cli.sh
# 2. Configure for DeepSeek with Reasoner model
scripts/configure_provider.sh deepseek deepseek-reasoner
# 3. Execute with explicit model
swiftopenai agent "Solve x^2 + 5x + 6 = 0 step by step" --model deepseek-reasoner
パターン 3:Groq による高速な推論
ユーザーのリクエスト:「groq を使ってコードを素早く生成して」
実行:
# 1. Check CLI installation
scripts/check_install_cli.sh
# 2. Configure for Groq (known for fast inference)
scripts/configure_provider.sh groq llama-3.3-70b-versatile
# 3. Execute the task
swiftopenai agent "Write a function to calculate fibonacci numbers"
パターン 4:OpenRouter 経由で複数のモデルにアクセスする
ユーザーのリクエスト:「OpenRouter を使って Claude にアクセスして」
実行:
# 1. Check CLI installation
scripts/check_install_cli.sh
# 2. Configure for OpenRouter
scripts/configure_provider.sh openrouter anthropic/claude-3.5-sonnet
# 3. Execute with Claude via OpenRouter
swiftopenai agent "Explain the benefits of functional programming"
プロバイダー固有の注意事項
OpenAI(GPT-5 モデル)
GPT-5 モデルは高度なパラメーターに対応しています。
# Minimal reasoning for fast coding tasks
swiftopenai agent "Write a sort function" \
--model gpt-5 \
--reasoning minimal \
--verbose low
# High reasoning for complex problems
swiftopenai agent "Explain quantum mechanics" \
--model gpt-5 \
--reasoning high \
--verbose high
詳細度: low、medium、high
推論の労力: minimal、low、medium、high
Grok(xAI)
Grok モデルは、リアルタイム情報とコーディング向けに最適化されています。
grok-4-0709- 推論能力が強化された最新モデルgrok-3- 汎用モデルgrok-code-fast-1- コード生成向けに最適化
Groq
オープンソースモデルによる超高速な推論で知られています。
llama-3.3-70b-versatile- 汎用モデルの中で最適mixtral-8x7b-32768- エキスパート混合モデル
DeepSeek
推論とコーディングに特化しています。
deepseek-reasoner- 高度な段階的推論deepseek-coder- コーディングに特化deepseek-chat- 汎用チャット
OpenRouter
300 以上のモデルにアクセスできます。
- Anthropic Claude モデル
- OpenAI モデル
- Google Gemini モデル
- Meta Llama モデル
- そのほか多数
API キーの管理
推奨:複数のプロバイダーで環境変数を使用する
複数のプロバイダーを使用する場合のベストプラクティスは、すべての API キーを環境変数として設定することです。これにより、キーを再設定せずにプロバイダーをシームレスに切り替えられます。
シェルプロファイルに追加します(~/.zshrc または ~/.bashrc):
# API Keys for LLM Providers
export OPENAI_API_KEY=sk-...
export XAI_API_KEY=xai-...
export GROQ_API_KEY=gsk_...
export DEEPSEEK_API_KEY=sk-...
export OPENROUTER_API_KEY=sk-or-v1-...
追加したら、シェルを再読み込みします:
source ~/.zshrc # or source ~/.bashrc
仕組み:
- SwiftOpenAI-CLI は、設定されたプロバイダーに応じて適切なプロバイダー固有のキーを自動的に使用します
- Grok に切り替えると、
XAI_API_KEYを使用します - OpenAI に切り替えると、
OPENAI_API_KEYを使用します - 切り替えるたびにキーを再設定する必要はありません
代替方法:設定で単一の API キーを指定する(複数のプロバイダーには非推奨)
1 つのプロバイダーのみを使用する場合は、設定ファイルにキーを保存できます:
swiftopenai config set api-key <your-key>
制限事項: 設定ファイルには API キーを 1 つしか保存できません。プロバイダーを切り替える場合は、そのたびにキーを再設定する必要があります。
現在の API キーを確認する
# View current configuration (API key is masked)
swiftopenai config list
# Get specific API key setting
swiftopenai config get api-key
優先順位: プロバイダー固有の環境変数は、設定ファイルの設定より優先されます。
高度な機能
対話型設定
複雑な設定には、対話型ウィザードを使用します:
swiftopenai config setup
セットアップを順を追って案内します:
- プロバイダーの選択
- API キーの入力
- モデルの選択
- デバッグモードの設定
- ベース URL の設定(必要な場合)
セッション管理
複数のリクエスト間で会話のコンテキストを維持します:
# Start a session
swiftopenai agent "My project is a React app" --session-id project-123
# Continue the session
swiftopenai agent "What framework did I mention?" --session-id project-123
MCP ツールの統合
Model Context Protocol を介して外部サービスに接続します:
# With GitHub MCP
swiftopenai agent "List my repos" \
--mcp-servers github \
--allowed-tools "mcp__github__*"
# With filesystem MCP
swiftopenai agent "Read package.json and explain dependencies" \
--mcp-servers filesystem \
--allowed-tools "mcp__filesystem__*"
# Multiple MCP servers
swiftopenai agent "Complex task" \
--mcp-servers github,filesystem,postgres \
--allowed-tools "mcp__*"
出力形式
結果の表示方法を制御します:
# Plain text (default)
swiftopenai agent "Calculate 5 + 3" --output-format plain
# Structured JSON
swiftopenai agent "List 3 colors" --output-format json
# Streaming JSON events (Claude SDK style)
swiftopenai agent "Analyze data" --output-format stream-json
トラブルシューティング
よくある問題
問題:「swiftopenai: command not found」
解決方法:check_install_cli.sh スクリプトを実行すると、CLI が自動的にインストールされます。
問題:認証エラー
解決方法:プロバイダーに適した API キーが設定されていることを確認します:
# Check current config
swiftopenai config list
# Set the appropriate API key
swiftopenai config set api-key <your-key>
# Or use environment variable
export XAI_API_KEY=xai-... # for Grok
問題:モデルを利用できない
解決方法:モデル名がプロバイダーで利用可能なモデルと一致していることを確認します。正しいモデル名は references/providers.md で確認するか、次を実行します:
swiftopenai models
問題:レート制限またはクォータのエラー
解決方法:これらはプロバイダー固有の制限です。次の方法を検討してください:
- 別のモデルのティアを使用する
- 一時的に別のプロバイダーに切り替える
- API 使用状況ダッシュボードを確認する
デバッグモード
デバッグモードを有効にすると、詳細な HTTP 情報を確認できます:
swiftopenai config set debug true
次の情報が表示されます:
- HTTP ステータスコードとヘッダー
- API リクエストの詳細
- レスポンスのメタデータ
リソース
このスキルには、LLM のルーティングをサポートするリソースが含まれています:
scripts/
- check_install_cli.sh - SwiftOpenAI-CLI がインストール済みで最新であることを確認します
- configure_provider.sh - 特定のプロバイダー向けに CLI を設定します
references/
- providers.md - サポート対象のすべてのプロバイダー、モデル、設定、機能に関する包括的なリファレンス
ベストプラクティス
- まずインストールを必ず確認する - リクエストをルーティングする前に
check_install_cli.shを実行します - プロバイダーを明示的に設定する -
configure_provider.shを使用して、正しく設定されていることを確認します - API キーを確認する - 対象のプロバイダーに適した API キーが設定されていることを確認します
- 適切なモデルを選ぶ - タスク(コーディング、推論、一般的なチャット)に合ったモデルを選択します
- 継続性のためにセッションを使用する - 複数ターンの会話では
--session-idを活用します - トラブルシューティングではデバッグモードを有効にする - 問題が発生した場合、デバッグモードで有益な情報を確認できます
- プロバイダーのドキュメントを参照する - プロバイダーの詳細情報については
references/providers.mdを確認します
例
例 1:リアルタイム情報を得るために Grok にルーティングする
# User: "Use grok to tell me about recent AI developments"
scripts/check_install_cli.sh
scripts/configure_provider.sh grok grok-4-0709
swiftopenai agent "Tell me about recent AI developments"
例 2:段階的な推論に DeepSeek を使用する
# User: "Ask deepseek to explain how to solve this algorithm problem"
scripts/check_install_cli.sh
scripts/configure_provider.sh deepseek deepseek-reasoner
swiftopenai agent "Explain step by step how to implement quicksort"
例 3:Groq で高速にコードを生成する
# User: "Use groq to quickly generate a REST API"
scripts/check_install_cli.sh
scripts/configure_provider.sh groq llama-3.3-70b-versatile
swiftopenai agent "Generate a REST API with authentication in Python"
例 4:OpenRouter 経由で Claude にアクセスする
# User: "Use openrouter to access claude and write documentation"
scripts/check_install_cli.sh
scripts/configure_provider.sh openrouter anthropic/claude-3.5-sonnet
swiftopenai agent "Write comprehensive documentation for a todo app API"
例 5:カスタムパラメーターで GPT-5 を使用する
# User: "Use gpt-5 with high reasoning to solve this complex problem"
scripts/check_install_cli.sh
scripts/configure_provider.sh openai gpt-5
swiftopenai agent "Design a distributed caching system" \
--model gpt-5 \
--reasoning high \
--verbose high