前言¶
在 DeepSeek Harness(DSH)里,如果当前会话使用纯文本模型,图片消息不能直接进入模型上下文。dsh-vision 用于解决这个问题:把图片消息自动桥接为视觉模型生成的文字描述,同时人类转录保留原图,并可继续使用 see_image 工具追问。
这是什么¶
dsh-vision 是一个包名为 dsh-vision 的 DSH 插件,许可证为 MIT,GitHub 仓库为 reimu-create/dsh-vision。它面向纯文本模型提供图片描述桥接,并提供手动识图工具。
核心功能¶
- 图片消息自动桥接为视觉模型生成的文字描述。
- 表面替换事件 append 进会话日志,人类转录保留原图。
- 支持
see_image手动/追问工具,入参为file_path和可选question。 - 当前模型自身支持
image输入时插件不干预。 - 模型调用
read_image等工具返回的嵌套图片可被递归识别改写。 - 视觉调用失败时本次请求仍成功并给出占位文本,下次自动重试。
- 可配置视觉模型路由、输出上限、模式
auto/manual/both、超时。 - 视觉调用不进入会话 usage 统计。
安装与启用¶
1、执行以下命令,把本地目录加入 web profile。
dsh plugin --profile web add link:D:/dsh-plugins/dsh-vision
2、执行以下命令,检查当前 profile 配置中是否出现插件。
dsh --profile web --dump-config | Select-String dsh-vision
输出中出现 dsh-vision,说明插件已进入当前 profile 配置。
配置¶
插件需要搭配 uiopt 使用。安装 uiopt 后,可在界面中配置:
设置 → 插件 → 额外插件 → 可配置插件 → 展开 dsh-vision 卡片,配置视觉模型、输出上限、模式、超时。
未安装 uiopt 时,只能通过 settings.yaml 手动配置,且无法在界面中切换视觉模型。
文件方式是在 settings.yaml 的 dsh-vision 分节配置 provider、model、maxTokens、mode、timeoutMs。示例如下:
dsh-vision:
provider: <visual-provider>
model: <vision-model>
maxTokens: <max-tokens>
mode: auto
timeoutMs: <timeout-ms>
mode 可配置为 auto、manual、both。
典型用法¶
自动桥接不需要额外调用:图片出现在纯文本模型的请求中时,插件会把图片桥接为文字描述后放行。
手动识图或追问时使用 see_image 工具,提供 file_path,可选提供 question。
如果当前模型自身支持 image 输入,插件不干预。
如果模型调用 read_image 等工具返回嵌套图片,插件可递归识别改写。
计费与失败¶
新图首次出现按未命中价计费一次。视觉调用不进入会话 usage 统计。
视觉调用失败时,本次请求仍成功,图片位置给出占位文本,下次自动重试。
视觉模型必须真实支持图片输入;配置错误会导致占位文本,不会死循环。
适用场景与注意¶
适合:
- 主会话模型是纯文本,但需要利用图片信息。
- 需要保留人类转录中的原图,同时让模型看到文字描述。
- 需要通过
see_image对指定图片文件手动识图或追问。
注意:
- 需要搭配
uiopt使用;未安装uiopt时只能通过settings.yaml手动配置,且无法在界面中切换视觉模型。 - 插件依赖以下 dsh 预览版 API:
llm/stream waterfall
surface replace
foldSurface
rc 升级若改签名,需同步更新。
peerDependencies要求:
@deepseek-ai/dsh-llm ^0.1.0-rc.6
@deepseek-ai/dsh-session ^0.1.0-rc.6
@deepseek-ai/dsh-tools ^0.1.0-rc.6
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-vision 的价值在于让纯文本模型获得图片描述,同时保持人类转录原图,并提供 see_image 追问入口。
GitHub:https://github.com/reimu-create/dsh-vision。
目录页可在 DSH 社区目录中检索 dsh-vision。