4.1 模型提供商生態
OpenCode 最大的優勢之一就是其廣泛的 LLM 提供商支援。得益於底層的 AI SDK 與 Models.dev 整合,OpenCode 提供了超過 75 個提供商的數百種模型,涵蓋從頂尖商用 API 到本地開源模型的完整光譜。
雲端 API
Anthropic、OpenAI、Google Gemini、MiniMax、DeepSeek 等頂級商用模型,提供最強的程式碼生成能力。
本地運行
透過 Ollama、LM Studio 等工具在本地運行開源模型,資料不外傳,完全離線可用。
代理服務
GitHub Copilot、Azure OpenAI、Amazon Bedrock 等企業級代理服務,適合團隊與組織使用。
免費方案
部分提供商提供免費額度或免費模型,適合學習與實驗用途。
4.2 連接提供商
使用 /connect 指令來新增提供商憑證。這個指令會引導你輸入 API Key 並驗證連線:
你也可以透過 CLI 直接設定提供商憑證:
opencode auth login # 互動式登入
opencode auth login anthropic # 指定提供商
# 或透過環境變數(以 Anthropic 為例)
export ANTHROPIC_API_KEY=sk-ant-xxxxx
4.3 模型格式與變體
Provider/Model 格式
OpenCode 使用 provider_id/model_id 的格式來識別模型:
| 格式範例 | 提供商 | 模型 |
|---|---|---|
anthropic/claude-sonnet-4 |
Anthropic | Claude Sonnet 4 |
openai/gpt-5.2 |
OpenAI | GPT 5.2 |
google/gemini-2.5-pro |
Gemini 2.5 Pro | |
deepseek/deepseek-chat |
DeepSeek | DeepSeek Chat |
minimax/minimax-m2.1 |
MiniMax | MiniMax M2.1 |
模型變體
每個模型可以有四個效能/成本變體:
| 變體 | 品質 | 速度 | 成本 | 適合場景 |
|---|---|---|---|---|
max |
⭐⭐⭐⭐⭐ | 較慢 | 最高 | 複雜架構設計、重大重構 |
high |
⭐⭐⭐⭐ | 中等 | 中等 | 一般開發任務、程式碼審查 |
medium |
⭐⭐⭐ | 較快 | 較低 | 簡單問題、快速原型 |
low |
⭐⭐ | 最快 | 最低 | 格式化、簡單問答 |
選取模型時,你可以指定變體層級:
# 選擇 Claude Sonnet 4 的最高品質變體
anthropic/claude-sonnet-4:max
# 選擇 GPT 5.2 的快速變體
openai/gpt-5.2:low
medium 或 high 變體通常已經足夠。將 max 保留給需要深度思考的複雜任務(如系統架構設計、大型重構),可以有效控制 API 花費。
4.4 熱門提供商比較
| 提供商 | 推薦模型 | 優勢 | 適合場景 |
|---|---|---|---|
| Anthropic | Claude Opus 4.5 Claude Sonnet 4.5 |
程式碼理解深刻、長上下文、安全性佳 | 複雜開發任務、架構設計 |
| OpenAI | GPT 5.2 GPT 5.1 Codex |
程式碼生成能力強、生態成熟 | 日常開發、程式碼生成 |
| Google Gemini | Gemini 3 Pro Gemini 2.5 Pro |
多模態能力、百萬級上下文 | 大型專案分析、多模態任務 |
| GitHub Copilot | Copilot Chat | 與 GitHub 生態深度整合 | GitHub 為主的開發流程 |
| MiniMax | MiniMax M2.1 | 成本低廉、中文支援佳 | 中文專案、成本敏感場景 |
| DeepSeek | DeepSeek Chat | 開源、成本極低、中文優秀 | 日常開發、預算有限 |
| Ollama | Llama 3 / Qwen 2.5 | 完全本地運行、離線、免費 | 隱私敏感、離線開發 |
| LM Studio | 多種開源模型 | 圖形化管理、在地執行 | 本地實驗、模型測試 |
4.5 設定預設模型
在 opencode.json 中設定預設模型,讓每次啟動時自動使用:
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4:high",
"models": {
"fallback": "openai/gpt-5.2:medium",
"fast": "anthropic/claude-haiku-3.5",
"cheap": "deepseek/deepseek-chat"
}
}
你還可以定義多個模型角色:
- fallback — 當主要模型不可用時的自動備援
- fast — 適合快速任務的輕量模型
- cheap — 成本優先的經濟模型
在 TUI 中可以隨時切換模型:
4.6 選擇模型的最佳實務
依任務類型選擇
- 系統設計與架構 — Claude Opus 4.5、GPT 5.2(需要深度推理的任務)
- 日常程式碼開發 — Claude Sonnet 4.5、GPT 5.1 Codex(速度與品質的平衡)
- 程式碼審查 — Claude Sonnet 4.5、Gemini 2.5 Pro(長上下文優勢)
- 簡單指令與格式化 — Claude Haiku 3.5、DeepSeek Chat(低成本、快速回應)
- 中文專案 — MiniMax M2.1、DeepSeek Chat(中文語料訓練充足)
- 離線開發 — Ollama + Llama 3、Qwen 2.5(完全本地、無需網路)
多模型策略
一個常見的有效策略是同時設定多個模型,根據任務動態切換:
{
"model": "anthropic/claude-sonnet-4:high",
"models": {
"architecture": "anthropic/claude-opus-4:max",
"daily": "anthropic/claude-sonnet-4:high",
"review": "google/gemini-2.5-pro",
"quick": "anthropic/claude-haiku-3.5:medium",
"cheap": "deepseek/deepseek-chat"
}
}
章節測驗
測試你對本章內容的理解程度:
常見問題
可以。你可以在 TUI 中隨時使用 /models 或 /model <provider/model> 切換模型,切換後接下來的對話會使用新模型回應。你也可以在 opencode.json 中設定多個模型角色(如 fast、cheap),並在需要時快速切換。請注意,切換模型不會清除當前的對話歷史。
變體控制的是模型回應的「思考深度」。以 max 為例,模型會花更多 Token 進行內部推理,產出更詳細、更經過深思熟慮的回應;low 則會以最精簡的方式回應,速度最快但品質最低。這在程式碼任務中的體現是:max 會考慮更多邊界情況與設計模式,low 則傾向給出最直接的解答。
在 TUI 中執行 /models 會顯示所有可用的模型,已連接的提供商會顯示在列表中。你也可以在終端機執行 opencode config show 查看完整的設定狀態,其中包括已設定的模型與提供商資訊。如果某個提供商的 API Key 無效或已過期,執行 /connect 可以重新設定。