社区讨论LinuxDo 最新
opencode 配置合并同一中转站的多个分组密钥/模型到同一个provider
简单搜了一下站内没有相关教程,就简单写了一个 正常配置长这样,同一个 baseUrl 的不同模型都属于不同的 provider: "provider": { "xxx-grok": { "npm": "@ai-sdk/openai-compatible", "options": { "apiKey": "sk-grok-..." }, "models": { / ... / } }, "xxx-ds": { "npm": "@ai-sdk/anthropic", "options": { "apiKey": "s…
内容摘要
作者:#奥尔良全 🐓
板块:#开发调优
简单搜了一下站内没有相关教程,就简单写了一个
正常配置长这样,同一个 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" }
}
}
}
}
资讯来源
LinuxDo