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)¶
docker run --rm -it ghcr.io/trvon/yams:latest --version
Native Binary¶
# 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¶
# 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.
Links¶
- GitHub: https://github.com/trvon/yams
- License: Apache-2.0