DeepSeek Harness (DSH) 插件:dsh-wsl

前言

在 DeepSeek Harness (DSH) 的使用場景中,模型代理經常需要執行 Linux 命令。傳統的做法通常是編寫 .sh 腳本或 pwsh 包裝器。dsh-wsl 插件解決了這個問題,它允許模型代理直接通過 wsl.exe 運行 Linux 命令,無需手寫腳本。它在命令執行層面匹配原生 Linux DSH 的行爲,包括真實的 Linux 內核和 bash 環境、退出碼與信號處理、超時機制、輸出截斷以及後臺作業管理。

插件介紹

該插件是面向模型的 WSL 工具插件,旨在簡化 Windows 環境下的 Linux 命令執行流程。

  • 插件名稱:dsh-wsl(倉庫)/ dsh-wsl-tool(NPM 包名)
  • 維護者:XINY11451
  • 類別:聯網工具
  • 開源協議:MIT

安裝

通過 DSH 的插件管理器安裝:

dsh plugin add --profile <profile> dsh-wsl-tool

安裝後,插件會在 Bundle 加載時自動註冊 tool-wsl。不要在預設(preset)中手動列出 tool-wsl,因爲 DSH 已經在全局範圍內註冊了該工具,重複註冊會導致錯誤。

核心功能

插件註冊了三個工具,分別用於命令執行、路徑轉換和環境探測。

1. wsl:運行 Linux 命令

通過調用 wsl.exe 執行命令。默認行爲等同於在 WSL 中直接運行。

  • 命令格式:wsl.exe [-d <distro>] -e bash -lc "cd <workdir> && <command>"
  • 返回內容:包含 stdout、stderr 以及退出碼、超時或截斷標記。
  • 長腳本支持:如果命令長度超過 Windows 命令行限制(32767 字符),內容會通過 stdin 傳遞給 wsl.exe,避免截斷。
  • 後臺作業:設置 runInBackground: true 可以將命令作爲後臺任務運行,返回任務 ID,需配合 @deepseek-ai/dsh-tool-jobs 預設使用。

2. wsl-path:路徑轉換

利用 wslpath 工具在 Windows 和 WSL 路徑之間轉換。

  • 自動檢測:根據路徑格式自動判斷轉換方向。
  • 手動指定:通過 direction: 'win' | 'linux' 強制指定方向。
  • 示例:C:\Users\me\a.txt -> /mnt/c/Users/me/a.txt

3. wsl-env:環境摘要

探測並返回 WSL 環境的詳細信息,幫助代理在執行前判斷環境能力。

  • 信息項:發行版列表、內核版本、架構、CPU 核心數、內存和磁盤使用量、systemd 狀態、Docker 安裝情況、GPU 直通狀態、掛載驅動等。
  • 容錯性:未探測到的項會顯示爲空或特定狀態(如 docker: not installed)。

典型用法

執行 Linux 命令

wsl command: "echo hello"

執行後返回類似 [exit code: 0] 的結果。

轉換路徑

wsl-path C:\Users\me\project

返回:/mnt/c/Users/me/project

獲取環境信息

wsl-env

返回包含內核版本、CPU 核心數、內存狀態、驅動掛載點等信息的摘要。

注意事項與限制

  1. 沙箱限制:wsl 調用運行在 DSH 沙箱之下,這意味着文件策略無法限制該插件的執行,必須依賴系統層面的權限控制。
  2. 文件系統語義:如果項目位於 Windows 驅動器(如 C: 或 D:)上,文件系統保持 Windows 語義。這包括不區分大小寫、無 POSIX 權限以及無文件變更通知,且訪問速度較慢。
  3. 後臺作業依賴:使用後臺作業功能時,必須在預設的 Composition 中包含 @deepseek-ai/dsh-tool-jobs,否則調用會失敗。
  4. 註冊衝突:如前所述,不要在預設中手動註冊 tool-wsl,否則會報錯 tool "wsl" is already registered in this scope。

結語

dsh-wsl 爲 DeepSeek Harness 提供了原生的 Linux 命令執行能力。通過直接調用 wsl.exe,它減少了開發者在腳本包裝上的工作,並提供了標準化的環境探測能力。在使用時,需注意其運行在 DSH 沙箱之下以及 Windows 驅動器上的文件系統限制。

  • 目錄頁:https://www.skillhub.cn/plugins/XINY11451/dsh-wsl
  • GitHub 倉庫:https://github.com/XINY11451/dsh-wsl
羽毛球分组比赛记分
小程序二维码

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

小夜