前言¶
在構建 DSH 代理時,模型通常只能通過網頁內容(Edge 擴展)進行操作,無法直接控制瀏覽器框架(如地址欄、搜索欄)或其他任意窗口。dsh-desktop 插件通過提供操作系統級控制能力,填補了這一空白,讓模型能夠操作整個瀏覽器和桌面上的任意程序。
這是什麼¶
這是一個宿主插件(Host Plugin),由 Hyna-hla 維護。它的核心價值是提供操作系統級的桌面控制能力,使模型能夠控制瀏覽器框架、進行窗口操作以及管理任意應用程序。
核心功能¶
插件提供以下工具:
desktop_ocr:截屏並調用 Windows OCR,返回每個詞的座標框,用於定位界面元素。desktop_screen:獲取虛擬屏幕尺寸與原點。desktop_click(x, y, button?, double?):移動鼠標並點擊,支持左鍵、右鍵、中鍵以及雙擊。desktop_drag(x1,y1,x2,y2):按住鼠標從座標點拖動到另一座標點。desktop_type(text):輸入 Unicode 文本,支持中文輸入。desktop_press(combo):模擬組合鍵,如ctrl+l(聚焦地址欄)、enter、alt+tab、f5、ctrl+t等。desktop_cursor:獲取當前光標位置。desktop_screenshot(path?):截屏並保存爲 PNG 文件。
安裝與啓用¶
在克隆倉庫後,按順序執行以下命令:
pnpm install
pnpm build
.\scripts\install-to-profile.ps1 -Name dsh-desktop -SourceDir .
# 重啓 DeepSeek Harness
典型用法¶
打開網址:
1. 調用 desktop_press "ctrl+l" 聚焦地址欄。
2. 調用 desktop_type "https://..." 輸入目標地址。
3. 調用 desktop_press "enter" 執行跳轉。
任意界面點擊:
1. 調用 desktop_ocr 獲取屏幕上文本的座標框。
2. 根據返回的座標調用 desktop_click 進行點擊。
原理與邊界¶
- 運行機制:插件在宿主進程中 spawn
powershell.exe並執行lib/desktop.ps1,使用 Win32 API(如SetCursorPos、mouse_event、SendInput)和 Windows 自帶 OCR,完全不受 DSH 沙盒限制。 - 職責分工:與 Edge 擴展互補,擴展負責管理網頁內容,桌面層負責管理瀏覽器框架和所有程序。
- 權限與邊界:模型只有在收到你的指令時纔會調用這些高權限工具。模型可以“看”屏幕上的一切(OCR),也能對屏幕上的一切進行操作。
注意事項¶
- 插件以宿主進程的權限運行,安裝前應檢查源碼與許可證(MIT)。
- 該插件與現有的 Edge 擴展能力不衝突,屬於桌面層面的補充。