Install
openclaw skills install @wzr101622/daily-literature-searchAutomated daily literature search system for academic researchers. Performs scheduled searches across PubMed, OpenAlex, and Semantic Scholar with automatic deduplication, OA download, smart categorization, and daily reports.
openclaw skills install @wzr101622/daily-literature-searchAutomated literature search system for academic researchers. Performs scheduled searches across multiple databases (PubMed, OpenAlex, Semantic Scholar), automatically deduplicates results, downloads open-access papers, and generates daily reports.
daily_literature_search.py)Main execution script with the following features:
analyze_uploaded.py)Analyzes and categorizes manually uploaded papers:
papers/
├── B-ALL/raw/ # Category 1 (e.g., B-ALL research)
├── MM/raw/ # Category 2 (e.g., Multiple Myeloma)
├── OTHER/raw/ # Other papers
├── daily_search_logs/ # Search logs and reports
└── upload_temp/ # Temporary upload directory
Edit SEARCH_KEYWORDS in daily_literature_search.py:
SEARCH_KEYWORDS = [
'"inotuzumab ozogamicin"',
'"Elranatamab"',
'"Teclistamab"',
'"Talquetamab"',
'"Blinatumomab"',
'("CAR-T" AND "B-ALL")',
]
Edit B_ALL_KEYWORDS and MM_KEYWORDS in analyze_uploaded.py to match your research domains.
# Run daily search
python3 papers/daily_literature_search.py
# Analyze uploaded papers
python3 papers/analyze_uploaded.py
Add to crontab for automatic daily searches:
# Daily search at 6:30 AM
30 6 * * * /usr/bin/python3 /path/to/papers/daily_literature_search.py >> /path/to/papers/daily_search_logs/cron.log 2>&1
| Parameter | Default | Description |
|---|---|---|
MAX_RESULTS_PER_KEYWORD | 10 | Max results per keyword per source |
DATE_RANGE_DAYS | 7 | Search window (recent N days) |
SOURCES | ["pm", "oa", "s2"] | Search databases |
USER_EMAIL | — | For polite API access (env var) |
# 📚 每日文献检索报告
**检索日期:** 2026-03-18
## 📊 检索汇总
| 分类 | 检索到 | 成功下载 | 付费墙 |
|------|--------|---------|--------|
| B-ALL | 28 | 0 | 28 |
| MM | 24 | 0 | 24 |
| 总计 | 53 | 0 | 53 |
## 🔀 去重统计
- 原始检索结果:130 篇
- 去重后文献:110 篇
- 批次内重复:2 篇
- 库中已有:18 篇
papers/daily_search_logs/daily_report_YYYY-MM-DD.mdpapers/daily_search_logs/daily_search_YYYY-MM-DD.logpapers/{CATEGORY}/raw/{DOI}.pdfAutomatically checks new results against existing library:
Uses Unpaywall API to identify OA papers:
is_oa, oa_url = check_open_access(doi)
if is_oa:
download_paper(oa_url, save_path)
Automatically tries PMC for biomedical papers:
if pmid and str(pmid).isdigit():
download_from_pubmed(pmid, save_path)
SEARCH_KEYWORDS in daily_literature_search.pypapers/NEW_CATEGORY/raw/classify_paper() functionAdd email/Slack/Discord notifications after search completion:
# At end of main()
send_notification(f"Daily search complete: {results['total']} papers found")
pip install requests
# Most other modules are standard library
Set environment variables:
export SEMANTIC_SCHOLAR_API_KEY="your-key"
export OPENALEX_API_KEY="your-key"
export USER_EMAIL="your@email.com"
USER_EMAIL for polite API accessTo contribute improvements:
This skill is provided as-is for academic research purposes. Users are responsible for compliance with publisher terms and copyright laws.