DeepSeek Harness 视觉桥接插件:analyze-image-tool

前言

DeepSeek Harness (DSH) 的文本模型(如 deepseek-v4-flash)无法直接处理图像。要实现视觉能力,通常需要接入多模态模型或对宿主进行补丁修改。analyze-image-tool 插件通过注册 analyze_image 工具,为文本模型提供了一个“视觉桥接”层,使其能够通过任何 OpenAI 兼容的视觉/多模态端点回答关于图像的问题。

插件简介

这是一个通用的视觉接口插件,由 CaseyTso 维护。它不绑定特定厂商,允许用户配置 baseURL、apiKey 和 model,从而连接 SiliconFlow、DashScope、Ollama 等任意支持 OpenAI 格式的端点。

核心功能

  1. 通用端点支持:支持任何 OpenAI 兼容的端点,无需修改插件代码即可切换模型服务商。
  2. 沙盒安全读取:本地图片优先通过宿主沙箱的 fs 通道读取,支持 HTTP/HTTPS 和 Data URL。
  3. Schema 安全:使用 defineTool 编译参数,符合标准 JSON Schema,避免因 Schema 根节点非对象导致的会话 400 错误。
  4. 鲁棒性设计:自动清理错误信息中的 API Key,自动剥离大模型思考过程中的 reasoning 块。
  5. 结构化返回:返回包含文本、模型名称和 Token 使用情况的完整结构。
  6. 共存性:工具名称 analyze_image 不会与社区工具(如 view_image)冲突。
  7. WebUI 设置面板:提供可视化的配置入口,支持多配置预设保存、连接性测试。

安装与启用

安装前请确保环境满足要求:DeepSeek Harness (dsh) 版本为 0.1.x,Node.js 版本 ≥ 18.17。

使用以下命令安装插件(从 main 分支安装,包含运行时粘贴图片桥接):

dsh plugin --profile web add github:CaseyTso/dsh-analyze-image-tool#main
dsh --profile web

插件会自动作为 profile layer 安装,无需手动编辑 cordis.patch.yml。

配置说明

推荐使用 WebUI 面板进行配置。在 Web 会话头部右上角点击眼睛图标,或进入系统设置中的插件配置卡片进行编辑。

主要配置项包括:
* baseURL: 目标端点地址(如 SiliconFlow 或本地 Ollama)。
* apiKey: API 密钥,留空则按链路读取。
* model: 使用的多模态模型 ID。
* maxImageBytes: 允许上传的图片最大字节数,默认 10MB。
* defaultQuestion: 未指定 prompt 时的默认描述请求。

配置示例(cordis.patch.yml):

- id: analyze-image-tool
  config:
    baseURL: https://api.siliconflow.cn/v1
    apiKey: ***
    model: Qwen/Qwen3-VL-32B-Instruct
    maxTokens: 2048
    timeoutMs: 60000
    maxImageBytes: 10485760
    defaultQuestion: 描述这张图片的细节,包括可见文字和布局。

使用示例

模型调用工具时,传入图片路径或附件 ID:

模型: 看下 ~/Desktop/error.png 是什么报错
模型 → analyze_image(path="~/Desktop/error.png", prompt="这个报错的完整文本是什么?")
     ← "TypeError: Cannot read properties of undefined (reading 'map') at …"
模型: 这是一个 … 建议 …

对于文本模型,插件会自动处理粘贴图片的逻辑,将其转换为 analyze_image(attachment_id="...") 调用。

注意事项

  1. 版本差异:v0.1.0 标签版本仅支持本地路径和 URL,不包含粘贴图片桥接功能。当前安装 #main 分支包含该功能。
  2. 粘贴图片限制:粘贴图片的附件引用索引仅在当前进程内有效。服务器重启后,历史会话中无法读取回旧的附件 ID,需重新粘贴图片。
  3. 权限与安全:插件以当前 DSH 进程权限运行,调用端点时会产生 API 请求和 Token 消耗,请根据实际情况配置密钥和超时时间。

结语

analyze-image-tool 通过标准化的工具接口和灵活的端点配置,解决了 DSH 文本模型接入视觉能力的通用问题,适合需要在不修改宿主代码的情况下扩展多模态能力的场景。更多细节可参考插件目录和GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜