Deeppapernote

Trasforma un articolo (arXiv/DOI/PDF) in una nota di lettura Obsidian strutturata e basata su prove

di 917Dhj · 917Dhj/DeepPaperNote

Promosso ★ 9.2/10

Deeppapernote — Trasforma un articolo (arXiv/DOI/PDF) in una nota di lettura Obsidian strutturata e basata su prove

Cosa fa

Esegue una pipeline Python deterministica che risolve l'identità di un articolo, recupera il PDF, estrae sezioni e figure dal testo completo e costruisce un bundle di sintesi che il modello utilizza per scrivere una nota Markdown profonda in lingua cinese con un contratto di sezione fisso, quindi la verifica rispetto a gate di struttura e stile. Si attiva quando l'utente fornisce un titolo di articolo, DOI, URL, ID arXiv, elemento Zotero o PDF locale e desidera una nota Obsidian raffinata piuttosto che una riscrittura astratta. Gestisce un articolo alla volta; non per revisioni della letteratura multi-articolo o liste di lettura.

Rapporto di test

Clonato il repository e eseguito scripts/run_pipeline.py su arXiv:1508.06576 con Python 3.13 e PyMuPDF installato; ha risolto l'identità, recuperato il PDF reale di 16 pagine, estratto 393 righe di testo completo e costruito un paper_bundle.json di 80KB con un writing_contract che richiedeva 12 sezioni cinesi. Per l'OUTPUT ho scritto due note e eseguito scripts/lint_note.py su entrambe: la mia baseline a forma libera ha fallito passes_basic_structure, passes_style_gate e passes_substantive_content con tutte le 12 sezioni richieste segnalate come mancanti; la nota strutturata dalla skill (YAML frontmatter, blocco metadati 核心信息, fedele 原文摘要翻译, 创新点, 机制流程, 局限) ha superato tutti e tre i gate con missing_sections=[]. Entrambe hanno fallito passes_plan_gate perché non ho creato il file JSON note_plan separato che il workflow si aspetta. La scansione di sicurezza non ha trovato curl|sh, blob base64 o esfiltrazione; le chiamate di rete mirano solo a arXiv/Crossref/OpenAlex/Semantic Scholar e la chiave Semantic Scholar viene letta da env.

Testato il: 2026-07-21 · Claude Code 2.x (agent harness)

Installazione

git clone --depth 1 https://github.com/917Dhj/DeepPaperNote.git /tmp/deeppapernote-src
mkdir -p ~/.claude/skills
cp -R /tmp/deeppapernote-src/skills/deeppapernote ~/.claude/skills/deeppapernote
# Deps: Python >=3.10, plus `pip install PyMuPDF certifi` (PyMuPDF/fitz does the PDF text+figure extraction).
# Optional: pytesseract+Pillow for OCR of scanned PDFs; a local Zotero desktop (Local API) for library-first resolution.
# Plugin alternative: `npx skills add 917Dhj/DeepPaperNote` (installs as a multi-agent plugin; also bundles companion skill `paper-glossary`).
# Run the deterministic pipeline: python3 ~/.claude/skills/deeppapernote/scripts/run_pipeline.py --input "arXiv:1508.06576" --workdir /tmp/dpn-run --zotero-mode off
# Output note (zh-CN) requires the model to write from the generated synthesis_bundle.json; lint with scripts/lint_note.py.

Comandi e prompt di esempio

  • /deeppapernoteTrasforma un articolo (arXiv/DOI/PDF) in una nota di lettura Obsidian strutturata e basata su prove

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • Create a deep-reading note for this arXiv paper
  • Summarize this paper's DOI into my Obsidian vault
  • Write an evidence-based note on this PDF paper