dsh-folder-drop:把文件夹拖进 DeepSeek Harness,得到原生绝对路径

前言

DSH 的 composer 原生只收文件。拖放链路只读 dataTransfer.files(@deepseek-ai/dsh-client-ui-attachment 的 ComposerAttachments),浏览器从不把目录内容当 File 交出来。结果是:拖文件夹要么毫无反应,要么在附件栏里变成一个 0 字节空壳。

本插件补上这一段:目录拖进来 → 直接把路径写进草稿,交给 agent 自己的文件工具去读。

这是什么

把文件夹拖进 DSH Desktop composer 得到原生绝对路径。这是由 chiyu-star499 维护的客户端插件,采用 MIT 许可证。

核心功能

  1. 纯文件/纯图片拖放:保持原样,完全交回 DSH 原生附件链路。附件栏、上传进度、失败重试、图片预览全部保持原样。
  2. 含文件夹处理:本插件独占本次拖放。将每一项的原生绝对路径按换行追加进当前草稿;同时补一个 synthetic dragend,让 DSH 的全屏拖放遮罩正常收起。
  3. 错误处理:通过 DSH 自己的 error 提示报出失败项名,绝不静默。

安装与启用

dsh plugin --profile desktop add github:chiyu-star499/dsh-folder-drop

注意事项:
* profile 认准 desktop:DSH Desktop(GUI)跑的是 desktop profile;dsh / dsh web 默认是 web,装进 web 对 GUI 无效。
* 必须重启:装完必须重启 DSH Desktop。配置与插件装载改动不依赖 patchReload: live。
* 安装方式:add file:<目录> 实测是拷贝安装(不是软链),改源码后需要重新 add 才会生效。

典型用法

把文件夹拖进 DSH Desktop composer,草稿中会直接得到它的原生绝对路径 — 不需要复制,也不需要上传。

适用场景与注意

  • 功能边界:只处理 drop。文件夹没法粘贴,picker 也选不了目录。普通浏览器里没有 file-path 桥,拿不到本地路径;这时会明确报错,而不是插入错误的内容。
  • 混拖行为:混拖时文件也走「插路径」而不是「附件上传」。DSH 的 drop 事件无法只拦掉其中一项。要附件上传就纯拖文件。
  • 避免冲突:本插件与 dsh-drag-and-drop、dsh-drop-to-path 功能重叠,不要同时安装。

总结

插件通过 DSH 公开的输入门面(ctx.conversation.input.for().setDraft(text))写入路径,不触碰输入框 DOM。它依赖 DSH Desktop 提供的真实路径获取能力,适合需要在 DSH 中直接引用本地文件路径的开发者使用。

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

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

小夜