Skip to content

v1.4.8

Choose a tag to compare

@GLFzr GLFzr released this 15 Aug 14:24
· 14 commits to main since this release

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)→ 恢复全局规则

用法

  1. 安装:dsh plugin --profile web add <本仓库路径>(或源码版 pnpm dsh plugin --profile web add ./plugins/drop-file-to-path),重启 DSH
  2. 拖文件进页面 → 需要等待时插入点出现蓝环 → chip 出现在光标处
  3. 侧边栏垃圾桶图标 → 清理 dropbox(冗余副本/按大小/清空)
  4. 浏览器限制说明、.b64 解码约定、开发/测试方式详见 README

测试

21 例宿主行为测试(node --test)+ GitHub Actions CI(语法检查 + 测试)。