Communitygithub.com

4ndychu/natural-ai-demo-video

NAVI(自然AI演示视频)能自动生成带人类自然语调、无需真人出镜的演示视频、导览、产品介绍、录屏教程及课程讲解,适用于任何网站或网页应用。

natural-ai-demo-video 是什么?

NAVI 是一个 AI 代理技能,能将“制作一个关于 X 的演示视频”的指令直接转化为带字幕的 MP4 文件。它无需真人出镜、无需麦克风,通过 ElevenLabs 生成听起来像真人自然解释而非机械朗读的 AI 配音。该技能需要运行在用户本地计算机的 Claude Code 环境中(终端、IDE 或桌面应用的 Code 选项卡),不能运行在云端沙箱中。NAVI 的工作流程包括:询问用户需求并设定参数(目标网站、受众、时长等)、用 Playwright 自动化探索目标网站、编写口语化的“说话版”脚本和简洁的“字幕版”脚本、用 ElevenLabs 生成语音、根据语音时间戳精确安排浏览器操作并进行屏幕录制、自动模糊隐私数据(如 API 密钥、密码、邮箱等),最后导出 1080p 的 MP4 视频、SRT 字幕文件和文字稿。它还支持按需重做某段内容、调整语音风格参数(随意度、能量、语速等)、保存语音配置用于系列视频,以及通过内置 UI 应用进行预览和精细调整。当前状态为开发中,本地 UI 应用已完成并附带示例数据,但引擎部分(语音、时间、录制、模糊、渲染)仍在构建,使用时必须如实告知用户哪些步骤真正可用。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/4ndychu/natural-ai-demo-video/tree/HEAD

在你喜欢的 AI 中提问

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

文档

NAVI: 自然 AI 演示视频

NAVI 将“制作 X 的演示”转化为带字幕的成品 MP4:无需真人出镜,无需麦克风,声音听起来像真人在解释,而不是机械朗读。

状态: 开发中。ui/ 中的本地应用已使用示例数据完成开发。引擎(语音、时间、录制、模糊、渲染)正在构建中。在功能可用之前,请直接告诉用户哪些步骤可以实际运行,哪些尚不可用。切勿假装某个步骤已执行。

首先:检查您在哪里运行

NAVI 必须在用户自己的计算机上运行:它会在用户的浏览器中打开一个本地应用,打开第二个浏览器窗口供用户登录测试账号,录制屏幕并将密钥保存在用户钥匙串中。这在 Claude Code(终端、IDE 或桌面应用的 Code 选项卡)中运行。

如果您在云端沙箱中运行(普通的 claude.ai 对话,或任何没有用户本机访问权限的会话),请立即用一两句话说明:NAVI 需要用户计算机上的 Claude Code 才能进行录制,而在这里您仍然可以编写和完善脚本(说话版加字幕版),以便稍后录制。不要尝试在沙箱中安装、录制或调用 ElevenLabs。

何时使用

  • “制作一个关于 <网站或应用> 的演示视频/导览/产品介绍/教程”
  • “录制如何在 <网页应用> 中 <任务>,并配语音解说”
  • “重做我的演示第 3 部分”、“让它更冷静一点”、“在 1:20 处模糊邮箱地址”

不适用于:桌面应用、有真人出镜的视频、声音克隆。

基本规则(始终遵守)

  1. 切勿在网站中输入密码、验证码或密钥。 浏览器会打开,由用户自行登录,最好使用测试账号和虚假数据。
  2. 切勿打印、记录或提交 ElevenLabs 密钥。 仅从钥匙串或用户的本地密钥文件中读取。始终仅将其发送给 ElevenLabs。
  3. 安装任何内容之前先询问(Playwright、ffmpeg、计时模型)。说明安装内容及大致大小。
  4. 在消耗积分之前显示积分成本(样本、录制、重做)。
  5. 隐私等级不是可选的。 等级 1 始终模糊。当用户开启金钱数字或其他人的数据时发出警告。
  6. 切勿为了适应视频而暂停或加速语音。 视频应保持或拉伸以匹配语音。
  7. 明确说明模糊能降低风险,但不能降至零。 用户必须在发布前自行观看。

流程

0. 首次运行(一次性)

  • 要求提供 ElevenLabs API 密钥(Starter 计划及以上,文本转语音访问权限)。测试密钥并显示剩余积分。将其存储在系统钥匙串(macOS)或技能文件夹外的本地文件中(Linux),仅用户本人可读。
  • 检查 Playwright、ffmpeg 和计时模型。询问后,安装缺失的组件。
  • 询问用户首先演示哪个网站,打开浏览器让其登录。按站点保存会话。
  • 返回用户跳过以上所有步骤。只需按演示更改网站即可。

1. 简报

用尽可能少的问题获取以下信息:要展示什么、哪个网站、观看对象(初学者 / 有一定经验 / 专业人士)、时长(1、3、5 或 8 分钟)、需要屏蔽的内容、以及使用哪个声音。除非用户另有说明,字幕和角标使用用户的保存默认值(字幕烧录,无角标)。切勿添加用户未要求的水印、品牌名称、“仅供示意”标签或任何其他叠加内容。 使用合理的默认值,而不是事无巨细地询问。新网站意味着需要一次性登录。

如果用户中途改变方向(“改为制作付款页面的演示”),保留当前演示作为草稿,并根据用户新说的话开始新的简报。

2. 探索

使用 Playwright 和保存的会话打开网站。绘制屏幕映射、任务所需的确切点击和输入字段,以及任何加载缓慢的内容。不要更改真实数据;坚持使用测试账号。

3. 脚本

将视频分成短小段落(每段约 15 到 35 秒)。为每段写两行:

  • 说话版(语音说的内容):真人实际口头解释的方式。在画面值得时加入适当的小重启、反应和观点;极少填充词。
  • 字幕版(显示的内容):干净、简短、无填充词。

遵循 reference/voice-rules.md。并排显示两个版本,获得批准后再消耗任何积分。

4. 语音

  • 从该声音针对此类演示(课程导览、快速 SaaS 演示、产品介绍)的推荐设置开始。
  • 滑块及其安全范围:随意度 3 到 8,能量 1 到 6,语速 0.94x 到 1.08x,犹豫音 0 到 3,呼吸声 0 到 2,脏话 0 到 2(切勿在指令内部使用;除非用户要求,否则字幕保持干净)。
  • 文本预览免费。一个音频样本大约消耗 300 积分;首次试听语音大约消耗 120 积分。
  • 倾向于冷静:更高的稳定性和放松的语调。避免高亢的单行词。不要添加呼吸标签。
  • 如果用户希望整个系列使用一个声音,则将其锁定到项目中。

5. 隐私

在录制前应用等级:

  • 始终模糊: API 密钥和令牌、密码、2FA 和恢复代码、银行卡和银行账号、身份证号码、私钥、登录链接。
  • 除非允许,否则模糊: 邮箱地址、电话号码、真实姓名和照片、地址、金钱数字、客户详细信息、关注者和会员数量。
  • 除非要求模糊,否则显示: 使用统计数据、公开价格、日期。
  • 加上用户自己的隐藏词。

6. 录制

参见 docs/engine.md。简而言之:为每个部分生成一次连续录制,获取单词时间戳,将每个浏览器操作安排在其对应单词的时间点,录制,当操作执行超时时保持帧不变,切勿暂停音频。然后扫描帧,找出页面级模糊遗漏的任何内容。

7. 审阅

在本地应用中打开“审阅”步骤。用户标记特定时刻(听起来像 AI、需要模糊、太快)或输入注释。显示重做成本,然后仅重做标记的部分。记录标记及所使用的设置,以便语音默认值随时间改进。

8. 导出

应用演示的字幕设置(烧录、单独的 .srt 或关闭)和角标(关闭,或用户文本在所选角落);更改为仅重新渲染,不消耗积分。将 MP4(1080p)、字幕(.srt,除非关闭字幕)和文字稿,以及可选的 720p 预览版,渲染到用户命名的文件夹中(默认为 ~/Movies/NAVI),以便视频可以直接放入其所属的项目。按演示标题命名文件。

您的数据

用户可以通过“设置”删除密钥(也提醒他们在 ElevenLabs 中撤销)、忘记保存的登录信息、重置设置,或删除 NAVI 保存的所有内容。完成的视频绝不会被触碰。卸载意味着同时删除此技能文件夹。

文件

  • reference/voice-rules.md:如何编写说话版脚本和生成听起来像人类的语音。在第 3 步之前阅读。

  • reference/recording-rules.md:如何随语音同步录制屏幕。在第 6 步之前阅读。

  • reference/privacy.md:模糊等级和警告。在第 5 步之前阅读。

  • config/defaults.json:滑块范围、预设、每个声音的设置和屏幕默认值

  • ui/index.html:本地应用(在浏览器中打开;参数 ?start=home|voice|review|settings,&theme=light|dark)

  • ui/app.js:屏幕、状态和示例数据

  • docs/engine.md:录制、计时、模糊和渲染的工作原理

相关技能