前言¶
在 DeepSeek Harness(DSH)裏和 Agent 協作時,經常需要把屏幕上的界面、報錯或窗口狀態交給模型看。純靠文字描述容易漏細節;把圖放進對話又希望文件同時落在當前會話工作區,方便後續引用。社區裏已有多種截圖類插件,側重點各不相同。下面介紹維護者 lsnnn123 發佈的 dsh-screenshot-win:面向 Windows,在聊天輸入框提供相機按鈕,並註冊 Agent 可調用的 screenshot 工具,兩種入口走同一套宿主邏輯。
這是什麼¶
dsh-screenshot-win 是標準的 DSH bundle 插件:package.json 中聲明 dsh.bundle.patch 與 dsh.client,可在插件頁面啓用、關閉或卸載,也可通過插件管理器從 GitHub 安裝。分類爲客戶端;倉庫 https://github.com/lsnnn123/dsh-screenshot-win,許可證 MIT,當前版本 0.1.0。插件目錄頁:https://www.skillhub.cn/plugins/lsnnn123/dsh-screenshot-win。
核心功能¶
插件分成兩半,共用 /dsh-screenshot-win/capture 路由與同一批 PowerShell 採集腳本,不是兩套實現。
GUI(瀏覽器半)
輸入框左側工具欄有相機圖標。點開後可選:框選區域、整個屏幕、指定某個窗口。截圖作爲圖片附件插入當前會話輸入框(可直接發送),同時 PNG 落盤到會話工作區。
Agent 工具(宿主半)
註冊名爲 screenshot 的工具,模型可自行觸發截圖;圖片作爲工具結果進入對話(模型可見),文件同樣落盤。
窗口採集使用 PrintWindow 與 PW_RENDERFULLCONTENT,被遮擋的窗口(含 Electron 窗口)也可截取;少數 GPU 直繪失敗時可回退屏幕拷貝(screen_fallback)。界面語言跟隨 DSH:ctx.locale.active 爲 zh* 時顯示中文,否則英文。
安裝與啓用¶
推薦通過插件管理器 / 插件市場安裝。資料中的安裝命令爲:
plugin_manager action=install_bundle target="github:lsnnn123/dsh-screenshot-win"
裝好後在 DSH「插件」頁面出現對應卡片:開關爲啓用/關閉,詳情頁卸載會從 profile 的 dependencies 中移除,由插件管理器改 profile,無需手工編輯。
若本機 profile 安裝策略或 CLI 限制導致無法走管理器,README 描述了與插件管理器相同數據結構的手工 bundle 接線(目錄聯接、package.json 的 dependencies 與 dsh.profile.bundles 等);一般用戶以方式 A 爲準。改動 lib/index.js 需重啓應用;改動 client/client.js 刷新頁面即可。
配置¶
在 profile 或用戶級 cordis.patch.yml 的插件行中可配置(bundle 自帶 cordis.patch.yml 會插入插件行;用戶級與用戶 bundle 重複插入會掛載兩次,需避免):
- insert:
- id: dsh-screenshot-win
name: dsh-screenshot-win
config:
saveDir: screenshots # 相對會話工作區
maxWidth: 1600 # 超過則等比縮小(0 表示不縮放)
format: png # png | jpeg
quality: 88 # jpeg 質量
timeoutMs: 300000 # 單次採集腳本超時
regionTimeoutSec: 180 # 框選覆蓋層的自動取消時間
tool: true # 是否註冊 screenshot 工具
routes: true # 是否掛載瀏覽器半用的 HTTP 路由
典型用法¶
手動截圖
在對話輸入框點相機,按提示選擇框選、整屏或指定窗口,確認後發送或繼續編輯消息。
Agent 調用 screenshot
常用參數如下(完整表見倉庫 README):
| 參數 | 說明 |
|---|---|
mode |
region(默認)/ screen / window |
out |
輸出路徑;默認 <工作區>/screenshots/shot-<時間戳>.png |
hwnd / window / process / active |
指定窗口 |
list_windows |
僅列出可截取窗口(便於模型選目標) |
框選模式需要真人拖拽;純自動化環境可配合超時參數觀察取消路徑。
運行中自檢宿主狀態(資料示例端口):
Invoke-WebRequest http://127.0.0.1:19387/dsh-screenshot-win/status
返回版本、默認保存目錄及瀏覽器半登記狀態。
適用場景與注意¶
- 適合:在 Windows 上使用 DSH,需要把屏幕內容快速放進對話,並保留工作區副本的開發者或日常用戶。
- 環境:僅 Windows(GDI /
PrintWindow、PowerShell 7);package.json要求 Node^22.19.0 || >=24.0.0,os爲win32。 - 安全:插件以當前 DSH 進程權限運行,可截屏、寫工作區、執行採集腳本。安裝前應閱讀源碼與 MIT 許可證,確認符合你的環境策略。
- 生態:DSH 採用「一切皆插件」思路;社區精選目錄獨立於 DeepSeek / 幻方,市場列表來自 awesome-dsh-plugin 等社區維護的目錄,並非官方應用商店。
結尾¶
dsh-screenshot-win 把輸入框相機與 screenshot 工具接到同一套 Windows 採集鏈路上,支持框選、整屏與指定窗口,截圖進對話並寫入工作區。詳情與源碼:https://www.skillhub.cn/plugins/lsnnn123/dsh-screenshot-win,https://github.com/lsnnn123/dsh-screenshot-win。