# YAMS — Yet Another Memory System
[](https://deepwiki.com/trvon/yams) [](https://github.com/trvon/yams/tags) [](https://builds.sr.ht/~trvon?)
**Note**: Pre‑1.0 releases (v0.x) are not considered stable. Expect breaking changes until v1.0.
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
Managed hosting coming soon
Get hosting updates. Help shape the roadmap.
We only email about hosting. Unsubscribe anytime.
## Install
### Docker (simplest)
```bash
docker run --rm -it ghcr.io/trvon/yams:latest --version
```
### 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/yams-release -s build_type=Release --build=missing -o yams/*:enable_onnx=True
cmake --preset yams-release
cmake --build --preset yams-release -j
sudo cmake --install build/yams-release
# GenAI headers auto-fetch: if your ONNX Runtime package lacks GenAI C++ headers
# YAMS will transparently download the extension headers (v0.9.1) during configure.
See also:
- Quick GCC guide: `docs/BUILD-GCC.md`
- Developer build system: `docs/developer/build_system.md`
```
## 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
```
## 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`).
## 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
- SourceHut: https://sr.ht/~trvon/yams/
- GitHub (mirror): https://github.com/trvon/yams
- License: Apache-2.0