讓 Claude Code 自由切換模型的開源路由器 Free Claude Code

Free Claude Code(FCC)是 MIT 開源的本機代理與模型路由器,讓 Claude Code、Codex 等程式開發助理保留原本的操作習慣,改接 Ollama、Gemini、DeepSeek 等 50 家模型服務。供應商清單裡沒有任何 Anthropic 端點:它給你的是前端體驗,模型與帳單換成自己選。

用 AI 摘要這篇文章:

如果你的需求只是讓 Claude Code 固定打去某一家模型服務,其實用不到這套工具。Claude Code 官方本來就留了 ANTHROPIC_BASE_URL 環境變數,一行設定就能把後端指到講 Anthropic 協定的端點。Free Claude Code(社群常簡稱 FCC)要解的問題再大一圈:前端有好幾個,後端也想換來換去。名字聽起來像「免費的 Claude」,我把它的儲存庫整份抓下來翻過一輪,得到的結論剛好相反:它留給你的東西是 Claude Code 這個前端的使用體驗,模型、帳單和資料的去向,換成你自己決定。

Claude Code 終端機操作畫面,模型請求由 Free Claude Code 本機代理轉發應答Pin
Claude Code 的終端機操作畫面,模型請求由 FCC 代理應答(官方文件截圖)

替 Claude Code 加裝其他能力的 Skill 也不少,像我們實測過的 Archify 就能把整個程式碼庫變成一張可互動的架構圖。

先看它的體質。MIT 授權、以 Python 為主、2026 年 1 月底才建立,到 9 月初星數已經約 5.2 萬,版號走到 5.19.0,9 月 1 日還有提交進 main 分支,測試目錄裡有 225 個測試檔。提交紀錄的另一面是:主力貢獻者就一個人,其餘多為機器人與小額修補,這種個人主導的專案走得快,但整個專案繫於一人的風險也寫在明處。這個規模的專案多半已經過了「個人玩具」階段,值得認真看它到底做了什麼。

市場背景也值得知道。程式開發助理的計費現在分兩大陣營:按 API 用量計費,或者包月訂閱,FCC 的供應商清單兩種都收,裡面還有一批綁程式開發用途的訂閱方案,例如 Kimi Code、QwenCloud Coding、Z.ai、ClinePass。供應商的免費額度和限流規則調整頻繁,前端能不能換後端,決定了你在這場價格波動裡是乘客還是駕駛。

中間那一層在做的事:翻譯協定,把模型名稱當路標

FCC 的本體是一個跑在你自己機器上的代理伺服器,預設埠是 8082。對 Claude Code 來說,它用 Anthropic 的 /v1/messages 協定應答;對 Codex 來說,它講 OpenAI 的 /v1/responses 協定;到了後端,一律翻成各家供應商的 OpenAI 相容介面。它的架構文件把這件事寫得很白:四種轉換組合各是一格明確實作,訊息不會繞道多轉一手。理論上你可以在完全不裝任何 FCC 元件的情況下自己拼出同樣效果,但那要自己處理協定轉換、串流、錯誤對應,這正是它包掉的部分。

把一次請求的旅程攤開看更清楚:你在 Claude Code 按送出,訊息照 Anthropic 協定進到本機代理;FCC 查路由表決定這次用哪家供應商的哪個模型,翻成對方格式後送出;供應商串流輸出的內容再翻成 Anthropic 的事件格式,前端收到的就是它預期的串流。模型目錄也分三種檢視:claude 檢視保留相容代號讓前端無感,messages 檢視為每個模型提供一個可直接路由的代號,responses 檢視附上傳輸、重試與逾時資訊給 Codex 這類客戶端。推理強度可以在 Admin 統一管理,跟隨客戶端、關閉,或指定低到最高的檔位,分層槽位還能選擇繼承根設定。

真正有意思的是模型名稱的處理。Claude Code 裡的 Opus、Sonnet、Haiku 槽位,在 FCC 眼裡只是路標:原始碼的路由邏輯寫明,請求的模型名稱裡含 fable、opus、sonnet 或 haiku 時,套用你為那個分層指定的模型。你可以把 Opus 槽位指到 NVIDIA 的 Nemotron、Sonnet 槽位指到 OpenRouter、Haiku 槽位指到本機 LM Studio,模型選單看起來還是熟悉的樣子。模型名稱欄位仍填閘道端的代號,架構文件特別註明供應商不得把上游模型名稱當成輸出時的模型名稱發佈,前端因此察覺不到後端已經換人。像一間保留招牌和菜單、廚房整個換掉的餐廳,你照舊點菜,出菜的廚房由老闆另外安排。

原始碼裡有個更直白的細節。gateway_model_ids.py 把每個模型編成 anthropic/供應商/模型 的代號,讓 Claude Code 的模型探索能「發現」它們;另有個 claude-3-freecc-no-thinking 前綴,註解直接寫著它利用 Claude Code「模型 id 含 claude-3- 就視為不支援思考」的前端判斷規則。它把官方用戶端的既有判斷邏輯反過來用;讀者應該知道:這套相容性是貼著 Claude Code 的實施行為在走的,客戶端改版就有維護成本。

Claude Code 狀態列顯示 anthropic/open_router 形式的閘道模型代號Pin
Claude Code 顯示的模型名稱是 anthropic/供應商/模型 形式的閘道代號(官方文件截圖)

啟動器裡還有一個安全相關的設計值得肯定。fcc-claude 帶起 Claude Code 時,除非你自己指定了權限模式,它預設補上一般的權限模式;那個跳過所有確認的危險旗標,只有你自己明確輸入時才會生效。換模型的同時沒有偷偷放寬你機器上的執行權限,這個分寸拿捏得對。

50 家供應商裡沒有 Anthropic,名字裡的 Claude 指的是前端

供應商目錄我逐項清點過:PROVIDER_CATALOG 裡正好 50 個供應商代號,雲端有 NVIDIA NIM、OpenRouter、Groq、Gemini、DeepSeek、Together、Cerebras、SiliconFlow 這些,本機有 Ollama、LM Studio、llama.cpp。清單裡沒有任何一個 Anthropic 端點。想用 Claude 系模型,得繞道 OpenRouter 之類的第三方,額度與條款都算那邊的。README 開頭也放了一句免責:獨立開源專案、與 Anthropic 無隸屬關係、Claude 與 Claude Code 是 Anthropic 的商標。名字是行銷,內文算誠實。

目錄裡還藏了一個想得很細的設計:帳單歸屬直接做進模型代號。同一家服務的兩種計費走不同前綴,kimi/ 是 API 按量計費、kimi_code/ 是訂閱金鑰,Z.ai 也分成寫程式方案與按量兩條端點。選模型的時候,你其實是在選這次請求掛誰的帳。

「每月 13 億以上免費 token」這句就更要打折看。整個儲存庫搜不到這個數字的推導,它指的是把各家供應商免費額度加總的概念數字,README 自己也補了但書:免費層的可用性與限額由各供應商控制,隨時可能變動。把這句話當「上線後每個月有 13 億 token 可用」的理解,會在第一次碰到限流時失望。

關掉別人的遙測,自己的大門卻預設敞開

程式碼裡沒有任何自家遙測,這點先說清楚:我把整個儲存庫拿遙測關鍵字掃過,命中的全是關掉別人家的遙測,像 Claude 的 DISABLE_TELEMETRY、RTK 的 RTK_TELEMETRY_DISABLED;沒有 posthog、沒有 sentry,原始碼裡的外連網址是供應商端點、localhost,加上它搜尋功能用的 DuckDuckGo。fcc-claude 啟動器也會先剝掉你環境裡既有的 ANTHROPIC_* 變數再注入自己的設定,順手設上停用自動更新、停用意見調查、停用錯誤報告。

真正要看緊的是網路暴露面,而它的預設值給得大方:伺服器預設綁 0.0.0.0(所有網卡),代理認證預設關閉,模型端點沒有限制來源。管理介面有一道僅限本機的防護,Admin 頁面會檢查請求是不是從本機發出的,但 /v1/messages 這條模型端點不在防護範圍內。也就是說,在咖啡廳或公司共用網段裡,同一個網路的人都能打你的 8082 埠,用你的供應商金鑰講話。補救不難:HOST 設成 127.0.0.1、打開代理認證、換掉預設 token freecc,都在設定檔裡完成。 資料的去向同樣要自己把關。FCC 不做內容過濾,請求內容原封不動轉送到你設定的供應商:接本機 Ollama,程式碼就留在你機器上;接雲端供應商,程式碼就出門了。各家 API 金鑰存在 ~/.fcc.env 純文字檔裡。日誌層有做功課:凡是長得像憑證的欄位,像 api_keyauthorization,寫進日誌前會換成遮蔽字串;含對話原文的詳細追蹤預設不輸出,要到 DEBUG 層級才會展開,想盯這層的人自己留意。

省 token 的工程倒是真的。Claude Code 這類客戶端會發不少低價值的附帶請求,FCC 在本機直接攔下五種:額度探測、指令前綴偵測、標題生成、建議模式、檔案路徑抽取,這些都不打到供應商。模型失敗時的備援是個「首幀狀態機」:只有在第一個非空輸出還沒產生之前才換下一家,每個候選都保留原本的請求 ID 與輸入計數,避免同一輪對話重複扣額度或重複輸出;每個供應商的等待都有一個預設 600 秒的進度時限,卡住不動的連線會被明確判定逾時,而不是無限吊著。失敗標頭會註明不再重試,避免代理和客戶端兩邊各重試一輪的疊加。README 另外宣稱搭配 RTK 這個終端機輸出過濾器「最多省 90% 輸出 token」,那是 RTK 專案自己的數字,用的時候分開看。

組合數上來之後,這層路由器才開始有意義

判斷該不該裝,我的軸線是組合數。一支前端配一家後端,環境變數就收工,多裝一層反而是負擔。但底下這幾種情況,多出來的這層就開始值錢:團隊裡 Claude Code 和 Codex 並用,模型帳號有 NVIDIA 的免費額度、也買了 Kimi Code 的訂閱,筆電離線時還想落到本機 Ollama。10 個前端啟動器(claude、codex、pi、opencode、cline、hermes、dsh、grok、muse、aider)共用同一套模型目錄、備援清單與推理強度設定,Admin UI 一處改完,Codex 那邊的模型目錄檔也跟著同步。它甚至幫 Claude Code 的網頁搜尋工具做了本機相容層,用 DuckDuckGo 後端接上原本的伺服器端工具呼叫。

Free Claude Code 的 Admin 管理介面,供應商設定頁面Pin
FCC 的 Admin 管理介面,供應商與模型設定集中在這裡(官方文件截圖)

場景說得具體一點:深夜跑一個長任務,主力模型暫時限流,FCC 在重試結束後依序試你排好的備援清單,這一輪對話不必重開;帶筆電出門斷了線,路由切到本機 Ollama 繼續寫。範圍也不限於終端機:Admin 介面裡有本機聊天區,保留歷史與串流;裝了語音後端,可以把語音備忘用本機 Whisper 或 NVIDIA NIM 轉成文字再交給模型;Telegram 和 Discord 的機器人讓你在手機上派工作給它,晚點再看結果。

費用這條線可以再配兩個習慣:換供應商之前,先用 LLM API Test 之類的瀏覽器工具量一下各家 API 的速度與模型真偽;上線之後用 CodeBurn 追蹤每個專案的 token 開銷,路由器才不會變成看不見帳單的黑洞。已經在 Claude Code 生態裡打滾的讀者,claude-init 中文套件awesome-claude-skills 累積的起手式與技能庫,換後端後一樣能用,因為動的從來只有模型那一層。

免費額度、條款與 Python 3.14:裝之前要先算的帳

能力落差是最大的一筆帳。FCC 換掉的是整顆模型:工具呼叫的穩定度、長上下文的表現、推理強度的控制,都由你選的那個模型決定。本地小模型接複雜的 agent 任務,能連上跟能做好是兩碼子事,這層路由器不會幫你補。

條款這筆帳跟著供應商走。「ToS friendly」是專案自己的說法,實際的紅線不由 FCC 定。Kimi Code 與 QwenCloud Coding Plan 這類訂閱金鑰,供應商條款綁定「個人、互動式的程式開發用途」,README 直接引了 Kimi 社群指南和 Alibaba Cloud 條款的路徑;OpenAI 那一格走 ChatGPT 訂閱授權(在 Admin 介面連接帳號,而非 API key),能不能這樣用,以 OpenAI 當時的規定為準。可以確認的是程式碼裡沒有多帳號輪替這類額度農場機制,輪替只存在於未合併的功能請求裡。

門檻的帳最輕,但要知道。pyproject.toml 要求 Python 3.14 以上,相當新,不過官方安裝腳本用 uv 自帶整套環境,一行 curl | sh 裝完,解除安裝也有對應腳本,會刪掉 ~/.fcc 但保留 Claude Code 等用戶端。README 的疑難排解還教了一手:Claude Code 設好代理後如果仍跳登入提示,在 ~/.claude.json 補上 "hasCompletedOnboarding": true 就安靜了。

起步的兩條路

想試的人,官方安裝就是一行指令(macOS、Linux 跑 shell 版,Windows 有 PowerShell 版),安裝過程會問你要裝哪些開發助理、要不要順裝 RTK,語音後端之後用同一支腳本重跑就能加上。裝完起 fcc-server、在 Admin 介面貼上供應商金鑰並選模型,之後用 fcc-claudefcc-codex 進入你本來的工作流程。只想固定用某一家模型的人,改設 ANTHROPIC_BASE_URL 就好,省下的維護成本是真的。

把名字攤開來看,「Free」省下的是 Anthropic 的帳單,代價是模型不再是 Claude。這套工具真正的貢獻,是把程式開發助理的前端合約和模型供應商拆開:拆開之後,誰漲價、誰限流、誰斷線,都變成可以換掉的那一端。對願意自己管模型的人,這是自由;對只想開箱就用的人,這是新的功課。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1064

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...