如果你已经厌倦了将每个编程提示词都发送到云端 API,那 OpenCode + Ollama 就是你想要的组合。它确实可行,但也比演示里看起来更慢、更不稳定。
合理的预期其实很简单:本地 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 要求鉴权,用占位密钥即可:
{
"ollama": {
"type": "api",
"key": "ollama"
}
}
重启 OpenCode,然后从模型选择器切换到 Ollama 模型。
首选模型
Gemma 4
不错的入门选择。它擅长解释代码、做简单修改和小规模编码任务。相比更大的编程模型,对硬件要求更低。
Qwen3.5
如果你能运行更大的版本,它在代码方面的表现通常更好。27B 级别模型比小模型实用得多,但也需要足够的内存。
Llama 3.3
如果硬件条件允许,这是不错的通用模型。在配置较低的小笔记本上会有些吃力。
性能预期
最近关于本地模型的讨论终于把大家心照不宣的事挑明了:提示词能跑通,代码质量也可能不错,但一旦工具调用逐渐增多,整体体验还是可能变得很慢。
这是正常的。编程智能体不是一次性的聊天请求。它会读取文件、规划、编辑、检查输出,并不断循环。本地推理让每一轮循环的延迟都更明显。
想让体验不那么难熬:
- 保持上下文精简
- 简单编辑使用较小的模型
- 让模型保持常驻
- 关闭占用内存大的应用
- 长时间重构时用云端模型兜底
让 Ollama 保持常驻
export OLLAMA_KEEP_ALIVE="-1"
设置后重启 Ollama。这样可以避免编码会话中反复冷启动。
何时使用云端兜底
本地 OpenCode 适合:
- 阅读不熟悉的代码
- 草拟小幅修改
- 生成测试
- 解释报错
- 处理私密文件
云端模型适合:
- 多文件重构
- 复杂调试
- 架构变更
- 任何你不想逐行检查的工作
最佳方案不是只用本地,而是本地优先。
相关设置
如果你的目标就是 Gemma 4,请阅读 Gemma 4 Ollama 配置。如果你使用的是 OpenClaw 而不是 OpenCode,请参考 Gemma 4 搭配 OpenClaw。