v1.4.8
v1.4.8 — 拖拽文件转路径插件(完整版)
为 DSH Web GUI 提供 Codex 式拖拽交互:拖入任意文件 → 路径以蓝色整体 chip 插入输入框光标处(Hermes 风格)。本版本整合了此前全部迭代,一次发布。
功能
- 🖱️ 页面任意位置拖入任意文件(多文件、图片均可),拖拽时全屏提示
- 📍 本机文件直接引用原路径(Chromium entry API):零上传、零复制;Firefox 等拿不到路径时才回退到 dropbox 上传
- 🔵 路径以一个整体 chip 插入:蓝色文字(只显示文件名+格式)、不可局部删改、篮筐宽度随文件名自适应(composer 真实字体实测 + NBSP 扩宽)
- 🙈
.b64后缀与_1/_2重名序号显示隐藏:提交给 agent 的仍是带后缀的真实路径 - ♻️ 两级去重(先查后传):begin 同名同大小秒回旧路径(零上传);end 内容 sha256 逐字节比对,同名同大小不同内容绝不误复用
- 🛡️ 完整性校验:分块精确长度、齐全性、解码字节数 === 声明大小——截断/缺块/伪造一律拒绝
- ⏳ 插入点待机圆环:只有真正需要等待的上传才显示(150ms 延迟,瞬间完成不出圈);DeepSeek 蓝渐隐拖尾转圈环,定位在光标右侧一个字符处(镜像层测量);chip 插入的同一瞬间同步消失
- 🗑️ 侧边栏垃圾桶图标(设置图标上方,悬停提示):打开 Dropbox 清理浮层——文件清单、清理冗余
_N副本、按大小清理、清空全部,操作前确认 - 🚀 ~4MB 分块、512MB 上限、16MB/次请求体上限
关键修复(本版本整合)
- >4MB 文件损坏(分块非 3 的倍数导致 base64 中间
==截断)→ 分块 4194303(4MiB−1) - 草稿投影损坏(无 pad 补丁的 DSH 上 NaN 截断)→ 自动回退
[offset, offset+1) - 去重失效/误复用 → begin 快路径 + end 内容哈希两级
- chip 样式丢失(动态规则时序 bug)→ 恢复全局规则
用法
- 安装:
dsh plugin --profile web add <本仓库路径>(或源码版pnpm dsh plugin --profile web add ./plugins/drop-file-to-path),重启 DSH - 拖文件进页面 → 需要等待时插入点出现蓝环 → chip 出现在光标处
- 侧边栏垃圾桶图标 → 清理 dropbox(冗余副本/按大小/清空)
- 浏览器限制说明、
.b64解码约定、开发/测试方式详见 README
测试
21 例宿主行为测试(node --test)+ GitHub Actions CI(语法检查 + 测试)。