前言¶
在 DSH 桌面版裏和 agent 協作時,常見瓶頸不是模型能力,而是問題描述不準:按鈕錯位、動效異常、開關切換後界面變樣,用文字往往要來回幾輪才能說清。社區插件 dsh-screen-capture-record-desktop(維護者 Link-h1j)面向這一場景:在輸入框工具條上增加「錄屏」「截圖」,產物走 DSH 現有附件通道,補一句說明即可發送,讓模型拿到第一手畫面而非轉述。
下面介紹插件定位、能力與安裝用法;事實以 GitHub 倉庫 README 爲準。DSH 生態主張「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-screen-capture-record-desktop 是 DSH 桌面版(Desktop) 的客戶端類組合包(bundle):通過 cordis.patch.yml 掛載宿主側抓屏/錄屏路由,並在瀏覽器半邊注入 UI,在「聽寫 / 開始錄音」左側插入兩個按鈕——錄屏與截圖。設計目標單一:減少人機溝通中因描述不準帶來的返工。
當前 package 版本爲 0.5.0,許可證 MIT,依賴 Node >=20。
核心功能¶
工具條上的兩個按鈕¶
| 按鈕 | 操作概要 | 產物 |
|---|---|---|
| 錄屏 | 先選錄制源,再開始;再點或 Esc 結束;最長時長到點自動結束 |
單個 .webm(VP8),自動進入輸入框附件 |
| 截圖 | 整屏抓取後浮層選區;鬆手後可標註,「用這張」進附件 | JPEG(可帶標註),自動進入輸入框附件 |
錄屏產出的是一個視頻文件,是否抽幀、抽多密由會話內 agent 按需處理;截圖支持選區,並在同一浮層內提供畫筆、矩形、箭頭、文字等標註。
錄屏:選擇錄製源¶
點「錄屏」會先彈出「選擇要錄製的內容」,而非立即開錄:
- 整個桌面(所有顯示器):虛擬桌面一併錄製
- 顯示器 N:單臺顯示器
- 窗口:跟窗口移動與改大小;錄的是屏幕上該窗口區域的像素,其它窗口疊在上面會被錄進去
- 自定義區域…:拖框確認後錄製
選項帶縮略圖;上次選擇會預選。選中即開錄。不想每次彈框可在 DevTools 設置 localStorage['dsh-capture.askSource'] = '0',直接使用上次源(無記錄時默認爲整個桌面)。
錄製中按鈕顯示計時;發送聯動:在錄屏過程中點「發送」或在輸入框按回車,等價於停錄、掛附件併發送(Shift/Alt+Enter 仍爲換行)。可通過 localStorage['dsh-screen-capture.sendStopsRec'] = '0' 關閉。若視頻未能掛進附件,發送會被取消並提示磁盤路徑。
截圖:選區與標註同一浮層¶
點「截圖」後整屏以約 92%×80% 比例展示,拖框選區鬆手即進入標註態(默認畫筆);也可單擊選中整屏。工具欄支持撤銷、重選區域、七種顏色與三檔線寬。Enter 或「用這張」確認後進附件;Esc、右鍵或點遮罩空白處取消。
關閉選區浮層或標註:分別設置 localStorage['dsh-capture.picker'] = '0'、localStorage['dsh-capture.annotate'] = '0'(見下文配置表)。
給 Agent:證據要先讀再看¶
README 強調:截圖/錄屏是給模型看的證據。Agent 應先用倉庫內工具解析附件,再 read_image 等讀入上下文後回答。示例:
node tools/extract-frames.mjs <錄屏.webm>
node tools/extract-frames.mjs <截圖.jpg>
錄屏默認約每 3 秒一幀、去重、最多 12 幀;可加 --json、--fps、--max、--width 等參數。誤判注意點見倉庫 AGENTS.md(例如錄屏開頭插件提示條、提示條上的錄製源文案、截圖標註即用戶關注點)。
安裝與啓用¶
從 registry 安裝(推薦):
dsh plugin add dsh-screen-capture-record-desktop
裝完後必須完整重啓 DSH(宿主抓屏/錄屏路由在進程啓動時掛載,僅刷新界面無效)。
本地開發 / 免發佈安裝:
dsh plugin --profile desktop add link:<插件目錄絕對路徑>
link: 將包目錄鏈入 profile,改 lib/ 後需完整重啓生效。同一插件 id 不要在 registry 安裝與手工改 cordis.patch.yml 重複掛載;啓停與卸載請在 DSH「插件」頁操作。
前置條件與路徑¶
| 能力 | 要求 |
|---|---|
| 平臺 | Windows(宿主用 PowerShell + GDI 抓屏) |
| 截圖 | PowerShell 5.1+ |
| 錄屏 | Python 3 + Pillow(pip install Pillow)、ffmpeg(須含 image2pipe、mjpeg、libvpx_vp8、webm) |
Playwright 自帶的 ffmpeg 通常滿足錄屏組件要求。宿主啓動時可讀環境變量 DSH_CAPTURE_PYTHON、DSH_CAPTURE_FFMPEG、DSH_CAPTURE_POWERSHELL;未設置時按 README 中的自動探測順序查找。修改後需完整重啓 DSH。缺 Python/ffmpeg 時截圖仍可用,錄屏會報錯。
產物默認落在 <DSH_HOME>\dsh-screen-capture(DSH_HOME 默認 %USERPROFILE%\.dsh),可用 DSH_CAPTURE_DIR 覆蓋。
典型用法¶
- 安裝插件並完整重啓 DSH 桌面版。
- 在輸入框工具條「聽寫」左側點 截圖 或 錄屏。
- 截圖:拖選問題區域 → 必要時標註 →「用這張」→ 在輸入框寫一句上下文 → 發送。
- 錄屏:選擇桌面/顯示器/窗口/區域 → 復現問題 → 結束錄製(或錄屏中直接發送)→ 附件爲
.webm後發送。 - 若你維護 agent 工作流,在會話中按 README 用
extract-frames.mjs處理視頻後再讀圖分析。
DevTools 中可調客戶端行爲(下次操作生效,無需重啓),例如:
localStorage['dsh-capture.fps'] = '5'
localStorage['dsh-capture.maxSeconds'] = '180'
localStorage['dsh-capture.quality'] = '0.72'
localStorage['dsh-capture.maxDimension'] = '1280'
dsh-capture.fps(1–15)、dsh-capture.maxSeconds(5–900)、dsh-capture.maxDimension(640–2560)、dsh-capture.quality(0.3–0.95)等含義與默認值見 README「配置」一節。
適用場景與注意¶
適合:在 Windows 上使用 DSH 桌面版、需要向 agent 提交 UI 缺陷、交互流程或佈局問題的開發者;希望用視頻或帶標註截圖替代長段文字說明的場景。
注意:
- 插件以當前 DSH 進程權限運行;安裝前請自行查看 源碼 與 MIT 許可證,評估環境與合規要求。
- 僅支持 Windows;Linux / macOS 用戶無法依賴本插件的宿主抓屏方案。
- 錄窗口時被其它窗口遮擋會錄到遮擋內容,屬宿主機抓屏機制限制。
- 社區目錄頁星標等元數據會變動;功能與命令以 GitHub README 爲準。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/Link-h1j/dsh-screen-capture-record-desktop
- 源碼與文檔:https://github.com/Link-h1j/dsh-screen-capture-record-desktop
經過上面的步驟,你可以在桌面版輸入框裏用兩個按鈕把「說不清」的界面問題變成模型可直接消費的 .webm 與 JPEG 證據,縮短描述與誤解帶來的協作成本。