OpenCode 自定义服务商(中转站)接入指南

最近看到不少朋友对 OpenCode 很感兴趣,但因不清楚如何接入自定义 API 中转站而望而却步。经过一番尝试,我成功将中转站接入 OpenCode,现将完整流程整理如下,希望能帮到有需要的朋友!

前提条件

  • 已安装 OpenCode CLI(可通过 npm install -g @opencode/cli 安装),官网也提供其他安装方式

接入步骤

:one: 初始化自定义服务商(Provider)

先不要直接启动 OpenCode,而是在终端执行以下命令:

opencode auth login
  • 在服务商列表中,选择 other(在最下面,可以直接搜索)。
  • 系统会提示你输入 Provider ID:
    :backhand_index_pointing_right: 请填写一个唯一标识名(例如 myproxy),后续配置需与之严格一致。
  • 接着输入 API Key:
    :backhand_index_pointing_right: 可填写任意内容(如 dummy),因为实际密钥可通过配置文件安全引用(见下一步)。

:light_bulb: 这一步的作用是让 OpenCode 在本地凭证管理器中注册一个自定义服务商,便于后续引用密钥。

:two: 配置中转站 API 地址

打开 OpenCode 配置目录(路径因系统而异):

  • macOS / Linux: ~/.config/opencode/
  • Windows: Users\***\.config\opencode(来自评论区大佬的提供)

在该目录下创建或编辑配置文件:opencode.json,内容如下:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "myproxy": {  // 这里必须和上一步的提供商 ID 完全一致!
      "npm": "@ai-sdk/openai-compatible",
      "name": "我的中转站",  // 在 UI 中显示的名称,可自定义
      "options": {
        "baseURL": "https://your-proxy-domain.com/v1"  // 你的中转站 API 地址(必须以 /v1 结尾或符合 OpenAI 格式)
        // "apiKey": "{cred:myproxy}"  // 可选:自动引用上一步存储的密钥(推荐,不用明文写 key)
        // 如果中转站需要自定义 headers,可添加:
        // "headers": {
        //   "X-Custom-Header": "your-value"
        // }
      },
      "models": {
        "gpt-4o": {  // 中转站支持的模型 ID,例如 gpt-4o、claude-3-5-sonnet 等
          "name": "GPT-4o(中转)"
        },
        "claude-3-5-sonnet-20241022": {
          "name": "Claude 3.5 Sonnet"
        }
        // 添加更多模型...
      }
    }
  }
}

:key: 关键说明:

  • myproxy 必须与第 1 步中输入的 Provider ID 完全一致。
  • baseURL 需指向中转站的 OpenAI 兼容 API 入口,通常以 /v1 结尾(如不生效,可尝试去掉 /v1 测试)。
  • apiKey: "{cred:myproxy}" 会自动读取你在 opencode auth login 时保存的密钥,无需明文写入配置文件,更安全!

:three: 重启并验证

保存配置后,启动 OpenCode:


opencode

在聊天界面输入命令:


/models

即可在模型列表中看到你配置的中转站及其模型(如 “GPT-4o(中转)”)。选择后即可正常使用!

:warning: 注意事项

  • Provider ID 必须一致:配置文件中的键名(如 myproxy)必须与 auth login 时输入的 ID 完全相同(区分大小写)。

  • API 地址格式:确保 baseURL 正确。可先用 curl 或 Postman 测试中转站是否响应 /v1/models。

  • 模型 ID 要匹配:models 下的键(如 gpt-4o)必须与中转站实际支持的模型 ID 一致。

  • 若修改配置后未生效,请尝试完全退出 OpenCode 并重新启动。

希望配置成功的鼓励下我 :hand_with_index_finger_and_thumb_crossed:

224 个赞

感谢分享 我也在研究这个 正好看见了佬的回答。
我正在使用iflow API 但是glm 不经常思考。
MCP 也不知道咋设置

3 个赞

感谢佬友赐教,点赞

感谢大佬了!

1 个赞

opencode是那家的,和cc相比怎么样 :distorted_face:

非常有用,昨晚上弄了半天没搞明白,看了佬的教程决定再去试试。

1 个赞

这个是开源的CC,快来试试我的cli切换供应商好不好使 :nerd_face: :backhand_index_pointing_up:,OpenCode配置工具 opcd

10 个赞

win的目录 Users\***\.config\opencode

2 个赞

使用佬友开发的 cli 吧 - snow

4 个赞

opencode支持checkpoint吗,感觉这个可能比较重要诶

3 个赞

没太成熟

1 个赞

opencode也非常难用

2 个赞

这不是挺简单用的,我上手就立马会了

1 个赞

不是学习难,是不好用

1 个赞

感谢分享。

2 个赞

没搞懂,啥地方不好用

按着教程操作了,最后提示ProviderInitError: ProviderInitError

这个cli 支持 openAI 的接口,我试了几家中转站,出现的情况有:1.一直挂起,没有输出。2.不能调用工具,只能输出代码,无法编辑文件。 有的中转站的模型就可以正常使用。

我检查了我的环境依赖,然后现在显示缺少apikey了。。。 :rofl:

1 个赞

简单点的话直接在 opencode.json 文件中写入

1 个赞