dsh-wsl-bridge:让 WSL 里的 DSH 智能体访问 Windows 侧文件与程序

前言

在 WSL 中运行 DSH 智能体时,一个具体问题是:智能体的 shell 和文件视图通常在 Linux 侧,而要处理的文件、程序或打开动作可能位于 Windows 侧。

例如,需要读取 C:\... 下的文本文件、执行 Windows 程序、用默认程序打开文件或文件夹、列出 Windows 驱动器,以及在 C:\.../mnt/c/... 之间转换路径。dsh-wsl-bridge 把这些操作整理为一组 DSH 工具接口,减少在智能体提示词或脚本里反复拼接 cmdpowershellwslpath 的负担。

这是什么

dsh-wsl-bridge 是一个 DSH(DeepSeek Harness)插件。仓库路径为 ch1bug/dsh-wsl-bridgepackage.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 程序。可使用 cmdpowershell 或 direct interop。
  • win_open:用默认 Windows handler 打开文件或文件夹。
  • win_path:在 C:\.../mnt/c/... 之间转换路径。使用 wslpath
  • win_drives:列出已挂载的 Windows 驱动器。

另外,如果环境中已安装 codebase-memory-mcp,还可以启用:

  • codebase_search:基于知识图谱的代码检索。
  • codebase_arch:基于知识图谱的代码检索。

这两个工具依赖外部二进制。如果未安装,相关工具会报错。

安装与启用

安装前需要满足两个条件:

  1. WSL 启用了 Windows interop,cmd.exepowershell.exewslpathexplorer.exe 可达。README 称这在 WSL1/WSL2 中通常是标准可用的。
  2. DSH 宿主具备 shellsandboxPolicy 服务。

使用 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 工具调用接口和插件实现为准。

  1. 查看目录

调用 win_ls,传入 Windows 目录路径。路径可以是:

   C:\Users\me

也可以是:

   /mnt/c/Users/me
  1. 读取文本文件

调用 win_read,指定编码为 utf8gbk。如果需要只读取部分行,可以使用 line offset/limit。

  1. 写入文本文件

调用 win_write,写入 UTF-8 文本。该工具会创建目标文件所需的父目录。

  1. 运行 Windows 程序

调用 win_run,可选择 cmdpowershell 或 direct interop 方式执行。README 说明它会写临时 .bat / .ps1 文件到:

   C:\Windows\Temp

并在执行后清理这些临时文件。

  1. 打开文件或文件夹

调用 win_open,使用默认 Windows handler 打开目标文件或文件夹。

  1. 转换路径

调用 win_path,在 C:\.../mnt/c/... 之间转换。底层使用 wslpath

  1. 列出驱动器

调用 win_drives,列出已挂载的 Windows 驱动器。

  1. 使用可选代码检索

如果 codebase-memory-mcp 已安装,可以调用 codebase_searchcodebase_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_searchcodebase_arch 不是默认独立可用,依赖 codebase-memory-mcp
  • 该插件不替代完整的 Windows 自动化框架,它提供的是 DSH 智能体可调用的一组 Windows 访问工具。

链接

  • GitHub:https://github.com/ch1bug/dsh-wsl-bridge
  • 插件目录:请在你使用的 DSH 插件目录站点中搜索 dsh-wsl-bridge;本文未提供固定目录页 URL。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜