Skip to content

Releases

v0.1.3

Choose a tag to compare

@zhanghuqqqq zhanghuqqqq released this 08 Sep 11:29

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

Choose a tag to compare

@zhanghuqqqq zhanghuqqqq released this 08 Sep 10:18

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 ComposerAttachments that counts drags, and only its own bubble-phase drop handler resets the count. v0.1.1's capture-phase stopPropagation() 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 dragenter and dragover too. 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

Choose a tag to compare

@zhanghuqqqq zhanghuqqqq released this 07 Sep 20:13

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

Choose a tag to compare

@zhanghuqqqq zhanghuqqqq released this 07 Sep 16:37

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).