cesaryike/dsh-image-to-path
DSH 插件:让纯文本模型对话也能拖图/贴图——图片自动保存到会话工作区,以文件路径交给模型(多模态模型不受影响)
项目介绍Project Overview
dsh-image-to-path 是 DSH WebUI 插件,接管拖放/粘贴图片:纯文本模型会话中,图片经魔数校验、SHA-256 去重后原子保存到会话工作区,输入框插入文件芯片,发送时以路径文本交给模型,再由视觉等工具处理;多模态模型仍走原生附件。适用于纯文本模型无法接收 base64 图片、需以路径引用工作区文件的场景。注意:能力查询失败时 fail-open 放行,图片默认上限 10 MiB。
dsh-image-to-path is a DSH WebUI plugin that intercepts dragged or pasted images. In text-only-model chats, it validates image magic bytes, deduplicates via SHA-256, atomically saves images into the session workspace, inserts a file chip, and sends the model a file path for tools such as vision tools; multimodal models keep native attachments. Use it when text-only models reject base64 images. Caveat: capability-query failures fail open, and images default to a 10 MiB limit.
请帮我了解并安装插件:【dsh-image-to-path】【https://github.com/cesaryike/dsh-image-to-path】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:cesaryike/dsh-image-to-path
把 cesaryike/dsh-image-to-path 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-image-to-path
让 DSH 纯文本模型对话也能拖图/贴图:图片自动保存到会话工作区,以文件路径交给模型。
Let DSH text-only-model conversations accept images: saved to the session workspace and handed to the model as a file path.
解决什么问题
DSH WebUI 把拖入的图片作为 base64 附件发送,纯文本模型会直接拒绝——无论装没装视觉工具,只要当前对话是纯文本模型,图片就发不出去。本插件接管拖放/粘贴,把图片保存到当前会话工作区,以路径文本插入输入框,模型拿到路径后可交给任何工具(包括视觉工具)处理。
- 多模态模型不受影响:自动检测当前模型能力,支持图片的模型走原生附件通道,只有纯文本模型才走路径方案;
- 没有视觉工具也能用:发送的只是路径文本;提示会如实告知当前环境能否看图;
- 不产生重复拷贝:内容寻址去重,同一张图只落一份;工作区已有的图直接原位引用。
安装
# 本地开发(先 pnpm install 装全 peer 依赖)
dsh plugin --profile web add /path/to/dsh-image-to-path
# 从 GitHub(仓库已提交 lib/,免构建授权)
dsh plugin --profile web add github:cesaryike/dsh-image-to-path
# 或 tarball
pnpm pack && dsh plugin --profile web add ./dsh-image-to-path-0.1.0.tgz
安装后重启 Web Profile 生效。
使用
拖入或粘贴图片即可:图片保存到工作区的 dsh-image-to-path-uploads/ 目录,输入框出现文件名芯片,发送时模型收到完整路径。该目录可随时手动清理,不影响插件。
配置
| 字段 | 默认 | 说明 |
|---|---|---|
subdir |
dsh-image-to-path-uploads |
保存子目录 |
maxImageBytes |
10485760 |
单图上限(10 MiB) |
interceptUnknownModels |
false |
未声明能力的模型是否按纯文本拦截(内置适配器均声明,一般无需改动)。注意:即使开启,provider 未注册或能力查询失败时仍按放行处理(fail-open),并在宿主日志记录警告 |
按行 id image-to-path 在 profile 的 cordis.patch.yml 中覆盖。
工作原理
拖图/贴图 → 当前模型支持图片?→ 是:原生附件通道(体验不变)
→ 否(纯文本):上传 → 魔数校验 → SHA-256 去重 → 原子写入工作区
→ 引用芯片插入输入框 → 发送时序列化为路径文本 → 模型/视觉工具
安全
仅接受图片魔数、服务端命名、原子写、10 MiB 上限、同源校验;无任何远程请求。
许可
贡献者
- cesaryike:作者——产品定义、功能方向、文档与发布;
- DeepSeek AI(DSH agent):核心工程实现与修复(见提交历史)。
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS