前言¶
DSH 可以通过插件扩展 Web 界面。如果你使用 DSH Web,希望快速查看当前会话工作区,并在不把文件内容读进浏览器的前提下用操作系统默认应用打开文件,brickmaker/dsh-workspace-files 提供了一个较轻量的入口:在 DSH Web 的 details 右侧栏显示当前工作区文件树。
下面从功能、安装、用法和边界几个方面介绍这个插件。
这是什么¶
dsh-workspace-files 是 brickmaker 维护的 DSH Web 插件,许可证为 MIT。package.json 版本为 0.1.2。
- 插件名:
dsh-workspace-files - 仓库:
brickmaker/dsh-workspace-files - 定位:为 DSH Web 提供当前工作区文件树右侧栏
- 许可证:MIT
dshhubcompatibility:dsh >=0.1.0-rc.5 <0.2.0,node ^22.19.0 || >=24.0.0dshhubcategories:Web UI、Workspace、Desktop- 界面:DSH Web
- DSH 兼容描述:
0.1.0-rc.5至0.1.x
DSH 仍处于开发者预览阶段,Web 插槽接口可能发生不兼容变更。
核心功能¶
dsh-workspace-files 主要做这几件事:
- 在 DSH Web 的
details右侧栏显示当前工作区。 - 在会话右上角提供侧栏开关图标,默认不占用右侧空间。
- 文件树按需逐层读取,不会在启动时递归扫描整个项目。
- 每层最多返回 1000 个条目,避免超大目录产生无界响应。
- 目录在前、文件在后,同类按名称排序。
- 文件通过 DSH 的宿主接口打开,不在浏览器中读取或预览内容。
- 目录读取以当前会话记录的工作区为根,并校验真实路径;
..和越界符号链接不能读取工作区外部目录。 - 插件卸载后,路由、样式和右栏注册会由 Cordis 生命周期自动清理。
接口侧的行为也比较克制:它只返回名称、绝对路径和文件/目录类型,不读取文件内容。
安装与启用¶
先确认本机 DSH 与 Node.js 满足版本要求。下面的命令从 GitHub 添加该插件:
dsh plugin --profile web add github:brickmaker/dsh-workspace-files
仓库已包含预构建的 lib/ 产物,Git 安装不会执行安装期构建脚本,也不需要配置 pnpm allowBuilds。正式使用时仍建议把 GitHub 安装地址固定到版本标签或提交 SHA。
安装后,打开或创建一个带工作区的会话,即可使用右侧栏入口。
典型用法¶
1、打开或创建一个带工作区的会话后,右侧栏默认保持关闭。
2、点击会话右上角的面板图标可以打开侧栏,再次点击会关闭。
3、点击 ▸ 或目录名称:加载并展开该目录。
4、点击文件名称:使用操作系统默认应用打开。
5、点击侧栏右上角 ✕:关闭右侧栏;之后仍可用会话右上角的面板图标重新打开。
需要说明的是,插件会成为 DSH details 单占位的默认内容,因此启用期间会遮蔽原有工具详情面板。卸载后,路由、样式和右栏注册会由 Cordis 生命周期自动清理。
权限与安全边界¶
安装前建议先查看源码、权限声明和 MIT 许可证,确认它符合你的使用场景。
已核实的权限与边界包括:
dshhub权限声明:filesystem为current session workspace (read-only directory listing)。dshhub权限声明:installScripts为false。- 接口只返回名称、绝对路径和文件/目录类型,不读取文件内容。
- 文件通过 DSH 的宿主接口打开,不在浏览器中读取或预览内容。
- 目录读取以当前会话记录的工作区为根,并校验真实路径;
..和越界符号链接不能读取工作区外部目录。 - 插件会作为 DSH 宿主侧能力运行,并以当前
dsh进程权限调用宿主接口。 - DSH Web 若绑定到
0.0.0.0,其所有宿主能力都会暴露给能访问该端口的人;请遵循 DSH 自身的网络信任设置,不要把开发服务器直接公开到不可信网络。
适用场景¶
这个插件适合:
- 使用 DSH Web,希望在会话中查看当前工作区目录结构。
- 希望文件由操作系统默认应用打开,而不是在浏览器中预览内容。
- 希望侧栏默认关闭、按需展开,不长期占用右侧空间。
- 只接受只读目录列表权限,并希望保持安装过程不执行安装期构建脚本。
如果你正在不可信网络上公开 DSH Web 端口,或需要更细的文件权限控制,先确认 DSH 的网络信任设置和插件源码边界。
结尾¶
dsh-workspace-files 的价值比较具体:给 DSH Web 增加一个当前工作区文件树右侧栏,按需读取、限制条目数、不读取文件内容,并通过 DSH 宿主接口打开文件。
GitHub 仓库:
https://github.com/brickmaker/dsh-workspace-files
插件线索给出的目录页:
https://www.skillhub.cn/plugins/brickmaker/dsh-workspace-files
该目录页 URL 来自插件线索,安装前请以仓库和安装渠道信息为准。