dsh-view-image:让纯文本模型也能读图

前言

在 DeepSeek Harness (DSH) 的开发场景中,如果主对话模型不支持视觉模态,直接发送图片字节会占用大量上下文,或者直接导致请求失败。dsh-view-image 插件通过引入独立的 OpenAI 兼容视觉模型,解决了这个问题:主对话历史只保留纯文本描述,图片字节不进上下文,从而让纯文本模型也能读取图片。

是什么

dsh-view-image 是一个 DSH 插件,由 johnoooooo 维护。它允许用户配置独立的视觉模型来识别图片,并将识别结果以纯文本形式插入主对话历史,使纯文本模型具备读图能力。

核心功能

  1. 纯文本模型也能读图:主对话历史只保留「工具调用 + 纯文本结果」,图片字节不进模型上下文。
  2. Web 粘贴图片即用:输入框直接粘贴图片即可,纯文本路由下自动落库为持久附件并改写为文本标记。
  3. 聊天流内联缩略图:用户消息内联显示粘贴图(右对齐、240px、object-fit cover),支持点击放大、悬停「复制」按钮一键加入输入框、拖拽回输入框。
  4. 终端 / headless 读图:模型传文件路径即可读图,适合脚本化场景。
  5. 界面语言跟随 dsh:按钮和反馈文案随 dsh 界面语言实时切换。
  6. 识别行为可配置:默认提示词、intent 后缀、主模型 intent 软引导均可在 profile 配置层覆盖。
  7. 附件持久化:内容寻址(sha256)、同图去重、完整性校验,会话可恢复。
  8. 视觉模型可插拔:支持 OpenAI 兼容端点(如 Ollama、vLLM、LiteLLM 等)。

安装与启用

克隆仓库并安装到目标 profile(把 web 换成你的 profile 名):

git clone https://github.com/johnoooooo/dsh-view-image.git
cd dsh-view-image
dsh plugin --profile web add file:$PWD

安装完成后重启 dsh 生效。

配置视觉模型

插件依赖独立的视觉模型。配置文件为 vision-model.json,默认位置为 ~/.dsh/vision-model.json。

复制示例配置文件并编辑:

cp vision-model.example.opencode.json ~/.dsh/vision-model.json

在配置文件中填入 OpenAI 兼容端点的信息:

  • baseUrl:OpenAI 兼容端点地址(如 Ollama /v1、vLLM、阿里云百炼等)。
  • apiKey:端点 API Key。
  • model:视觉模型名称。
  • api:协议类型,默认为 openai-completions。
  • maxTokens:最大输出 token。

配置缺失时插件正常加载但不注册 view_image 工具,补齐后重启或执行 /reload 生效。

使用方法

Web 界面

  1. 在输入框直接粘贴图片(Ctrl+V)。
  2. 纯文本路由下,插件将图片落库为持久附件,替换成文本标记发给模型——不再弹「当前模型不支持图片」。
  3. 模型看到标记后自动调用 view_image,返回纯文本描述。聊天流内会显示图片缩略图,支持点击放大、悬停复制、拖拽回输入框等操作。

终端 / headless

模型会自动调用 view_image 工具读取图片:

dsh --profile headless "用 view_image 工具查看 /path/to/img.png 并描述内容"

附件存储与注意

附件存储在 ~/.dsh/attachments/v1/objects/。文件按 sha256 内容寻址,同图去重。

注意:插件没有自动垃圾回收(GC)机制。删除会话不会清理附件,如需清空请手动删除该目录。

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

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

小夜