dsh-file-drop
by dannyvan
拖拽/点击上传任意非图片文件(PDF/Word/Excel/ZIP/文本)到输入框:桌面壳下直取 Finder 原始路径;无壳时上传到工作区并插入路径。
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 and inserts the path.
安装
dsh plugin --profile web add github:dannyvan/dsh-file-dropGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DeepSeek Harness 持久插件:支持拖拽 / 点击上传非图片文件(PDF / Word / Excel / ZIP / 文本等),把文件路径直接写入输入框草稿,agent 即可读取。
工作方式(三个入口共用一套逻辑)
| 入口 | 行为 |
|---|---|
| 拖拽到窗口任意位置 | 全屏高亮浮层 → 松手 → 获取文件 |
| 回形针按钮(输入框工具行左侧,28px 圆形原生风格) | 点击弹系统文件选择器(多选) |
| hover 气泡 | 「点击选择文件 · 也可把文件拖到窗口任意位置」,1.5s 自动消失,每次 hover 循环 |
处理顺序(按可用性优先):
- 桌面壳直取原始路径(Electron 壳
window.dshDesktop,webUtils.getPathForFile)—— 零上传,拿到 Finder 里的真实路径; - 拖拽自带路径(
text/uri-list,如 Obsidian 拖笔记); - 上传兜底(浏览器/无壳时)——
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 + 模型回复生成时间,后者通常是主要部分。
原始 README: https://github.com/dannyvan/dsh-file-drop/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。