前言¶
在 DeepSeek Harness (DSH) 的開發流程中,經常需要讓大模型理解當前應用程序的界面狀態。傳統的做法是手動截圖並複製關鍵文本,這會打斷工作流。dsh-appshots 插件通過自動化機制解決了這個問題,它可以直接捕獲當前活動窗口,並將截圖和窗口文本作爲上下文注入到會話中。
插件介紹¶
dsh-appshots 是一個爲 DSH Desktop 設計的插件,支持 macOS 和 Windows。它專注於捕獲最前面窗口,而非截取整個屏幕,並將截圖附加到輸入框草稿中,同時讀取窗口文字作爲隱藏的模型上下文。
核心功能¶
- 精準捕獲:只捕獲最前面窗口,不截整個屏幕。
- 草稿附件:截圖附加到輸入框草稿,不會自動發送。
- 上下文注入:讀取窗口文字作爲隱藏模型上下文注入。
- 自我排除:自動跳過 DSH Desktop 自身。
- 自動前臺:截圖後自動把 DSH Desktop 調到前臺。
- 跨平臺:支持 macOS 和 Windows。
安裝與啓用¶
在終端中執行以下命令安裝插件:
dsh plugin --profile desktop add dsh-appshots
安裝完成後,需要重啓 DSH Desktop 使插件生效。
使用步驟¶
- 聚焦你想分享的窗口。
- 觸發截圖:macOS 同時按兩個 Command,Windows 同時按兩個 Ctrl,或點擊輸入框裏的相機按鈕。
- DSH Desktop 會自動來到前臺,截圖已附加到當前會話。
- 輸入提示詞併發送。
配置說明¶
插件配置位於 ~/.dsh/settings.yaml,命名空間爲 dsh-appshots。主要配置項包括:
skipSelf:是否跳過 DSH Desktop 自身(默認 true)。attachText:發送時是否將輔助功能樹作爲隱藏模型上下文注入(默認 true)。recentWindowMs:沒有打開會話時,複用這個時間窗口內截圖過的會話(默認 60000)。hotkeyMode:熱鍵模式,支持auto、both-command、both-control等(默認 auto)。
注意事項¶
- 系統權限:
- macOS:必須授予 DSH Desktop 的屏幕錄製和輔助功能權限。
- Windows:截圖走
CopyFromScreen,系統可能在首次截圖時彈窗請求屏幕訪問授權。
- 文本讀取限制:
- 窗口文字來自系統輔助功能樹(macOS)或 UI Automation(Windows)。部分應用只暴露可見文本,或因提權/受保護而無法讀取。
- 隱藏文本按 VoiceOver / UI Automation 樹輸出(包含角色、縮進、Description / Value / URL),不再做扁平化處理。
- 終端像素(如 VS Code xterm)默認不進輔助功能樹,編譯日誌仍以截圖爲準。
- 截圖行爲:
- Windows:截取窗口矩形的屏幕像素,被其他窗口遮擋的內容會顯示在截圖上。
- macOS:需授予屏幕錄製權限。
dsh-appshots 通過自動化捕獲和上下文注入,簡化了多窗口環境下的交互流程。更多詳情可查閱 GitHub 倉庫 或 社區目錄。