DSH Screen Agent:Windows 屏幕識別與自動化插件

DeepSeek Harness (DSH) 採用插件化架構,lak321/dsh-screen-agent 爲 DSH 增加了桌面與網頁自動化能力。該插件通過 Windows Host 路由與 PowerShell 腳本,在本地實現屏幕識別、UI 自動化(鼠標/鍵盤控制)及畫圖操作,無需配置第三方依賴。

核心功能

  • 屏幕識別:支持全屏及多顯示器截圖,輸出 PNG 與 base64 格式。集成 Windows 內置 OCR,支持本地文字識別與像素座標提取。
  • UI 自動化:提供鼠標點擊/拖拽、窗口激活、鍵盤打字及按鍵控制。
  • 畫圖能力:直接操作 Windows 畫圖工具繪製圖形。

安裝與啓用

舊的手動複製 host/ 並注入 cordis.patch.yml 的方式已廢棄,請使用 bundle 層棧安裝。

  1. 執行安裝命令(將 <commit> 替換爲最新提交號):
    dsh plugin --profile web add "github:lak321/dsh-screen-agent#<commit>&path:/"
  1. 重啓 DSH 使配置生效:
    npx -y @deepseek-ai/dsh web
該插件兼容 DSH Profile:`web`。

使用方法

通過 HTTP 請求調用接口,參數爲 JSON 格式。

  • 截圖:
    POST /api/screen
    { "op": "capture" }
截圖結果保存至 `~/.dsh/screenshots/`。
  • OCR 識別:
    POST /api/screen
    { "op": "ocr", "path": "...", "lang": "zh-CN" }
  • 鼠標點擊:
    POST /api/screen
    { "op": "click", "x": 100, "y": 200 }
  • 鍵盤打字:
    POST /api/screen
    { "op": "type", "text": "你好" }
  • 對話用法:
    在 DSH agent 對話中直接下達指令,如“截圖看看”、“在輸入框輸入 xxx”,Agent 會通過腳本或路由自動執行。

技術實現與注意事項

  • 平臺限制:僅限 Windows 平臺。使用 PowerShell、user32 / WinRT OCR,零第三方依賴。
  • DPI 縮放:進程啓動時需調用 SetProcessDPIAware(),否則在 DPI 縮放下鼠標座標計算會偏移。
  • Win11 畫圖 (WinUI 3) 注意事項:新版畫圖存在交互差異,使用畫圖功能時需注意:
    • 點色板卡死:點任意色塊可能導致進程無響應(WM_CLOSE 無效),只能通過任務管理器結束進程。建議使用橡皮擦或默認顏色。
    • 首次拖拽不繪製:切換工具後第一次拖拽可能只激活不繪製,需操作兩次或先畫一條廢線。
    • 小橢圓繪製:小橢圓工具難以繪製(如 rx135 ry18),建議使用鉛筆多段繪製。
    • 文本工具:按 Esc 取消會丟失已輸入文字;字號設置需通過鍵盤輸入數字並回車。

License

MIT

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

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

小夜