ShotGlass 是做什么的?
通过 ShotGlass 连接的 MCP 工具进行录制。使用已安装服务器的当前架构获取工具名称和参数。
从这开始
对于新的演示,使用两次调用:
recording_prepare({app:"Notes", allowSystemDisplayPrompt:true})— 替换为所需的应用。读取返回的截图、引用和snapshotId。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 上。
如果权限、弹窗或取消操作中断了录制,请保留返回的项目并报告具体的阻塞原因。不要盲目重试或关闭会修改用户数据的弹窗。两次调用路径适用于已准备、可规划的演示,而非要求假装失败的操作已完成。