前言¶
在模型推理場景中,讓 Agent 看見屏幕通常需要人工介入——手動截圖、粘貼、再讓模型分析。這破壞了自動化流程的連貫性。
dsh-screen-reader 插件解決了這個問題。它讓 Agent 在執行過程中直接抓取屏幕圖像,並將圖像本身作爲內容塊傳遞給當前模型,而不是經過第二個模型轉述。此外,它提供本地精確像素差分功能,由本地計算“變了沒有、變在哪”,模型只負責回答“變成了什麼”。
核心功能¶
插件提供兩個主要工具:see_screen 和 see_diff。
see_screen:抓屏並直接傳給模型¶
該工具抓取屏幕、窗口或特定區域,並將圖像直接交給當前模型查看,不經過任何中間層。
- 參數:
window:抓取特定窗口。region:抓取特定區域。
- 圖像處理:圖像在 provider 側會被強制歸一化,上限爲 384 視覺 token。
see_diff:本地像素差分¶
該工具比較兩張圖像,通過本地精確像素差分定位變化區域,然後將變化區域交給模型解釋。
- 工作流:
- 本地計算差異。
- 定位變化區域。
- 模型只回答“變成了什麼”,不負責判斷“變了沒有”。
安裝與啓用¶
插件僅支持 Windows。
- 使用以下命令安裝插件(通過 profile bundle 方式):
dsh plugin --profile <profile-name> add <package-name-or-local-path>
例如,從本地目錄安裝:
dsh plugin --profile <profile-name> add C:\path\to\dsh-screen-reader
- 安裝完成後重啓 DSH,以使新插件生效。
適用場景與注意事項¶
適用場景¶
- Agent 需要在執行過程中自我驗證操作結果(例如:改完設置看一眼對不對)。
- 需要判斷兩張圖之間的變化區域。
注意事項與限制¶
- 平臺限制:僅支持 Windows,依賴 PowerShell 5.1 的
System.Drawing與PrintWindow。 - 視覺能力:插件不提升模型的視覺能力,它只是將圖像傳遞給模型。
- 測量精度:精確測量像素誤差可達 ±40%,主要用於描述而非測量。
- 識別難點:低對比度差異是危險區,形狀語義是弱項。
- 分辨率與裁切:分辨率不影響準確度,裁切是提升細節密度的手段。
- 時間與因果:只有一幀,沒有時間與因果(滾動屏幕記憶功能已刪除)。
- 存儲管理:附件庫會增長,且沒有任何清理手段。
附錄¶
- 目錄頁:https://www.skillhub.cn/plugins/cbg33695/dsh-screen-reader
- GitHub:https://github.com/cbg33695/dsh-screen-reader
- 許可證:MIT