Distillate — Your research assistant in the terminal
Description: An AI research assistant that lives in your terminal. Manages your Zotero library, syncs to reMarkable, extracts highlights, and helps you think across papers.

v0.5 — Now with an AI research assistant — try it out

# Distillate

A research alchemist in your terminal.

arXiv papers → Zotero library → reMarkable highlights → Obsidian notes.

distillate
$ distillate ─── ⚗️ Nicolas ────────────────────────────── 42 papers read · 7 in queue Your research alchemist. Type /help or /quit. > What should I read next? 🔮 Consulting the oracle Based on your recent interest in multimodal agents, I'd suggest ReAct [3] — a complementary approach to what you highlighted in Toolformer. It's been in your queue the longest at 12 days.
PyPI v0.5.1 Python 3.10+ MIT License

Try it out:

`$ uv tool install distillate $ distillate --init`

## How it works

Save. Read. Highlight. Ask.

1 Save a paper to Zotero

Use the Zotero browser connector, mobile app, or ask Nicolas to add a paper by arXiv ID or URL.

2 PDF syncs to your reMarkable

Distillate uploads the PDF to your tablet. Read and highlight the passages that matter.

3 Highlights become structured notes

Move the document to Read/ when done. Distillate extracts highlights, generates a summary, and saves a markdown note.

4 Ask Nicolas anything about your library

Search papers, compare findings, get reading suggestions, check stats — all in natural language from your terminal.

## Built in

An open-source CLI. No accounts, no cloud, your notes stay on your machine.

⚗️ Meet Nicolas Interactive agent Named after Nicolas Flamel, the legendary alchemist. Ask him about your library in natural language — he searches papers, synthesizes across your highlights, suggests what to read next, and adds papers to Zotero.
Local-first Plain files you own Markdown notes and PDFs on your machine. No accounts, no subscriptions, no lock-in. Works with Obsidian or any folder.
Zotero Round-Trip Highlights sync back Highlights flow back to Zotero as searchable annotations, visible in the built-in PDF reader and mobile apps.
Handwritten notes Ink on PDF Ink strokes rendered on PDFs and typed text extracted. Works on RM1, RM2, and Paper Pro.
Citekey rename Automatic When metadata changes in Zotero, notes and PDFs are renamed to match. No orphaned files or broken links.

## Plug in what you need

Optional features you can enable with an API key or a config flag.

AI summaries Anthropic API One-liner, key learnings, and a paragraph summary for each paper you read.
Handwriting extraction Claude Vision Margin notes transcribed via Claude and woven into your AI summary. Your thinking becomes part of your notes.
Trending papers HuggingFace Browse what's trending in AI research. Included in daily emails and available via the agent.
Smart metadata Semantic Scholar Auto-completes publication dates, venues, and citation counts from Semantic Scholar when Zotero data is incomplete.
Collection filtering Zotero collections Scope Distillate to a specific Zotero collection instead of scanning your entire library.
Email digest Free Resend account Daily paper suggestions and weekly reading logs, delivered to your inbox.

## Stay in the loop

Get notified about new features and releases. No spam, unsubscribe anytime.

Star on GitHub Questions or ideas? Start a discussion

## Commands

`distillate`Launch the research assistant (default)
`distillate "What's in my queue?"`Ask a one-off question
`distillate --sync`Sync Zotero → reMarkable → notes
`distillate --import`Import existing papers from Zotero
`distillate --status`Show queue health and reading stats
`distillate --suggest`Get paper suggestions for your queue
`distillate --digest`Show your reading digest
`distillate --schedule`Set up or manage automatic syncing
`distillate --init`Run the setup wizard

## What you need

Component | Notes |
--- | --- | ---
Zotero | Manages your paper library | Free
reMarkable | Where you read and highlight (uses rmapi) | Required
Anthropic | Powers the agent, summaries, handwriting OCR, and suggestions | Optional
Obsidian | Where notes are saved locally | Optional
Resend | For weekly digest emails | Optional

GitHub PyPI Install guide Documentation Power users guide

Built with love and coffee by Romain Lacombe. Powered by rmapi, rmscene, PyMuPDF, and Claude Code.