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

dsh-deja

v0.20.9

Published

deja-vu memory for DeepSeek Harness: the session history of thirty-two other coding agents, searchable and recalled before each step — a local index, no LLM.

Readme

dsh-deja

English | 中文

DeepSeek Harness can already search its own sessions — that is what the built-in session-query subsystem does. This plugin answers the other question: what you did in the other agents on this machine.

deja indexes the session files that thirty-two other coding agents — Claude Code, Codex, Cursor, opencode, Antigravity, Grok Build, Kimi, Cline and Zed among them — already write to disk. Nothing has to have been recorded ahead of time: the history is already there, including the months before deja was installed. If you moved to dsh last week, everything you did before last week is still reachable from inside it.

Install

dsh plugin --profile web add dsh-deja

From the repository instead of npm — the root manifest re-exports this directory, so either form works:

dsh plugin --profile web add github:vshulcz/deja-vu#path:extensions/dsh

The plugin runs the deja binary. It is pulled in as a dependency, so npm installs it with the plugin; a deja already on PATH is used as-is, and DEJA_BIN overrides both.

If you have the CLI, deja install --auto wires dsh too — it adds deja's MCP server and a /deja command to your profile — and that is the shorter path. Having both is fine: this plugin looks for what the installer wrote in $DSH_HOME/plugins/deja/ and contributes only what is missing, so the tools and the command are never registered twice.

What it adds

Six tools the model can call:

| Tool | Answers | |---|---| | deja_recall | Sessions matching an error string, function name, file path or flag. | | deja_session | The full digest of one past session, when the reasoning behind it matters. | | deja_blame | The sessions that discussed a file, before you edit or delete it. | | deja_fix | What this machine ran after that same error before. | | deja_how | The real invocation for a build, test or deploy, from what ran here. | | deja_remember | Stores one settled decision for later recall. |

One command: /deja <what to look for>.

And, unless you turn it off, automatic recall: before each step the plugin asks deja whether this machine's history answers the prompt, and adds the answer to the runtime context. Silence is the common case — it speaks only when there is something to say.

- insert:
    - id: deja
      name: dsh-deja
      config:
        autoRecall: false   # tools and /deja only

How it is wired

Recall arrives through ctx.systemPrompt.context, evaluated on every assembly. The obvious alternative — a middleware on agent/pre-step that splices a message into the step — loads fine, completes the turn, and never reaches the model: a later listener in that waterfall rebuilds its answer from the payload and the added message is dropped with nothing reported. This was settled by reading the requests dsh 0.1.1-rc.2 actually sent.

What it does not do

No LLM, no embeddings, no network. The index is a local BM25 store over files that already exist, so a query answers in about a millisecond and nothing leaves the machine. Secrets are redacted at index time.

Part of deja-vu. MIT.