You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44-3Lines changed: 44 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,7 @@
7
7
Search, manage, and explore academic papers from the terminal. Or run as an [MCP](https://github.com/mmgeorge/papers/tree/main?tab=readme-ov-file#mcp-server) to query your papers with an LLM. Queries 240M+ works via [OpenAlex](https://openalex.org), integrates with your [Zotero](https://www.zotero.org) library, and builds a local vector index over your papers with [LanceDB](https://github.com/lancedb/lancedb) so you can semantically search across sections and figures. Embedding accelerated with DirectML and CoreML on Windows and macOS.
8
8
9
9
> [!NOTE]
10
-
> Even the best analytical PDF-extraction methods mangle LaTeX and tables for technical papers. This project uses vision-model-based OCR via [Datalab](https://www.datalab.to/) (requires API key) to produce clean markdown with math and tables preserved. Extracted results (JSON, markdown, images) sync back to your Zotero library.
11
-
>
12
-
> You can also run [marker](https://github.com/datalab-to/marker) locally if you meet its [license requirements](https://github.com/datalab-to/marker?tab=readme-ov-file#commercial-usage) — just place the output in the cache directory.
10
+
> Even the best analytical PDF-extraction methods mangle LaTeX and tables for technical papers. This project uses vision-model-based OCR via [Datalab](https://www.datalab.to/) (requires API key) to produce clean markdown with math and tables preserved. Extracted results (JSON, markdown, images) sync back to your Zotero library. You can also [run marker locally](#using-marker-locally).
13
11
14
12
## Install
15
13
@@ -33,6 +31,8 @@ Commands accepts `--json` for machine-readable output.
33
31
34
32
## OpenAlex
35
33
34
+
OpenAlex works without authentication but is rate-limited. Set `OPENALEX_KEY` for higher rate limits ([openalex.org/pricing](https://openalex.org/pricing)).
PDF extraction uses vision-model-based OCR via marker to produce clean markdown with LaTeX math and tables preserved. Extracted results (markdown, JSON, images) are cached locally and synced back to your Zotero library as attachments.
papers zotero extract get <query># Print cache directory path
106
+
papers zotero extract upload [--dry-run] # Upload local cache to Zotero
107
+
papers zotero extract download [--dry-run] # Download Zotero cache to local
108
+
```
109
+
110
+
Cache location: `~/.cache/papers/datalab/` (Linux/macOS) or `%APPDATA%\papers\datalab\` (Windows). Override with `PAPERS_DATALAB_CACHE_DIR`.
111
+
112
+
### Using marker locally
113
+
114
+
You can run [marker](https://github.com/datalab-to/marker) locally instead of using the Datalab API if you meet its [license requirements](https://github.com/datalab-to/marker?tab=readme-ov-file#commercial-usage). Place the output files in the cache directory:
115
+
116
+
```
117
+
~/.cache/papers/datalab/<item_key>/
118
+
├── <item_key>.md
119
+
├── <item_key>.json # optional
120
+
└── images/ # optional
121
+
```
122
+
123
+
The extraction will be picked up automatically from the local cache.
124
+
84
125
## MCP server
85
126
86
127
Exposes CLI commands as MCP tools for LLMs. Currently only --stdio is supported.
0 commit comments