Заново
Контекст, за который платишь дважды
Решения, ограничения и уже сделанная работа снова уезжают в промпт каждую сессию — или теряются. Работа по установлению контекста повторяется на каждом прогоне, по полной цене токенов.
Дайте агенту память между разговорами. Brain связывает факты, события и их источники, отслеживает изменения и находит основания для ответа. Подключайте через MCP или REST. На вашей инфраструктуре или нашей.
Прежнее решение
PostgreSQL
Текущее решение
SurrealDB
«Перешли на SurrealDB, чтобы хранить связи графа и историю фактов вместе».
От решения можно вернуться к разговору, который его объясняет.
Проблема
Не потому, что модель слабая, — просто никто не ведёт запись. Тот контекст, что доживает до следующего раза, вставлен руками, заперт внутри клиента одного вендора или приходит без возможности его проверить.
Контекст, за который платишь дважды
Решения, ограничения и уже сделанная работа снова уезжают в промпт каждую сессию — или теряются. Работа по установлению контекста повторяется на каждом прогоне, по полной цене токенов.
Память, которая кончается на клиенте
Встроенная память принадлежит тому клиенту, который её держит. Что узнал один ассистент, не доедет до следующего, и забрать это с собой обычно нельзя.
Припоминание, которое не проверить
Утверждение без источника и без даты проверить нечем. Ничто не говорит, верно ли оно до сих пор, откуда взялось и что заменило.
Один граф
Claude Code, ChatGPT, Cursor и твой собственный код подключаются к одному графу. Что записал один — вспомнит следующий, потому что воркспейс берётся из ключа, а не из приложения, которое сейчас открыто.
Клиенты, которых подключаешь
Твоя память
Одна поверхность·REST · MCP · TypeScript SDK
Воркспейс, набор инструментов и досягаемость каждого вызова выводятся из API-ключа. Ничего не настраивать в каждом клиенте и нечему разъезжаться.
На своём железе это SurrealDB, которую ведёшь ты. В хостинге — та же схема и тот же API за brain.inite.ai.
Хранятся исходные эпизоды, а не только выводы из них, — и производную память можно пересобрать из этих эпизодов.
Какие инструменты увидит клиент, зависит от прав ключа и установленных паков. Эпизоды хранятся и выгружаются NDJSON через API по умолчанию — на своей инсталляции можно выключить и то, и другое.
Все клиентыBrain держит факт, контекст вокруг него и источник, из которого он взялся, как разные вещи: что записали, что произошло и какие выводы система из этого сделала.
Помнить, что изменилось
Типизированные факты сохраняют историю и неразрешённые противоречия. Производные выводы (beliefs) хранят версии и ссылки на сцены-основания.
Сохранять контекст события
Эпизоды сохраняют исходный разговор. Сцены фиксируют события и изменения состояния: за краткой записью можно найти подробный контекст.
Проверять основания ответа
Происхождение памяти прослеживается до источников. Фрагменты свидетельств могут указывать на текст, область страницы или отрезок времени во внешнем файле.
Работа со сценами, выводами и свидетельствами зависит от настроек сервера и доменных пакетов. Регистрация медиа сохраняет ссылки и метаданные; для обработки нужен настроенный процессор.
Brain разделяет исходные материалы, производную память и поиск. Граф задаёт структуру памяти, а ссылки на источники позволяют её проверить.
Sources → Indexers → Candidates
Разговоры и документы поступают через REST или MCP. Индексаторы предлагают кандидатов; разрешение сущностей и конфликтов определяет, что станет фактом.
Исходные эпизоды и ссылки на источники
Факты · Эпизоды · Сцены · Выводы
SurrealDB хранит сущности, связи и факты с историей, а также исходные эпизоды, производные сцены и выводы. Связи со свидетельствами ведут к материалам-основаниям.
История изменений + происхождение
Гибридный поиск → Граф → Синтез
Семантический и лексический поиск находят кандидатов. Обход графа и multi-hop добавляют контекст. Синтез ссылается на основания; строгая проверка может отклонить неподтверждённый ответ.
Ответы с основаниями через REST + MCP
Производные миры можно пересобрать из сохранённых эпизодов в отдельную версию. До переключения чтение продолжает использовать прежний мир.
Профили поиска настраивают поведение под разные типы разговоров. NestJS-сервис может запускать API и фоновые обработчики вместе или раздельно.
Дайте Brain словарь и жизненные циклы вашего продукта. Версионируемый пакет расширяет общий движок без форка: от правил извлечения до представления событий, состояний и свидетельств.
Один из допустимых путей listing_lifecycle. Полная модель также описывает снятие объявления и возвращение на рынок.
Сцены: показ объекта и закрытие сделки.
Подсказки хранения различают краткосрочную память о показе и долговременную запись о закрытии сделки.
Встроенный пакет code_memory охватывает решения, их причины, инварианты и жизненные циклы изменений.
Создайте JSON-манифест, проверьте его, при необходимости подпишите, опубликуйте и установите для организации. Версии в реестре неизменяемы; контрольные суммы фиксируют содержимое. Проверка подписей и согласия определяется политикой сервера.
Отраслевые пакеты входят в репозиторий и устанавливаются для конкретной организации. Работа моделей памяти и инструментов зависит от включённых функций сервера.
Acme сменил тариф 10 марта. Brain узнал об этом 12 марта. Двигайте обе шкалы: дата события и дата записи дают разный взгляд на историю.
Оба времени на «сейчас»: смена произошла, и Brain о ней знает. Актуальный ответ — growth.
От архитектурных решений до разговоров с клиентами: инструменты, чтобы память оставалась полезной при появлении новой информации.
Обновления могут заменять прежние факты. Спорные случаи остаются COMPETING; результат разрешения конфликта можно проверить до записи.
Псевдонимы и канонические имена помогают связать повторные упоминания, в том числе идентификаторы в коде, с одной сущностью.
Записывайте архитектурные решения и их причины. Возвращайтесь к прошлым выборам через why и recall_decisions при изменении кода.
Пакеты задают словарь и модели памяти: схемы сцен, переходы состояний, правила проверки и подсказки хранения. В репозитории — шесть отраслевых пакетов.
Загружайте документы через Source → Indexer → Candidates. Запись факта подходит для одного утверждения, конвейер документов — для объёмного материала.
Доступные инструменты зависят от прав чтения, записи и администрирования. Установленные пакеты расширяют набор с согласия оператора.
Организации используют отдельные базы. Передавайте userId для личной памяти; без него выбирается общая память организации.
Отзыв сохраняет историю. Административное удаление стирает сущность и связанные записи, оставляя отметки об удалении.
Запускайте Brain через Docker Compose, настраивайте провайдеров моделей и управляйте развёртыванием, хранением и доступом.
Подключайтесь к размещённому сервису через аккаунт организации. Управляйте ключами и исследуйте память в веб-приложении.
Качество поиска и точность ответов — разные показатели. Результаты имеют смысл вместе с датасетом, моделью, базовой линией и настройками прогона.
Строгая бинарная оценка · собственная full-context baseline · парная статистика · отложенная выборка. Опубликованные результаты относятся к конкретным прогонам.
Открыть протокол оценкиВставлять нужно только API-ключ — воркспейс берётся из него. Подключите MCP-клиент, зовите REST напрямую или возьмите TypeScript SDK.
.mcp.json · .cursor/mcp.json · any remote client
{
"mcpServers": {
"brain": {
"type": "http",
"url": "https://brain.inite.ai/mcp",
"headers": {
"Authorization": "Bearer brain_YOUR_API_KEY"
}
}
}
}terminal
export BRAIN_KEY="brain_YOUR_API_KEY"
curl -X POST https://brain.inite.ai/v1/ingest/mention \
-H "Authorization: Bearer $BRAIN_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Maria moved to Berlin in June and prefers morning appointments.",
"userId": "user_42"
}'
curl -X POST https://brain.inite.ai/v1/search \
-H "Authorization: Bearer $BRAIN_KEY" \
-H "Content-Type: application/json" \
-d '{ "query": "where does Maria live", "userId": "user_42", "limit": 5 }'terminal
export BRAIN_KEY="brain_YOUR_API_KEY"
curl -X POST https://brain.inite.ai/v1/ingest/fact \
-H "Authorization: Bearer $BRAIN_KEY" \
-H "Content-Type: application/json" \
-d '{
"entityRef": { "vertical": "rent", "id": "cust_42" },
"predicate": "complained_about",
"object": "late maintenance",
"userId": "user_42",
"validFrom": "2026-09-01T10:00:00Z",
"source": { "vertical": "rent", "messageId": "msg_1" }
}'
curl -X POST https://brain.inite.ai/v1/search \
-H "Authorization: Bearer $BRAIN_KEY" \
-H "Content-Type: application/json" \
-d '{ "query": "maintenance issues", "userId": "user_42", "limit": 5 }'Node.js · native fetch
const headers = {
Authorization: `Bearer ${process.env.BRAIN_KEY}`,
'Content-Type': 'application/json',
}
const write = await fetch('https://brain.inite.ai/v1/ingest/mention', {
method: 'POST', headers,
body: JSON.stringify({
text: 'Maria moved to Berlin in June and prefers morning appointments.',
userId: 'user_42',
}),
})
if (!write.ok) throw new Error(`Ingest failed: ${write.status}`)
const response = await fetch('https://brain.inite.ai/v1/search', {
method: 'POST', headers,
body: JSON.stringify({
query: 'where does Maria live', userId: 'user_42', limit: 5,
}),
})
if (!response.ok) throw new Error(`Search failed: ${response.status}`)
const hits = await response.json()npm i @inite/brain
import { createBrain, brainTools } from '@inite/brain'
const brain = createBrain({
apiKey: process.env.BRAIN_KEY!,
userId: 'user_42', // threaded onto every call, reads and writes alike
})
await brain.remember('Maria moved to Berlin in June and prefers morning appointments.')
const { answer, citations } = await brain.answer('where does Maria live')
// Or hand the same memory to an agent framework — this object is what
// the Vercel AI SDK's `tools:` map takes directly.
// await generateText({ model, tools: brainTools(brain), prompt })Нативный Streamable HTTP: один URL, один заголовок, воркспейс из ключа. Одна команда в Claude Code и Gemini CLI, один клик в Cursor и VS Code, а @inite/brain-mcp — для харнесов, которые не умеют слать заголовок. Набор инструментов зависит от прав ключа, включённых функций и пакетов.
Для личной памяти передавайте userId. Для объёмного материала используйте ingest_document, а не записывайте абзац как один факт.
URL-схему установки публикуют только Cursor и VS Code — там кнопки. Остальное ставится одной командой или одним URL, и мы отдаём их дословно, а не прячем за кнопкой, которая всё равно откроет экран настроек.
/plugin marketplace add inite-ai/inite-brain-serviceСтавит MCP-сервер, шесть скиллов и хуки жизненного цикла разом. Ключ Claude Code спросит сам и положит в системный keychain.
Откроет Cursor и добавит сервер. Ключ-заглушку замени в его настройках MCP.
Откроет VS Code и добавит сервер в воркспейс. Ключ-заглушку замени по запросу.
gemini extensions install https://github.com/inite-ai/inite-brain-serviceСтавит расширение: MCP-сервер, скиллы и гайд для агента как контекст. Сначала экспортируй BRAIN_API_KEY.
https://brain.inite.ai/mcpНастройки → Connectors → Add custom connector, вставить этот URL. OAuth пройдёт сам, заполнять больше нечего.
https://brain.inite.ai/mcp?tools=chatgptДобавить как кастомный коннектор. Этот URL отдаёт ровно пару search + fetch, которую требует ChatGPT, — обычная поверхность была бы отклонена.
Любому пути нужен API-ключ — выпустить здесь · все остальные клиенты
Рабочие процессы для поиска, recall, временных запросов, записи и разрешения конфликтов. SKILL.md — кросс-агентный формат, поэтому одни и те же шесть работают везде без изменений: однострочник находит на машине каждого агента и ставит в каждого.
$ curl -fsSL https://brain.inite.ai/install.sh | shClaude Code, Codex CLI, Gemini CLI, openclaw и opencode — автоопределением; Cursor и вендор-нейтральный .agents/skills — через --scope project. Пользователям Claude Code вместо этого доступен плагин: скиллы, MCP-сервер и хуки одной командой.
Без прикрас
Утверждения, которые стоит проверить до того, как что-то подключать, — без прилагательных.
Структуры больше, чем у эмбеддингов в таблице: типизированные факты, сущности, время и провенанс. Церемоний меньше, чем у платформы, которая просит сначала смоделировать домен, а потом уже разрешает сохранить предложение.
Brain хранит, разрешает конфликты и достаёт. Он не крутит твой цикл, не владеет твоими промптами и не выбирает модель. Агент остаётся твой.
Память — это SurrealDB, которой управляешь ты, и чтобы её прочитать, у нас ничего просить не нужно. Наружу трафик уходит только к тем провайдерам моделей, которых ты настроил.
Всё, что работает на brain.inite.ai, лежит в репозитории. Сетевой копилефт — это реальное обязательство, а не значок: изменения, которые ты отдаёшь по сети, остаются открытыми.
У каждого результата назван датасет, модель, базлайн и конфигурация прогона, и он описывает эти прогоны, а не твою инсталляцию. Число без протокола — это маркетинг.
Включённое в одном воркспейсе не включается молча в другом, а изменения применяются без передеплоя. Часть возможностей по умолчанию выключена, пока оператор их не включит.
Читай код, поднимай своё, присылай PR. Всё, что крутит brain.inite.ai, лежит в репозитории.
Следи за релизами, заводи issues, присылай патчи. Роадмап открытый.