Every “chat with PDF” tool works the same way: upload a paper, ask questions, repeat. That’s fine for one paper. It falls apart at the point where research actually happens — when you have a folder of forty PDFs, half-read, accumulating notes, and the question isn’t about one paper but about the space between them: which of these measured long-horizon memory, and how do their setups differ?

Uploading forty PDFs one by one into a chat window isn’t a library. It’s a queue.

Treat the papers as what they already are: files

The local-first version of this workflow starts from the folder you already have:

  1. Open the folder in StashBase — an open-source desktop app. The PDFs stay exactly where they are.
  2. Preparation runs in the background. Each paper gains extracted text; scanned figures gain OCR. The Sources stay in place, and the local index is derived from them and rebuildable at any time.
  3. Search the whole shelf. Keyword search works out of the box. Turn on search by meaning with your own OpenAI or OpenRouter key and you get semantic search on top — “papers about retrieval as a memory substrate” finds HippoRAG even if you forgot its name.
  4. Ask from the agent you already use. The library is exposed over MCP, so Claude Desktop or Claude Code can search it, open the right paper, and answer with the actual text in front of it — scoped to the folders you authorized. (Setup takes a few minutes.)

Your notes live in the same folder, as Markdown next to the papers. They get indexed too — which means next month’s question benefits from this month’s reading.

Try it on a real shelf in five minutes

We keep a public starter space for exactly this: The Agent Memory Landscape — 12 verified papers on memory for AI agents, each with a companion reading note and a suggested reading order.

git clone https://github.com/0-bingwu-0/stashbase-agent-memory
cd stashbase-agent-memory && ./fetch-papers.sh

The script pulls the PDFs straight from arXiv; open the folder in StashBase and watch it become a searchable library. The space’s AGENTS.md gives the built-in agent a standing rule that matters more than any feature: cite which paper a claim comes from, and keep the line between what a paper says and what the agent infers.

What this is not

Honesty section: this is not a citation manager — Zotero keeps your BibTeX; this keeps your reading searchable and your agent grounded. Semantic search sends extracted text to the provider behind your own key, OpenAI or OpenRouter; keyword search is fully offline. If something breaks, tell us about it.

If your “papers” are lecture recordings instead, the same loop works once you transcribe them on your own machine and save the transcripts as text (StashBase doesn’t transcribe recordings itself).