Web UI 增强版工作区目录选择器:WSL 下 /mnt Windows 盘符一键直达、完整面包屑层级与常显路径输入框。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-wsl-workspace-picker
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:WilliamShi666/dsh-wsl-workspace-picker
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness Web UI 增强版工作区目录选择器:一键直达 /mnt Windows 盘符、从文件系统根目录开始的完整面包屑、常显路径输入框。
| English |
截图

增强版"选择工作区目录"对话框:顶部为 /mnt Windows 盘符快捷访问行、常显路径输入框、从 / 开始的完整面包屑。
为什么需要它
DSH 自带的目录选择对话框(侧边栏工作区"+"按钮和对话页工作区选择器背后的对话框)默认打开 Linux 主目录,并且面包屑在"主目录"处截断。在 WSL 下,Windows 盘位于 /mnt/c、/mnt/d……只能通过面包屑旁一个极不显眼的铅笔图标输入路径才能到达——大多数用户根本找不到它,面包屑也永远点不到 /mnt。
本插件以单栏浏览器遮蔽(shadow)原版对话框,让所有路径都触手可及:
- 快捷访问行 — 主目录、
/,以及主机上实际存在的挂载点:WSL 的/mntWindows 盘符或 macOS 的/Volumes外接卷,打开对话框时自动发现,一键直达。 - 常显路径输入框 — 直接输入绝对路径(如
/mnt/d/projects)回车跳转。 - 从
/开始的完整面包屑 — 整个文件系统上下点击,不再被主目录截断。 - 新建文件夹 和 显示隐藏文件 开关,与原版一致。
安装
dsh plugin --profile web add dsh-wsl-workspace-picker
重启 dsh web 并刷新浏览器页面。通过侧边栏工作区"+"按钮(或对话页工作区选择器)打开选择器,即可看到增强版对话框。
卸载:
dsh plugin --profile web remove dsh-wsl-workspace-picker
工作原理
本插件(dual-face 包)的浏览器半注册到两个 directoryFlow 槽位(sidebar.workspaces.directoryFlow 与 conversation.hero.workspace.directoryFlow),槽位优先级 −10。DSH 槽位系统是遮蔽制:同槽位中优先级最低的 occupant 生效,因此 −10 会替换原版浏览对话框(优先级 0)。原版插件保持加载、不受影响,卸载本插件即可还原。
目录列表复用 host 端现有的 browse 能力(经客户端运行时 ctx.workspaces.listDirectory / createDirectory)——无任何 host 侧代码,不自行访问文件系统。
dsh-wsl-workspace-picker/
├── package.json # dsh.bundle.patch + dsh.client(dual-face 声明)
├── cordis.patch.yml # loader 条目插入
├── scripts/build.mjs # ESBuild:src/ → lib/
├── src/
│ ├── client.tsx # 浏览器半(TypeScript 源码)
│ ├── styles.ts # 对话框样式 + 注入
│ └── index.ts # host 半(空 apply)
└── lib/
├── index.js # host 半(构建产物)
└── client.js # 浏览器半(构建产物:__ModuleLoader__ bundle)
浏览器半使用 TypeScript 编写,由 ESBuild 编译(npm run build)。运行时依赖(react、react/jsx-runtime、@deepseek-ai/dsh-client-ui-primitives 等)保持 external,加载时经 web shell 模块表解析,与官方 client bundle 一致。npm run typecheck 执行 tsc --noEmit 类型检查。
兼容性
- DeepSeek Harness
0.1.0-rc.6及以上(web profile) - 任何有挂载目录需要访问的主机:WSL(Windows 盘出现在
/mnt下)、macOS(外接硬盘和镜像出现在/Volumes下),或在这两个根下有 bind mount 的普通 Linux - 语言:English、简体中文(跟随 UI 语言)
安全与范围
纯 UI 插件。无 host 侧行为、不发起任何网络连接,仅通过原版对话框同款的 host browse 能力列目录/建目录,受当前 profile 的文件沙箱策略约束。
许可证
MIT
链接
同类插件
6Mikao9/dsh-wsl-workspace★ 66
从 Web GUI 添加 WSL 工作区,无需在 WSL 之中再次安装 dsh 以及相关工具,bash 命令与文件读写运行在本机 WSL 发行版内,Windows 文件仍可访问。
173787247/dsh-wsl-open★ 3
把 DeepSeek Harness 聊天里的 WSL Linux 路径在 Windows 默认程序或资源管理器中打开。
173787247/dsh-wsl-env★ 2
向 system prompt 注入 WSL 发行版、Linux 路径映射、/mnt/c 的 CRLF 与 git 注意点,以及 NODE_USE_ENV_PROXY。
173787247/dsh-wsl-net★ 2
提供 net_doctor 工具,报告代理环境、NODE_USE_ENV_PROXY,以及 DeepSeek API 与 npm registry 的连通性,并为 bash 和 npm 子进程设置 NODE_USE_ENV_PROXY。
Edge-Echo/dsh-win-toolkit★ 2
面向 DSH agent 的 Windows 原生工具:剪贴板读写、系统通知、hosts 文件查看与网络诊断,均返回结构化数据(带 UI 卡片),底层为防注入的 PowerShell。
liyu34/dsh-wsl-tray★ 2
为运行在 WSL 的 DSH 提供 Windows 桌面快捷方式和系统托盘启动器:完全隐藏启动,托盘菜单支持打开/重启/退出,插件配置页可管理快捷方式。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。