dsh-wsl-bridge:讓 WSL 裏的 DSH 智能體訪問 Windows 側文件與程序

前言

在 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:基於知識圖譜的代碼檢索。

這兩個工具依賴外部二進制。如果未安裝,相關工具會報錯。

安裝與啓用

安裝前需要滿足兩個條件:

  1. WSL 啓用了 Windows interop,cmd.exe、powershell.exe、wslpath、explorer.exe 可達。README 稱這在 WSL1/WSL2 中通常是標準可用的。
  2. 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 工具調用接口和插件實現爲準。

  1. 查看目錄

調用 win_ls,傳入 Windows 目錄路徑。路徑可以是:

   C:\Users\me

也可以是:

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

調用 win_read,指定編碼爲 utf8 或 gbk。如果需要只讀取部分行,可以使用 line offset/limit。

  1. 寫入文本文件

調用 win_write,寫入 UTF-8 文本。該工具會創建目標文件所需的父目錄。

  1. 運行 Windows 程序

調用 win_run,可選擇 cmd、powershell 或 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_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。
羽毛球分组比赛记分
小程序二维码

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

小夜