DSH HUB
HomePlugin StoreRankingsPublish Guide
Plugin source
Back to catalog

djt889 /

dsh-drag-to-attachment

Verified

DSH(DeepSeek Harness)Web UI 插件:把本地任意文件/文件夹拖入或粘贴为附件(图片、任意文件、整个文件夹)或定位真实路径——一个开关,两种模式。dsh-plugin for DeepSeek Harness: drop or paste local files/folders as attachments or locate real paths — one toggle, two modes.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@b5e8c58e

dsh-drag-to-attachment

一个面向 DeepSeek Harness Web UI 的 dsh-plugin:把本地任意文件或文件夹拖入(或粘贴进)页面任意位置——一个开关,两种模式:附件模式把图片、文件、文件夹识别为真实路径并以附件方块引用(图片方块带缩略图预览;不复制、不上传),发送时把真实路径随消息送达模型;路径模式直接把真实路径插入输入框草稿。

dsh-plugin License

中文 | English

为什么做这个

  • 浏览器从不把拖入/粘贴文件的真实磁盘路径交给网页——DSH 操作的是真实文件,它的工具要读取本机实际路径。本插件补齐这个缺口:把拖入的文件定位回真实位置,以附件形式引用(不复制、不产生 .drops/ 副本)。
  • 图片以带缩略图预览的附件方块呈现(本地 blob 预览,点击 ✕ 移除,hover 显示真实路径),发送时与所有附件一样以真实路径送达——不走原生图片附件通道(纯文本模型不会被"当前模型不支持图片"拦截)。
  • 其他文件/文件夹:DSH 原生不支持非图片附件,插件把它们显示为附件栏方块(hover 显示真实路径),发送时真实路径以纯文本随消息送达——agent 搭配视觉插件(如 dsh-vision-toolkit)或文档工具读取。视觉输入搭配视觉插件使用。

两种模式(一个开关)

输入框工具行左侧按钮:📎 附件 / 📄 路径——选择保存在浏览器 localStorage(dsh.dragToAttachment.mode),刷新后保留。

能力 附件模式(默认) 路径模式
任意位置拖入 / 粘贴 ✅ ✅
图片 附件方块(缩略图预览 + 引用真实路径) 插入真实路径
任意文件(不限扩展名) 附件方块(引用真实路径,hover 显示) 插入真实路径
文件夹 附件方块 📁(引用文件夹路径) 插入文件夹路径
发送 消息里显示附件卡片(图片缩略图 / 文件图标 + 文件名,不显示路径文本);底层 agent 收到的是真实路径 路径已在草稿中,直接发送
是否复制/上传文件 从不(不产生 .drops/ 副本) 从不
不输入文字直接发送 ✅(不可见占位符自动激活发送按钮) —

说明:所有附件必须能被定位到真实路径(工作区优先,再已注册工作区、桌面/文档/下载、系统索引、受控递归搜索);定位失败(如未保存的新截图)会弹出可见提示,不会静默丢弃。消息里的缩略图由本地只读代理渲染,不占用模型 token——发给模型的只有真实路径文本,图片内容不会进入消息。

安装

dsh plugin --profile web add github:djt889/dsh-drag-to-attachment
# 或本地 checkout:
dsh plugin --profile web add /path/to/dsh-drag-to-attachment

安装后重启 Web profile(重启 dsh web)并硬刷新浏览器生效。无设置页,一切通过工具行开关控制。

使用

  1. 输入框工具行确认模式(📎 附件 默认 / 📄 路径);
  2. 从文件管理器拖入文件或文件夹到页面任意位置(全页面压暗 + 提示出现),或直接 Ctrl+V 粘贴(粘贴文件夹也支持);
  3. 附件模式:
    • 拖入/粘贴 → 附件方块立即出现(图片即时显示缩略图);
    • 定位中的方块右上角有实时圆环进度(快速索引 → 全盘搜索,百分比实时增长);
    • 图片 → 附件栏方块(缩略图预览,✕ 移除,hover 显示完整真实路径);
    • 其他文件/文件夹 → 附件栏方块(✕ 移除,hover 显示完整真实路径);
    • 发送后:消息里显示附件卡片(图片缩略图 / 文件图标 + 文件名),不显示路径文本;agent 底层收到真实路径(搭配视觉插件读取);
    • 不输入任何文字也可以直接发送(所有附件路径就绪后发送按钮才激活);
  4. 路径模式:拖入/粘贴时每个文件显示实时圆环进度 chip(多个文件并行、各自独立进度与百分比),命中后路径逐行插入草稿(多个同名候选时弹出选择列表);
  5. agent 搭配视觉插件 / 文档工具读取路径对应的文件。

附件去重:同名且同路径的附件会比对 MD5——内容一致则提示"附件已上传"且不重复添加;同名但路径不同视为不同文件,直接添加(不比对)。粘贴的截图按内容寻址保存(相同截图只会产生一份 .drops/ 文件),重复粘贴直接提示已上传。

文件不会被复制或上传到工作区 .drops/——附件引用的就是原始文件位置。

会话内图片预览(image_preview 工具)

插件内置一个模型工具 image_preview:agent 调用它(传本地图片路径),工具返回一段 markdown 图片(指向插件的只读 /file 代理),agent 把 markdown 放进回复正文后,图片直接显示在会话对话流里(类似网页版 ChatGPT 的生图预览)——无需上传、不复制文件。适用于"生图/截图/转换结果"直接发给你预览的场景。

文件结构

dsh-drag-to-attachment/
├─ package.json        bundle 声明(dsh.bundle.patch / dsh.client)
├─ cordis.patch.yml    挂载行(insert drag-to-attachment)
├─ lib/
│  ├─ index.js         host:/locate(分阶段定位)· /save(fallback 保存)· /md5(去重)· /file(缩略图代理)
│  └─ client.js        browser:全局拖拽/粘贴 + 双模式 + 实时圆环进度 + 附件卡片 + 发送
├─ vendor/everything/  内置 Everything(Windows 免安装全盘索引,voidtools freeware)
├─ LICENSE             BSD-3-Clause
└─ README.md(中文)/ README.en.md(English)

路径定位(实时分阶段)

拖入/粘贴后立即显示进度,搜索按两阶段进行(每阶段完成才进入下一阶段):

  1. 快速索引(tier-fast,毫秒级):工作区/常用目录浅探 → 操作系统索引;
  2. 全盘搜索(tier-full):有边界的递归搜索(每根 ≤100,000 项、深度 ≤24)+ 全盘索引;
  3. 多个同名候选 → 按文件名+大小过滤 → 采样指纹(开头/中间/结尾 64KB)→ 必要时完整 SHA-256 → 仍相同则弹路径选择列表。

各平台索引(开箱即用,无需安装):

平台 索引方案 说明
Windows 内置 Everything(vendor/everything/,host 自动启动,es.exe 查询) 毫秒级
macOS Spotlight(mdfind,系统自带) 毫秒级
Linux 内置 Everything 式索引(Node 实现:后台扫描 home+/mnt+/media,内存文件名索引) 毫秒级(首次索引后台建立)

粘贴的截图直接复制到工作区 .drops/(不索引,秒级);索引不到的文件也自动保存到 .drops/(fallback)。.drops/ 可随时清理。

兼容性

DSH 版本 状态
当前环境(deepseek-harness 0.1.0-rc 系列,web profile bundle 模型) ✅ 可用

本插件依赖 DSH 若干未公开的内部接口(conversation 服务、sendSession/draftImages/createDraftImages 签名、附件栏类名 _attachments、webServer 路由、workspace 注册表格式)。DSH 升级后可能失效,症状多为:插件不加载、方块位置错乱、图片附件异常。

许可证

BSD-3-Clause——路径定位代码移植自 bill9109/dsh-drag-and-drop(BSD-3-Clause);内置 Everything 为 voidtools 免费软件(freeware)。详见 LICENSE。

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

APIPublish GuideAbout
—/ 5

No ratings yet

Verified DSH bundle

Commit b5e8c58e0a8e

Community comments

No comments yet. Be the first to write one.