The source-anchor override for authors matched block_id=2 on EVERY page, not just page 1. Added page check: only accept anchored role if block is on the same page as the source anchor. Prevents section headings, reference items, and figure captions from being misclassified as authors. Also updated regenerate_traces.py sys.path to use main checkout instead of worktree, and regenerated both DW (287 blocks) and CAQ (153 blocks) traces. |
||
|---|---|---|
| .github | ||
| .planning | ||
| .tmp/tail_pdf_samples | ||
| docs | ||
| fixtures | ||
| paperforge | ||
| scripts | ||
| tests | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| _check_effect.py | ||
| _check_rebuild.py | ||
| _extract_master_figs.py | ||
| _master_funcs.txt | ||
| _render_full.py | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| INSTALLATION.md | ||
| LICENSE | ||
| manifest.json | ||
| paperforge.json | ||
| PROJECT-MANAGEMENT.md | ||
| pyproject.toml | ||
| README.en.md | ||
| README.md | ||
| README.zh-CN.md | ||
| README.zh.md | ||
| requirements.txt | ||
| REVIEW.md | ||
PaperForge
简体中文 · English
铸知识为器,启洞见之明。 — Forge Knowledge, Empower Insight.
PaperForge brings your Zotero library into Obsidian. Sync papers, run OCR, extract figures, and do AI-assisted deep reading — all inside a single vault.
0. What PaperForge Is
PaperForge is not just an Obsidian plugin. It has two parts:
| Part | What | Does | Where |
|---|---|---|---|
| Obsidian Plugin | main.js + manifest.json + styles.css |
Dashboard, buttons, settings UI | .obsidian/plugins/paperforge/ in your vault |
| Python Package | paperforge |
Sync, OCR, Doctor, repair | Your system Python (pip install) |
The plugin is the interface. The Python package is the engine. Every button you click in the plugin actually runs a Python command behind the scenes.
After installing the plugin, you MUST verify that the Python package is also installed and version-matched.
1. Install the Obsidian Plugin
Option A: BRAT (Recommended)
- Install BRAT from the Obsidian community plugin browser
- Open BRAT settings →
Add Beta Plugin - Enter:
https://github.com/LLLin000/PaperForge - BRAT downloads the latest
main.js,manifest.json, andstyles.cssand installs them - Settings → Community Plugins → enable PaperForge
BRAT auto-detects GitHub Release updates. No manual downloads needed.
Option B: Manual Download
- Go to Releases
- Download the three files:
main.js,manifest.json,styles.css - Create
.obsidian/plugins/paperforge/in your vault - Put the three files there
- Restart Obsidian → Settings → Community Plugins → enable PaperForge
Manual install does not auto-update. You'll need to re-download for each new version.
2. Install the Python Package
After enabling the plugin, open the PaperForge settings tab. You'll see a Runtime Status section:
Plugin v1.5.0 → Python Package v1.5.0 ✓ Matched
- If it says "Not installed" → click Open Wizard to re-run the setup process
- If it says "Mismatch" → the Python package auto-updates when the plugin updates. If it didn't succeed, click Update Runtime to manually trigger
3. Quickstart
# 1. Export from Zotero (Better BibTeX JSON, Keep updated) to exports/
# 2. Sync
paperforge sync
# 3. Mark a paper for OCR in its frontmatter: do_ocr: true
# 4. Run OCR
paperforge ocr
# 5. Mark for deep reading: analyze: true
# 6. In your Agent chat:
/pf-deep <zotero_key>
Documentation
| If you want to | Read |
|---|---|
| Full tutorial, from install to deep read | Getting Started |
| Troubleshooting | Troubleshooting |
| Command reference | Commands |
| How to update | Update Guide |
| Architecture / Maintenance / Release | Architecture |
| AI Agent collaboration | AGENTS.md |
License
CC BY-NC-SA 4.0. Non-commercial use only.
Acknowledgments
Built on PaddleOCR, Obsidian, Better BibTeX for Zotero, and other great open-source projects.