omdsh-dev/dsh-drag-and-drop ↗★ 2
@omdsh-dev/dsh-drag-and-drop
将本地文件拖入 DSH Web 界面,并插入其原始文件系统路径,无需上传或复制它们
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-drag-and-drop说明文档
阅读完整 README ↗dsh-drag-and-drop — 拖入本地文件,插入真实路径
安装: dsh plugin --profile web add github:omdsh-dev/dsh-drag-and-drop
DeepSeek Harness Web UI 插件:把本地文件或文件夹拖入页面任意位置,其原始绝对文件系统路径就会插入当前会话输入框——不上传、不移动、不复制任何东西。
English | 中文
为什么需要它
出于安全原因,浏览器从不把拖入文件的真实文件系统路径交给网页——最多给一个本地文件 URI,很多时候什么都不给。而 DSH 操作的是真实文件:它的工具要读取、运行、修改本机上的实际路径。把文件拖进普通网页输入框,要么变成上传(一份副本,悄悄切断文件与相邻依赖文件的关系),要么只能手敲路径,很容易出错。
这个插件在运行 DSH 的本机上补上这个缺口。它把浏览器的本地文件 URI 转成操作系统的原生绝对路径;当浏览器完全隐藏路径时,它通过当前 Workspace、已注册 Workspace、操作系统文件索引和受控目录搜索,把文件定位回真实位置,再写进当前会话输入框。文件始终不离开它所在的目录。
实现能力
- 将文件拖入 Web UI 任意位置即可插入原始绝对路径
- 拖拽过程中显示全页面压暗和模糊提示
- 支持文件和文件夹,也支持一次拖入多个项目,每个路径占一行
- 支持 macOS、Linux 和 Windows 原生路径
- 支持 POSIX 路径、Windows 盘符路径和 UNC 网络路径
- 不上传、不移动、不复制文件
- 优先在当前 Workspace 和已注册 Workspace 中定位文件
- 浏览器隐藏原始路径时,使用本地文件索引和受控目录搜索
- 仅在存在多个候选文件时计算内容指纹
- 多个完全相同的文件副本无法自动区分时,由用户选择路径
- 定位失败使用插件 toast 提示,可手动关闭,8 秒后自动消失,悬停时暂停计时
- 通过 DSH 的输入状态服务写入草稿,不直接修改输入框 DOM
使用
把文件或文件夹从 Finder、Linux 文件管理器或 Windows 文件资源管理器拖入 DSH Web UI 的任意位置。
出现全页面拖拽提示后松开鼠标,插件会将定位到的原始绝对路径写入当前会话输入框。
一次拖入多个项目时,每个路径占一行。
安装
本插件是 DSH bundle(package.json 声明 dsh.bundle + dsh.client),通过标准的 dsh plugin 机制安装到 web profile,无需修改 DSH 源码、无需 config.yaml:
dsh plugin --profile web add github:omdsh-dev/dsh-drag-and-drop
# 或本地 checkout:
dsh plugin --profile web add /path/to/dsh-drag-and-drop
仓库包含构建产物(lib/ 已提交),安装后无需另外构建。