diff --git a/package.json b/package.json index 2710ca4..befea8b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vision-bridge", - "version": "0.2.0", + "version": "0.2.1", "type": "module", "description": "Opencode plugin: bridges images to a vision model when the active model cannot see images.", "main": "src/vision-bridge.ts", diff --git a/src/vision-bridge.ts b/src/vision-bridge.ts index 138cc09..a2aaf0f 100644 --- a/src/vision-bridge.ts +++ b/src/vision-bridge.ts @@ -147,19 +147,19 @@ export const VisionBridge: Plugin = async (_input: any, options: any = {}) => { const pBase = p?.options?.baseURL const pKey = p?.options?.apiKey if (pBase && pKey) { - let pmodel = resolveTemplates(options.model) || "" - if (!pmodel) { - for (const [id, m] of Object.entries(p?.models ?? {})) { - if (m?.attachment === true) { - pmodel = typeof m?.id === "string" && m.id ? m.id : id - break - } + // Prefer the provider block's own vision model (attachment: true). + // options.model only as a last-resort fallback. + let pmodel = "" + for (const [id, m] of Object.entries(p?.models ?? {})) { + if (m?.attachment === true) { + pmodel = typeof m?.id === "string" && m.id ? m.id : id + break } } providerInfo = { baseURL: String(pBase).replace(/\/$/, ""), apiKey: pKey, - visionModel: pmodel || DEFAULT_MODEL, + visionModel: pmodel || resolveTemplates(options.model) || DEFAULT_MODEL, } return }