# 识图子代理 当主模型不支持图像输入(`read_image` 拒读)时,需要审查图表视觉效果(是否空白、遮挡、坐标轴缺标签、是否支撑结论)的环节,用 **workflow 派生一个指定视觉模型的子代理**来"看图"。 ## 原理 DeepSeek Harness 的 `workflow` 工具允许在 `agent()` 上独立指定 `provider` 与 `model`。**关键前提是选一个当前部署环境里真正支持图像输入的模型**(其 `inputModalities` 含 `image`),子代理才能读取并审查图片。 不同部署环境注册的视觉模型名可能不同——不要硬编码某一个模型名,应先探测。 ## 如何找到可用的视觉模型 用 `llm` 服务的 `resolveModelInfo` / `listProviders`,遍历各 provider 的模型,挑出 `inputModalities` 含 `image` 的作为识图模型: ```js // 思路:遍历 provider -> listModels/resolveModelInfo -> 过滤 inputModalities 含 'image' // 选一个支持图像输入的模型,得到 { provider, model } 传给 workflow 的 agent() const vision = /* 探测到 inputModalities 含 'image' 的 {provider, model} */ await agent(prompt, { provider: vision.provider, model: vision.model }) ``` ## 用法模板 用 workflow 派发识图子代理(`provider`/`model` 替换为探测到的可用视觉模型): ```js await agent( '用 read_image 工具读取 <图片绝对路径>,审查图表并输出结构化结论:' + '标题、坐标轴刻度/标签、图例、数据线条、是否有空白或遮挡、是否达标。', { provider: '<探测到的provider>', model: '<探测到的视觉 model>' } // 指定视觉模型 ) ``` ## 本环境已验证示例 在本套 preset 部署的环境里,曾用 `kimi-coding / kimi-for-coding`(MiMo V2.5,`inputModalities` 含 `text`+`image`,100 万上下文)作为识图模型实测成功: - 子代理成功读取 PNG 图 - 输出包含:标题、图表类型、坐标轴、数据线条、图例、缺陷(如"坐标轴缺刻度标签")等结构化审查 - 审查结果可作为图表质检 / 论文配图核验 / 评审门禁的证据 > ⚠️ 这只是**一个已验证的候选**,不代表所有部署都叫这个名字。换环境后务必按上文"如何找到可用的视觉模型"重新探测;本机当前可用的经济型视觉模型是 `kimi-coding/kimi-for-coding`;若不可用,用探测到的其他 `inputModalities` 含 `image` 的模型即可。 ## 说明 - `provider` / `model` 名不要写死,使用前用 `llm.resolveModelInfo` 探测确认该模型确实支持 `image` 输入 - 当前主模型(如 `deepseek-v4-flash`)若声明不支持图像输入,直接 `read_image` 会报错拒读,属预期行为,应走本方案