OpenCode 搭配 Ollama,是厭倦了把每個 coding prompt 都丟給雲端 API 的人最想要的方案。它確實能用,但也比示範影片看起來更慢、更容易出狀況。
先建立正確的預期:本機 OpenCode 很適合小型、私密、重複性的工作。除非你喜歡從頭到尾守在旁邊顧著,否則別把一團亂的多檔案遷移交給它。
安裝 Ollama
macOS:
brew install --cask ollama-app
open -a Ollama
Linux:
curl -fsSL https://ollama.com/install.sh | sh
接著拉取模型:
ollama pull gemma4
確認模型已可用:
ollama list
在 OpenCode 設定中,請使用該輸出中的確切模型名稱。
設定 OpenCode
OpenCode 可以與 OpenAI 相容的提供者溝通。Ollama 在下列端點提供相容介面:
http://localhost:11434/v1
在你的 OpenCode 設定中新增 Ollama 提供者:
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"gemma4:latest": {}
}
}
}
}
如果 OpenCode 要求驗證,使用佔位用的 API 金鑰:
{
"ollama": {
"type": "api",
"key": "ollama"
}
}
重新啟動 OpenCode,然後從模型選擇器切換到 Ollama 模型。
建議優先嘗試的模型
Gemma 4
很好的首選。它在程式碼解說、簡單修改和小型程式碼任務上表現都不錯。相較於更大的程式碼模型,它在規格普通的機器上也能跑得起來。
Qwen3.5
在寫程式方面通常更好,尤其是能跑較大變體的時候。27B 等級的模型比小模型實用得多,但需要足夠的記憶體。
Llama 3.3
如果硬體夠力,這是一個不錯的通用模型。在較小台的筆電上就比較不實用。
效能預期
近期本機模型的討論串都把大家心照不宣的事講白了:prompt 可能有效、程式碼品質可能不錯,但一旦工具呼叫開始堆疊,整套操作還是會明顯變慢。
這是正常的。Coding agent 不是一次性的 chat 請求。它會讀取檔案、規劃、編輯、檢查輸出,然後來回循環。本機跑推論時,每個循環的延遲會更明顯、更有感。
要讓體驗好過一些:
- 保持 context 精簡
- 簡單編輯使用較小的模型
- 讓模型保持暖機
- 關閉佔用大量記憶體的應用程式
- 長時間重構使用雲端備援
讓 Ollama 保持暖機
export OLLAMA_KEEP_ALIVE="-1"
設定完成後重新啟動 Ollama。這樣可以避免 coding session 中反覆出現冷啟動。
何時使用雲端備援
適合用本機 OpenCode 的場景:
- 閱讀不熟悉的程式碼
- 草擬小幅修改
- 產生測試
- 解釋錯誤訊息
- 處理私密檔案
適合用雲端模型的場景:
- 跨多檔案重構
- 困難的除錯
- 架構變更
- 任何你不想逐行審查的工作
最佳做法不是只用本機,而是本機優先。
相關設定
如果你的目標是專門使用 Gemma 4,請閱讀 Gemma 4 Ollama 設定。如果你使用的是 OpenClaw 而非 OpenCode,請參考 Gemma 4 搭配 OpenClaw。