前言¶
在 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。