YAMS¶
Local, persistent memory for code, documents and the people and agents who work with them.
YAMS stores what you give it once, keeps it on your machine, and finds it again through full-text, semantic, graph and grep search. It runs as a small daemon behind a CLI and an MCP server, so the same corpus serves your shell, your editor and your coding agents.
Pre-1.0. YAMS changes quickly and may break compatibility between releases. Release notes say when it does.
Why YAMS¶
- Your memory stays yours. The corpus lives in a data directory you choose, in SQLite and plain files you can inspect, export or delete. There is no account, hosted service or model provider between you and what you stored.
- Fast without a GPU. The default embedding backend, Simeon, needs no model download and encodes about 9,000 documents a second through the daemon on a CPU. A MiniLM model manages about 460 on the same path (details).
- Measured retrieval. Default hybrid search reaches 67.3 nDCG@10 and 79.1 recall@10 on BEIR scifact. Every number on the benchmarks page says how it was produced.
- Keeps up with your work.
yams watchkeeps a project indexed as you edit, andyams grepsearches the stored text of every file you added.
Start¶
Install with Homebrew, APT, DNF, pacman, Docker or the Windows MSI; see Install and setup for each channel.
brew install trvon/yams/yams
yams init
yams add ./notes --recursive --tags notes
yams search "how does the cache expire"
yams grep "TODO" --cwd .
To keep a project indexed while you work:
cd ~/src/my-project
yams watch
The guide walks through adding, searching, retrieving and watching.
Use it from an agent¶
yams serve exposes the corpus over MCP to any compatible tool:
{
"mcpServers": {
"yams": {
"command": "yams",
"args": ["serve"]
}
}
}
Where to go next¶
| Page | What it covers |
|---|---|
| Install and setup | Every channel, where files live, the daemon service, common settings |
| Guide | Day-to-day use: add, search, grep, get, list, watch |
| Retrieval reference | Bounded output, scoping and repository freshness |
| P2P corpus sync | Direct daemon-to-daemon sync, no central service |
| Benchmarks | Current quality and cost numbers, and how to reproduce them |
| Build from source | Meson, Conan, tests and the local quality gate |
Command behaviour is documented by yams --help and yams <command> --help.
Project¶
- Source: GitHub, with a self-hosted mirror
- Chat: Discord
- Updates: newsletter and release feed
- License: GPL-3.0-or-later