在 DeepSeek Harness (DSH) 的开发实践中,让模型理解图像往往止步于描述性文本。通用视觉模型(VLM)提供的是视觉印象而非几何事实,直接询问距离或位置时,模型容易给出错误答案或编造坐标。dsh-tool-accurate-vision 解决了这一痛点,它将视觉推理转化为可计算的结构化数据。
功能定位¶
这是一个模型面向的 accurate_vision 工具。它通过 OpenAI 兼容的视觉模型处理图像文件,返回结构化笔记以及归一化到 0-1000 的边界框原语。工具将这些原语格式化为 <vision-context> XML 块,供纯文本模型在下一轮对话中读取,从而在不损失空间保真度的情况下获得精确的对象位置、布局和 OCR 信息。
该工具具备以下能力:
* 结构化输出:返回结构化笔记及归一化边界框(0-1000)。
* XML 上下文封装:将原语打包为 <vision-context> 块,供文本模型直接解析。
* 可视化反馈:生成自包含的标注 SVG 文件,便于人工核查。
* 提供商无关:支持任意 OpenAI 兼容的多模态端点。
* 辅助计算:内置 bboxEdgeDistance 函数,用于计算边缘距离。
安装与配置¶
安装插件需要使用 DSH 的插件管理器。
dsh plugin --profile web add dsh-tool-accurate-vision
由于视觉 API 密钥与 DeepSeek 的主密钥分离,安装后需单独设置环境变量:
export VISION_API_KEY=sk-...
安装完成后,在对应 profile 的 cordis.patch.yml 中覆盖配置以适配你的环境。配置项包括模型名称、端点地址、密钥引用、是否请求原语、是否生成 SVG、最大 Token 数、超时时间、温度参数以及是否禁用思考过程。
- id: tool-accurate-vision
config:
model: gpt-4o
baseURL: https://api.openai.com/v1
apiKeyEnv: VISION_API_KEY
primitives: true
annotate: true
maxTokens: 8192
timeoutSecs: 120
temperature: 0
disableThinking: true
注意:disableThinking: true 可以跳过推理阶段,适用于对速度和稳定性要求较高的场景。
工作原理¶
调用流程如下:
- 接收图像文件,将其转换为 Base64 Data URL。
- 发送给配置的 OpenAI 兼容视觉模型。
- 模型返回 JSON 格式的结构化笔记及边界框原语。
- 工具将原语封装为
<vision-context>XML 块,供后续文本模型读取。 - 工具同时生成一份包含所有边界框和标签的标注 SVG 文件。
典型应用场景¶
该工具的核心价值在于将视觉印象转化为几何事实。在需要精确距离计算的场景中,它能显著提升结果的可验证性。
以一个手绘的物理学家网络图为例,如果询问“哪位节点物理上最接近居里夫人”,直接使用普通视觉模型只能给出直觉判断(通常是错误的)。使用本工具后,每个节点都会携带一个可验证的 0-1000 边界框。智能体可以通过计算边缘距离(使用工具内置的 bboxEdgeDistance 函数)得出精确数据。
例如,计算结果显示皮卡尔德的边缘距离为 25.96,而郎之万为 58.00,从而得出正确结论。这种结构化数据使得文本模型能够进行严谨的几何计算,而非依赖不可靠的直觉。
生态与链接¶
该插件遵循 MIT 许可证。
- 社区目录:dsh-tool-accurate-vision
- GitHub 仓库:imkingjh999/dsh-tool-accurate-vision