一个轻量、可扩展的本地文献监控管线:
- 自然语言输入 → LLM 翻译成各数据库结构化检索式
- 并发检索 PubMed / OpenAlex / arXiv / Europe PMC(WOS 预留接口)
- 自动去重(DOI / 标题 fuzzy)
- 合法 OA 全文 PDF 下载(PMC、arXiv、Unpaywall 路由)
- 不可获取全文者保存元数据 txt(标题、作者、DOI、摘要、期刊、SJR 分区、引用数)
- SQLite 存档 + 增量去重(已抓过的不重复抓)
- 周期性分析与 Streamlit 可视化仪表盘
- APScheduler 定时调度(每天 / 每 N 小时)
pip install -r requirements.txt
cp config.example.yaml config.yaml
# 编辑 config.yaml,至少填上 email(PubMed 必需)和 ANTHROPIC_API_KEY
# 单次运行
python main.py run-once --query "GLP-1 受体激动剂在帕金森病中的神经保护作用,近 3 年随机对照试验"
# 启动定时任务(默认每天凌晨 2 点跑配置文件里的每个 watchlist)
python main.py schedule
# 启动可视化仪表盘
streamlit run litreview/visualizer.pyNL Query
│
▼ query_translator.py (Claude 把 NL → {pubmed_query, openalex_filter, arxiv_query, ...})
│
▼ searchers/*.py (并发抓取,统一成 Paper dataclass)
│
▼ storage.py (SQLite 去重 + 持久化)
│
▼ pdf_fetcher.py (尝试 PMC → arXiv → Unpaywall → 失败则 metadata only)
│
▼ analyzer.py (年度/作者/期刊/共词统计)
│
▼ visualizer.py (Streamlit dashboard)
- WOS / Scopus:需要你的 API Key 才会启用,缺省关闭。
- 影响因子:用 Scimago SJR Quartile + OpenAlex 引用强度替代 JCR IF(合法、免费)。
- 付费全文:本系统不会绕过 paywall。只下载 OA 内容。