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

@bleed00/dsh-claude-mem

v0.1.5

Published

A DeepSeek Harness plugin that integrates claude-mem: query, context injection, manual save, and session lifecycle over a local claude-mem worker's HTTP API

Readme

dsh-claude-mem

A DeepSeek Harness plugin that integrates claude-mem: query persisted cross-session memory, inject per-project context at session start, save manual memories, and drive session summarization — all through a local claude-mem worker's HTTP API.

npm npm downloads GitHub CI License TypeScript Node.js DeepSeek Harness dsh-plugin

It registers the model-facing tools mem_search, mem_timeline, mem_get_observations, mem_save, and mem_context, the mem-search skill, and the lifecycle hooks (agent/session-start context injection, optional tools/post-execute ingestion, optional agent/turn-stopping summarization). It is a single self-contained package with no monorepo-only dependencies.

Install

One-liner with npx (no global install — npx fetches the dsh launcher and dsh plugin forwards add to pnpm in the target profile):

npx -y @deepseek-ai/dsh plugin --profile demo add @bleed00/dsh-claude-mem

If you already have dsh on PATH, the same command without npx:

dsh plugin --profile demo add @bleed00/dsh-claude-mem

npm (recommended — ships prebuilt lib/, no build permission needed):

npx -y @deepseek-ai/dsh plugin --profile demo add @bleed00/dsh-claude-mem

GitHub (sources; runs a prepare build on first install):

npx -y @deepseek-ai/dsh plugin --profile demo add github:Bleed00/dsh-claude-mem

A GitHub install fetches sources, not build output, so pnpm runs this package's prepare script to build from src/. pnpm ≥10 refuses to run a git dependency's prepare until it is allowlisted; the first add fails and points at the fix — copy the exact package key pnpm printed into the profile's pnpm-workspace.yaml:

allowBuilds:
  '@bleed00/dsh-claude-mem': true

then re-run the add. Treat that allowance as permission to run this package's code at install time; pin a commit for reproducible installs:

dsh plugin --profile demo add github:Bleed00/dsh-claude-mem#<sha>

Local checkout:

dsh plugin --profile demo add ./dsh-claude-mem

Requirements

  • A DeepSeek Harness installation with dsh on PATH.
  • The claude-mem worker already running on its default port (http://127.0.0.1:37700). Override with the baseUrl config or the DSH_MEM_BASE_URL environment variable.

Config

| Field | Default | Description | |---|---|---| | baseUrl | http://127.0.0.1:<37700 + uid % 100> | Worker base URL. | | timeoutMs | 30000 | Per-request timeout (ms). | | dedupe | true | Collapse duplicate observations in query results (content fingerprint, never identity). | | platformSource | unset | Optional platform filter; omitted = search all memory. | | project | unset | Project name; defaults to the session cwd basename. | | injectContext | true | Inject session-start context. | | ingest | false | Save observed tool results as memories. | | summarize | false | Summarize sessions on turn stop. | | toolFilter.names | read, write, edit, bash | Tools observed when ingest is true. |

Platform scoping is a signal, never a restriction: default requests are unfiltered, and platformSource only adds an opt-in filter.

Duplicate handling

The worker can persist the same observation many times (a boilerplate "session initiated" record, or a re-run tool result) — identical content, different id. With dedupe: true (the default), query results collapse those copies: an observation's content fingerprint is built from title + subtitle + text + narrative + facts (normalized), so two entries that merely share a generated title but differ in narrative are kept. The first copy (lowest id) is retained. Structured results (mem_get_observations) are deduplicated by fingerprint; rendered index/text results are deduplicated by exact rendered row. Set dedupe: false to see the raw, unfiltered results.

Example override in the profile's cordis.patch.yml

- id: claude-mem
  config:
    baseUrl: http://127.0.0.1:37700
    platformSource: dsh
    ingest: true
    summarize: true

Tools

| Tool | Purpose | |---|---| | mem_search | Search memory; returns an index (ids, titles, types). | | mem_timeline | Get context around one observation. | | mem_get_observations | Fetch full details for ids. | | mem_save | Save one manual memory. | | mem_context | Render the worker's session-start context text. |

The mem-search skill teaches the model the search → filter → fetch workflow that keeps token usage low.

Development

pnpm install
pnpm run build   # tsc + tsdown → lib/index.js
pnpm test

The package targets Node ≥ 20.12, TypeScript 6.0, and is authored against the @deepseek-ai/* framework packages (cordis, schemastery, dsh-tools, dsh-llm, dsh-skill, dsh-agent).

License

Apache-2.0 © Bleed00