npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dvquys/qrec

v0.8.5

Published

Purpose-built session recall engine — persistent daemon with BM25 + vector hybrid search

Readme

GitHub Sponsors

Total recall for Claude Code — yours and Claude's. On-device.

qrec runs a local daemon that indexes your Claude Code sessions into a searchable database. Summaries and tags are generated by an on-device model — no API calls, no tokens spent. You browse via a web UI; Claude queries it directly during conversations via qrec search. Your full session history — including sessions Claude Code would have deleted after 30 days — stays on your machine.

  • Browse without asking Claude — web UI with project filters, session summaries, and tags. Computed locally.
  • Agent recall — ask Claude "What did we decide about the auth flow?" and it finds the answer from your archive, not its context window.
  • Seamless handoff — when a session hits its context limit, open a new one. qrec gives Claude a clean transcript of what happened.
  • Nothing gets lost — Claude Code silently clears sessions after ~30 days. qrec archives everything the moment it's indexed. Permanently.

Read the introduction post →

Prerequisites

| Requirement | Details | |---|---| | macOS | Fully supported on Apple Silicon (tested on M2). | | Linux | Supported. NVIDIA GPU strongly recommended for enrichment (tested on Tesla T4 with CUDA 12). | | Windows | Not supported. | | Bun | v1.1.0+ — auto-installed by the npm postinstall script if not present. | | Node.js | v18+ — only needed to bootstrap the CLI wrapper; Bun handles everything else. | | Disk space | ~500 MB for the embedding model (embeddinggemma-300M-Q8_0, ~313 MB) + enrichment model (Qwen3-1.7B, ~1.7 GB, downloaded on first qrec enrich). |

Linux CUDA note: qrec auto-detects CUDA at startup via libcuda.so / nvidia-smi. No manual configuration needed — just have the NVIDIA driver installed.

Install

Step 1 — Install the CLI

npm install -g @dvquys/qrec
qrec serve --daemon

On first run, the daemon downloads the embedding model (~313 MB) and indexes your Claude sessions. Your browser opens automatically — watch progress there.

Step 2 — Claude Code plugin (recommended)

Install the plugin to unlock in-session recall: Claude can search your past conversations in real time to answer questions about prior work.

claude plugin marketplace add dvquy13/qrec
claude plugin install qrec@qrec

Once installed, you can ask Claude things like:

  • "What was I working on recently?"
  • "How did we implement the auth flow last month?"
  • "What did we decide about the database schema?"
  • "Find that session where we debugged the rate limiter"

The plugin also ensures the qrec daemon starts automatically with every Claude Code session — no manual qrec serve needed.

Usage

The daemon runs at http://localhost:25927. Open it in your browser to search sessions and monitor indexing activity.

qrec status     # check daemon status
qrec stop       # stop the daemon

Search API

curl -s -X POST http://localhost:25927/search \
  -H "Content-Type: application/json" \
  -d '{"query": "sqlite vec extension", "k": 5}' | jq .
{
  "results": [
    {
      "session_id": "a1b2c3d4",
      "title": "...",
      "date": "2026-03-09",
      "project": "qrec",
      "score": 0.042,
      "preview": "...best matching chunk..."
    }
  ],
  "latencyMs": 58
}

CLI recall

qrec search "embedding pipeline" --k 5   # search indexed sessions (JSON output)
qrec get <session-id>                     # print full session markdown

Commands

| Command | Description | |---|---| | qrec serve [--daemon] | Start HTTP server on port 25927; auto-downloads model + indexes on first run | | qrec stop | Stop daemon | | qrec teardown | Stop daemon and remove all qrec data (~/.qrec/) | | qrec index [path] | Re-index sessions (default: ~/.claude/projects/) | | qrec search "<query>" [--k N] | Search indexed sessions (prints JSON) | | qrec get <session-id> | Print full session markdown | | qrec status | Status summary + log tail | | qrec enrich [--limit N] | Backfill session summaries, tags, and entities |

Contributing

Contributions are welcome! See CONTRIBUTING.md for dev setup, testing, and PR guidelines.

Local dev

bun install
bun link              # register qrec globally → ~/.bun/bin/qrec
qrec serve --daemon

Stack

| Layer | Choice | |---|---| | Runtime | Bun | | Language | TypeScript | | Search DB | SQLite (FTS5 + sqlite-vec) | | Embeddings | node-llama-cpp (embeddinggemma-300M-Q8_0) | | Enrichment | node-llama-cpp (Qwen3-1.7B) |


If you find this work useful and want to buy me a coffee, GitHub Sponsors is the place. Thank you!