kael-bit/engram-rs

kael-bit/engram-rs

от kael-bit
engram-rs хранит память как самоорганизующуюся базу: важное продвигается, шум забывается, темы группируются автоматически. Работает офлайн на одном SQLite-файле.

engram-rs

CI License: MIT Rust GitHub stars Docker

Memory engine for AI agents. Two axes: time (three-layer decay & promotion) and space (self-organizing topic tree). Important memories get promoted, noise fades, related knowledge clusters automatically.

Most agent memory is a flat store — dump everything in, keyword search to get it back. No forgetting, no organization, no lifecycle. engram-rs adds the part that makes memory actually useful: the ability to forget what doesn't matter and surface what does.

engram demo — store, context reset, recall

Single Rust binary, one SQLite file, zero external dependencies. No Python, no Redis, no vector DB — curl | bash and it runs. ~10 MB binary, ~100 MB RSS, single-digit ms search latency.

Quick Start

# Install (interactive — will prompt for embedding provider config)
curl -fsSL https://raw.githubusercontent.com/kael-bit/engram-rs/main/install.sh | bash

# Store a memory
curl -X POST http://localhost:3917/memories \
  -d '{"content": "Always run tests before deploying", "tags": ["deploy"]}'

# Recall by meaning
curl -X POST http://localhost:3917/recall \
  -d '{"query": "deployment checklist"}'

# Restore full context (session start)
curl http://localhost:3917/resume

Часто задаваемые вопросы

Инструменты были проиндексированы:
engram_consolidate

Выполняет цикл консолидации памяти. Продвигает важные воспоминания вверх, удаляет устаревшие записи. При merge=true использует LLM для объединения похожих воспоминаний.

Параметры
  • decay_drop_thresholdnumber

    Опускается ниже этого порога актуальности (по умолчанию 0,01)

  • mergeboolean

    Использует LLM, чтобы объединить похожие воспоминания

  • promote_min_importancenumber

    Минимальная важность для продвижения (по умолчанию 0.6)

  • promote_thresholdinteger

    Минимальное количество обращений для повышения (по умолчанию 3).

engram_delete

Удаляет память по идентификатору. Используйте, когда память устарела, неверна или избыточна.

Параметры
  • idstringобязательный

    ID памяти для удаления

engram_extract

Извлекает структурированные воспоминания из необработанного текста с помощью LLM. Принимает логи бесед или заметки и возвращает отдельные воспоминания.

Параметры
  • auto_embedboolean

    Генерировать вложения (по умолчанию true)

  • textstringобязательный

    Сырой текст, из которого нужно извлечь воспоминания.

engram_health

Детальная проверка здоровья: время работы, RSS-память, статистика кэша встраиваний, статус конфигурации ИИ.

Параметры

Без параметров.

engram_recall

Гибридный семантический + ключевой поиск с извлечением с учётом бюджета. Быстрый по умолчанию (~30 мс с кэшем, ~1 с первый запрос). Опциональный Expand добавляет расширение запроса с помощью LLM (+1-2 с) - используйте только для коротких/расплывчатых запросов.

Параметры
  • budget_tokensinteger

    Максимальный бюджет токенов

  • dryboolean

    Пропустить корректировку/усиление результатов (для фоновых запросов).

  • expandboolean

    Расширение запроса LLM (+1-2 секунды). Используется для коротких или нечётких запросов, например, из одного слова.

  • layersinteger[]

    Фильтровать по слоям.

  • limitinteger

    Максимум результатов.

  • min_importancenumber

    Минимальный порог важности

  • min_scorenumber

    Отбрасывает результаты ниже этого балла (0-1).

  • namespacestring

    Фильтровать по namespace (также автоматически включает namespace "default")

  • querystringобязательный

    Поисковый запрос

  • sinceinteger

    Только воспоминания, созданные после этой unix-метки времени в миллисекундах

  • sort_byenum

    Порядок сортировки (по умолчанию: релевантность)

  • sourcestring

    Фильтр по источнику (например, session, extract, api)

  • tagsstring[]

    Фильтр по тегам (должны быть указаны ВСЕ)

  • untilinteger

    Только воспоминания, созданные до этой временной метки Unix в миллисекундах

engram_recent

Перечисляет недавние воспоминания по времени создания. Помогает восстановить контекст сеанса.

Параметры
  • hoursnumber

    Смотреть N часов назад (по умолчанию 2)

  • layerinteger

    Фильтрует по слою

  • limitinteger

    Максимум результатов, по умолчанию 100.

  • min_importancenumber

    Минимальный порог важности

  • namespacestring

    Фильтровать по namespace (также автоматически включает namespace "default")

  • sourcestring

    Фильтровать по источнику (например, сессии).

engram_repair

Восстанавливает поисковый индекс FTS. Удаляет осиротевшие записи и перестраивает отсутствующие. Безопасно выполнять в любое время - идемпотентна.

Параметры

Без параметров.

engram_restore

Восстанавливает мягко удалённую память из корзины обратно в исходный слой.

Параметры
  • idstringобязательный

    ID памяти для восстановления из корзины

engram_resume

Полная загрузка памяти для восстановления сессии. Возвращает ядро (постоянные знания), рабочую память (текущий контекст/решения), буфер (временные данные), недавнюю активность и заметки сессии. Используйте теги рабочего пространства для фильтрации по текущему рабочему контексту. Компактный режим (по умолчанию) минимизирует использование токенов.

Параметры
  • budgetnumber

    Максимум символов во всех разделах (по умолчанию 8000, 0 = без ограничений)

  • compactboolean

    Компактный вывод: только содержимое+теги (по умолчанию true)

  • limitnumber

    Максимум воспоминаний на слой (по умолчанию 100)

  • namespacestring

    Фильтровать по namespace (также автоматически включает namespace "default")

  • recent_epochsinteger

    Количество эпох консолидации для просмотра последнего раздела (по умолчанию 24). На основе эпох: учитываются только активные циклы консолидации, а не фактическое время.

  • workspacestring

    Разделенные запятыми теги рабочего пространства для фильтрации основных/рабочих воспоминаний (например, 'engram,rust')

engram_search

Быстрый поиск по ключевым словам. Легче, чем recall — без логики оценки и распределения.

Параметры
  • limitinteger

    Максимум результатов, по умолчанию 100.

  • namespacestring

    Фильтровать по namespace (также автоматически включает namespace "default")

  • qstringобязательный

    Поисковый запрос

engram_stats

Получает статистику памяти: количество на слой, статус AI, версию.

Параметры

Без параметров.

engram_store

Сохраняет память. Все памяти начинаются в Buffer и переходят в Working/Core через частоту доступа и контроль качества LLM. Процедурные памяти и уроки (tag=lesson) автоматически переходят в Working через 2 часа. Использует supersedes для замены устаревших памяти по их идентификаторам.

Параметры
  • contentstringобязательный

    Текст содержимого памяти

  • importancenumber

    Важность 0-1 (по умолчанию 0.5, увеличивается на +0.02 при каждом recall)

  • kindenum

    Тип памяти: семантическая (факты, по умолчанию), эпизодическая (события), процедурная (практические навыки, сохраняется бессрочно).

  • namespacestring

    Переопределите пространство имен. Используйте «default» для знаний, общих для разных проектов (идентичность пользователя, предпочтения, универсальные уроки).

  • skip_dedupboolean

    Понял, пропускаю проверку на near-duplicate. Жду текст для перевода.

  • sourcestring

    Идентификатор источника

  • supersedesstring[]

    Идентификаторы старых воспоминаний, которые заменяет это

  • sync_embedboolean

    Ожидает завершения генерации встраиваний перед возвратом (по умолчанию: false)

  • tagsstring[]

    Теги для категоризации

engram_topic

Углубляется в тематические кластеры по ID. Используйте после /resume для изучения конкретных тем из индекса знаний.

Параметры
  • idsstring[]обязательный

    要获取的主题ID(例如:["kb1", "kb3"])

engram_trash

Выводит список мягко удалённых воспоминаний. Недавно удалённые элементы можно восстановить.

Параметры
  • limitinteger

    Максимум результатов, по умолчанию 100.

engram_triggers

Получает trigger memories для конкретного действия. Вызывайте перед выполнением действия (например, git-push, deploy), чтобы вспомнить соответствующие уроки и правила.

Параметры
  • actionstringобязательный

    Название действия (например, git-push, deploy, send-message)

engram_update

Обновляет содержимое памяти, метаданные (важность, теги, слой, вид). Использует supersedes в store для замены на историю.

Параметры
  • contentstring

    Пожалуйста, отправьте текст, который нужно перевести.

  • idstringобязательный

    ID памяти для обновления

  • importancenumber

    Новое значение важности

  • kindenum

    Тип памяти

  • layerinteger

    Переключись на слой: 1=буфер, 2=рабочий, 3=ядро

  • tagsstring[]

    Понял, вы хотите, чтобы я заменил теги. Но уточните, пожалуйста, какие именно теги вы имеете в виду и в каком тексте? Если вы имеете в виду теги в примерах перевода (например, <...> или другие разметочные элементы), уточните, на что их нужно заменить. Если вы хотите, чтобы я перевёл текст, содержащий HTML-теги или другие теги разметки, пришлите этот текст — я переведу его, сохранив структуру тегов на своих местах.

0.14.0основная
0.13.0
0.12.0
0.10.0
0.9.0

Выберите клиент, чтобы установить kael-bit/engram-rs:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"kael-bit-engram-rs-exfaghj7if\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"engram-rs-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add kael-bit-engram-rs-exfaghj7if -- npx -y engram-rs-mcp

Либо через JSON-конфиг:

claude mcp add-json kael-bit-engram-rs-exfaghj7if "{\"command\":\"npx\",\"args\":[\"-y\",\"engram-rs-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add kael-bit-engram-rs-exfaghj7if -- npx -y engram-rs-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.kael-bit-engram-rs-exfaghj7if]
command = "npx"
args = ["-y", "engram-rs-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите kael-bit/engram-rs, а в поле команды запуска — строку ниже:
npx -y engram-rs-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например kael-bit-engram-rs-exfaghj7if.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: kael-bit-engram-rs-exfaghj7if
    command: npx
    args:
      - "-y"
      - "engram-rs-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "kael-bit-engram-rs-exfaghj7if": {
      "command": "npx",
      "args": [
        "-y",
        "engram-rs-mcp"
      ]
    }
  }
}

Похожие MCP-сервера

varun29ankuS/shodh-memory

varun29ankuS/shodh-memory

от varun29ankus

Shodh-Memory - MCP сервер для персистентной памяти AI-агентов и роботов. Запоминает суть, забывает лишнее и обучается без LLM. Использует локальные эмбеддинги и граф знаний. Работает офлайн, один б...

Rust⭐ 312
Patdolitse/piia-engram

Patdolitse/piia-engram

от patdolitse

Сервер piia-engram хранит ваш единый AI-профиль локально. Все MCP-клиенты (Claude Code, Codex, Cursor) читают одни настройки, стандарты и уроки. Никакого облака — данные принадлежат вам. Не повторя...

Python⭐ 162
aitytech/agentkits-memory

aitytech/agentkits-memory

от aitytech

MCP сервер AgentKits Memory даёт AI-ассистентам постоянную память: сохраняет решения, паттерны и ошибки между сессиями. Всё хранится локально в SQLite, легко интегрируется с Claude Code, Cursor и д...

TypeScript⭐ 3
gingugu/gingugu

gingugu/gingugu

от gingugu

Локальный MCP-сервер Gingugu дает AI-ассистентам постоянную память на SQLite: контекст между сессиями, проектами и репозиториями. Гибридный поиск, хронология, связи, уровни доверия. Один файл, без ...

Python⭐ 7
webaesbyamin/agent-receipts

webaesbyamin/agent-receipts

от webaesbyamin

MCP сервер даёт AI-агентам память с криптографическими чеками. Каждый факт подписывается Ed25519, хранится локально без облака. Для разработчиков, нуждающихся в аудите действий агента.

TypeScript⭐ 1
Cartisien/engram-mcp

Cartisien/engram-mcp

от cartisien

MCP-сервер для постоянной семантической памяти AI-агентов. Хранит воспоминания в SQLite, ищет по смыслу через локальные эмбеддинги Ollama — без облака и API-ключей. Пять инструментов: remember, rec...

TypeScript⭐ 1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин