dsh-image-describe

August 21, 2026 · View on GitHub

DeepSeek Harness 宿主插件:让不支持图片输入(纯文本)的主模型也能通过 describe_image 工具“看图”。

安装

npx @deepseek-ai/dsh plugin --profile web add github:sd1g1/dsh-image-describe

配置

首次启动会自动创建 ~/.dsh/image-describe.json(路径遵循 $DSH_HOME)。模板把 vision.provider / vision.model 留空,此时插件休眠,不影响正常请求;填写视觉模型后保存即热生效,无需重启:

{
  "vision": { "provider": "my-vision-provider", "model": "vision-model" },
  "prompt": "请详细描述这张图片的内容",
  "maxTokens": 1500,
  "image": { "autoResize": true }
}
  • vision.provider / vision.model:必填;留空 = 休眠
  • prompt:可选,默认兜底指令
  • maxTokens:可选,默认 1500
  • image.autoResize:可选,默认 true。发送给视觉模型前沿用 pi-coding-agent 的图片处理方法:大图先缩到 2000x2000,再在 PNG/多档 JPEG 中选最小编码;处理失败时回退原图,不影响看图。设为 false 关闭

调用方式

describe_imageattachmentpath 二选一:

  • attachment:使用之前标记里出现过的 attachmentId,无需用户重新发送图片。插件会依次搜索当前会话的派生消息、完整事件日志(被压缩的历史仍可解析)以及当前已加载的其他会话。
  • path:直接描述本地图片文件(绝对路径,或相对会话 cwd 的相对路径;支持 png/jpeg/webp/gif)。插件通过宿主 fs 服务读取文件,再交给附件服务校验并转为视觉模型可读的引用;与 attachment 一样,描述前会按 image.autoResize 预处理。

验证

  • 给纯文本模型发送一张图片:请求会被替换为 attachmentId 标记,模型可调用 describe_image 获取图片描述;之后让模型直接凭该 attachmentId 再次调用,也应成功。
  • 让模型调用 describe_image({ path: "/绝对路径/图片.png" }),应返回该图片的描述。

卸载

npx @deepseek-ai/dsh plugin --profile web remove @local/dsh-image-describe