疑难排查 · opencode
opencode Model Not Found——声明自定义提供商模型的方法
opencode 只提供它认识的模型,而自定义提供商的模型不在 models.dev 目录里。如何在 opencode.json 中声明模型,让它出现并可用。
你看到的报错
opencode model not found为什么会发生
- 模型没有在 provider 的 models 映射中声明,而自定义提供商的模型不在 opencode 查询的 models.dev 目录里——所以这个模型压根不会被提供。
- 声明的模型 id 与端点实际提供的不一致——打错字或已下线的 id 会让提供商返回 404。
- 模型已加进 opencode.json 但 opencode 没有重启,旧配置仍然生效。
如何解决
- 在 opencode.json 的 provider models 映射中显式声明每个模型,id 与端点提供的完全一致。
- 用 GET /v1/models 列出端点的在线模型,而不是靠猜 id。
- 改完之后重启 opencode。
显式声明模型
{
"provider": {
"apitoken": {
"npm": "@ai-sdk/openai-compatible",
"name": "apiToken.sale",
"options": {
"baseURL": "https://openai.api.apitoken.sale/v1",
"apiKey": "{env:APITOKEN_API_KEY}"
},
"models": {
"gpt-5.6-sol": { "name": "GPT-5.6 Sol" }
}
}
}
}相关搜索
ModelNotFoundErroropencode custom provider model missing
常见问题
为什么我自定义提供商的模型不出现在 opencode 里?+
不在 models.dev 目录里的模型必须在 provider 的 models 映射中手动声明。未声明的模型完全不会被提供。
如何找到要声明的确切模型 id?+
用你的密钥请求提供商的 GET /v1/models,逐字复制 id。
模型声明了但请求 404——还能是什么?+
opencode.json 里的 id 必须与端点的 id 逐字符一致,baseURL 也必须是文档给出的那个。两者都检查,然后重启 opencode。