在 DeepSeek Harness (DSH) 的生态中,模型推理往往以文本为主。要在 Agent 预设中引入视觉能力,通常需要处理图片上传与安全策略的冲突。dsh-tool-vision 插件通过模型端工具 image_describe 解决了这个问题,它调用 DashScope 的 OpenAI 兼容接口,让模型能够直接描述本地图片,同时提供粘贴桥接功能,将粘贴的图片转换为路径文本,避免触发宿主机的图片准入限制。
1. 这是什么¶
这是一个 DSH 插件,由 wanshichenguang 维护,开源协议为 MIT。它是一个模型面向的图像描述工具,利用 DashScope OpenAI 兼容 API(默认 qwen3.7-flash 模型)读取本地图片并生成描述,同时提供粘贴桥接功能,将粘贴的图片转换为路径文本,避免触发宿主机的图片准入限制。
2. 安装与启用¶
安装该插件需要使用 DSH 的插件命令。在 Web 预设下执行以下命令即可完成安装:
dsh plugin --profile web add dsh-tool-vision
安装完成后,需要重启 dsh web 进程。工具注册为 image_describe,出现在模型的工具目录中。
3. 核心功能¶
- image_describe 工具:这是核心功能。调用方式为
image_describe(path, prompt)。path为图片路径(支持绝对路径或相对工作区路径),prompt为可选的描述指令。如果不提供prompt,将使用默认指令对图片进行详细描述。 - 粘贴图片桥接:在 Web 界面,如果会话的模型被确认是文本-only 模型,粘贴或拖拽图片时会将图片上传至插件的宿主路由,释放草稿,并在提示词中追加
[image: <path>]文本。这样既绕过了宿主机的图片准入检查,又让模型能通过工具读取文件。对于具备视觉能力或未确认的模型,图片会保持原生内联。 - 配置化 API Key:插件本身不携带任何凭证,需要开发者自行配置。支持通过环境变量或配置文件指定。
4. 配置与用法¶
插件依赖 DashScope API,必须配置 Key。
设置环境变量:
DASHSCOPE_API_KEY=sk-xxxx
通过配置文件指定:
在 cordis.patch.yml 中添加配置:
- id: tool-vision
name: 'dsh-tool-vision'
config:
apiKey: sk-xxxx
工具调用示例:
模型在生成回复时,如果需要分析图片,会调用该工具。例如,模型可能会发出如下调用请求:
{
"tool_calls": [{
"function": {
"name": "image_describe",
"arguments": "{\"path\": \"/workspace/image.png\", \"prompt\": \"这是什么?\"}"
}
}]
}
关键配置项:
* baseUrl:DashScope OpenAI 兼容端点,默认为 https://dashscope.aliyuncs.com/compatible-mode/v1。
* model:使用的视觉模型,默认为 qwen3.7-flash。
* defaultPrompt:未提供 prompt 时的默认指令。
* maxImageBytes:单张图片大小限制,默认为 20MB。
5. 注意事项¶
- 凭证安全:插件包内不包含任何凭证,Key 仅存在于你的环境变量或配置文件中。
- HTTP 行为:HTTP 客户端设置了
redirect: 'error',配置的端点必须直接接收凭证,防止重定向导致 Key 泄露。 - API 限制:目前仅支持 DashScope OpenAI 兼容端点。
- 权限策略:工具执行时不请求
ctx.approval。如果部署环境需要确认机制,必须在部署时额外配置tools/pre-execute策略。
dsh-tool-vision 为 DSH 用户在文本模型中增加视觉能力提供了一条低侵入的路径。通过模型端工具的方式,它将图片分析与提示词生成解耦,适合需要在对话流中处理本地视觉上下文的场景。
插件目录:catalog_url
源码地址:github_url