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

@zhenhangtung/openclaw-evermemos

v0.1.0

Published

EverMemOS memory backend for OpenClaw — long-term memory with structured extraction, intelligent retrieval, and progressive profile building

Readme

🦞🧠 OpenClaw EverMemOS Plugin

MIT License

An OpenClaw plugin that adds long-term memory powered by EverMemOS — an advanced Memory OS that provides structured extraction, intelligent retrieval, and progressive profile building with 93% reasoning accuracy on the LoCoMo benchmark.

Overview

This plugin integrates EverMemOS as the memory layer for OpenClaw agents. Unlike simple key-value memory stores, EverMemOS provides:

  • Multiple memory types — Episodic memories, event logs, foresight predictions, and user profiles
  • Smart retrieval — BM25 keyword search, vector semantic search, hybrid, RRF fusion, and LLM-guided agentic retrieval
  • Structured extraction — Automatically extracts structured memories from conversations with boundary detection
  • Progressive profiles — Builds and evolves user profiles over time from conversation patterns

How It Works

                     ┌──────────────────┐
 OpenClaw Agent ────▶│  openclaw-       │──── REST API ──── EverMemOS Server
                     │  evermemos       │                  (localhost:1995)
                     │  plugin          │
                     └──────────────────┘
                       │
                       ├─ Auto-Recall (before_agent_start)
                       │   Searches relevant memories and injects into context
                       │
                       ├─ Auto-Capture (agent_end)
                       │   Stores conversation messages for memory extraction
                       │
                       └─ 5 Agent Tools
                           memory_search, memory_store, memory_get,
                           memory_list, memory_forget
  1. Auto-Recall — Before the agent responds, the plugin searches EverMemOS for memories relevant to the current message and injects them into the agent's context
  2. Auto-Capture — After the agent responds, the last user/assistant exchange is sent to EverMemOS which extracts episodic memories, event logs, foresight predictions, and updates user profiles
  3. Agent Tools — Five tools for explicit memory operations during conversations
  4. Slash Commands/remember and /recall for quick manual memory operations

Prerequisites

  • OpenClaw installed and configured
  • EverMemOS server running (default: http://localhost:1995)

Setting up EverMemOS

# Clone EverMemOS
git clone https://github.com/EverMind-AI/EverMemOS.git
cd EverMemOS

# Start infrastructure services
docker compose up -d

# Install dependencies
uv sync

# Configure environment
cp env.template .env
# Edit .env with your LLM_API_KEY and VECTORIZE_API_KEY

# Start the server
uv run python src/run.py

# Verify it's running
curl http://localhost:1995/health

Installation

openclaw plugins install @zhenhangtung/openclaw-evermemos

Configuration

Add to your openclaw.json:

Minimal Configuration

// plugins.entries
"openclaw-evermemos": {
  "enabled": true,
  "config": {
    // Self-hosted: http://localhost:1995/api/v1
    // Cloud: https://api.evermind.ai/api/v0
    "baseUrl": "http://localhost:1995/api/v1",

    "userId": "your-user-id"
  }
}

Full Configuration

"openclaw-evermemos": {
  "enabled": true,
  "config": {
    // EverMemOS API base URL (must include versioned API path, supports ${EVERMEMOS_BASE_URL} env var)
    // Self-hosted: "http://localhost:1995/api/v1"
    // Cloud: "https://api.evermind.ai/api/v0"
    "baseUrl": "http://localhost:1995/api/v1",

    // API key: required for cloud, optional for self-hosted
    // Supports ${EVERMEMOS_API_KEY} env var
    "apiKey": "${EVERMEMOS_API_KEY}",

    // User ID for scoping memories
    "userId": "your-user-id",

    // Optional group ID for multi-user scenarios
    "groupId": "project-team",

    // Auto-recall: inject memories before each agent turn (default: true)
    "autoRecall": true,

    // Auto-capture: store context after each agent turn (default: true)
    "autoCapture": true,

    // Retrieval method: "keyword", "vector", "hybrid", "rrf", "agentic"
    "retrieveMethod": "hybrid",

    // Memory types to retrieve: "episodic_memory", "foresight", "event_log", "profile"
    "memoryTypes": ["episodic_memory"],

    // Maximum number of memories to retrieve per search (default: 10)
    "topK": 10
  }
}

Agent Tools

The agent gets five tools it can call during conversations:

| Tool | Description | |------|-------------| | memory_search | Search memories by natural language query with configurable retrieval method | | memory_store | Store a message for memory extraction (episodic, event log, foresight, profile) | | memory_get | Retrieve memories for a user by memory type | | memory_list | List all stored memories across all memory types | | memory_forget | Delete memories by event ID, user ID, or search query |

Memory Types

EverMemOS organizes memories into four types:

| Type | Description | |------|-------------| | episodic_memory | Narrative memories of events and conversations | | event_log | Atomic facts extracted from episodes | | foresight | Predictions and upcoming events extracted from conversations | | profile | Progressive user profiles built from conversation patterns |

Retrieval Methods

| Method | Description | |--------|-------------| | keyword | BM25 keyword search | | vector | Semantic vector search | | hybrid | Combined keyword + vector search | | rrf | Reciprocal Rank Fusion (keyword + vector + ranking fusion) | | agentic | LLM-guided multi-round intelligent retrieval |

Slash Commands

| Command | Description | |---------|-------------| | /remember <text> | Save something to EverMemOS memory | | /recall <query> | Search your memories and see results with relevance scores |

CLI Commands

# Search memories
openclaw evermemos search "what does the user like to do on weekends"

# Search with specific retrieval method
openclaw evermemos search "project deadlines" --method agentic

# View statistics
openclaw evermemos stats

Configuration Options

| Key | Type | Default | Description | |-----|------|---------|-------------| | baseUrl | string | http://localhost:1995/api/v1 | EverMemOS API URL. Must include /api/vx (e.g. /api/v1 or /api/v0) (supports ${EVERMEMOS_BASE_URL}) | | apiKey | string | — | API key for Bearer auth. Required for cloud, optional for self-hosted (supports ${EVERMEMOS_API_KEY}) | | userId | string | "default" | User ID for scoping memories | | groupId | string | — | Optional group ID for multi-user scenarios | | autoRecall | boolean | true | Inject memories before each agent turn | | autoCapture | boolean | true | Store context after each agent turn | | retrieveMethod | string | "hybrid" | Retrieval method: keyword, vector, hybrid, rrf, agentic | | memoryTypes | string[] | ["episodic_memory"] | Memory types to retrieve | | topK | number | 10 | Max memories per recall/search |

Development

# Install dependencies
npm install

# Run tests
npm test

# Type check
npm run lint

# Build
npm run build

Comparison with Mem0 Plugin

| Feature | openclaw-mem0 (Mem0) | openclaw-evermemos (EverMemOS) | |---------|---------------------|-------------------------------| | Memory types | Flat text memories | Episodic, event log, foresight, profile | | Retrieval | Similarity search | Keyword, vector, hybrid, RRF, agentic | | Profile building | Manual | Automatic progressive profiles | | Boundary detection | No | Automatic conversation boundary detection | | LoCoMo accuracy | — | 93% | | Backend | Mem0 Cloud or OSS | Self-hosted EverMemOS | | Foresight | No | Predictive/prospective memory |

License

MIT

Acknowledgments