Engram — постоянная память для AI-кодинг-агентов
📂 Исходный код на GitHubСистема постоянной памяти для AI-кодинг-агентов. Go-бинарник с SQLite + FTS5, MCP-сервер, HTTP API, CLI и TUI. Работает с любым MCP-агентом. MIT лицензия.
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 как структурированную проектную память, а не как лог сессий:
- Начинай с ориентации. Вызывай
mem_current_projectдля подтверждения проекта. Перед началом связанной работы используйmem_contextиmem_searchдля восстановления истории. - Ищи перед повторением. Прежде чем повторять решение, баг или соглашение, убедись, что оно уже не сохранено.
- Извлекай постепенно. Начинай с
mem_searchдля кандидатов, затемmem_timelineдля контекста, иmem_get_observationдля полной картины. - Сохраняй осознанно. Фиксируй исправления багов, решения, открытия, паттерны и долгосрочные ограничения. Не сохраняй сырой вывод инструментов и каждый ход диалога.
- Стабилизируй знания. Для развивающейся темы используй стабильный
topic_key(например,architecture/auth-model) и обновляй его, а не создавай дубли. - Оставляй передачу. Перед завершением сессии сохрани
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.