aidemo 的核心目标是让编码智能体能够制作演示视频。你只需向支持 MCP 的智能体(如 Claude Code、Codex CLI、Gemini CLI)描述需求,例如“录制一个 45 秒的结账流程演示”,智能体就会编写一个 storyboard.json。随后,无头引擎驱动真实 Chrome 浏览器,录制确定性的回放,并添加旁白、同步字幕,同时自动裁剪无用时间。由于回放是确定性的,当产品发生变化时,可以在 CI 中重新渲染演示视频,无需重新录制,也无需 API 密钥,每次渲染成本约 0 美元。
主要能力:
- 从自然语言描述生成演示视频,智能体自动编写可编辑的 storyboard.json。
- 确定性回放:录制固定的动作规范,保证视频流畅,不依赖 LLM 实时决策。
- 自动旁白(TTS)和同步字幕(Whisper)。
- 自动缩放(auto-zoom)、滚动缓动、音乐闪避等电影级润色,在合成阶段完成,无需重新录制。
- 输出 MP4、GIF 和静态截图,方便用于 README、落地页、发行说明等。
- 支持本地离线渲染,使用内置语音模型(Kokoro)和脚本定时字幕,无需 API 密钥。
- 可在 CI 中自动维护:通过 GitHub Action 重新渲染提交的 storyboard,保持演示媒体同步。
- 适用于本地主机和需要认证的应用,使用你本地的 Chrome 会话,数据不离开本机。
使用方式:
- 从编码智能体使用(最快路径):在 Claude Code 中运行 /plugin marketplace add tandryukha/aidemo,然后 /plugin install record-demo@aidemo。在 Codex / Gemini / 其他 MCP 智能体中,运行 npx -y github:tandryukha/aidemo#stable repo-init。然后告诉智能体“录制一个 <流程> 的 45 秒演示”即可。
- 本地免费离线渲染:设置 AIDEMO_TTS_PROVIDER=local,运行 aidemo render <目录> --headless。
- 在 CI 中使用:在工作流中添加 uses: tandryukha/aidemo@stable。
- 命令行接口:npx -y @tandryukha/aidemo 或通过 Homebrew 安装 brew install tandryukha/aidemo/aidemo。
- MCP 服务器:aidemo mcp 运行 stdio MCP 服务器,供任何 MCP 客户端使用。
适用场景:
- GitHub README 演示:使用 aidemo gif 生成自动播放的 GIF。
- 落地页主视频:渲染的静音自动播放 MP4。
- 发布/功能演示:为发布说明描述新功能并上传视频。
- 客户和潜在客户演示:针对真实应用(包括本地主机和认证墙)的个性化流程。
- CI 中自维护演示:提交 storyboard 后,GitHub Action 在每次相关变更时生成新的带旁白和字幕的 MP4 和 GIF。
限制与要求:
- 需要 Node 20+、Google Chrome、ffmpeg 和 ffprobe 在 PATH 中。
- 语音和字幕需要 OPENAI_API_KEY 在 .env 中,或使用本地 TTS 提供者(无密钥、离线),或设置 OPENAI_BASE_URL 指向本地服务器。
- 无需下载 Playwright 浏览器,引擎使用系统 Chrome(channel: "chrome")。
- 开发和测试主要在 macOS 上进行;Linux 支持默认捕获和 --capture obs。
- 网络请求仅限用户主动发起:api.openai.com(仅语音/字幕,你的密钥)、api.elevenlabs.io(可选)、huggingface.co(仅下载一次,用于本地 TTS)、github.com(用于反馈)。录制和合成完全本地进行。MCP 服务器仅使用 stdio,无网络监听。
- 无遥测、分析或安装脚本。代码库小,易于审计(约 20 个源文件,7 个运行时依赖,MIT 许可)。
更多文档:docs/AUTHORING.md(storyboard 规范)、docs/LOCAL_MODELS.md(无密钥渲染)、docs/POLISH.md(润色选项)、docs/CI.md(CI 渲染)、docs/CHATGPT_APPS.md(录制 ChatGPT 应用组件)。