Claude Code 接 Ollama:零帳單,有上限
Ollama 能講 Anthropic API。Claude Code 指到本機 11434 就不再按 token 計費。顯存、工具呼叫和 64k 上下文得自己準備。
Ollama 加 Open WebUI 那篇 是聊天視窗。這篇是另一件事:Claude Code 那條指令列留著,Anthropic 的帳單拿掉。
HackerNoon 9 月 16 日那篇把步驟寫成「零元」。技術點更早。Ollama 1 月 16 日的部落格 寫明,v0.14.0 起相容 Anthropic Messages API,也就是 Claude Code 本來在講的那種。兩個環境變數、拉一個本機 coder,同一個 claude 二進位開始改你磁碟上的檔。沒有會扣款的 API key。token 換成電費跟等待。
Goose 也能換模型。下面只談你已經打習慣的那條 CLI。
你接的是轉接頭,不是 Sonnet
Claude Code 是客戶端,它以為對面是 Anthropic。官方相容頁 列出 /v1/messages、串流、system、多輪、影像、工具、thinking。本機模型不會呼叫工具的話,你沒有 agent,只有一個名字很像的聊天程式。Marktechpost 9 月 18 日盤點 harness 引 Goose 文件:沒有 tool calling 就只剩 chat completion。
官方環境變數:
export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434
token 必填、被忽略。同一顆 shell 裡不要再放真的 ANTHROPIC_API_KEY。兩個都在,你會debug 到錯誤的主機。
HackerNoon 另外把 Haiku / Sonnet / Opus 預設別名指到同一個本機模型,避免 CLI 還在要 Sonnet。先確認模型已經 pull 下來。8GB 機器不要抄那三行。
Ollama 夠新的話:
ollama launch claude
它會問模型、寫設定、啟動。--config 只寫不開。還是把環境變數當合約記著。launch 改行為的那天,變數還在。
先對 RAM,再 pull
安裝還是那三條路:Linux 用 Ollama 的 curl 腳本、macOS 可用 brew install ollama、CLI 用 npm install -g @anthropic-ai/claude-code。Ollama 部落格也寫了 Claude Code 安裝:macOS/Linux/WSL 走 bash,Windows PowerShell 走 irm。不要抄被截斷的 curl。裝完:
ollama serve
只拉一個模型。
HackerNoon 的硬體表才是重點。
| 機器 | 模型 | 下載 | 他們給的數字 |
|---|---|---|---|
| 8GB | qwen2.5-coder:7b | 5GB | HumanEval 約 76% |
| 16GB | glm-4.7-flash | 13GB | 30B MoE、3B 啟動、198K 上下文、工具呼叫 79.5%,M3 Pro 約 12 tok/s,RTX 3080 約 15 |
| 16GB | qwen3-coder-next | 12GB | SWE-bench 70.6%,80B/3B |
| 24GB+ 顯存 | qwen3-coder:30b | 19GB | 文內「最好的本機 coder」 |
| 32GB RAM | devstral:24b | 14GB | SWE-bench Verified 46.8% |
| 32GB+ Mac | qwen3.6:27b | 17GB | SWE-bench 77.2% |
Ollama 自己推的 coding 模型 是 glm-4.7、minimax-m2.1、qwen3-coder。他們寫明 30B 的 Qwen 3 coder 要至少 24GB 顯存才順,拉長上下文還要更多。gpt-oss:20b 是另一個本機選項。glm-4.7:cloud 也能給 Claude Code 用,那就不是零元,是 Ollama 雲。今天下午若是為了程式碼不要出門,不要拉 :cloud。
ollama pull glm-4.7-flash
工具寫死 claude-3-5-sonnet 時,文件給的改名:
ollama cp qwen3-coder claude-3-5-sonnet
這是本機別名,不是 Sonnet。補丁變差時不要開 issue 罵官方。
上下文不夠,看起來像模型笨
agent 只看到 4k token,會原地打轉、反覆改同一個檔。那是餓,不是智商。
Marktechpost 引 Ollama 預設上下文:顯存不到 24 GiB 是 4k,24 到 48 是 32k,48 以上 256k。同一頁寫 coding agent 至少要 64,000:
OLLAMA_CONTEXT_LENGTH=64000 ollama serve
一月那篇 說 Claude Code 至少 32K,雲端模型永遠滿上下文。本機用顯存付。64k 塞不下,先換小模型,不要先砍到 32k 以下。7B 配 64k,比 30B 把 system prompt 擠掉有用。
HackerNoon 的省顯存開關:
export OLLAMA_FLASH_ATTENTION=1
export OLLAMA_KV_CACHE_TYPE=q8_0
export OLLAMA_NUM_PARALLEL=1
他們寫 q8_0 大約省 15% 顯存。NUM_PARALLEL=1 減少碎片。Flash attention 要後端真的實作。ollama serve 報錯就拿掉。
同一篇提到 OpenCode:工具呼叫失敗時把 num_ctx 拉到 16k–32k。換 harness,病是同一種。
先拿可以丟掉的 repo
cd /path/to/throwaway-project
claude --model glm-4.7-flash
8GB 就 qwen2.5-coder:7b。真有 24GB 卡再上 qwen3-coder:30b。盯 git diff。CLI 照樣能改檔。本機不等于沙盒。Hooks 那篇 是雲端版的約束方式。這裡一樣:不要指向帶 .env 祕密、工作區還很髒的樹。
建議順序:先讓它講一個函式,講不穩就停;再要一個會失敗的測試跟修復,工具呼叫必須動;最後才准動兩個檔。
SWE-bench 數字是廣告。qwen3-coder-next 的 70.6% 不是你那攤 Django 的 70.6%。glm-4.7-flash 的工具分數,是他們把它當 16GB 預設的原因。工具沒反應,你拉到聊天模型了。
Marktechpost 裡 OpenHands 要人從 Qwen3.6-35B-A3B 起跳(2026 年 5 月 21 日),量化版至少 24GB 顯存,或 64GB 統一記憶體的 Apple Silicon。那是另一個 harness。抄它的硬體誠實,不要抄錯二進位。
切回真 Claude,以及零元買不到什麼
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_API_KEY="your-real-key"
重點是 unset。BASE_URL 還指著 11434,你以為打開錢包,其實還在跟 Qwen 說話。
零元是推論那一行。顯示卡你買過了。M3 Pro 上 12 tok/s 你等過了。30B MoE 只啟動 3B,不是 Anthropic 線上那顆。真正賺到的是隱私:repo 不出門。速度跟品質是代價。
不要拿正式環境的憑證「試試看本機夠不夠」。用 clone。測試綠、diff 小,你學到東西。agent 轉二十分鐘去改 linter 設定,你也學到東西,只是付電費,不是四位數 API 帳單。
出問題時,依序檢查這些
CLI 一啟動就要求登入。 代表 這個 終端機沒有設定 ANTHROPIC_BASE_URL。桌面 App、tmux 窗格、VS Code 內建終端機,不會繼承它們啟動後才修改的 .zshrc。先把環境變數印出來;如果 BASE_URL 是空的,你不是要付錢給 Anthropic,就是驗證會失敗。
CLI 啟動後,第一次呼叫工具就卡住。 上下文只有 4k。調高 OLLAMA_CONTEXT_LENGTH 並重新啟動 ollama serve,要真的重啟。再用一個小提示確認模型仍能載入;如果模型被卸載,代表 64k 視窗放不下,改成 32k 或換更小的模型。
CLI 寫出無法編譯的修補,再用刪測試的方式「修好」。 這是能力較弱的程式模型加上權限太大。本機執行不會自動加上人工把關,除非你自己加。Marktechpost 整理的清單中,Cline 的本機指南把 16–32GB RAM 對應到小型量化模型,並建議每次修改都要核准。你也可以養成在按下確認前先看 git diff 的習慣。如果你在付費版 CLI 上習慣自動接受,不要把這個習慣帶到 7B 模型上。
11434 埠上的 Ollama 之外,機器上還有別的「Claude 相容」代理。 之前實驗留下的一個 BASE_URL,就可能把流量送進你早已忘記的 Docker 容器。執行 curl -s http://localhost:11434/api/tags 應該會列出你下載的模型;如果什麼都沒有,代表你是在另一個 Ollama(Linux brew、發行版套件或 Docker)上下載的。
ollama launch claude 設定成了雲端模型。 檢查 CLI 橫幅上的模型名稱,名稱裡有 :cloud 就代表程式碼會離開本機。Ollama 1 月的部落格寫得很清楚,雲端模型也能搭配 Claude Code。這是功能,但也是很多人不小心推翻了「為了隱私才在本機跑」這個初衷的原因。
npm 全域安裝的 Claude Code 與 Anthropic 安裝腳本上個月裝的版本不同。 如果 --model 被拒絕,可能是舊版 CLI 不會傳遞模型參數,或新版 CLI 改了參數名稱。請看 claude --help,不要照抄 2025 年的程式碼片段。
這套組合不是什麼
它不能取代付費版 CLI 上的 hooks、skills 與 MCP。MCP 伺服器仍需要會呼叫工具的模型,一個無法輸出有效工具 JSON 的 7B 模型只會停在那裡。本機版 Claude Code 是「同樣的快捷鍵、較小的腦袋、封閉的網路」。
它也不是 Open WebUI 那一套。WebUI 適合提問、貼上答案;Claude Code 是被允許執行 git 與 pytest 的流程。如果你只需要私密聊天,留在 WebUI 就好,省下 64k 視窗要用的顯存。
Marktechpost 列出的其他工具之所以存在,是因為有人不想再勉強。OpenCode 可以用 ollama launch opencode 啟動,同樣需要 64k;OpenHands 則公布了具體的顯存需求。如果 Claude Code 的相容層讓你折騰了一下午,這些就是替代出口:Ollama 伺服器不變,只換用戶端。
HackerNoon 標題在窄義上成立:CLI 會起來,發票是空的。迴圈裡的模型是你 pull 下來的那隻。Ollama 的相容層不會把它變成 Sonnet。
讀者回應与討論
暫無讀者回應,歡迎發表你的見解。
相關文章
用 Herdr 同時養好幾隻程式 Agent,關筆電也不死
Herdr 是給 Claude Code、Codex 這類終端 Agent 用的 Rust 多工器。裝好、切 pane、Detach。它不是塗了 AI 的 tmux。
NVIDIA OpenShell 入門:安裝、第一個代理,以及 BlueField Sentry 的定位
OpenShell 的 README 裝的是 CLI 和空沙盒。第一個 agent 在另一頁。Sentry 不是第二行命令。
GitHub Copilot CLI 可偵測本機 Ollama 模型:能做什麼、不代表離線
CLI 1.0.94-0 可以用 /model 發現本機 Ollama。離線仍是 COPILOT_OFFLINE=true,遠端供應商還是收得到提示。