前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在通過擴展組件增強核心功能。在 Windows 環境下開發時,開發者往往需要在 Windows 原生工具與 Linux 依賴之間頻繁切換,這通常涉及打開多個窗口或共享上下文,降低了操作連貫性。dsh-wsl-native 插件針對這一場景,試圖在同一個 DSH 桌面窗口中實現 Windows 與原生 Linux 的並存與互通。
插件簡介¶
dsh-wsl-native 是一個由 Han-1413141 維護的客戶端插件。它允許 DSH 窗口承載 Windows 和原生 Linux 兩種對話環境,支持環境切換、標誌管理以及雙向系統互操作。該插件適配 DeepSeek Harness 0.2.0-rc.2 及以上版本。
核心功能¶
插件通過常駐進程通信實現環境隔離與協作,主要能力包括:
* 進程複用與環境隔離:複用 Windows 和 Linux 的常駐工作進程,併發命令各自使用明確的目錄和環境變量。
* 雙向執行:支持雙向執行 Bash、PowerShell 或程序參數數組,超時和取消操作能正確回收子進程樹。
* 原生文件系統操作:原生列目錄、分頁讀取 UTF-8/GB18030 文本、原子寫入,保留符號鏈接,並支持舊文件 SHA-256 衝突檢查。
* 文件傳輸:在兩端分塊複製二進制文件,校驗 SHA-256 後提交,中斷時自動清理臨時文件。
* 路徑轉換:自動轉換盤符、Linux 路徑和 WSL UNC 路徑,使用發行版實際的 wslpath。
* 任務管理:支持啓動、查看和取消後臺任務,連接結束時回收所屬任務。
* 剪貼板與交互:支持在 Windows 打開文件/目錄/網頁以及讀寫文本剪貼板。
* 獨立 Linux DSH:可安裝、啓動和停止獨立的 Linux DSH 實例,同一數據目錄的多個啓動器互斥。
* 會話持久化:按環境保存用戶、目錄和最近項目,進入項目時恢復會話,在途命令和任務固定到原環境。
安裝與啓用¶
安裝前需確保系統已安裝 Windows、WSL 2 發行版(如 Ubuntu),且兩端均可訪問 Node.js(版本需爲 22.19+ 或 24+,Linux 端必須是 Linux Node)。
使用官方提供的安裝命令添加插件:
dsh plugin --profile desktop add https://github.com/Han-1413141/dsh-wsl-native/releases/download/v0.7.0/dsh-wsl-native-0.7.0.tgz
安裝後,在桌面端配置中查找 WSL 與 Windows 入口。若當前窗口未顯示,可退出並重新打開 DSH。該命令支持 desktop 和 web 兩種配置文件。
典型用法¶
插件提供了 wsl_native_ 前綴的工具接口,可直接在對話中調用:
-
執行命令:在 Ubuntu 的指定目錄運行項目檢查。
> 使用wsl_native_exec,在 Ubuntu 的/home/codex/project運行項目檢查,返回退出碼和錯誤信息。 -
文件複製:在 Windows 和 Linux 之間傳輸文件,支持跳過覆蓋。
> 使用wsl_native_copy,把 Ubuntu 的/home/codex/project/report.pdf複製到C:\Users\me\Desktop\report.pdf,已有文件先不要覆蓋。 -
跨環境查詢:在 Linux 環境中訪問 Windows 資源。
> 當前 DSH 在 WSL 中運行。使用wsl_native_exec的 windows 目標,查詢 Windows 中的 Node.js 版本。
適用場景與注意¶
- 適用場景:適合需要在同一窗口內同時使用 Windows 工具鏈和 Linux 開發環境的開發者,特別是涉及 Node.js 跨平臺開發、WSL 依賴構建或混合環境部署的場景。
- 注意:
- 本項目爲獨立社區插件,遵循 MIT 許可證,並非 DeepSeek 或 Microsoft 的官方產品。
- Linux 端必須是 Linux Node,不能指向掛載盤上的
node.exe。 - 環境繼承差異:直接運行 CLI 時沒有主 DSH 配置上下文,不會自動繼承主環境插件和設置;從 Windows DSH 插件入口啓動則默認繼承主環境插件、設置和模型賬號。兩種入口均不復制歷史會話。
- 安裝時建議先檢查源碼與許可證,確保符合項目使用規範。
結語¶
dsh-wsl-native 插件通過複用進程和原生接口,降低了 Windows 與 Linux 環境切換的交互成本。對於追求終端一體化體驗的開發者,它提供了一個可行的技術方案。更多詳細文檔、驗證報告及源碼,可參考項目目錄或 GitHub 倉庫。