dsh-paste-input:DSH WebUI 文件输入增强
一、这是什么
给 DSH WebUI 补上一整套顺手的文件输入方式——剪贴板粘贴、整页拖拽、文件选择器,并把发送后气泡里冗长的附件路径文本折叠成可读的文件 chip。
发送时会把文件复制到会话工作区的临时附件目录,路径随消息一起前置给模型——规避权限问题,agent 直接就能读。
二、支持的三种输入方式
| 方式 | 触发 | 说明 |
|---|---|---|
| 粘贴 | Ctrl + V | 截图或复制的图片 / 文件(首次弹告知框,可勾"不再提示") |
| 拖拽 | 全页面拖入 | 文件或文件夹拖到页面任意位置 |
| 选择器 | 输入框左侧回形针 | 可选文件或文件夹 |
发送后气泡折叠
带 ==== DSH_PASTE_INPUT_V1 ==== 标记的附件块会折叠为 📎 chip:
- 悬停显示完整清单
- 点击复制路径
三、安装
Profile 模式:
sh
dsh plugin --profile web add link:<本地路径>1
再在 ~/.dsh/profiles/web/cordis.patch.yml 追加 insert 条目:
id: dsh-paste-inputname: @dsh-community/dsh-paste-input
然后重启 dsh web。
四、亮点
- 兼容性追得紧:覆盖多个 DSH 快照(0808–0812 最终快照)与 npm 发版
rc.2/rc.5/rc.8;changelog 追踪了服务改名迁移(slash→inputTriggers、httpServer→webServer) - 零 cordis 依赖:安装无需额外参数
- v0.1.4 针对 rc.8 修复 dock chip 删除失效、内联 chip 外观错乱,并加入 "整体编辑保护"(chip 只能整体删除 / 替换,不会被局部编辑破坏)
- 与
dsh-vision零耦合协作:粘贴截图 → 复制进工作区 → 模型调用view_image→ VLM 识别
五、限制
- 浏览器安全模型不暴露本地绝对路径 → 粘贴的文件只能以文件名作为相对路径;需要真实路径就用拖拽或选择按钮
- Chrome / Edge 的 paste 事件只提供图片和文本 / HTML → 从文件管理器复制的文件粘贴时不会出现
- 规模上限:单文件 ≤ 1 GiB,单次 ≤ 2 GiB,≤ 10000 文件,≤ 64 层目录
- 历史无标记的旧消息不折叠
一句话总结
dsh-paste-input 把 DSH WebUI 的文件输入从"最原始的一格"补齐到"和现代聊天软件一样"——粘贴、拖拽、选择三合一,发送后气泡里那堆吓人的路径自动折叠成 📎 chip,附件还会自动复制到工作区规避权限问题。对每天要往 DSH 拖截图、日志、目录的人,几乎是必备增强。