Opencode 配置¶
Opencode 是一款开源的终端 AI 编程智能体(TUI),可通过配置文件接入任意 OpenAI 兼容或 Anthropic 端点。 官方自定义服务商教程:https://opencode.ai/docs/providers/(配置文件字段说明见 https://opencode.ai/docs/config/)
Opencode 通过 opencode.json 配置文件接入模型。下面用一个自定义 OpenAI 兼容服务商同时接入 GPT 和 Claude——不占用内置的 anthropic 服务商键,因此不会覆盖你原有的 Anthropic 配置(如 Claude Pro/Max 登录或官方 Anthropic 密钥)。如需 Claude 走 Anthropic 原生格式,见第三步末尾的可选配置。
第一步:安装 Opencode¶
方法一:官方安装脚本(macOS / Linux,推荐)
方法二:npm(全平台)
方法三:Homebrew(macOS)
验证安装:
第二步:获取 API 令牌¶
-
点击「添加令牌」
-
选择包含目标模型的分组(可前往模型广场查看:https://api.rutaceae.com/pricing)
-
令牌名称:随意填写(如 "Opencode")
-
额度建议:设置为无限额度
-
其他选项保持默认
-
点击确认,复制生成的令牌
第三步:创建配置文件¶
Opencode 读取以下任一位置的配置(就近优先):
- 全局:
~/.config/opencode/opencode.json(Windows:%USERPROFILE%\.config\opencode\opencode.json) - 项目级:项目根目录下的
opencode.json
新建该文件并粘贴以下内容,将 sk-xxxxxxxxxxxxxxxx 替换为您的令牌:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"rutaceae": {
"npm": "@ai-sdk/openai-compatible",
"name": "Rutaceae API",
"options": {
"baseURL": "https://api.rutaceae.com/v1",
"apiKey": "sk-xxxxxxxxxxxxxxxx"
},
"models": {
"gpt-5.5": { "name": "GPT-5.5" },
"claude-sonnet-4-5": { "name": "Claude Sonnet 4.5" }
}
}
}
}
字段说明:
| 字段 | 说明 |
|---|---|
rutaceae |
自定义服务商 ID(可改名)。使用 @ai-sdk/openai-compatible 驱动;不使用 anthropic 键,因此不会覆盖 opencode 内置的 Anthropic 服务商 |
options.baseURL |
填 https://api.rutaceae.com/v1,实际请求 /v1/chat/completions。GPT 与 Claude 模型均通过该 OpenAI 兼容端点调用(Rutaceae 同样以 OpenAI 格式提供 Claude) |
options.apiKey |
第一步复制的令牌;也可写成 "{env:RUTACEAE_API_KEY}" 引用环境变量 |
models |
键为模型 ID(须与模型广场名称完全一致),可按需增删多个 |
提示:
- 模型 ID 必须与模型广场(https://api.rutaceae.com/pricing)中的名称完全一致。
- 修改配置后需重启 Opencode 才会生效。
- 也可以用
opencode auth login交互式录入密钥,凭据会保存在~/.local/share/opencode/auth.json。
(可选)Claude 使用 Anthropic 原生格式¶
若希望 Claude 走 Anthropic 原生端点(/v1/messages),新增一个独立服务商即可——注意不要用 anthropic 作为键,以免覆盖内置服务商。把下面这段作为新条目加入 provider 对象(与 rutaceae 并列):
"rutaceae-anthropic": {
"npm": "@ai-sdk/anthropic",
"name": "Rutaceae API (Claude 原生)",
"options": {
"baseURL": "https://api.rutaceae.com/v1",
"apiKey": "sk-xxxxxxxxxxxxxxxx"
},
"models": {
"claude-sonnet-4-5": { "name": "Claude Sonnet 4.5" }
}
}
已知问题
目前 opencode 对「自定义 baseURL + @ai-sdk/anthropic」存在鉴权丢失的已知问题(#21737),运行时可能报 401 ... didn't provide an API key。若遇到,请直接用上面主配置的 OpenAI 兼容方式调用 Claude(功能一致)。
第四步:启动并选择模型¶
启动后在 TUI 中输入 /models(或按 Tab)切换模型,选择上面配置的 GPT 或 Claude 模型即可开始使用。🚀
常见问题¶
| 问题 | 解决方案 |
|---|---|
| 修改配置不生效 | 重启 Opencode;检查 opencode.json 是否为合法 JSON |
| 提示 401 / 令牌无效 | 检查 apiKey 是否复制完整,确认令牌所属分组包含目标模型 |
| 提示 404 / 模型不存在 | 确认 models 中的模型 ID 与模型广场名称一致 |
| 找不到自定义模型 | 确认服务商 ID 与 npm 驱动填写正确,OpenAI 格式需使用 @ai-sdk/openai-compatible |
| Claude 原生服务商报 401 | opencode 已知问题(#21737):自定义 baseURL 下 @ai-sdk/anthropic 会丢失密钥。改用主配置的 OpenAI 兼容方式调用 Claude |
| 更多自定义服务商用法 | 参见官方文档 https://opencode.ai/docs/providers/ |