dsh-shot:給 DSH 補上截圖能力,截完直接進輸入框草稿

前言

用 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 工作、希望把屏幕畫面直接餵給智能體的人。凡是需要”看看當前屏幕”“提取這個彈窗裏的文字”的場景,都比手工截圖再粘貼省一步。

需要留意的幾點:

  1. 插件以當前 dsh 進程的權限運行,覆蓋層窗口由 PowerShell 拉起,安裝前應當先閱讀倉庫源碼與 MIT 許可證,確認 helper/*.ps1 的行爲符合預期後再使用。
  2. 快捷鍵可能被其他應用佔用,表現爲按了沒反應,按上面的配置換成別的組合鍵再重載即可。
  3. 殺軟可能攔截覆蓋層。由於它是 PowerShell 承載的進程內編譯 WinForms 代碼,README 建議被攔截時把 helper/*.ps1 加入白名單,而不是直接放棄使用。
  4. 該插件面向 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。

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

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

小夜