mcpField
L
llm-router

llm-router

github.com/jamesrochabrunエージェントワークフロー226145 回インストール42 週間前に更新
リポジトリ

llm-router について

llm-routerは、SwiftOpenAI-CLIを設定し、単発のエージェントタスクをOpenAI、Grok、Groq、DeepSeek、OpenRouterへ振り分けるスキルです。CLIの確認とプロバイダー設定に加え、セッション、出力形式、MCPツールにも対応します。

主な機能

  1. 015つのプロバイダーへのタスク振り分け
  2. 02CLIの確認と更新
  3. 03プロバイダーとモデルの設定
  4. 04単発のエージェントタスク実行
  5. 05セッションによる会話の継続
  6. 06出力形式の選択

活用シーン

  1. 01指定プロバイダーへの質問送信
  2. 02コーディングや推論向けモデルの選択
  3. 03複数リクエスト間での会話コンテキスト維持
  4. 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.md
scripts/
check_install_cli.sh
configure_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 - サポート対象のすべてのプロバイダー、モデル、設定、機能に関する包括的なリファレンス

ベストプラクティス

  1. まずインストールを必ず確認する - リクエストをルーティングする前に check_install_cli.sh を実行します
  2. プロバイダーを明示的に設定する - configure_provider.sh を使用して、正しく設定されていることを確認します
  3. API キーを確認する - 対象のプロバイダーに適した API キーが設定されていることを確認します
  4. 適切なモデルを選ぶ - タスク(コーディング、推論、一般的なチャット)に合ったモデルを選択します
  5. 継続性のためにセッションを使用する - 複数ターンの会話では --session-id を活用します
  6. トラブルシューティングではデバッグモードを有効にする - 問題が発生した場合、デバッグモードで有益な情報を確認できます
  7. プロバイダーのドキュメントを参照する - プロバイダーの詳細情報については 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

コメント