free-claude-code:用代理把 Claude Code 接到 OpenRouter、DeepSeek 和本地模型

整理 free-claude-code 的定位、工作方式和使用邊界:它如何透過 Anthropic-compatible proxy,讓 Claude Code 接入 OpenRouter、DeepSeek、NVIDIA NIM、LM Studio、llama.cpp 和 Ollama 等模型後端。

free-claude-code 是一個給 Claude Code 使用的 Anthropic-compatible proxy。

它的思路不是破解 Claude Code,也不是提供官方免費的 Claude 服務,而是在本地啟動一個相容 Anthropic API 形狀的代理服務,把 Claude Code 發出的請求轉發到其他模型後端。README 中提到的後端包括 NVIDIA NIM、OpenRouter、DeepSeek、LM Studio、llama.cpp 和 Ollama。

簡單說,它想解決的是:你喜歡 Claude Code 的終端體驗,但希望把模型請求接到別的 provider 或本地模型上。

它解決什麼問題

Claude Code 的互動體驗很適合開發任務。

它可以在終端裡閱讀程式碼、修改檔案、執行命令、根據專案上下文推進任務。問題是,很多使用者並不一定想始終使用同一個模型後端:

  • 想試試 OpenRouter 上的不同模型
  • 想用 DeepSeek 這類模型降低成本
  • 想把請求接到本地 Ollama
  • 想用 LM Studio 或 llama.cpp 跑本地模型
  • 想在開發環境裡統一走一個代理入口
  • 想比較不同模型在 Claude Code 工作流裡的表現

free-claude-code 的定位,就是在 Claude Code 和這些模型服務之間加一層相容代理。

這樣 Claude Code 仍然按 Anthropic 風格發請求,代理負責把請求適配到不同後端。

工作方式

可以把它理解成三層:

  1. 前端是 Claude Code
  2. 中間是 free-claude-code 代理
  3. 後端是 OpenRouter、DeepSeek、本地模型或其他模型服務

Claude Code 以為自己在存取一個 Anthropic-compatible API。

代理收到請求後,根據配置選擇目標 provider,轉換必要欄位,再把回應返回給 Claude Code。

這類結構的好處是,你不用改 Claude Code 本身,也不用讓每個模型服務都原生支援 Claude Code。只要代理能把介面對齊,就能把更多模型接進同一個工作流。

支援哪些後端

README 中列出的方向包括:

  • NVIDIA NIM
  • OpenRouter
  • DeepSeek
  • LM Studio
  • llama.cpp
  • Ollama

這些後端代表了幾類不同使用方式。

OpenRouter 更像模型聚合入口,可以測試不同商業和開源模型。

DeepSeek 適合關注中文能力、程式碼能力和成本的人。

LM Studio、llama.cpp、Ollama 則偏本地模型路線。它們適合在自己的機器或內網環境裡執行模型,減少外部 API 依賴,也方便做離線實驗。

NVIDIA NIM 則更偏企業和 GPU 推理部署場景。

為什麼是 Anthropic-compatible proxy

Claude Code 本來圍繞 Anthropic 的介面和模型習慣設計。

如果你想讓它接入其他模型,最直接的問題就是介面不一致:

  • 請求欄位不同
  • 模型名稱不同
  • streaming 格式不同
  • tool use 表達不同
  • 錯誤返回格式不同
  • token 和上下文限制不同

代理層的價值就在這裡。

它把 Claude Code 這邊看到的介面維持在接近 Anthropic 的形狀,再在後端做適配。對使用者來說,配置一次代理後,就可以在相同 Claude Code 工作流裡測試不同模型。

適合什麼場景

free-claude-code 適合這些場景:

  • 想用 Claude Code 的終端工作流
  • 想測試非 Anthropic 模型在 Claude Code 裡的表現
  • 想降低模型呼叫成本
  • 想把 Claude Code 接到 OpenRouter
  • 想接入 DeepSeek 等相容模型服務
  • 想用 Ollama、LM Studio、llama.cpp 跑本地模型
  • 想為團隊統一配置一個模型代理入口

如果你只是正常使用官方 Claude Code,並且對模型提供方、成本和本地部署沒有特殊需求,那不一定需要這類代理。

但如果你經常比較模型,或者希望讓 Claude Code 接入本地和第三方模型,這類工具會很有用。

和直接用 OpenRouter 或 Ollama 有什麼區別

直接用 OpenRouter、Ollama 或 LM Studio,通常只是和模型聊天,或者透過 API 呼叫模型。

free-claude-code 的重點不是替代這些服務,而是把它們接到 Claude Code 這個開發工作流裡。

區別在於:

  • 你仍然使用 Claude Code 的終端體驗
  • AI 可以圍繞程式碼倉庫執行任務
  • 模型後端可以換成其他 provider
  • 本地模型也有機會進入 Claude Code 工作流
  • 配置集中在代理層,而不是每個工具單獨改

所以它更像橋接器,而不是新的聊天客戶端。

本地模型要注意什麼

把 Claude Code 接到本地模型很有吸引力,但也要注意現實限制。

第一,模型能力差距。

Claude Code 的任務通常不只是聊天,還包括理解程式碼、規劃修改、編輯檔案、處理命令輸出。本地小模型不一定能穩定完成這些任務。

第二,上下文視窗。

程式碼任務很吃上下文。模型上下文太小,會導致它讀不全檔案、漏掉約束,或者在多輪任務裡丟失背景。

第三,tool use 相容性。

Claude Code 工作流依賴工具呼叫和結構化行為。後端模型即使能聊天,也未必擅長遵循工具呼叫協議。

第四,速度和硬體。

本地模型的速度取決於機器配置、量化方式和模型大小。程式碼任務如果回應太慢,體驗會明顯下降。

所以,本地模型更適合實驗、低風險任務和特定場景。真正複雜的程式碼任務,仍然要根據模型能力謹慎選擇。

使用邊界

這類專案很容易被標題誤解,所以邊界要說清楚。

第一,它不是官方 Claude Code 免費額度。

它只是把 Claude Code 的請求轉發到其他模型後端。你使用 OpenRouter、DeepSeek、NVIDIA NIM 或其他 API 時,仍然需要遵守對應服務的價格、額度和使用條款。

第二,它不是繞過授權的工具。

使用任何代理工具時,都應該遵守 Claude Code、模型服務商和專案本身的授權協議。不要把它理解成規避官方限制的方式。

第三,代理會處理你的請求內容。

程式碼、命令輸出、專案上下文可能會經過代理和後端服務。部署時要考慮日誌、金鑰、網路和隱私邊界。涉及公司程式碼或敏感專案時,最好使用受控環境。

第四,不同模型表現差異會很大。

同樣的 Claude Code 操作,換一個模型後可能出現完全不同的行為。不要預設所有模型都能替代 Claude。

和 LiteLLM 這類代理有什麼關係

從思路上看,free-claude-code 屬於「相容介面代理」這一類工具。

這類工具的共同目標是減少上層應用和底層模型服務之間的耦合。上層應用只需要面對一個相對統一的介面,底層 provider 可以按配置切換。

不同專案的側重點不同。有的更偏通用模型閘道,有的更偏 OpenAI-compatible API,有的專門為 Claude Code 這類工具做適配。

free-claude-code 值得關注的地方,是它把目標場景直接放在 Claude Code 上,而不是做一個泛泛的聊天代理。

適合怎樣的使用者

它更適合有一定折騰能力的使用者:

  • 熟悉 Claude Code
  • 知道 API key 和模型 provider 怎麼配置
  • 能理解代理服務的啟動和環境變數
  • 能排查網路、連接埠、模型名稱和 streaming 問題
  • 願意比較不同模型在程式碼任務裡的表現

如果你只想開箱即用,官方配置通常更省心。

如果你願意搭代理、換模型、調參數,並且想讓 Claude Code 進入更多模型環境,這個專案就值得研究。

參考

最後一句

free-claude-code 的價值,不在於「免費」這個詞,而在於它把 Claude Code 和更多模型後端之間接了一座橋。

當你想保留 Claude Code 的開發體驗,同時測試 OpenRouter、DeepSeek、本地模型或企業推理服務時,這類 Anthropic-compatible proxy 就有了用武之地。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計