Claude-style long-term memory with 4/6/8-bit TurboQuant compression — runs on a laptop.
TurboMemory aims to become:
- SQLite-like simplicity for semantic memory
- Parquet-like storage efficiency for embeddings via TurboQuant
- Edge-first replication for distributed memory networks
- Self-healing memory via background consolidation
- Core memory engine with SQLite + quantization
- Packed 4-bit / 6-bit / 8-bit embedding storage
- Topic-based segmentation with centroid prefilter
- Retrieval verification with cross-checking
- Quality scoring + decay
- Exclusion rules (what NOT to store)
- Self-healing consolidation (merge/prune, contradiction resolution)
- Observability + metrics
- Plugin system for extensibility
- LangChain integrations (retriever, chat history)
- CLI with stats, search, verification flags
- Streamlit dashboard scaffold
- TMF v1 storage format specification
- Hybrid search (BM25 + vector fusion)
- FastAPI server with multi-tenant support
v0.5 Release includes: TMF v1 format, verify CLI, Parquet/Lance export, hybrid search, server mode
Goal: define a stable storage format (Parquet-like for semantic memory).
- Define "TurboMemory Format (TMF)" v1 spec:
.tmindex(SQLite metadata index).tmvec(packed vectors file).tmlog(append-only transcript/event log).tmmeta.json(schema + model metadata)
- Schema versioning + migrations
- Checksum verification + corruption detection
- Deterministic serialization format for vectors
- Fast export/import tooling
- CLI
tm verifycommand
- Storage can be copied between machines and loaded instantly
Goal: become usable for real RAG and enterprise search.
- BM25 or keyword search fallback
- Scoring fusion:
- vector similarity score
- keyword score
- recency score
- confidence score
- Metadata filters:
- time range
- topic filter
- tags/namespace filter
- Query explain output (debug mode)
- Improved retrieval accuracy on real datasets
- Stable query API supporting filters
Goal: allow TurboMemory to run as a service.
- REST API (FastAPI):
/add/bulk_add/query/delete/stats
- Multi-tenant namespaces
- API key auth
- Docker image
- Rate limiting / request validation
- Stable service running on VPS with <500MB RAM
Goal: local-first semantic DB that syncs like Git/WAL.
- Log-based replication:
- Node A asks Node B for missing offsets
- Node B streams missing
.tmlogevents
- Conflict handling policy:
- Append-only ID uniqueness
- Merge rules for duplicates
- Sync over HTTP
- Optional encryption for replication payload
- 2 nodes can sync 100k memories reliably
- Idempotent sync (safe to retry)
Goal: make retrieval fast for millions of vectors.
- Optional HNSW index module
- IVF centroid bucket acceleration
- Caching layer for hot topics
- Multi-thread query execution
- Vector block prefetching
- Query latency remains low at 1M+ chunks on CPU
Goal: stable foundation usable in real apps.
- Stable API freeze
- Full documentation site
- Full test coverage for packing/indexing
- Verified storage integrity guarantees
- Stable migrations
- Release notes + changelog discipline
- Safe upgrades
- Reproducible performance
Goal: scale horizontally across machines.
- Sharding by:
- topic
- time range
- centroid hash
- Router node (fan-out query)
- Distributed top-k merge
- Node health metrics + monitoring endpoints
Goal: semantic indexing layer for S3/object storage.
- S3-compatible backend for
.tmvecand.tmlog - Scalable metadata store option (Postgres)
- Caching proxy nodes
- Batch ingestion pipelines
- Integration examples with LlamaIndex/LangChain
If you want to contribute, these are high-impact modules:
- Docs improvements
- Tests
- CLI UX
- Examples and demos
- Benchmark harness
- Scoring fusion logic
- SQLite optimization
- Packed embedding codec improvements
- Replication protocol
- HNSW/IVF index integration
- Corruption recovery tools
TurboMemory is built around:
- Local-first
- Small footprint
- Append-only logs
- Cheap compressed storage
- Self-healing consolidation
- Portable file format
- No cloud dependency
TurboMemory should become:
"The default open storage format for semantic memory and compressed embeddings."
If you want to help build that future, join the project 🚀