用途:为 Web 应用录制一段脚本化的操作演示,输出可嵌入 README 的动图 GIF。工作方式是先用 Playwright 无头浏览器按帧截图,再用 ffmpeg 将截图序列编码为 GIF。
前置条件:Node.js 20+;已安装 ffmpeg(如 brew install ffmpeg);目标应用的开发服务器正在运行。
工作流程:先规划演示场景,建议 8-15 帧,覆盖初始状态、2-3 个关键交互(点击、输入、导航)和结果状态,总时长约 15-25 秒。再编写捕获脚本,默认放在 <project>/demo/capture.mjs,脚本中设置视口 1280×720、deviceScaleFactor 2、fps 0.65、gifWidth 960、max_colors 128 等,通过 page.goto 打开 DEMO_URL 或 http://localhost:5173/,在场景区添加 page.click()、page.fill()、page.locator() 等交互,并用自定义 snap() 截图,最后调用 ffmpeg 合成 assets/demo.gif 并清理临时帧目录。
安装与运行:在项目内执行 npm install --no-save playwright,另开终端启动开发服务器,然后运行 node demo/capture.mjs。将 demo/.frames 加入 .gitignore,README 中用 嵌入。
限制与注意:适用于有拖拽、实时预览、UI 流程的交互式 Web 应用;终端/CLI 工具和库代码演示不适用,应改用 render-remotion-animation 技能。GIF 过大时可降低 gifWidth、提高 fps、减少 max_colors 或删减帧。截图空白需增加等待时间或检查 URL 与 base path;选择器尽量用文本定位,避免含 Tailwind 哈希的 CSS 类。暂无官方收费与平台等信息。