xiaoxianyu-office/dsh-image-tools:为 DeepSeek Harness 纯文本会话增加识图能力

前言

在 DSH 里使用纯文本模型处理包含图片的会话时,常见的问题是:聊天上传的图片需要落盘,原生 read_image 可能把图片块带入纯文本端点请求,而后续识别又需要调用视觉模型。xiaoxianyu-office/dsh-image-tools 是一个 DSH 插件包,用来让 deepseek-v4-pro / deepseek-v4-flash 这类纯文本模型在会话中具备识图能力:聊天发图自动落盘、动态禁用原生 read_image,并提供对话式 image_recognize 工具委派视觉子 agent,如 xiaomi/mimo-v2.5

下面介绍它的定位、核心能力、安装步骤和注意事项。

这是什么

xiaoxianyu-office/dsh-image-toolsxiaoxianyu-office 维护,许可证为 MIT。它挂载在宿主层,覆盖 standard / code / minimal / cordis preset 会话,并按会话当前模型的能力声明动态判定是否拦截或桥接。

核心功能

  • 聊天发图自动落盘到 <工作区>/uploads/,消息中显示 [图片] 文件名
  • 桥接模型调用原生 read_image 时会被禁用,改用 image_recognize
  • image_recognize 以对话方式执行识图任务,并可委派视觉子 agent,如 xiaomi/mimo-v2.5
  • 宿主层全局生效,standard / code / minimal / cordis preset 会话通用。
  • 按会话当前模型能力声明动态判定是否拦截 / 桥接。
  • 提供首次安装向导与故障自动自检。
  • 识图输出有严格规范:位置使用像素坐标或明确方位,颜色使用 #RRGGBB 色值;图中没有的内容回答“图中未出现”,不确定时回答“无法从图中确认”并说明原因。

安装与启用

先确认前置条件:需要 pnpm,且模型路由需要在设置层已存在。插件只挂载插件行,不会替你创建路由。

npm i -g pnpm

先安装 pnpm,后续插件安装使用。

~/.dsh/settings.yaml 中预置模型路由。桥接声明只用于放行上传准入;例如为 deepseek-v4-pro / deepseek-v4-flashinput 覆写加入 image

# ~/.dsh/settings.yaml
# 桥接声明:仅用于放行上传准入
deepseek-v4-pro:
  input: [ text, image ]
deepseek-v4-flash:
  input: [ text, image ]

这一步只影响上传准入和插件是否桥接该模型。真多模态模型不要手写 input 声明;移除 input 声明即关闭该模型桥接。

~/.dsh/.credentials.yaml 中配置识图模型 token。

# ~/.dsh/.credentials.yaml
XIAOMI_API_KEY: <your-key>

这里填写 XIAOMI_API_KEY,供识图子 agent 使用。

执行官方安装命令:

dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.7

执行后重启 dsh web 服务,使插件代码在进程内生效。

典型用法

经过上面的步骤后,在桥接模型会话中上传图片,图片会自动落盘到 <工作区>/uploads/,消息中显示 [图片] 文件名

桥接模型不要调用原生 read_image。调用后会被禁用,应改用 image_recognizeimage_recognize 需要传针对性读取任务,即说明想从图中获得什么。

同一图片路径再次调用 image_recognize 时,会自动衔接此前的问答,可持续追问。

如果旧会话历史里已残留含图片消息并导致 400,新开会话。

配置与升级

cordis.patch.ymlconfig 字段支持以下配置项:

uploadsDir: uploads
provider: xiaomi
model: mimo-v2.5

其中 uploadsDir 为图片落盘目录,相对工作区;provider 为识图子 agent 模型路由;model 为识图子 agent 模型。

升级时重复执行 add 并指定最新 tag,不要用 update 选择 Git 引用:

dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.7

示例使用已核实的 v0.3.7;实际升级时按仓库 Releases 中的最新 tag 替换。

卸载后插件层无残留,但 settings.yaml 的路由与默认模型需要手动还原。~/.dsh/image-tools-state.json 为可选清理项。

适用场景与注意

适合需要在 DSH web 会话中让 deepseek-v4-pro / deepseek-v4-flash 处理图片,同时保留原生多模态模型链路的开发者。

注意以下几点:

  • 需要 pnpm;Node engines 为 ^22.19.0 || >=24.0.0
  • peerDependencies 包括 @deepseek-ai/cordis ^4.0.1@deepseek-ai/schemastery ^3.18.1@deepseek-ai/dsh-tools ^0.1.0-rc.6
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
  • host 接口使用回环地址 + Host 精确校验 + 随机页面令牌,并限制请求方法:GET 只读,POST 才执行。
  • 桥接声明只用于放行上传准入;删除桥接模型 input 覆写后上传会被准入拒绝。
  • DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

链接

GitHub:https://github.com/xiaoxianyu-office/dsh-image-tools

目录页:已核实资料未提供可核实目录页 URL,本文不列出具体链接,以 DSH 社区目录实际展示为准。

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

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

Xiaoye