前言¶
DeepSeek Harness (DSH) 採用插件化架構,通過擴展組件來增強核心能力。在 WSL(Windows Subsystem for Linux)環境中,開發者經常需要在 Linux 終端中與 Windows 桌面應用進行交互,例如調整窗口大小、激活特定應用或進行自動化操作。dsh-wsl-winctl 插件正是爲了解決這一痛點而生,它允許用戶通過 DSH 命令行直接與 Windows 頂級窗口通信。
插件定位¶
這是一個 DeepSeek Harness 插件,由用戶 173787247 維護。其核心功能是提供一套 API,使得 WSL 內部能夠枚舉 Windows 頂級窗口,並對它們執行激活、最小化、恢復、移動和調整大小等操作。它不依賴複雜的桌面環境,而是直接與 Windows 窗口管理器交互。
核心功能¶
該插件提供以下操作能力:
- 枚舉窗口:列出當前系統中的 Windows 頂級窗口。
- 窗口控制:執行激活、最小化和恢復操作。
- 窗口移動與調整:通過指定座標和尺寸來移動窗口或調整其大小。
安裝與啓用¶
在安裝之前,請確保你的環境滿足以下條件:
* 運行在 Windows 上的 WSL 環境。
* DeepSeek Harness 已在該環境中運行。
* 系統路徑中存在可訪問的 PowerShell。
執行以下命令安裝插件:
dsh plugin --profile web add github:173787247/dsh-wsl-winctl
典型用法¶
安裝完成後,可通過 win_windows 命令調用以下功能:
1. 列出當前所有窗口
win_windows action=windows
2. 激活包含特定標題的窗口
此操作通過窗口標題進行模糊匹配,而非依賴當前焦點。
win_windows action=activate titleContains="Notepad"
3. 移動並調整窗口大小
移動操作必須同時指定位置(x, y)和尺寸(width, height)。如果只指定位置或尺寸不完整,操作會被拒絕。
win_windows action=move pid=1234 x=0 y=0 width=1280 height=800
注意事項¶
- 目標指定機制:插件要求所有操作必須明確指定目標,只能通過
pid(進程 ID)或titleContains(標題包含關鍵字)來定位窗口。插件不會作用於當前焦點所在的窗口。 - Move 操作的完整性:
move操作拒絕“半猜測”的執行方式。如果未提供尺寸或尺寸爲負數,命令將直接失敗,要求使用者提供完整的位置和正尺寸參數。 - 兼容性:該插件版本爲 0.1.0,要求 DeepSeek Harness 版本不低於 0.1.2。
短結尾¶
該插件爲 WSL 用戶提供了標準化的窗口控制接口,適合需要自動化桌面交互或從 Linux 環境管理 Windows 應用的場景。其 MIT 許可證允許自由使用與修改。源碼及更多兼容性細節請參考其 GitHub 倉庫。