前言¶
在 WSL 中运行 DSH 智能体时,一个具体问题是:智能体的 shell 和文件视图通常在 Linux 侧,而要处理的文件、程序或打开动作可能位于 Windows 侧。
例如,需要读取 C:\... 下的文本文件、执行 Windows 程序、用默认程序打开文件或文件夹、列出 Windows 驱动器,以及在 C:\... 与 /mnt/c/... 之间转换路径。dsh-wsl-bridge 把这些操作整理为一组 DSH 工具接口,减少在智能体提示词或脚本里反复拼接 cmd、powershell、wslpath 的负担。
这是什么¶
dsh-wsl-bridge 是一个 DSH(DeepSeek Harness)插件。仓库路径为 ch1bug/dsh-wsl-bridge,package.json 中包名为 dsh-wsl-bridge。
它面向运行在 WSL 中、需要访问 Windows host 的智能体,提供 Windows 目录列表、文本文件读取、UTF-8 文本写入、Windows 程序执行、默认程序打开、路径转换和驱动器列表等能力。README 将其描述为 Cordis plugin,许可证为 MIT。
核心工具¶
已核实的工具包括:
win_ls:列出 Windows 目录。可接受C:\...或/mnt/c/...形式。win_read:读取 Windows 文本文件。支持utf8/gbk,并支持 line offset/limit。win_write:向 Windows 文件写入 UTF-8 文本。会创建父目录。win_run:运行 Windows 程序。可使用cmd、powershell或 direct interop。win_open:用默认 Windows handler 打开文件或文件夹。win_path:在C:\...与/mnt/c/...之间转换路径。使用wslpath。win_drives:列出已挂载的 Windows 驱动器。
另外,如果环境中已安装 codebase-memory-mcp,还可以启用:
codebase_search:基于知识图谱的代码检索。codebase_arch:基于知识图谱的代码检索。
这两个工具依赖外部二进制。如果未安装,相关工具会报错。
安装与启用¶
安装前需要满足两个条件:
- WSL 启用了 Windows interop,
cmd.exe、powershell.exe、wslpath、explorer.exe可达。README 称这在 WSL1/WSL2 中通常是标准可用的。 - DSH 宿主具备
shell和sandboxPolicy服务。
使用 DSH 插件命令安装:
dsh plugin --profile web add /path/to/dsh-wsl-bridge
安装后重启 dsh web,工具会自动挂载。
package.json 将 @deepseek-ai/dsh-tools 声明为 peerDependencies:
{
"peerDependencies": {
"@deepseek-ai/dsh-tools": "*"
}
}
如果要启用 codebase-memory 相关工具,可以设置 CODEBASE_MEMORY_BIN。默认路径为:
/usr/local/bin/codebase-memory-mcp
典型用法¶
以下按工具说明。具体参数以 DSH 工具调用接口和插件实现为准。
- 查看目录
调用 win_ls,传入 Windows 目录路径。路径可以是:
C:\Users\me
也可以是:
/mnt/c/Users/me
- 读取文本文件
调用 win_read,指定编码为 utf8 或 gbk。如果需要只读取部分行,可以使用 line offset/limit。
- 写入文本文件
调用 win_write,写入 UTF-8 文本。该工具会创建目标文件所需的父目录。
- 运行 Windows 程序
调用 win_run,可选择 cmd、powershell 或 direct interop 方式执行。README 说明它会写临时 .bat / .ps1 文件到:
C:\Windows\Temp
并在执行后清理这些临时文件。
- 打开文件或文件夹
调用 win_open,使用默认 Windows handler 打开目标文件或文件夹。
- 转换路径
调用 win_path,在 C:\... 与 /mnt/c/... 之间转换。底层使用 wslpath。
- 列出驱动器
调用 win_drives,列出已挂载的 Windows 驱动器。
- 使用可选代码检索
如果 codebase-memory-mcp 已安装,可以调用 codebase_search 和 codebase_arch。如果未安装,这些工具会报错。需要自定义二进制路径时,设置:
CODEBASE_MEMORY_BIN=/usr/local/bin/codebase-memory-mcp
适用场景与注意¶
适合以下场景:
- DSH 智能体运行在 WSL 内,但需要读取、写入或列出 Windows 侧文件。
- 智能体需要执行 Windows 程序,而不是只操作 Linux 侧进程。
- 需要在 Linux 路径形式
C:盘路径形式C:\...和/mnt/c/...之间做转换。 - 需要调用默认 Windows 程序打开文件或文件夹。
注意:
- 这些工具会访问 Windows 侧资源,并且通过 DSH 宿主服务执行。安装前建议把插件视为以当前 DSH 进程权限运行的能力,先审查源码、依赖和 MIT 许可证。
- 每次调用会应用当前会话的 sandbox policy。
win_run会在 Windows 临时目录创建脚本文件,并依赖执行后清理。codebase_search和codebase_arch不是默认独立可用,依赖codebase-memory-mcp。- 该插件不替代完整的 Windows 自动化框架,它提供的是 DSH 智能体可调用的一组 Windows 访问工具。
链接¶
- GitHub:https://github.com/ch1bug/dsh-wsl-bridge
- 插件目录:请在你使用的 DSH 插件目录站点中搜索
dsh-wsl-bridge;本文未提供固定目录页 URL。