soolaugust/0CompactMem

🧠 Knowledge & Memory
0 Views
0 Installs

🐍 🏠 🍎 πŸͺŸ 🐧 - Persistent memory MCP server with OS-style demand paging, kswapd-style eviction, and mlock pinning. Multi-agent shared SQLite store with BM25 + FTS5 retrieval, importance scoring, and capacity-aware reclaim. 5 tools: memorylookup, pinmemory, unpinmemory, memorystats, listpinned. uvx --from git+https://github.com/soolaugust/0CompactMem memory-os

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "soolaugust-0compactmem": {
      "command": "npx",
      "args": [
        "-y",
        "soolaugust-0compactmem"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

vMem

Virtual memory for LLM context. For Claude Code and every AI agent.

Your AI never forgets β€” no more "context compacted" interruptions.

Python SQLite Tests License Discussions

English Β· δΈ­ζ–‡

One-line install via Claude Code:

/install-plugin github:soolaugust/vMem

The problem: context compaction kills your flow

If you use Claude Code, you know this pain:

⚠️ Auto-compact: conversation is approaching context limit...

Every time this happens, your AI loses track of decisions, constraints, and hard-won context. You re-explain. It re-learns. Hours of accumulated understanding β€” gone in one compaction event.

And if you run multiple agents? They can't share what they've learned. Each one starts from zero.

This isn't a model limitation. It's a missing infrastructure layer.


The solution: persistent context that survives compaction

vMem gives your AI agents persistent, retrievable context managed like virtual memory: the context window is the hot working set, and durable knowledge lives outside it until demand-paged back in.

The result: OS-managed context continuity. Your AI retains every decision, constraint, and lesson across sessions, across compactions, across agents.

How it works

You speak
  β†’ vMem retrieves relevant memories β†’ injects into context
  β†’ AI responds with full context
  β†’ Session ends β†’ decisions and insights auto-extracted β†’ persisted
  β†’ Compaction happens? No problem β€” memories survive outside the window
  β†’ Next session starts β†’ working set restored automatically

The whole pipeline runs inside Claude Code hooks. There is no manual memory management.


Why "vMem"?

vMem is virtual memory for LLM context: instead of treating the context window as the whole world, it manages a working set with OS primitives.

What others seeWhat vMem does
"Context compacted"Durable knowledge already lives outside the window
New session startsWorking set auto-restored in <100ms
Multiple agents runningAll share one managed context substrate
Constraint decided 3 weeks agoPinned with mlock-style semantics

OS-managed context. Durable working sets. No repeated explanation.


Under the hood: OS context management for AI

The secret sauce? We didn't invent new algorithms. We borrowed what the Linux kernel has been doing for 40 years:

OS conceptvMem equivalent
RAM (working space)Context window β€” what the AI sees right now
Disk (persistent storage)Knowledge base β€” facts that survive across sessions
Demand pagingOn-demand retrieval β€” fetch relevant memories at the right moment
mlockHard / soft pinning β€” guarantee a constraint is never evicted
kswapd watermarksCapacity-aware eviction under pressure
CRIU checkpoint / restoreSession snapshots β€” pause and resume seamlessly
Process schedulingMulti-agent coordination β€” many agents, one knowledge base
kworker thread poolAsync extraction β€” I/O off the critical path

How is this different from mem0 / Letta / Zep?

vMemmem0Letta (MemGPT)Zep
Design metaphorOS-managed contextVector storeAgent runtimeTemporal graph
Context continuityβœ… pinned knowledge survives❌❌❌
Multi-agent sharedβœ… native, single store⚠️ via APIβœ…βœ…
MCP-nativeβœ… first-class❌❌❌
Single-file deployβœ… SQLite, no service❌ needs server❌ needs server❌ needs server
Demand-paging retrievalβœ… explicitimplicitimplicitimplicit
Eviction policyβœ… kswapd + DAMONTTL onlyrecencyrecency + decay
Pin / mlock semanticsβœ…βŒβŒβŒ

TL;DR. If you're tired of context compaction wiping your AI's memory, and you want a solution that's pip install, runs as a sidecar on a laptop, shares between several Claude Code / Cursor / custom agents, and never loses a pinned constraint β€” vMem is built for that.


Performance at a glance

MetricValue
Retrieval latency (P50, hot path)~0.1 ms (540x faster than the 54 ms subprocess baseline)
Recall@3 vs baseline+147%
Cross-session recall94.2%
Token cost per call~44 tokens injected, +256 tokens net ROI (avoided re-explanation)
Test suite3,500+ tests across retrieval, eviction, MCP, privacy filter

Quick start

One-line install (recommended).

/install-plugin github:soolaugust/vMem

Manual install.

git clone https://github.com/soolaugust/vMem
cd vMem
pip install -e .
mkdir -p ~/.claude/memory-os

Detailed Claude Code hook configuration, daemon management, and troubleshooting live in docs/SETUP.md.


Architecture

Three layers:

  1. Hooks β€” sit at the Claude Code syscall boundary (SessionStart, UserPromptSubmit, Stop, PostToolUse) and call into the store.
  2. Store β€” single SQLite file (WAL mode) with FTS5 full-text index, behind a unified VFS interface (memory_os.store.api / memory_os.store.vfs / memory_os.store.criu).
  3. Daemons & IPC β€” persistent retriever daemon (Unix socket), async extractor pool (kworker-style), cross-agent notify bus.

For the full layered diagram, on-disk schema, and the rationale behind each subsystem, see docs/ARCHITECTURE.md. For the comprehensive OS-and-cognitive-science primitive mapping, see docs/DESIGN_PHILOSOPHY.md.


Roadmap

  • Distributed vMem β€” cgroup-style multi-agent quotas, network-replicated stores
  • Adaptive watermarks β€” eviction tuning that follows observed agent behavior
  • arXiv preprint β€” formal evaluation against mem0 / Letta / Zep
  • Per-chunk embedding routing β€” different models for code vs prose

What landed already (1,051+ tuning iterations, eight major capability rounds) is summarized in CHANGELOG.md. Pain points it has resolved along the way are in docs/PROBLEMS_SOLVED.md.


Testing

# stable test subset
python3 -m pytest tests/test_agent_team.py tests/test_chaos.py -q

Coverage: per-session DB isolation, concurrent-write safety, cross-agent IPC delivery, extractor-pool queue semantics, CRIU checkpoint validation, goals-progress idempotency.


Dependencies

No GPU. No external API. Everything runs locally.

DependencyPurpose
Python 3.12+Core runtime
SQLite (built-in)Store + FTS5 full-text index
nc, flockDaemon socket + single-instance startup

Paper

πŸ“„ Beyond Eviction: Full OS Context-Management Semantics for LLM Agent Persistence (PDF, 8 pages)

Technical paper describing the complete OS→agent-context mapping: demand paging, kswapd, DAMON, mlock, CRIU, kworker, and shared memory.

Citation

@software{su2026compactmem,
  title = {vMem: Full OS Memory Semantics for LLM Agent Persistence},
  author = {Su, Zhidao},
  year = {2026},
  url = {https://github.com/soolaugust/vMem}
}

Contributing

Each subsystem hides behind a clean VFS interface, so components are testable in isolation. Issues, design proposals, and pull requests are welcome β€” see the Discussions tab for design questions, and please run the test subset above before submitting a PR.


Context compaction is the #1 productivity killer in Claude Code. vMem makes it a non-event.

English Β· δΈ­ζ–‡

Related MCP Servers

modelcontextprotocol/server-memoryVerified

πŸ“‡ 🏠 - Knowledge graph-based persistent memory system for maintaining context

🧠 Knowledge & Memory2 views
0xshellming/mcp-summarizer

πŸ“• ☁️ - AI Summarization MCP Server, Support for multiple content types: Plain text, Web pages, PDF documents, EPUB books, HTML content

🧠 Knowledge & Memory0 views
20alexl/claude-engram

🐍 🏠 - Persistent memory and session intelligence for Claude Code. Auto-tracks mistakes, decisions, and context via hooks. Mines session history for patterns and cross-session search. Loop detection, pre-edit warnings, context compaction survival. Runs locally with Ollama.

🧠 Knowledge & Memory0 views
a2cr/a2cr

🐍 ☁️ 🏠 🍎 πŸͺŸ 🐧 - MCP server for AI-agent handoffs. Saves client-encrypted WorkBaton checkpoints and WorkStash notes so Codex, Claude Code, Roo Code, and other MCP clients can resume work without passing full chat history.

🧠 Knowledge & Memory0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it β†’
β˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.