dsh-screen-capture-record-desktop:把界面问题变成可发给模型的视频与截图

前言

在 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 覆盖。

典型用法

  1. 安装插件并完整重启 DSH 桌面版。
  2. 在输入框工具条「听写」左侧点 截图 或 录屏。
  3. 截图:拖选问题区域 → 必要时标注 →「用这张」→ 在输入框写一句上下文 → 发送。
  4. 录屏:选择桌面/显示器/窗口/区域 → 复现问题 → 结束录制(或录屏中直接发送)→ 附件为 .webm 后发送。
  5. 若你维护 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 为准。

链接

经过上面的步骤,你可以在桌面版输入框里用两个按钮把「说不清」的界面问题变成模型可直接消费的 .webm 与 JPEG 证据,缩短描述与误解带来的协作成本。

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

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

小夜