# YAMS — Yet Another Memory System **Note**: YAMS v0.3.x is experimental software under active development.
$ 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`). ## Install ### Docker (simplest) ```bash docker run --rm -it ghcr.io/trvon/yams:latest --version ``` ### Native Binary ```bash # macOS ARM64 curl -L https://github.com/trvon/yams/releases/latest/download/yams-macos-arm64.zip -o yams.zip unzip yams.zip && sudo mv yams /usr/local/bin/ # macOS x86_64 curl -L https://github.com/trvon/yams/releases/latest/download/yams-macos-x86_64.zip -o yams.zip unzip yams.zip && sudo mv yams /usr/local/bin/ # Linux x86_64 curl -L https://github.com/trvon/yams/releases/latest/download/yams-linux-x86_64.tar.gz | tar xz sudo mv yams /usr/local/bin/ ``` ### Build from Source ```bash # 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 ```bash # 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. ## Links - GitHub: https://github.com/trvon/yams - License: Apache-2.0