mcpField
A
academic-presentations

academic-presentations

github.com/boom5426文档处理637131 次安装2 周前更新
代码仓库

关于 academic-presentations

academic-presentations 是面向研究者的学术演示制作 Skill,根据用户提供的大纲将论文转为幻灯片,并可选生成旁白音频和演示视频。它由用户决定结构与视觉方向,Agent 负责执行各制作阶段。

主要功能

  1. 01按用户大纲起草逐页讲稿
  2. 02用 nanobanana 制作或编辑幻灯片
  3. 03可选生成逐页旁白音频
  4. 04可选用 ffmpeg 合成视频
  5. 05支持将 PPTX 转为图片

适用场景

  1. 01将研究论文内容整理成学术报告
  2. 02基于已有论文图表制作幻灯片
  3. 03为幻灯片批量生成旁白音频
  4. 04将幻灯片、音频和演示录屏合成为视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/boom5426/nature-paper-skills --skill academic-presentations

安装后在 Claude Code 中输入/academic-presentations确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
pptx-conversion.md
slide-generation.md
tts-engines.md
scripts/
batch_tts_edge.py
batch_tts_kokoro.py

详细介绍

学术演示文稿

根据研究论文制作幻灯片(也可选择制作带旁白的演示视频)。所有大纲和视觉设计决策均由人来把控,Agent 负责执行。

流程

[1] Script Draft ──→ [2] Slide Generation ──→ [3] TTS Audio (optional) ──→ [4] Video Assembly (optional)
     Claude Code          nanobanana /edit     edge-tts / Kokoro / ElevenLabs       ffmpeg

仅输出幻灯片时,跳过第 3–4 阶段。用户可以从任意阶段开始。

第 1 阶段:脚本 / 大纲

输入:论文 + 用户提供的大纲或幻灯片计划
输出:video-scripts.md 或 slide-outline.md——逐页内容和讲解要点

Agent 根据用户的大纲起草脚本。结构由用户决定——Agent 不决定幻灯片数量、顺序或重点内容。

第 2 阶段:生成幻灯片

完整参考:references/slide-generation.md

工具:nanobanana(Gemini CLI 扩展)

优先顺序(优先编辑):

  1. 有论文插图 → 使用 nanobanana /edit 将其嵌入幻灯片框架
  2. 有现成幻灯片 → 使用 /edit 进行调整
  3. 用户提供的参考(例如来自 NotebookLM,或用户制作的 PPTX)→ 使用 /edit 进行完善
  4. 从头制作标题页 → 使用学术风格提示词生成
  5. 从头制作内容页 → 使用整套幻灯片风格前导文本生成

核心原则:优先使用 /edit 编辑现有的高质量论文插图,而不是从头生成。

整套幻灯片风格:每套幻灯片创建一次 deck-style.md,并将其附加到所有从头生成的提示词前。使用 /edit 时,风格会继承自基础图片。

deck-style.md 示例:

- Canvas: 1920x1080, white background
- Accent: #2563EB blue, text: #1e293b dark slate
- Clean sans-serif, flat design, no gradients/shadows
- Bottom bar: blue accent with white affiliation text

第 3 阶段:TTS 音频(可选)

完整参考:references/tts-engines.md
批处理脚本:scripts/batch_tts_edge.py、scripts/batch_tts_kokoro.py

输出:每张带旁白的幻灯片对应一个音频文件

引擎选择
引擎质量费用延迟最适合
edge-tts(默认)很好免费、不限量约 6 秒/页(云端)快速生成、优质男声
Kokoro很好免费、不限量约 1.5 秒/页(本地)离线使用、快速批处理、优质女声
ElevenLabs高级每月免费 1 万字符约 3 秒/页(云端)最高音质、语音克隆

默认:除非用户要求离线使用或高级音质,否则使用 edge-tts。

快速开始(edge-tts)
import edge_tts, asyncio

async def tts_slide(text, output, voice="en-US-AndrewNeural"):
    await edge_tts.Communicate(text, voice).save(output)

asyncio.run(tts_slide("Your slide text here", "slide_01.mp3"))

语音:AndrewNeural(男声,演讲者)、AriaNeural(女声)、GuyNeural(男声,温暖)、JennyNeural(女声,专业)

第 4 阶段:组装视频(可选)

工具:ffmpeg
输入:幻灯片 PNG + 音频文件 + 可选的演示录制

# Use symlink to avoid iCloud path spaces: ln -sfn "long path" /tmp/workdir

# Slide with audio:
ffmpeg -y -loop 1 -i slide.png -i audio.mp3 \
  -c:v libx264 -tune stillimage -pix_fmt yuv420p \
  -c:a aac -ar 44100 -ac 2 -shortest seg.mp4

# Silent slide (N seconds):
ffmpeg -y -loop 1 -i slide.png -f lavfi -i anullsrc=r=44100:cl=stereo \
  -c:v libx264 -tune stillimage -pix_fmt yuv420p \
  -c:a aac -ar 44100 -ac 2 -t N seg.mp4

# Concat (always re-encode, never -c copy):
printf "file 'seg1.mp4'\nfile 'seg2.mp4'\n..." > concat.txt
ffmpeg -y -f concat -safe 0 -i concat.txt \
  -c:v libx264 -pix_fmt yuv420p -c:a aac -ar 44100 -ac 2 final.mp4

所有片段必须使用相同的采样率(44100Hz)、立体声和 AAC 编码。

PPTX 转换(如有需要)

完整参考:references/pptx-conversion.md

如果从现有 PPTX 开始,先将幻灯片转换为 PNG 图片:

soffice --headless --convert-to pdf --outdir output/ presentation.pptx
pdftoppm -png -r 300 output/presentation.pdf output/slide

NotebookLM——仅供人类参考

Agent 不得自动调用 NotebookLM,也不得使用其输出指导幻灯片或脚本决策。 大纲、视觉编排和整套幻灯片的方向均由人决定。

推荐时机:仅当用户表示不确定幻灯片该放什么内容,或需要灵感时。

注意事项

  • iCloud 路径中包含空格会导致 ffmpeg 出错——创建符号链接到 /tmp/
  • 音频格式不匹配会导致拼接失败——始终使用 -ar 44100 -ac 2 重新编码
  • ElevenLabs 免费套餐——仅支持 mp3_22050_32,每月 1 万字符
  • edge-tts 需要联网——离线时改用 Kokoro
  • Kokoro WAV 文件约大 7 倍——组装视频前用 ffmpeg 转换为 MP3
  • Kokoro 首次运行会下载约 350MB 的模型——确保虚拟环境中已安装 pip
  • /edit 会扭曲插图——明确说明:“保持原始插图完全不变,只添加边框”
  • 幻灯片风格不一致——使用基础幻灯片通过 /edit 编辑,或在前面附加共享的 deck-style.md

依赖项

工具阶段安装
Gemini CLI + nanobanana2gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
LibreOffice + poppler2(PPTX)brew install --cask libreoffice && brew install poppler
edge-tts3pip install edge-tts
Kokoro3(离线)pip install kokoro soundfile
ElevenLabs3(高级)pip install elevenlabs + ELEVENLABS_API_KEY
ffmpeg4brew install ffmpeg

评论

支持 Markdown