LinuxDo· 奥尔良全🐓·· 3 小时前AI 评分50
opencode 配置教程:把同一中转站的多个分组密钥/模型合并到同一个 provider
opencode 配置合并同一中转站的多个分组密钥/模型到同一个provider
AI 导读
opencode 可通过在单个 provider 下为每个模型单独设置 headers 和 provider 字段,把同一中转站的不同分组密钥与模型合并到一个 provider 中。
正文
2026 年10 月 6 日 15:38 1
简单搜了一下站内没有相关教程,就简单写了一个
正常配置长这样,同一个 baseUrl 的不同模型都属于不同的 provider:
"provider": {
"xxx-grok": { "npm": "@ai-sdk/openai-compatible", "options": { "apiKey": "sk-grok-..." }, "models": { /* ... */ } },
"xxx-ds": { "npm": "@ai-sdk/anthropic", "options": { "apiKey": "sk-ds-..." }, "models": { /* ... */ } },
"xxx-gpt": { "npm": "@ai-sdk/openai", "options": { "apiKey": "sk-gpt-..." }, "models": { /* ... */ } }
}
改进写法:
"provider": {
"myrelay": {
"npm": "@ai-sdk/openai-compatible",
"name": "myrelay",
"options": {
"baseURL": "https://api.example.com/v1",
"apiKey": "sk-grok-xxx", // 占位即可,模型级 headers 会覆盖
"setCacheKey": true
},
"models": {
"grok-4.7": {
"name": "grok-4.7",
"reasoning": true,
"tool_call": true,
"headers": { "Authorization": "Bearer sk-grok-xxx" }
},
"deepseek-v4-1-flash": {
"provider": { "npm": "@ai-sdk/anthropic" }, // 模型级覆盖 SDK 接口
"name": "deepseek-v4-1-flash",
"headers": { "Authorization": "Bearer sk-ds-xxx" }
},
"gpt-5.6-sol": {
"provider": { "npm": "@ai-sdk/openai" }, // 模型级覆盖 SDK 接口
"name": "gpt-5.6-sol",
// ...
"headers": { "Authorization": "Bearer sk-gpt-xxx" }
}
}
}
}
1 个赞
来源:LinuxDo · linux.do