Communitygithub.com

liwoo/证据解释器

将语音备忘录或音频片段(无需摄像头画面)转化为约1分钟的垂直解释性视频,适用于TikTok/Reels/Shorts,用全屏网站截图、公司标志、分步架构图、术语卡片和字幕,直观证明说话者所述内容。

证据解释器 是什么?

Evidence Explainer(证据解释器)是一个面向AI代理的高级技能,旨在将语音笔记或音频片段自动转化为约1分钟的垂直解释性视频,专为TikTok、Reels或Shorts等平台优化。其核心目标是通过视觉证据(全屏网站截图高亮关键行、公司标志以相机快闪效果呈现、适合非技术人员的分步架构图)来“证明”说话者的陈述。该技能涵盖完整的工作流程:转录音频、生成脚本并通过“非技术人员检查”验证、精准剪辑语音(基于能量岛和停顿点)、添加字幕、收集证据截图、构建时间线、添加音效(如交易成功的“咔嗒”声)以及最终渲染。它特别适用于产品演示、金融科技流程解释或公司幕后揭秘类内容,并能在无需用户摄像机或麦克风录制画面时生成完整解释视频。该技能支持Claude Code和Cursor等平台,通过一系列参考文档和脚本驱动,提供了从音频到发布的高效路径。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/liwoo/evidence-explainer/tree/HEAD

在你喜欢的 AI 中提问

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

文档

证据解释器(语音笔记 → 带证据的1分钟竖屏视频)

基于“马拉维人如何在没有外汇的情况下获得Visa卡”(2026年11月11日):一段4分15秒的Android语音笔记 → 一个60.4秒的TikTok视频,包含10个网页作为证据、Bridge自家架构图、9个标志、4次咔嗒声。工作示例位于 assets/examples/visa-cards/(脚本 + 非技术人员检查、剪辑列表、拍摄任务、完整 video.json、发布文案、联系表)。

语音笔记 ─► 转录 + 分岛 ─► 脚本 + 非技术人员检查(检查点) ─► 剪辑语音(验证边缘) ─► 节奏 + 字幕
                                        │
                                        └► 证据:带目标区域的截图 · 标志 · 文档中的图表
                                                                    │
                      video.json 时间线(场景、缩放、标记、术语卡、咔嗒声、图表步骤)
                                                                    │
                  音效 + 安静背景音乐 + 混音 ─► 带安全区域的静态帧 ─► 渲染 ─► 验证

设置

SK=~/.claude/skills/evidence-explainer
zsh $SK/scripts/new_explainer.sh "<音频文件>" .context/<slug>     # ~1-3分钟; 输出磁盘剩余空间
cd .context/<slug>                                                  # 所有脚本从此目录运行(W)

需要 ffmpeg、Python 3 + numpy + Pillow、Node 20+、Chrome(Playwright 驱动已安装的 Chrome)、whisper.cpp + ggml-medium.en.bin 存放在 ~/.cache/whisper.cpp(scripts/setup_whisper.sh 可构建;可通过 WHISPER_DIR 覆盖)。脚手架会在 remotion/ 中运行 npm i,或者当 EXPLAINER_NODE_MODULES 指向现有 node_modules 时克隆它(APFS 写时复制,约0字节)。外观 = “开发者模式”(src/brand.ts:点阵网格、Space Mono 字体、青色/黄色/琥珀色);句柄/网站来自 video.json。

阶段(到达时阅读参考文档)

#阶段阅读工具
1从 sent.txt 编写节拍脚本,然后运行非技术人员检查references/01-script-and-lay-check.md—
2在验证边缘上将语音剪辑至≤60秒,调整节奏,添加字幕references/02-voice-cut.mdislands_labels.txt, dips.py, tx.sh, cut.py, voice.sh, words.py
3证据:截图 + 目标区域、标志、文档图表references/03-evidence.mdshoot.mjs, logo_tools.py, logo.mjs, register_image.py
4在 remotion/src/video.json 中创建时间线references/04-video-json.md引擎 src/Explainer.tsx
5声音:点击声、咔嗒声、安静背景音乐、混音references/05-sound.mdsfx_mix.py, score.py
6带 TikTok 安全区域预览、渲染、验证references/06-render-verify.mdremotion/stills.mjs, sheet.py, verify.sh

脚本确认后的快速路径:

python3 $SK/scripts/cut.py cut.json && zsh $SK/scripts/voice.sh 1.18 "姓名, 品牌, 行话"
python3 $SK/scripts/words.py word_fixes.json
node $SK/scripts/shoot.mjs shoot_jobs.json shots && cp shots/*.png remotion/public/shots/ && cp shots/shots.json remotion/src/shots.json
python3 $SK/scripts/logo_tools.py sync                      # 获取标志后
# 编写 remotion/src/video.json,然后:
python3 $SK/scripts/sfx_mix.py path/to/music.mp3          # 或 `none`
(cd remotion && npx tsc -p . && node stills.mjs 45,300,...) && python3 $SK/scripts/sheet.py stills --zones
(cd remotion && npx remotion render src/index.ts Explainer ../out/<slug>.mp4 --codec=h264 --crf=18 --audio-codec=aac --audio-bitrate=192k)
zsh $SK/scripts/verify.sh out/<slug>.mp4

60秒视频的完整渲染约需40秒;构建后每张静态帧约1秒。

风格指南(来自创建者对首个视频的审查——除非另有指示,请保持)

  • 全屏B-roll。 截图填满1080×1920帧(无浏览器卡片);镜头从广角开始,然后缩放至证明观点的那一行,同时高亮划过该行。左上角显示一个细长的 https://domain 药丸标签和黄色 // evidence: … 标签。
  • 标志以相机快闪效果出现(白色卡片,轻微倾斜,缩放入场,白色闪光)。展示更多标志:提到的每个公司显示一次其标志。
  • 每笔成功交易都有“咔嗒”声(账户创建、收款、钱包充值、支付批准),同时显示绿色✓芯片和圆环。
  • 为非技术人员设计架构图。 一张图表(你 → 应用 → 基础设施 → 卡片),节点中放置标志,逐步构建(“第1步 · 注册”…),节点间带有标记的数据包。仅缩放到其通俗易懂的英文框中显示提供商的开发者图表,从不显示完整图表。
  • 编写脚本后问自己:这对使用产品的非技术人员来说是清晰还是困惑? 在构建前修复所有“困惑”之处(术语卡、更简单的标签、无代码样式)。将检查结果放入脚本文件和摘要中。
  • 字幕固定在底部:字幕框底部边缘固定在帧底部上方400像素处(刚好超过TikTok的用户名/标题块),两行页面向上增长,避开右侧操作栏。
  • 开头是钩子(在第一段证据上方显示大号点阵文字和观众的问题,模糊处理),结尾是关注号召(标志链回顾、关注、句柄、按钮、网站)。
  • 音乐是安静的背景音(score.py BASE −26 LUFS):经测试,高昂戏剧性的配乐被评为“过于响亮且烦人”。

检查点(停止并询问,附带建议)

  1. 脚本 + 非技术人员检查在剪辑任何内容之前:节拍表(他说的内容 → 屏幕上的内容)和困惑/清晰表。
  2. 无法验证的主张(例如“应用X使用了提供商Y”):保留他的原话,屏幕标签表述为“例如”/“一个例子”,并标记出来。
  3. 渲染前:使用 --zones 生成每个新元素的静态帧。
  4. 发布前:标志许可证(CC BY/BY-SA 需要署名行)、稳妥的主张(“很可能”保持可见)、Whisper 听错的名字(即使他说错了,字幕使用正确拼写)。仅在要求时上传。

工作原则

  • 证据胜于断言:每一个事实节拍都有一个页面作为依据,实时捕获,缩放至相关行。优先使用一手来源(公司新闻室、官方文档、监管机构/中央银行、应用商店页面)而非博客。注意页面未说明的内容(Bridge的国家表格 = 哪些国家可以入驻,而非卡片可用性),并相应标注。
  • 仅在验证边缘剪辑:能量岛 + 二分低谷(tx.sh),绝不使用 Whisper 单词时间(它们在手机音频上可能偏移数秒)。重新转录最终剪辑和渲染版本。
  • 术语卡简短具体:“稳定币 = 数字美元,1 USDC ≈ $1”、“KYC = 注册时进行的身份证明+自拍检查”、“API = 让应用使用X的接口”。
  • 缩放限制:1200像素的移动截图在缩放1.0时填满帧(它本身已裁剪约36像素边距);段落可承受≤1.3的缩放,短目标(代码行、表格行)为1.8–2.0。检查高亮单词和任何关键列(如货币)是否保持在帧内。
  • 验证后报告:时长(视频 vs 音频)、−14 LUFS / 峰值 ≤ −1、渲染版本完整转录、高于语音≥+5 dB的咔嗒声、您已查看过的联系表。仅通过标签说明您选择的音乐(无需试听)。

最终摘要格式

交付物路径 + 时长;联系表图像;屏幕内容,逐节拍(简短);非技术人员检查结论;“发布前检查”项(未验证的主张、许可证、稳妥的用语、听错的名字);维护信息(工作目录、磁盘空间、重新渲染成本、应编辑哪个文件)。

相关技能