- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 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 可以写成这样:
这里的 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.com
GitHub - baranwang/opencode-provider-alias
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
通过在 GitHub 上创建帐户来为 baranwang/opencode-provider-alias 开发做出贡献。
如果你也在用 OpenCode,并且经常折腾多 provider / 多模型配置,应该会有点用。欢迎试用,也欢迎提 issue。
2 个帖子 - 2 位参与者