摘要
OpenCode 支援超過 75 個 AI 提供商,從 Anthropic、OpenAI 到 Ollama 本地模型都一應俱全。本章帶你深入理解提供商架構、模型載入優先順序、變體設定,以及如何串接 OpenCode Zen / Go、自訂 OpenAI 相容端點與本地模型。
學習目標
- 理解提供商架構與 75+ 提供商的生態系
- 熟悉 OpenCode Zen 與 Go 的設定流程
- 學會自訂 Base URL 與 OpenAI 相容提供商
- 掌握模型載入優先順序與變體設定
- 能夠根據需求推薦與選擇合適模型
提供商架構
OpenCode 採用「提供商(Provider)」抽象層,統一管理所有 AI 模型的連線與金鑰。每個提供商定義了 API 端點、認證方式、模型列表與請求格式。
支援的提供商類型
- OpenCode Zen — 官方託管服務,開箱即用,內建 Claude、GPT、Gemini 等最新模型
- OpenCode Go — 輕量級用戶端,可自訂後端
- Anthropic — 直接串接 Anthropic API
- OpenAI — 串接 OpenAI API 或任何相容端點
- Ollama — 連線本地 Ollama 實例
- AI SDK / Models.dev — 透過 AI SDK 生態系存取數十個模型
- 自訂 OpenAI 相容 — 任何相容 OpenAI API 格式的提供商
完整提供商列表可在 opencode provider list 指令中查看,目前已有 75+ 個內建提供商。
OpenCode Zen 與 Go 設定
Zen 是 OpenCode 的官方雲端服務,無需額外設定即可開始使用:
# 啟動時自動使用 Zen(無需金鑰)
opencode
若要使用自訂 API 金鑰或切換模型:
# 設定 Anthropic 金鑰
opencode --provider anthropic --model claude-sonnet-4-20250514
# 設定 OpenAI 金鑰
opencode --provider openai --model gpt-4o
OpenCode Go 用戶端則需要指定自訂端點:
opencode --api-base https://your-go-server.example.com
自訂 Base URL 與 OpenAI 相容提供商
許多第三方服務(如 Together AI、Groq、DeepSeek、Fireworks)都提供 OpenAI 相容 API。透過自訂 Base URL 即可串接:
# 命令列方式
opencode --provider openai \
--api-base https://api.together.xyz/v1 \
--model togethercomputer/llama-3.1-70b
在 opencode.json 中永久設定:
{
"providers": {
"custom-together": {
"baseURL": "https://api.together.xyz/v1",
"apiKey": "{env:TOGETHER_API_KEY}",
"models": {
"llama-3.1-70b": true
}
}
}
}
使用 {env:...} 變數可避免將金鑰寫入設定檔。
模型載入優先順序
當你未指定模型時,OpenCode 會依照以下優先順序決定使用的模型:
- CLI flag —
--model或-m參數(最高優先) - 設定檔 —
opencode.json中指定的模型 - 上次使用 — 工作階段記憶中最後使用的模型
- 第一個可用 — 當前提供商中第一個可用的模型(最低優先)
這表示你可以先透過設定檔設定預設模型,再視需要以 CLI flag 臨時覆蓋。
模型變體
模型變體(Variants)讓你能微調同一模型的運作模式。不同提供商支援不同變體:
Anthropic 變體
high— 最高品質,使用最多的思考 tokenmax— 極致品質,允許最長的思考時間
OpenAI 變體
none— 無推理(最快的回應)low— 低推理量medium— 中等推理量high— 高推理量xhigh— 極高推理量(最深思熟慮的回應)
使用方式:
opencode --model claude-sonnet-4-20250514:max
opencode --model gpt-4o:high
推薦模型列表
根據不同使用場景,以下是經過實測的推薦模型組合:
- 日常開發 — Claude Sonnet 4、GPT-4o、Gemini 2.5 Pro
- 程式碼審查 — Claude Opus 4、GPT-4.1
- 架構設計 — Claude Opus 4:max、GPT-4.1:xhigh
- 快速原型 — Claude Haiku 4、GPT-4o-mini、Gemini 2.5 Flash
- 本地開發(離線) — Llama 3.1、Qwen 2.5、DeepSeek Coder(透過 Ollama)
- 成本敏感 — Claude Haiku 4、GPT-4o-mini、Gemini 2.5 Flash
實戰練習
練習 1:串接 OpenCode Zen
啟動 OpenCode 並使用 Zen 提供商,確認連線正常。
opencode --provider zen
進入 TUI 後輸入 /model 查看可用模型清單。試著切換到不同模型並觀察回應差異。
練習 2:設定本地 Ollama
安裝 Ollama 並拉取一個模型,然後以 OpenCode 連接:
# 安裝並啟動 Ollama(請先自行安裝)
ollama pull llama3.1
# 以 Ollama 提供商啟動 OpenCode
opencode --provider ollama --model llama3.1
試著比對本地模型與雲端模型在相同問題上的回應品質。
練習 3:建立自訂模型變體
在 opencode.json 中建立自訂變體,為不同任務設定不同的推理強度:
{
"model-aliases": {
"code-review": "claude-sonnet-4-20250514:high",
"quick-fix": "claude-haiku-4-20250514",
"architecture": "claude-opus-4-20250514:max"
}
}
然後就可以用 opencode -m code-review 快速切換。