6Mikao9/dsh-wsl-workspace ↗★ 2
dsh-wsl-workspace
WSL workspace support for DeepSeek Harness: add a WSL workspace from the web GUI and run the whole agent session (bash + file tools) inside the WSL distribution, VS Code Remote-WSL style. No toolchain install inside WSL required.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:6Mikao9/dsh-wsl-workspace说明文档
阅读完整 README ↗dsh-wsl-workspace
English
在 DeepSeek Harness Web GUI 中「添加 WSL 工作区」:让 agent 会话的 bash 命令与文件读写都运行在本机 WSL 发行版里,路径均为 Linux 形式,WSL 内无需安装任何工具链。
安装
三种方式任选其一,然后重启 dsh web:
# 1) npm 包
dsh plugin --profile web add dsh-wsl-workspace
# 2) GitHub 仓库(仓库内已含预构建 lib/,无需本地构建)
dsh plugin --profile web add https://github.com/6Mikao9/dsh-wsl-workspace
# 3) 本地目录(开发/自用)
dsh plugin --profile web add D:\path\to\dsh-wsl-workspace
重启 dsh web 后,侧栏底部 Settings 旁出现 W 按钮。
使用
点侧栏底部 Settings 旁的 W 按钮,打开「添加 WSL 工作区」对话框。先从下拉框选择一个发行版,再浏览目录树或直接输入 Linux 绝对路径(如 /home/me/proj),可以点「检查」确认路径存在。对话框文案跟随 DSH 界面语言。用户名是可选项:留空则以该发行版的默认用户运行,填写该发行版里的某个 Linux 用户名则以该用户运行(等价于 wsl.exe -u )。用户名只影响 bash 命令的运行身份,文件工具通过 Windows 侧的 WSL 共享访问、不受其影响;每个工作区填写的用户名保存在 /wsl-workspaces.json,删除对应条目(或重开对话框重建工作区)即可恢复默认用户。
点「创建并打开」后,新会话随即运行在 WSL:bash 工具在所选发行版内执行命令,read/write/edit 读写 WSL 文件,模型看到的所有路径都是 Linux 形式。模式选择器照常可用——标准、PTC、极简、创造都会自动落到对应的 WSL 变体(选择器里的 WSL 变体条目为英文);会话内仍可通过 /mnt/(如 /mnt/c/Users/...)访问 Windows 文件。

行为与权限说明
- bash 工具:以配置的用户名在 WSL 发行版内运行(留空 = 发行版默认用户,通常为 root),可对发行版内任意路径读写。Windows 的 ACL 沙箱无法包裹
wsl.exe(子进程运行在 Linux 内核侧),WSL 自身即隔离边界,DSH 文件策略不作用于 bash。 - 文件工具(read/write/edit):经 Windows 侧的 WSL 9P 共享访问,受 DSH 文件策略约束。
workspace-write下读可到任意位置、写仅限会话工作区;改为danger-full-access后工作区外也可写入。用户名设置不影响文件工具。 wsl.exe在发行版尚未启动时向 stderr 打印的 localhost 端口转发提示(乱码但无害)可忽略。