dsh-screen-eye:DeepSeek Harness 的自主屏幕視覺工具

前言

在模型推理場景中,讓智能體“看到”界面是常見需求。傳統的做法是開發者手動截圖並上傳。DeepSeek Harness 插件 dsh-screen-eye 將這一過程自動化:模型在調用工具時即可捕獲屏幕,並在同一次調用中接收圖像內容。

核心功能

該插件爲 DSH 提供了兩個可直接調用的工具:

  • screenshot:捕獲屏幕並返回圖像作爲內容塊,模型可以直接查看。
  • screen_permission:在 macOS 上報告權限狀態;使用 action: "guide" 時,會打開系統設置並定位到具體的權限條目,引導用戶開啓。

安裝

安裝該插件無需本地構建步驟,也沒有額外依賴。

dsh plugin --profile web add github:davidekingsss/dsh-screen-eye

安裝完成後需重啓 DeepSeek Harness。

權限配置(macOS)

macOS 對屏幕錄製有嚴格的權限控制。這是使用該插件的主要障礙。

權限狀態檢測

插件通過實際嘗試捕獲來檢測權限狀態,而非猜測。如果權限未授予,screenshot 會失敗。此時調用 screen_permission 工具,如果 action 爲 "guide",它會打開系統設置並指引用戶。

啓動器名稱差異

macOS 的權限條目名稱取決於啓動 Harness 的應用(即“責任進程”),而不是 Harness 本身。例如:
* 通過瀏覽器啓動:條目名爲 Google Chrome。
* 通過終端啓動:條目名爲 Terminal 或 iTerm。
* 通過快捷指令啓動:條目名爲 運行 Deepseek Harness。

工具會列出常見情況,但用戶需在設置中手動匹配該條目。

操作步驟

在 macOS 上首次使用時,需遵循以下步驟:

  1. 調用 screenshot。
  2. 如果失敗,調用 screen_permission 並設置 action: "guide"。
  3. 系統會打開“隱私與安全性”設置頁面。
  4. 在“屏幕錄製”列表中找到對應的條目並開啓開關。
  5. 再次調用 screenshot。

無法通過編程手段自動開啓權限,這是系統安全策略(SIP 保護 TCC 數據庫)的限制。

捕獲模式

screenshot 工具支持多種 mode 參數,用於定義捕獲範圍:

  • screen(默認):捕獲主顯示器。
  • display:按索引捕獲單個顯示器。
  • region:捕獲矩形區域。座標系原點爲主顯示器的左上角,因此位於主顯示器左側或上方的顯示器座標可能爲負數。
  • displays:不捕獲圖像,僅列出連接的顯示器及其索引。
  • window:捕獲當前置頂的窗口。
  • select:交互式選擇,等待用戶點擊窗口或拖拽矩形。Windows 平臺不支持此模式。

多幀與運動

通過設置 frames 參數大於 1,可以捕獲連續的圖像序列。參數 interval_ms 決定了幀之間的時間間隔。

  • 採樣速度取決於捕獲區域大小:4K 全屏約需 155ms,1200x800 區域約需 56ms。
  • 返回的圖像是單幀存儲,不會自動合成 GIF。
  • 序列的總時長由 timeout_ms 決定(默認 5 分鐘),幀數上限由提供者限制(約 600 張)。
  • 響應會報告實際達到的時間間隔。

系統差異(Windows)

Windows 平臺的實現與 macOS 有顯著差異:

  • 無權限報告:Windows 沒有機制允許插件報告屏幕錄製權限狀態。
  • 圖像質量:
    • 如果進程不感知 DPI(DPI-unaware),捕獲的圖像可能是低分辨率副本。
    • 如果進程未附加到交互式桌面(非交互式桌面),捕獲可能爲黑幀。

限制

  1. 單次調用限制:每次 screenshot 調用最多返回一張圖像(即使系統有多個顯示器)。
  2. 依賴:插件本身無原生構建步驟,但 macOS 平臺會在首次捕獲時從源碼編譯一個小助手。
  3. 手動干預:macOS 權限必須手動開啓,無法自動化。

參考鏈接

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

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

小夜