标签 Provider 下的文章

0. 前言

Open code 的配置一直是比较繁琐的,虽然开箱即用,但如果想配置转发站就有点头疼了。在网上找了很多教程,但大都简略,很多第三方转发站的文档写的也不明白(点名)。

有很多佬友开发了可视化 / 后端插件,如 AI-toolboxOCCMCLIProxyAPI。这些都很好用!感谢佬友们!你们的贡献让社区变得如此美好,也深深激励了我

在使用了一段时间后,我发现掌握一些模型 config 配置原理是有必要的。插件只能帮忙切换 provider,每个模型的进阶参数如思考预算,仍然要自己配置。懂得如何修改配置文件也能让我们把这些插件用的更好.

所以写一篇教程,从 0 开始配置 opencode.json. 希望能帮到各位尝试 opencode(并想在 opencode 中配置使用自定义转发站)的佬友,同时也记录自己学习各类官方文档的过程

comment 1: 通过本教程你可以收获:
  • 通过截图和我一起配置文档一坨但富可敌国的转发站作为 Provider
  • 一起看懂模型接口,Opencode,AI-SDK 官方文档
  • 了解并动手设置 Claude 和 OAI 不同模型和接口的参数配置(如思考预算)
comment 2: 本教程重点在于详细和实操,不是一个面面俱到的教程.

篇幅所限,本篇教程大部分内容是折叠的!!!请点击黑色三角形展开查看!!!
篇幅所限,本篇教程大部分内容是折叠的!!!请点击黑色三角形展开查看!!!
篇幅所限,本篇教程大部分内容是折叠的!!!请点击黑色三角形展开查看!!!

1. 初始化

action 1:如果你已经有 opencode.json 就可以跳过

如果你没有安装 opencode:
请参考此链接安装 opencode TUI 版 Opencode|Github

如果你有 opencode:
查看在 C:\Users <你的用户名>.config\opencode 目录下是否存在 opencode.json
如果没有,请不要手动创建。经过第二节的 Provider 配置,它会自动产生在这个目录下。

2.Provider 配置

2.1 官方 Provider 配置

如果你使用的是 Opencode 官方支持的 Provider,例如 Opencode Zen,GLM Coding Plan,那么基本上只需要在安装好的 opencode TUI 中输入 /connect 并回车即可。

如果你想在这篇文档中找到含截图配置教学,请展开以下三角形

action 2:连接 Github Copilot 作为 Provider

打开 opencode,输入 /connect


选择 github copilot 或其他 official provider

按提示操作

恭喜你!验证成功! 现在可以通过 opencode 使用 copilot 或其他 official provider 了。

注意:只需要重新走一遍此流程就能覆盖之前的认证
Provider auth 的文件在这里:C:\Users <你的用户名>.local\share\opencode
如果对此流程具体涉及的文件感兴趣,拓展阅读在 2.2 节 action4 提供

reference 1:相关文档
  1. 官方文档 Providers | OpenCode
  2. 翻译版 提供商 (Providers) - OpenCode 中文文档

2.2 自定义 API Key / 转发站 Provider 配置

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

如果你想在这篇文档中找到含截图配置教学,请展开以下三角形

action 3:通过可视化方式连接 Right Code(转发站)作为 Provider(推荐)

如果使用 action3,最好也看一下 action4
以便于理解后续 Models 配置部分对.json 的自定义修改。

Opencode 的逻辑是由开发者来列出所有合法的 provider 供连接,非常全。但 Right Code 这样的转发站理论上确实不受 opencode 支持。

大部分佬友遇到的困难集中在使用 opencode 命令打开 TUI (Terminal UI) 界面后,/connect 的 provider 中没有 "other" 或者 "custom" 选项。我们可以看到 Other 选项是个标题,确实不能选 Other 选项,而且经过搜索 Other 里面也没有 Right Code 这样的转发站。

不过,我们仍然可以通过配置 opencode.json 来解决这个问题。
@coulsontl
使用佬友的项目 AI-toolbox 可视化配置 opencode.json 和 auth:

  • step 1:下载并安装 releases.

  • step 2:填写你想自定义的供应商名和显示名

  • step 3:按照图片填写 NPM 包和 BaseURL 即可

  • step 4: 点击 “获取模型”,在列表中添加想用的模型



  • step 5:已经可以使用了。Oh-My-Opencode 也可以配置此种模式导入的模型。


非常好用!感谢 coulsontl 佬友!

不支持自定义 Options/Variants 配置,导入新 Provider 会覆写旧文件

也许后续我会提 PR?

如想知道如何填写 NPM 包和 BaseURL,请参考 document-reading 1!

action 4:通过 /connect 方式连接 Right Code(转发站)作为 Provider

Opencode 的逻辑是由开发者来列出所有合法的 provider 供连接,非常全。但 Right Code 这样的转发站理论上确实不受 opencode 支持。大部分佬友遇到的困难集中在使用 opencode 命令打开 TUI (Terminal UI) 界面后,/connect 的 provider 中没有 "other" 或者 "custom" 选项。我们可以看到 Other 选项是个标题,确实不能选 Other 选项,而且经过搜索 Other 里面也没有 Right Code 这样的转发站。

TUI 中 /connect 选项设置基于默认的合法 auth。不过,我们只需要随意在没有连接的选项中选一个然后改成我们的 auth 就可以了。


这里选择 privatemode AI,随意填写一个 api key

随意选择一个模型

虽然看起来能用,但这显然这是不能用的。

接下来的才是重点:我们去修改这个 auth 为 Right Code 的 auth 和 model。

Provider auth 的文件在这里:C:\Users <你的用户名>.local\share\opencode
如果你之前连接过其他的方案,例如 github copilot,也会在这里显示。同时,你可以删除这里面的配置,TUI 里会同步更新,相信可能会有佬友配错了想 disconnected 但找不到路子的,请修改这个文件,删除对应部分即可。


我们可以看到这个文件中已经新增了刚才我们选择的 Provider privatemode AI 的 Auth,key 为 666。

然后,修改 provider name 为一个你喜欢的名字,我这里修改为 RC Codex,key 填写为你的 apikey。需要修改,否则自动识别,勿与 opencode 的内置 provider(例如刚才的 privatemode AI)同名。

(我这里填写 666 是为了占位,请在转发站生成 api key 并填写。下图为获取 api-key 的界面)

那么 auth 就配置完成了!
接下来请转到 C:\Users <你的用户名>.config\opencode
查看是否有 opencode.json 或.jsonc
我这里就没有。如果没有,创建一个。


可以把 auth.json 复制过来创建。如果右键创建,记得显示扩展名。

此处 jsonc 和 json 的区别是 jsonc 可以写批注。c 是 comment 的意思。其他没有区别。

创建完毕后,写入对应于 provider auth 的 model 内容,参考示例如下。具体需要配置的部分都进行了注释,将由 document-reading 1 来详细讲解,以便大家知道为什么这么配置,进而配置不同的转发站。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "RC-Codex": {  // 和auth中修改的名称一致 "npm": "@ai-sdk/openai", // 兼容的SDK,将于后续document-reading 1详细讲解 "name": "RingCode-CodeX",  // 在 TUI 中显示的名称 "options": {
        "baseURL": "https://www.right.codes/codex/v1",  // 中转站 API 地址(必须以 /v1 结尾或符合 OpenAI 格式),将于document-reading 1中详细讲解 "apiKey": "666"// 明文填写你的api-key,懂得引用的佬友可以用引用形式 // 如果中转站需要自定义 headers,可添加: // "headers": { //   "X-Custom-Header": "your-value" // }
      },
      "models": {
        "gpt-5.1-codex-max": {  // 中转站支持的模型ID,例如 gpt-4o、claude-3-5-sonnet 等,将于document-reading 1中详细讲解 "name": "Codex-5.1-max(RC-Codex)" //自定义显示名称
        },
        "gpt-5.1": {
          "name": "Gpt-5.1(RC-Codex)"
        }
        // 添加更多模型...
      }
    }
  }
}

此 opencode-config.json 参考来源

- document-reading 1
- 官方文档:https://opencode.ai/docs/models/
- 站内轮子:https://linux.do/t/topic/1329050 

配置完成后,我们就可以愉快地重启 opencode,选择 codex 模型了。


什么…? 你用的不是 Right Code 不知道注释的地方填什么?你需要阅读官方文档!

请在document-reading 1和我一起阅读文档!
来看看我是怎么在Right Code文档完全一坨的前提下填写这些字段的。
(声明:Right Code是我最喜欢的转发站之一,codex量大管饱,没有不喜欢的意思,但是文档和网站确实需要改进)
action 5:通过 auth login 方式连接 Right Code(转发站)作为 Provider

通过在 powershell 中输入 opencode auth login 配置
TUI 的打开命令是 opencode,那么其实 opencode 是一个程序,TUI 其实就是无参运行这个程序。可以想象,其实带参运行这个程序是才是触发程序中内置的功能比较常见的途径。那么 /connect 对应的带参运行其实就是 opencode auth login.


输入 opencode auth login 后,可以自由键入 provider 名字然后 enter,找不到也没事,这是区别于(1)选项重要的一点。
其余选项,对于文件的修改都相同,请参考 action 4。
注意起名勿与 opencode 的内置 provider 同名。
document-reading 1:通过阅读 Opencode 和转发站官方文档配置 Provider

RightCode 的文档和网站是最草率的那一批,但我们仍然可以获得足够的信息。

  • step1:获得转发站 baseurl 以填写 baseurl 字段
    在 RightCode 官方文档中没有提到 Opencode 如何配置,也没写 BaseUrl。
    在模型列表可用端口处点击复制按钮,
    分别得到 https://www.right.codes/claude-aws
    https://www.right.codes/codex,那么加上 v1,这就是两个模型池分别的 BaseUrl。

    为什么加上 v1:
    RightCode 文档里也加了。v1 是通用的接口规范,如果接口请求不对,没有 v1 就加上 v1

    通过以上信息可以填写如下的 baseurl 和 apikey 部分(apikey 获取此处省略)
 "options": { "baseURL": "https://www.right.codes/codex/v1", // 中转站 API 地址(必须以 /v1 结尾或符合 OpenAI 格式),将于document-reading 1中详细讲解 "apiKey": "666"// 明文填写你的api-key,懂得引用的佬友可以用引用形式 // 如果中转站需要自定义 headers,可添加: // "headers": { //   "X-Custom-Header": "your-value" // } }, 
  • step2:填写 models
    在模型广场里找到了如下的模型

    在使用文档也里找到了如下的 models 可以填写。

    因此可以填写 config 文件中对应的这几行。(注意:实际支持 5.2codex,以模型广场为准。这文档不全)
 "models": { "gpt-5.1-codex-max": { // 中转站支持的模型ID,例如 gpt-4o、claude-3-5-sonnet 等,将于document-reading 1中详细讲解 "name": "Codex-5.1-max(RC-Codex)" //自定义显示名称 }, "gpt-5.1": { "name": "Gpt-5.1(RC-Codex)" } 
  • step3:获得转发站支持的接口以填写 npm 字段
    我们可以看到 Right Code 支持了 Openai 新版 responses 和老版 chat/completions 接口,也支持了 Antropic 新版 messages 接口。

    那么知道了支持的接口该怎么填写 npm 字段呢?这个字段好像也不是接口。

不知道什么意思的时候就请查看 Opencode 官方文档。

根据 Models | OpenCode opencode 是基于 Vercel 的 AI SDK 项目(实际上大部分 AI 工具都基于 AI-SDK 转发请求)和 models.dev 项目的。所以去查看这两个项目的官方文档。models.dev 看了之后和我们的需求没什么关系,opencode.json 的实现是依赖于 AI-SDK 的。AI-SDK 表示接口的实现依赖于对应的 npm 包。也就是说一个包对应一个接口。

查 AI SDK 的文档 Foundations: Providers and Models

进去之后发现左上角 navigator 有一个 Providers,那么层级应该是 Provider/Model,所以应该要从这里进去了。

点进去以后来到了这个页面

AI SDK Providers

分别查看 openai,openai-compatible-providers 和 claude 的接口标准

AI SDK Providers: OpenAI
AI SDK Providers: Anthropic
OpenAI Compatible Providers

能看到文档中说明 openai Provider 包含有 /responses 请求接口的实现,openai-compatible-providers 包含 /chat/completions 接口的实现,claude 包含有 /messages 接口的实现。这就对应上了。

因此我们可以配置接口部分:
"npm": "@ai-sdk/openai", // responses接口对应的SDK
由于官方文档中提到,Right Code 也支持了老版的 /chat/completions 接口,所以这个地方的 SDK 也可以配置为 openai-compatible.
`“npm”: “@ai-sdk/openai-compatible”, // 兼容的 SDK

完整的初步配置文件:


{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "RC-Codex": {  // 和auth中修改的名称一致 "npm": "@ai-sdk/openai", // /responses接口对应的SDK "name": "RingCode-CodeX",  // 在 TUI 中显示的名称 "options": {
        "baseURL": "https://www.right.codes/codex/v1", 
        "apiKey": "666"

      },
      "models": {
        "gpt-5.1-codex-max": {  // 中转站支持的模型ID "name": "Codex-5.1-max(RC-Codex)" //自定义显示名称
        },
        "gpt-5.1": {
          "name": "Gpt-5.1(RC-Codex)"
        }
      }
    }
  }
}

现在就可以用了。在后续 Options 中将提及如何优化模型体验,包括设置思考预算。

recommend 1:Provider 可视化配置,一键切换和分流

有很多佬友开发了可视化 / 后端插件

  • AI-toolbox:这款软件支持插件的装载和取消装载,对于我这种不想每次都用 Oh-My-Opencode 的人来说非常好。我非常喜欢这款软件!谢谢佬友!
  • OCCM :非常好用的一款小软件
  • CLIProxyAPI教程帖
  • CC Switch 将于近日发布的 3.10 版本支持 Opencode! commit 记录
  • 其他我没有关注到的链接非常抱歉!请留言!
reference 2:相关文档

1. 官方文档 Providers | OpenCode
2. 翻译版 提供商 (Providers) - OpenCode 中文文档

comment 3:碎碎念

@coulsontl 佬友的 AI-toolbox 很好!!但也有一些还没实现的部分:
①不含 Skills 设置
②目前只能设置 Oh-My-Opencode 插件中 Agents 的开关,不含 Custom Agents 的设置

其实我感觉 OMO 太重了,而且大多数项目其实并不完全适合 OMO 的 Agents 分配方式。要是 OMO 能完全嵌入 Opencode 的原生 Agents 流程就好了!

目前只是偶尔用用 OMO,日常开发更喜欢在 Opencode 中使用各种自定义 Agents,后续或许写一个 PR 来实现不同 custom agents 的开关,以及更上一层不同 Agents 组合配置的切换功能。

3.Models 配置

3.1 Options 配置

配好了转发站,但是模型用起来不好用,可能是因为没有配置 OptionsOptions 是厂商自定义的参数列表,例如 Codex 的思考预算,佬友们常说的 Xhigh / high 都在 options 设置。

3.1.1 Options 作用

(以 Right Code 转发站的 Codex 端点为例展示)

example 1:使用 Right Code 转发站转发 /codex 端点,默认配置

可以看到,虽然能返回,但 codex-max 在每次调用后马上就返回了,也没有展示思考,使用体验很不好。难道 codex-max 这么蠢吗?或者是被降智了?

example 2:使用 Right Code 转发站转发 /codex 端点,增加 Options 配置

但是如 example 2 所示,同样的模型和转发站,没有一步一停,也展示了思考内容,花费 2 分钟。

example 3:config 片段对比

在例图 1 时,我的 opencode.json 配置对应片段如下:

"RightCodes-OAI": {
      "npm": "@ai-sdk/openai",
      "name": "Rightcodes-OAI",
      "options": {
        "baseURL": "https://www.right.codes/codex/v1",
        "apiKey": "用你的api-key代替",
      },
      "models": {
        "gpt-5.1-codex-max": {
          "name": "gpt-5.1-codex-max",
        }
      }
    }

在例图 2 时,我的 opencode.json 配置对应片段如下:

"RightCodes-OAI": {
      "npm": "@ai-sdk/openai",
      "name": "Rightcodes-OAI",
      "options": {
        "baseURL": "https://www.right.codes/codex/v1",
        "apiKey": "用你的api-key代替",
      },
      "models": {
        "gpt-5.1-codex-max": {
          "name": "gpt-5.1-codex-max",
          "options":{
            "reasoningEffort": "high",
            "textVerbosity": "medium",
            "reasoningSummary": "auto"
	        }
        },
      }
    }

可以看出,问题的关键在于我在 options 中配置了三个选项 reasoningEffort:high,textVerbosity:medium和reasoningSummary:auto

additional 1:参数作用说明

reasoningEffort 代表模型的推理预算,从 low 到 Xhigh(一般推荐设置为 high,因为 Xhigh 可能并没有太明显的帮助,而且有些模型没有 Xhigh 选项)

textVerbosity 控制模型的输出长度,medium 代表中等;

reasoningSummary 代表模型是否输出 thinking 的总结(即 example2 中黄色的 thinking:xxx 部分),auto 代表自动控制思考总结的长度。

3.1.2 Options 配置

document-reading 2:通过阅读 OpenCode 官方文档配置 codex 模型和 claude 模型 options

这种时候我们要寻求 Opencode 官方文档的帮助。

  • step1:
    首先根据 Models | OpenCode opencode 是基于 Vercel 的 AI SDK 项目和 models.dev 项目的,所以去查看这两个项目的官方文档。

  • step2:
    查 AI SDK 的文档 Foundations: Providers and Models
    进去之后发现左上角 navigator 有一个 Providers,那么层级应该是 Provider/Model/Options,所以应该要从这里进去了。

  • step3:
    点进去以后来到了这个页面
    AI SDK Providers
    分别查看 openai 和 claude 的接口标准
    (为什么查看这两个接口请参考 notification 1&2):
    AI SDK Providers: OpenAI
    AI SDK Providers: Anthropic
    能看到文档中已经详细说明了每个 options 有什么含义及如何填写。


notification 1:Options 跟随 Models 变化,而不是 Provider 或中转站

options 配置隶属于 models 配置,不同 Provider 提供的请求接口不同,options 的设置也因此完全不同,例如 codex 系列模型通过 OPENAI 的 /responses 接口请求,claude 系列模型则通过 ANTROPIC 的 /messages 接口请求,因此,一个中转站的不同 Provider 模型应该遵循不同的 options 设置。

进一步地,同一个 Provider(厂商),相同接口的不同模型也可能支持不同的 options 设置,例如 codex 的部分模型虽然也使用 openai/responses 接口,但却不支持思考预算为 xhigh 的设置;gemini 的生图模型和推理模型显然不能遵循同样的 options 设置。

因此,最好的方式是为每个常用模型分别设置 options。

具体请参考 document-reading 1 中 AI-SDK 不同 Providers 页面下的相关接口实现。
分辨你的常用模型使用哪个接口,并确定其是否满足接口的所有 options 参数。
设置无效的 options 不会引发报错,但可能毫无作用,进而可能导致 example 1 中模型不能发挥出应有实力的表现。

document-reading 3:通过阅读 OPENAI 官方文档进一步配置 codex 模型 options

AI-SDK 的文档当然已经非常够用了,不过如果你想更深程度的了解究竟有哪些 options,那么 AI-SDK 的文档里还是没有写的完全清楚,例如在 include 这里,AI-SDK 只写了两个支持的值,实际上这里不止两个值可以填。

其实我们还可以去检查 OPENAI 和 ANTROPIC 的官方文档来确认究竟有哪些 options。

这里以 OPENAI 为例:我们查找官方文档中关于 Reponses API 的部分(善用文档库自带的搜索框)可以看到 include 列表一共有七个可选的值。

有任何关于你想要的模型自主设置也可以继续在 responses api 里探索。responses api 是许多模型共用的接口,你使用的模型可能并不支持该接口的所有功能。
https://platform.openai.com/docs/api-reference/responses/create

notification 2:不同中转站实现的接口可能不同

本文以配置 Right Code 家的 codex 和 claude 为例。在 RightCode 官方文档 中,codex 实现的接口为 OPENAI 官方的 responses 接口,因此应该遵循 responses 接口的 options 设置。claude 实现的接口为 ANTROPIC 官方的 messages 接口,因此应该遵循 messages 接口的 options 设置。

3.2 Variants 配置

Variants 实际上就是一个 List,其中的每个元素是一个 Options 设置。通过切换不同的 Variants,我们实际上能够切换不同的 Options 组合。参考文档:Models | OpenCode

原配置一个模型只能有一个设置:

 "gpt-5.2-codex": { "name": "gpt-5.2-codex", "options":{ "reasoningEffort": "high", "textVerbosity": "medium", "reasoningSummary": "auto" } }, 

现在我想针对这个模型切换不同的 Options 组合,则把它们打包到 Variants 列表里.

 "gpt-5.2-codex": { "name": "gpt-5.2-codex", "variants": { "high": { "reasoningEffort": "high", "textVerbosity": "low", }, "xhigh": { "reasoningEffort": "xhigh", "textVerbosity": "medium", }, }, }, 

可以看到,现在可以调整 xhigh 和 high 进行推理了.

4. 留言

Plugins 配置,如 Oh-My-Opencode 配置等站内已有其他轮子,不再赘述;

exercise 1:完善 Right Code/Claude 4.5 Opus 模型的初始 opencode.json 文件

题目:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "RCS-Claude": {
      "npm": "@ai-sdk/anthropic",
      "name": "RC中转站Claude端点(awsq)",
      "options": {
        "baseURL": "https://www.right.codes/claude-aws/v1",
        "apiKey": "666"
      },
      "models": {
        "claude-opus-4-5-20251101": {
          "name": "claude-opus-4-5-20251101"
        }
      }
    }
  },
  "model": "RCS-Codex/gpt-5.1",
  "small_model": "opencode/grok-code"
}

答案供参考:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "RCS-Claude": {
      "npm": "@ai-sdk/anthropic",
      "name": "RC中转站Claude端点(awsq)",
      "options": {
        "baseURL": "https://www.right.codes/claude-aws/v1",
        "apiKey": "666"
      },
      "models": {
        "claude-opus-4-5-20251101": {
          "name": "claude-opus-4-5-20251101",
           "variants":{ 
              "very-lazy": {
                "effort": "low" 
              },
              "think-2000":{
                "thinking": { "type": "enabled", "budgetTokens": 2000 },
              },
              "think-1w6":{
                "thinking": { "type": "enabled", "budgetTokens": 16000 },
              },
            }
        }
      }
    }
  },
  "model": "RCS-Codex/gpt-5.1",
  "small_model": "opencode/grok-code"
}

参考文档:
AI-SDK Provider:Antropic


Antropic Message 接口官方文档

不兼容的 options 不会生效,但问题在于也不会报错。它们只是影响你的模型 "智力".

习题 1 参考答案效果展示:opus4.5 very-lazy(不进行思考,努力值为低,即 “降智”)

努力值不设置时默认为高

习题 1 参考答案效果展示:opus4.5 think-2000:(思考预算为 2000)

习题 1 参考答案效果展示:opus4.5 think-16000:(思考预算为 16000)

同一个模型显示出三种不同的效果,展示了 options 配置的必要性.

感谢你看到这里!


📌 转载信息
转载时间:
2026/1/22 13:16:46