Create

Sign in to ReadmeX

or

How we handle your data: Privacy Policy

ReadmeX

Your AI reading companion

What would you like to catch up on?

Pick a briefing, or ask your own question.

Your community and people briefings stay personal to you.

memvid

memvid: A portable AI memory system that packages data, embeddings, search structure, and metadata into a single file.

What problem it solves

AI agents often need persistent memory while avoiding the operational complexity of database-backed retrieval systems and multi-component RAG pipelines. Memvid addresses this by combining stored content, indexes, and metadata in a portable file that can be searched directly.

Key features

  • Single-file portable memory — Data, embeddings, search structures, and metadata are packaged into one `.mv2` file, without separate WAL, lock, shared-memory, or sidecar files.

    Source: README, MV2_SPEC.md

  • Versioned Smart Frames — Memory is organized as an append-only sequence of immutable Smart Frames containing content, timestamps, checksums, and metadata. This supports timeline inspection, historical queries, and rewindable memory states.

    Source: README

  • Built-in retrieval options — The Rust library can provide full-text search, vector similarity search, PDF extraction, visual embeddings, and audio transcription through selectable feature flags.

    Source: README

  • Portable search indexes — The `.mv2` format includes compressed data segments and lexical, vector, and time indexes for searching and chronological inspection from the same file.

    Source: README

  • Multiple language interfaces — Memvid provides a CLI and SDKs for Node.js, Python, and Rust, allowing different application stacks to use the same file-based memory layer.

    Source: README

Quick start

Copied verbatim from the project's README.

[dependencies]
memvid-core = "2.0"
use memvid_core::{Memvid, PutOptions, SearchRequest};

fn main() -> memvid_core::Result<()> {
    // Create a new memory file
    let mut mem = Memvid::create("knowledge.mv2")?;

    // Add documents with metadata
    let opts = PutOptions::builder()
        .title("Meeting Notes")
        .uri("mv2://meetings/2024-01-15")
        .tag("project", "alpha")
        .build();
    mem.put_bytes_with_options(b"Q4 planning discussion...", opts)?;
    mem.commit()?;

    // Search
    let response = mem.search(SearchRequest {
        query: "planning".into(),
        top_k: 10,
        snippet_chars: 200,
        ..Default::default()
    })?;

    for hit in response.hits {
        println!("{}: {}", hit.title.unwrap_or_default(), hit.text);
    }

    Ok(())
}

Who it may suit

Inference: may suit developers building long-running agents, offline-first systems, enterprise knowledge bases, or applications that require portable and auditable memory files.

Topics to discuss

  • How should developers version and migrate `.mv2` files across long-lived agent deployments?

  • Which workflow best combines lexical, vector, and temporal retrieval in production use cases?

  • How can Smart Frame lifecycle and capsule expiry policies be improved for collaborative applications?


Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.

Read the original README https://github.com/memvid/memvid#readme

ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.

github.comhttps://github.com/memvid/memvid

Comments

…