Skip to main content

Local-first AI memory layer that gives LLMs persistent, structured memory

Project description

NexusMemo

Local-first AI memory layer that gives LLMs persistent, structured memory.

"We are building the memory operating system that turns AI from a temporary assistant into a long-term collaborator."

Problem

LLMs are stateless. They forget previous sessions, lose architectural context, repeat mistakes, and require repeated explanations. NexusMemo fixes this by building a persistent knowledge graph from your conversations.

How It Works

conversation → entity extraction → relationship graph → retrieval → prompt injection

When you tell NexusMemo something, it:

  1. Extracts entities, relationships, and decisions via Claude (Client-side)
  2. Embeds the text for semantic search
  3. Builds a knowledge graph with NetworkX
  4. Stores everything in a local SQLite database

When you query, it:

  1. Searches semantically similar memories
  2. Expands through the knowledge graph
  3. Reranks by importance and relevance
  4. Compresses into context ready for LLM injection

Quick Start

Install

pip install -e .

Configure

cp .env.example .env
# Optional configuration, but everything works locally by default

Use via CLI

# Add a memory
nexusmemo add "We replaced Airflow with Dagster because DAG maintenance became difficult"

# Search memories
nexusmemo search "What orchestration tool do we use?"

# Check status
nexusmemo status

# Get entity info
nexusmemo entity "Dagster"

Use via API

# Start the server
nexusmemo serve

# Add memory
curl -X POST http://localhost:8765/memory/add \
  -H "Content-Type: application/json" \
  -d '{"text": "We migrated from MongoDB to PostgreSQL for better ACID compliance"}'

# Query
curl -X POST http://localhost:8765/memory/query \
  -H "Content-Type: application/json" \
  -d '{"query": "What database do we use?"}'

Use with Claude Code (MCP)

# Add as MCP server
claude mcp add nexusmemo -- nexusmemo mcp

# Or if installed via pip in a specific path:
claude mcp add nexusmemo -- /path/to/venv/bin/nexusmemo mcp

Available MCP tools:

  • add_memory — Store project context
  • search_memory — Query past memories
  • get_project_context — Get rich context about a topic
  • find_related — Explore knowledge graph relationships
  • get_decisions — Review past decisions
  • memory_status — Check system stats

Architecture

┌──────────────┐
│   Interfaces │  CLI / FastAPI / MCP Server
├──────────────┤
│     Core     │  NexusMemo orchestration class
├──────────────┤
│   Services   │  Extraction, Embedding, Graph, Importance
├──────────────┤
│   Storage    │  SQLite + NetworkX (in-memory)
└──────────────┘

Tech Stack

  • Python 3.11+ with FastAPI
  • SQLite for persistent storage
  • NetworkX for in-memory knowledge graph
  • FastEmbed (ONNX) for local semantic search (Zero API Keys)
  • MCP SDK for native Claude Code integration

Database

Four tables:

  • memories — Raw text with embeddings
  • nodes — Knowledge graph entities
  • edges — Relationships between entities
  • decisions — Project decisions with reasoning

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run API server in dev mode
nexusmemo serve

License

MIT

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

nexusmemo-0.2.0.tar.gz (195.0 kB view details)

Uploaded Source

Built Distribution

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

nexusmemo-0.2.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file nexusmemo-0.2.0.tar.gz.

File metadata

  • Download URL: nexusmemo-0.2.0.tar.gz
  • Upload date:
  • Size: 195.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for nexusmemo-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5f47b73279349bf395ab9df8aa6573f4035d5f29c100b85f585292c4b79ea9a5
MD5 0ef0202a9d17411c3fb802a41f1e1374
BLAKE2b-256 8a0f04f4bca9e71ee989445fd7638a1bb5081ca95bfc9db673bd3931efc6e4b2

See more details on using hashes here.

File details

Details for the file nexusmemo-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: nexusmemo-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for nexusmemo-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36ff3465fe7740cb44542ddd48bb2c74f63e099c7075fd5e8f8a6eaaaaa51da4
MD5 bd9f78a7c57478c682162655eac93b46
BLAKE2b-256 2d2a5bbe04a2dcfb39f6e497698d8e62bca822f3eacdd7dfe808f79acf67cb29

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