---
title: 如何透過 Ollama 在 OpenCode 中設定 Gemma 4（2026 完整指南）
description: >-
  在本機執行 Google 的 Gemma 4，並將它串接到 OpenCode 作為你的終端機程式開發助理。完整的 Ollama + OpenCode
  設定教學，適用於 Mac。
date: 2026-04-04T00:00:00.000Z
location: 加州舊金山 – 2026 年 4 月 4 日
image: /images/gemma-4-ollama-opencode-setup-hero.jpg
keywords: >-
  gemma 4 opencode, ollama gemma 4, opencode 本機模型, gemma 4 ollama 設定, 本機執行 gemma
  4, opencode ollama 指南
faq:
  - question: 我可以在 OpenCode 中使用 Gemma 4 作為本機模型嗎？
    answer: >-
      可以。安裝 Ollama、拉取 gemma4 模型，然後在 ~/.config/opencode/opencode.jsonc 中將 Ollama
      新增為自訂 provider，使用 @ai-sdk/openai-compatible 轉接器，並將 baseURL 設為
      http://localhost:11434/v1.；之後在 接著在 OpenCode 中使用 /models 即可切換過去。
  - question: Gemma 4 搭配 OpenCode 執行需要多少 RAM？
    answer: >-
      預設的 Gemma 4 8B 模型透過 Ollama 載入時約使用 9.6GB。配備 16GB 統一記憶體的 Mac 可以輕鬆同時執行 Ollama
      和 OpenCode。26B 版本需要 24GB 以上，不建議大多數消費級硬體使用。
  - question: Gemma 4 在 OpenCode 中進行互動式程式開發夠快嗎？
    answer: >-
      在 Apple Silicon 搭配 Ollama v0.19+ 的環境下，Gemma 4 8B 透過 MLX
      後端可以達到實用的速度。它能妥善處理程式碼補全、解釋和簡單編輯。對於需要前沿級推理的複雜任務，可以新增 Haimaker 作為第二個
      provider 來存取雲端模型。
locale: zh-tw
translationKey: gemma-4-ollama-opencode-setup
---
OpenCode 是一款終端機程式開發助理，可以串接任何與 OpenAI 相容的 API。只要讓它連上本機執行 Gemma 4 的 Ollama，你就有一個完全免費、程式碼不外流的程式開發助理。

以下是在 Apple Silicon Mac 上的完整設定流程：安裝 Ollama、拉取 Gemma 4、接入 OpenCode。

## 你需要什麼

- 配備 Apple Silicon（M1/M2/M3/M4/M5）且至少 16GB 統一記憶體的 Mac
- 已安裝 Homebrew 的 macOS
- 已安裝 OpenCode（請見 [opencode.ai](https://opencode.ai) 或透過你的套件管理器安裝）

Gemma 4 預設的 8B 模型載入後約使用 9.6GB，因此 16GB 統一記憶體足以同時執行 Ollama 和 OpenCode，不成問題。

## 步驟 1：安裝 Ollama

```bash
brew install --cask ollama-app
```

這會將 `Ollama.app` 安裝到 `/Applications/`，並將 `ollama` CLI 安裝到 `/opt/homebrew/bin/ollama`。

## 步驟 2：啟動 Ollama

```bash
open -a Ollama
```

等待選單列圖示出現，然後確認伺服器正在運作：

```bash
ollama list
```

## 步驟 3：拉取 Gemma 4

```bash
ollama pull gemma4
```

這會下載約 9.6GB。完成後確認：

```bash
ollama list
# NAME             ID              SIZE      MODIFIED
# gemma4:latest    ...             9.6 GB    ...
```

測試一下：

```bash
ollama run gemma4:latest "Hello, what model are you?"
```

檢查 GPU 加速：

```bash
ollama ps
# Should show CPU/GPU split, e.g. 14%/86% CPU/GPU
```

Ollama v0.19+ 在 Apple Silicon 上會自動使用 Apple 的 MLX 框架來加速推論。

## 步驟 4：設定 OpenCode 使用 Gemma 4

OpenCode 的設定檔位於 `~/.config/opencode/opencode.jsonc`。請將 Ollama 新增為自訂 provider：

```jsonc
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:latest": {}
      }
    }
  }
}
```

由於 Ollama 在本機執行，你不需要 API 金鑰。但 OpenCode 仍需要在 `~/.local/share/opencode/auth.json` 中有一筆 auth 設定，所以請新增一筆佔位設定：

```json
{
  "ollama": {
    "type": "api",
    "key": "ollama"
  }
}
```

重新啟動 OpenCode，然後使用 `/models` 切換到 `ollama/gemma4:latest`。

## 步驟 5：保持 Gemma 4 載入

Ollama 預設會在閒置 5 分鐘後釋放模型。如果你整天都會用到它，這樣會造成不必要的冷啟動。

將 keep-alive 設為永久：

```bash
launchctl setenv OLLAMA_KEEP_ALIVE "-1"
```

重新啟動 Ollama 讓設定生效。若要在重新開機後仍保持此設定，請加到 `~/.zshrc`：

```bash
export OLLAMA_KEEP_ALIVE="-1"
```

啟用登入時啟動：點擊 Ollama 選單列圖示 → **登入時啟動**。

#### 開機時自動預載

建立一個 LaunchAgent，讓 Gemma 4 在每次重新開機後都預先載入完成、立即可用：

```bash
cat << 'EOF' > ~/Library/LaunchAgents/com.ollama.preload-gemma4.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ollama.preload-gemma4</string>
    <key>ProgramArguments</key>
    <array>
        <string>/opt/homebrew/bin/ollama</string>
        <string>run</string>
        <string>gemma4:latest</string>
        <string></string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>StartInterval</key>
    <integer>300</integer>
    <key>StandardOutPath</key>
    <string>/tmp/ollama-preload.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/ollama-preload.log</string>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/com.ollama.preload-gemma4.plist
```

這會每 5 分鐘向模型發送一次空提示來 ping 它，讓它保留在記憶體中。

## Gemma 4 搭配 OpenCode 的適用情境

Gemma 4 8B 免費且在本機執行，對日常程式開發工作來說出乎意料地好用：

- **程式碼解釋。** 詢問某個函式做了什麼、某個模組的結構如何，或某個正規表示式會匹配什麼。答案清晰，對標準程式碼庫通常也很準確。
- **快速編輯。** 修正錯字、更新 import、在型別定義新增欄位、重新命名變數。單檔修改是它的強項。
- **樣板程式碼產生。** 設定設定檔、測試存根、API 路由骨架、Dockerfile 模板。不需要太多推理的常見模式。
- **Shell 指令輔助。** 忘了 `git` 的旗標或 `jq` 的過濾器？Gemma 4 直接給你指令，省去你跑一趟 Stack Overflow 的功夫。

## 它的不足之處

- **多步驟推理。** 需要跨多個檔案規劃或理解複雜控制流程的任務，往往會產生不完整的結果。
- **大規模重構。** 如果你需要在整個程式碼庫中進行協調一致的修改，8B 模型會失去連貫性。它能逐檔處理，但無法掌握全貌。
- **邊角案例與細微 bug。** Gemma 4 能發現明顯的問題，但會漏掉需要深入領域知識或仔細推敲各種邊角案例才能發現的 bug。

## 更進一步：新增 Haimaker 使用雲端模型

本機的 Gemma 4 涵蓋了基本需求。當你遇到它無法處理的情況——複雜除錯、多檔重構、任何需要深度推理的任務——你就需要雲端模型。[Haimaker](https://haimaker.ai) 讓你用一個 API 金鑰就能存取 Claude Opus、GPT-5、Gemini Pro 等模型。

將 Haimaker 新增為第二個 provider，與 Ollama 並存：

```jsonc
{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:latest": {}
      }
    },
    "haimaker": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.haimaker.ai/v1"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {},
        "openai/gpt-5": {},
        "google/gemini-2.5-pro": {}
      }
    }
  }
}
```

將你的 Haimaker API 金鑰加到 `~/.local/share/opencode/auth.json`：

```json
{
  "ollama": {
    "type": "api",
    "key": "ollama"
  },
  "haimaker": {
    "type": "api",
    "key": "YOUR_HAIMAKER_API_KEY"
  }
}
```

現在你可以在 OpenCode 中使用 `/models` 在本機和雲端模型之間切換。簡單任務交給 Gemma 4，任務變難時再切換到 Sonnet 或 GPT-5。

到 [haimaker.ai](https://haimaker.ai) 註冊取得你的 API 金鑰，並瀏覽[模型目錄](https://haimaker.ai/models)。

<a href="https://app.haimaker.ai/sign-up?utm_source=blog&utm_medium=cta&utm_campaign=gemma4-opencode" class="cta-button">取得你的 HAIMAKER API 金鑰</a>

## 疑難排解

**provider 沒有出現在 /models 中。** 編輯設定檔後請重新啟動 OpenCode。OpenCode 執行期間不會套用 `opencode.jsonc` 的變更。

**「找不到模型」錯誤。** 確保設定檔中的模型 ID 與 Ollama 回報的完全一致。執行 `ollama list`，並使用顯示的名稱——通常是 `gemma4:latest`。

**Ollama 的驗證錯誤。** 雖然 Ollama 不需要驗證，但 OpenCode 的 provider 系統預期 `auth.json` 中會有一筆設定。填入佔位用的 `"key": "ollama"` 即可。

**回應緩慢。** 確保你使用 Ollama v0.19+，才能在 Apple Silicon 上獲得 MLX 加速。執行 `ollama --version` 來檢查。同時也要關閉會占用統一記憶體的應用程式——開啟大量分頁的瀏覽器通常是元凶。

**上下文視窗問題。** Gemma 4 支援大型上下文視窗，但在 16GB 硬體上，請將輸入保持在 32K tokens 以內，以維持穩定的輸出品質。如果你發現回應品質在長提示時下降，大概就是這個原因。

## 實用的 Ollama 指令

| 指令 | 說明 |
|---|---|
| `ollama list` | 列出已下載的模型 |
| `ollama ps` | 顯示執行中的模型和記憶體使用量 |
| `ollama run gemma4:latest` | 互動式聊天 |
| `ollama stop gemma4:latest` | 從記憶體釋放模型 |
| `ollama pull gemma4:latest` | 更新到最新版本 |
| `ollama rm gemma4:latest` | 刪除模型 |

---

*已經在使用 Haimaker 搭配 OpenCode？參閱完整的[自訂 provider 設定指南](/blog/how-to-add-haimaker-opencode)以新增更多模型。*
