Meridianは、Claude Max(サブスクリプション契約)の認証情報を使って、OpenCode・Pi・Aiderなど複数のサードパーティ製AIコーディングツールからClaudeモデルを呼び出せるようにするプロキシです。Anthropic公式のClaude Agent SDKと、各ツールが期待するAnthropic互換HTTP APIの間を橋渡しする役割を持ちます。単体のプロキシに加えて、CLI・Electronデスクトップアプリ・opencode向けプラグインまでを1つのリポジトリでまとめて提供しています。
プロキシはリクエストのUser-Agentヘッダーを見て呼び出し元のツールを自動判定します。`src/proxy/adapters/detect.ts`にdroid・crush・claude-code などのアダプタが用意されており、それぞれのプロトコルの違いを吸収します。判定後は、各プロファイルに保存されたOAuthトークンやAPIキー(`~/.config/meridian/profiles/<id>/.credentials.json`)を使い、Claude Agent SDK経由で実際のClaude呼び出しを行います。複数アカウントを登録すると「active+priority」などのルーティングモードで優先順位を管理し、あるアカウントがレート制限に達した場合は同じリクエストの中で次の健全なアカウントへ自動的に切り替えます。この挙動は`active-priority-integration.test.ts`のようなテストで検証されています。Docker版はビルドステージ(bun)とランタイムステージ(alpine上のnode)を分け、`@anthropic-ai/claude-code`のネイティブバイナリをmusl向けに再インストールする工夫が施されています。Electron製デスクトップアプリはこのプロキシの起動・停止・プロファイル切替・プラグイン管理をGUIから操作するマネージャです。
- STEP 01
リポジトリをcloneして`bun install`を実行すると、postinstallで`@anthropic-ai/claude-code`のネイティブバイナリがダウンロードされる様子が確認できます。
- STEP 02
`bin/cli.ts`経由の`meridian profile login`を実行すると、ブラウザでClaude Maxのログイン画面が開き、認証後にOAuthトークンが`~/.config/meridian/profiles/<id>/.credentials.json`へ保存されます。
- STEP 03
`bin/claude-proxy-supervisor.sh`またはdocker-composeでプロキシを起動すると、`http://127.0.0.1:3456`でAnthropic互換APIが待ち受けを始めます。
- STEP 04
好みのツール側の`ANTHROPIC_BASE_URL`をこのアドレスへ向けると、ツールは通常のAnthropic API呼び出しのつもりでClaude Maxの利用枠を消費します。
- STEP 05
複数プロファイルを登録した状態で一方がレート制限に達すると、`/profiles/list`エンドポイントで`spent`状態が確認でき、リクエストは裏で別アカウントへ自動転送されます。
- STEP 06
Electron製デスクトップアプリを起動すると、トレイアイコンからプロキシの稼働状態・アカウント切替・プラグイン導入状況を確認できます。
手元にはローカルで動くAnthropic互換プロキシと、それを管理するCLI・デスクトップアプリ・opencode向けプラグインが揃います。これによりClaude Max契約1つで、API課金なしに複数のサードパーティ製コーディングツールを切り替えて使える状態が得られます。加えて、複数アカウントを束ねたレート制限の自動フェイルオーバーとテレメトリ(`telemetry.db`)による稼働ログも手に入ります。
`profiles.json`や`.credentials.json`にはリフレッシュトークンが平文で保存され、漏洩すると`claude login`のやり直しが必要になるため、opencode.jsonのdeny設定を外すと危険性が上がります。
Dockerビルドはビルド環境(glibc)と実行環境(musl)のライブラリ差異を吸収するために手順が分かれており、単純な`docker build`より構成理解が必要です。
README・仕様書・大量のe2eスクリプトは充実していますが、この文書の範囲では実際にコマンドを走らせた出力までは確認できていません。
複数プロファイルの切替やレート制限フェイルオーバーは、アカウントを複数契約していない利用者には恩恵が少ない機能です。
Claude Maxをすでに契約していて、OpenCodeやAider・Crush・Droidなど複数のAIコーディングCLIを使い分けたい開発者に向いています。ソースには User-Agent判定・OAuthプロファイル管理・レート制限フェイルオーバーの実装とそれを検証するテスト群が具体的に存在し、Dockerfileやopencode.jsonの記述からも運用面の配慮が読み取れるため、実機検証なしでも設計の一貫性は確認できます。一方でクレデンシャル管理の重さと構成の複雑さは事前に理解しておく必要があります。