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

@unblocklabs/unblock-memory

v0.3.27

Published

Workspace-native memory for OpenClaw, powered by QMD

Readme

Unblock Memory

Workspace-native memory for OpenClaw, powered internally by @unblocklabs/qmd. It keeps one warm QMD store per agent and exposes memory_search and memory_get. Ordinary recall is local vector search over semantic chunks: no query expansion, reranker or TypeSafe key is required.

Start here

Install once per OpenClaw host, not once per agent:

openclaw plugins install npm:@unblocklabs/unblock-memory

Merge this into your OpenClaw configuration, preserving other plugins/settings:

{
  "plugins": {
    "slots": { "memory": "unblock-memory" },
    "entries": {
      "unblock-memory": { "enabled": true, "config": {} }
    }
  }
}

The default memory corpus contains MEMORY.md, USER.md and memory/**/*.md, relative to each agent's workspace. The first use builds its index; Markdown changes refresh it in the background. QMD is installed as a pinned dependency, not a separate service. A global QMD CLI is not required.

Optional installation from source: openclaw plugins install git:github.com/unblocklabs-ai/unblock-memory.

What does what?

| Capability | What it does | Default / prerequisite | | --- | --- | --- | | Search and reads | Vector recall, then exact indexed source reads | Available with the memory plugin; files only unless more corpora are configured | | Session indexing | Makes past user/assistant exchanges searchable | Opt-in corpus; channel/group by default, DMs explicitly included | | Skill Whisperer | Suggests one relevant skill; never invokes it | Off; explicit skills corpus; TypeSafe optional | | Memory Whisperer | Injects up to two useful historical excerpts | Off; approved corpora + TypeSafe | | People dossiers | Stores agent-authored, evidence-backed recognition snippets | Off; people.enabled | | People Primer | Selects evidence and reviews proposed blurbs; never generates/saves dossiers itself | Off; people + approved corpora + TypeSafe | | People Whisperer | Injects a saved blurb for an exact Slack identity | Off; separate global/per-person gates; no model call | | Analysis and curation | Clusters existing vectors; agent maintains useful knowledge | Optional local analysis worker; no plugin-owned curation schedule | | Quality and evidence review | Advisory ingestion/claim checks and maintenance leads | Off; feature-specific corpora + TypeSafe | | Response quality/sentiment | Operator-only evaluation of approved Slack exchanges | Off; approved humans + TypeSafe; no memory/dossier updates | | Compaction memory flush | Supplies the host an append-only daily-memory write plan | Offered unless the host's memory-flush setting is false; separate from whisperers |

Search is not one interchangeable API: plugin memory_search is vector-only; standalone QMD query is hybrid vector + BM25 with TypeSafe ranking. They have separate configuration/index boundaries. See search modes and the xsearch migration.

Configuration and operating guides

  • Configuration: every setting/default, feature dependencies, TypeSafe credentials/data scopes, host permissions and compaction.
  • Retrieval: search/read workflow, sessions, whisperers, indexing, diagnostics, clustering and curation.
  • People: dossier workflow, primer/save review, injection and pause/delete/restore semantics.
  • Response audit: operator commands, cadence, sentiment, evidence-linked reports and their limits.
  • Memory training: resumable, operator-only conversation collection, TypeSafe recall gating, xhigh Luna queries and conversation-only grading of historical QMD hits for the LFM query-generator project.

The shared TypeSafe integration defaults on, but its features are opt-in. A key activates only features already enabled. Ordinary search and People Whisperer's injection stay local; Skill Whisperer has a local fallback. Provider gates and failure behavior differ by feature.

For agents

Use memory_search to locate evidence, then memory_get to inspect context, attribution and dates. Follow bounded-read continuation when present. Empty search results are not proof of absence; old memory is not current authorization.

The package includes two focused procedures: people-whisperer and memory-curator. Include them in any explicit agent skill allowlist. Read their longer references only when needed; Skill Whisperer does not install or authorize skills.

Storage and development

Each agent has a rebuildable index.sqlite and durable unblock-memory.sqlite. The latter holds people/dossiers/history, curation and private response audits; sharing a file does not make audit data searchable or prompt-visible. Read migration, backup and rollback before upgrading from the former separate databases.

Source-checkout-only fleet key tooling, when present, is documented in scripts/TYPESAFE-FLEET.md and run through scripts/typesafe-fleet.mjs. It is not part of the npm package; keep populated key files private.

Release instructions and product direction are source-repository references. Planning documents describe historical or future designs, not the installed runtime contract.