##支持的AI模型
OpenCode支持多种AI提供商和模型,让您灵活选择最适合编程任务的模型。每种模型在不同场景下各有优势。
###Anthropic Claude 模型
Claude模型在代码理解、复杂推理和遵循详细指令方面表现出色。
| 模型 | 最适用于 | 上下文窗口 | |------|----------|------------| | claude-sonnet-4-20250514 | 日常编程任务,平衡性能 | 200K tokens | | claude-opus-4-20250514 | 复杂架构,深度分析 | 200K tokens | | claude-3-5-haiku | 快速任务,高速度 | 200K tokens |
配置 Claude:
# 设置 API 密钥
export ANTHROPIC_API_KEY="sk-ant-..."
# 在 OpenCode 中使用
opencode --model claude-sonnet-4-20250514
###OpenAI GPT 模型
GPT模型使用广泛,提供强大的通用编程能力。
| 模型 | 最适用于 | 上下文窗口 | |------|----------|------------| | gpt-4o | 复杂推理,多步骤任务 | 128K tokens | | gpt-4o-mini | 快速响应,简单任务 | 128K tokens | | o1 | 高级推理,规划 | 128K tokens |
配置 GPT:
# 设置 API 密钥
export OPENAI_API_KEY="sk-..."
# 在 OpenCode 中使用
opencode --model gpt-4o
###Google Gemini 模型
Gemini模型提供出色的多模态能力和超大上下文窗口。
| 模型 | 最适用于 | 上下文窗口 | |------|----------|------------| | gemini-2.0-flash | 快速高效编程 | 1M tokens | | gemini-1.5-pro | 大型代码库分析 | 2M tokens |
配置 Gemini:
# 设置 API 密钥
export GOOGLE_API_KEY="AIza..."
# 在 OpenCode 中使用
opencode --model gemini-2.0-flash
##如何选择合适的模型
###日常开发
推荐:Claude Sonnet 或 GPT-4o-mini
这些模型在速度、成本和能力之间取得最佳平衡,适合日常编程任务:
- 编写新函数
- 调试代码
- 代码审查
- 编写文档
###复杂项目
推荐:Claude Opus 或 GPT-4o
处理以下场景时使用这些强大模型:
- 系统架构设计
- 大规模重构
- 复杂算法实现
- 安全审计
###大型代码库
推荐:Gemini 1.5 Pro
凭借其200万token的超大上下文窗口,Gemini擅长:
- 分析整个代码仓库
- 理解复杂依赖关系
- 跨文件重构
##配置文件
在 ~/.config/opencode/config.yaml 中设置默认模型:
# 默认模型配置
model: claude-sonnet-4-20250514
# 提供商特定设置
providers:
anthropic:
api_key: ${ANTHROPIC_API_KEY}
default_model: claude-sonnet-4-20250514
openai:
api_key: ${OPENAI_API_KEY}
default_model: gpt-4o
google:
api_key: ${GOOGLE_API_KEY}
default_model: gemini-2.0-flash
# 模型别名,快速切换
aliases:
fast: claude-3-5-haiku
smart: claude-opus-4-20250514
large: gemini-1.5-pro
##切换模型
###命令行方式
# 指定会话使用的模型
opencode --model gpt-4o
# 使用别名
opencode --model fast
###会话中切换
无需重启即可切换模型:
/model claude-opus-4-20250514
或使用模型选择器:
/model
##本地模型
OpenCode还支持通过Ollama使用本地模型:
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 下载模型
ollama pull codellama:13b
# 在 OpenCode 中配置
opencode --model ollama:codellama:13b
###推荐的本地模型
| 模型 | 大小 | 最适用于 | |------|------|----------| | codellama:13b | 7GB | 代码补全,简单任务 | | deepseek-coder:33b | 19GB | 复杂编程,分析 | | qwen2.5-coder:32b | 18GB | 多语言支持 |
##性能优化建议
- 根据任务选择模型:简单任务用快速模型,复杂任务用强大模型
- 使用别名:为常用模型设置快捷方式
- 监控token使用:云模型的大上下文成本更高
- 考虑延迟:本地模型消除网络延迟但需要GPU资源
##成本优化
| 策略 | 说明 | |------|------| | 从小开始 | 先用便宜模型,需要时再升级 | | 启用缓存 | 开启响应缓存减少API调用 | | 批量请求 | 将相关问题分组以最大化上下文利用 | | 本地备选 | 简单任务使用本地模型 |
##故障排除
###模型不可用
Error: Model 'claude-opus-4' not found
解决方案:检查提供商文档中的确切模型名称。
###速率限制
Error: Rate limit exceeded
解决方案:在配置中设置速率限制:
rate_limits:
anthropic:
requests_per_minute: 50
tokens_per_minute: 100000
###上下文长度超限
Error: Context length exceeded
解决方案:使用更大上下文窗口的模型或启用自动上下文管理:
context:
auto_truncate: true
max_tokens: 100000