Manusで任意のスキルを実行
ワンクリックで
ワンクリックで
ワンクリックでManusで任意のスキルを実行
始める$pwd:
annas-to-notebooklm
// 自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。
$ git log --oneline --stat
stars:208
forks:23
updated:2026年1月17日 14:26
SKILL.md
// 自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。
| name | annas-to-notebooklm |
| description | 自动从 Anna's Archive 下载书籍并上传到 Google NotebookLM。支持 PDF/EPUB 格式,自动转换,一键创建知识库。 |
| author | Adapted from zstmfhy/zlibrary-to-notebooklm |
| version | 1.0.0 |
让 Claude 帮你自动下载书籍并上传到 NotebookLM,实现"零幻觉"的 AI 对话式阅读。
span.bg-gray-200 标签中)当用户提到以下需求时,使用此 Skill:
annas-archive.pm、annas.archive 等域名)当用户提供 Anna's Archive 链接时,按以下流程执行:
从用户提供的 URL 中提取:
https://annas-archive.pm/slow_download/... 格式)检查必需的依赖和配置:
# 检查 Playwright
python3 -c "import playwright" 2>/dev/null || pip install playwright
# 检查 NotebookLM CLI
which notebooklm || echo "请安装 NotebookLM CLI"
# 检查登录状态(可选)
ls ~/.annas/storage_state.json 2>/dev/null || echo "建议先登录"
使用脚本访问 Anna's Archive 并下载:
cd /path/to/annas-to-notebooklm
python3 scripts/upload.py "<Anna's Archive URL>"
下载逻辑:
span.bg-gray-200 标签中查找包含下载 URL 的文本~/Downloads 目录关键代码:
# 查找 span.bg-gray-200 元素
spans = await page.query_selector_all('span.bg-gray-200')
for span in spans:
span_text = await span.inner_text()
# span 的文本内容就是下载链接
if span_text.strip().startswith('http'):
download_url = span_text.strip()
# 直接导航下载
await page.goto(download_url)
脚本会自动处理:
convert_epub.py)脚本会自动:
# 创建笔记本
notebooklm create "书名" --json
# 上传文件
notebooklm source add "文件路径" --json
向用户返回:
✅ 下载成功!
📚 书名: [书名]
🆔 笔记本 ID: [notebook-id]
📄 来源 ID: [source-id]
现在你可以问我:
- "这本书的核心观点是什么?"
- "总结第3章的内容"
- "作者有哪些独特的见解?"
如果遇到错误:
未找到登录会话
python3 scripts/login.py未找到下载链接
下载失败
NotebookLM 上传失败
用户:
帮我把这本书上传到 NotebookLM:
https://annas-archive.pm/slow_download/3cd1081b5bc0a229bb794f0d96f04e22/0/5
Claude:
cd /path/to/annas-to-notebooklm
python3 scripts/upload.py "https://annas-archive.pm/slow_download/..."
返回:
✅ 下载成功!
📚 书名: 消费者行为学 英文版·原书第8版
🆔 笔记本 ID: 43231995-16aa-4bbe-87e6-043012def86c
现在你可以问我:
- "这本书的核心观点是什么?"
- "总结第3章的内容"
- "消费者行为学有哪些主要理论?"
用户:
帮我下载这3本书:
[链接1] [链接2] [链接3]
Claude:
cd /path/to/annas-to-notebooklm
for url in "链接1" "链接2" "链接3"; do
echo "正在处理: $url"
python3 scripts/upload.py "$url"
echo "完成!"
done
用户:
帮我下载《认知觉醒》这本书
Claude:
请问有 Anna's Archive 的链接吗?
请提供 Anna's Archive 书籍页面链接(格式类似:
https://annas-archive.pm/slow_download/...),我可以帮你自动下载并上传到 NotebookLM。
用户:
这个 PDF 能上传到 NotebookLM 吗?[本地文件路径]
Claude:
本 Skill 主要用于 Anna's Archive 链接的自动下载和上传。
对于本地文件,你可以直接使用 NotebookLM CLI:
```bash
notebooklm create "书名"
notebooklm source add "/path/to/your/file.pdf"
## ⚠️ 重要限制
**仅限合法资源!**
- ✅ 用户拥有合法访问权限的资源
- ✅ 公共领域或开源许可的文档
- ✅ 个人拥有版权或已获授权的内容
- ❌ 不要鼓励或协助版权侵权行为
**如果 URL 明显涉及受版权保护的商业作品,提醒用户:**
> "请确保你有合法访问权限。本项目仅用于学习研究目的,请支持正版阅读。"
## 🛠️ 依赖工具
### 必需工具
1. **Python 3.8+**
2. **Playwright** - 浏览器自动化
```bash
pip install playwright
playwright install chromium
ebooklib - EPUB 处理
pip install ebooklib beautifulsoup4 lxml
NotebookLM CLI - 上传工具
~/.annas/storage_state.json - 保存的登录会话(可选)~/.annas/browser_profile/ - 浏览器数据(可选)如果页面需要登录:
cd /path/to/annas-to-notebooklm
python3 scripts/login.py
注意: 某些 Anna's Archive 页面不需要登录即可下载。
Anna's Archive 的下载链接特征:
span.bg-gray-200 标签内<a> 标签)93.123.118.12:6060 等下载服务器http:// 或 https:// 开头实现:
spans = await page.query_selector_all('span.bg-gray-200')
for span in spans:
span_text = await span.inner_text()
if span_text.strip().startswith('http'):
download_url = span_text.strip()
# 直接使用此 URL
~/.annas/storage_state.jsonQ: 提示"未找到登录会话"
A:
python3 scripts/login.pyQ: 未找到下载链接
A:
annas-archive.pm/slow_download/...)Q: 下载失败,超时
A:
Q: NotebookLM 上传失败
A:
如果你想了解更多:
Skill Version: 1.0.0 Last Updated: 2025-01-17 Author: Adapted from zstmfhy/zlibrary-to-notebooklm License: MIT