前言¶
用 DSH 跟智能體排查問題時,常見一類需求是”幫我看看這個報錯彈窗”。模型看不見屏幕,我們要麼自己截圖貼過去,要麼複製一大堆文本,信息還不一定全。dsh-shot 這類插件的解法是把截圖做成 DSH 的一個內置能力:全局快捷鍵觸發,拖框選區,截圖進入當前會話的輸入框草稿,回車才發給模型。下面介紹這個插件的構成、安裝方式和使用要點。
這是什麼¶
dsh-shot 是 DeepSeek Harness(DSH)的一個截圖插件,維護者爲 EasySSHCN,作者是 ZhenAn,當前版本 0.1.1,許可證 MIT。它把截圖從操作系統的剪貼板能力接到 DSH 上:既能由用戶手動觸發,也能作爲智能體工具 screenshot 由模型調用。插件採用客戶端半區 + 服務端 patch 的結構,客戶端入口註冊在 conversation.input.left 槽位,因此截圖結果直接出現在對話輸入框的草稿裏。
核心功能¶
先列已覈實的能力,都是 README 中明確寫到的:
- 全局快捷鍵,默認
Ctrl+Alt+A,瀏覽器沒有聚焦也能用 - 輸入框相機按鈕,點擊後等價於快捷鍵流程,截圖進入輸入框草稿
/shot命令,可帶區域參數,也支持跳過覆蓋層直接截指定矩形- 智能體工具
screenshot,模型可在用戶要求看屏幕、窗口或報錯彈窗時自行觸發 - 覆蓋層上的動作:入會話(進輸入框草稿)、翻譯、OCR、複製(僅進入剪貼板,不進任何會話)
- 截圖不自動發送,始終需要用戶按回車
環境要求¶
截圖通過 PowerShell + WinForms 覆蓋層實現,所以只在 Windows 10/11 可用,暫不支持其他系統。DSH 版本方面,README 說明已在 0.2.2-rc.1 上實測,package.json 的 engines 字段聲明兼容 0.2.1+,依賴 client-modules 網頁端插件加載器。更舊或未發佈的版本行爲可能不同。
插件零外部依賴、無編譯產物:覆蓋層窗口由 PowerShell Add-Type 在進程內編譯,README 稱這樣可以避開殺軟對”來路不明的新二進制”的誤報。
安裝與啓用¶
官方提供的安裝方式是 DSH CLI 從 npm 安裝:
dsh plugin --profile <你的profile> add dsh-shot
如果需要從本地目錄或 GitHub release 包安裝,README 也給出了命令:
# 本地目錄
dsh plugin --profile <你的profile> add file:/path/to/dsh-shot-plugin
# tarball(npm 風格 URL)
dsh plugin --profile <你的profile> add https://github.com/EasySSHCN/dsh-shot/releases/download/v0.1.1/dsh-shot-0.1.1.tgz
DSH Desktop 用戶不必走命令行,在應用內「設置 → 插件」搜索 dsh-shot 安裝即可。裝完後如果輸入框裏沒有出現相機按鈕,刷新一次頁面。
典型用法¶
下面這些操作對應 README 中的功能說明,可以直接復現:
| 操作 | 效果 |
|---|---|
Ctrl+Alt+A(全局) |
覆蓋層拖框 → 回車 → 截圖進入最近活躍會話的草稿 |
| 輸入框相機按鈕 | 與快捷鍵完全相同的覆蓋層與草稿流程 |
/shot |
覆蓋層拖框選區 |
/shot x,y,w,h |
跳過覆蓋層,直接截取指定矩形 |
智能體 /screenshot 工具 |
用戶要求看屏幕/窗口/報錯彈窗時由模型觸發 |
/shot 的區域參數按 x,y,w,h 順序讀取,例如 /shot 100,100,800,600 表示從 (100,100) 開始截一個 800x600 的矩形。
覆蓋層拖完框後會出現動作選擇。選「入會話」會把 PNG 放進輸入框草稿;選「翻譯」或「OCR」會自動附上預設說明(分別是”翻譯這張截圖裏的文字”和”提取全部文字”);選「複製」只寫剪貼板,不進入任何會話。
配置¶
快捷鍵通過 profile 補丁(cordis.patch.yml)自定義。README 給出的寫法是:
- id: dsh-shot
name: dsh-shot
config:
hotkey: Ctrl+Alt+A # 任意 RegisterHotKey 風格組合鍵,如 Ctrl+Shift+S
改完後需要重載插件纔會生效。這條配置在插件目錄內,默認隨包發佈,不需要手工創建。
隱私與安全¶
截圖完全在本地完成:PNG 落在臨時目錄和用戶選擇的會話裏,插件不向任何地方上傳數據。快捷鍵守護進程意外退出後保持停用,不會靜默自動重啓,退出原因會記錄到控制台。副作用是:如果守護進程停了而用戶沒察覺,快捷鍵會直接失效,需要手動重新加載插件。
適用場景與注意¶
適合在 Windows 上用 DSH Desktop 或 CLI 工作、希望把屏幕畫面直接餵給智能體的人。凡是需要”看看當前屏幕”“提取這個彈窗裏的文字”的場景,都比手工截圖再粘貼省一步。
需要留意的幾點:
- 插件以當前 dsh 進程的權限運行,覆蓋層窗口由 PowerShell 拉起,安裝前應當先閱讀倉庫源碼與 MIT 許可證,確認
helper/*.ps1的行爲符合預期後再使用。 - 快捷鍵可能被其他應用佔用,表現爲按了沒反應,按上面的配置換成別的組合鍵再重載即可。
- 殺軟可能攔截覆蓋層。由於它是 PowerShell 承載的進程內編譯 WinForms 代碼,README 建議被攔截時把
helper/*.ps1加入白名單,而不是直接放棄使用。 - 該插件面向
win32,package.json的os字段爲["win32"],macOS/Linux 用戶安裝無意義。
結語¶
dsh-shot 的價值不在於多一個截圖工具,而在於把”截屏—餵給智能體”這條鏈路做短:快捷鍵或相機按鈕觸發,覆蓋層拖框,結果進草稿,回車發送,中間沒有文件傳輸環節。目錄頁在 https://www.skillhub.cn/plugins/EasySSHCN/dsh-shot,源碼與 issue 建議直接走 GitHub:https://github.com/EasySSHCN/dsh-shot。