TGViewer
Библиотека Go-разработчика | Golang Библиотека Go-разработчика | Golang @goproglib · 24.1K subscribers
Post #7279 3.11K
💡 Постоянная память для ИИ-агентов в коде

ИИ-агент в редакторе теряет весь контекст, как только закрывается сессия. Вы объяснили архитектуру проекта, разобрали хитрый баг, договорились о соглашениях в коде, а на следующий день агент снова чистый лист. Приходится пересказывать одно и то же.

Engram это один бинарник на Go, который хранит память агента в локальной базе SQLite с полнотекстовым поиском FTS5. Внешних зависимостей нет. Не нужен ни Node.js, ни Python, ни Docker. Файл базы лежит в ~/.engram/engram.db, и это единственное место, где живут данные.

Доступ к памяти открыт сразу через несколько интерфейсов. Есть CLI для ручных команд, HTTP API, MCP-сервер для агентов и текстовый интерфейс TUI для просмотра.

Работает с любым агентом, который поддерживает MCP. В списке Claude Code, OpenCode, Gemini CLI, Codex, VS Code с Copilot, Cursor, Windsurf и другие.

🛠 Как работает

Агент закончил осмысленную работу, например починил баг или принял архитектурное решение. Он вызывает инструмент mem_save и записывает заголовок, тип и поля что сделано, почему, где и что усвоено. Engram кладёт это в SQLite и строит индекс FTS5.

В следующей сессии агент ищет по памяти через mem_search и получает нужный контекст обратно. Всего в наборе 19 MCP-инструментов, от сохранения и поиска до работы с сессиями и поиска конфликтов между записями.

▶️ Запуск

Дальше подключаете агента одной командой. Для Claude Code это плагин.
claude plugin marketplace add Gentleman-Programming/engram && claude plugin install engram


Для других агентов есть готовые сетапы, например engram setup opencode или engram setup codex.

Память можно смотреть и руками. Поиск из терминала выглядит так:
engram search "авторизация по jwt"


А для удобного просмотра есть TUI с навигацией по клавишам vim.
engram tui


⚙️ Синхронизация между машинами

Записи можно переносить через git. Engram экспортирует новые данные в сжатый чанк, вы коммитите его, а на другой машине импортируете:
engram sync
git add .engram/ && git commit -m "sync engram memories"
engram sync --import


Локальный SQLite остаётся главным источником правды. Облако подключается по желанию и нужно только для репликации и общего доступа.

Агент перестаёт забывать контекст проекта и не заставляет вас объяснять одно и то же каждую сессию. Инструмент не привязан к конкретному агенту, ставится одним бинарником и хранит всё локально, поэтому попробовать его можно без облака и тяжёлых зависимостей.

➡️ Репозиторий

Наша рассылка ничего не забывает

📍 Навигация: Вакансии • Задачи • Собесы • Канал в Max

🐸 Библиотека Go-разработчика

#GoDeep
  • ❤ 7
  • 👍 2
More from @goproglib
  1. Sep 28, 2026🤔 Вопрос с собеседования по Go Что выведет программа? ❤️ — 1 true / 0 false 🔥 — 1 true /…
  2. Sep 28, 2026👩‍💻 Что на самом деле происходит внутри Go map? После Go 1.24 обычный map внутри работае…
  3. Sep 26, 2026🔥 В Go 1.27 появился portable SIMD До этого SIMD-оптимизации в Go требовали архитектурног…
  4. Sep 25, 2026🤡🤡 📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека Go-разработчика #GoGiggle
  5. Sep 25, 2026💡 Код работает. А data race уже есть В Go можно записать значение в одной горутине, прочи…
  6. Sep 23, 2026💥 TCP/IP: что происходит с данными в сети Когда Go-приложение отправляет данные по сети,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →