Repository navigation
DeepPaperNote 3.0 changes what a note is. Each paper is now read the way its own field reads it, the note is written as the paper's story for a reader from a neighbouring field, and every note joins your vault: linked to the papers you have already read, filed into the domains you already use, and with takeaways aimed at your own research. Two new companion skills, research-memory and organize-wiki, look after the vault as a whole.
⚠️ Breaking changes
Read these before upgrading. Nothing is migrated automatically, and nothing you wrote is lost.
-
The note has a new shape. A note now opens with Core Information, Abstract, Contributions and One-Sentence Summary as before, but its middle follows the paper's type (see below), and it closes with Limitations → Takeaways → Connections → My Notes. The old fixed middle (Research Question / Data and Tasks / Method / Key Results / Deep Analysis) and the copied reference list are gone.
Breaking: notes saved by 2.x keep their old structure until you regenerate them. When you regenerate one, its existing 我的笔记 / My Notes block is kept as it is. If that block was written by the old version rather than by you, the save report says so, so you can check it.
-
The agent now chooses the domain folder. The keyword table
domain_rules.yamlis removed. Before saving, the agent reads what your existing domain folders actually hold and reuses one by default; it creates a new domain only with a stated reason, which the final report repeats. A saved note carries exactly onepapers/<domain>tag, and it must name the folder the note is saved in. (#90)Breaking: if you relied on
domain_rules.yaml, describe your domains withorganize-wikiinstead. It writes<Vault>/DeepPaperNote/domains.md, which DeepPaperNote follows from then on. -
The final quality review is now required before saving. Formal Save refuses a note that has not passed the final quality review and the readability check, or whose plan, sources or reviewed images changed after review. A failed review drives at most two revisions. (#47, #48)
Breaking: only matters if you call the save script directly: it now needs the current review artifacts. Normal skill runs are unaffected.
✨ New
Reading by paper type (#85, #86, #87)
A method paper, a benchmark, a survey and a clinical trial call for very different questions. Until now every note had the same middle, so a psychology study was asked for formulas and a position paper for ablations. The middle of the note now depends on what the paper contributes.
- Ten paper types: method, system, theory, position, benchmark or dataset, discovery empirical, human-subjects empirical, survey or review, qualitative empirical, and humanities argument. A paper with a real second contribution, such as a benchmark with a companion method, gets one secondary type.
- Each type sets its own middle sections, core questions and workflow table. A method note walks Background and Problem → Limitations of Prior Work → Key Idea and Challenges → Method → Experimental Evidence → Deep Analysis; a benchmark note walks Evaluation Gap → Task and Design Goals → Construction and Quality Control → Evaluation Framework → Findings → What It Really Measures.
- Every core question is answered or plainly reported as missing. "The paper does not report X" is a finding, never a claim that the authors failed to do X, and the note never scores or rates the paper.
- Where the questions come from. They draw on more than 50 reviewer guidelines, reporting standards and reading methods, including the NeurIPS, ICLR and ACL review criteria, CONSORT, STROBE, PRISMA, SRQR, Toulmin's argument model and Keshav's three-pass method. Method and benchmark readings follow the paper templates of HKUSTDial/Supervisor-Skills.
- Tested on real papers. The regression set covers every type. In a blind A/B evaluation on the sample papers with our rubric, the average score rose from 73.6 to 84.2 out of 100.
One story, for a reader from a neighbouring field (#86)
A note used to read like a replication log for someone who already knows the subfield. It now reads like a senior colleague explaining the paper to a smart researcher from an adjacent field.
- Before writing, the plan records the paper's own story in three to five sentences: the problem it takes on, how it answers it, what the evidence shows, and what it does not prove. The middle sections follow that story.
- Conclusions come first, each paragraph makes one point, and every term is explained the first time it appears. Key numbers stay in the prose and the rest go into tables.
- Technical depth follows the type: equations and implementation detail for method, system and theory papers; design, measurement and argument for the others.
- The final review now checks the story and every core-question answer against the plan.
Takeaways and My Notes (#76, #77, #83)
The old closing section mixed model analysis with space meant for you. It is now split in two.
- Takeaways holds Transferable Ideas (a mechanism, where it carries over, and what it needs) and Next Steps (a follow-up question or experiment that tests the paper's own claims).
- My Notes belongs to you. A new note holds only a short guidance line, and regenerating the note keeps whatever you wrote there exactly as it is.
- With a research memory (below), a transferable idea that bears on one of your directions is marked as a judgment about your own work.
Connections: every note joins your vault (#79, #81)
References used to be a copied bibliography that linked to nothing. Connections replaces it.
- In Your Vault links the note to related paper notes you already have, as
[[links]]with their relation (baseline, prior work, follow-up and so on): papers this one cites, matched by DOI, arXiv ID or title, and papers it does not cite but works on the same methods, datasets or tasks. - Key Prior Work lists the few earlier papers you need to understand this one.
- Scripts only propose candidates; the model decides which are real connections, and Formal Save refuses any link it cannot find in your vault.
Structured properties for Obsidian Bases (#78)
Every note now opens with the same properties: paper_type, methods, datasets, tasks, read_date, plus date, doi and aliases when known. The keys stay in English in both languages, so one Obsidian Bases view can list every benchmark you have read, or everything you read this month.
New skill: research-memory (#82, #83)
DeepPaperNote can only tailor its takeaways if it knows what you work on, and asking you every time does not scale.
research-memorykeeps one note,<Vault>/DeepPaperNote/research-memory.md, with your research directions, the topics outside your focus, and observations about what you have read.- The agent reads your paper notes, proposes directions with evidence from them, and asks you in short rounds. Only what you confirm is written, after you see a preview. You can edit the note in Obsidian at any time.
- DeepPaperNote reads it to shape each note's Takeaways whenever you do not name a direction in the request.
Start it with /research-memory, or say "build my research memory".
New skill: organize-wiki (#91)
Domain folders drift as a library grows: near-duplicate domains, papers filed by an old rule, tags that no longer match their folder.
organize-wikiorganizes your vault with you: it settles the domain categories, moves papers filed under the wrong domain, and fixes theirpapers/tags.- The categories it settles are written to
<Vault>/DeepPaperNote/domains.md, and DeepPaperNote follows them when it files a new paper. - It moves whole paper folders and never renames a note, so links by file name keep working; links that spell out a moved path are rewritten. Every reorganization is logged, and the last one can be undone.
Start it with /organize-wiki, or say "organize my paper library".
Working with paper-glossary (#80, #84)
DeepPaperNote and paper-glossary now share a note without stepping on each other: DeepPaperNote links the properties and Connections, and the glossary links terms in the body. When a glossary library shares the vault, a property value that names a glossary term becomes a link, and after saving DeepPaperNote suggests running paper-glossary on the paper. Terms written in backticks can now be linked too.
Visual Review: every figure is checked (#57, #58)
A figure that is cropped wrong is worse than no figure. Every figure and table candidate is now looked at before it enters the note: it is inserted, sent back for one re-crop from the PDF, marked as a visual defect, or dropped with a recorded reason when the note does not need it. The decision is bound to the exact image that was reviewed.
Also new
- Claude Code plugin marketplace. Install with
claude plugin marketplace add 917Dhj/DeepPaperNoteandclaude plugin install deeppapernote@deeppapernote; all four skills come with it. - Run status.
run_state.py statusreports a run's progress, what is missing or stale, and the next step, without changing anything. Ask your agent "where did this DeepPaperNote run stop?" (#49)
🔧 Improvements and fixes
- Figure and table extraction, now checked against a regression corpus of 34 real papers (#52): captions are read from the page layout (#51); crops stay inside their column and stop at unreadable pages (#54); table crops keep every row and stop at running headers (#73); bilingual table captions find their table (#75); figures printed under their caption crop correctly, and footnote marks no longer end up in captions (#89, #96).
- Title detection no longer takes a journal header, a garbled line or a split subtitle for the title, and keeps lead-ins such as
Position:(#46, #70, #88). - Vault images are named after their label, such as
figure_1.pngandtable_3.png, instead of internal working names (#69). - Regenerating a note replaces a re-cropped image of the same name instead of refusing the save (#95).
- Windows: script output no longer fails on consoles that use encodings such as cp1252 (#92).
- A PDF whose text cannot be read stops the run instead of producing a note (#54).
- Internal: the pipeline runs in separate acquire and prepare phases,
common.pyis split by responsibility, and CI runs ruff and the parallel test suite on Linux, macOS and Windows (#55, #71, #93, #94).
🚀 Install or update
Claude Code
claude plugin marketplace add 917Dhj/DeepPaperNote
claude plugin install deeppapernote@deeppapernoteAlready installed? Update, then restart Claude Code:
claude plugin marketplace update deeppapernote
claude plugin update deeppapernote@deeppapernoteCodex and other agents that support skills
npx skills add 917Dhj/DeepPaperNoteSelect the agents you want to update.
