# dsh-drop-preview DeepSeek Harness Web UI 插件:把文件**拖入页面任意位置**,先弹出**全屏预览** (图片以 data URL 方式大图显示;Markdown 文件会**完整渲染**——标题、列表、 代码块、表格、链接,以及 `![]()` 图片引用会从拖入的文件集合中解析出来真正 显示;普通文本 / 代码内联预览,文本上限 50 万字符 / 1MB 字节),确认后文件被 复制进当前会话工作区的附件目录(`.dsh/tmp/attachments/`),并把附件路径块 插入输入框随消息发送给 AI。 > Markdown 里的相对路径图片(如 `images/x.png`)需要把**图片所在文件夹连同 > md 文件一起拖入**才能显示;如果拖入集合里没有,插件会**自动在会话工作区 > (含子目录、最多 3 层)中按文件名搜索**,找到即显示,实在找不到才标注 > “图片未找到”。预览中的图片(含 Markdown 内图片)**点击可放大/缩小/旋转/ > 拖拽平移/复位**,滚轮也能缩放。 输入框上方提供原生 dock 的 **📁 文件盒**:拖入的文件可一键「存入文件盒」 (保存在浏览器 IndexedDB,刷新页面后仍在),卡片带图片缩略图,随时点击文件 即可再次全屏预览,也可以从文件盒直接「发送给 AI」。 派生自 MIT 协议的 [dsh-paste-input](https://github.com/lhh010/dsh-paste-input), 在其基础上新增“拖入即预览”环节,保留 Ctrl+V 粘贴、回形针选择文件/文件夹、 气泡附件 chip 折叠与设置页用量统计等原有能力。 ## 安装 ```sh dsh plugin --profile web add C:\Users\Administrator\dsh-plugins\dsh-drop-preview ``` 重启 `dsh web` 并硬刷新浏览器页面。 ## 使用 1. 从资源管理器把文件 / 文件夹拖到 DSH Web 页面任意位置。 2. 全屏预览面板中查看图片大图或文本内容。 3. 点击 **发送给 AI**:文件进入附件队列(输入框上方显示 📎 chip), 消息发送时文件复制到会话工作区附件目录,路径随消息前置给模型。 4. 或点击 **存入文件盒**:文件保存到输入框上方的文件盒(带缩略图卡片), 随时点开预览 / 发送给 AI。 ## 桌面截图 输入框左侧新增 **📷 智能截图** 按钮: - 点击 **📷**:直接全屏截图; - 点击 **▾** 展开菜单: - **区域截图**:桌面出现半透明遮罩,按住鼠标自由拖动框选区域(Esc 取消); - **窗口截图**:弹出窗口列表(带窗口缩略图、标题和尺寸),点选后只截取该窗口。 截图后流程: 1. 自动复制一份存入 **文件盒**(IndexedDB,刷新页面后仍在),点击文件盒卡片 即可全屏预览,预览支持放大 / 缩小 / 旋转 / 拖拽平移(滚轮也可缩放); 2. 弹出 **截图预览 · 外挂识图** 面板:左侧显示截图(点击可放大查看),右侧 实时展示识别结果; 3. 截图自动发送给 **外挂识图模型**(需要已安装 dsh-vision 并配置识图 API, 如 Kimi),识别出的文字会生成一个 **Markdown 文本文件**(文件名含“识别” 与时间戳,内容开头注明对应图片文件名)自动存入文件盒——DeepSeek 等纯 文本模型可直接读取该文本文件的内容。 文件盒里的图片卡片(缩略图)悬停会出现 **识别** 按钮,点击即可对已存入的 图片执行同样的识别流程,结果同样以文本文件存入文件盒。 **图片查看器识图**:点击图片进入全屏预览(放大 / 缩小 / 旋转 / 拖拽 / 滚轮 缩放)后,工具栏新增 **识别** 按钮(与放大缩小同排)。识别过程会显示 **进度条动画**(读取 → 压缩 → 发送 → 等待模型识别 → 完成),识别完成后 文本文件自动存入文件盒。Markdown 预览中的内联图片同样支持一键识别。 识别采用 **完整转录 + 限流自动重试**:一次请求完整输出屏幕内容(较密集的 截图可能需要 1-3 分钟,进度条会实时显示已用时间),遇到 429 限流会自动 等待后重试,避免因并发请求被拒导致失败。 支持 **识别模式切换**:点击 📷 旁边的 ▾ 菜单,或识别面板底部的模式按钮, 可在「完整转录」(内容全,1-3 分钟)与「快速摘要」(约 30 秒)之间切换; 当前选择会记忆到本次会话。 识图失败时会显示**错误类型**与排查建议,例如:请求超时 / API 限流或配额 / 图片模糊 / 图片过大 / 网络错误 / 配置或模型错误等。关闭按钮为文字样式, 截图识别面板底部的蓝色“关闭”按钮单独调整了字号并禁止换行竖排。 识别失败时面板会显示错误原因,可点击「重新识别」重试。Windows 走 PowerShell + System.Drawing,macOS 走 screencapture,Linux 走 ImageMagick import。 > 大图适配:存入文件盒前会在浏览器端自动压缩(最长边 ≤2560px、JPEG,取更小 > 者),避免 IndexedDB 容量限制导致保存失败;发送给 AI 的附件始终是原图。 > 插件会请求浏览器持久化存储,进一步降低配额回收风险。 > 注意:截图发生在 dsh web 服务所在会话,请从你的桌面会话启动 `dsh web`, > 否则服务可能拿不到交互式桌面的截图句柄。 ## License MIT(含 dsh-paste-input / dsh-multimedia-webui-input 派生声明)