前言¶
在 Windows 上用 DeepSeek Harness 做智能体开发,常见做法是开两个世界:DSH 跑在 Windows 侧,工具链和项目代码放在 WSL 里。要让 agent 真正在 Linux 环境里执行命令、读写文件,以往往往需要在 WSL 内再装一套 DSH,或者手动切换路径与终端,步骤多、上下文也容易断。
dsh-wsl-workspace 走另一条路:从 DSH Web 界面添加 WSL 工作区后,整段 agent 会话的 bash 与文件工具都落在所选 WSL 发行版内,路径统一为 Linux 形式,WSL 里无需再安装 DSH。下面介绍这个插件的定位、能力与用法。
这是什么¶
dsh-wsl-workspace 是社区维护的 DSH 客户端插件,维护者为 6Mikao9,当前版本 0.3.1,采用 MIT 许可证。它在 SkillHub 社区目录的分类为「客户端」,GitHub 仓库约 35 stars。
一句话定位:在 DeepSeek Harness Web GUI 中「添加 WSL 工作区」,让 agent 会话的 bash 命令与 read/write/edit 文件操作运行在本机 WSL 发行版里,体验接近 VS Code Remote-WSL,但 WSL 内不需要安装任何 DSH 组件或工具链。
核心功能¶
从 GUI 添加 WSL 工作区¶
安装并重启 dsh web 后,侧栏底部 Settings 旁会出现 W 按钮。点击后打开「添加 WSL 工作区」对话框:选择发行版、浏览目录树或输入 Linux 绝对路径(如 /home/me/proj),可用「检查」确认路径存在,再点「创建并打开」启动新会话。
整段会话运行在 WSL 内¶
新会话中:
- bash 工具在所选 WSL 发行版内执行命令,模型看到的路径均为 Linux 形式。
- 文件工具(
read/write/edit)读写 WSL 文件系统内的文件。 - 模式选择器照常可用:标准、PTC、极简、创造等模式会自动落到对应的 WSL 变体(选择器条目为中英双语,如
WSL · Standard mode(标准模式))。
同时访问 WSL 与 Windows¶
bash 在 WSL 发行版内执行;Windows 文件仍可通过 /mnt/<盘符> 访问,例如 /mnt/c/Users/...。两个系统的文件可以在同一会话里按需切换。
可选 Linux 用户名¶
对话框中的「用户名」为可选项:留空则以发行版默认用户运行;填写某个 Linux 用户名则等价于 wsl.exe -u <用户名>,仅影响 bash 的运行身份。每个工作区的用户名保存在 <dshHome>/wsl-workspaces.json。
安装与启用¶
任选以下一种方式安装,然后重启 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
重启后,侧栏底部 Settings 旁应出现 W 按钮。
典型用法¶
经过上面的安装步骤,按以下流程添加并打开一个 WSL 工作区:
- 点击侧栏底部的 W 按钮,打开「添加 WSL 工作区」对话框。
- 从下拉框选择 WSL 发行版(如 Ubuntu)。
- 浏览目录树,或直接输入 Linux 绝对路径,例如
/home/me/proj;点「检查」确认路径存在。 - (可选)填写 Linux 用户名;留空则使用发行版默认用户。
- 点「创建并打开」,新会话即在 WSL 内启动。
会话启动后,可以让 agent 在 WSL 路径下执行常规开发操作,例如查看项目结构、运行构建命令、编辑源码文件。需要访问 Windows 侧文件时,使用 /mnt/c/... 形式的路径即可。
行为与权限说明¶
安装前建议了解 bash 与文件工具的两套执行路径,避免对权限边界产生误解。
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 端口转发提示(可能显示为乱码)可忽略,不影响使用。
适用场景与注意¶
适合谁
- 在 Windows 上用 DSH 开发,但项目代码、构建工具、运行时环境都在 WSL 里的开发者。
- 希望 agent 直接在 Linux 路径下工作,又不想在 WSL 内重复安装 DSH 的用户。
- 需要在同一会话里同时操作 WSL 项目目录和 Windows 侧文件的场景。
安装前注意
- 插件以当前
dsh进程的权限运行,安装前应阅读 GitHub 仓库 源码与 MIT 许可证(含 NOTICE 中的出处说明)。 - 需要已安装并配置好 WSL,且目标发行版可正常通过
wsl.exe启动。 - 本插件面向 DSH Web 客户端(
--profile web),安装后需重启dsh web才能生效。
SkillHub 是 DSH 社区插件目录,与 DeepSeek / 幻方无官方从属关系;插件均遵循 DSH「一切皆插件」的生态理念,由社区独立维护。