User model, not just storage
Track preferences, goals, projects, constraints, priorities, communication style, risk tolerance, relationships, past decisions, and definitions of good.
Remnic helps AI agents understand the people they work with: their preferences, projects, constraints, decisions, patterns, and definition of good. The goal is simple: agents that remember responsibly, retrieve the right context, and ask fewer unnecessary questions.
npm install -g @remnic/cli && remnic daemon install The problem
A useful agent needs a working model of the user in front of it: preferences, goals, projects, constraints, current priorities, communication style, risk tolerance, relationships, past decisions, and boundaries around what memory can be used where.
The core question is not "what can the agent remember?" It is: what does the agent need to understand about this user to act well right now, and when should it ask before acting?
User-aware agents
Remnic is not just a memory store. It is an exploration of the systems layer around user-aware agents: scoped memory, provenance, retrieval quality, correction, boundaries, and evals.
Track preferences, goals, projects, constraints, priorities, communication style, risk tolerance, relationships, past decisions, and definitions of good.
Know where memory came from, when it was created, what scope it belongs to, why it was retrieved, and whether it is stale or corrected.
Personal, work, client, project, repo, tool, temporary, private, and do-not-use-outside-this-context scopes keep personalization from becoming surveillance.
Action confidence helps an agent decide whether to ask, draft, act, refuse, or escalate. A good agent should spend the user's attention carefully.
Memory or user context?
Remnic combines a memory engine with a durable user-context layer. Files remain the source of truth, retrieval stays sharp, and the system keeps enough metadata to decide whether memory is relevant, safe, stale, or worth asking about.
cat, grep, edit, git, back up — standard toolsOne memory layer for every agent
Native integrations for Claude Code, Codex CLI, Pi Coding Agent, Hermes, and OpenClaw. MCP for everything else. Give your WeClone avatar memory. Share one store across every client.
Hooks + MCP + slash commands. 44 tools.
Hooks, MCP, and a memory extension for phase-2 consolidation.
Native extension with turn recall, observation, MCP tools, and LCM compaction coordination.
Python MemoryProvider — structural recall, no tool call needed.
Native memory slot plugin. The flagship integration.
Memory-aware proxy, chat-history import, and training-data export for your AI avatar.
MCP over HTTP. On-demand recall and store.
Any MCP-compatible client picks up Remnic automatically.
Authenticated REST API for custom agent integrations.
How it works
Remnic sits alongside your agents and manages memory across three phases that run continuously. Nothing is optional — recall is structural.
Before each agent turn, Remnic injects relevant memories using hybrid BM25 + vector search with reranking. Your agent starts every turn already informed — no tool call required.
After each turn, conversation content is buffered. Smart signals decide when enough context has accumulated to extract durable knowledge.
Durable facts, preferences, decisions, and patterns are extracted and stored as markdown files. Use OpenAI, a local LLM, or a multi-provider fallback chain.
Your data, your disk
Every memory is a human-readable markdown file with YAML frontmatter. You can
grep it, diff it, edit it, delete it, version-control it. No opaque
database stands between you and your own context.
~/.remnic/memory/~/.remnic/memory/decisions/search-backend.md ---
id: decision-1738789200000-a1b2
category: decision
confidence: 0.92
created: 2026-03-15T09:14:22Z
tags: ["architecture", "search"]
entities: [remnic, qmd, pgvector]
---
Decided to use the port/adapter pattern for
search backends so QMD, Orama, LanceDB, and
Meilisearch can all plug in without changing
core logic.
Rationale: lets us swap engines per deployment
without forking the memory pipeline.
Under the hood
Remnic builds toward the infrastructure agents need to understand users over time: memory, context, retrieval, correction, boundaries, evals, and action-confidence signals.
BM25 + vector search + reranking via QMD. Six pluggable backends plus recall budgets keep retrieved context relevant and bounded.
Preferences, constraints, projects, goals, relationships, communication style, risk tolerance, decisions, and definitions of good can become first-class context.
Personal, work, client, project, repo, tool, temporary, private, and do-not-use-outside boundaries keep memory useful without leaking context.
User corrections and stale-memory signals are tracked as part of memory state, so later recall can prefer corrected and current context.
Source, timestamp, scope, confidence, retrieval reason, and trust-zone state help agents explain why a memory surfaced and whether to use it.
Know exactly why each memory surfaced. recall/explain, tier-explain, and recall audit trail answer which tier served this result and why.
Remnic can help an agent decide whether to ask, draft, act, refuse, or escalate when memory is incomplete, stale, private, or out of scope.
People, projects, tools, and companies are tracked as structured entities with relationships that help recall preserve real working context.
Plain markdown files, version snapshots, HTTP endpoints, and operator surfaces make it possible to inspect, correct, forget, and rescope memory.
A standalone MCP server gives ChatGPT Apps-style clients and developer tools a standard way to inspect, recall, store, correct, and scope memory.
Benchmark packs, shadow recall recording, and CI delta gates evaluate whether memory reduced repeated context, respected scope, and improved output.
Bring your own model
Run Remnic extraction and reranking on OpenAI, a local model via
Ollama or LM Studio, or route through a gateway model chain with
multi-provider fallback — Fireworks → local LLM → cloud OpenAI, for
example. The local-llm-heavy preset is optimized for
fully offline operation.
Install what you need
Every package is published under the @remnic scope on npm and
installed on demand. TypeScript ESM monorepo with pnpm workspaces.
Framework-agnostic engine. Orchestrator, storage, search, extraction, graph, trust zones, LCM.
CLI binary — init, query, doctor, daemon management, 20+ commands.
Standalone HTTP + MCP server. Multi-token auth, daemon via launchd/systemd.
OpenClaw adapter. Embedded or delegate mode, native memory slot.
Claude Code plugin — hooks, skills, and MCP integration.
Codex CLI plugin — hooks, MCP, and memory extension for phase-2 consolidation.
Pi Coding Agent extension — context hook recall, turn observation, MCP tools, and LCM compaction coordination.
Typed HTTP client for the Remnic memory API. Use it from any TypeScript app.
Python MemoryProvider plugin for Hermes Agent. Structural recall, daemon-side LCM, and full tool parity.
OpenAI-compatible proxy adding persistent memory to deployed WeClone avatars.
Bulk-import WeClone-preprocessed chat exports (Telegram, WhatsApp, Discord, Slack) to seed your memory store.
Export Remnic memories as Alpaca-format fine-tuning datasets for LLaMA Factory + WeClone.
Import saved ChatGPT memories and optional conversation summaries from OpenAI data exports.
Import Claude project docs and prompt templates as provenance-tagged Remnic memories.
Import Google Takeout Gemini Apps Activity into your local memory store.
Import mem0 memories through the REST API with pagination and rate-limit controls.
Import Supermemory JSON exports with provenance metadata and dry-run previews.
Frequently asked
Remnic sits in a quadrant no one else occupies: local-first, free, and multi-host. mem0, Letta, Zep, and Supermemory are cloud-biased (Zep also needs a graph database you run). MemPalace is local and free but single-host. Remnic runs on your machine as plain markdown files, is MIT licensed, ships native plugins for Claude Code, Codex CLI, Pi Coding Agent, Hermes, OpenClaw, Cursor, and any MCP client, and exposes full recall observability so you can see exactly why each memory surfaced. See the full comparison.
Yes. Every recall can be queried with recall/explain,
which returns the tier that served each result, the score
decomposition, the graph path (when graph retrieval fired), and the
audit trail ID. Most competitors treat retrieval as a black box;
Remnic does not.
Yes. Remnic applies write-time supersession on structured attributes
(a new fact with a matching supersession key marks the prior as
superseded) and runs an overnight contradiction-scan
cron that pairs semantically-similar active memories, classifies
them with an LLM-as-judge, and queues contradicting pairs for user
resolution. No auto-delete — the human always approves.
Yes. Procedural memory is enabled by default and lets you
teach Remnic a multi-step runbook ("deploy the gateway", "open a
regression PR", "rotate credentials"), it saves the procedure as a
category: procedure memory and injects a Relevant
procedures block the next time the agent looks like it's
starting the same task. A trajectory miner also clusters
repeat-after-repeat behavior into pending-review procedure
candidates you approve. Set procedural.enabled: false in
config if you want to opt out. See
docs/procedural-memory.md.
Yes. Remnic can run extraction and reranking on a local LLM via Ollama,
LM Studio, vLLM, or any OpenAI-compatible endpoint. The
local-llm-heavy preset is tuned for fully offline operation.
No. Remnic works standalone with @remnic/cli and
@remnic/server. OpenClaw is one of several first-class
integrations, not a requirement.
npm install -g @remnic/cli && remnic daemon install. Then
run remnic connectors install claude-code (or
codex-cli, pi, hermes,
openclaw, or replit) to wire
up the agent you use. Full walkthrough on the install page.
Yes. MIT licensed, no subscriptions, no telemetry. If Remnic saves you real time, sponsor the project on GitHub or star the repo to help others find it.
Two commands. One minute. Every AI tool you use can share scoped, inspectable memory with provenance, correction, and boundaries.