Engram — постоянная память для AI-кодинг-агентов

· 2 мин чтения
ai-agents memory mcp context-management sqlite
📂 Исходный код на GitHub

Система постоянной памяти для AI-кодинг-агентов. Go-бинарник с SQLite + FTS5, MCP-сервер, HTTP API, CLI и TUI. Работает с любым MCP-агентом. MIT лицензия.

Engram — постоянная память для AI-кодинг-агентов

AI-кодинг-агенты забывают всё после завершения сессии. Engram даёт им мозг.

Engram — это агенто-независимая система постоянной памяти, реализованная как один Go-бинарник. Она работает через MCP stdio и совместима с Claude Code, OpenCode, Gemini CLI, Codex, VS Code (Copilot), Cursor, Windsurf и другими MCP-агентами. Для работы не нужен Node.js, Python или Docker — только бинарник и один SQLite-файл.

Архитектура

Agent (Claude Code / OpenCode / Gemini CLI / Codex / VS Code / ...)
    ↓ MCP stdio
Engram (single Go binary)
    ↓
SQLite + FTS5 (~/.engram/engram.db)

Вся память хранится локально в SQLite с поддержкой полнотекстового поиска (FTS5). По умолчанию БД находится в ~/.engram/engram.db. При необходимости доступна синхронизация через Git (Git Sync) или опциональный Engram Cloud для проектной репликации с доступом через браузер.

Основные MCP-инструменты

Engram предоставляет набор инструментов, сгруппированных по намерению:

Назначение Инструменты
Определить проект и восстановить контекст mem_current_project, mem_context
Найти ранее сохранённые знания mem_search
Просмотреть результат в деталях mem_timeline, mem_get_observation
Сохранить или обновить знание mem_save, mem_update, mem_suggest_topic_key
Сохранить запрос пользователя mem_save_prompt
Передать контекст при завершении сессии mem_session_summary, mem_session_start, mem_session_end
Проверить актуальность знаний mem_review, mem_judge, mem_compare
Диагностика состояния хранилища mem_doctor

Модель использования

Автор проекта предлагает использовать Engram как структурированную проектную память, а не как лог сессий:

  1. Начинай с ориентации. Вызывай mem_current_project для подтверждения проекта. Перед началом связанной работы используй mem_context и mem_search для восстановления истории.
  2. Ищи перед повторением. Прежде чем повторять решение, баг или соглашение, убедись, что оно уже не сохранено.
  3. Извлекай постепенно. Начинай с mem_search для кандидатов, затем mem_timeline для контекста, и mem_get_observation для полной картины.
  4. Сохраняй осознанно. Фиксируй исправления багов, решения, открытия, паттерны и долгосрочные ограничения. Не сохраняй сырой вывод инструментов и каждый ход диалога.
  5. Стабилизируй знания. Для развивающейся темы используй стабильный topic_key (например, architecture/auth-model) и обновляй его, а не создавай дубли.
  6. Оставляй передачу. Перед завершением сессии сохрани mem_session_summary с целью, инструкциями, открытиями, сделанным и следующими шагами.

Структура полезной памяти:

**What**: Добавлена повторно безопасная обработка загрузки.
**Why**: Повторы могли создавать дубликаты записей.
**Where**: internal/upload/handler.go
**Learned**: Переиспользовать request id как ключ идемпотентности.

Установка и настройка агентов

Для установки последней стабильной версии используется Homebrew:

brew install gentleman-programming/tap/engram

Настройка агента — одна команда с перезапуском агента:

Агент Команда
Claude Code claude plugin marketplace add Gentleman-Programming/engram && claude plugin install engram
OpenCode engram setup opencode
Gemini CLI engram setup gemini-cli
Codex engram setup codex
Cursor engram setup cursor
VS Code (Copilot) engram setup vscode-copilot
Windsurf engram setup windsurf

Полный список поддерживаемых агентов и инструкции по ручной настройке — в документации по настройке агентов.

TUI

Для визуальной навигации по памяти доступен интерактивный терминальный интерфейс:

engram tui

Навигация: j/k для перемещения, Enter для деталей, c для копирования, / для поиска, Esc для возврата. Используется тема Catppuccin Mocha.

Облачные функции

Engram Cloud — опциональная проектная репликация с доступом через браузер. Локальная БД остаётся авторитетным источником. Git Sync экспортирует портативные сжатые чанки для обмена между машинами.

Для существующей локальной базы доступна последовательность обновления:

engram cloud upgrade doctor --project <project>
engram cloud upgrade repair --project <project> --dry-run
engram cloud upgrade bootstrap --project <project>

Сравнение с claude-mem

Engram создан как агенто-независимая альтернатива claude-mem. Основные отличия: один бинарник вместо JavaScript-стека, поддержка любого MCP-агента (не только Claude), и встроенная TUI. Проект под лицензией MIT.

Источник: https://github.com/Gentleman-Programming/engram