# Finance Explainer

「小Lin说」式财经/科技解说视频工作室：选题打分 → 带出处的事实清单（Exa/Tavily/Serper/Firecrawl）→...

- Repository: https://github.com/andyhuo520/digital-human-koubo (1633 stars)
- Category: Media
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add andyhuo520/digital-human-koubo --skill finance-explainer -g -a claude-code -y`
Codex: `npx skills add andyhuo520/digital-human-koubo --skill finance-explainer -g -a codex -y`
Cursor: `npx skills add andyhuo520/digital-human-koubo --skill finance-explainer -g -a cursor -y`
Gemini CLI: `npx skills add andyhuo520/digital-human-koubo --skill finance-explainer -g -a gemini-cli -y`

## Description

「小Lin说」式财经/科技解说视频工作室：选题打分 → 带出处的事实清单（Exa/Tavily/Serper/Firecrawl）→ 按危机型/收购战型/悖论型骨架写有活人感的口播剧本（拍表 episode.json）→ 主播自录音频对齐跳切（或 MiMo 占位）→ 原创数字人出镜（Renoise：Wan 3.0 音频驱动口型 / Grok 1.5 原生说话+后换音色）→ 空镜与梗图（Renoise 便宜模型 + Unsplash/Pexels/Wikimedia）→ Remotion 引擎合成：主播全屏↔缩小↔圆形小窗的「放大缩小」、两代舞台主题（v1 紫色几何 / v2 深色玻璃）、日期贴纸、大数字滚动、术语卡、原文标黄、问题云、竞猜、卡通贴纸独白、章节卡、字幕、BGM 避让与音效。触发：做一期小Lin说那样的视频、财经解说、一口气了解 X、讲讲某个金融事件/收购案/国家经济、数字人口播财经、把这个新闻做成解说视频、复刻财经频道形式。不用于：单支品牌宣传片（用 promo-video）、系列课（用 ai-teardown）、冒充真实主播。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 财经解说工作室（小Lin说式）

把一个财经/科技话题做成 2, 25 分钟的横屏解说片：一个有活人感的主播坐在书房里聊，配图表、文件、空镜和梗，镜头在「主播全屏」和「主播缩成小窗、旁边上图」之间来回切。

完整的频道拆解（160 支元数据、97 支字幕统计、6 支逐帧分类）在 references/channel-teardown.md，网页版报告：https://claude.ai/artifact/EzcUvSJmVqgFJBGpfn3G3Y

## 红线（每次都适用）

- **不冒充真人。**数字人只用原创形象：纯文字生成，或者用户本人 / 明确同意的人的照片。不用真实创作者（包括小Lin本人）的脸、改过发型眼镜的同一张脸、或从他们视频里克隆的声音, , 截图式「授权」、加水印加声明都不改变这一点。用户坚持时，说明理由并给原创方案。
- **不搬内容。**文案、布景、画面全部原创；只学结构和手法。不用影视剧片段、新闻台画面；真实人物用自由协议照片或文字名牌。
- **每个数字有出处。**事实清单 facts.md 里每条都带日期 + 来源 URL；剧本里的数字必须能在清单里找到；查不到的写 ⚠ 且不进剧本。拿不准的地方让主播直说「这个我没查到」, , 这本身就是活人感手法。
- **生成要花用户的 credits。**Renoise 任何 create_tasks 之前，先给出模型、提示词、参数、数量、estimate_cost 总价和余额，等用户在对话里明确同意。口型视频依赖最终音频：音频没定稿前，不要把整片口型都做掉（会付两次钱）。

## 流程

### 0. 准备
- 检索 key 在 `~/.config/xiaolin-explainer/keys.env`（EXA / TAVILY / SERPER / FIRECRAWL / UNSPLASH / 可选 PEXELS、PIXABAY）。只读这个文件，不要扫描系统找密钥。
- 引擎：`bash scripts/setup_engine.sh <项目目录>`（复制 templates/engine，node_modules 优先从本机已有 Remotion 项目 `cp -c` 克隆，失败再 npm install）。

### 1. 选题（references/topic-and-titles.md）
五项打分卡 ≥3 才做；给 3 个标题候选（「一口气了解 + 大对象」「【硬核】」「带数字」「疑问句 + 竖线钩子」）。确认时长：完整版 15, 25 分钟表现最好，演示/跑通先做 2 分钟。

### 2. 事实清单
`python3 scripts/research.py multi "<查询>"` 找线索 → 打开原文核对（`research.py scrape <url>`）→ 写 facts.md：分组、每条「事实（精确数字）, 日期, 来源 + URL」，最后写「容易讲错的地方」。可派子智能体并行查，但交回后自己抽查关键数字。

### 3. 剧本 = 拍表 episode.json（references/narrative-playbook.md + episode-schema.md）
- 选骨架：A 危机/暴雷型（怎么死的）、B 收购/博弈型（怎么打的）、C 悖论型（为什么反常）。
- 每拍一段口播 + 一个主画面（host: full/side/pip/off，或 stage 图表、bg 空镜）+ 若干叠加卡片，口播里用 `[[cue]]` 标卡点。
- 文案指标：成片约 6 字/秒（录音约 4.8）、每分钟 1, 2 个设问、3, 4 个带参照物的数字、1 个英文术语；至少放 3 个活人感手法（开场个人状态 / 替观众说质疑 / 拟人独白 / 生活比喻 / 坦白没查到 / 竞猜停顿 / 先说答案 / 结尾回扣）。
- 同时导出录音稿（每拍一段，去掉 cue 标记，写清读法：英文缩写、数字年份）。

### 4. 声音
- **首选：主播自录。**`python3 scripts/align_recording.py 录音.m4a episode.json voice/` → 逐句对齐、口误重来只留最后一遍、拍内长停顿压到 0.16 秒，输出 timings.json。报告里 ⚠（对齐 <80%）的拍要人工听。
- **占位：**`python3 scripts/narrate_mimo.py narration.json voice --gap 0.22 --lead 0.3`（MiMo 预设音色，语气说明写进 voice.style）。占位就是占位，正式版换真人音频后整条流水线不变。

The rest: https://github.com/andyhuo520/digital-human-koubo/blob/HEAD/skills/finance-explainer/SKILL.md
