Local-first research pipeline

Your papers should not disappear after you read them.

PaperRoach turns Zotero PDFs into linked, searchable Obsidian notes with models running through Ollama.

  • No telemetry
  • Zotero stays read-only
  • MIT licensed

A paper folder stores files. PaperRoach builds memory.

FROM INBOX TO KNOWLEDGE

One pipeline, four useful outcomes.

Start with one PDF or watch your Zotero library. PaperRoach keeps the source, note, concepts, and search index connected.

Bibliographic context

Title, authors, year, venue, DOI, and tags flow from Zotero when available.

Notes you can edit

Structured Markdown lands in your vault. Rebuilds keep everything under “My Notes.”

Concept links

Important concepts become Obsidian links so each new paper strengthens the graph.

Local search

LanceDB and local embeddings make the library searchable without a hosted knowledge service.

REAL OUTPUT / ONE LOCAL RUN

Put in one real PDF. This is what lands in Obsidian.

This sanitized excerpt comes from an actual 24-page paper processed with PaperRoach. It is generated Markdown, not a mockup.

NEW / COMPLETE PUBLIC CASE Open the original PDF, generated Markdown, and four derivative notes. CC BY 4.0 source · raw and reviewed copies · checksums · change log Explore every file →

REAL RUNPaperRoach 0.1.0 · Ollama · Zotero → Obsidian

Open the source paper
ZOTEROPDF / 24 PAGES

ACTUAL INPUT

ASafePlace: User-Led Personalization of VR Relaxation via an Art Therapy Activity

Chuyang Zhang et al. · 2026

  • Zotero metadata found
  • PDF text extracted
  • Figures detected11
OBSIDIANGENERATED MARKDOWN

2 - Source Material / Papers / HCI / Health & Wellbeing / ASafePlace … (2026).md

Type: PaperYear: 2026Domain: HCISubdomain: Health & Wellbeing

ASafePlace: User-Led Personalization of VR Relaxation via an Art Therapy Activity

Metadata Chuyang Zhang, Bin Yu, Yuchao Wang, Mansi Yuan, Wanqi Wang, Seungwoo Je, Pengcheng An

## TL;DR

ASafePlace introduces a user-led, AI-assisted VR relaxation system that combines art therapy with personalized virtual environments. The system focuses on personalization and user agency.

ASafePlace Figure 5: bar charts compare HRV-SDNN during stress and relaxation sessions, alongside boxplots of the percentage change for four study groups.

Contextual figure · p. 11

The generated note places the HRV-SDNN chart beside Key Results and explains the change from the stress session to the relaxation session.

Figure 5 from Zhang et al., ASafePlace (CHI ’26), CC BY 4.0.

## Concepts

## My Notes

Your own writing stays here when the note is rebuilt.

Actual output, lightly shortened for the page. Local file paths and identifiers were removed. Model-generated analysis should always be checked against the source paper.
Inspect the raw Markdown excerpt
---
Type: [Paper]
Authors: Chuyang Zhang et al.
Year: 2026
Domain: HCI
Subdomain: Health & Wellbeing
kb-generated: true
---
# ASafePlace: User-Led Personalization of VR Relaxation

## TL;DR
ASafePlace introduces a user-led, AI-assisted VR relaxation system…

## Concepts
- [[User-Led Personalization]]
- [[Art Therapy Integration]]
- [[Biofeedback Synchronization]]

## My Notes

FIRST RUN

From a clean machine to the first note.

Python 3.11–3.12, Obsidian, and Ollama are required. Zotero is optional for manual PDFs and recommended for automatic ingestion.

  1. 1

    Install the companion apps

    Install uv for a current Python 3.12 patch, create or open an Obsidian vault, then install and start Ollama.

  2. 2

    Install PaperRoach

    Install the published command into its own isolated environment. No repository clone or environment activation is needed.

    View PaperRoach on PyPI ↗
  3. 3

    Run safe setup

    PaperRoach finds vaults Obsidian has opened, writes user-level config, detects Zotero when possible, and pulls the required models.

  4. 4

    Verify, then build one PDF

    Doctor explains what is ready. At the prompt, paste the real path to one PDF before scanning the whole library.

SETUP TERMINAL
> uv python install 3.12
> uv tool install --python 3.12 paperroach
> paperroach setup --pull-models
> paperroach doctor
> # Paste the full path to one PDF when prompted.
> $pdf = (Read-Host "PDF path").Trim().Trim('"')
> paperroach build $pdf

Setup is repeatable and non-destructive.Existing vault files and custom settings are left alone.

Open the step-by-step installation guide

DESIGNED FOR OWNERSHIP

Your research system should still work when a service does not.

LOCAL

Inference where you choose

The default Ollama host is localhost. If you configure a remote host, extracted text and requested figure images go there—nowhere else.

PLAIN

Markdown, not a silo

Generated notes are ordinary files in your Obsidian vault. Read them, edit them, version them, or leave PaperRoach.

OPEN

MIT licensed and inspectable

Use it, fork it, and help shape it. The project is early alpha, so honest issues and focused pull requests matter.

YOUR NEXT PAPER

Read it once. Keep it useful.