qiaomu-anything-to-notebooklm

多源内容智能处理器:支持微信公众号、网页、YouTube、播客(小宇宙/喜马拉雅)、PDF、Markdown等,自动上传到NotebookLM并生成播客/PPT/思维导图等多种格式。支持深度分析模式和飞书文档自动创建

install
source · Clone the upstream repo
git clone https://github.com/joeseesun/qiaomu-anything-to-notebooklm
Claude Code · Install into ~/.claude/skills/
git clone --depth=1 https://github.com/joeseesun/qiaomu-anything-to-notebooklm ~/.claude/skills/joeseesun-qiaomu-anything-to-notebooklm-qiaomu-anything-to-notebooklm
manifest: SKILL.md
source content

多源内容 → NotebookLM 智能处理器

自动从多种来源获取内容,上传到 NotebookLM,并根据自然语言指令生成播客、PPT、思维导图等多种格式。

支持的内容源

1. 微信公众号文章

通过 MCP 服务器自动抓取微信公众号文章内容(绕过反爬虫)

2. 任意网页链接

支持任何公开可访问的网页(新闻、博客、文档等)

3. 播客(小宇宙/喜马拉雅)+ B站视频

通过 Get笔记 API 获取完整转写文本(带时间戳),支持小宇宙、喜马拉雅、B站视频等音频/视频平台

4. X/Twitter 帖子

通过内置代理级联(r.jina.ai → defuddle.md → agent-fetch)抓取推文内容(含长推文线程),转为 Markdown

5. 付费墙网站自动绕过

自动检测并绕过 NYT、WSJ、FT、Economist、Bloomberg、Medium 等 300+ 付费网站的付费墙。策略:UA 伪装(Googlebot/Bingbot)→ Referer 伪装(Google/Facebook)→ AMP 页面 → archive.today 存档

5. YouTube 视频

自动提取 YouTube 视频的字幕和元数据

4. Office 文档

  • Word (DOCX) - 保留表格和格式
  • PowerPoint (PPTX) - 提取幻灯片和备注
  • Excel (XLSX) - 表格数据

5. 播客/音频平台

  • 小宇宙 (xiaoyuzhoufm.com) - 通过 Get笔记 API 获取完整转写
  • 喜马拉雅 (ximalaya.com) - 通过 Get笔记 API 获取完整转写
  • B站视频 (bilibili.com) - 通过 Get笔记 API 获取完整转写
  • 其他音频链接 - 通过 Get笔记 API 获取转写

5. 电子书与文档

  • PDF - 全文提取
  • EPUB - 电子书全文提取
  • Markdown (.md) - 原生支持

6. 图片与扫描件

  • Images (JPEG, PNG, GIF, WebP) - OCR 识别文字
  • 扫描的 PDF 文档 - OCR 提取文字

7. 音频文件

  • Audio (WAV, MP3) - 语音转文字

8. 结构化数据

  • CSV - 逗号分隔数据
  • JSON - JSON 数据
  • XML - XML 文档

9. 压缩包

  • ZIP - 自动解压并处理所有支持的文件

10. 纯文本

直接输入或粘贴的文本内容

11. 搜索关键词

通过 Web Search 搜索关键词,汇总多个来源的信息

前置条件

1. 安装 wexin-read-mcp

MCP 服务器已安装在:

~/.claude/skills/qiaomu-anything-to-notebooklm/wexin-read-mcp/

配置 MCP(需要手动添加到 Claude 配置文件):

macOS: 编辑

~/.claude/config.json

{
  "primaryApiKey": "any",
  "mcpServers": {
    "weixin-reader": {
      "command": "python",
      "args": [
        "/Users/joe/.claude/skills/qiaomu-anything-to-notebooklm/wexin-read-mcp/src/server.py"
      ]
    }
  }
}

配置后需要重启 Claude Code。

2. notebooklm 认证

首次使用前必须认证:

notebooklm login
notebooklm list  # 验证认证成功

触发方式

微信公众号文章

  • /qiaomu-anything-to-notebooklm [微信文章链接]
  • "把这篇微信文章传到NotebookLM"
  • "把这篇微信文章生成播客"

网页链接

  • "把这个网页做成播客 [URL]"
  • "这篇文章帮我做成PPT [URL]"
  • "帮我分析这个网页 [URL]"

播客(小宇宙/喜马拉雅/B站)

  • "把这个播客生成播客 [小宇宙链接]"
  • "这个小宇宙节目帮我做成PPT [链接]"
  • "深度解读这期播客 [喜马拉雅链接]"
  • "把这个B站视频转写传到NotebookLM [bilibili链接]"
  • "B站视频帮我生成思维导图 [bilibili链接]"

X/Twitter 帖子

  • "把这条推文传到NotebookLM [x.com链接]"
  • "这篇推文线程帮我生成报告 [x.com链接]"
  • "深度分析这条推文 [twitter.com链接]"

YouTube 视频

  • "把这个YouTube视频做成播客 [YouTube URL]"
  • "这个视频帮我生成思维导图 [YouTube URL]"

本地文件

  • "把这个PDF上传到NotebookLM /path/to/file.pdf"
  • "这个Markdown文件生成PPT /path/to/file.md"
  • "这个EPUB电子书生成播客 /path/to/book.epub"
  • "把这个Word文档做成思维导图 /path/to/doc.docx"
  • "这个PowerPoint生成Quiz /path/to/slides.pptx"
  • "把这个扫描PDF做成报告 /path/to/scan.pdf"(自动OCR)

搜索关键词

  • "搜索 'AI发展趋势' 并生成报告"
  • "搜索关于'量子计算'的资料做成播客"

混合使用

  • "把这篇文章、这个视频和这个PDF一起上传,生成一份报告"

深度分析模式(递归提问)

  • "深度分析这本书 /path/to/book.epub"
  • "提炼这篇文章的核心观点 [URL]"
  • "递归提问分析这个PDF /path/to/file.pdf"
  • "帮我深度解读这个视频 [YouTube URL]"

深度分析 + 飞书文档

  • "深度分析这本书并写入飞书 /path/to/book.epub"
  • "分析这篇文章后创建飞书文档 [URL]"
  • "递归提问并生成飞书文档 /path/to/file.pdf"

自然语言 → NotebookLM 功能映射

用户说的话识别意图NotebookLM 命令
"生成播客" / "做成音频" / "转成语音"audio
generate audio
"做成PPT" / "生成幻灯片" / "做个演示"slide-deck
generate slide-deck
"画个思维导图" / "生成脑图" / "做个导图"mind-map
generate mind-map
"生成Quiz" / "出题" / "做个测验"quiz
generate quiz
"做个视频" / "生成视频"video
generate video
"生成报告" / "写个总结" / "整理成文档"report
generate report
"做个信息图" / "可视化"infographic
generate infographic
"生成数据表" / "做个表格"data-table
generate data-table
"做成闪卡" / "生成记忆卡片"flashcards
generate flashcards
"深度分析" / "提炼核心观点" / "递归提问" / "深度解读"deep-analysis自动生成10个问题并递归提问
"写入飞书" / "创建飞书文档" / "生成飞书文档" / "保存到飞书"feishu创建飞书文档并写入内容

如果没有明确指令,默认只上传不生成任何内容,等待用户后续指令。

工作流程

Step 1: 识别内容源类型

Claude 自动识别输入类型:

输入特征识别为处理方式
https://mp.weixin.qq.com/s/
微信公众号MCP 工具抓取
https://youtube.com/...
https://youtu.be/...
YouTube直接传递给 NotebookLM
xiaoyuzhoufm.com
ximalaya.com
bilibili.com
播客/视频Get笔记 API 转写 → TXT
x.com
twitter.com
X/Twitter 帖子内置代理级联抓取 → TXT
https://
http://
(付费网站)
付费墙网页内置付费墙绕过(UA伪装+archive.today)→ TXT
https://
http://
网页直接传递给 NotebookLM
/path/to/file.pdf
PDF 文件markitdown 转 Markdown → TXT
/path/to/file.epub
EPUB 电子书Python ebooklib 提取文本 → TXT(避免 Calibre)
/path/to/file.docx
Word 文档markitdown 转 Markdown → TXT
/path/to/file.pptx
PowerPointmarkitdown 转 Markdown → TXT
/path/to/file.xlsx
Excelmarkitdown 转 Markdown → TXT
/path/to/file.md
Markdown直接上传
/path/to/image.jpg
图片(OCR)markitdown OCR → TXT
/path/to/audio.mp3
音频markitdown 转录 → TXT
/path/to/file.zip
ZIP 压缩包解压 → markitdown 批量转换
关键词(无URL,无路径)搜索查询WebSearch → 汇总 → TXT

Step 2: 获取内容

微信公众号

  • 使用 MCP 工具
    read_weixin_article
  • 返回:title, author, publish_time, content
  • 保存为 TXT:
    /tmp/weixin_{title}_{timestamp}.txt

播客/视频(小宇宙/喜马拉雅/B站)

  • 通过 Get笔记 API 获取完整转写文本
  • 调用
    python3 ~/.claude/skills/qiaomu-anything-to-notebooklm/scripts/get_podcast_transcript.py <URL>
  • 脚本自动执行:创建链接笔记 → 等待转写 → 获取全文 → 保存 TXT
  • 返回 TXT 路径和标题
  • 依赖:Get笔记 API Key(环境变量
    GETNOTE_API_KEY
    GETNOTE_CLIENT_ID
    )+ Web Token(
    ~/.claude/skills/getnote/tokens.json

X/Twitter 帖子

  • 通过内置代理级联抓取推文内容(r.jina.ai → defuddle.md → agent-fetch)
  • 调用
    bash ~/.claude/skills/qiaomu-anything-to-notebooklm/scripts/fetch_url.sh "https://x.com/..."
    获取 Markdown 内容
  • 自动处理 X 登录墙和错误页面
  • 保存为 TXT 后上传到 NotebookLM

网页/YouTube

  • 直接使用 URL 调用
    notebooklm source add [URL]
  • NotebookLM 自动提取内容
  • 付费墙绕过:遇到付费网站时,
    fetch_url.sh
    自动启用多重绕过策略:
    1. r.jina.ai — 通常能绕过软付费墙
    2. Googlebot/Bingbot UA 伪装 — 模拟搜索引擎爬虫(网站为了 SEO 通常给爬虫全文)
    3. Referer 伪装 — 伪装来自 Google/Facebook(社交引流豁免)
    4. AMP 页面 — AMP 版本通常没有付费墙
    5. archive.today — 从网页存档获取全文
    • 支持的付费网站:NYT、WSJ、FT、Economist、Bloomberg、Washington Post、New Yorker、Wired、The Atlantic、Medium、MIT Technology Review、SCMP 等 300+ 站点

Office 文档/电子书/PDF

  • EPUB:使用 Python ebooklib + BeautifulSoup 直接提取文本(避免 Calibre 架构问题)
  • 其他格式:使用 markitdown 转换为 Markdown
  • 命令:
    markitdown /path/to/file.docx -o /tmp/converted.md
  • 保存为 TXT:
    /tmp/{filename}_converted_{timestamp}.txt

本地 Markdown

  • 直接上传:
    notebooklm source add /path/to/file.md

图片(OCR)

  • markitdown 自动 OCR 识别文字
  • 提取 EXIF 元数据
  • 保存为 TXT

音频文件

  • markitdown 自动转录语音为文字
  • 提取音频元数据
  • 保存为 TXT

ZIP 压缩包

  • 自动解压到临时目录
  • 遍历所有支持的文件
  • 批量使用 markitdown 转换
  • 合并为单个 TXT 或多个 Source

搜索关键词

  • 使用 WebSearch 工具搜索关键词
  • 汇总前 3-5 条结果
  • 保存为 TXT:
    /tmp/search_{keyword}_{timestamp}.txt

Step 3: 上传到 NotebookLM

调用

notebooklm
skill:

notebooklm create "{title}"  # 创建新笔记本
notebooklm source add /tmp/weixin_xxx.txt --title "{title}"  # 上传文件

注意:NotebookLM 会自动处理上传的文件,无需手动等待。

Step 4: 深度分析模式(可选)

如果用户指定了"深度分析"、"递归提问"等意图,自动执行:

# 仅深度分析
python ~/.claude/skills/qiaomu-anything-to-notebooklm/main.py \
  /path/to/file.epub --deep-analysis

# 深度分析 + 自动创建飞书文档
python ~/.claude/skills/qiaomu-anything-to-notebooklm/main.py \
  /path/to/file.epub --deep-analysis --to-feishu

深度分析流程

  1. 上传内容到 NotebookLM
  2. 根据内容类型自动生成 10 个深度问题
  3. 依次向 NotebookLM 提问并收集答案
  4. 返回结构化 JSON 数据(包含问题、答案、统计信息)
  5. (可选)如果指定
    --to-feishu
    ,自动创建飞书文档并写入问答内容

问题类型

  • 书籍/文档:核心观点、金句、论证逻辑、实践建议、局限性等
  • 视频:目标受众、关键数据、叙事结构、精华版内容等
  • 文章/网页:写作目的、数据支撑、作者立场、个人启发等

输出格式

{
  "status": "success",
  "title": "书名/标题",
  "content_type": "epub/document/url",
  "questions": ["问题1", "问题2", ...],
  "answers": ["答案1", "答案2", ...],
  "total_questions": 10,
  "answered": 10
}

Step 5: 根据意图生成内容(可选)

如果用户指定了处理意图,自动调用对应命令:

意图命令等待下载
audio
notebooklm generate audio
artifact wait
download audio ./output.mp3
slide-deck
notebooklm generate slide-deck
artifact wait
download slide-deck ./output.pdf
mind-map
notebooklm generate mind-map
artifact wait
download mind-map ./map.json
quiz
notebooklm generate quiz
artifact wait
download quiz ./quiz.md --format markdown
video
notebooklm generate video
artifact wait
download video ./output.mp4
report
notebooklm generate report
artifact wait
download report ./report.md
infographic
notebooklm generate infographic
artifact wait
download infographic ./infographic.png
flashcards
notebooklm generate flashcards
artifact wait
download flashcards ./cards.md --format markdown

生成流程

  1. 发起生成请求(返回 task_id)
  2. 等待生成完成(
    artifact wait <task_id>
  3. 下载生成的文件到本地
  4. 告知用户文件路径

完整示例

示例 1:微信公众号文章 → 播客

用户输入

把这篇文章生成播客 https://mp.weixin.qq.com/s/abc123xyz

执行流程

  1. 识别为微信公众号链接
  2. MCP 工具抓取文章内容
  3. 创建 TXT 文件
  4. 上传到 NotebookLM
  5. 生成播客(
    generate audio
  6. 下载播客到本地

输出

✅ 微信文章已转换为播客!

📄 文章:深度学习的未来趋势
👤 作者:张三
📅 发布:2026-01-20

🎙️ 播客已生成:
📁 文件:/tmp/weixin_深度学习的未来趋势_podcast.mp3
⏱️ 时长:约 8 分钟
📊 大小:12.3 MB

示例 2:YouTube 视频 → 思维导图

用户输入

这个视频帮我画个思维导图 https://www.youtube.com/watch?v=abc123

执行流程

  1. 识别为 YouTube 链接
  2. 直接传递给 NotebookLM(自动提取字幕)
  3. 生成思维导图(
    generate mind-map
  4. 下载思维导图

输出

✅ YouTube 视频已转换为思维导图!

🎬 视频:Understanding Quantum Computing
⏱️ 时长:23 分钟

🗺️ 思维导图已生成:
📁 文件:/tmp/youtube_quantum_computing_mindmap.json
📊 节点数:45 个

示例 3:搜索关键词 → 报告

用户输入

搜索 'AI发展趋势 2026' 并生成报告

执行流程

  1. 识别为搜索查询
  2. WebSearch 搜索关键词
  3. 汇总前 5 条结果
  4. 创建 TXT 文件
  5. 上传到 NotebookLM
  6. 生成报告(
    generate report

输出

✅ 搜索结果已生成报告!

🔍 关键词:AI发展趋势 2026
📊 来源:5 篇文章

📄 报告已生成:
📁 文件:/tmp/search_AI发展趋势2026_report.md
📝 章节:7 个
📊 大小:15.2 KB

示例 4:混合多源 → PPT

用户输入

把这篇文章、这个视频和这个PDF一起做成PPT:
- https://example.com/article
- https://youtube.com/watch?v=xyz
- /Users/joe/Documents/research.pdf

执行流程

  1. 创建新 Notebook
  2. 依次添加 3 个 Source
  3. 基于所有 Source 生成 PPT

输出

✅ 多源内容已整合为PPT!

📚 内容源:
  1. 网页文章:AI in 2026
  2. YouTube:Future of AI
  3. PDF:Research Notes (12 页)

📊 PPT 已生成:
📁 文件:/tmp/multi_source_slides.pdf
📄 页数:25 页
📦 大小:3.8 MB

示例 5: EPUB 电子书 → 播客

用户输入

把这本电子书做成播客 /Users/joe/Books/sapiens.epub

执行流程

  1. 识别为 EPUB 文件
  2. markitdown 转换为 Markdown
  3. 保存为 TXT
  4. 上传到 NotebookLM
  5. 生成播客

输出

✅ EPUB 电子书已转换为播客!

📚 电子书:Sapiens: A Brief History of Humankind
📄 页数:约 450 页
📊 字数:约 15 万字

🎙️ 播客已生成:
📁 文件:/tmp/sapiens_podcast.mp3
⏱️ 时长:约 45 分钟(精华版)
📊 大小:48.2 MB

示例 6:Word 文档 → Quiz

用户输入

这个Markdown生成Quiz /Users/joe/notes/machine_learning.md

执行流程

  1. 识别为本地 Markdown 文件
  2. 直接上传到 NotebookLM
  3. 生成 Quiz(
    generate quiz

输出

✅ Markdown 已转换为Quiz!

📄 文件:machine_learning.md
📊 大小:8.5 KB

📝 Quiz 已生成:
📁 文件:/tmp/machine_learning_quiz.md
❓ 题目:15 道(10选择 + 5简答)

错误处理

URL 格式错误

❌ 错误:URL 格式不正确

必须是微信公众号文章链接:
https://mp.weixin.qq.com/s/xxx

你提供的链接:https://example.com

文章获取失败

❌ 错误:无法获取文章内容

可能原因:
1. 文章已被删除
2. 文章需要登录查看(暂不支持)
3. 网络连接问题
4. 微信反爬虫拦截(请稍后重试)

建议:
- 检查链接是否正确
- 等待 2-3 秒后重试
- 或手动复制文章内容

NotebookLM 认证失败

❌ 错误:NotebookLM 认证失败

请运行以下命令重新登录:
  notebooklm login

然后验证:
  notebooklm list

生成任务失败

❌ 错误:播客生成失败

可能原因:
1. 文章内容太短(< 100 字)
2. 文章内容太长(> 50万字)
3. NotebookLM 服务异常

建议:
- 检查文章长度是否适中
- 稍后重试
- 或尝试其他格式(如生成报告)

高级功能

1. 多意图处理

用户可以一次性指定多个处理任务:

这篇文章帮我生成播客和PPT https://mp.weixin.qq.com/s/abc123

Skill 会依次执行:

  1. 生成播客
  2. 生成 PPT

2. 自定义 Notebook

默认每篇文章创建新 Notebook,也可以指定已有 Notebook:

把这篇文章加到我的【AI研究】笔记本 https://mp.weixin.qq.com/s/abc123

Skill 会:

  1. 搜索名为"AI研究"的 Notebook
  2. 将文章添加为新 Source
  3. 基于所有 Sources 生成内容

3. 自定义生成指令

为生成任务添加具体要求:

这篇文章生成播客,要求:轻松幽默的风格,时长控制在5分钟

Skill 会将要求作为 instructions 传给 NotebookLM。

注意事项

  1. 频率限制

    • 每次请求间隔 > 2 秒,避免被微信封禁
    • NotebookLM 生成任务有并发限制(最多 3 个同时进行)
  2. 内容长度

    • 微信文章通常 1000-5000 字,适合生成播客(3-8 分钟)
    • 超过 10000 字的长文可能需要更长生成时间
    • 少于 500 字的短文可能生成效果不佳
  3. 版权遵守

    • 仅用于个人学习研究
    • 遵守微信公众号的版权规定
    • 生成的内容不得用于商业用途
  4. 生成时间

    • 播客:2-5 分钟
    • 视频:3-8 分钟
    • PPT:1-3 分钟
    • 思维导图:1-2 分钟
    • Quiz/闪卡:1-2 分钟
  5. 文件清理

    • TXT 源文件保存在
      /tmp/
      ,系统重启后自动清理
    • 生成的文件(MP3/PDF/MD 等)默认保存在
      /tmp/
    • 可以指定自定义保存路径

相关 Skills

  • notebooklm
    - NotebookLM 核心功能
  • notebooklm-deep-analyzer
    - 深度分析 NotebookLM 内容
  • markitdown
    - 转换其他格式文档

配置 MCP(重要)

⚠️ 第一次使用前必须配置

编辑

~/.claude/config.json

{
  "primaryApiKey": "any",
  "mcpServers": {
    "weixin-reader": {
      "command": "python",
      "args": [
        "/Users/joe/.claude/skills/qiaomu-anything-to-notebooklm/wexin-read-mcp/src/server.py"
      ]
    }
  }
}

配置后重启 Claude Code!

故障排查

1. MCP 工具未找到

# 测试 MCP 服务器
python ~/.claude/skills/qiaomu-anything-to-notebooklm/wexin-read-mcp/src/server.py

# 如果报错,检查依赖
cd ~/.claude/skills/qiaomu-anything-to-notebooklm/wexin-read-mcp
pip install -r requirements.txt
playwright install chromium

2. NotebookLM 命令失败

# 检查认证状态
notebooklm status

# 重新登录
notebooklm login

# 验证
notebooklm list

3. 文件权限问题

# 确保临时目录可写
chmod 755 /tmp

# 测试写入
touch /tmp/test.txt && rm /tmp/test.txt

4. 生成任务卡住

# 检查任务状态
notebooklm artifact list

# 如果显示 "pending" 超过 10 分钟,取消重试
# (目前 CLI 不支持取消,需要在网页端操作)

典型使用场景

场景 1:快速学习

我想学习这篇文章,帮我生成播客,上下班路上听
链接:https://mp.weixin.qq.com/s/abc123

→ 生成 8 分钟播客,通勤时间听完

场景 2:分享给团队

这篇文章不错,做成PPT分享给团队
https://mp.weixin.qq.com/s/abc123

→ 生成 15 页 PPT,直接用于团队分享

场景 3:复习巩固

这篇技术文章帮我出题,想测试一下掌握程度
https://mp.weixin.qq.com/s/abc123

→ 生成 10 道选择题 + 5 道简答题

场景 4:可视化理解

这篇文章概念比较多,画个思维导图帮我理清结构
https://mp.weixin.qq.com/s/abc123

→ 生成思维导图,一目了然


Skill 创建时间:2026-01-25 最后更新:2026-01-25 版本:v1.0.0