yams/docs/index.md
2025-08-14 06:34:56 -04:00

2.1 KiB
Raw Permalink Blame History

YAMS — Yet Another Memory System

$ yams --version
YAMS: persistent memory for LLMs and applications
SHA-256 CAS • Rabin dedupe • zstd/LZMA • FTS5 + vectors • WAL

Persistent memory for LLMs and applications. Content‑addressed storage with deduplication, compression, semantic search, and full‑text indexing.

What it does

  • Content‑addressed storage (SHA‑256)
  • Block‑level deduplication (Rabin fingerprinting)
  • Compression: zstd and LZMA
  • Search: full‑text (SQLite FTS5) + semantic (vector)
  • Crash safety: WAL
  • Fast and portable CLI + MCP server

Versioning

YAMS provides comprehensive versioning through content-addressed storage. Every stored document gets a unique SHA-256 hash that serves as an immutable version identifier. You can track changes using metadata updates (yams update), organize versions with collections (--collection release-v1.0), and capture point-in-time states with snapshots (--snapshot-id 2024Q4).

Build

# Install Conan
pip install conan

# One-time: create default Conan profile
conan profile detect --force

# Build with Conan (recommended - this is what creates the release binaries)
conan install . --output-folder=build/conan-release -s build_type=Release --build=missing
cmake --preset conan-release
cmake --build --preset conan-release
sudo cmake --install build/conan-release/build/Release

Quick start

# init storage (non-interactive)
yams init --non-interactive

# store from stdin
echo "hello world" | yams add - --tags example

# search
yams search "hello" --json

# retrieve
yams list --format minimal --limit 1 | xargs yams get

Docs

  • Get Started: Installation, CLI, and prompts
  • Usage: Search guide, vector search, tutorials
  • API: REST/OpenAPI, MCP tools
  • Architecture: search and vector systems
  • Developer/Operations/Admin: build, deploy, configure, tune

Use the left navigation to browse all docs.