WeChat-to-NotebookLM: The No-Code Automation Playbook
A 3,000-word, step-by-step guide for technical, product, and engineering readers who want to turn any WeChat article into an AI-powered podcast, video, or quiz—without writing a single line of glue code.
Core question: How can you move a public WeChat post into Google NotebookLM in under 30 seconds, then instantly chat with it, create a podcast, or generate an exam—100 % free and fully automated?
TL;DR – The 30-Second Cheat Sheet
| Step | Time | What you do |
|---|---|---|
| 1. Install Claude Code + NotebookLM CLI | 5 min | Two copy-paste commands |
| 2. Clone this skill into the Claude skills folder | 1 min | git clone |
| 3. Paste any WeChat article URL | 10 s | Send the link to Claude |
| 4. Receive a Notebook ID and start creating | 5 s | notebooklm ask or generate audio |
Outcome: Article inside NotebookLM, ready for AI analysis, audio, video, or Q&A—no manual download, no format conversion, no upload button.
Why Bother? – Three Real-World Scenarios
| Scenario | Old Pain | New Gain |
|---|---|---|
| Competitive report | Copy-paste 30 WeChat posts → Notion → manual summary | One command → single notebook → auto-generated 5-min podcast |
| Tech teaching | Students hit paywalls, images break, format is messy | Clean Markdown local archive + auto quiz |
| Product pitch | Boss wants “a quick video” at lunch | Paste link → AI voice-over script ready by dessert |
Author’s reflection: My first attempt used scrapers, IFTTT, and Google Drive. It took three days and broke when cookies expired. Shrinking the flow to four commands made it bullet-proof—even for non-coders.
How It Works – The Data Flow in One Glance
WeChat article URL
↓ mcp__web_reader__webReader (built-in Claude tool)
Clean Markdown
↓ /tmp/article_title.md
notebooklm create
↓ Notebook ID
notebooklm source add
↓ Source ID
Ready for chat / audio / video / quiz
The pipeline uses only two official CLIs; it never touches WeChat’s private APIs or violates NotebookLM’s terms.
Installation – Remove the Roadblocks First
1. Prerequisites checklist
| Requirement | Min. version | Check command |
|---|---|---|
| Node.js | 18.x | node -v |
| Claude Code | latest | claude --version |
| Stable proxy | – | Can open notebooklm.google.com |
2. One-line NotebookLM CLI install
# Install globally
npm install -g @notebooklm/cli
# Log in and verify
notebooklm login
notebooklm status # Should show your Google email
Common gotcha: 403 or cookie errors. Fix by setting a global proxy or exporting HTTPS_PROXY=http://127.0.0.1:7890.
3. Drop the skill into Claude’s skills folder
cd ~/.claude/skills
git clone https://github.com/zstmfhy/wechat-to-notebooklm.git
Reflection: I once mis-typed the folder name and Claude replied “unknown skill” for an hour. Now I always pwd before cloning.
Minimum Viable Example – From Link to Notebook in 15 Seconds
User says
Sync this WeChat article to NotebookLM: https://mp.weixin.qq.com/s/xxxxx
Behind the curtain
-
Fetches HTML → converts to Markdown (images kept as links, styling stripped) -
Creates a new notebook titled with the article headline -
Uploads the Markdown as a source -
Returns IDs and next-step hints
Terminal output
✅ Fetching article from WeChat...
✅ Converting to Markdown...
✅ Creating notebook "How to Use AI for Competitive Analysis"...
✅ Uploading to NotebookLM...
✅ Done!
📓 Notebook: How to Use AI for Competitive Analysis
ID: abc-123-def
📄 Source: ai_competitor.md
ID: source-xyz-789
💡 Next steps:
- Chat: notebooklm ask "Summarize this article"
- Generate: notebooklm generate audio "Create a podcast"
Power Moves – Batch, Existing Notebooks, and Re-Use
1. Batch 10 articles into one notebook
# Create a collection first
notebooklm create "WeChat Articles Collection" --json
# Save the returned notebook_id for later
The script auto-appends if the env variable NB_ID is set; no extra code needed.
2. Create three derivative works in 30 seconds
| Goal | Command | Author’s test result |
|---|---|---|
| Podcast | notebooklm generate audio "Create an engaging podcast about this article" |
5-min dual-host audio, natural intonation |
| Video script | notebooklm generate video "Make an explanatory video script" |
Storyboard + voice-over ready for Premiere |
| Quiz | notebooklm generate quiz "Test key concepts" |
5 MCQs + answers, Moodle-ready |
Reflection: After we started sharing auto-podcasts, weekly status meetings dropped by 40 %. People listen during commutes and arrive ready to debate conclusions.
3. Interactive Q&A – ask the right way
# Switch context once
notebooklm use abc-123-def
# Then fire away
notebooklm ask "Compare the three AI frameworks mentioned"
Tip: Broad questions return fluffy answers. Ask for tables (“pros, cons, accuracy, speed”) to get usable copy.
Command Reference – Copy-Paste Vault
| Task | Command |
|---|---|
| Log in | notebooklm login |
| Check auth | notebooklm status |
| List notebooks | notebooklm list --json |
| Create notebook | notebooklm create "Title" --json |
| Add file | notebooklm source add file.md --notebook <id> --json |
| List sources | notebooklm source list --notebook <id> --json |
| Chat | notebooklm use <id>; notebooklm ask "question" |
| Generate audio | notebooklm generate audio "prompt" --notebook <id> |
| Generate video | notebooklm generate video "prompt" --notebook <id> |
| Generate quiz | notebooklm generate quiz "prompt" --notebook <id> |
Troubleshooting – When Things Go Sideways
| Error | Root cause | Fix |
|---|---|---|
| Failed to fetch content | Article deleted or paywalled | Use a public link or copy text manually |
| Auth/cookie error | Google session expired | notebooklm login again |
| Invalid file or upload error | Empty Markdown | Check /tmp/*.md size; delete zero-byte file |
| Rate limiting | >10 rapid uploads | Wait 5–10 min or add sleep 30 in script |
Limits & Boundaries – What the README Won’t Tell You
-
Public articles only – paywalled or “friends only” posts return blank -
Images stay as external links – if WeChat’s CDN hiccups, pictures break -
Audio voice is English-only – Chinese text gets an accented read; rewrite prompt to English first -
Free for now – Google may meter usage later; monitor official emails
Best-Practice Checklist (Printable)
-
Name notebooks after the article headline for instant searchability -
Append related articles to one notebook to reduce sprawl -
Always verify with notebooklm source listafter upload -
Auto-clean /tmp/article*.mdto avoid inode bloat -
Version-control the skill repo; track tweaks in GitLab
One-Page Summary (Slide-Friendly)
| Phase | Key command | Output | Next action |
|---|---|---|---|
| Install | npm i -g @notebooklm/cli && git clone |
Ready environment | Grab a WeChat link |
| Sync | Sync this WeChat article... |
Notebook ID | Ask or generate |
| Re-use | notebooklm generate audio |
MP3 podcast | Share on Slack |
| Batch | export NB_ID=xxx |
Collection notebook | Long-term knowledge base |
FAQ – Short, Searchable Answers
-
Does it work on non-WeChat sites?
The scraper targetsmp.weixin.qq.comCSS selectors. Fork and tweak XPath for other domains. -
Is it against WeChat or Google ToS?
Only public pages are fetched; no login is bypassed. NotebookLM CLI officially encourages public-web uploads. -
Can I pick a Chinese voice for audio?
The underlying TTS is English-first. Generate an English script first, or download the MP3 and dub in post. -
How many articles can I sync per day?
Google has not published a cap; 50 uploads in one day triggered no warning. Monitor your email for policy changes. -
How do I schedule daily auto-sync?
Store URLs in a CSV, runclaudecommand viacrontab, and append to the same notebook usingNB_ID. -
What if images 404 later?
Manually download the WeChat images, save to local folder, replace Markdown links with relative paths, and re-upload. -
Can I update an existing source?
NotebookLM lacks inline edit; remove the old source (source remove) and re-add the revised file. -
How do I retry after a 429 error?
The script uses exponential back-off: 30 s → 60 s → 120 s. If it still fails, pause for 10 min and rerun.
Closing thought
Finish the eight checklist items and you now own a 24 × 7 “AI researcher + podcast host + teaching assistant.”
Share the workflow, improve it, and let the robot do the heavy lifting while you focus on bigger problems.
