Огляд коду ZaiMem: памʼять як інфраструктура і пастка під час деплою
ZaiMem поєднує детермінований пошук, MCP, передачі проєктів, документи, зустрічі й GitHub-знімки. Постійний хостинг є головною умовою.

ГЛИБОКИЙ ОГЛЯД ПРОЄКТУ · КОД + ЖИВЕ ДЕМО
Відкрийте живу сторінку, і ZaiMem видасть приватний токен раніше, ніж спитає, хто ви. Цей маленький вибір багато каже про продукт: памʼять як інфраструктура, а не ще одне вікно чату. За ним працює сервіс на Next.js 16 із 33 MCP-інструментами у восьми паках, модель даних Prisma, детерміновані 384-вимірні ембедінги, конвеєри документів і зустрічей та необовʼязковий приватний репозиторій GitHub як читабельна резервна копія. Ідея сходиться. Огляд про те, чи сходиться реалізація.
Що тут вдало
- ZaiMem збирає проблеми безперервності в один протокол. Агент пам’ятає, шукає, підсилює контекст, стискає, продовжує сесії, входить у проєкти, читає документи й зустрічі та передає роботу. У коді є окремі модулі для кожної області.
- Live demo · Source repository
Як це влаштовано
Dashboard і MCP-клієнти зустрічаються у спільному прикладному шарі. Next.js routes перевіряють `zm_…` і викликають доменні модулі. Prisma використовує SQLite локально й Postgres для managed deployment. Зміни можуть ставити чотирисекундний snapshot у приватний GitHub. Межі протоколу, логіки, сховища й UI чіткі.
Як працює пригадування
Слова й char-4-grams хешуються FNV-1a у 384 виміри та нормалізуються. Рейтинг поєднує cosine, ключові слова, давність, важливість, доступ, pin і проєкт. 0,94 означає дублікат. API не потрібен, але метод краще ловить лексику, ніж глибокий зміст перефразувань і мов.
Рішення щодо безпеки, які варто зберегти
Токени створюються з 24 випадкових байтів і зберігаються як SHA-256. Старі записи мігрують. GitHub PAT шифрується AES-256-GCM. Forget має preview та confirm. Є quarantine scan і blob-SHA sync.
const score =
cosine(query, memory) * semanticWeight
+ keywordBoost(memory)
+ recencyBoost(memory)
+ importanceBoost(memory)
+ (memory.pinned ? pinBoost : 0);Пояснювальний псевдокод за перевіреними стадіями ранжування, а не дослівний уривок із коду.
Пастка деплою
README чесний: SQLite у Vercel живе в ефемерному `/tmp`, тому cold start може дати порожнє сховище. Bootstrap створює таблиці, але не зберігає дані. Для реальної роботи потрібен Postgres або тривалий Docker. GitHub допомагає відновленню, не замінює транзакційну БД.
Де огляд коду знаходить слабкі місця
Ширина випереджає сфокусовані тести. CI запускає lint і build, але не окремий suite. 33 інструменти розширюють матрицю прав. Query-токен може потрапити в логи й історію; header безпечніший. Wildcard CORS спирається на секрет токена. Локальному embedding потрібен benchmark.
Як він виглядає і звучить
Production landing дисциплінований: чорний фон, біла типографіка, один фіолетовий акцент, одна дія й смуга сумісності. Складна система пояснюється циклами. Dashboard ширший, тому progressive disclosure важливий. Пакети інструментів - влучне рішення.
Як оцінити його по-справжньому
Створіть corpus із дублів, перефразувань, перекладів, старих уподобань, шкідливих інструкцій, подібних проєктів і видаленого документа. Виміряйте precision@k, витоки, хибні merge, час forget і відновлення. Повторіть на SQLite, Postgres і після cold start.
Вердикт
ZaiMem сильний як прозорий MCP-стек пам’яті без зовнішнього embedding API. Детермінований пошук, provenance, handoff і читабельний backup продумані. Важливим даним потрібні Postgres або persistent Docker та тести retrieval і isolation.
Посилання й автор
Живе демо: ZaiMem. Код: GitHub.
Сильні сторони
- Broad MCP-native continuity surface
- Детермінований локальний пошук із зазначенням походження
- Encrypted GitHub backup path
Компроміси
- Ефемерний SQLite небезпечний на serverless-хостингах
- No checked-in retrieval benchmark
- Широкий набір інструментів підвищує ризик авторизації
Для кого: команди розробників, які можуть запустити Postgres або постійний Docker-хост і хочуть перевірювану памʼять агентів.
Часті запитання
Що таке ZaiMem?
ZaiMem - відкритий шар MCP-пам’яті для ШІ-агентів із локальним пошуком, передачею проєктів, документами, зустрічами та GitHub-знімками.
Чи підходить SQLite на Vercel для постійних даних?
Ні. Сховище ефемерне; потрібен persistent Docker host або managed Postgres.
Чи потрібен embedding API?
Ні. Рушій локально хешує слова та символьні 4-грами у 384-вимірні вектори.
Reviewed source at commit e15c1f9 · Live demo