Skip to main content
Glama

Noosphere Lite MCP

Память для ИИ, которой не нужно помещаться в контекстное окно.

Автор — Garyu-tt · Версия 0.3.0 · Linux / Python / MCP · GNU GPLv3

English documentation


Что это вообще такое?

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

Noosphere Lite — долговременная память, которая живёт отдельно от агента. Это не ещё одна языковая модель, не бесконечный чат и не каталог текстовых файлов. Это хранилище знаний, их истории и взаимосвязей. Агент подключается к нему через MCP, получает ровно ту информацию, которая нужна в текущий момент, и продолжает работу.

Память принадлежит не конкретной сессии. Один агент сохранил решение сегодня; другой может найти его через неделю. Не нужно пытаться запихнуть в промпт весь архив: контекстное окно становится рабочим столом, а не складом.

Related MCP server: Graph Memory MCP

Что умеет Lite

Память по требованию

У агента есть несколько способов вспомнить необходимое: найти подходящие записи, получить краткие результаты, прочитать одну запись целиком, пройти по связанным узлам или собрать ограниченный объём контекста под задачу. Всё остальное в контекст не попадает.

Граф вместо мешка заметок

Каждая запись — отдельный узел: идентификатор, заголовок, текст, тип, теги, ссылка на источник и время изменений. Узлы можно связывать именованными направленными отношениями: например, related, supports, blocks, derived_from.

По графу можно ходить на глубину от одного до трёх переходов. Содержимое записей не обязано загружаться вместе с картой связей. Можно сначала найти путь, а затем открыть нужный узел.

Каскадное устаревание

Это важнее, чем кажется. Если однажды сохранённый факт изменился, старые выводы, построенные на нём, нельзя продолжать выдавать как актуальные.

Пример:

Измерение A
   ↑ derived_from
Вывод B
   ↑ derived_from
Решение C

Если пересмотреть A, Lite автоматически пометит B и C как stale — «требует повторной проверки». Если явно признать A недостоверным, устареет вся цепочка: A, B и C. История при этом остаётся на месте.

Система не пытается самостоятельно придумать новую истину и не удаляет неудобные результаты. Она честно сообщает агенту: «этот вывод опирался на сведения, которые уже изменились».

Каскад работает по явным связям derived_from. Lite пока не угадывает такие зависимости самостоятельно. Статус current означает «не помечено устаревшим», а не «достоверность доказана».

История изменений

Ноосфера не должна забывать, почему возникло то или иное решение. Новые изменения записываются событиями, а предыдущие состояния остаются в истории. Даже архивация не уничтожает старую запись из зашифрованного журнала — лишь скрывает её из обычной выдачи.

Поэтому память подходит не только для хранения ответов, но и для накопления опыта: наблюдение → вывод → решение → пересмотр.

Хранение: отдельно граф, отдельно события

Внутри Lite четыре слоя:

ИИ-агент
    │ MCP-запрос
    ▼
Поиск и выборка контекста
    │
    ▼
Рабочий граф в оперативной памяти
    │
    ▼
Зашифрованный журнал событий
    ├─ основная копия
    └─ зеркальная копия

В постоянном хранилище используется собственный бинарный журнал NLV1, зашифрованный с AES-256-GCM. В нём последовательно фиксируются события: создание записи, связь, изменение, устаревание, архивация.

Рабочий граф восстанавливается в оперативной памяти. Постоянного открытого JSON-файла с полезными данными или незашифрованного поискового индекса нет.

Это сознательно простой движок: поиск пока лексический, а не векторный. С версии 0.3.0 есть экспериментальный read-only поиск возможных связей между уже сохранёнными заметками; он не подтверждает факты и не создаёт связи автоматически. Эмбеддинги, нейронное извлечение смысла и автоматическое понимание противоречий — направления развития, а не функции версии 0.3.0.

Защита и две копии

Каждое событие аутентифицируется и связывается с предыдущим через хеш. Изменение или повреждение журнала обнаруживается при чтении. Две копии сверяются; если одна повреждена или отстала, её можно восстановить по исправной.

По умолчанию копии должны находиться на разных файловых системах. Ключ шифрования хранится отдельно, с доступом только владельцу. Ключ тоже необходимо безопасно резервировать: потеря всех его экземпляров означает потерю доступа ко всей памяти.

Два зеркала не заменяют независимую внешнюю резервную копию. А если злоумышленник получил доступ к работающей пользовательской сессии и ключу, шифрование диска уже не решает проблему за тебя.

Универсальный интерфейс

Lite работает локально на Linux и не требует облака, GPU или собственной нейросети. Агент получает память через MCP. В комплекте локальный сервер stdio, без открытого HTTP-порта, запуска команд и доступа к произвольным файлам компьютера.

Это память для совместимого агента, а не агент, который тайком управляет системой.

Как это выглядит в работе

Ты сохранил решение о конфигурации сервера и связал его с исходным тестом. Через месяц новый агент возвращается к проекту: находит решение, открывает его источник и связанные заметки, восстанавливает ход мысли.

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

Смысл не в том, чтобы помнить больше текста. Смысл — не терять причинно-следственные связи между уже проделанными действиями.

Установка на Linux

Нужен Python 3.11 или новее.

git clone https://github.com/Garyu-tt/noosphere-lite-mcp.git
cd noosphere-lite-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Подключи две независимые файловые системы под хранилище и настрой пути:

export NSL_PRIMARY=/mnt/storage-a/noosphere-lite
export NSL_MIRROR=/mnt/storage-b/noosphere-lite
export NSL_KEY_FILE="$HOME/.config/noosphere-lite/key"

python -m noosphere_lite init
python -m noosphere_lite status
python -m noosphere_lite mcp

Каталоги хранилища должны иметь права 0700; ключ и журналы — 0600. Инициализация не перезаписывает существующие журналы.

Только для тестов на одном диске можно указать переменную NSL_DEVELOPMENT_SAME_DEVICE=1. Это отключает проверку независимости копий и не подходит для ценных данных.

Настройка MCP-клиента

Для клиентов, поддерживающих локальный stdio MCP, пример конфигурации:

{
  "mcpServers": {
    "noosphere-lite": {
      "command": "/absolute/path/noosphere-lite-mcp/.venv/bin/python",
      "args": ["-m", "noosphere_lite", "mcp"],
      "env": {
        "NSL_PRIMARY": "/mnt/storage-a/noosphere-lite",
        "NSL_MIRROR": "/mnt/storage-b/noosphere-lite",
        "NSL_KEY_FILE": "/home/you/.config/noosphere-lite/key"
      }
    }
  }
}

Это пример для совместимых локальных MCP-хостов. Интерфейс ChatGPT может требовать отдельно поддерживаемый мост; конфигурация stdio сама по себе не устанавливает облачный коннектор.

Зашифрованные брифинги и карточки файлов (R02)

Новые инструменты memory_briefing и memory_by_source работают непосредственно с уже зашифрованными журналами NLV1, без создания открытого поискового индекса. Для выборки заметок укажи явный тег project:my-app и тип negative, invariant, open_loop, decision или fact. Поиск по пути сравнивает только сохранённую строку source; он не читает исходник и не подтверждает его актуальность. Подтверждение совпадения с JSON-источником выполняется существующим Evidence Gate, но оно не доказывает истинность факта. Теги проекта — фильтр, а не система прав доступа.

18 инструментов MCP

Инструмент

Что делает

memory_add

Сохраняет заметку, факт, решение или задачу

memory_search

Ищет подходящие воспоминания

memory_suggest_links

Предлагает непроверенные связи по пересечению значимых терминов и тегов; ничего не записывает

memory_read

Возвращает конкретную запись целиком

memory_context

Собирает ограниченный контекст для задачи

memory_link / memory_unlink

Создаёт и удаляет типизированные связи

memory_neighborhood

Обходит соседние узлы

memory_revise

Обновляет запись и помечает зависимые выводы как устаревшие

memory_invalidate

Запускает каскадное устаревание от выбранной записи

memory_archive

Скрывает запись, не стирая историю

memory_status

Проверяет журналы и статистику

memory_evidence_source_add / memory_evidence_propose

Записывает источник JSON и предлагает проверяемое по нему, но ещё не подтверждённое утверждение

memory_evidence_reject / memory_evidence_context

Фиксирует отклонения, выдаёт только согласованные с источниками кандидаты и показывает противоречия

memory_briefing

Собирает ограничения, незавершённую работу и факты по проекту в рамках зашифрованной памяти

memory_by_source

Находит карточки по точной строке пути исходника, не обращаясь к файловой системе

Эксперимент: обучаемые веса связей (R04)

В каталоге examples/reviewed_plasticity опубликован отдельный Python-пример весов графа с независимым подтверждением результатов, SHA-256 доказательств, разреженным накоплением полезности и откатом. Это opt-in reference implementation, не функция ядра Lite 0.3.0: оно не изменяет зашифрованные NLV1-журналы и не обучает веса LLM. Для реальной работы нужен доверенный интегратор с аутентификацией агентов и QA; его SQLite-sidecar хранит метаданные без шифрования.

Эксперимент: проверяемая временная память (R01)

В examples/memory_synthesis опубликована отдельная экспериментальная реализация привязки фактов к исходным файлам, SHA-256/Git, времени действия утверждений, безопасного явного вытеснения старых версий, проверки цитат, негативных правил, коротких брифингов и FTS5-поиска. Каталог 27 исследовательских идей сохраняет атрибуцию и ограничения лицензий Agents Remember, Daimon, Primnox и Engram.

Это не часть зашифрованного ядра Lite 0.3.0: пример использует незашифрованный SQLite и не предназначен для приватных данных. Внутренние форумы, агенты, секреты и административные функции профессиональной версии в публичный репозиторий не переносятся.

Чего пока нет

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

В 0.3.0 этого пока нет. Текущий движок рассчитан на один хост и одного пишущего процесса с блокировкой, а не на распределённый кластер. Журнал при запросах перечитывается, поэтому большие базы потребуют отдельной оптимизации. Текущий лимит — 150 000 событий, а не 150 000 узлов.

Проверка

python -m unittest discover -s tests -v

Тесты покрывают шифрование, обнаружение повреждений, восстановление копии, связи и многоуровневое каскадное устаревание. Подключение локального MCP-клиента проверено на синтетических данных.


Noosphere Lite MCP — чтобы новый разговор не означал новое начало.

Garyu-tt · GNU GPLv3 · English documentation

License / Authorship

Original project code in this release: GNU GPL-3.0-or-later. Copyright (C) 2026 Garyu-tt. See LICENSE and AUTHORS.md. Previously published MIT-licensed versions retain their earlier permissions and existing contributors' acknowledgments.

Контекст с проверкой источника R02 (2026-11-08)

Результаты обычного memory_search и memory_context явно помечаются как непроверенные заметки. Для контекста только с привязкой к исходному свидетельству используйте memory_source_grounded_context или memory_context(..., source_grounded_only=true). Строгий режим не подмешивает старые записи; совпадение с источником не означает доказанную истинность. Документация R02.

Git-aware память R03

После настройки разрешённых локальных репозиториев через NSL_GIT_ROOTS_JSON привязать запись к версии файла можно с memory_git_anchor, а проверить изменения — с memory_git_status или memory_git_scan. Строгая память не возвращает знания, чей привязанный исходный код изменён; автоматического признания исправленного кода истинным нет. Документация.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Provides AI agents with persistent memory and knowledge management through a comprehensive knowledge graph platform. Enables storing, searching, and managing entities, relationships, and observations with advanced features like trending analysis and smart ranking.
      3
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to build and query a persistent knowledge graph with entities, relationships, and observations. Features a core index system that ensures critical information is always accessible across all memory operations.
      1
      -
    • A
      license
      A
      quality
      D
      maintenance
      Provides persistent long-term memory for AI agents through semantic search and automated knowledge graph extraction. It enables agents to store, recall, and reason over facts, preferences, and relationships across multiple conversations and sessions.
      14
      15 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides persistent knowledge graph memory for AI agents, enabling them to store, recall, and query facts about people, projects, and relationships across sessions.
      MIT