This is an early release preview. You may encounter bugs.
Memvid logo
Unclaimed

Tool memory

Memvid

Single-file memory layer giving AI agents retrieval and long-term memory without a vector database

A 80/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Memvid is.

Memvid is a memory layer for AI agents that packages data, embeddings, search indices, and metadata into one portable .mv2 file. Instead of running a retrieval pipeline against a server-based vector database, an agent reads and searches the file directly, so the memory can be stored locally, on-premises, or in a cloud bucket and moved between them unchanged.

The storage model borrows from video encoding: memory is an append-only sequence of Smart Frames, each an immutable unit holding content plus timestamps, checksums, and metadata. Frames are grouped for compression, indexing, and parallel reads. This design gives append-only writes that never modify existing data, queries over past memory states, timeline-style inspection of how knowledge changes, and crash safety through committed frames.

The core is a Rust crate (Rust 1.85+) with a CLI, a Node.js SDK, and a Python SDK layered on top. You create a memory file, put documents with titles, URIs, and tags, commit, then issue search requests that return ranked hits with snippets. Hybrid retrieval combines BM25 lexical matching with vector similarity, and agents connect through MCP, the SDKs, or a direct API.

Capabilities are enabled through Cargo feature flags:

Feature What it adds
lex Full-text search with BM25 ranking (Tantivy)
pdf_extract Pure Rust PDF text extraction
vec Vector similarity search (HNSW plus local ONNX text embeddings)
clip CLIP visual embeddings for image search
whisper Audio transcription with Whisper
api_embed Cloud API embeddings (OpenAI)
temporal_track Natural-language date parsing such as "last Tuesday"
parallel_segments Multi-threaded ingestion
encryption Password-based encrypted capsules (.mv2e)
symspell_cleanup PDF text repair for broken word spacing

Local text embeddings use ONNX models that you download separately: bge-small-en-v1.5 (384 dimensions, ~120 MB, the default), bge-base-en-v1.5 (768, ~420 MB), nomic-embed-text-v1.5 (768, ~530 MB), and gte-large (1024, ~1.3 GB). An index can be bound to a named embedding model so that later queries with a different model fail with a ModelMismatch error rather than returning mixed results.

Features

  • Single-file architecture: data, embeddings, indices, and write-ahead log live in one .mv2 file with no database or server
  • Smart Frames: append-only immutable frames with timestamps and checksums, grouped for compression and parallel reads
  • Time-travel debugging: rewind, replay, or branch any earlier memory state
  • Capsule context: self-contained, shareable memory capsules that carry rules and expiry
  • Hybrid search: BM25 lexical ranking combined with HNSW vector similarity, with predictive caching on recall
  • Multi-modal ingestion: PDF text extraction, CLIP image embeddings, and Whisper audio transcription behind feature flags
  • Temporal queries: natural-language date expressions resolve against frame timestamps
  • Encryption: password-protected .mv2e capsules
  • Model binding: an index records its embedding model and rejects queries from a mismatched one
  • Language bindings: Rust crate, CLI, Node.js SDK, and Python SDK, plus MCP access for agents

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Memvid.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Memvid →

Browse the catalogue