dsh-recorder:DSH 桌面端全局热键录屏

前言

在 DSH(DeepSeek Harness)里做智能体或插件联调时,经常需要把桌面上的操作过程留成视频:复现步骤、对照日志、交给他人排查。单独开 OBS 或系统自带录屏可以,但和 DSH 桌面进程不在同一套入口里,热键和保存路径也要各管各的。dsh-recorder 是社区维护的 DSH 客户端插件,用全局快捷键驱动 ffmpeg 抓整屏,输出 H.264 MP4,并在 DSH 设置页里看状态和本地录像列表。

这是什么

dsh-recorder(仓库 huhuai-ni/dsh-recorder)由 huhuai-ni 维护,当前 package 版本 0.1.0,许可证 MIT。定位一句话:全局热键录屏,后端通过 ffmpeg 的 gdigrab 抓桌面并写入 MP4。目录页:SkillHub 插件条目。SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件即其中一例客户端扩展。

核心功能

以下能力均来自项目 README 与 package 说明,未在资料中出现的配置项不写进正文。

  • 快捷键开始 / 结束:默认 Ctrl+Alt+R,可在插件设置中调整(资料未列出具体配置键名,以设置页为准)。
  • 整屏录制:H.264 编码的 MP4;帧率、画质(CRF)、保存目录可在设置中修改。
  • 设置页:展示录制中 / 空闲状态与计时,并提供录像列表。
  • 工具接口:rec_start、rec_stop、rec_status、rec_list,供 DSH 内其它能力或脚本侧调用(具体入参以源码与 Cordis patch 为准)。
  • 运行环境:engines.node 要求 >=22;客户端注入 DSH 的 web 设置相关 runtime(见 package.json 中 dsh.client)。

工作原理(便于排查)

后端 spawn 类似下面的 ffmpeg 命令抓屏(整屏、libx264):

ffmpeg -f gdigrab -i desktop -c:v libx264 ... out.mp4

停止录制时,插件向 ffmpeg 的 stdin 写入 q,让其正常收尾写文件;若直接 kill 进程,容易得到损坏的 MP4。

全局热键由 scripts/hotkey.ps1 内注册的 C# 逻辑处理:按键后往 trigger.txt 追加一行;插件约 每 400ms 检查该文件变化,据此切换录制状态。理解这条链路后,若热键无反应,可先查 trigger 文件与 hotkey 脚本是否在跑。

安装与依赖

在已安装 DSH 桌面 profile 的前提下,官方 README 给出的安装命令为:

dsh plugin --profile desktop add dsh-recorder

ffmpeg 必须在 PATH 中,或在插件设置里填写 ffmpeg 可执行文件的完整路径。Windows 上若尚未安装,README 示例:

winget install Gyan.FFmpeg

安装前建议浏览仓库源码与 MIT 许可证;插件以 当前 dsh 进程权限 运行,与任何 DSH 插件一样,只安装你信任的来源。

典型用法

  1. 按上文命令把插件装进 desktop profile,并确保 ffmpeg 可用。
  2. 在 DSH 客户端打开该插件的设置页,按需改帧率、CRF、保存目录与热键(相对默认 Ctrl+Alt+R)。
  3. 在需要录制的场景按热键开始,再按一次结束;在设置页查看状态、计时与录像列表。
  4. 若通过工具调用,使用 README 列出的 rec_start / rec_stop / rec_status / rec_list 与录制流程配合(细节以仓库 index.js / client.js 为准)。

适用场景与限制

适合:Windows 上跑 DSH 桌面端、需要整屏操作录像、希望热键与 DSH 设置页统一管理保存路径和列表的开发者。

限制(README 明确写出):

  • 仅 Windows(依赖 ffmpeg gdigrab)。
  • 不录声音;系统声若要录,需额外 WASAPI loopback 等方案,作者标注为后续可加。
  • 仅整屏,不支持框选区域。

使用前确认上述限制是否符合你的演示需求;需要带麦或系统声、或 macOS / Linux 抓屏时,应另选工具或 fork 扩展。

结尾

dsh-recorder 把「热键 + ffmpeg 整屏 MP4 + DSH 设置页状态与列表」收进一个客户端插件,安装命令固定为 dsh plugin --profile desktop add dsh-recorder。更多说明与 issue 见 GitHub 仓库,目录索引见 SkillHub。

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

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

Xiaoye