Academic Paper Reading Assistant (Paper Reader)Before starting: First greet the user 🐕
Focuses on the CV/DL field, supports Zotero integration and Obsidian note saving.
Step 0: Read shared configuration
First read ../_shared/user-config.json, if ../_shared/user-config.local.json exists, then use it to override the default values.
Explicitly generate and use these variables consistently thereafter:
VAULT_PATHNOTES_PATHCONCEPTS_PATHZOTERO_DBZOTERO_STORAGEAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLED
Where:
NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}GIT_PUSH_ENABLEDIt can only be true whenGIT_COMMIT_ENABLED=true.
Use the above variables consistently thereafter.
1. Receive paper
| Input method | Example | Processing method |
|---|---|---|
| PDF path | /path/to/paper.pdf |
Read directly |
| arXiv link | https://arxiv.org/abs/xxxx |
WebFetch |
| Zotero category | "VLA categorized paper" | Query database → list → user selects |
| Zotero search | "π0.5 in Zotero" | Search title → find PDF |
| No PDF | Zotero entry has no attachment | Obtain from the web (see below) |
Acquisition process when there is no PDF
python3 assets/zotero_helper.py info {item_id}Obtain paper information- Obtain by priority: arXiv HTML > arXiv PDF > DOI > WebSearch title
- Determine arXiv ID: from URL / Zotero extra field / title search
- Recommend directly WebFetch
https://arxiv.org/html/{arxiv_id}, no need to download - Skip condition: neither PDF nor online source / non-paper content
For detailed Zotero operations see
references/zotero-guide.md
2. Reading mode
| Mode | Trigger words | Output |
|---|---|---|
| Quick summary | "quick look", "quick" | 3-5 sentences of core contributions |
| Full analysis | "detailed analysis", default | Structured notes (use template) |
| Critical analysis | "critical analysis", "critique" | Evaluation of methodological strengths and weaknesses |
| Knowledge extraction | "extract formulas", "technical details" | Formulas + algorithm pseudocode |
3. Note generation
Template: Strictly follow assets/paper-note-template.md, do not simplify on your own.
Core quality rules
- Zero omissions: All Figures, all formulas, and all Tables in the paper must all appear in the notes
- Inline concept links: Technical terms appearing for the first time in the main text must use
[[概念]]links, not just at the end - ASCII flowcharts strictly prohibited: Use structured Markdown lists +
$数学符号$to describe the architecture - Formula completeness: Each formula must have a name (
[[概念|名称]]), LaTeX formula, meaning, and symbol explanation - External image links preferred: arXiv HTML / project homepage / GitHub, if not found then download locally
See the detailed quality specifications for formulas/images/tables at
references/quality-standards.md
Image acquisition workflow (multi-source fallback)
Goal: Ensure the note containsall Figuresof the paper. First count the total number of Figures in the paper, then acquire them one by one.
- WebSearch
"{论文标题} arxiv"Get the arXiv ID - Source A — arXiv HTML(preferred):
- WebFetch
https://arxiv.org/html/{arxiv_id}Extract all<figure>titles and img src URLs - Count the total number of Figures in the paper and confirm whether the extracted count is complete
- WebFetch
- Source B — Project homepage(when HTML returns 404 or images are incomplete):
- Find the project homepage URL from the abstract/HTML (common patterns:
project page、github.io、our website) - WebFetch the project homepage and extract the display images (usually includes teaser / demo images)
- Find the project homepage URL from the abstract/HTML (common patterns:
- Source C — PDF extraction(when both of the previous two fail):
pdfimages -pngExtract from the PDF and filter for valid images >10KB
- In the note, embed via
external links - Verification: external links load / local files >10KB
- URL deduplication (mandatory): Check each URL before writing. If
https://arxiv.org/html/is followed by two consecutive identical arxiv_ids (e.g.,2607.04988v1/2607.04988v1/), delete the duplicate segment. This is a high-frequency bug; seereferences/image-troubleshooting.md- Reason: In arXiv HTML, the img src already contains the
{id}v1/prefix; do not add it again when concatenating - Correct:
https://arxiv.org/html/+ src (e.g.,https://arxiv.org/html/2607.04988v1/x1.png) - Wrong:
https://arxiv.org/html/2607.04988v1/+ src (causes path duplication and returns 404)
- Reason: In arXiv HTML, the img src already contains the
ar5iv numbering does not necessarily correspond to Figure numbering; for troubleshooting see
references/image-troubleshooting.md
Image reliability assurance (automatically executed after generation)
After the note is saved, run the image reachability check script to automatically download inaccessible external images locally:
python3 ../daily-papers/download_note_images.py "{笔记完整路径}"
- Reachable external links are left unchanged; unreachable ones are automatically downloaded to
assets/and replaced with Obsidian wikilinks - If there are localization operations, the frontmatter
image_sourceis automatically updated tomixed
Formula format
Each formula must include: name ([[概念|名称]])、LaTeX $$ block (with blank lines before and after), meaning, symbol list.
$$ Before and after theblock there must be blank linesotherwise Obsidian will not render. For overly long formulas use aligned to split.
4. Obsidian saving
File naming
Use onlymethod name/model name:{方法名}.md(e.g., Pi05.md, without a year prefix).
Method name determination: before the colon in the title / "We propose XXX" in the Abstract / Greek letters converted to ASCII.
When uncertain, save to _待整理/。
Save path
By Zotero category hierarchy:{NOTES_PATH}/{zotero_collection_path}/{方法名}.md
YAML frontmatter
---
title: "论文标题"
method_name: "MethodName"
authors: [Author1, Author2]
year: 2025
venue: arXiv
tags: [tag1, tag2] # 小写连字符,3-8 个
zotero_collection: 3-Robotics/1-VLX/VLA
image_source: online
created: YYYY-MM-DD
---
Tags determination: look at Related Work subheadings + Abstract keywords. The first tag is the most core topic.
Automatically executed after saving
- Only refresh the catalog page when
AUTO_REFRESH_INDEXES=true:python3 ../_shared/generate_concept_mocs.py python3 ../_shared/generate_paper_mocs.py - Only do git when
GIT_COMMIT_ENABLED=true:- First confirm that
VAULT_PATH/.gitexists git add {新增文件} {paper_notes_folder}/there must actually be staged changes after- After the conditions are met, execute:
cd {VAULT_PATH} && git add {新增文件} {paper_notes_folder}/ && git commit -m "add paper note: {方法名}"- Only push when
GIT_PUSH_ENABLED=trueand the repository is already configured with a remote
- First confirm that
5. Concept library maintenance (required for every paper)
Concept library location:{CONCEPTS_PATH}
Process
- ScanAll
[[概念]]links in the paper notes - CheckWhether the concept note corresponding to each link exists (
ls+find) - CreateNonexistent concepts (cannot be skipped), automatically categorized into the corresponding subdirectory
For classification rules and templates, see
references/concept-categories.md
Self-check
- Do the concept notes for all
[[概念]]links in the notes exist? - Do the concept notes include this paper as a "representative work"?
6. Self-check after completion (merged checklist)
- Are all Figures in the notes (count matches the paper)?
- Are all formulas in the notes (variables consistent, no conflicts)?
- Are all Tables fully preserved (all rows and columns)?
- Do technical terms in the main text have
[[概念]]inline links? - Has the concept library been updated (missing concepts created)?
- Are images available (external links loadable / local >10KB)?
7. Interactive features
After parsing is complete, ask: In-depth explanation? Compare with other papers? Save to Obsidian? After saving, automatically create missing concept notes and report the number of newly added concepts.
8. Batch processing
Supports batch processing of Zotero collections (recursive subcollections by default). Process: recursively retrieve papers → deduplicate → skip existing notes → process sequentially → summarize.
Reference files (consult as needed)
references/zotero-guide.md— Zotero queries, classification, PDF path retrieval, intelligent classification judgmentreferences/image-troubleshooting.md— ar5iv image numbering correspondence, PDF extraction alternativereferences/concept-categories.md— 16 subdirectory rules + templates for automatic concept categorizationreferences/quality-standards.md— Detailed quality specifications for formulas/images/tables + self-check checklist