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-06 00:11:43 -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
.githooks v0.6.9 2025-09-06 00:11:43 -04:00
.github v0.6.9 2025-09-06 00:11:43 -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 v0.6.4 2025-09-04 15:51:26 -04:00
conan/profiles v0.6.5 2025-09-04 16:46:05 -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.9 2025-09-06 00:11:43 -04:00
examples protobufs / boost for daemon upgrades. start of plugin system 2025-08-31 06:34:51 -04:00
include/yams v0.6.9 2025-09-06 00:11:43 -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 v0.6.9 2025-09-06 00:11:43 -04:00
sql yams 2025-08-10 23:41:49 -04:00
src v0.6.9 2025-09-06 00:11:43 -04:00
tests v0.6.9 2025-09-06 00:11:43 -04:00
third_party/hnswlib v0.5.0 2025-08-23 21:57:36 -04:00
tools v0.6.9 2025-09-06 00:11:43 -04:00
.actrc v0.6.0 2025-09-03 22:28:13 -04:00
.build.yml v0.6.9 2025-09-06 00:11:43 -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.9 2025-09-06 00:11:43 -04:00
CMakeLists.txt v0.6.9 2025-09-06 00:11:43 -04:00
CMakePresets.json v0.6.4 2025-09-04 15:51:26 -04:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
conanfile.py protobufs / boost for daemon upgrades. start of plugin system 2025-08-31 06:34:51 -04:00
CONTRIBUTING.md v0.6.9 2025-09-06 00:11:43 -04:00
Dockerfile v0.6.3 usability and ci patches 2025-09-04 09:32:39 -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 v0.6.9 2025-09-06 00:11:43 -04:00
SECURITY.md v0.6.9 2025-09-06 00:11:43 -04:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00

Ask DeepWiki Release builds.sr.ht status

YAMS — Yet Another Memory System

Version v0.6.x will focus on improving stability, performance and the CI. All new features will move to the experimental or v0.7.0 branch

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 ninja-build cmake
  • macOS: openssl@3 protobuf sqlite3 ncurses (export OPENSSL_ROOT_DIR=$(brew --prefix openssl@3)) ninja-build cmake

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