OpenClaw Skill:macOS Node 快照用于可靠的屏幕捕获
Source: Dev.to
工作原理
mac-node-snapshot 技能会以 10 fps 录制 1 秒钟的视频片段,然后从该录制中提取单帧高质量 PNG。这样可以绕过 macOS 上常见的 screencapture 权限问题,确保每次都能可靠返回图像。
快速入门实现
- 创建一个临时目录(相对于技能文件夹)。
- 使用 OpenClaw 的
node screen.record录制一秒钟的屏幕。 - 使用 ffmpeg 从视频中提取单帧 PNG。
所有路径均相对于技能目录,实现简单且可移植。
触发短语
技能会在自然语言请求时激活,例如:
- “截个图”
- “我的屏幕上有什么?”
- “捕获屏幕”
- “通过 screen.record 截图”
这些触发词让技能在日常使用中直观易用。
技术要求
- 系统必须已安装 ffmpeg。如果缺失,请提示用户安装。
- 必须在系统设置中授予 macOS 屏幕录制 权限(出于安全原因无法绕过)。
常见问题排查
- node 断开连接:检查节点状态,确保 OpenClaw 应用正在运行并已正确配对。
- screenRecording 返回 false:屏幕录制权限未授予;请指示用户在系统设置中启用。
- 提取的帧是黑的:屏幕处于睡眠或锁定状态;请在重试前唤醒显示器。
集成与使用
从技能的临时目录读取捕获的 PNG,并将其附加到回复或响应中。这在以下场景中非常有用:
- 自动化系统
- 远程协助场景
- 需要可靠屏幕捕获的应用
相较传统方法的优势
- 避免了影响原生
screencapture命令的权限限制。 - 无需复杂配置。
- 在无头或 GUI 限制的环境中表现更佳。
最佳实践
- 确保已安装 ffmpeg。
- 确认已授予屏幕录制权限。
- 在启动捕获前确保显示器处于活动状态(未睡眠或锁定)。
遵循这些指南,开发者和用户即可克服 macOS 屏幕捕获的常见难题,在各种场景下获得可靠的截图。
技能位置: snapshot/SKILL.md