前言¶
DeepSeek Harness (DSH) 是一个插件化的智能体运行框架。在 Windows 环境下开发 WSL 项目时,通常需要解决环境切换的问题。这个插件通过将 Harness 进程保持在 Windows,而将执行环境迁移到 WSL 2 发行版,实现了在同一个进程中同时处理 Windows 和 Linux 路径的能力。
核心功能¶
这是一个由 Big-Dao 维护的 DeepSeek Harness 插件。它允许在 Windows 上运行的 Harness 会话进入 WSL 2 发行版,提供真实的 Linux 登录 shell 环境,并默认使用 bubblewrap 进行沙箱隔离。
主要功能包括:
* WSL 2 会话运行:在 Windows 的 Harness 进程中运行一个会话,该会话位于 WSL 2 发行版内。
* 真实 Linux 环境:使用发行版的登录 shell 执行命令,保留其 PATH、nvm、pyenv 等配置和 rc 文件。
* 沙箱隔离:默认使用 bubblewrap 对命令进行隔离。
* GUI 集成:文件夹选择器可列出已安装的发行版,终端在发行版中打开。
* 会话级支持:同一个 Harness 进程可以同时处理 Windows 文件夹和 WSL 文件夹。
安装与启用¶
安装该插件需要 Windows 10 或 11,以及已安装的 WSL 2 发行版。发行版内必须安装 bubblewrap。
- 在 Windows 终端中执行安装命令:
dsh plugin --profile wsl add dsh-plugin-wsl-env
- 在发行版中安装
bubblewrap(以 Ubuntu 为例):
wsl.exe -d ubuntu -u root -- apt-get install -y bubblewrap
- 安装后,使用
--profile wsl启动 Harness。
典型用法¶
- 打开发行版目录:在 Harness 的文件夹选择器中打开一个 WSL 发行版路径,例如
\\wsl.localhost\ubuntu\home\you\project。即使该发行版不是默认发行版,也会在此环境中运行。 - 命令执行:所有命令都在发行版的登录 shell 中执行。路径
/home/you/x与\\wsl.localhost\ubuntu\home\you\x指向同一文件。 - 新终端:打开新终端时,会自动在相同发行版和目录下启动一个 shell。
- 端口监听:模型可以看到监听端口,并返回开发服务器的 URL(WSL 2 会将 localhost 转发到 Windows)。
适用场景与注意¶
- 环境要求:仅支持 Windows + WSL 2。
- 依赖检查:发行版内不需要 Node.js。
- 沙箱配置:默认的会话沙箱需要发行版启用
systemd(在/etc/wsl.conf中设置systemd=true并重启 WSL)。如果禁用了 systemd,需要在配置中设置sessionSandbox: false。 - 安全与隔离:发行版内不运行辅助服务器、守护进程或监听端口。受限命令使用
bubblewrap运行。
该插件通过将 Shell 语义与 Linux 工具链对齐,减少了模型在 Windows 和 Linux 之间的切换成本。