写了个 OpenCode 插件:再也不用手动维护模型参数了
- 内容介绍
- 文章标签
- 相关推荐
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
一直在用 OpenCode,但我平时用的模型不是官方直连,而是和朋友一起拼车的 GPT Pro 接口。
这种方式虽然用起来没问题,但配置起来有个很烦的小问题:
每次官方出了新模型,我都要手动改opencode.json
比如:
- 模型 ID 是什么
- 是否支持图片
- 是否支持 reasoning / thinking
- 上下文大小是多少
- 模型的各种 metadata 怎么填
这些信息通常都要去 models.dev 上查,然后再手动复制到 OpenCode 配置里。
一次两次还好,模型一多、更新一频繁,就很麻烦。
所以我写了一个 OpenCode 插件:opencode-provider-alias
它的作用很简单:
让你用自己的 provider 名称,同时自动继承 models.dev 里的官方模型参数。
现在我的 opencode.json 可以写成这样:
CleanShot 2026-04-25 at 20.33.32@2x2668×1908 329 KB
这里的 cch-gpt 是我自己定义的本地 provider 名称。
插件会把它映射到 models.dev 里的 openai provider,然后自动补全这些模型的 metadata。这样我就不用再手动维护每个模型是否支持图片、thinking、上下文长度等参数了。
它还支持几个比较实用的功能:
- 映射本地 provider 到官方 provider
- 自动继承 models.dev 的模型参数
- 用
includes只暴露自己想用的模型 - 支持 glob 和
!排除规则 - 支持给模型起本地别名
- 保留原本 OpenCode provider 里的
npm、name、options等配置
比如我可以只暴露 GPT 5 系列:
{
"cch-gpt": {
"provider": "openai",
"includes": ["gpt-5.*", "!gpt-5.4-nano"]
}
}
项目地址:
GitHub - baranwang/opencode-provider-alias
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
如果你也在用 OpenCode,并且经常折腾多 provider / 多模型配置,应该会有点用。欢迎试用,也欢迎提 issue。
网友解答:--【壹】--:
佬,这个神器可以做到同时管理cpa里面的codex, gemini,或者其他模型比如deepseek吗,配置文件该怎么写呀?
--【贰】--:
对啊,我明白你的意思,但是你这样写就是把官方的覆盖了啊
--【叁】--: baran:
这些信息通常都要去 models.dev 上查,然后再手动复制到 OpenCode 配置里。
唔?????????有没有一种可能,你提供商写对了,是不用写参数的,甚至连modelID都不用写!!!
--【肆】--:
你的意思是类似 openai 做 key?那会跟 codex 冲突哦,不是一个好方案
--【伍】--:
佬友是否看过这个项目:GitHub - coulsontl/ai-toolbox: Personal AI Toolbox · GitHub
opencode claudecode codex都支持,常用模型有预设参数,配置/切换都很方便的
--【陆】--:
对啊,我 GPT 一个 plus 一个 pro,pro 放 cpa 上和朋友一起用
--【柒】--:
很有用的东西,不明白为啥opencode本身一直不做,甚至它都懒得做一个方便的入口让大家接入第三方中转(感觉故意的,不然填个key,一个baseurl,拉取模型列表,然后根据模型名匹配profile又不是多么复杂的事情)
--【捌】--:
image733×588 12.5 KB
你看看我的,如果是OpenAI渠道的,你怕和Codex搞乱,那可以用AZ的渠道名来定义…
--【玖】--:
没覆盖啊,哪覆盖了…难道会有人同时配置官方API和第三方API吗…
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
一直在用 OpenCode,但我平时用的模型不是官方直连,而是和朋友一起拼车的 GPT Pro 接口。
这种方式虽然用起来没问题,但配置起来有个很烦的小问题:
每次官方出了新模型,我都要手动改opencode.json
比如:
- 模型 ID 是什么
- 是否支持图片
- 是否支持 reasoning / thinking
- 上下文大小是多少
- 模型的各种 metadata 怎么填
这些信息通常都要去 models.dev 上查,然后再手动复制到 OpenCode 配置里。
一次两次还好,模型一多、更新一频繁,就很麻烦。
所以我写了一个 OpenCode 插件:opencode-provider-alias
它的作用很简单:
让你用自己的 provider 名称,同时自动继承 models.dev 里的官方模型参数。
现在我的 opencode.json 可以写成这样:
CleanShot 2026-04-25 at 20.33.32@2x2668×1908 329 KB
这里的 cch-gpt 是我自己定义的本地 provider 名称。
插件会把它映射到 models.dev 里的 openai provider,然后自动补全这些模型的 metadata。这样我就不用再手动维护每个模型是否支持图片、thinking、上下文长度等参数了。
它还支持几个比较实用的功能:
- 映射本地 provider 到官方 provider
- 自动继承 models.dev 的模型参数
- 用
includes只暴露自己想用的模型 - 支持 glob 和
!排除规则 - 支持给模型起本地别名
- 保留原本 OpenCode provider 里的
npm、name、options等配置
比如我可以只暴露 GPT 5 系列:
{
"cch-gpt": {
"provider": "openai",
"includes": ["gpt-5.*", "!gpt-5.4-nano"]
}
}
项目地址:
GitHub - baranwang/opencode-provider-alias
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
如果你也在用 OpenCode,并且经常折腾多 provider / 多模型配置,应该会有点用。欢迎试用,也欢迎提 issue。
网友解答:--【壹】--:
佬,这个神器可以做到同时管理cpa里面的codex, gemini,或者其他模型比如deepseek吗,配置文件该怎么写呀?
--【贰】--:
对啊,我明白你的意思,但是你这样写就是把官方的覆盖了啊
--【叁】--: baran:
这些信息通常都要去 models.dev 上查,然后再手动复制到 OpenCode 配置里。
唔?????????有没有一种可能,你提供商写对了,是不用写参数的,甚至连modelID都不用写!!!
--【肆】--:
你的意思是类似 openai 做 key?那会跟 codex 冲突哦,不是一个好方案
--【伍】--:
佬友是否看过这个项目:GitHub - coulsontl/ai-toolbox: Personal AI Toolbox · GitHub
opencode claudecode codex都支持,常用模型有预设参数,配置/切换都很方便的
--【陆】--:
对啊,我 GPT 一个 plus 一个 pro,pro 放 cpa 上和朋友一起用
--【柒】--:
很有用的东西,不明白为啥opencode本身一直不做,甚至它都懒得做一个方便的入口让大家接入第三方中转(感觉故意的,不然填个key,一个baseurl,拉取模型列表,然后根据模型名匹配profile又不是多么复杂的事情)
--【捌】--:
image733×588 12.5 KB
你看看我的,如果是OpenAI渠道的,你怕和Codex搞乱,那可以用AZ的渠道名来定义…
--【玖】--:
没覆盖啊,哪覆盖了…难道会有人同时配置官方API和第三方API吗…

