claude-worker-proxy
はCloudflare Workers上にデプロイされたプロキシサービスである。 Google GeminiやOpenAIのような様々なビッグモデルAPIのリクエストフォーマットをAnthropic Claudeフォーマットに変換するのがコア機能です。 これにより、本来Claude CodeのようなClaude APIフォーマットを適応させる必要があったクライアントアプリケーションが、GeminiやOpenAIから直接モデルをリクエストできるようになり、開発とメンテナンスのコストが削減される。 このプロジェクトは、ストリーミングおよび非ストリーミングレスポンス、ツールコールをサポートしており、すぐにワンクリックでデプロイすることができる。
機能一覧
- APIフォーマット変換GeminiやOpenAIのようなモデルのAPIリクエストとレスポンスフォーマットをクロードAPIフォーマットにシームレスに変換します。
- クロード・エコロジーとの互換性クロードAPI用に設計されたクライアント(クロードコードなど)が、他のベンダーのAIモデルを直接使用できるようにします。
- ワンクリック配備複雑なサーバー設定をすることなく、Cloudflare Workersプラットフォームを通じて迅速に導入することができます。
- ストリーミング対応リアルタイムでデータを返す必要のあるストリーミングAPIレスポンスモードと互換性があります。
- ツールコールのサポート:: AIモデルと外部ツールや機能との相互作用のサポート。
- ゼロ・コンフィギュレーション・スタートアップ:: このプロジェクトはシンプルに設計されており、ユーザーはデプロイ後すぐに使用できます。
ヘルプの使用
配備と使用claude-worker-proxy
非常にシンプルで、Cloudflare Workersプラットフォームとnpmパッケージマネージャに大きく依存している。
プレインストール
- CloudflareアカウントCloudflareへの登録とログインが必要です。
- Node.jsとnpm開発環境にNode.jsとnpmがインストールされていることを確認してください。
- ラングラーCLI: Wranglerは、Workersプロジェクトを管理するためのCloudflare公式コマンドラインツールです。まだインストールされていなければ、npm経由でグローバルにインストールできます:
npm install -g wrangler@latest
配備プロセス
- プロジェクトコードの複製
まず、プロジェクトのソースコードをGitHubからローカルにクローンする。git clone https://github.com/glidea/claude-worker-proxy
- プロジェクト・ディレクトリに移動し、依存関係をインストールする。
cd claude-worker-proxy npm install
- ラングラーにログイン
ログインコマンドを実行すると、Cloudflareアカウントへのアクセスを承認するためのブラウザウィンドウが開きます。wrangler login
- デプロイコマンドの実行
プロジェクトのルートディレクトリで、デプロイスクリプトを実行します。このスクリプトはコードをパッケージ化し、Cloudflareアカウント下の新しいWorkerサービスにデプロイします。npm run deploycf
デプロイに成功すると、コマンドラインから
.workers.dev
プロキシ・サービスにアクセスするURL(サフィックス付き)。
使用方法
デプロイに成功したら、Worker URLにHTTP POSTリクエストを送信することで、このプロキシを使用できます。URLとリクエストヘッダの形式には特定の要件があります。
URLフォーマット
リクエストのURL構造は以下の通り:
{你的Worker URL}/{目标模型类型}/{目标API基础地址}/v1/messages
{你的Worker URL}
例:デプロイ成功後に得られるアドレス。https://claude-worker-proxy.xxxx.workers.dev
.{目标模型类型}
:: 現在サポートされているgemini
歌で応えるopenai
.{目标API基础地址}
:: ターゲットベンダーの公式APIベースアドレス。APIのバージョン番号を持ってくる必要がある.例えば、ジェミニの住所は以下の通り。https://generativelanguage.googleapis.com/v1beta
.
リクエスト・ヘッダ
リクエストには、対象ベンダーのAPIキーを渡すための特定のリクエストヘッダを含める必要がある:
x-api-key
値は、ターゲットベンダーのAPIキー(例:Gemini APIキー)です。
リクエスト例: curlを使用してGeminiをリクエストする
次の例は、プロキシを通してGoogle Geminiモデルにリクエストを送る方法をClaudeのフォーマットで示しています:
curl -X POST https://claude-worker-proxy.xxxx.workers.dev/gemini/https://generativelanguage.googleapis.com/v1beta/v1/messages \
-H "x-api-key: YOUR_GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-1.5-flash",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
を含めてください。https://claude-worker-proxy.xxxx.workers.dev
実際のWorkerアドレスに置き換えてください。YOUR_GEMINI_API_KEY
有効なGemini APIキーに置き換えてください。
クロード・コードでの使用
クロードコードユーザーの場合、設定ファイルを変更することで、APIリクエストをこのプロキシサービスに向けることができる。
- 設定ファイルの編集
~/.claude/settings.json
. - 以下の例のように、その中の環境変数を変更する:
{ "env": { "ANTHROPIC_BASE_URL": "https://claude-worker-proxy.xxxx.workers.dev/gemini/https://generativelanguage.googleapis.com/v1beta", "ANTHROPIC_CUSTOM_HEADERS": "x-api-key: YOUR_GEMINI_API_KEY", "ANTHROPIC_MODEL": "gemini-1.5-pro", "ANTHROPIC_SMALL_FAST_MODEL": "gemini-1.5-flash", "API_TIMEOUT_MS": "600000" } }
ANTHROPIC_BASE_URL
プロキシのURLに設定し、ターゲットモデルの種類とAPIアドレスを入力します。ANTHROPIC_CUSTOM_HEADERS
APIキーを設定します。ANTHROPIC_MODEL
使用する大型モデルを指定する。ANTHROPIC_SMALL_FAST_MODEL
使用するミニチュアを指定します。
- コンフィギュレーション・ファイルを保存したら、ターミナルで直接実行する。
claude
コマンドを使用して、設定されたモデルをプロキシ経由で使用することができます。
アプリケーションシナリオ
- 統一開発インターフェース
Claude APIを採用したアプリケーションの場合、開発者はGeminiやOpenAIのような異なるモデルのAPIリクエストロジックを書き直す必要はない。リクエストをこのプロキシに向けるだけで、異なるベンダーのモデルを素早く切り替えて使うことができる。 - 特定のツールとの併用
Claude API用にネイティブに設計されたClaude Codeのようなツールは、このエージェントを通じて、コード関連のタスクにGeminiモデルを使用するなど、よりコスト効率の高い、あるいはパフォーマンス的に有利な他のモデルにシームレスに切り替えることができる。 - フロントエンド・アプリケーション開発の合理化
このWorkerエージェントは、ウェブアプリケーションやデスクトップアプリケーションを開発する際に、統一されたバックエンドAPIゲートウェイとして使用することができる。フロントエンドのアプリケーションは1つのAPIフォーマットに従うだけでよく、プロキシレイヤーは異なるAIサービスプロバイダとの通信の詳細を処理します。
品質保証
- このプログラムは無料ですか?
プロジェクトのソースコードはオープンソースで無料だ。 しかし、Cloudflare Workersへのデプロイはプラットフォームリソースを消費し、Cloudflareには無料枠があり、それを超えると有料になる。また、あなたが呼び出すターゲットモデルのAPI(例えばGemini)は、そのプロバイダー(例えばGoogle)に使用量ごとに支払われます。 - なぜURLにターゲット・ベンダーのAPIベース・アドレスを指定する必要があるのですか?
この設計は、より大きな柔軟性を提供する。コードにハードコーディングするのではなく、OpenAIまたはGeminiフォーマットと互換性のある任意のAPIサービスエンドポイントを動的に指定することができます。つまり、将来ベンダーがAPIのバージョンを更新した場合や、サードパーティ製の互換性のあるAPIを使用する場合は、リクエストURLを変更するだけです。 - このプロキシは私のAPIキーやリクエストデータを保存しますか?
このプロジェクトのオープンソース・コードによると、リクエスト転送とフォーマット変換の中間レイヤーとして機能するだけで、ユーザーのAPIキーやリクエスト内容を記録・保存することはない。しかし、サードパーティのプラットフォーム上にデプロイされた場合、そのプラットフォームのデータとプライバシー・ポリシーに従うことになる。 - GeminiやOpenAIのAPIを直接呼び出すよりも、このプロキシを使う利点は何ですか?
主な利点は、既存のClaudeクライアントに対するAPIの互換性である。あなたのアプリケーションやツールチェーンがClaude APIを中心に構築されている場合、このエージェントを使用することで、クライアントコードを修正することなく、バックエンドのAIモデルをGeminiやOpenAIに置き換える柔軟性が得られます。