fix: trust user-configured multimodal-looker model for vision (#4209)

When a user explicitly configures a model for the multimodal-looker
agent (e.g. zhipuai-coding-plan/glm-5.1), treat that model as
vision-capable even when its provider config does not declare
modalities.input or capabilities.input.image. This unblocks
vision-capable models that the provider config does not advertise.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
bellman
2026-05-24 00:30:40 +09:00
committed by YeonGyu-Kim
parent c0a6c667e6
commit bfc507895b
3 changed files with 138 additions and 18 deletions
+17 -1
View File
@@ -13,6 +13,18 @@ import { clearFormatterCache } from "../tools/hashline-edit/formatter-trigger"
export { resolveCategoryConfig } from "./category-config-resolver";
function collectTrustedVisionCapableModels(
pluginConfig: OhMyOpenCodeConfig,
): string[] {
const trusted: string[] = []
const multimodalLookerOverride = pluginConfig.agents?.["multimodal-looker"]
const configuredModel = multimodalLookerOverride?.model
if (typeof configuredModel === "string" && configuredModel.includes("/")) {
trusted.push(configuredModel)
}
return trusted
}
export interface ConfigHandlerDeps {
ctx: { directory: string; client?: any };
pluginConfig: OhMyOpenCodeConfig;
@@ -26,7 +38,11 @@ export function createConfigHandler(deps: ConfigHandlerDeps) {
const formatterConfig = config.formatter;
setAdditionalAllowedMcpEnvVars(pluginConfig.mcp_env_allowlist ?? [])
applyProviderConfig({ config, modelCacheState });
applyProviderConfig({
config,
modelCacheState,
trustedVisionCapableModels: collectTrustedVisionCapableModels(pluginConfig),
});
clearFormatterCache()
const pluginComponents = await loadPluginComponents({ pluginConfig });