Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.
  • C++ 93.1%
  • Python 2.4%
  • Shell 1.6%
  • Meson 1.6%
  • Lean 0.7%
  • Other 0.6%
Find a file
2026-01-31 18:23:15 -05:00
.act v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
.claude/skills Improve daemon shutdown reliability and timeout handling 2026-01-29 11:55:07 -05:00
.devcontainer v0.7.0-prerelease 2025-09-20 22:55:34 -04:00
.githooks fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
.github fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
.vscode removing duplicate hnsw and leverage sqlite vec cpp library updates 2026-01-05 10:16:32 -05:00
conan remove pycache 2026-01-21 12:13:47 -05:00
docker/local-ci removing gtest migrated tests and continuing with test migration 2025-12-16 10:50:18 -05:00
docs fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
examples gliner term expansion for better search and search model ranking update 2026-01-22 23:17:40 -05:00
external fix: performance tuning improvements, windows build fixes and other improvements 2026-01-31 01:01:52 -05:00
homebrew-yams@3abe0fd6f2 fix: nightly fixes for homebrew, daemon fixes and install logic improvements 2026-01-31 13:46:37 -05:00
include fix: extract bug fixes and cleaning up unused session logic 2026-01-31 01:31:08 -05:00
meson test stabilizations for windows. search metadata/tags improvements 2025-11-26 21:45:50 -05:00
packaging fix: nightly fixes for homebrew, daemon fixes and install logic improvements 2026-01-31 13:46:37 -05:00
plugins fix: onnx pool model scaling improvements, test fixes and UX improvements 2026-01-29 23:18:50 -05:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
spec v0.6.30 2025-09-16 10:55:37 -04:00
sql v0.7.11 staging 2026-01-03 00:17:21 -05:00
src fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
subprojects fixing meson install logic of libsql 2026-01-20 12:11:36 -05:00
tests fix: windows build fixes 2026-01-31 18:23:15 -05:00
third_party additional bug fixes 2026-01-24 00:32:05 -05:00
tools fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
.actrc v0.7.0-prerelease 2025-09-20 22:55:34 -04:00
.build.yml zig versioning fix 2025-12-31 15:18:17 -05:00
.clang-format v0.3.3 clang-format now in use 2025-08-15 15:51:18 -04:00
.clangd bug fixes for model loading logic, dynamic vec table dimensions, cli refactor and search bug fixes 2026-01-08 23:10:58 -05:00
.cppcheck-suppressions bug fixes for onnx and improving support for larger models. tuning serach engine and expanding module communication via daemon 2026-01-10 01:32:48 -05:00
.dockerignore fixing plugin load logic for external plugin, test compilation issues and adding entity integration test 2025-12-20 11:19:37 -05:00
.gitignore fixing for building libsql 2026-01-20 01:05:57 +00:00
.gitmodules reverting metadata cache patch and fixing list metadata pathing for speed. cleaning up ux add and list commands and remove legacy metadata path 2026-01-28 16:51:03 -05:00
AGENTS.md committing agent file 2026-01-30 17:56:24 -05:00
CHANGELOG.md adding additional submodule 2026-01-28 00:26:37 -05:00
CITATION.cff clangd fixes, moved symbol extractor to vectordb, investigating slow vector search performance 2026-01-07 10:38:05 -05:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
conanfile.py removing client only embedding path 2026-01-23 15:05:30 -05:00
CONTRIBUTING.md windows build stable on dev machine 2025-11-23 23:22:30 -05:00
CppProperties.json windows build running. resolving plugin loading 2025-11-25 09:56:50 -05:00
Dockerfile improving UX of metrics 2026-01-27 22:38:34 -05:00
GOVERNANCE.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
LICENSE module updates 2025-12-03 21:27:51 -05:00
MAINTAINERS.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
MCP_APPS_IMPLEMENTATION_PLAN.md Improve daemon shutdown reliability and timeout handling 2026-01-29 11:55:07 -05:00
MCP_PROTOCOL_COMPLIANCE.md Improve daemon shutdown reliability and timeout handling 2026-01-29 11:55:07 -05:00
meson.build fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
meson_options.txt fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
mkdocs.yml stabilizations. removing http as I am not using it. Focusing on streamlining build and system 2025-11-05 10:52:27 -05:00
NOTICE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
README.md build fixes and benchmark improvements 2026-01-17 16:29:28 -05:00
SECURITY.md staging docs 2025-10-23 23:01:29 -04:00
setup.ps1 fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
setup.sh fix: removing mobile bindings from builds 2026-01-31 17:15:25 -05:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00
tsan.suppressions build fixes and benchmark improvements 2026-01-17 16:29:28 -05:00

YAMS — Yet Another Memory System

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

license language github builds last commit

Warning

Experimental Software - Not Production Ready

YAMS is under active development and should be considered experimental. The software may contain bugs, incomplete features, and breaking changes between versions. Use at your own risk.

For production workloads, please wait for a stable 1.0 release.

Features

  • SHA-256 content-addressed storage with block-level dedupe (Rabin chunking)
  • Full-text search (SQLite FTS5) + semantic vector search (embeddings)
  • Symbol extraction from source code (tree-sitter: C, C++, Python, JS, TS, Rust, Go, Java, C#, PHP, Kotlin, Dart, SQL, Solidity)
  • Snapshot management with Merkle tree diffs and rename detection
  • WAL-backed durability, high-throughput I/O, thread-safe
  • Portable CLI, MCP server, and plugin architecture (ONNX, S3, PDF extraction)

Install

Supported platforms: Linux x86_64/ARM64, macOS x86_64/ARM64, Windows x86_64

macOS (Homebrew)

# Stable release (recommended)
brew install trvon/yams/yams

# Or get nightly builds for latest features
brew install trvon/yams/yams@nightly

# Verify installation
yams --version

Docker

# Pull and run
docker pull ghcr.io/trvon/yams:latest
docker run --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest --version

# MCP server
docker run -i --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest serve

Build from Source

Linux/macOS:

# Quick build (auto-detects Clang/GCC, configures Conan + Meson)
./setup.sh Release

# Build
meson compile -C build/release

# Optional: Install system-wide
meson install -C build/release

Windows:

./setup.ps1 Release
meson compile -C build/release

Prerequisites: GCC 13+, Clang 16+, or MSVC 2022+ (C++20); meson, ninja-build, cmake, pkg-config, conan

See docs/BUILD.md for detailed instructions.

Quick Start

# Initialize (interactive - prompts for grammar downloads)
yams init .

# Auto mode for containers/headless
yams init --auto

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

# Search
yams search "config file" --limit 5
yams grep "TODO" --include="*.cpp"

# List and retrieve
yams list --limit 20
yams get <hash> -o ./output.bin

Symbol Extraction

YAMS extracts symbols (functions, classes, methods) from source code using tree-sitter:

# Interactive grammar setup
yams init

# Or auto-download recommended grammars
yams init --auto

# Manage grammars separately
yams config grammar list
yams config grammar download cpp python rust

Supported: C, C++, Python, JavaScript, TypeScript, Rust, Go, Java, C#, PHP, Kotlin, Dart, SQL, Solidity

Snapshots & Diff

# Snapshots are created automatically on add
yams add . --recursive --include="*.cpp,*.h" --snapshot-label "v1.0"

# List snapshots
yams list --snapshots

# Compare snapshots (Merkle tree diff with rename detection)
yams diff v1.0 v1.1
yams diff v1.0 v1.1 --include="*.cpp" --stats

MCP Server

yams serve  # stdio transport (JSON-RPC)

Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

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

Plugins

YAMS supports plugins for embeddings (ONNX), storage (S3), and content extraction (PDF):

yams plugin list                    # List loaded plugins
yams plugin trust add ~/.local/lib/yams/plugins
yams plugin health                  # Check plugin status
yams doctor plugin onnx             # Diagnose specific plugin

Recommended model: all-MiniLM-L6-v2 (384-dim) — best speed/quality tradeoff.

GPU Acceleration

The ONNX plugin supports GPU acceleration for faster embedding generation:

Platform Provider Hardware
macOS CoreML Apple Silicon Neural Engine + GPU
Linux CUDA NVIDIA GPUs
Windows DirectML Any DirectX 12 GPU (NVIDIA, AMD, Intel)

GPU support is auto-detected during build. To manually control:

# Disable GPU
YAMS_ONNX_GPU=none ./setup.sh Release

# Force specific provider
YAMS_ONNX_GPU=cuda ./setup.sh Release    # Linux
YAMS_ONNX_GPU=coreml ./setup.sh Release  # macOS
YAMS_ONNX_GPU=directml ./setup.ps1       # Windows

See plugins/onnx/README.md for detailed configuration.

Troubleshooting

yams doctor              # Full diagnostics
yams stats --verbose     # Storage statistics
yams repair --all        # Repair common issues

Build issues: See docs/BUILD.md

Plugin discovery: yams plugin list empty? Add trust path: yams plugin trust add ~/.local/lib/yams/plugins

Cite

@misc{yams,
  author = {Trevon Williams},
  title = {YAMS: Content-addressable storage with semantic search},
  year = {2025},
  publisher = {GitHub},
  url = {https://github.com/trvon/yams}
}