dsh-desk-drop
Manifest validDrag the delivery card and message image to the Windows desktop, along with "Open folder / Copy path / Save as"
dsh-desk-drop
文件从网页客户端里出得去。
网页版的交付卡片和消息图片都只是网页里的一个 <img> / <div>,想拖到 Windows 桌面上,浏览器默认只会吐一个没名字的 blob。这个插件在浏览器半边接管 DOM,在宿主半边提供真文件,于是:
- 拖拽:交付卡片、消息里的图片都能直接拖到桌面或资源管理器,落地就是原文件(带扩展名)。
- 三个点 / 右键菜单(卡片最右边的
⋯和卡片任意位置右键,是同一个菜单):- 打开所在文件夹 —— 用
explorer.exe /select,<路径>,文件在资源管理器里蓝色选中 - 复制文件路径 —— 绝对路径进剪贴板
- 另存为 —— Electron 原生保存对话框;拿不到 Electron 就退到 PowerShell + WinForms
- 打开所在文件夹 —— 用
它是怎么知道路径的
交付卡片里 .cardPreview 的 title 就是官方给出的绝对路径(resolveWorkspacePath(cwd, file.path)),直接读 DOM,不抢官方插槽。
图片只有 blob: 地址,所以在 pointerdown 时先把字节 POST 给宿主存成临时文件,换回一个真路径和 http 地址;顺带预取字节做成 File 塞进 dataTransfer.items,拖出去比 DownloadURL 更稳。
宿主路由(前缀 /dsh-desk-drop)
| 路由 | 说明 |
|---|---|
GET /file?p= | 返回磁盘上的真文件(inline + RFC 5987 文件名) |
POST /stash?name= | 收原始字节,存临时文件,回 { id, path, name, url } |
GET /stashed?id= | 按 32 位 hex 编号读回暂存文件 |
POST /reveal | { path } → 打开文件夹并选中 |
POST /save-as | { path } → 另存为 |
GET /ping | 宿主自检 |
GET/POST /hello | 浏览器半边的心跳,用来确认它真的跑起来了 |
暂存目录:%TEMP%\dsh-desk-drop,超过 24 小时的自动清掉。
装法
只支持 Windows(explorer.exe /select 和 PowerShell + WinForms 是系统自带的),Node 22.13 以上。
git clone https://github.com/thawline/dsh-desk-drop
把 clone 下来的目录挂进 profile:
// <profile>/package.json
"dependencies": { "dsh-desk-drop": "link:<你 clone 下来的路径>" },
"dsh": { "profile": { "bundles": ["...", "dsh-desk-drop"] } }
再给 node_modules/dsh-desk-drop 做一个指向源码目录的 junction:
New-Item -ItemType Junction -Path "<profile>\node_modules\dsh-desk-drop" -Target "<你 clone 下来的路径>"
改完宿主那半边要重启客户端才会重新 require;只改浏览器那半边,刷新一下页面就够。
Comments
Loading…
Similar plugins
by kongbai-shike
对于Deepseek-Harness,桌面版来说,只有图片才能直接接收,对于用惯了claudecode的人来说很不习惯,所以我依靠ai完成了一个可以直接在文件管理器页面,把需要上传的文件拖拽到对应的DSH桌面端界面,就能直接把对应的路径名完完整整的显示在输入框里。
★ 0
MIT
JavaScript
Sep 11, 2026
dsh plugin --profile web add dsh-drop-pathby Crosery
Drag or paste files into the Web composer with one image-and-file preview rail; native PNG/JPEG/WebP/GIF keep the image attachment path, while other files reuse a matching local path or stream to Host
★ 1
MIT
TypeScript
Sep 26, 2026
dsh plugin --profile web add @crosery/dsh-dropby Cheyeah
DeepSeek Harness (DSH) Web 插件:拖放文件预览 / Markdown 渲染 / 文件盒 / 智能桌面截图(全屏·区域·窗口)/ 外挂识图与识别文本入库。完整开发历史含 21 个快照标签。
★ 0
NOASSERTION
JavaScript
Aug 28, 2026
dsh plugin --profile web add dsh-drop-previewby WJZ-P
Adds file and folder drag-and-drop attachments to the Web UI, with composer cards, persistent history, and workspace-backed paths.
★ 6
↓ 167/wk
MIT
JavaScript
Aug 19, 2026
dsh plugin --profile web add dsh-attachmentby Mo3ter
DSH Desktop (Windows): keeps the top of the window draggable and clickable at the same time.
★ 0
MIT
JavaScript
Sep 22, 2026
dsh plugin --profile web add dsh-top-dragby dannyvan
Drag & drop or click to attach any non-image file (PDF/Word/Excel/ZIP/text) into the composer: in the desktop shell it resolves the real Finder path instantly; otherwise it uploads to the workspace an
★ 4
↓ 67/wk
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-file-drop