Skip to main content

kormem

Local long-term memory for AI agents. kormem indexes everything you say to assistants and every file, folder or URL you add, files it into an Obsidian-compatible vault of linked notes, and returns the ranked notes and sources a question needs in a few seconds. --deep adds a small recall agent that returns dated findings.

The commands follow QMD: collection add, context add, search, vsearch, query, get, multi-get and ls work the same way.

Watch the kormem launch video (68 s)
▶ Watch the launch video (68 s)

Add kormem to your agent

Paste this into Claude Code, Codex, Cursor or any agent that can run commands:

Install kormem, long-term memory for this agent.

1. Run `npm install -g kormem` (or `pip install kormem`), then `kormem init`.
2. Add the kormem skill. Use one installation method:
   - In Claude Code, `kormem init` installs the kormem plugin. If it says it didn't, run
     `claude plugin marketplace add kushalsinha/kormem`, then
     `claude plugin install kormem@kormem`.
   - In another agent, run `npx skills add kushalsinha/kormem --skill kormem` and select
     your agent.
3. Ask me to add two keys to ~/.kormem/.env. Don't ask me to paste keys into the chat.
   - OPENAI_API_KEY (https://platform.openai.com/api-keys): files my chats and documents
     into memory and runs deep recall.
   - TYPESAFE_API_KEY (https://typesafe.ai), recommended: Jev ranks what recall returns
     in about 0.3 s for a tenth of a cent, with no LLM call.
   Then run `kormem doctor` to check both are set.
4. Read the skill:
   https://github.com/kushalsinha/kormem/blob/main/plugin/skills/kormem/SKILL.md
   (raw: https://raw.githubusercontent.com/kushalsinha/kormem/main/plugin/skills/kormem/SKILL.md)

Then use kormem to recall what I've said, decided and preferred before.

Commands

pip install kormem            # or: uvx kormem …, npm install -g kormem, bunx kormem …
kormem init                   # key file, engine, background services, Claude Code plugin

kormem collection add ~/notes --name notes
kormem context add kormem://notes "Personal notes and ideas"
kormem search "project timeline"            # keyword search
kormem vsearch "how to deploy"              # semantic search
kormem query "what did we decide about X?"  # ranked notes and sources; --deep runs the recall agent
kormem get "#abc123"                        # open a source by docid
kormem remember "I prefer pnpm over npm"
kormem mcp                                  # MCP server for Claude Code, Claude Desktop, Cursor

One key, in ~/.kormem/.env (kormem init creates it): OPENAI_API_KEY runs extraction and the recall agent with gpt-6-luna and embeddings with text-embedding-3-small. GEMINI_API_KEY is optional (kormem model set embedding gemini-embedding-2). TYPESAFE_API_KEY is optional too: Jev, a fast decision model, judges which sources answer each question in about 0.3 s for about a tenth of a cent, with no LLM call; short previews of those sources are sent to TypeSafe. Without any key, embeddings run locally and kormem still indexes and searches. The answer comes from your assistant's own model. kormem model shows and changes the model behind each job; pick the embedding model once, since changing it re-embeds everything.

Benchmark

LongMemEval-S, all 500 questions, scored by the official GPT-4o judge (evaluate_qa.py) unless marked as Mem0's custom judge. Each question gets one answer from kormem's deep recall (linked vault and recall agent; about 8 full sessions, ~32k tokens of context). All Kormem rows answer from the same cached contexts.

System Answer model Accuracy
Kormem Claude Sonnet 5.5 (Mem0's custom judge) 95.6%
Mastra Observational Memory gpt-5-mini 94.9%
Kormem Claude Sonnet 5.5 94.4%
Kormem GPT-6.1 Sol 93.8%
Kormem GPT-6 Astra 93.6%
Mem0 platform GPT-5 (custom judge) 93.4–94.4%
gbrain Claude Sonnet 4.6 86.6%
Supermemory Gemini 3 Pro 85.2%
Zep GPT-4o 71.2%

Other systems' numbers are self-reported. Setups and caveats: full report. Mem0's figure uses its own, more lenient judge. Re-judging our misses with that judge (same prompt, GPT-5) raises Kormem with Sonnet to 95.6%, Sol and Astra to 94.4%.

MemPalace publishes only retrieval recall (R@5: a gold session in the top 5), not answer accuracy, so it gets its own table. Same 500 questions, session level:

System LLM in ranking R@5 All gold sessions in top 5
Kormem yes 99.8% 95.8%
MemPalace hybrid v4 + LLM rerank yes 99.2% 89.8%
MemPalace hybrid v4 (held-out 450) no 98.4% 88.7%
MemPalace raw no 96.6% 85.0%

MemPalace figures are recomputed from its committed per-question results; method in the full report.

Full documentation, diagrams and the Claude Code plugin: https://github.com/kushalsinha/kormem

Metadata

Release files for kormem 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kormem 0.1.3
File Size Uploaded Provenance
kormem-0.1.3.tar.gz 166.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kormem 0.1.3
File Interpreter ABI Platform
kormem-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 347.7 kB

Release files / kormem-0.1.3.tar.gz

Download URL kormem-0.1.3.tar.gz
Size 166.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4759495769ebc0204d5c07a172acd9269c5363d46383776c8c3464bfb1e0e949
BLAKE2b-256 checksum
How to use checksums
56a2dfa9e8df4b3d200db0474c79a22dfb61b0bf469544953dde720d32c13b52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kormem-0.1.3-py3-none-any.whl

Download URL kormem-0.1.3-py3-none-any.whl
Size 181.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae459c49fbc0a3660ce664dcaf92609ac16d6f0ad9bd8bb7a87a1ad1bed1b097
BLAKE2b-256 checksum
How to use checksums
556e0e669bb86ab1883c4d89f8764acabc8392204943aa780225e7551ce48ab4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for kormem 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page