跳转至

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,推荐)

curl -fsSL https://opencode.ai/install | bash

方法二:npm(全平台)

npm install -g opencode-ai

方法三:Homebrew(macOS)

brew install sst/tap/opencode

验证安装:

opencode --version

第二步:获取 API 令牌

  1. 访问 https://api.rutaceae.com/keys

  2. 点击「添加令牌」

  3. 选择包含目标模型的分组(可前往模型广场查看:https://api.rutaceae.com/pricing

  4. 令牌名称:随意填写(如 "Opencode")

  5. 额度建议:设置为无限额度

  6. 其他选项保持默认

  7. 点击确认,复制生成的令牌

第三步:创建配置文件

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(功能一致)。

第四步:启动并选择模型

# 进入项目目录
cd your-project-folder

# 启动
opencode

启动后在 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/