running-claude-code-via-litellm-copilot
ローカルのLiteLLMプロキシ経由でClaude CodeをGitHub Copilotにルーティングし、Anthropic APIの直接利用コストを削減したい場合や、`ANTHROPIC_BASE_URL`・`ANTHROPIC_MODEL`の上書き設定を行う際に使用します。また、model-not-foundエラー、localhostへのトラフィック不通、GitHub 401/403認証エラーなど、Copilotプロキシ構成のトラブルシューティングにも対応します。
description の原文を見る
Use when routing Claude Code through a local LiteLLM proxy to GitHub Copilot, reducing direct Anthropic spend, configuring ANTHROPIC_BASE_URL or ANTHROPIC_MODEL overrides, or troubleshooting Copilot proxy setup failures such as model-not-found, no localhost traffic, or GitHub 401/403 auth errors.
SKILL.md 本文
概要
Claude Code が Anthropic 形式のクライアント動作を維持しながら、実際のバックエンドトラフィックをローカルの LiteLLM プロキシを経由して GitHub Copilot に転送する特定の回避策として、このスキルを使用してください。
これを公式に保証された GitHub ワークフローではなく、高度な回避策として扱ってください。ユーザーが技術的に成功するのを支援してください。ただし、GitHub サポート、ポリシー承認、または長期的な互換性を約束しないでください。
このスキルはガイダンス主導ですが、実行を認識しています。
- ユーザーが説明のみを希望する場合は、最小限の正しいファイル、コマンド、チェックセットを提供してください。
- ユーザーが現在のマシンで実際のセットアップ作業を希望する場合は、最初に検査し、コマンドをアクティブなシェルと OS に適応させてください。
~/.claude/settings.jsonまたはシェルプロファイルファイルなどの永続的な編集の前に一時停止してください。
回答する必要がある場合は、 を読んでください。どの部分が記事から来たもので、どの部分が現在の LiteLLM ドキュメントに対して厳密化されたかを正当化する必要がある場合。references/doc-verified-notes.md
いつ使用するか
ユーザーが次のいずれかを希望する場合にこのスキルを使用してください。
- Claude Code を LiteLLM 経由で GitHub Copilot に対して実行する
- Claude Code ワークフローを維持しながら直接 Anthropic API 支出を削減する
- LiteLLM の GitHub Copilot プロバイダー用のローカル
config.yaml ANTHROPIC_BASE_URL、ANTHROPIC_MODEL、またはCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICセットアップ- LiteLLM 起動中の GitHub デバイス認可を理解するのに役立つ
- モデルの不一致、404 のようなエラー、LiteLLM に到達しないリクエスト、GitHub 401/403 障害を支援する
このスキルを使用しないでください。
- この回避策が GitHub 利用規約で許可されているかどうかを判断する場合
- Claude Code と Copilot に関連しない一般的な LiteLLM アーキテクチャ
- Copilot または LiteLLM コンポーネントがない直接 Anthropic API セットアップ
コアルール
- 短いコンプライアンス警告から始めてください。 これはローカルプロキシパスに基づいた回避策であり、GitHub が推奨するワークフローではなく、ユーザーは最新の Copilot 利用規約と制限を自分で評価する必要があることを説明してください。
- 最小限の実行可能パスを優先してください。
ユーザーが永続的なセットアップを明示的に希望しない限り、一時的な環境変数とローカル
config.yamlで始めてください。 ANTHROPIC_MODELと LiteLLMmodel_nameを同一に保ってください。 完全な文字列マッチは、巧妙な説明よりも重要です。ANTHROPIC_AUTH_TOKENをローカルプレースホルダーとして扱ってください。 Claude Code はローカルで空でない値を期待しますが、これは GitHub Copilot 認証情報ではなく、再利用可能なシークレットとして提示してはいけません。~/.claude/settings.jsonを全体的に上書きしないでください。 必要なenvキーのみをマージし、無関係な設定を保持してください。
ワークフロー
1. プリフライトチェック
ユーザーが実際のセットアップ作業を希望する場合、最初にこれらを確認してください。
claude --helpが成功するuv --versionまたはpip --versionが成功する- ユーザーが GitHub Copilot にアクセスできる
- 目的の LiteLLM ポート (通常は
4000) が利用可能である
ユーザーが指示のみを希望する場合は、実行する代わりに前提条件を述べてください。
2. 一時的なセットアップか永続的なセットアップかを選択する
このルールを使用してください。
- 一時的なセットアップ: 最初のセットアップ、デバッグ、低リスクの試行のための推奨デフォルト
- 永続的なセットアップ: ユーザーがプロキシパスが Claude Code の起動時に毎回適用されることを明示的に希望する場合のみ
永続的なセットアップの場合は、ターゲットファイルを確認してから、~/.claude/settings.json にキーをマージしてください。ファイルの内容は置き換えないでください。
3. LiteLLM config.yaml を作成する
記事のフローから始めますが、プロバイダーの命名を LiteLLM ドキュメントと一致させてください。
model_list:
- model_name: claude-opus-4.5
litellm_params:
model: github_copilot/claude-opus-4.5
drop_params: true
フィールドを説明してください。
model_name: Claude Code がリクエストする論理名model: LiteLLM プロバイダールート。github_copilot/<model>を使用drop_params: true: サポートされていない Anthropic 固有のフィールドを削除してから Copilot に転送
ユーザーが異なる Copilot バックアップモデルを希望する場合は、同じパターンを保持してください。
model_list:
- model_name: <logical-name>
litellm_params:
model: github_copilot/<copilot-model>
drop_params: true
ユーザーが既に拒否に遭遇し、ヘッダーのオーバーライドが必要であることを示唆していない限り、デフォルトパスに余分なヘッダーをハードコードしないでください。
4. LiteLLM のインストールと起動
推奨インストール:
uv tool install "litellm[proxy]"
フォールバック:
pip install "litellm[proxy]"
config.yaml を含むディレクトリからプロキシを起動してください。
litellm --config config.yaml --port 4000
ログが検証中の最速の真実ソースであるため、そのターミナルを開いたままにしておくようにユーザーに伝えてください。
5. GitHub デバイス認可を説明する
GitHub Copilot プロバイダーへの最初の成功したリクエストでは、LiteLLM がデバイス認可フローを開く場合があります。
- LiteLLM は検証 URL とデバイスコードを出力します
- ユーザーが URL を開いてリクエストを承認します
- LiteLLM は結果として得られた認証情報をローカルに保存して、将来の使用に備えます
オプションのトークンロケーションオーバーライドが存在します。
GITHUB_COPILOT_TOKEN_DIRGITHUB_COPILOT_ACCESS_TOKEN_FILE
ユーザーがカスタムトークンストレージ、共有環境、または期限切れまたは紛失した認証情報のトラブルシューティングが必要な場合にのみ、これらを記述してください。
6. Claude Code を構成する
一時的な PowerShell セッションの場合:
$env:ANTHROPIC_AUTH_TOKEN = "sk-any-string"
$env:ANTHROPIC_BASE_URL = "http://localhost:4000"
$env:ANTHROPIC_MODEL = "claude-opus-4.5"
$env:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC = "1"
claude
一時的な Bash または Zsh セッションの場合:
export ANTHROPIC_AUTH_TOKEN="sk-any-string"
export ANTHROPIC_BASE_URL="http://localhost:4000"
export ANTHROPIC_MODEL="claude-opus-4.5"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
claude
永続的な構成の場合は、これらのキーを ~/.claude/settings.json にマージしてください。
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-any-string",
"ANTHROPIC_BASE_URL": "http://localhost:4000",
"ANTHROPIC_MODEL": "claude-opus-4.5",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
マージセーフ動作:
- ファイルが存在しない場合は作成してください
- 存在する場合は、すべての無関係なトップレベルキーを保持してください
- この無関係なワークフローに無関係な既存の
envエントリを保持してください - 上記の 4 つのキーのみを更新してください
- JSON が形式が悪い場合は、ファイルを上書きする代わりに、解析問題を報告して停止してください
7. リクエストチェーンを確認する
可能な場合は 2 つのターミナルを使用してください。
- ターミナル A は LiteLLM を実行します
- ターミナル B は
claudeを実行します
短いスクリプトやコードレビューリクエストなどの小さなプロンプトを 1 つ要求してから、次を確認してください。
- Claude Code が通常どおり起動します
- LiteLLM ログはインバウンドリクエストを表示します
- LiteLLM ログは GitHub Copilot モデルルート (通常は
github_copilot/<model>) を示しています
健全なパスは次のとおりです。
Claude Code -> LiteLLM -> GitHub Copilot -> LiteLLM -> Claude Code
8. トラブルシューティング
Claude Code がモデル未検出、404 のようなエラーを報告するか、LiteLLM がモデルが存在しないと言う場合:
ANTHROPIC_MODELをmodel_nameと正確に比較してください- 大文字小文字、句読点、ハイフンを確認してください
LiteLLM がリクエストを受け取らない場合:
ANTHROPIC_BASE_URLが http://localhost:4000 をポイントしていることを確認してください- LiteLLM がそのポートで実行されていることを確認してください
claudeを起動した同じシェルセッションで環境変数が設定されていることを確認してください- URL が正しいがまだサイレントの場合は、ローカルファイアウォールまたはポート競合をチェックしてください
LiteLLM が GitHub Copilot に到達しているが 401 または 403 レスポンスを取得する場合:
- LiteLLM を再起動して再度実行することで、デバイス認可フロー繰り返してください
- GitHub アカウントに Copilot アクセス権があることを確認してください
- カスタムトークンディレクトリ変数が設定されている場合は、それらが目的のファイルを指していることを確認してください
高度なフォールバック: ヘッダーオーバーライド
記事では明示的な Copilot スタイルのヘッダーを使用しています。現在の LiteLLM ドキュメントは GitHub Copilot をプロバイダーとして公開し、ヘッダーオーバーライドサポートも文書化しています。
明示的な extra_headers に到達する場合のみ:
- 基本的なプロバイダーフローが Copilot に到達しているが、クライアント形状のオーバーライドが必要な場合
- ユーザーが特定の環境がエディタスタイルのヘッダーでより良く動作することを示す証拠を既に持っている場合
フォールバック例:
model_list:
- model_name: claude-opus-4.5
litellm_params:
model: github_copilot/claude-opus-4.5
drop_params: true
extra_headers:
editor-version: "vscode/1.85.1"
editor-plugin-version: "copilot/1.155.0"
Copilot-Integration-Id: "vscode-chat"
user-agent: "GithubCopilot/1.155.0"
これを普遍的なデフォルトではなく、高度なフォールバックとして提示してください。
出力チェックリスト
このスキルで実際のユーザーリクエストに回答する場合は、次を含めてください。
- 簡潔なコンプライアンス警告
- 正確な
config.yamlまたは適用するデルタ - シェルに適したコマンド
- セットアップが一時的なか永続的なか
- 検証パス
- 何か失敗した場合は最小限の関連トラブルシューティングセクション
セーフティーリマインダー
- GitHub がこの回避策を公式にサポートしていることを述べないでください。
- ダミーの
ANTHROPIC_AUTH_TOKENが実際の Copilot 認証情報であることを示唆しないでください。 ~/.claude/settings.jsonを全体的に置き換えることを推奨しないでください。- 古いモデル名を保証済みの現在の可用性として提示しないでください。ユーザーが特定のモデルを要求した場合は、
github_copilot/<model>パターンを保持し、Copilot 公開モデルの可用性が変わる可能性があることに注意してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- xixu-me
- リポジトリ
- xixu-me/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/xixu-me/skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。