Paper Summarizer
Given an arXiv ID, arXiv URL, or PDF path, fetch the paper content and produce a rigorous structured analysis.
Dependencies
curl(system) — for fetching arXiv HTML/PDFpython3(system) — for text extraction +stringson PDF fallback- Proxy: all external HTTP requests MUST use
-x http://172.17.0.1:7897 - No external Python packages needed
Workflow
Step 1: Identify Input
The user provides one of:
- Bare arXiv ID: 2401.12345
- arXiv URL: https://arxiv.org/abs/2401.12345
- PDF file path: /path/to/paper.pdf
Normalize: if URL, extract the arXiv ID (regex: \d{4}\.\d{4,5}).
Step 2: Fetch Paper Content
Run the fetch script to get paper text as JSON:
Workflow
Step 1: Identify Input
arXiv ID, arXiv URL, or PDF path. Normalize: extract ID from URL.
Step 2: Fetch Paper Content
Run: python3 scripts/fetch_paper.py <input> --proxy http://172.17.0.1:7897
Outputs: JSON {source, id, text, chars} where text is clean plain text (~40KB for HTML, noisy for PDF fallback).
On error, ask user for title + abstract manually.
Step 3: Classify Paper Type
Read title + first 500 chars. One of: method/dataset/survey/multimodal/tech_report/analysis/rl_alignment/speech_audio/application/benchmark.
Step 4: Load SOP Template
From references/sop_templates.md. Output must be JSON.
Step 5: Generate Structured Analysis
Persona: Senior ML/AI researcher, Area Chair at NeurIPS/ICML/ICLR.
Language: Chinese with English technical terms.
Format: Markdown, LaTeX where appropriate.
Key: methodology_critique 2000+ chars, experimental_assessment 1000+ chars.
Output: valid JSON, NOT wrapped in markdown.
Step 6: Save
- JSON -> assets/{id}_summary.json
- Markdown -> assets/{id}_summary.md
- Present to user