自定义提供商
接入 OpenAI 兼容服务,并配置协议、模型 ID、认证和上下文限制。
服务未出现在 /connect 列表中时,可以通过 Other 添加自定义提供商。保存凭据和定义提供商是两步,不能只输入 Key 就期待模型自动出现。
保存身份并配置服务
运行 /connect,选择 Other,输入唯一 provider ID 和 Key。记下 ID,它必须与配置中的键一致。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My model service",
"options": {
"baseURL": "https://api.example.com/v1"
},
"models": {
"served-model-id": {
"name": "My model"
}
}
}
}
}这是需要替换 ID、域名与模型键的结构示例,不是一个现成服务。完成后在 /models 检查目录,再验证真实请求。
选择正确协议
npm 指定 AI SDK 包:@ai-sdk/openai-compatible 用于 /v1/chat/completions 兼容接口,@ai-sdk/openai 用于 /v1/responses。name 只是 UI 显示名,实际请求使用模型键与端点。
如果提供商只是表面兼容,仍需确认工具调用、流式响应和所需模型选项能正常工作;配置文件能解析不是接口兼容的充分证明。
凭据与自定义 Headers
如果不使用已保存认证,可以通过 options.apiKey 设置值,推荐结合 {env:...} 或 {file:...},见变量替换。options.headers 可配置每次请求发送的额外 headers。
不要把示例 Authorization 值写成真实共享配置;也不要同时填入互相矛盾的 Key 和自定义认证 header 后假定优先级。本页只描述官方支持字段,具体认证方式按服务要求配置。
模型容量
models.<id>.limit.context 和 limit.output 用于告知 OpenCode 上下文与输出容量,常规提供商从 Models.dev 获取这些信息。
自定义时使用服务真实支持的数值。增大配置不会扩大模型本身的能力;官方示例中的 200000 和 65536 不是所有兼容服务的默认限制。
模型不出现或调用失败
依次检查保存凭据时的 provider ID、配置 ID、SDK 包、baseURL、模型 ID 与权限。先修正协议和身份,再检查模型能力;不能用显示名替代服务实际返回的标识。