前言¶
DSH Web 的“新增工作区”需要在浏览器里完成目录选择。通过 nginx 反代、公网域名或局域网 IP 访问 DSH Web 时,这个选择动作可能无法在远程浏览器中正常使用。
dsh-remote-dirpicker 的作用是固定使用浏览器内目录浏览器(browse)交互,让远程访问和本机访问使用同一套目录选择方式。
下面介绍它的定位、核心功能、安装方式、典型用法,以及版本、权限和卸载注意事项。
这是什么¶
dsh-remote-dirpicker 是一个 MIT 许可证的 DSH 插件,用于 DSH Web 的“新增工作区”目录选择。
它通过组合层 patch 调整 DSH 插件组合,不修改 dsh 核心代码。具体做法是停用 directory-picker-auto,挂载 browse 宿主能力与浏览器界面,使目录选择以浏览器内 browse 方式呈现。
仓库地址:
https://github.com/gfds2005/dsh-remote-dir-picker
核心功能¶
这个插件的已核实能力包括:
- 固定使用浏览器内目录浏览器(
browse)交互,本地与远程表现一致。 - 远程访问时,点击“新增工作区”可弹出浏览器内目录浏览器。
- 支持浏览宿主文件系统,包括面包屑导航、逐级进入。
- 支持输入绝对路径跳转。
- 支持编辑路径。
- 支持显示 / 隐藏隐藏文件。
- 支持新建文件夹后立即进入。
- 本机访问同样使用浏览器内目录浏览器,不再弹出原生对话框。
- 通过
host.listDirectory/host.createDirectoryRPC 提供目录列表与新建文件夹。 - 宿主半边在启动时检查
directoryPicker能力为browse,并打印确认信息。
安装与启用¶
安装前先确认目标 DSH 环境已经可以运行 dsh 命令。下面示例使用 web profile。
从 npm 安装¶
dsh plugin --profile web add dsh-remote-dirpicker
从源码安装¶
dsh plugin --profile web add /绝对/路径/dsh-remote-dirpicker
安装后检查¶
安装后,dsh.profile.bundles 会追加 dsh-remote-dirpicker 一行。
bundle 组合变更在启动时读取,所以安装后必须重启 dsh web。
典型用法¶
经过上面的安装和重启后,可以按下面的步骤使用:
- 打开 DSH Web,进入工作区选择。
- 点击“新增工作区”。
- 在浏览器内目录浏览器中浏览目录、输入绝对路径、编辑路径、新建文件夹。
- 点击“打开”创建工作区。
验证¶
安装并重启 dsh web 后,可检查以下两项:
- boot manifest 包含:
@deepseek-ai/dsh-client-ui-directory-picker-browse
- browse 客户端 bundle
client.js可访问,并返回200。
卸载¶
如果需要恢复原有行为,执行:
dsh plugin --profile web remove dsh-remote-dirpicker
卸载后重启 dsh web,即恢复 dsh 默认的 directory-picker-auto 行为。
适用场景与注意¶
适用场景¶
适合通过 nginx 反代、公网域名、局域网 IP 访问 DSH Web 的场景。
目标平台为 DSH Web 宿主(macOS / Linux / Windows),目录浏览跨平台。
版本信息¶
已核实资料中的版本信息如下:
package.json中version为:
"version": "0.1.1"
- README 版本记录:
0.2.0已废弃并回退至0.1.0,建议始终使用0.1.0或更高稳定版本。
依赖声明¶
package.json 中的 peerDependencies 声明如下:
{
"peerDependencies": {
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-workspace": "^0.1.0-rc.6",
"@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.0-rc.6",
"@deepseek-ai/cordis": "^4.0.1"
}
}
权限与安全¶
browse 能力仅通过 dsh 自身 RPC 通道暴露,遵循 dsh 现有访问控制,不引入额外开放端口。
由于目录浏览会访问宿主文件系统,插件以当前 dsh 进程权限运行。安装前应先检查源码与许可证。
结尾¶
dsh-remote-dirpicker 的价值在于把 DSH Web 的“新增工作区”目录选择固定到浏览器内,使远程访问和本机访问表现一致,同时保持不修改 dsh 核心代码的组合层方式。
GitHub:
https://github.com/gfds2005/dsh-remote-dir-picker