Communitygithub.com

ShotGlass

在 macOS 上使用 ShotGlass 录制应用和浏览器演示。适用于“拍摄演示”、“录制操作指南”或“展示如何使用此应用”等需求,也可编辑或导出已有的 ShotGlass 项目。

ShotGlass 是什么?

ShotGlass 是一款 macOS 上的屏幕录制技能,专门用于录制应用和浏览器演示。它通过 MCP 工具与 ShotGlass 应用连接,支持全新的演示拍摄、导出为视频,以及对已有项目的编辑。用户可以使用 `recording_prepare` 和 `compose` 两个核心调用来规划并执行录制流程,从截图中提取参考点、构建动作序列(如点击、输入文本、按键等),ShotGlass 会自动完成录制、窗口恢复并打开编辑器。该技能强调稳定性和可控性:通过引用(ref)处理后台操作,仅在用户授权时启用真实输入,并在遇到权限或系统弹窗时保存项目并报告阻断原因,而非盲目重试。它适合用于产品演示、教程制作或 UI 测试场景,支持 macOS 平台,并能与其他开发者工具(如编辑器)配合进行后期编辑和渲染。

兼容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/jakemanger/shotglass-skills/tree/main/skills/shotglass

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

ShotGlass 是做什么的?

通过 ShotGlass 连接的 MCP 工具进行录制。使用已安装服务器的当前架构获取工具名称和参数。

从这开始

对于新的演示,使用两次调用:

  1. recording_prepare({app:"Notes", allowSystemDisplayPrompt:true}) — 替换为所需的应用。读取返回的截图、引用和 snapshotId。
  2. compose({snapshotId, beats}) — 一次性提交整个序列。ShotGlass 会录制它,恢复窗口,并在编辑器中打开项目。

根据返回的状态构建动作(beats):{ref:"<返回的 ref>"}、{type:"text"}、{key:"cmd+s"} 或 {point:{x,y},action:"click"}。将占位符替换为实际返回值。截图坐标点为 screenshot.origin + 图片坐标。对于对话框使用稳定的键盘导航,并在演示任务保存文件时包含 expectedFiles。

交付所请求的内容

  • 拍摄演示: 不设置样式和输出选项。保留原始画面和可编辑光标,然后打开编辑器。
  • 拍摄并渲染: 在同一 compose 调用中设置 output:{mode:"video"}。报告返回的 delivery.videoPath。
  • 应用自动样式或缩放: 仅在要求时设置 naturalStyle:true。
  • 编辑已有录制: 使用编辑器工具检查目标项目,然后应用请求的编辑。仅在要求时渲染。

对于后台操作,优先使用引用(ref)。协调操作可能需要真实输入。仅在已有用户授权时设置 allowRealInput:true,否则让 ShotGlass 请求批准。复用同一个 ShotGlass 实例,并一起提交计划好的操作,而不是使用宿主动作循环或不同的录制器。

如果遇到阻塞

如果工具缺失,请阅读 setup。应用和 MCP 服务器必须运行在被拍摄的 Mac 上。

如果权限、弹窗或取消操作中断了录制,请保留返回的项目并报告具体的阻塞原因。不要盲目重试或关闭会修改用户数据的弹窗。两次调用路径适用于已准备、可规划的演示,而非要求假装失败的操作已完成。

相关技能