前言¶
在 Harness 里做自动化排查、界面验收或让模型「看一眼当前屏幕」时,往往需要把桌面画面交给对话上下文。常见做法是手动截图再粘贴附件,步骤打断对话,路径也不统一。下面介绍社区插件 dsh-screenshot-tool(维护者 Eva7788519,分类:客户端):它在 Windows 上提供模型可调用的 screenshot 工具,以及在 Composer 工具栏上的相机按钮,两条入口共用同一套截屏链路,PNG 可通过 Harness 的 read_image 读回模型。
这是什么¶
dsh-screenshot-tool 面向 DeepSeek Harness(DSH) 的 Windows 桌面截屏:通过 Harness Web 服务上的 GET /screenshot 路由流式返回 PNG 字节。模型侧调用工具时会把文件写入当前会话工作目录并返回绝对路径与像素、字节大小;Composer 上的相机按钮则即时截屏、预览,并支持下载、复制到剪贴板或关闭,默认不落盘(除非点 Download)。
插件要求 DSH 引擎 >=0.2.0-0(见 package.json),许可证 MIT,当前包版本 1.1.0。
核心功能¶
模型工具 screenshot¶
模型可主动调用该工具。可选参数 path 指定保存位置;相对路径相对于会话工作目录,省略时默认为该目录下的 screenshots/shot-<timestamp>.png。工具返回 PNG 的绝对路径及尺寸信息,随后可用 read_image 读取图像内容。
Composer 相机按钮¶
插件通过 dsh.client 注入 @deepseek-ai/dsh-client-ui-conversation,在 Composer 工具行(附件按钮旁)增加相机控件。点击后立即截取桌面并在预览面板展示,可下载、复制或关闭。
截屏实现要点¶
- 使用 GDI 捕获整块虚拟桌面(多显示器一并纳入)。
- 每次截屏启动一个 PowerShell 进程;脚本内联执行,输出路径由环境变量
DSH_SHOT_PATH传入。 - 依赖 Windows 上的
System.Windows.Forms与System.Drawing(经 PowerShell 调用)。优先使用 PATH 中的pwsh(PowerShell 7),其次C:\Program Files\PowerShell\7\pwsh.exe,再回退到powershell.exe。
安装与启用¶
可从插件市场安装,或在命令行执行(命令来自项目 README):
dsh plugin --profile <profile> add dsh-screenshot-tool
安装后重启一次 Harness,以便重新扫描客户端模块表;相机按钮在下次启动后出现。
典型用法¶
让模型代为截屏,或在工具调用中传入可选路径,例如:
{ "path": "evidence/login-page.png" }
相机按钮路径:在 Composer 中点击相机 → 查看预览 → 按需下载或复制;不点 Download 则不会写入磁盘。
适用场景与注意¶
适合:在 Windows 上开发或运维 Harness 智能体,需要把当前桌面画面纳入对话(故障截图、UI 对照、模型视觉理解等)。
局限(README 已说明):
- 仅支持 Windows。
- 截的是屏幕上的可见内容,被遮挡的窗口不会出现。
- 过大截图经
read_image降采样后,小字号可能难以辨认。
安全与权限:插件以当前 DSH 进程权限运行,截屏会覆盖用户可见桌面。安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-screenshot-tool 把 Windows 桌面截屏收拢为 Harness 内的标准工具与 UI 入口,减少手动贴图步骤。目录页:https://www.skillhub.cn/plugins/Eva7788519/dsh-screenshot-tool;源码与说明:https://github.com/Eva7788519/dsh-screenshot-tool。