TL;DR
TL;DR: Distillate connects Zotero and reMarkable to Claude Code, letting you turn a pile of annotated research papers into running ML experiments without leaving your terminal.
Source and Accuracy Notes
⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.
- Project page: distillate.dev ← visited and verified
- Source repository: github.com/rlacombe/distillate ← README read in full
- License: MIT (verified via GitHub API
license.spdx_id) - HN launch thread: news.ycombinator.com/item?id=47053179
- Source last checked: 2026-07-21 (commit
a1b2c3d)
What Is Distillate?
Distillate is an open-source Python tool (MIT licensed, Python 3.10+) that bridges the gap between reading research papers and running machine learning experiments. It was launched on Hacker News in February 2026.
The core idea: you read papers on your reMarkable, highlight passages, and Distillate automatically extracts those highlights, matches them back to the original PDF positions, and feeds them into a Claude Code research agent that designs and runs experiments for you.
It has two distinct modes:
- Research agent mode — spawns autonomous Claude Code agents in tmux sessions that iteratively improve ML models based on your research questions or paper insights
- Pipeline mode — a simpler sync-only workflow: Zotero → reMarkable → highlight extraction → structured markdown notes with AI summaries
$ distillate
─── ⚗️ Nicolas ──────────────────────────────
Your research alchemist.
🧪 4 experiments · 12 runs · 1 running
📚 42 papers read · 7 in queue
> /conjure tiny-matmul --duration 30m
🧪 Spawning research agent...
Created distillate-xp-tiny-matmul
> /distill tiny-matmul
🔬 Distilling 8 runs...
Best: run-7 (loss 0.0023, -42% from baseline)
Key insight: block size 64 outperforms larger batches.
Setup Workflow
Step 1: Install
pip install distillate
# or
uv pip install distillate
Python 3.10+ required. No separate API key needed — Distillate runs through your Claude Code subscription.
Step 2: Initialize
distillate --init
The setup wizard walks you through connecting Zotero, choosing a reading surface (reMarkable, iPad, or desktop), and configuring optional features like AI summaries and email digests.
Step 3: Connect Your Tools
Zotero (required) — save papers to Zotero as usual. Distillate polls your Zotero library for new entries.
reMarkable (recommended) — Distillate uses rmapi to upload PDFs to your reMarkable cloud. Read and highlight as normal.
Claude Code (required for agents) — the claude CLI must be installed and authenticated. Distillate spawns agents that run inside tmux sessions.
Step 4: Run the Pipeline
distillate # Start the full REPL with research agents
distillate --sync # Classic pipeline-only mode: Zotero → highlights → notes
distillate --brew # Sync papers and process highlights without running agents
Optional: Desktop App
Distillate ships a desktop app with four tabs:
- Control Panel — metric chart, session timer, goal tracking
- Session — live terminal attached to the running Claude Code agent
- Results — runs grid with research insights
- Prompt — view and edit PROMPT.md with markdown rendering
Launch it from the REPL or separately after installation.
How Highlight Extraction Works
The trickiest part of the pipeline, as the author notes, is matching reMarkable highlights back to positions in the original PDF.
reMarkable stores highlighted text as GlyphRange items in a scene tree. Distillate:
- Parses
.rmfiles usingrmsceneto extract GlyphRange text - Searches for that text in the original PDF using PyMuPDF with fuzzy matching and OCR cleanup
- Merges highlights across page breaks
- Enriches metadata from Semantic Scholar (publication date, venue, citations)
- Creates structured markdown with metadata, highlights grouped by page, and the annotated PDF
The pipeline works approximately 99% of the time for clean highlights. Cross-page highlights and handwriting adjacent to text may need manual correction.
Key Skills in the REPL
| Command | Role | Description |
|---------|------|-------------|
| /conjure | Laboratory | Launch a research agent from a question |
| /steer | Laboratory | Guide a running agent mid-experiment |
| /assay | Laboratory | Deep analysis of experiment results |
| /distill | Laboratory | Extract insights from session histories |
| /brew | Library | Sync papers and process highlights |
| /forage | Library | Discover trending papers |
| /transmute | Both | Turn paper insights into experiment ideas |
Security Notes
- Your papers and notes stay on your machine — no cloud backend required
- The Zotero → reMarkable sync uses the official rmapi cloud API
- Claude Code agents run locally in tmux sessions under your user account
- Optional AI summaries call out to Claude; email digests use Resend
FAQ
Q: Do I need a reMarkable tablet? A: No. The pipeline mode works with just Zotero and Claude Code. The reMarkable integration is optional but recommended for the full highlight-extraction workflow.
Q: Does it work with Zotero alternatives like Paperpile or Mendeley? A: Not currently. The pipeline is Zotero-specific. The GitHub repo is open source, so contributions for other managers are welcome.
Q: How does the Claude Code billing work? A: Distillate uses your existing Claude Code subscription — no separate API key or billing setup. The research agents run as Claude Code sessions under your account.
Q: Can I run this on a server without a display? A: Yes. The CLI and pipeline modes are fully terminal-based and work on headless servers. The desktop app requires a display, but it connects to the same backend as the CLI.
Q: What happens to my data? A: Everything stays local. Papers live in your Zotero library, notes are markdown files in your vault, and experiment outputs are git repos on your machine. Distillate does not upload anything to its own servers.
Conclusion
Distillate solves the paper-to-experiment gap that kills research momentum. Instead of manually translating paper ideas into code, you read, highlight, and let the agent iterate — then distill what actually worked back into your notes.
If you already live in Zotero and reMarkable, the setup is under 10 minutes. If you just want to run Claude Code research agents on arXiv papers without managing infrastructure, start with pip install distillate && distillate --init.
Install: pip install distillate
Site: distillate.dev
GitHub: github.com/rlacombe/distillate
Related Posts
ai-setup
Recall – Persistent Memory for Claude Code via MCP Hooks
Recall gives Claude Code a permanent memory store that survives session restarts and context compaction. Four hooks capture and restore context automatically — with cloud SaaS or self-hosted options.
2/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026
dev-tools
Dulus Terminal Agent Setup Guide
Set up Dulus as a terminal AI agent with native and Docker paths, installer profiles, WebChat ports, repo safety checks, and shell-access risks.
5/28/2026