AI agent memory system with SQLite+FTS5, MCP integration, and quality gates
Project description
Engram
AI agent memory that learns across conversations.
Install
pip install memorytrace
Use
engram save "Minseong Jeong is the Space King of Galaxy Corp"
engram find "Space King"
engram who "Minseong Jeong"
That's it. 3 commands. No config, no API keys, no database setup.
All Commands
engram save "text" Save information (auto-extracts entities & facts)
engram find "query" Search memory
engram who "name" Look up a person/org
engram remember "name" "fact" Manually remember something
engram all List everything
engram status Health check
engram forget "name" Delete an entity
engram export Export to Markdown files
Examples
# Store meeting notes
engram save "Met Alice Johnson, VP of Engineering at Google. Discussed cloud AI partnership."
# Store Korean
engram remember "정민성" "AI와 우주 탐사에 관심이 많다"
# Search later
engram find "Google partnership"
engram who "Alice Johnson"
# Check status
engram status
What It Does Automatically
- Extracts people & organizations from text (English, Korean, Chinese, Japanese)
- Masks PII — phone numbers, credit cards, emails become
[REDACTED] - Deduplicates — same fact won't be stored twice
- Detects conflicts — "CEO" then "CTO" for same person gets flagged
- Generates summaries — auto-summary when you don't provide one
- Learns across sessions — every conversation builds on previous ones
For Claude Code Users
Add slash commands to use memory inside Claude Code:
# Copy command files
mkdir -p ~/.claude/commands
# See docs/04-usage-guide/02-claude-code-setup.md for details
Then use: /memory-save, /memory-find, /memory-who, /memory-remember, /memory-status
For Developers (Python SDK)
from engram.integrations.sdk import EngramSDK
with EngramSDK() as sdk:
sdk.store("Minseong Jeong is the Space King of Galaxy Corp")
result = sdk.search("Space King")
print(result.to_agent_context())
How It Works
Text → NER Extraction → Quality Gate → SQLite+FTS5 → BM25 Search
↓
Confidence Scoring
PII Masking
Duplicate Check
Conflict Detection
- Storage: SQLite + FTS5 (zero dependencies, genuine BM25)
- Export: Markdown files for human reading
- Session: Context carries over between conversations
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memorytrace-0.3.1.tar.gz.
File metadata
- Download URL: memorytrace-0.3.1.tar.gz
- Upload date:
- Size: 164.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a76f9747c364ff9c93afb57a836978f2789adae9b447181362b744aaf6ff1577
|
|
| MD5 |
1fd9a6c6832ad9c23f0ca1fc826b4a0c
|
|
| BLAKE2b-256 |
34c88e4bfcf3f870c6b849b5dd42f10e5507ed361db692c5d98d608bb56655f1
|
File details
Details for the file memorytrace-0.3.1-py3-none-any.whl.
File metadata
- Download URL: memorytrace-0.3.1-py3-none-any.whl
- Upload date:
- Size: 73.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0671490bfa40f9cd680b0e72fe81179db13a867c8bf60603ec210b920027915
|
|
| MD5 |
aeaea5beb1d7191001ac17988b486246
|
|
| BLAKE2b-256 |
e3b7fa638730bd0657b709b07191660746c6ad420574cf538d1784cd03ce861a
|