Repository navigation
Releases
v0.1.3
Third bug-fix / feature release.
Changed — folders now work
Dropping a folder onto the composer used to fall through to DSH's native image pipeline, which rejected it with "仅支持 PNG、JPG、WebP、GIF 格式的图片" and did nothing useful.
The plugin now takes folders over: it resolves the folder's absolute disk path through the DSH Desktop bridge and inserts a [文件夹: name](absolutePath) reference. The agent then walks the original folder in place with fs tools — zero copying, no size limits, instant. Mixed drops (folder + files) land folder references and streamed file uploads in one message.
Fixed
- Dragging a folder no longer triggers the native "images only" rejection toast: the native attachment pipeline is fully blinded for folder drags (capture-phase dragenter/dragover/drop all stop propagation).
Full Changelog: https://github.com/zhanghuqqqq/dsh-drop-in/blob/main/CHANGELOG.md
v0.1.2
Second bug-fix release for the drag & drop input plugin.
Fixed
-
Stuck native "images here" overlay after dropping takeover content. When you dropped a non-image file (e.g. a spreadsheet), DSH's native drag hint ("图片拖动到此处即可添加 / Drag images here to add them") stayed on screen forever behind the plugin's own overlay.
Why: that native hint is shown by a document-bubble dragenter listener inside
ComposerAttachmentsthat counts drags, and only its own bubble-phase drop handler resets the count. v0.1.1's capture-phasestopPropagation()on drop blocks that handler — which removed the "images only" toast but also removed the reset, leaving the hint stuck.Fix: the plugin now stops propagation at the capture phase for
dragenteranddragovertoo. For takeover kinds (files / url / text / data-url / too-many) the native attachment pipeline never sees the drag at all, so its hint never appears. Passthrough kinds (pure local images, folders) still reach the native pipeline untouched.
Added
tests/overlay-propagation.sim.mjs— a DOM-propagation simulation asserting the capture-phase blinding (takeover drags never reach the native bubble listeners; passthrough lifecycles stay intact).
Full Changelog: https://github.com/zhanghuqqqq/dsh-drop-in/blob/main/CHANGELOG.md
v0.1.1
dsh-drop-in v0.1.1
修复两个拖拽相关 bug:
1. 拖拽提示覆盖层不消失
- 根因:覆盖层用
hidden属性隐藏,但作者样式.ddi-overlay{display:flex}在 CSS 级联中恒高于浏览器对[hidden]的display:none默认样式,导致hideOverlay()完全失效,覆盖层永久残留。 - 修复:显隐改为显式 class 控制 ——
.ddi-overlay默认display:none,新增.ddi-overlay.ddi-visible{display:flex};showOverlay/hideOverlay改为增删.ddi-visible类,不再使用hidden属性。 - 补齐显式隐藏路径:新增 document 级
dragleave(仅拖出窗口时隐藏,窗口内跨元素不闪烁)与dragend(文档内拖拽结束即隐藏)监听,与原有 180ms 看门狗 timer、drop 即时隐藏共同构成四条可靠隐藏路径(drop / dragleave / dragend / timer)。
2. 拖入非图片文件误报「只支持图片」
- 根因:
onDrop对接管类拖放(files/url/text/data-url/too-many)只调用了preventDefault(),事件继续传播到 DSH 原生附件处理器,后者对非图片文件报「只支持图片」。 - 修复:接管类分支在
preventDefault()之后补充event.stopPropagation(),事件不再到达原生处理器;passthrough(纯图片/文件夹)与 none 分支保持原样,原生视觉附件与工作区收养流程不受影响。
其他
- 版本号 0.1.0 → 0.1.1。
- 拖拽分类、上传、composer 插入、toast 逻辑零改动;
node --check与tests/smoke.mjs(12 项)全部通过。
v0.1.0
First release of dsh-drop-in.
Drag & drop anything into the DeepSeek Harness composer:
- local files (any type, up to 20) -> uploaded to /.dropped// and referenced as 附件: name markdown links the agent can read directly
- web images / links -> host-side streamed download (redirect-following, retry, 2 GiB cap) -> referenced the same way
- plain text -> inserted into the composer; >5000 chars saved as a .md file
- pure local images pass through to the native vision-attachment pipeline; folders pass through to native workspace adoption
Install: dsh plugin add github:zhanghuqqqq/dsh-drop-in --profile <your-profile> (or zip-install without git - see README).