前言¶
在 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-tools 由 xiaoxianyu-office 维护,许可证为 MIT。它挂载在宿主层,覆盖 standard / code / minimal / cordis preset 会话,并按会话当前模型的能力声明动态判定是否拦截或桥接。
核心功能¶
- 聊天发图自动落盘到
<工作区>/uploads/,消息中显示[图片] 文件名。 - 桥接模型调用原生
read_image时会被禁用,改用image_recognize。 image_recognize以对话方式执行识图任务,并可委派视觉子 agent,如xiaomi/mimo-v2.5。- 宿主层全局生效,
standard/code/minimal/cordispreset 会话通用。 - 按会话当前模型能力声明动态判定是否拦截 / 桥接。
- 提供首次安装向导与故障自动自检。
- 识图输出有严格规范:位置使用像素坐标或明确方位,颜色使用
#RRGGBB色值;图中没有的内容回答“图中未出现”,不确定时回答“无法从图中确认”并说明原因。
安装与启用¶
先确认前置条件:需要 pnpm,且模型路由需要在设置层已存在。插件只挂载插件行,不会替你创建路由。
npm i -g pnpm
先安装 pnpm,后续插件安装使用。
在 ~/.dsh/settings.yaml 中预置模型路由。桥接声明只用于放行上传准入;例如为 deepseek-v4-pro / deepseek-v4-flash 的 input 覆写加入 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_recognize。image_recognize 需要传针对性读取任务,即说明想从图中获得什么。
同一图片路径再次调用 image_recognize 时,会自动衔接此前的问答,可持续追问。
如果旧会话历史里已残留含图片消息并导致 400,新开会话。
配置与升级¶
cordis.patch.yml 中 config 字段支持以下配置项:
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 社区目录实际展示为准。