前言¶
在 Harness 裏做自動化排查、界面驗收或讓模型「看一眼當前屏幕」時,往往需要把桌面畫面交給對話上下文。常見做法是手動截圖再粘貼附件,步驟打斷對話,路徑也不統一。下面介紹社區插件 dsh-screenshot-tool(維護者 Eva7788519,分類:客戶端):它在 Windows 上提供模型可調用的 screenshot 工具,以及在 Composer 工具欄上的相機按鈕,兩條入口共用同一套截屏鏈路,PNG 可通過 Harness 的 read_image 讀回模型。
這是什麼¶
dsh-screenshot-tool 面向 DeepSeek Harness(DSH) 的 Windows 桌面截屏:通過 Harness Web 服務上的 GET /screenshot 路由流式返回 PNG 字節。模型側調用工具時會把文件寫入當前會話工作目錄並返回絕對路徑與像素、字節大小;Composer 上的相機按鈕則即時截屏、預覽,並支持下載、複製到剪貼板或關閉,默認不落盤(除非點 Download)。
插件要求 DSH 引擎 >=0.2.0-0(見 package.json),許可證 MIT,當前包版本 1.1.0。
核心功能¶
模型工具 screenshot¶
模型可主動調用該工具。可選參數 path 指定保存位置;相對路徑相對於會話工作目錄,省略時默認爲該目錄下的 screenshots/shot-<timestamp>.png。工具返回 PNG 的絕對路徑及尺寸信息,隨後可用 read_image 讀取圖像內容。
Composer 相機按鈕¶
插件通過 dsh.client 注入 @deepseek-ai/dsh-client-ui-conversation,在 Composer 工具行(附件按鈕旁)增加相機控件。點擊後立即截取桌面並在預覽面板展示,可下載、複製或關閉。
截屏實現要點¶
- 使用 GDI 捕獲整塊虛擬桌面(多顯示器一併納入)。
- 每次截屏啓動一個 PowerShell 進程;腳本內聯執行,輸出路徑由環境變量
DSH_SHOT_PATH傳入。 - 依賴 Windows 上的
System.Windows.Forms與System.Drawing(經 PowerShell 調用)。優先使用 PATH 中的pwsh(PowerShell 7),其次C:\Program Files\PowerShell\7\pwsh.exe,再回退到powershell.exe。
安裝與啓用¶
可從插件市場安裝,或在命令行執行(命令來自項目 README):
dsh plugin --profile <profile> add dsh-screenshot-tool
安裝後重啓一次 Harness,以便重新掃描客戶端模塊表;相機按鈕在下次啓動後出現。
典型用法¶
讓模型代爲截屏,或在工具調用中傳入可選路徑,例如:
{ "path": "evidence/login-page.png" }
相機按鈕路徑:在 Composer 中點擊相機 → 查看預覽 → 按需下載或複製;不點 Download 則不會寫入磁盤。
適用場景與注意¶
適合:在 Windows 上開發或運維 Harness 智能體,需要把當前桌面畫面納入對話(故障截圖、UI 對照、模型視覺理解等)。
侷限(README 已說明):
- 僅支持 Windows。
- 截的是屏幕上的可見內容,被遮擋的窗口不會出現。
- 過大截圖經
read_image降採樣後,小字號可能難以辨認。
安全與權限:插件以當前 DSH 進程權限運行,截屏會覆蓋用戶可見桌面。安裝前請閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。DSH 社區插件目錄(如 SkillHub)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-screenshot-tool 把 Windows 桌面截屏收攏爲 Harness 內的標準工具與 UI 入口,減少手動貼圖步驟。目錄頁:https://www.skillhub.cn/plugins/Eva7788519/dsh-screenshot-tool;源碼與說明:https://github.com/Eva7788519/dsh-screenshot-tool。