CPersona

Servidor de memoria persistente para IA con búsqueda híbrida de 3 capas, puntuación de confianza y 16 herramientas. Dependencia cero de LLM.

Documentación

CPersona

Long-term memory for AI agents, in one SQLite file you own.

CPersona is an MCP server that lets Claude Code, Codex, Claude Desktop, Cursor, VS Code or any other MCP client remember what you decided, why, and what happened last time — across sessions.

PyPI CI Python License: MIT

Documentation · Getting Started · Tools · Discussions

The CPersona dashboard's memory network: each point is a memory, lines join the most similar ones, grouped by agent

The built-in dashboard, showing a made-up store of 72 memories.

Why CPersona

Every new session with a coding agent starts from zero. CPersona gives the agent a memory it can write to as it works and read from before it acts.

  • Yours, on your machine. Everything lives in a single SQLite file. No account, no cloud, no external database; sqlite3 .backup copies it.
  • No language model inside. CPersona never calls a generative model to store or recall. Your agent writes the summary; CPersona keeps it and finds it again.
  • Answers you can trace. reconstruct, the recommended way to answer from memory, quotes the stored records behind each item, so you can see where an answer came from.
  • Search that catches what vectors miss. Vector search runs beside full-text and keyword search, so exact names, identifiers and error strings are found too, in Japanese and other scripts without spaces as well.
  • See what it remembers. cpersona dashboard opens a read-only page of the store: what was stored last, what is recalled most, every memory in full, and the network above.
  • Honest when it degrades. Without an embedding server it still runs on keyword search, and says so on every recall instead of quietly returning less.

Quick start

With Claude Code or Codex, install the agent plugin and let the agent do the rest:

/plugin install cpersona --marketplace Cloto-dev/cpersona

Then say "Set up CPersona." The plugin carries the setup skill and the hooks that remind the agent to recall before it acts and to store as it goes. (Claude Code 2.1.275 or later. In Codex: codex plugin marketplace add Cloto-dev/cpersona, then codex plugin add cpersona@cpersona.)

By hand, in three steps:

# 1. Run an embedding server (recommended; it powers vector search)
uvx --from "cembedding[onnx]" cembedding-download-model --model bge-m3
EMBEDDING_PROVIDER=onnx_bge_m3 uvx --from "cembedding[onnx]" cembedding

# 2. Register CPersona with your client (Claude Code shown)
claude mcp add-json cpersona '{"type":"stdio","command":"uvx","args":["cpersona"],"env":{"CPERSONA_DB_PATH":"/home/you/.claude/cpersona.db","EMBEDDING_MODE":"http","EMBEDDING_HTTP_URL":"http://127.0.0.1:8401/embed"}}' -s user

# 3. In a new session, ask the agent to store something, then recall it in another new session

# 4. See what it remembers, in the browser
cpersona dashboard

Getting Started covers the other clients, Windows, containers, and the short policy block that makes every future session use the memory.

Upgrading an existing install? Read the When you upgrade section of the release notes and SUPPORT.md first.

A look inside

OverviewA memory, opened
The dashboard overview: the memories stored last and recalled mostA memory opened in the dashboard, its text first

Memories are kept per agent, and project_id and channel let several agents and projects share one database without mixing.

Benchmarks

On OmniMemEval's LongMemEval-S pipeline (500 questions, answered by gpt-4.1-mini, judged by gpt-4o-mini), in this project's own run. Overall is the share of questions judged correct; Context Tokens is the average sent to the answer model per question:

BackendDeploymentSS-UserSS-AsstSS-PrefTemp. ReasMulti-SKnow. UpdOverallContext Tokens
CPersona 2.6.11 (pro mode)local97.1494.6496.6786.4785.7188.4689.604,262.5
CPersona 2.6.11 (lite mode)local95.7183.9390.0080.4574.4482.0582.20993.3
MemOScloud100.00100.00100.0089.4778.9584.6289.204,151

Pro mode is level with MemOS within sampling error, and on LoCoMo it answers 84.03%. Setups, the registered rules and every departure from a clean run are in the results.

Documentation

cloto-dev.github.io/CPersona is the full reference, also in Japanese:

GuideWhat it covers
Getting StartedInstall, embedding server, client registration, verification
Behavior ContractsWhat you may rely on: recall ordering, dedup, scan window, response shapes
ToolsEvery tool, grouped by what you reach for it for
ArchitectureStorage, the retrieval pipeline, isolation axes
RoadmapWhat each release line is for and may break; planned retrieval features and the scale ladder
Operations RunbookBackup, degradation detection, tuning, CJK guidance, corpus sync
ConfigurationEvery environment variable and its default
Quality AssuranceHow a release is gated: audits, the bug ledger, structural and mutation gates
FAQShort answers to the questions operators actually ask

Contributing

Bug fixes, tests and documentation can be sent as a pull request straight away. For changes to the database schema, the tool contracts or the tool list, open an issue first. CONTRIBUTING.md has the setup — no embedding server is needed to run the ~4,150 test functions — and the three checks CI runs.

Questions and ideas are welcome in Discussions. A sentence in the docs that confused you is worth reporting too: it is a defect of its own.

Support

If CPersona has earned a place in your workflow, you can sponsor the work on GitHub. It buys no feature and no place in the issue queue; starring the repository, filing a clear issue or fixing a sentence in the docs helps too.

License

MIT — see LICENSE.