Communitygithub.com

a1knowhow/demo-maker

将产品演示视频视为代码——使用 YAML + Playwright 生成高质量、一致的网站功能演示视频。可随时重新运行。

demo-maker 是什么?

demo-maker 是一个开源工具,它通过 YAML 配置与 Playwright 自动化框架,将产品网站的交互演示视频定义为代码。开发者无需手动录制或反复重录,只需编写或修改 YAML 脚本即可生成一致的 MP4 视频,可随时重新运行以匹配 UI 变更。该工具支持 Node.js 20+、Playwright Chromium 和 ffmpeg,可集成到 CI/CD 流水线中进行回归检查。核心功能包括:基于 YAML 的场景执行与检查、实时录制生成配置、以及从 DevTools 导入 JSON。它不仅能提高视频维护效率,还能通过强制编写稳定定位符暴露可访问性问题,间接提升产品的可访问性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add a1knowhow/demo-maker

在你喜欢的 AI 中提问

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

预览

来自技能 README

文档

demo-maker 是做什么的?

🎬 开源产品演示视频制作工具,专为网站设计。 通过 YAML 配置和 Playwright 创建一致的网站演示视频——无需手动点击或重新录制。

将版本化的场景配置转化为一致的产品功能视频——重新配置、重新运行,无需手动重新录制。

为什么?

产品 UI 不断变化,演示视频很快就会过时。手动重新录制(或要求 AI 代理“直接制作视频”)速度慢、成本高,并且仍然需要人工检查。

使用 demo-maker,您可以将操作流程作为 YAML 进行版本化:编辑步骤、重新运行,获得相同的 MP4。片段和导入功能使流程可复用;您或 AI 代理可以像维护代码一样维护脚本。

附带收益: 编写稳定的定位符会暴露出真实的 UI 缺陷——缺失标签、重复的可访问名称、难以定位的列表行——因此您在构建演示的同时通常也会修复可访问性问题。

要求

  • Node.js 20+
  • Playwright Chromium (npx playwright install chromium)
  • 将 ffmpeg 添加到 PATH(用于 MP4 重新编码、cut_video 拼接、背景音频)

安装

已发布到 npm,包名为 @a1knowhow/demo-maker:

npm install -D @a1knowhow/demo-maker
npx playwright install chromium

或者从克隆仓库安装:

npm install
npx playwright install chromium

该包包含 TypeScript 源码,并通过 tsx 运行。库导入(import … from "@a1knowhow/demo-maker")需要一个支持 TypeScript 的工具链(tsx、Vitest 或打包工具)。有关运行时能力,请参见 安全。

快速开始

npx demo-maker run examples/smoke.yaml --headless --fast

分步指南(安装 → 首个 MP4 → 录制 → 片段):入门 · GitHub 上的文档

示例操作流程

简介导览:打开此 GitHub 仓库并浏览入门 → 操作 → 定位符(导入、标题卡片、字幕、节奏控制):

npx demo-maker run examples/demo1-introduction.yaml

查看日志

更丰富的 CI 操作流程(Actions → 绿色运行 → 测试任务):

npx demo-maker run examples/demo2-github-actions.yaml

(examples/demo1-introduction.yaml · examples/demo2-github-actions.yaml · examples/smoke.yaml 用于最小检查)

文档

网站:https://a1knowhow.github.io/demo-maker/

主题文档网站源码
首页文档网站docs/index.md
入门入门docs/getting-started.md
命令行接口CLIdocs/cli.md
操作操作docs/actions.md
定位符定位符docs/locators.md
视频与节奏控制视频与节奏docs/video-and-pacing.md
录制录制docs/recording.md
UI 变更后的修复修复docs/repairing-scenarios.md

类型化模式:src/types.ts。

命令

命令目的
demo-maker run <scenario.yaml>执行场景(可选生成视频)
demo-maker check <scenario.yaml>run 加上了 --fail-fast --fast 参数
demo-maker record实时录制操作并输出 YAML
demo-maker import将 DevTools / 录制器 JSON 转换为 YAML
demo-maker export-chapters将时间 JSON 转换为 YouTube 章节行

安全

私下报告漏洞——请参见 SECURITY.md。请勿针对安全漏洞公开提交 issue。

许可证

Apache License 2.0——请参见 LICENSE。

关于 A1KnowHow

demo-maker 最初是为构建 A1KnowHow 的演示视频而创建的——A1KnowHow 专注于 AI 工作流、文档组织、聊天、搜索以及配备技能和 MCP 工具集成的 AI 代理。

相关技能