github-trend-summarizer

free-claude-code 調査まとめ

1. このリポジトリは何?

Claude Code(公式 CLI / VSCode 拡張 / IntelliJ 拡張)の Anthropic API リクエストを、別の LLM プロバイダに横流しするローカルプロキシサーバ です。Python 3.14 + FastAPI + uv で実装されており、uvicorn server:app --port 8082 で起動して、Claude Code 側には ANTHROPIC_BASE_URL=http://localhost:8082 を指定するだけで接続先がすり替わります。Claude Code 自体には一切手を加えません。

主要構成

対応プロバイダ

| Provider | プレフィックス | コスト | |—|—|—| | NVIDIA NIM | nvidia_nim/... | 無料(40 req/min) | | OpenRouter | open_router/... | 無料モデル多数 / 課金 | | DeepSeek | deepseek/... | 従量 | | LM Studio | lmstudio/... | ローカル無料 | | llama.cpp | llamacpp/... | ローカル無料 |

MODEL_OPUS / MODEL_SONNET / MODEL_HAIKU / MODEL(フォールバック)で Opus/Sonnet/Haiku をモデル単位で別プロバイダに振り分け可能。

2. 何が嬉しいのか(類似手段との比較)

3. 使うときの流れ

A. ローカルで Claude Code を無料化するだけの最小ルート

  1. uv をインストール(pip install uv)。Claude Code 本体もインストール。
  2. git clonecd free-claude-codecp .env.example .env
    または uv tool install git+.../free-claude-code.gitfcc-init~/.config/free-claude-code/.env を生成。
  3. .env にプロバイダの API キー(例:NVIDIA_NIM_API_KEY=...)と MODEL_OPUS / MODEL_SONNET / MODEL_HAIKU / MODELprovider_prefix/model/name 形式)、必要なら ENABLE_THINKINGANTHROPIC_AUTH_TOKEN を設定。
  4. プロキシ起動:
    uv run uvicorn server:app --host 0.0.0.0 --port 8082
    (パッケージ版なら free-claude-code
  5. 別ターミナルで Claude Code を起動:
    ANTHROPIC_AUTH_TOKEN=freecc ANTHROPIC_BASE_URL=http://localhost:8082 claude
    VSCode 拡張は claudeCode.environmentVariables に同じ 2 つを JSON で書き込み、IntelliJ は installed.jsonacp.registry.claude-acp.env を編集。
  6. (任意)alias claude-pick=/path/to/claude-pick~/.zshrc に仕込んで fzf でモデル切り替え。

B. Discord/Telegram から遠隔で Claude Code を回すルート

  1. 上記 A を実施。
  2. Discord Developer Portal で Bot を作成、Message Content Intent を有効化。
  3. .envMESSAGING_PLATFORM=discordDISCORD_BOT_TOKENALLOWED_DISCORD_CHANNELS、さらに CLAUDE_WORKSPACEALLOWED_DIR(作業可能ディレクトリ)を設定。Telegram なら MESSAGING_PLATFORM=telegramTELEGRAM_BOT_TOKEN / ALLOWED_TELEGRAM_USER_ID
  4. 音声メモを使うなら uv sync --extra voice_local(ローカル Whisper)か --extra voice(NIM)。WHISPER_DEVICEWHISPER_MODEL を設定。
  5. プロキシサーバ起動 → OAuth2 でチャンネルに Bot 招待 → チャンネルで発話するとタスクが実行され、思考トークン・ツール呼び出し・結果がライブストリームで返る。返信でスレッド分岐、/stop /clear /stats で制御。

C. 開発者として拡張する場合

  1. uv run ruff formatuv run ruff checkuv run ty checkuv run pytest の 4 点セットを通す(CI 必須)。# type: ignore 追加は禁止。
  2. 新規プロバイダ追加は OpenAICompatibleProvider を継承して __init__provider_name / base_url / api_key を渡すのが最短。完全カスタムなら BaseProvider.stream_response() を実装。
  3. メッセージングプラットフォーム追加は MessagingPlatform ABC(start / stop / send_message / edit_message / on_message)を実装。