# :memory-md — `pw.binom.agentik.memory.md` **Hermes-style реализация долговременной памяти поверх обычных markdown-файлов.** По одной §-секции на заметку, в файлах `user.md` / `world.md` / `preference.md`. Без внешних зависимостей, без эмбеддингов, без БД. ## Какую проблему решает Минимально работающая память **без инфраструктуры**: открыл текстовый редактор — посмотрел, поправил, удалил. Версионируется в git вместе с проектом, бэкапится как обычные файлы. Полезно для дев-окружения, для одиночных пользователей, для отладки vector-бэкенда. ## Формат файла ```markdown # user.md # agentik-note id=a3f1e2b7 created=2026-09-01 uses=3 last=2026-09-12 Пользователь предпочитает короткие ответы без эмодзи. Не любит вим. # agentik-note id=b9c4d8e1 created=2026-09-10 uses=1 last=2026-09-12 Дедлайн релиза agentik — 25 сентября. # preference.md # agentik-note id=c1d2e3f4 created=2026-09-08 uses=0 last=never Отвечать по-русски, без жаргона. ``` Заголовок с метаданными (`# agentik-note id=… created=… uses=… last=…`), пустая строка, markdown-body. Curator (фоновая корутина) переименовывает «протухшие» заметки (`useCount=0` и `last > 90 дней назад`) в `.archived.{ts}`. ## Подключение ```kotlin commonMain { implementation("pw.binom.agentik:memory-md:$version") // транзитивно: :memory-api + kaml (для YAML-сериализации метаданных) } // Использование val store = MemoryMdStore.fromDirectory( dir = Path("~/.agentik/memory"), clock = Clock.System, ) val search = store.search(MemorySearchQuery(query = "любимый редактор", limit = 5)) ``` ## Где смотреть версии - `version` из `gradle.properties` (`version=0.1.0`) - релизы: `https://git.binom.pw/subochev/agentik/releases` ## Сборка ```bash ./gradlew :memory-md:build ``` KMP-таргеты — полный набор. Зависимости — `:memory-api` + `kaml` (YAML-парсинг метаданных).