前言¶
在 DeepSeek Harness(DSH)里聊项目时,模型和工具经常把路径写成蓝色 chip,例如 index.html 或 @src/app.tsx。它们看起来像链接,实际上只能看,不能点。真要打开文件或去资源管理器里找,还得自己切出去翻目录。
dsh-file-actions 是社区维护的 DSH Web 客户端插件,在文件引用上补一层右键菜单:打开、定位、浏览器预览、复制路径。下面介绍它做什么、怎么装、使用时要注意什么。
这是什么¶
- 名称:
dsh-file-actions(npm 包名与仓库名一致) - 维护者:nubeslove
- 分类:客户端插件(
dsh.client.platform为web,注入 DSH 客户端运行时与 UI 插槽) - 仓库:github.com/nubeslove/dsh-file-actions
- 许可证:MIT
插件不改 DSH 核心,只在 Web 界面里监听右键、识别路径,再通过宿主提供的 /api/file-actions/exec 在本机执行白名单内的动作。当前版本在 package.json 中为 0.1.3;README 写明在 DeepSeek Harness 0.1.1-rc.2 与 Windows 上开发与验证。
核心功能¶
消息区:文件引用右键菜单¶
DSH 把文件引用渲染成蓝色 chip 后,在本插件支持下可右键操作。菜单项与行为如下(与 README 功能表一致):
| 菜单项 | 适用文件 | 行为 |
|---|---|---|
| 用默认程序打开 | 全部 | 交给 Windows 文件关联 |
| 用浏览器打开 | html、svg、md、txt、json、xml、yaml、css、js、ts 等文本类 | 以 file:/// URL 交给默认浏览器 |
| 在文件夹中显示 | 全部 | 打开资源管理器并选中该文件 |
| 复制完整路径 | 全部 | 写入剪贴板 |
菜单头部会显示文件名与完整路径,长路径左侧渐隐,便于确认目标文件。
插件能识别的引用形态包括:
[data-ref-chip](file/folder/skill三种)title属性中含完整路径的元素(chip 的title被裁切时的兜底)file:///链接- 行内代码等(
code/kbd/samp) - 元素文本整串即为路径时的兜底匹配
若引用的是 http:// 或 https:// 网址,菜单会切换为网址专用:用浏览器打开、复制链接,不会把 URL 当成本地路径去定位。
右侧栏:文档预览「定位」¶
在右侧栏以文档预览打开文件时,标签头部会增加 ▤ 定位 按钮,在当前文档所在文件夹中选中该文件。实现上注册在 sidebar.right.tab.document.actions 插槽,使用官方提供的 absolutePath,无需改写预览组件本身。
安装与启用¶
DSH 桌面端默认 profile 为 desktop,$DSH_HOME 一般为 ~/.dsh。安装步骤以 README 为准。
1、用一条命令把插件加入 desktop profile:
dsh plugin --profile desktop add "github:nubeslove/dsh-file-actions"
2、在 $DSH_HOME/profiles/desktop/package.json 的 dsh.profile.bundles 中追加 "dsh-file-actions"。
3、重启 DSH 桌面应用。
插件为纯 JavaScript,无构建步骤,无运行时 npm 依赖。卸载时删除 node_modules/dsh-file-actions 并从 bundles 去掉对应行即可;README 说明插件不修改其他既有文件。
本地开发若路径含空格,README 提供了在 dependencies 里 link:、写 bundles、用 PowerShell 建 Junction 再重启的流程,需要时可对照仓库「本地开发:手工 link」一节。
典型用法¶
安装并重启后,无需额外配置项:
1、在对话或工具输出里找到蓝色文件 chip,或带本地路径的行内代码、file:// 链接。
2、在目标上右键,根据文件类型选择「用默认程序打开」「用浏览器打开」「在文件夹中显示」或「复制完整路径」。
3、若右侧栏正在预览某个文档,点标签头部的 ▤ 定位,等价于在资源管理器中选中该文件的目录项。
对网页链接右键时,使用「用浏览器打开」或「复制链接」即可。
适用场景与注意¶
适合谁:主要在 Windows 上使用 DSH 桌面端、经常在消息里看到文件路径、希望少切窗口去资源管理器或编辑器里打开文件的开发者。
平台与上游依赖:系统动作依赖 explorer.exe 与 cmd.exe /c start;其他平台需自行改 lib/index.js 里的 launch 实现。若 DSH 将来改掉 [data-ref-chip]、file:// 或 code 等渲染方式,右键识别可能失效,需在 lib/client.js 的 resolveFromEvent 中调整选择器。
路径解析:相对路径(如 index.html)按宿主进程当前工作目录解析;解析不到会提示 path does not exist。
权限与安全:这是会在本机拉起进程的插件,以当前 DSH 进程权限运行。安装前建议阅读仓库 lib/index.js 与 README「权限与安全边界」:
- 仅白名单动作:
reveal/open/browser(以及网址场景的open-url,只放行 http/https) - 执行前校验路径存在;参数经
spawn数组传递,不做 shell 拼接 - 不读文件内容、无对外网络请求(客户端只 POST 同源
/api/file-actions/exec) dependencies为空,无 install 生命周期脚本
社区插件目录 skillhub.cn 上的 dsh-file-actions 页 与 GitHub 仓库相互独立收录;目录站点与 DeepSeek / 幻方无官方从属关系,安装来源以你信任的仓库与文档为准。
遇到问题可邮件 1992335297@qq.com(README 称比开 Issue 更快),或到 GitHub Issues 反馈;邮件建议附上插件版本、dsh --version 与完整报错。
结尾¶
dsh-file-actions 把 DSH 里「只能看」的文件引用变成可操作的右键菜单,并给右侧文档预览补了一个「定位」入口。若你已在用 desktop profile,按官方命令安装、写入 bundles 并重启即可试用。