DeepSeek Harness 插件介紹:dsh-wsl-wininput(WSL 下的 Windows 輸入控制)

前言

在 DeepSeek Harness (DSH) 的插件生態中,擴展能力通常通過添加特定功能的插件來實現。對於需要在 WSL(Windows Subsystem for Linux)環境中運行的智能體或腳本,直接控制 Windows 桌面應用是一個常見需求。dsh-wsl-wininput 插件解決了這一痛點,它允許 WSL 中的進程通過 UI Automation 協議操作 Windows 界面。

插件簡介

dsh-wsl-wininput 是一個 DeepSeek Harness 插件,專注於從 WSL 環境向 Windows 窗口發送輸入信號。它主要提供三種操作能力:調用 UI Automation 元素、向指定窗口發送按鍵,以及在指定座標點擊。該插件運行在 WSL 內部,通過調用本地的 PowerShell 來實現與 Windows 的交互,不會搶奪當前窗口的焦點。

安裝與啓用

安裝該插件需要使用 DSH 的插件管理命令。在 WSL 終端中執行以下操作即可完成安裝:

dsh plugin --profile web add github:173787247/dsh-wsl-wininput

安裝完成後,即可在 DSH 的配置或腳本中調用該插件提供的 win_invoke 命令。

核心功能

該插件提供了以下四個核心能力:

  1. Invoke UI Automation 元素:直接激活特定的界面元素。
  2. Send keys to chosen window:向目標窗口發送文本輸入。
  3. Send clicks to chosen window:向目標窗口發送鼠標點擊。
  4. Target specific window by PID:通過進程 ID (PID) 精確鎖定操作目標窗口。

典型用法

使用 win_invoke 命令時,需要通過 action 參數指定具體行爲,通過 pid 參數指定目標窗口的進程 ID。

1. 調用界面元素
當需要點擊或激活某個按鈕時,必須指定元素的名稱和類型。expectName 是必填參數。

win_invoke action=invoke pid=1234 expectName="Save" expectType=Button

2. 向窗口輸入文本
在目標窗口中輸入指定字符串。

win_invoke action=type pid=1234 text="hello"

3. 在窗口指定座標點擊
通過 x 和 y 參數指定點擊位置。

win_invoke action=click pid=1234 x=100 y=40

注意事項

在使用該插件時,需要注意以下幾點以確保操作的準確性:

  • 元素匹配的唯一性:元素是通過名稱查找的,匹配結果必須是唯一的。如果未找到匹配元素(通常意味着元素已消失)或找到多個匹配項(通常意味着名稱過於寬泛),操作將被拒絕,而不是嘗試最佳匹配。
  • 參數依賴:在使用 invoke 操作時,expectName 是必填參數。
  • 窗口遍歷的穩定性:早期版本曾嘗試通過 UI Automation 樹的索引來定位元素,但測試發現對實時窗口進行多次遍歷時,索引位置可能會發生變化,導致誤操作。當前版本已移除對索引的依賴,改用更穩定的名稱匹配方式。

環境要求

該插件對運行環境有一定要求:

  • 操作系統:Windows 系統,且已安裝 WSL。
  • 運行環境:DeepSeek Harness 必須在 WSL 內部運行。
  • 依賴路徑:PowerShell 需要位於標準路徑下,插件會自動查找 PowerShell。

結語

dsh-wsl-wininput 插件爲在 WSL 中開發的智能體提供了基礎的 Windows 界面控制能力。通過 PID 定位窗口和 UI Automation 元素調用,開發者可以構建更復雜的自動化腳本。更多細節可參考插件目錄頁或 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜