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
2025-09-03 22:28:13 -04:00
.conan v0.2.6 2025-08-14 06:52:24 -04:00
.devcontainer v0.5.7 2025-08-29 06:12:50 -04:00
.github/workflows v0.6.0 2025-09-03 22:28:13 -04:00
.vscode build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
.zed build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
cmake build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
conan/profiles changelog updates v0.0.3 2025-08-11 11:11:19 -04:00
data v0.1.5 2025-08-13 19:25:31 -04:00
docker/local-ci v0.0.5 2025-08-11 20:35:51 -04:00
docs v0.6.0 2025-09-03 22:28:13 -04:00
examples protobufs / boost for daemon upgrades. start of plugin system 2025-08-31 06:34:51 -04:00
include/yams v0.6.0 2025-09-03 22:28:13 -04:00
packaging v0.4.2 2025-08-21 00:06:31 +00:00
plugins/object_storage_s3 protobufs / boost for daemon upgrades. start of plugin system 2025-08-31 06:34:51 -04:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
sql yams 2025-08-10 23:41:49 -04:00
src v0.6.0 2025-09-03 22:28:13 -04:00
tests v0.6.0 2025-09-03 22:28:13 -04:00
third_party/hnswlib v0.5.0 2025-08-23 21:57:36 -04:00
tools v0.6.0 2025-09-03 22:28:13 -04:00
.actrc v0.6.0 2025-09-03 22:28:13 -04:00
.build.yml v0.6.0 2025-09-03 22:28:13 -04:00
.clang-format v0.3.3 clang-format now in use 2025-08-15 15:51:18 -04:00
.cppcheck-suppressions v0.4.0 2025-08-20 14:02:06 -04:00
.dockerignore v0.5.7 2025-08-29 06:12:50 -04:00
.gitignore v0.6.0 2025-09-03 22:28:13 -04:00
CHANGELOG.md v0.6.0 2025-09-03 22:28:13 -04:00
CMakeLists.txt build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
CMakePresets.json build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
conanfile.py protobufs / boost for daemon upgrades. start of plugin system 2025-08-31 06:34:51 -04:00
Dockerfile v0.5.7 2025-08-29 06:12:50 -04:00
LICENSE yams 2025-08-10 23:41:49 -04:00
mkdocs.yml readme improvements 2025-08-31 22:00:44 -04:00
NOTICE yams 2025-08-10 23:41:49 -04:00
README.md build system improvements, clang-tidy integration for warnings equals errors (need to continue). POSIX socket legacy code removal 2025-09-03 13:22:30 -04:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00

Ask DeepWiki Release

YAMS — Yet Another Memory System

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

What it is

  • SHA-256 content-addressed store with block-level dedupe (Rabin)
  • Full-text search (SQLite FTS5) and semantic search (embeddings)
  • WAL-backed durability, high-throughput I/O, thread-safe

Install

Supported: Linux x86_64/ARM64, macOS x86_64/ARM64

Build with Conan (recommended):

pip install conan
conan profile detect --force
conan install . -of build/yams-release -s build_type=Release -b missing
cmake --preset yams-release
cmake --build --preset yams-release -j
sudo cmake --install build/yams-release && sudo ldconfig

Deps quick refs:

  • Linux: libssl-dev sqlite3 libsqlite3-dev protobuf-compiler libncurses-dev
  • macOS: openssl@3 protobuf sqlite3 ncurses (export OPENSSL_ROOT_DIR=$(brew --prefix openssl@3))

Build options (common): YAMS_BUILD_TESTS=ON|OFF, YAMS_BUILD_BENCHMARKS=ON|OFF, YAMS_ENABLE_PDF=ON|OFF, YAMS_ENABLE_TUI=ON|OFF, YAMS_ENABLE_ONNX=ON|OFF.

Note: Plain CMake without Conan may miss deps. Prefer Conan builds.

Quick start

export YAMS_STORAGE="$HOME/.local/share/yams"
yams init --non-interactive

# add
echo hello | yams add - --tags demo

# search
yams search hello --limit 5

# get
yams list --format minimal --limit 1 | xargs yams get

CLI cheat sheet

# set storage per-run
yams --data-dir /tmp/yams add -

# list (minimal for pipes)
yams list --format minimal | head -3

# fuzzy search
yams search databse --fuzzy --similarity 0.8

# delete preview
yams delete --pattern "*.log" --dry-run

LLM-friendly patterns

# cache web content
curl -s https://example.com | yams add - --tags web,cache --name example.html

# stash code diffs
git diff | yams add - --tags git,diff,$(date +%Y%m%d)

# chain search -> get
hash=$(yams search "topic" --format minimal | head -1); yams get "$hash"

MCP

yams serve  # stdio transport

MCP config (example):

{
  "mcpServers": { "yams": { "command": "/usr/local/bin/yams", "args": ["serve"] } }
}

API (C++)

#include <yams/api/content_store.h>
auto store = yams::api::createContentStore(getenv("YAMS_STORAGE"));
yams::api::ContentMetadata meta{.tags={"code","v1.0"}};
auto r = store->store("file.txt", meta);
auto q = store->search("query", 10);
store->retrieve(hash, "out.txt");

Troubleshooting

Conan: create default profile

conan profile detect --force

PDF support issues: build with -DYAMS_ENABLE_PDF=OFF.

License

Apache-2.0