qiaomu-anything-to-notebooklm
Claude Code スキル · 多様なソース → Google NotebookLM · MIT
Anything → NotebookLM(joeseesun/qiaomu-anything-to-notebooklm)は、自然言語で指示したソースを Google NotebookLM に載せ、ポッドキャスト・スライド・マインドマップ・クイズなどへ変換する Claude Code スキル。URL・ローカルファイル・検索キーワードを main.py とエージェント手順が型ごとに正規化し、notebooklm CLI でノートブック操作する。
典型フローは「WeChat 記事をポッドキャストに」「有料記事をマインドマップに」「小宇宙(中国のポッドキャストアプリ)の番組をスライドに」など、ユーザー発話 → ソース取得 → NotebookLM アップロード → (任意)成果物生成、という一本線(README・SKILL.md)。
flowchart LR IN[入力 URL / ファイル / 検索語] DET[detect_input_type] GET[取得・変換] UP[notebooklm source add] GEN[generate(任意)] OUT[MP3 / PDF / JSON 等] IN --> DET --> GET --> UP --> GEN --> OUT
main.py の detect_input_type() は HTTP URL・拡張子・存在しないパス(検索語扱い)で分岐する。WeChat は MCP、YouTube は URL を NotebookLM に直接渡す(yt-dlp 等は SKILL で禁止)、ポッドキャスト系は Get笔记 API 経由の TXT、一般 URL は fetch_url.sh または NotebookLM 直取り。
SKILL.md の意図表にマップされる。
| 入力 | 識別 | 処理の要点 |
|---|---|---|
| WeChat 公式アカウント | mp.weixin.qq.com | MCP read_weixin_article → TXT |
| YouTube | youtube.com / youtu.be | 直接 URL NotebookLM が字幕取得 |
| ポッドキャスト・動画 | 小宇宙 / 喜馬拉雅(Ximalaya)/ bilibili | get_podcast_transcript.py(Get笔记 API) |
| X / Twitter | x.com / twitter.com | fetch_url.sh プロキシ段階取得 → TXT |
| ペイウォール付き Web | 一般 https:// | 6 段階の回避 → TXT または NotebookLM |
| Office / PDF / EPUB | 拡張子 | EPUB は ebooklib、他は markitdown → TXT |
| 画像・音声 | .jpg / .mp3 等 | markitdown(OCR / 文字起こし) |
| ZIP | .zip | 解凍後に対応形式を一括変換 |
| 検索語 | URL でもパスでもない文字列 | WebSearch → 要約 TXT |
同梱サブモジュール
feishu-read-mcp/ は Feishu(飞书)ドキュメント連携用 MCP(深度分析 + Feishu へ書き出すフローで参照)。WeChat 用 MCP は SKILL 上 wexin-read-mcp(表記は README と SKILL でディレクトリ名が揺れる)として別途設定する。
README の回避戦略を要約。失敗時に次段へフォールバックする。
- 代理サービス(r.jina.ai / defuddle.md)
- サイト別 Bot UA(Googlebot / Bingbot)
- UA 偽装 + X-Forwarded-For + Referer + AMP + EU IP
- archive.today(CAPTCHA 検知あり)
- Google Cache
- agent-fetch ローカルツール
対象例: NYT, WSJ, FT, Economist, Bloomberg, Medium, SCMP など(README の表)。実装の多くは scripts/fetch_url.sh に集約されている。
| ユーザー意図(例) | コマンド | 成果物 |
|---|---|---|
| ポッドキャスト / 音声 | generate audio | MP3 等 |
| スライド | generate slide-deck | PDF 等 |
| マインドマップ | generate mind-map | JSON 等 |
| クイズ / レポート / インフォグラフィック | quiz / report / infographic | 各形式 |
| 深度分析 / 再帰的質問 | main.py --deep-analysis | 10 問の Q&A JSON |
| Feishu ドキュメント | --to-feishu | Feishu 上にドキュメント作成 |
生成時は artifact wait で完了待ちし、download でローカルへ保存する流れ(SKILL.md)。深度分析は内容型に応じた質問セットを自動生成し、NotebookLM へ逐次質問する。
YouTube の特例
| 推奨 | 禁止(SKILL) | |
|---|---|---|
| YouTube | notebooklm source add <URL> | yt-dlp / whisper / ブラウザ字幕抽出 |
- Python 3.9+(README バッジ)
- notebooklm CLI — 初回
notebooklm login、notebooklm listで認証確認 - WeChat MCP — Claude の
config.jsonにweixin-readerサーバを登録(SKILL.md の JSON 例。パスは各マシンのスキル配置に合わせる) - ポッドキャスト文字起こし —
GETNOTE_API_KEY/GETNOTE_CLIENT_IDと Get笔记トークン(SKILL.md) - markitdown — Office / PDF / 画像・音声の変換
リポジトリ付属の install.sh / check_env.py で依存チェックができる(ファイル一覧より)。
notebooklm login
notebooklm create "my-notebook"
notebooklm source add https://example.com/articlepython main.py /path/to/book.epub --deep-analysis
python main.py /path/to/book.epub --deep-analysis --to-feishu- GitHub: joeseesun/qiaomu-anything-to-notebooklm
- リポジトリ内
README.md— 対応ソース一覧・ペイウォール一覧・クイックスタート - リポジトリ内
SKILL.md— エージェント手順・意図マッピング・ワークフロー - リポジトリ内
main.py— 入力検出・アップロード・深度分析エントリ - リポジトリ内
scripts/fetch_url.sh/scripts/get_podcast_transcript.py