Skip to content
trvonPublic

About

Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

372 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,758 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

YAMS — Yet Another Memory System

Persistent, searchable memory for code, documents, and local applications. YAMS stores content once, deduplicates it, and retrieves it through text, vector, graph, and grep surfaces.

Experimental: YAMS is pre-1.0. Expect bugs and breaking changes.

Why YAMS

YAMS is local memory for people who work with LLMs. It runs on your machine and is harness-agnostic.

We believe LLM memory should be memory, and yours. It lives in a data directory you choose, in formats you can inspect and it can be exported or deleted whenever you decide. No account, no hosted service, and no model provider sits between you and what you have stored.

What it provides

  • SHA-256 content-addressed storage with chunk-level deduplication and compression
  • SQLite FTS5, Simeon embeddings, hybrid search, and knowledge-graph retrieval
  • Document graph traversal over paths, versions, entities, and semantic neighbors
  • Snapshots, Merkle tree diffs, corruption detection, and repair tooling
  • A CLI, an MCP server over stdio, and a C ABI for plugins and mobile hosts
  • Local-first operation with no account or hosted service requirement

Install

# macOS
brew install trvon/yams/yams

# Debian / Ubuntu
curl -fsSL https://repo.yamsmemory.ai/gpg.key \
  | sudo gpg --dearmor -o /usr/share/keyrings/yams-stable.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/yams-stable.gpg] https://repo.yamsmemory.ai/aptrepo stable main" \
  | sudo tee /etc/apt/sources.list.d/yams-stable.list
sudo apt-get update && sudo apt-get install yams

# Container
docker pull ghcr.io/trvon/yams:latest

Fedora (DNF), Arch (pacman), Windows (MSI) and release archives are covered in the install guide, along with where YAMS keeps its config, data and logs, how to run the daemon as a service, and the settings most people change. To build from source, see docs/BUILD.md.

By default YAMS keeps its config in ~/.config/yams/config.toml, your corpus in ~/.local/share/yams, and daemon logs in ~/.local/state/yams (%APPDATA% / %LOCALAPPDATA% on Windows).

Start

yams init
yams add ./README.md --tags docs
yams add src/ --recursive --include="*.cpp,*.h" --tags code

yams search "daemon lifecycle" --limit 5
yams grep "TODO" --include="*.cpp"
yams graph --explore "LifecycleComponent"

Run yams --help or yams <command> --help for the current command reference.

MCP

YAMS can expose a local corpus over MCP for compatible developer tools:

yams serve
{
  "mcpServers": {
    "yams": {
      "command": "yams",
      "args": ["serve"]
    }
  }
}

Project pages

Project

See CONTRIBUTING.md for contribution workflow and SECURITY.md for responsible vulnerability reporting.

About

Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

372 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages