根据标题或 arXiv/DOI 获取论文元数据,生成结构化深度摘要,并将其发布为 Notion 页面。代理读取论文并撰写研讨会内容。
Given a paper title or arXiv link, create a seminar-quality, deeply structured summary and upload it to Notion.
⚠️ This is NOT an extractive summary. The agent reads the full paper and writes an original analysis.
Write the summary in the same language as the user's request.
Section headings in the summary JSON should match the user's language. The English template below is the canonical structure — adapt headings to the user's language.
bash
python3 scripts/extract_paper.py \
--output /tmp/paper_extract.json \
"https://arxiv.org/abs/2301.12345"
Or by title:
bash
python3 scripts/extract_paper.py \
--output /tmp/paper_extract.json \
--title "Attention Is All You Need"
Options:
--output, -o: Output file path (defaults to stdout)--skip-fulltext: Extract abstract only (fast mode, skip PDF)--doi: Explicit DOI--arxiv-id: Explicit arXiv IDRead the extracted JSON section by section ( read tool with offset/ limit for large files), then write a structured summary JSON to /tmp/paper_summary.json.
json
{
"title": "Paper Title (original language)",
"metadata": {
"authors": "Author list",
"year": "2024",
"venue": "NeurIPS 2024",
"doi": "10.xxxx/xxxxx",
"url": "https://arxiv.org/abs/xxxx.xxxxx",
"source": "arXiv"
},
"sections": [
{
"heading": "0. Metadata",
"content": "- Authors: ...\n- Year: ...\n- Venue: ...\n- Code: ..."
},
{
"heading": "1. One-line Summary",
"content": "What this paper does in one sentence."
},
{
"heading": "2. Problem & Motivation",
"content": "- What problem does it solve?\n- Why are existing methods insufficient?\n- Why is this research needed?"
},
{
"heading": "3. Key Contributions",
"content": "1. First contribution\n2. Second contribution\n3. Third contribution"
},
{
"heading": "4. Method",
"content": "Detailed pipeline/architecture description.\nCore ideas, key equations included.\n\n### Core Idea\n...\n\n### Architecture\n...\n\n### Training\n...\n\n### Key Equations\n$$equation$$"
},
{
"heading": "5. Experiments",
"content": "### Setup\n- Datasets: ...\n- Baselines: ...\n- Metrics: ...\n\n### Main Results\n- Key numbers and comparisons\n- Where it works and where it doesn't"
},
{
"heading": "6. Ablation & Analysis",
"content": "- Per-component contributions\n- Interesting analysis results\n- Hyperparameter sensitivity"
},
{
"heading": "7. Limitations & Future Work",
"content": "- Author-acknowledged limitations\n- Additional limitations you identify\n- Future research directions"
},
{
"heading": "8. Overall Assessment",
"content": "- Research significance\n- Strengths and weaknesses\n- Connections to related work\n- Ideas applicable to user's research"
}
]
}
Terminology: Keep technical terms in their original language; explanations in the user's language.
Equations: Include key equations in LaTeX ( $$ ... $$).
Depth: Seminar-presentation level understanding.
Critical perspective: Record limitations and open questions, not just strengths.
Connections: If you know the user's research interests, connect the paper to them.
No programming code blocks: Do NOT use fenced code blocks ( ) in sections[*].content. Math expressions ( $$ ... $$, ```latex) are allowed.
No emoji in headings: Use numbered prefixes: 0. Metadata, 1. One-line Summary, etc.
bash
python3 scripts/push_to_notion.py \
/tmp/paper_summary.json \
--parent-page-id YOUR_PAGE_ID
Options:
--parent-page-id: Notion page ID to create the summary under--force-update: Overwrite existing page with same title--dry-run: Preview without uploading--notion-key: Explicit Notion API tokentext
1. python3 scripts/extract_paper.py -o /tmp/paper_extract.json "https://arxiv.org/abs/..."
2. read /tmp/paper_extract.json (section by section)
3. Write summary → /tmp/paper_summary.json
4. python3 scripts/push_to_notion.py /tmp/paper_summary.json --parent-page-id PAGE_ID
ConfigSourceDescriptionNotion API keyNOTION_API_KEY env or ~/.config/notion/api_keyRequired for Notion uploadParent pageNOTION_PARENT_PAGE_ID env or --parent-page-idNotion page to create summaries under
pypdf). Install: pip install pypdf--skip-fulltext and read HTML via web_fetch.2025-09-03extract_paper.py script does NOT require a Notion API key — it only fetches and extracts.