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

openclaw-memorysync

v1.0.1

Published

MemorySync memory backend for OpenClaw — automatic recall and capture on every interaction, six memory tools, skills, and a status doctor. Session-safe by contract.

Readme

openclaw-memorysync

MemorySync memory backend for OpenClaw — automatic recall and capture on every interaction, backed by MemorySync. Takes OpenClaw's exclusive memory slot, so your assistant remembers you across every channel it lives on: WhatsApp, Telegram, Discord, Signal, and the rest.

Install

openclaw plugins install npm:openclaw-memorysync

Then wire it up in ~/.openclaw/openclaw.json (get a key at app.memorysync.io):

{
  plugins: {
    slots: { memory: "openclaw-memorysync" },
    entries: {
      "openclaw-memorysync": {
        enabled: true,
        hooks: {
          allowPromptInjection: true,      // recall injection
          allowConversationAccess: true    // capture
        },
        config: { apiKey: "${MEMORYSYNC_API_KEY}" }
      }
    }
  }
}
openclaw gateway restart

Ask /memorysync-status in any chat — it diagnoses the key, the slot, both permission gates, the allowlist, and live connectivity, and prints the exact config to paste for anything missing.

What runs when

| Moment | What happens | | --- | --- | | Before each reply | Memories relevant to your message are recalled and injected — inside a hard time budget, so a slow network can never delay a chat. | | After each reply | The exchange persists verbatim with content-hash idempotency seeds (retries converge on one stored row; the plugin's own injected context is stripped first). | | Session start | Tenant cache warm-up, fire-and-forget. | | Session end | Cache trim only — never network (OpenClaw's 2-second drain budget is respected by design). | | Any failure — no key, network down, monthly quota exhausted | Silent skip. A raw error never reaches your chat; the worst case is a memoryless reply. |

Tools

memory_search, memory_add, memory_get, memory_list, memory_update, memory_delete (single-id only — there is deliberately no delete-all), and memory_status (the doctor). Failures answer with friendly text, never stack traces. Credential-looking text is refused client-side before it can be stored.

Skills / commands

  • /remember <fact> — save a durable fact (dispatches straight to memory_add)
  • /recall <query> — search memory (straight to memory_search)
  • /memorysync-status — the setup doctor
  • A model-facing skill teaches the agent when to search, what to save, and to treat recalled text as background data — never instructions.

Configuration

| Key / env | Default | Meaning | | --- | --- | --- | | config.apiKey / MEMORYSYNC_API_KEY | — | Required for memory. Without it everything is a silent no-op. | | config.userId / MEMORYSYNC_USER_ID | OS username | Memory identity. | | config.baseUrl / MEMORYSYNC_BASE_URL | https://api.memorysync.io | Self-hosted / regional override. | | config.autoRecall | true | Inject memories before each turn. | | config.autoCapture | true | Persist each exchange. | | config.topK | 8 | Memories per recall. | | config.recallTimeoutMs | 6000 | Recall gives up after this and the turn proceeds memoryless. | | MEMORYSYNC_DISABLE=1 | — | Switch everything off without uninstalling. |

Multi-agent setups get isolated transcripts automatically (openclaw::<agentId> scopes) while sharing the same user memories.

MCP alternative

Prefer plain MCP tools without the memory slot? MemorySync's hosted MCP server works in OpenClaw directly:

openclaw mcp add memorysync --url https://mcp.memorysync.io/mcp --transport streamable-http

Docs

Full guide: docs.memorysync.io/guides/openclaw