疑难排查 · opencode
opencode 提示 This Model Does Not Support Image Input 的解决方法
当模型的 modalities 没有声明时,opencode 会悄悄把附加的图片替换成一条备注。一行 opencode.json 声明即可开启图片输入。
你看到的报错
this model does not support image input为什么会发生
- 自定义提供商的模型不在 models.dev 目录里,opencode 会给它们分配纯文本的默认能力——无论模型实际能做什么。
- 在纯文本能力下,opencode 会把附加的图片替换成一条内嵌的 "this model does not support image input" 备注;提供商根本收不到图片。
- modalities 声明了,但之后没有重启 opencode。
如何解决
- 在 opencode.json 中为该模型显式声明图片模态,然后重启 opencode。
- 一旦 "image" 进入 modalities.input,粘贴和附加的图片就会以标准 Chat Completions 图片分块发出,本网关接受这种格式。
为模型声明图片输入
{
"provider": {
"apitoken": {
"models": {
"gpt-5.6-sol": {
"name": "GPT-5.6 Sol",
"attachment": true,
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
}
}
}
}
}相关搜索
opencode image not sentopencode attachment ignored
常见问题
为什么模型的回答像是从没看到我的图片?+
它确实没看到。没有声明图片模态时,opencode 会剥离附件并用一条文本备注代替——到达提供商的请求是纯文本的。
这是提供商的限制吗?+
不是——这是客户端侧的能力门控。同一个模型在 opencode.json 里声明模态后立刻就能接收图片。
其他工具也需要这个声明吗?+
只有带能力门控的客户端需要。线上契约就是普通的 Chat Completions 图片分块,所以像 OpenAI SDK 这类无门控的客户端什么都不用加。