前言¶
DSH 的远程 Web 界面会将本轮生成或修改的文件显示为可点击的文件项。这些文件项本质上是前端 JavaScript 处理的按钮,不是带有 href 的普通链接。在远程访问时,这会导致几个实际问题:无法右键复制链接地址;页面上不容易直接看到文件的完整绝对路径;远程 Web 所在的 Host 通常没有可用的桌面程序,点击文件项不一定能打开文件;用户需要把文件路径复制到 SSH、终端、编辑器或其他工具中继续处理。
dsh-produced-file-paths 插件通过复用 DSH 已识别的 produced-file 列表,在界面中显示对应的绝对路径,并提供复制按钮。它不试图把远程 Host 文件伪装成浏览器 URL,也不新增文件下载服务。
插件介绍¶
这是一个独立的 DSH Web 插件,用于在 DSH Web 界面中展示和复制本轮生成/修改文件的绝对路径。插件不修改文件,不增加文件下载接口,也不修改 dsh-sticky-notes。插件由维护者 flyhigao 开发。
核心功能¶
- 在 DSH 内置“产物”文件行下方显示本轮生成/修改文件的绝对路径。
- 支持单个文件路径复制。
- 支持一键复制全部文件路径(每行一个)。
- 路径文本可直接选中复制。
- 插件只读取 DSH 已经识别出的 produced-file 列表,不修改文件。
安装与启用¶
通过 DSH 插件管理命令从 GitHub 安装:
dsh plugin --profile web add github:flyhigao/dsh-produced-file-paths
安装完成后重启 dsh web,然后硬刷新远程 Web 页面(Ctrl+Shift+R)。
路径语义与注意事项¶
- 兼容版本:支持 DSH
0.1.0-rc.6、0.1.0-rc.8、0.1.1-rc.2、0.1.2-alpha.2及更高版本。 - 运行时依赖:零外部运行时依赖,不依赖已被废弃的
dsh-client-runtime。 - 注入方式:使用 DSH 标准插槽
conversation.chat.turnTail注入,与内置产物行共存。 - 路径类型:插件复制的是 DSH 当前 Session 工作区下的绝对文件系统路径,不是浏览器 URL,也不是
file://链接。例如路径可能是/home/gao/dsh/reports/summary.md。 - 数据来源:插件只读取和展示这些路径,不接受用户输入的路径,不扫描工作区,也不读取文件内容。
适用场景¶
该插件适用于需要在远程 Web 界面获取文件绝对路径,并直接复制到终端或编辑器进行后续处理的场景。插件以 DSH 当前进程的权限运行,能否访问文件取决于该权限。
该插件为远程开发场景补上了“看得到、复制得到文件路径”的能力。更多详情可查阅 GitHub 仓库。