Skip to main content

Four-layer cognitive memory for AI agents — persistent recall, semantic search, knowledge graph, and learned evolution. No API key required.

Project description

cortex-ai

Four-layer cognitive memory for AI agents. Persistent recall across sessions, semantic search, a knowledge graph, and a learning system that evolves from your corrections. No API key required — runs locally on CPU.

pip install cortex-recall
cortex init

What it does

AI agents have amnesia. Every new conversation starts blank. cortex-ai gives them memory that works like a brain — organized, searchable, and self-maintaining.

Layer Name What it does
L1 Identity Who the agent is, rules, personality (always loaded)
L2 Recall 72h deterministic short-term log + semantic search across history (on demand)
L3 Knowledge External docs, vendor manuals, reference material (RAG)
L4 Evolution Learns from corrections, promotes patterns to permanent rules
L5 Pattern Detection Clusters correction events using sentence-transformers, auto-promotes to feedback files

Plus Dream (Default Mode Network): background maintenance that prunes the 72h log, consolidates memories, applies half-life decay, and runs L5 pattern clustering. Runs on cron. Zero token cost.


How it works

cortex-ai stores memories in a local "palace" — a ChromaDB vector store plus a SQLite knowledge graph. Memories are organized into wings (top-level topics) and rooms (aspects within a topic), then auto-classified by content. Search is semantic, not keyword: ask the meaning of a thing and get matches even if the words don't line up.

The architecture is designed around how the human brain actually organizes memory — separate systems for identity, episodic recall, semantic knowledge, and procedural learning. You can read each layer independently, or combine them via the unified search interface.


Quickstart

# Install
pip install cortex-recall

# One-time setup (creates ~/.cortex/ palace)
cortex init

# Mine an existing project directory into memories
cortex mine /path/to/project

# Search semantically
cortex search "how did we handle authentication?"

# See palace status
cortex status

MCP server (for Claude Code, etc.)

cortex-ai ships an MCP (Model Context Protocol) server so AI agents can query the palace as a tool:

# Register with Claude Code
claude mcp add cortex -s user -- python -m cortex.mcp_server

Available tools:

  • cortex_search — semantic search across all memories
  • cortex_status — palace overview
  • cortex_list_wings — top-level topics
  • cortex_list_rooms — aspects within a wing
  • cortex_get_taxonomy — full wing → room tree
  • cortex_check_duplicate — avoid filing the same memory twice
  • cortex_add — file a new memory
  • cortex_kg_add — add a fact to the knowledge graph
  • cortex_kg_query — query relationships
  • cortex_stm_log — log an event to the 72h short-term memory
  • cortex_stm_fetch — fetch and filter the 72h event log
  • cortex_dream_run — run full nightly maintenance sweep
  • cortex_dream_consolidate — deduplicate and compact palace memories
  • cortex_dream_decay — apply half-life decay to memories
  • cortex_dream_patterns — L5 pattern detection and promotion

Tech stack

  • Python 3.9+
  • ChromaDB — vector embeddings, semantic search, local-first
  • SQLite — knowledge graph with temporal triples
  • sentence-transformersall-MiniLM-L6-v2 (runs on CPU, ~80MB model)
  • No external APIs — everything runs on your machine

What's new in v0.6.0 — Pluggable Backends (Lambda-ready)

v0.6.0 cuts a storage abstraction layer so cortex-recall works on serverless runtimes like AWS Lambda, not just local machines.

Three new interfaces (STMBackend, VectorBackend, KVBackend) with built-in filesystem and in-memory implementations. External packages can register custom backends (DynamoDB, Postgres, etc.) via Python entry_points or direct call.

# Works on Lambda -- no filesystem, no ChromaDB cold-start
from cortex.stm import STM
from cortex.backends.memory import MemorySTMBackend

stm = STM(backend=MemorySTMBackend())
stm.log({"epoch": 1234567890, "project": "my-lambda", "query_head": "hi"})

# Dream nightly maintenance with memory backends
from cortex.dream import Dream
from cortex.backends.memory import MemoryVectorBackend, MemorySTMBackend, MemoryKVBackend

dream = Dream(
    vector_backend=MemoryVectorBackend(),
    stm_backend=MemorySTMBackend(),
    kv_backend=MemoryKVBackend(),
)
result = dream.run()

Zero breaking changes -- all v0.5.0 code works identically. See docs/DEPLOYMENT.md for full guide.


License & attribution

MIT License. See LICENSE and NOTICE.

cortex-ai is a fork of MemPalace by milla-jovovich. The MemPalace engine — ChromaDB-backed search, knowledge graph, palace structure, miner system — is the foundation. cortex-ai adds the four-layer cognitive architecture, MCP server interface, hooks integration, and onboarding flow on top.


Status

cortex-ai v0.5.0 is in beta. Issues welcome at https://github.com/jdomian/cortex-ai/issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cortex_recall-0.6.0.tar.gz (126.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cortex_recall-0.6.0-py3-none-any.whl (141.2 kB view details)

Uploaded Python 3

File details

Details for the file cortex_recall-0.6.0.tar.gz.

File metadata

  • Download URL: cortex_recall-0.6.0.tar.gz
  • Upload date:
  • Size: 126.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cortex_recall-0.6.0.tar.gz
Algorithm Hash digest
SHA256 4b329f818065f89ccc01398aa370d6976017480391127aa61f76c7ed9d53c0c3
MD5 0770a49bc7804531238e2bc9fef590c8
BLAKE2b-256 b6b08beff8d6a61e9808339f58571a0959e7fdb5381b4e13b3f0de5d746cb391

See more details on using hashes here.

File details

Details for the file cortex_recall-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: cortex_recall-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 141.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cortex_recall-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70a4779004cfddf0516efc2fe9045afe5daee77991191d9faca1e8f69e568566
MD5 00c0c14ba6a774a09d4536698778ac2f
BLAKE2b-256 e943288fb1cfa0d83bd75a47c3f1dcfeeaf352223c98c7693c6fa34f1765c836

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page