Repository navigation
Releases: badwoo/dsh-file-extension
Release list
v0.2.0
dsh-file-extension v0.2.0
版本号说明: 本次发布修复了 4 项遗留问题,新增了 3 项功能。
修复的问题
1. 重命名:输入新名字后点击其他区域即可生效
2. 添加到对话:一次点击即为高亮、可点击的引用
根因: 旧的实现把 @路径 当纯文本插入(insertText('@path', span))。而输入框
是 Lexical 编辑器,纯文本就是纯文本——@ 高亮是由扫描派生的装饰,只匹配短名字,
完整路径永远不匹配,所以既不高亮也不可点击;更糟的是,字面量 @ 会把光标留在
一个活的 @ token 里,从而重新打开官方的补全菜单——也就是「先弹出文件列表、
还要再按一次 Tab 才能选中」的来源。
- chip 天生高亮,插入即为完成态——不需要再按 Tab;
- 插入的是节点而非 token,所以补全菜单不会打开;
source: 'reference'是官方@源的名字,因此点击 chip 由官方逻辑处理,
直接在右侧栏预览该文件;insertReference同时保证发送时序列化为规范的@路径。
路径语法与官方完全一致:目录带尾斜杠(@dir/)、含空格的文件用 @"path"、
含空格的目录只加开引号(@"dir/)。含引号或控制字符的路径没有合法写法,
插件会拒绝而不是「转义」出一个含义不同的 token。
3. 在文件夹上右键可新建文件与文件夹
目录行的右键菜单新增新建文件与新建文件夹,创建在该目录内。
名称由插件自绘的对话框收集,宿主负责校验;失败时对话框保持打开并显示原因,
名字不会丢失。
4. 项目根目录空白区右键新建文件
工作区根目录没有对应的行(它只是标题栏里的路径标签),因此空白区单独处理:
在 div[data-files-body] 内、且不在任何 li[data-files-entry] 上的右键,会打开
一个精简菜单(新建文件 / 新建文件夹 / 检查更新)。根路径取自容器自身的
data-files-root,与官方文件树渲染的是同一个事实。
验证
- 针对上述 5 项需求的真实浏览器 E2E 检查(
tests/e2e-v020.mjs) - 既有浏览器回归检查与文件系统检查
安装
dsh plugin --profile web add github:badwoo/dsh-file-extension随后重启 harness 并硬刷新浏览器(Ctrl+Shift+R)。
v0.1.1
dsh-file-extension v0.2.0
修复 v0.1.0 反馈的多个问题,并加固工作区访问边界。
修复的问题
已知问题修复
安全加固
当请求指定的 Session 无法解析时,工作区包含性检查此前会失效(根目录解析为 undefined,
而 isInside 把 undefined 视为「没有围栏」)。现在这种情况直接拒绝,因此缺少 Session 时
路由无法访问任意路径。
验证
- 10 项针对上述修复的浏览器检查
- 21 项既有浏览器回归检查
- 25 项文件系统检查,含确认删除的文件与文件夹真的进入了回收站
全部通过。验证环境:dsh 0.2.1-rc.2,Windows 11。
安装
dsh plugin --profile web add github:badwoo/dsh-file-extension随后重启 harness 并硬刷新浏览器。
(此 Release 原先误标为 v0.2.0;现更正为 v0.1.1,版本序列为 v0.1.0 → v0.1.1 → v0.2.0。)
v0.1.0
dsh文件扩展名 v0.1.0
DeepSeek Harness Web UI和桌面应用程序右侧边栏文件树的Trae风格文件操作。
功能
- 在任何文件或文件夹上,使用harness主题标记绘制的右键菜单,使其遵循浅色和深色主题,且永远不会与原生菜单混淆。箭头键导航,
Esc键和外部点击关闭,以及每个视口边缘的自动翻转。 - 在文件管理器中显示 - 在Finder/Explorer/桌面文件管理器中选择文件。当主机无法选择时,该选项会变灰并显示工具提示。
- 添加到对话 - 在编辑器光标处插入
@path,而不替换草稿。需要时,以@"path with spaces"的形式引用。 - 在新标签页中打开 - 在新的右侧面板预览标签页中打开文件。 - 另存为 - 以新名称和文件夹保存副本,默认为“name-copy.ext”/“鍘熷悕-鍓湰.ext”。从不修改源文件;覆盖前会询问。
- 复制绝对路径/相对路径,每复制一个路径都会弹出一个提示框。
- 重命名 —— 内联编辑器,文件主干已预先选定;
Enter提交,Esc取消。 - 删除到回收站 ——确认提示表示文件可以从回收站恢复。仅当主机没有可访问的回收站时,才会使用永久删除,此时对话框会切换为红色的“无法撤销”警告。
- 在每一行上悬停“@”按钮时,显示一个工具提示,同时不干扰文件名的省略号。
安装
bash dsh plugin --profile web add github:badwoo/dsh-file-extension
重启线束,然后强制刷新浏览器。
桌面端:在应用中从设置→插件→添加进行安装;桌面端配置文件归Electron所有,dsh plugin --profile desktop将拒绝该文件。
兼容性
在dsh 0.2.1-rc.2版本和Windows 11系统上验证:17项浏览器检查和25项文件系统检查通过,包括确认已删除的文件和文件夹确实进入了Windows回收站。
该插件绑定到官方树的data-files-entry / data-files-path属性和侧边栏的data-sidebar-right-session标记——这是唯一的耦合接口,已在README中记录。
已知限制
- dsh没有为文件树暴露行级插槽,因此插件使用DOM事件委托;将来对这些属性进行重命名时,它会悄无声息地禁用该功能,而不会破坏页面。
“另存为”功能使用了本机目录选择器以及插件自身的名称字段,因为dsh的桌面外壳没有提供保存对话框通道。 - 删除操作是在主机上进行的,而不是在浏览器的机器上。
- 默认情况下,浏览器下载回退机制会拒绝下载大于32 MiB的文件。
许可证
MIT