DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-file-drop

d

dsh-file-drop

Manifest valid★ 4

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

UI (client)hasBundlePatch

dsh-file-drop · 拖拽上传任意文件

DeepSeek Harness 持久插件:支持拖拽 / 点击上传非图片文件(PDF / Word / Excel / ZIP / 文本等),把文件路径直接写入输入框草稿,agent 即可读取。

工作方式(三个入口共用一套逻辑)

入口行为
拖拽到窗口任意位置全屏高亮浮层 → 松手 → 获取文件
回形针按钮(输入框工具行左侧,28px 圆形原生风格)点击弹系统文件选择器(多选)
hover 气泡「点击选择文件 · 也可把文件拖到窗口任意位置」,1.5s 自动消失,每次 hover 循环

处理顺序(按可用性优先):

  1. 桌面壳直取原始路径(Electron 壳 window.dshDesktop,webUtils.getPathForFile)—— 零上传,拿到 Finder 里的真实路径;
  2. 拖拽自带路径(text/uri-list,如 Obsidian 拖笔记);
  3. 上传兜底(浏览器/无壳时)—— POST /api/dsh-file-drop 保存到 <会话工作区>/.dsh-drops/,返回工作区路径。

拖拽监听挂在 window 捕获阶段,先于 DSH 自带的 document 级图片拖拽处理拦截(stopPropagation),不会触发「不支持非图片格式」报错。

限制

  • 单文件 ≤ 25MB(上传兜底路径;壳直取路径不受限)
  • 文本类(md/txt/json/代码等)按文本直写;二进制(PDF/Word/Excel/ZIP 等)经 base64 解码写真实字节
  • 壳直取路径指向工作区外文件时,agent 读取需要沙箱放行(workspace-write 模式下需权限配置)

文件结构

index.js          Host half:POST /api/dsh-file-drop 保存路由(node fs 原生能力)
client.js         Client half:回形针按钮 + 拖拽监听 + 状态徽标(__ModuleLoader__ 格式)
cordis.patch.yml  组合行(inject: webServer, sessions)
dsh.plugin.json   插件清单

安装(已安装,仅备查)

dsh plugin --profile web add "link:/Users/fanxiaokang/dsh-file-drop"
# 重启 dsh web 生效

配套桌面壳(可选,推荐)

~/dsh-desktop/:Electron 壳,npm start 启动。自动复用/拉起 dsh web(127.0.0.1:3080), preload 注入 window.dshDesktop(getPathForFile + drainDroppedPaths),使拖拽直取 Finder 原始路径。

视觉引擎基准(modlens,2026-08 实测)

DSH 的 modlens_read_image 走 modlens 视觉桥;单次分析为一次结构化输出(summary/OCR/版面/语义/视觉/不确定项)。

引擎完整流程耗时结论
智谱 glm-4v-flash(国内直连,免费)~3.7s✅ 当前配置,最优
智谱 glm-4.6v~17s❌ 慢 4.6 倍
智谱 glm-4.5v失败❌ 不返回符合 schema 的 JSON
Gemini 免费 key(海外)429 额度用尽 / 兜底 codex-cli ~14s❌

配置位置:~/.modlens/config.json(providers.openai → baseUrl=https://open.bigmodel.cn/api/paas/v4,model=glm-4v-flash)。

端到端等待(贴图→回复)≈ 读图 3.7s + 模型回复生成时间,后者通常是主要部分。

Compatibility

DSH 0.2.1-rc.4: failedDSH 0.2.1-alpha.1: failedDSH 0.2.1-alpha.2: failed

Versions

Latest versionPublishedSize
1.0.0——
0.1.0——
0.1.1——
0.1.2——
0.1.3——

Comments

Loading…

Similar plugins

dsh-drop

by 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

UI & ExperienceDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 1

MIT

TypeScript

Sep 26, 2026

dsh plugin --profile web add @crosery/dsh-drop

by WJZ-P

Adds file and folder drag-and-drop attachments to the Web UI, with composer cards, persistent history, and workspace-backed paths.

Tools & CapabilitiesUI & ExperienceManifest valid

★ 6

↓ 166/wk

MIT

JavaScript

Aug 19, 2026

dsh plugin --profile web add dsh-attachment

by djt889

dsh-plugin for DeepSeek Harness (DSH) web UI: drop or paste any local file/folder anywhere on the page as attachments (images, any files, whole folders) or locate real filesystem paths — one toggle, two modes.

Terminal & ClientsManifest valid

★ 0

BSD-3-Clause

JavaScript

Aug 17, 2026

dsh plugin --profile web add @dsh-external/dsh-drag-to-attachment

by zmm863-commits

DSH Web GUI paperclip button: a 📎 button in the composer opens a file picker (drag & drop supported) and inserts file contents into the textarea.

UI & ExperienceManifest valid

★ 4

↓ 382/wk

MIT

TypeScript

Oct 4, 2026

dsh plugin --profile web add dsh-paperclip

by GLFzr

DSH 拖拽文件转路径插件:Codex 式拖拽,路径自动插入输入框(Drop File to Path for DeepSeek Harness)

Tools & CapabilitiesManifest valid

★ 9

↓ 687/wk

MIT

JavaScript

Aug 28, 2026

dsh plugin --profile web add dsh-file-upload

Local drag-and-drop attachments for DeepSeek Harness, delivered as an external plugin

UI & ExperienceTerminal & ClientsManifest valid

★ 0

dsh plugin --profile web add dsh-dragndrop-attachments