前言¶
在 DSH 裏做 Agent 自動化,遇到 Windows 桌面程序時常見的問題是:Agent 能讀寫文件、能跑命令,但拿不到窗口裏的內容,也沒法代替人點擊和輸入。拼腳本可以解決一部分,但每套界面寫一套自動化很容易脆。這個插件把這件事作爲一個 DSH 插件提供:左側欄加一個「電腦」頁,Agent 通過它觀察窗口並對窗口操作。
它由 Kinfxhk 維護,分類是工作流,許可證 MIT,倉庫地址 https://github.com/Kinfxhk/dsh-computer-use 。下面是已覈實的內容,文中命令和路徑均來自插件 README 與 package.json。
它是什麼¶
一句話:這是一個 Windows 限定的 DSH 插件,在左側欄增加一個「電腦」頁,Agent 藉助本地 Cua driver 觀察並操作窗口。
它解決的是:在 Windows 上,讓 Agent 能夠看到某個窗口、定位可點元素、點擊、輸入、按鍵和滾動,同時由人控制開關。
當前版本 1.0.1(見 package.json,name 是 @local/computer-use),要求 DSH 0.2.1-rc.5 或以上。
核心功能¶
側欄「電腦」頁包含開關、driver 狀態和最近操作記錄。Agent 側暴露一個 computer_use 工具,動作如下:
| 動作 | 作用 |
|---|---|
status |
查看開關與 driver 狀態 |
windows |
列出頂層窗口,默認只列 on-screen |
observe |
讀取一個窗口:截圖,最多 80 個可點元素,可加 query 篩選 |
click |
點擊元素(elementToken)或截圖座標(x、y) |
type |
在指定窗口輸入,最多 2,000 字 |
key |
按一個鍵:字母、數字、Enter、Tab、Esc、方向鍵、F1–F12 |
scroll |
滾動 1–20 格 |
有幾條實現細節值得說明:
- 每次操作都要指定
pid+windowId,目標始終是你指定的那個窗口。 observe會返回elementToken,優先用 token 定位,座標只是後備。- 背景輸入優先,背景不行纔要求前景;前景會短暫搶焦點。
- 插件自己起一個私有進程,通信走命名管道
\\.\pipe\dsh-computer-use,使用--permission-mode standard,不會連接其他 Agent 的 driver,也不使用 unrestricted mode。 - 打字內容不寫入頁面記錄,只記錄長度;頁面保留最近 24 條操作,最多 8 張截圖預覽。
明確不支持的能力:剪貼板、殺 process、全桌面輸入、密碼/付款/權限對話框。
安裝與啓用¶
先裝依賴,再裝插件。
插件本身是 Windows 限定,並且需要 Cua driver(cua-driver.exe)。官方安裝器:
irm https://cua.ai/driver/install.ps1 | iex
安裝後插件默認查找:
%LOCALAPPDATA%\Programs\Cua\cua-driver\bin\cua-driver.exe
如果 driver 放在別的地方,設置環境變量 CUA_DRIVER_BIN 指向該 exe 即可。
倉庫不收錄第三方
cua-driver.exe(28 MB、非本插件著作),因此要用上面的官方安裝器,後續更新也方便。
插件安裝走 DSH 的 plugin_manager,target 填下載目錄的絕對路徑:
plugin_manager(action: "install_bundle", target: "C:\\path\\to\\dsh-computer-use")
可以 git clone 倉庫,或直接在 GitHub 上選擇 Code → Download ZIP。裝完後重啓 DSH,左側欄會出現「電腦」。
典型用法¶
裝好 driver 後,在「電腦」頁點「啓動 driver」,確認開關已開,Agent 就可以調用工具。一個常見的調用順序如下:
1、computer_use 的 status:確認開關和 driver 狀態。
2、windows:找到目標窗口的 windowId。
3、observe 該 pid + windowId:拿到截圖和元素 token。
4、click 帶上 elementToken 定位的元素;需要輸入時用 type,需要按鍵時用 key,需要翻頁時用 scroll。
注意 observe 的 query 參數可用於篩選元素,不確定要點哪個元素時可先加篩選,再從返回的可點元素裏選 token。
click 裏的 elementToken 應優先於座標;座標方式屬於後備,確認截圖和窗口當時位置一致再傳。
安全與適用場景¶
開關默認是開的。點擊即可關閉:關閉後 Agent 的 click/type/key/scroll 會被直接拒絕,observe 也要重新打開後纔會執行。只有「電腦」頁能改開關和啓動 driver,Agent 自身改不了。
插件只會操作你指定的一個窗口,沒有全桌面輸入、沒有剪貼板、沒有 process kill,也不會讀取密碼欄。README 明確說明不應把它用於付款或權限對話框操作。
適用情況:需要在 Windows 上讓 Agent 穩定完成窗口內操作,且你希望隨時能一鍵切斷。不適用:需要跨窗口全局輸入、剪貼板搬運、進程管理,或需要處理關鍵權限彈窗的場景。
另外要注意,插件以當前 DSH 進程的權限運行。安裝前建議先讀一遍源碼(MIT 許可),確認來源後再安裝;Cua driver 是第三方 28 MB 二進制,來自 https://cua.ai/driver/install.ps1,安裝行爲按該安裝器的說明走,不屬於本插件代碼。
結尾¶
這個插件的價值在於:把 Windows 窗口操作從”寫腳本”變成 DSH 側欄裏一個可開關的工具頁,Agent 有明確、可審計的操作面,人可以隨時關掉。版本 1.0.1 修復了 undefined 導致整個工具報錯、driver session 結束後未重連、以及 attach 到已運行 daemon 時狀態判斷錯誤這三項。
目錄頁:https://www.skillhub.cn/plugins/Kinfxhk/dsh-computer-use
GitHub:https://github.com/Kinfxhk/dsh-computer-use