桃子桃子 AI 快讯
返回首页
工具

shot-scraper 1.10 新增视频录制命令,借助 AI 智能体自动生成演示

Web 自动化工具 shot-scraper 发布 1.10 版本,新增 video 命令可通过 YAML 脚本录制浏览…

2026.07.01 · 周三4 分钟阅读

Simon Willison 在其个人博客发布了 shot-scraper 1.10 版本更新,其中最核心的新功能是新增的 shot-scraper video 命令。该命令接受一个 YAML 格式的「剧本」(storyboard)文件,描述一段在 Web 应用上执行的例行操作流程,然后借助 Playwright 将整个过程录制成视频。Willison 长期倡导让编码智能体(coding agent)为自身工作产出可视化演示,本次更新是他朝这一方向迈出的最新尝试。

功能用法:YAML 剧本驱动录制

shot-scraper video 的工作方式非常直观:用户编写一个 YAML 文件,定义要启动的本地服务器、要访问的 URL、视口尺寸,以及一系列「场景」(scenes),每个场景内按顺序执行 pause(暂停)、click(点击)、fill(填写)、wait_for(等待元素出现)等动作。命令运行后,Playwright 会按剧本逐步驱动浏览器,并将全过程录为 WebM 视频。

例如,在演示 Datasette 新增的「从剪贴板 CSV/TSV/JSON 创建表格」功能时,剧本文件会:

  • 启动一个监听 6419 端口的本地 Datasette 实例;
  • 访问任务页面,模拟用户点击「插入行」按钮;
  • 填入三行示例数据(标题、负责人、状态、优先级、备注);
  • 保存并校验「3 rows inserted」提示出现;
  • 跳转至另一个页面,演示从粘贴的 CSV 直接创建新表 launch_metrics

整个过程通过 --mp4 参数输出视频文件,认证信息则通过 --auth 指定的 JSON 注入 cookie。

AI 智能体深度参与开发

值得一提的是,这段完整的演示剧本与底层功能代码均由 GPT-5.5 xhigh(运行在 Codex Desktop 中)生成。Willison 提供的提示词非常精简:先让智能体阅读当前分支变更,再查阅 shot-scraper video --help 的输出,最后用该命令录一段覆盖新功能的演示。

Willison 特别赞赏一种工程模式:工具的 --help 输出本身就足够详尽,使编码智能体可以直接消费——这相当于把一份 SKILL.md 内嵌进了命令行工具。他在 showboatrodney 等项目中也采用了同样的设计。

实现历程:等待 Playwright 能力成熟

功能并非一蹴而就。Willison 早在数年前就尝试过类似方案,但当时 Playwright 录制的视频带有较多调试用的「chrome」(如进度条、控件边框),不适合作为产品演示。Playwright 后来虽移除了多余界面,但视频起始仍会出现若干白帧。

转折点出现在 Playwright 1.59 引入的新版 screencast 机制:它提供了更细粒度的录制控制,接近 Willison 的需求,但生成的视频被固定为 800px 宽。在他关注的 PR 合并后,playwright-python 1.61.0 终于解除了这一限制,使得 shot-scraper video 得以落地。

小结

本次更新是 Simon Willison 个人维护工具链的一次小步迭代,核心价值在于验证了一条「由 AI 智能体读取 --help、编写剧本、驱动录制」的端到端工作流。对 Datasette 生态用户与关注 AI 编码智能体实践的开发者而言,可作为参考案例;但其影响范围与重要性均较为有限。

信源