8.3 KiB
トラブルシューティング
9Router利用時の一般的な問題と解決策。
"Language model did not provide messages"
問題: リクエストが空のレスポンスまたはエラーメッセージで失敗。
原因:
- プロバイダーのクォータが消費された
- APIキーが無効または期限切れ
- モデルが利用不可
解決策:
-
クォータ状況を確認:
Dashboard → Providers → クォータトラッカーを表示クォータが消費されている場合、リセットを待つかプロバイダーを切替。
-
コンボフォールバックを使用:
Dashboard → Combos → フォールバックチェーンを作成 例: cc/claude-opus → glm/glm-4.7 → if/kimi-k2 -
プロバイダー接続を確認:
Dashboard → Providers → 必要に応じて再接続
レート制限
問題: 「Rate limit exceeded」または「Too many requests」エラー。
原因:
- サブスクリプションのクォータが枯渇(5時間/日次/週次の制限)
- APIレート制限に達した
- 同時リクエストが多すぎる
解決策:
-
リセット時間を確認:
Dashboard → Quota Tracking → リセットカウントダウンを表示 -
低価格階層へ切替:
使用: glm/glm-4.7 (100万トークンあたり$0.6) minimax/MiniMax-M2.1 (100万トークンあたり$0.20) -
フォールバックコンボを追加:
Dashboard → Combos → バックアップモデルを追加 優先: cc/claude-opus (サブスクリプション) バックアップ: glm/glm-4.7 (低価格) 緊急時: if/kimi-k2 (無料)
OAuthトークン期限切れ
問題: 「Unauthorized」または「Token expired」エラー。
原因:
- OAuthトークンが期限切れ(自動更新失敗)
- プロバイダーセッションが無効化された
- 更新中のネットワーク問題
解決策:
-
自動更新(デフォルト): 9Routerは自動的にトークンを更新します。30秒待ってから再試行。
-
手動で再接続:
Dashboard → Providers → [プロバイダー名] → Reconnect → OAuthフローを再度完了 -
プロバイダーステータスを確認: プロバイダーサービスがオンラインであることを確認(Claude Code、Codexなど)
高コスト
問題: 予期しない高使用量またはコスト。
原因:
- 不必要に高価なモデルを使用
- 低価格階層へのフォールバックがない
- 大きなコンテキストウィンドウ
解決策:
-
使用統計を確認:
Dashboard → Usage Stats → トークン消費量を表示 → 高コストモデルを特定 -
より安いモデルへ切替:
置換: cc/claude-opus (月$20〜100サブスクリプション) へ: glm/glm-4.7 (100万トークンあたり$0.6) minimax/MiniMax-M2.1 (100万トークンあたり$0.20) -
無料階層を使用:
if/kimi-k2-thinking (無料) qw/qwen3-coder-plus (無料) kr/claude-sonnet-4.5 (無料) gc/gemini-3-flash-preview (月18万無料) -
プロンプトを最適化:
- コンテキストサイズを削減
- 長い応答にストリーミングを使用
- 一般的なプロンプトをキャッシュ
Connection Refused
問題: 「ECONNREFUSED」または「Cannot connect to localhost:20128」。
原因:
- 9Routerが起動していない
- ポート20128がブロックされている
- ファイアウォールが接続をブロック
解決策:
-
9Routerを起動:
9routerダッシュボードがhttp://localhost:3000で開くはず
-
ポート20128を確認:
# ポートがリッスンしているか確認 lsof -i :20128 # またはWindowsで netstat -ano | findstr :20128 -
ファイアウォールを確認:
- macOS: システム設定 → ネットワーク → ファイアウォール
- Windows: Windows Defenderファイアウォール → アプリを許可
- Linux:
sudo ufw allow 20128
-
クラウドエンドポイントを使用: localhostが動作しない場合(例: Cursor IDE):
Endpoint: https://9router.com/v1
ダッシュボードが開かない
問題: ダッシュボードがhttp://localhost:3000で読み込まれない。
原因:
- ポート3000がすでに使用中
- 9Routerがクラッシュした
- ブラウザキャッシュの問題
解決策:
-
9Routerが実行中か確認:
# プロセスを確認 ps aux | grep 9router # ポート3000を確認 lsof -i :3000 -
競合するプロセスを終了:
# macOS/Linux lsof -ti:3000 | xargs kill -9 # Windows netstat -ano | findstr :3000 taskkill /PID <PID> /F -
9Routerを再起動:
# 停止 pkill -f 9router # 起動 9router -
ブラウザキャッシュをクリア:
- Chrome: Ctrl+Shift+Delete → キャッシュをクリア
- シークレットモードを試す
-
ファイアウォール設定を確認: ポート3000がブロックされていないことを確認。
モデルが見つからない
問題: 「Model not found」または「Invalid model」エラー。
原因:
- プロバイダーが接続されていない
- モデルIDのタイポ
- プロバイダーが非アクティブ
解決策:
-
プロバイダー接続を確認:
Dashboard → Providers → ステータスを確認(緑 = アクティブ) -
モデルID形式を確認:
正しい: cc/claude-opus-4-5-20251101 誤り: claude-opus-4-5-20251101 形式: [provider-prefix]/[model-name] -
利用可能なモデルを一覧表示:
curl http://localhost:20128/v1/models \ -H "Authorization: Bearer your-api-key" -
プロバイダーを再接続:
Dashboard → Providers → [Provider] → Reconnect
応答が遅い
問題: リクエストに時間がかかりすぎる、またはタイムアウト。
原因:
- プロバイダーのレイテンシ
- ネットワーク問題
- 大きなコンテキスト/応答
- プロバイダーのレート制限
解決策:
-
プロバイダーステータスを確認:
Dashboard → Providers → レイテンシ統計を表示 -
高速モデルへ切替:
高速: cc/claude-haiku-4-5 (HaikuはOpusより高速) gc/gemini-3-flash-preview qw/qwen3-coder-flash -
ストリーミングを使用:
{ "model": "cc/claude-opus-4-5", "messages": [...], "stream": true } -
ネットワークを確認:
# レイテンシをテスト ping api.anthropic.com ping api.openai.com -
コンテキストサイズを削減:
- メッセージ履歴をトリミング
- 短いプロンプトを使用
- CLIツールでコンテキストの剪定を有効化
APIキー無効
問題: 「Invalid API key」または「Authentication failed」エラー。
原因:
- 間違ったAPIキーをコピー
- APIキーが期限切れ
- APIキーが生成されていない
解決策:
-
APIキーを再生成:
Dashboard → Settings → API Keys → Generate New Key → 新しいキーをコピーして使用 -
キー形式を確認:
正しい: 9r_xxxxxxxxxxxxxxxxxxxxxxxx 誤り: 9r_プレフィックスがない -
CLI設定でキーを確認:
# Cursor Settings → Models → OpenAI API Key # Cline Settings → API Key # 環境変数 export OPENAI_API_KEY="9r_your_key" -
APIキーをテスト:
curl http://localhost:20128/v1/models \ -H "Authorization: Bearer 9r_your_key"
さらにヘルプが必要?
- GitHub Issues: github.com/decolua/9router/issues
- ドキュメント: 9router.com/docs
- FAQ: faq.md