memory-lite

[!CAUTION]
EARLY STAGE SOFTWARE — DO NOT USE FOR ANYTHING IMPORTANT
This project is in a very early stage of development and is not recommended for use by anyone.
There is a real risk of data loss, unexpected behavior, and breaking changes without notice.
Do not rely on this software to preserve any important context or memory data.
Expect breaking changes, missing features, and rough edges.
[!WARNING]
We are not accepting pull requests, issues, or external contributions at this time.
[!NOTE]
Looking for a production-ready memory plugin? Use claude-mem instead.
memory-lite was inspired by claude-mem — a mature, well-tested memory plugin for Claude Code. No code was copied or derived from that project; this is an independent reimplementation exploring different architectural ideas (multi-turn observer, Svelte dashboard, MCP progressive disclosure, etc.).
If you just want memory that works today, claude-mem is the right choice. memory-lite is an experimental project and not recommended for regular use.
A privacy-first memory plugin for Claude Code. Automatically captures what happens during your coding sessions, compresses it with AI, and re-injects the context when you start a new session — so Claude remembers what you were working on.
How It Works
memory-lite hooks into Claude Code's plugin lifecycle to silently observe your sessions:
┌─────────────┐ ┌──────────┐ ┌──────────┐ ┌─────────────┐
│ SessionStart│────▶│ Inject │ │ Store │ │ Generate │
│ (hook) │ │ Context │ │Observation│ │ Summary │
└─────────────┘ └──────────┘ └──────────┘ └─────────────┘
▲ ▲ ▲
│ │ │
On startup Every tool use On session end
│ │ │
Reads past Multi-turn AI AI summarizes
summaries + observer extracts the full session
observations structured data into 5 fields
- Session starts → The plugin fetches recent summaries and observations from past sessions and injects them as context, giving Claude memory of previous work.
- Every tool use → The tool name, input, and output are sent to a persistent multi-turn observer conversation (or a single-turn fallback), which extracts a structured observation (type, title, facts, narrative, files read/modified).
- Session ends → The last assistant message is summarized into 5 fields: what was requested, investigated, learned, completed, and what's next.
All data is stored locally in a SQLite database at ~/.memory-lite/data.db. AI extraction uses Claude Code's own authentication (subscription billing via the Agent SDK) — no separate API key is needed.
Features
- Automatic context injection — Past session summaries and recent observations are injected at the start of every new session
- Multi-turn AI observer — A persistent conversation with Claude Sonnet tracks tool uses across the session for better context, with SQLite-backed durable queue for crash recovery
- Session summaries — End-of-session summaries capture what was done and what's next
- MCP search tools — Three progressive-disclosure tools (
memory_search, memory_timeline, memory_get) exposed as an MCP server for Claude to query its own memory
- AI-powered cleanup — Review and bulk-delete stale or low-signal observations via SSE-streamed AI analysis
- Full-text search — FTS5-powered search across all observations
- Semantic search — Optional vector search via Ollama + sqlite-vec for similarity-based queries
- Privacy controls — Wrap sensitive content in
<private> tags to exclude it from storage
- Deduplication — Content-hash-based dedup within a 30-second window prevents duplicate observations
- Web dashboard — Browse sessions, observations, and summaries at
http://localhost:37888
- Configurable settings — Live-editable settings via the dashboard or API
- Graceful degradation — If the worker is down, AI is unavailable, or Ollama isn't running, everything degrades silently without breaking Claude Code
Installation
Prerequisites
- Node.js 20+
- Claude Code CLI (v2.x+) with an active subscription
Install as a Claude Code Plugin
# Clone the repository
git clone <repo-url> memory-lite-plugin
cd memory-lite-plugin
# Install dependencies
npm install