前言¶
DeepSeek Harness(DSH)的插件化架構讓開發者可以按需擴展能力。在 Windows 平臺上,讓智能體直接操作桌面是常見需求,但直接調用系統 API 既繁瑣又缺乏統一接口。dsh-xiangwriter-screen-control 提供了一套基於 Win32 的屏幕控制工具,通過 DSH 的插件機制集成,讓智能體能夠查看桌面、操作鼠標鍵盤、讀取 UI Automation 樹,並管理窗口。
插件介紹¶
這是一個面向 Windows 的屏幕控制插件,由 xiangwriter-dev 維護。它提供六個 screen_* 工具,使智能體能夠像人一樣操作桌面:截圖、移動/點擊/拖拽/滾動鼠標、輸入 Unicode 文本、發送組合鍵、讀取 UI Automation 樹、聚焦窗口,並等待 UI 變化。與 Codex 的 computer-use 插件類似,但專爲 DSH 在 Windows 上設計,無需 MCP 服務器或編譯環境,僅依賴一個 PowerShell 5.1 進程。
核心功能¶
插件提供以下工具:
screen_capture:截圖桌面、窗口或區域,返回文件路徑、幾何信息和(支持圖像的模型)圖像塊。支持 PNG/JPEG 格式和可選縮放。screen_pointer:移動鼠標、點擊(單擊、雙擊、右鍵、中鍵)、拖拽、滾輪滾動。支持屏幕座標或圖像內座標映射。screen_keyboard:輸入 Unicode 文本(包括中文、emoji)、發送組合鍵(如 ctrl+shift+t)、通過剪貼板粘貼。screen_windows:列出頂層窗口,或通過標題/句柄聚焦窗口。screen_ui:讀取窗口的 UI Automation 樹,包含控件類型、名稱、automation id、矩形、啓用/離屏狀態和值。screen_wait:睡眠或等待窗口標題出現。
插件默認啓用安全機制:桌面輸入通過 inputPolicy: "ask" 審批,首次輸入操作需要授權;Ctrl+Alt+Esc 熱鍵可在任何輸入操作時緊急停止輸入 30 秒;每次操作都會報告實際讀取的鼠標位置。截圖和 UI 樹查詢無需審批。
安裝與啓用¶
從 GitHub 安裝(推薦):
dsh plugin add github:xiangwriter-dev/dsh-xiangwriter-screen-control
從本地檢出安裝:
git clone https://github.com/xiangwriter-dev/dsh-xiangwriter-screen-control.git
dsh plugin add /absolute/path/to/dsh-xiangwriter-screen-control
從發行版 tarball 安裝:
dsh plugin add https://github.com/xiangwriter-dev/dsh-xiangwriter-screen-control/releases/latest/download/dsh-xiangwriter-screen-control.tgz
安裝後,工具在下一輪對話中可用。在 DSH 桌面應用的設置中,插件行名爲「Screen Control」。
配置¶
插件行支持以下配置項(均爲可選,默認值如下):
inputPolicy: ask # ask | allow | deny
capture:
maxWidth: 1600 # 截圖縮放寬度
format: png # png | jpeg
quality: 82 # JPEG 質量
keepShots: 20 # 保留截圖數量
failsafe:
enabled: true
hotkey: ctrl+alt+esc
cooldownMs: 30000
bridge:
command: '' # PowerShell 路徑覆蓋
timeoutMs: 15000 # 每次操作超時
restartLimit: 2 # 允許的連續重啓次數
idleTimeoutSec: 1800 # 空閒超時(秒)
inputPolicy 取值說明:
- ask:默認,會話中首次指針或鍵盤操作請求審批,審批在會話內有效。
- allow:不提示(僅用於完全信任的會話)。
- deny:只讀,僅截圖、窗口和 UI Automation 查詢可用,拒絕輸入。
典型用法¶
先列出目標窗口,再截圖確認,然後點擊並輸入:
screen_windows { action: "list", title: "記事本" }— 確認目標已打開screen_capture { window: "記事本" }— 查看狀態screen_pointer { action: "click", x: 640, y: 520 }— 點擊文本區域screen_keyboard { action: "type", text: "…" }— 輸入文本screen_capture { window: "記事本" }— 驗證文本已寫入
截圖中的像素座標可直接用於點擊,插件會自動映射回屏幕座標:
// 1) 截圖返回:source {x:0,y:0,width:2560,height:1600}, scale 0.625
{ "name": "screen_capture", "arguments": { "max_width": 1600 } }
// 2) 點擊截圖中的像素點
{ "name": "screen_pointer", "arguments": { "action": "click", "x": 400, "y": 300, "coordinate_space": "image" } }
適用場景與注意事項¶
適合需要智能體在 Windows 上執行自動化任務的場景,如批量表單填寫、自動化測試、桌面應用操作等。
注意事項:
- 插件在當前 DSH 進程權限下運行,截圖和 UI 樹包含屏幕所有內容,請勿在包含敏感信息的桌面上使用。
- 受 Windows UIPI 限制,向更高完整性級別(管理員)進程發送合成輸入時會失敗,需要將 DSH 運行在同一完整性級別。
- 鎖定屏幕無法截圖或操作,會返回錯誤。
- 插件不訪問網絡,僅通過 stdin 接收 JSON 行並在臨時目錄生成截圖文件。
總結¶
dsh-xiangwriter-screen-control 爲 DSH 提供了一套輕量、安全的 Windows 桌面控制工具集,無需額外依賴或 MCP 服務器,通過插件機制集成。對於需要在 Windows 上構建智能體應用的開發者,這是一個可落地的選擇。
- 目錄頁:https://www.skillhub.cn/plugins/xiangwriter-dev/dsh-xiangwriter-screen-control
- GitHub:https://github.com/xiangwriter-dev/dsh-xiangwriter-screen-control