dsh-qq-screenshot:給 DeepSeek Harness Web UI 加一個 QQ 式截圖工具

前言

在 DeepSeek Harness 裏和模型來回溝通時,經常需要把屏幕上的內容(報錯窗口、文檔截圖、設計稿)快速貼進對話。系統自帶的截圖工具要麼步驟多,要麼截完還要手動保存、打開、粘貼。dsh-qq-screenshot 的作用就是把 QQ / 微信那種「按快捷鍵 → 框選 → 標註 → 回車即貼」的體驗做進 DSH Web UI。

這是什麼

dsh-qq-screenshot 是社區開發者 Sky33635 維護的 DSH 插件,版本 1.2.0,MIT 許可證,歸類爲「客戶端」。它給 DeepSeek Harness Desktop 的 Web UI 提供桌面截圖能力:按下 Ctrl+Alt+A 後可在整塊桌面上框選區域,加上矩形、橢圓、箭頭等標註,再一鍵複製進剪貼板,直接在對話輸入框 Ctrl+V 粘貼。

要注意一點:它截的是整個桌面,不是隻截 Harness 窗口,瀏覽器和別的軟件的畫面同樣能截。

核心功能

  • Ctrl+Alt+A 全局喚起,輸入框有焦點時也能用;輸入框左側還有截圖圖標。
  • 框選後有 8 個控制點可縮放、拖動內部可移動、方向鍵 1px 微調(Shift 爲 10px),角標實時顯示物理像素尺寸。
  • 六種標註:矩形、橢圓、箭頭、畫筆、文字、馬賽克,配 5 種顏色;超出選區的筆畫自動裁掉。
  • Enter、雙擊 ✓ 或 Ctrl+C 複製到剪貼板,回輸入框 Ctrl+V 粘貼;也可 Ctrl+S 另存爲 PNG。
  • Ctrl+Z 撤銷上一步標註,Esc、右鍵或 ✕ 退出截圖。
  • 截圖瞬間隱藏 Harness 窗口(僅 Windows),避免畫面裏出現工具自己的窗口。

安裝與啓用

宿主要求:DeepSeek Harness Desktop 0.2.1-rc.4(已在該版本驗證),Node ^22.19 || >=24。

方式一,插件市場:打開「插件市場」,搜索 dsh-qq-screenshot,安裝。

方式二,DSH CLI(對應 npm 包):

dsh plugin --profile desktop add dsh-qq-screenshot

方式三,直接從 GitHub 安裝:

dsh plugin --profile desktop add github:Sky33635/dsh-qq-screenshot

方式四,手動在 profile 的 package.json 里加依賴,並在 dsh.profile.bundles 中選中:

{
  "dsh": { "profile": { "bundles": ["dsh-qq-screenshot"] } },
  "dependencies": { "dsh-qq-screenshot": "^1.2.0" }
}

安裝或升級後要刷新頁面(或重啓 DSH)一次:插件帶客戶端半邊,頁面啓動時才加載。

典型用法

1、按 Ctrl+Alt+A 開始截圖,輸入框有焦點時同樣可用。
2、拖動鼠標框選區域,鬆手後出現工具欄。
3、用矩形、橢圓、箭頭、畫筆、文字、馬賽克等工具標註,點顏色圓點換顏色。
4、按 Enter 複製到剪貼板,回到輸入框 Ctrl+V 粘貼圖片;或按 Ctrl+S 另存 PNG。

實現方式

瀏覽器本身沒有權限抓桌面,插件因此拆成兩半:

  1. Host 半邊(index.js)在 http://127.0.0.1:<port>/plugins/dsh-qq-screenshot/capture.png 註冊一個僅本機可訪問的 HTTP 路由,再用系統工具抓一次全屏:Windows 用 powershell.exe + System.Drawing.CopyFromScreen,macOS 用 screencapture -x -t png,Linux 依次嘗試 gnome-screenshot / spectacle / grim / import。
  2. 瀏覽器半邊(client.js)在 shell.overlay 裏凍結這一幀,框選、標註,最後用 Canvas 按原始分辨率合成 PNG 寫進剪貼板。

Windows 上的「截圖時隱藏當前窗口」默認開啓:頁面先鋪一層深色遮罩,Host 用 Win32 ShowWindow(SW_HIDE) 把窗口藏起來、等桌面重繪,再 CopyFromScreen 抓屏,抓完立刻把窗口還回來。它從 PowerShell 進程往上遍歷父進程(最多 8 層),從近到遠逐層找面積最大的可見頂層窗口,同時排除 Progman / WorkerW / Shell_TrayWnd / Shell_SecondaryTrayWnd,避免誤認桌面或任務欄。藏失敗時頁面會撤掉遮罩、重抓一次不藏窗口的圖,並在底部常駐紅色提示。該開關僅 Windows 生效。

適用場景與注意

適合需要在 DSH 對話裏頻繁貼桌面截圖、並想保留 QQ 式標註習慣的人。插件以當前 dsh 進程的權限運行,Host 半邊會調用系統截屏工具(Windows 上是 PowerShell),除此之外不訪問網絡、不寫其他文件;安裝前建議先覈對源碼和 MIT 許可證。

已知限制:

  • 抓屏依賴本機桌面會話,跑在無桌面的服務器上會報「截屏失敗」。
  • 剪貼板寫圖片需要頁面處於聚焦狀態;被拒絕時可改用「保存爲 PNG」。
  • 快捷鍵固定 Ctrl+Alt+A,如與其他軟件衝突,可改 client.js 裏的 onKeyDown。

小結

dsh-qq-screenshot 把 QQ 式截圖的完整鏈路搬進了 DSH Web UI,省去「系統截圖 → 保存 → 打開 → 粘貼」的中間步驟。它由 Sky33635 維護,MIT 許可,可在插件市場或 DSH CLI 安裝。

目錄頁:https://www.skillhub.cn/plugins/Sky33635/dsh-qq-screenshot

GitHub:https://github.com/Sky33635/dsh-qq-screenshot

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

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

小夜