YooRarely/dsh-open-explorer
添加快速打开本地资源管理器的按钮
已收录
2
Ui
Bundle 已验证
预览
功能介绍
在 DSH 会话标题和工作区菜单中添加按钮,用系统文件管理器打开当前 Workspace 根目录。
适合
- 经常需要在宿主机文件管理器中打开 Workspace 根目录的本地 DSH Web 用户。
- 使用 Windows、macOS、带桌面环境的 Linux,或可访问 Windows 桌面的 WSL 工作流。
- 希望同时从会话标题栏和工作区菜单进入目录的用户。
不适合
- 通过远程浏览器访问且希望目录在客户端电脑打开的用户不适合;目录会在 DSH 宿主机上打开。
- 没有可用桌面文件管理器的无头 Linux 或 WSL 环境不适合。
- 需要打开指定文件或子目录而非 Workspace 根目录的用户不适合。
- 只依赖工作区菜单入口的部署需谨慎;DSH UI 的 ARIA 语义变化后该入口可能消失,但标题栏按钮仍可用。
README
dsh-open-explorer
为 DeepSeek Harness(DSH) Web GUI 提供便捷的 Workspace 文件夹打开入口。
dsh-open-explorer 会在 DSH 会话标题右侧提供文件夹按钮。点击后,插件通过 DSH 的公开 Client Connection Host RPC,请求运行 DSH 的主机直接打开当前 Workspace 根目录。
界面
| 工作区菜单 | 会话标题按钮 |
|---|---|
![]() |
![]() |
功能
- 在工作区右侧的
...菜单中添加“在资源管理器中打开”。 - 在当前会话标题右侧提供文件夹按钮。
- 打开当前 Workspace 根目录,而不是某个单独文件。
- 不修改或依赖 DSH 源码;只使用公开的 Client Connection Host RPC 和 Header Slot。
- 直接请求 Host 的原生打开能力,不会被可选的内置侧边栏路径拦截。
- 支持 Windows、macOS、Linux 和 WSL 的系统目录打开方式。
- 针对当前 npm DSH 的工作区点点点菜单,使用基于 ARIA 语义的浏览器兼容适配,将“在资源管理器中打开”插入现有菜单;适配失效时仍保留标题栏按钮。
工作区菜单兼容适配
当前 npm DSH 版本没有公开的工作区菜单 Slot,菜单由 DSH 自己渲染。插件不会替换整个工作区区域,也不依赖 DSH 私有 React 组件,而是识别公开 DOM 语义(工作区 treeitem、工作区操作按钮和 menuitem),在当前菜单打开时添加一个可撤销的菜单项。
这是一层针对当前 npm DSH 菜单语义的防御性适配:如果未来 DSH 改变这些 ARIA 语义,菜单项会安全地不显示,但标题栏按钮仍可使用。
安装
dsh plugin --profile web add github:YooRarely/dsh-open-explorer
安装完成后重启 dsh web:
dsh web
然后刷新浏览器页面即可使用。
如果你是从 DeepSeek Harness 源码运行:
pnpm dsh plugin --profile web add github:YooRarely/dsh-open-explorer
pnpm dsh web
本地开发
dsh plugin --profile web add <path-to-this-checkout>
本地修改后重启 dsh web,以加载最新的插件代码。
使用
- 打开 DeepSeek Harness Web 界面。
- 进入一个已经关联 Workspace 的会话。
- 点击会话标题右侧的文件夹按钮。
- 系统文件管理器会打开该 Workspace 的根目录。
支持的平台
| 平台 | 打开方式 | 条件 |
|---|---|---|
| Windows | 文件资源管理器 | 无额外配置 |
| macOS | 系统默认目录打开器 | 无额外配置 |
| Linux | xdg-open |
需要桌面环境 |
| WSL | 转换为 Windows 路径后打开 | 需要可用的 Windows 桌面 |
如果通过远程浏览器访问 DSH,目录会在运行 DSH 的主机上打开,而不是浏览器所在电脑上。
本插件只依赖公开的会话标题 Header Slot 和 Client Connection Host RPC,不需要修改或启动 DeepSeek Harness 源码。
开发检查
本插件的浏览器 bundle 已直接提交为 client.js,无需构建工具。提交前运行:
npm test
目录
dsh-open-explorer/
├── assets/ # README 界面截图
├── client.js # Web GUI 插件代码
├── index.js # Host 插件入口
├── cordis.patch.yml # profile 挂载配置
├── package.json # 插件声明
└── README.md
License
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:YooRarely/dsh-open-explorer。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。

