Skip to main content
Glama

PyPI PyPI Downloads CI License: AGPL v3

Genesys

Интеллектуальный уровень для памяти ИИ.

Механизм оценки + причинно-следственный граф + менеджер жизненного цикла для памяти ИИ-агентов. Поддерживает протокол MCP.

Что это такое

Genesys — это механизм оценки, причинно-следственный граф и менеджер жизненного цикла для памяти ИИ. Воспоминания оцениваются по мультипликативной формуле (релевантность × связность × реактивация), соединяются в причинно-следственный граф и активно удаляются, когда становятся неактуальными. Система подключается к любому хранилищу и поддерживает протокол MCP.

Related MCP server: tentra

Зачем это нужно

  • Плоская память не масштабируется. Сброс всего в векторное хранилище дает извлечение без понимания. 500-е воспоминание перекрывает 5 действительно важных.

  • Нет забывания = нет интеллекта. Настоящие системы памяти забывают. Без активной очистки ваш ИИ утонет в устаревшем контексте.

  • Нет причинно-следственного мышления. Векторное сходство не может ответить на вопрос «почему я выбрал X?» — для этого нужен граф.

Ваш ИИ помнит всё, но не понимает ничего. Genesys исправляет это.

Быстрый старт

Большинству пользователей стоит начать с Варианта 1 (в оперативной памяти). Если вы хотите полностью локальное решение без API-ключей, перейдите к Варианту 3: Obsidian + локально.

Вариант 1: В оперативной памяти (без зависимостей)

Самый быстрый способ попробовать Genesys. База данных не требуется — состояние хранится в оперативной памяти и при необходимости сохраняется в JSON-файл.

pip install genesys-memory
cp .env.example .env
# Set OPENAI_API_KEY in .env

uvicorn genesys.api:app --port 8000

Чтобы сохранять данные после перезапуска, установите GENESYS_PERSIST_PATH в файле .env:

GENESYS_PERSIST_PATH=.genesys_state.json

Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory, создай .env с моим ключом OpenAI, запусти сервер на порту 8000 с бэкендом в оперативной памяти и подключи его как MCP-сервер."

Вариант 2: Postgres + pgvector (для продакшена)

Постоянное, масштабируемое хранилище с векторным поиском через pgvector.

pip install 'genesys-memory[postgres]'
cp .env.example .env

Отредактируйте .env:

OPENAI_API_KEY=sk-...
GENESYS_BACKEND=postgres
DATABASE_URL=postgresql://genesys:genesys@localhost:5432/genesys

Запустите Postgres и выполните миграции:

docker compose up -d postgres
alembic upgrade head
GENESYS_BACKEND=postgres uvicorn genesys.api:app --port 8000

Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[postgres], запусти контейнер Postgres с pgvector через docker compose, выполни миграции alembic, создай .env с моим ключом OpenAI и DATABASE_URL, запусти сервер с GENESYS_BACKEND=postgres и подключи его как MCP-сервер."

Вариант 3: Obsidian Vault (локально-ориентированный)

Превращает ваше хранилище Obsidian в хранилище памяти Genesys. Markdown-файлы становятся узлами памяти, [[вики-ссылки]] — причинно-следственными связями. SQLite-файл (.genesys/index.db) отвечает за индексацию.

pip install 'genesys-memory[obsidian]'
cp .env.example .env

Отредактируйте .env:

OPENAI_API_KEY=sk-...
GENESYS_BACKEND=obsidian
OBSIDIAN_VAULT_PATH=/path/to/your/vault

Запустите сервер:

uvicorn genesys.api:app --port 8000

При первом запуске Genesys индексирует все .md-файлы в хранилище и создает эмбеддинги. Наблюдатель за файлами выполняет инкрементальную переиндексацию при редактировании заметок.

Если OBSIDIAN_VAULT_PATH не задан, Genesys автоматически определяет его, ища .obsidian/ в ~/Documents/personal, ~/Documents/Obsidian и ~/obsidian.

Полностью локально (без API-ключей)

Используйте локальный провайдер эмбеддингов для работы в режиме Obsidian без внешних зависимостей:

pip install 'genesys-memory[obsidian,local]'
GENESYS_BACKEND=obsidian
GENESYS_EMBEDDER=local
OBSIDIAN_VAULT_PATH=/path/to/your/vault
# No OPENAI_API_KEY needed
uvicorn genesys.api:app --port 8000

Для эмбеддингов используется all-MiniLM-L6-v2 (384-размерность) через sentence-transformers. Модель загружается при первом использовании (~80 МБ).

Подключите Claude Desktop — добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "genesys": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Или для Claude Code:

claude mcp add --transport http genesys http://localhost:8000/mcp

Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[obsidian,local], создай .env с GENESYS_BACKEND=obsidian, GENESYS_EMBEDDER=local и OBSIDIAN_VAULT_PATH к моему хранилищу по адресу [YOUR_VAULT_PATH], запусти сервер на порту 8000 и подключи его как MCP-сервер. API-ключи не нужны."

Вариант 4: FalkorDB (графовый)

Использует FalkorDB (графовая база данных на базе Redis) для нативного обхода графа.

pip install 'genesys-memory[falkordb]'
cp .env.example .env

Отредактируйте .env:

OPENAI_API_KEY=sk-...
GENESYS_BACKEND=falkordb
FALKORDB_HOST=localhost

Запустите FalkorDB и сервер:

docker compose up -d falkordb
uvicorn genesys.api:app --port 8000

Дайте это Claude, чтобы он настроил всё за вас: "Установи genesys-memory[falkordb], запусти контейнер FalkorDB через docker compose, создай .env с моим ключом OpenAI и GENESYS_BACKEND=falkordb, запусти сервер на порту 8000 и подключи его как MCP-сервер."

Из исходного кода

git clone https://github.com/rishimeka/genesys.git
cd genesys
pip install -e '.[dev]'

Скрипты для наполнения данными

Два вспомогательных скрипта наполняют запущенный экземпляр Genesys демонстрационными данными через REST API. Они требуют запущенного сервера с настроенной аутентификацией Clerk.

cp .env.example .env
# Set CLERK_SECRET_KEY and CLERK_USER_ID in .env

python seed_demo.py      # Creates 25 memories with causal edges and runs recall queries
python seed_recalls.py   # Runs 5 rounds of recall queries to build reactivation history

Оба скрипта считывают учетные данные из переменных окружения (через .env). См. .env.example для всех необходимых переменных.

Подключение к вашему ИИ

Claude Code

claude mcp add --transport http genesys http://localhost:8000/mcp

Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "genesys": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Любой MCP-клиент

Укажите клиенту адрес MCP-эндпоинта:

http://localhost:8000/mcp

Инструменты MCP

Инструмент

Описание

memory_store

Сохранить новое воспоминание, при необходимости связав его с другими

memory_recall

Извлечь воспоминания по запросу на естественном языке (вектор + граф)

memory_search

Поиск воспоминаний с фильтрами (статус, диапазон дат, ключевое слово)

memory_traverse

Пройти по причинно-следственному графу от заданного узла

memory_explain

Объяснить, почему существует воспоминание и какова его причинно-следственная цепочка

memory_stats

Получить статистику системы памяти

pin_memory

Закрепить воспоминание, чтобы оно никогда не было забыто

unpin_memory

Открепить ранее закрепленное воспоминание

delete_memory

Безвозвратно удалить воспоминание

list_core_memories

Список основных воспоминаний, опционально с фильтрацией по категориям

set_core_preferences

Установить пользовательские предпочтения для категорий основной памяти

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

Каждое воспоминание оценивается тремя силами, перемноженными друг на друга:

decay_score = relevance × connectivity × reactivation
  • Релевантность со временем убывает. Старые воспоминания исчезают, если их не подкреплять.

  • Связность поощряет воспоминания с большим количеством причинно-следственных связей. Узловые воспоминания выживают.

  • Реактивация усиливает воспоминания, к которым часто обращаются. Частота имеет значение.

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

STORE → ACTIVE → DORMANT → FADING → PRUNED
           ↑                    │
           └── reactivation ────┘
                                  (only if score=0, orphan, not pinned)

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

Результаты тестирования

Протестировано на бенчмарке долгосрочной памяти LoCoMo (1540 вопросов в 10 диалогах, категория 5 исключена — состязательные вопросы, где истина содержит фактические ошибки, например, неверные даты и атрибуции событий):

Категория

J-Score

Одношаговые

94.3%

Временные

87.5%

Многошаговые

69.8%

Открытый домен

91.7%

Общий

89.9%

Модель ответов: gpt-4o-mini | Модель оценки: gpt-4o-mini | Извлечение k=20

Для контекста: Mem0 набрал 67.1%, а Zep — 75.1% на том же бенчмарке. Полные скрипты воспроизведения находятся в benchmarks/.

Бэкенды хранилища

Бэкенд

Установка

Вариант использования

memory

Встроено

Без зависимостей, для пробы

postgres + pgvector

pip install 'genesys-memory[postgres]'

Постоянное, масштабируемое

Obsidian vault

pip install 'genesys-memory[obsidian]'

Локально-ориентированная база знаний

FalkorDB

pip install 'genesys-memory[falkordb]'

Графовый обход

Custom

Свой

Реализуйте GraphStorageProvider

Конфигурация

Скопируйте .env.example в .env и установите:

Переменная

Обязательно

Описание

OPENAI_API_KEY

Если не GENESYS_EMBEDDER=local

Эмбеддинги

ANTHROPIC_API_KEY

Нет

Обработка памяти LLM (консолидация, обнаружение противоречий)

GENESYS_BACKEND

Нет

memory (по умолчанию), postgres, obsidian или falkordb

GENESYS_EMBEDDER

Нет

openai (по умолчанию) или local (sentence-transformers, без API-ключа)

DATABASE_URL

Если postgres

Строка подключения к Postgres

OBSIDIAN_VAULT_PATH

Если obsidian

Путь к вашему хранилищу Obsidian

FALKORDB_HOST

Если falkordb

Хост FalkorDB (по умолчанию: localhost)

GENESYS_USER_ID

Нет

ID пользователя по умолчанию для однопользовательского режима

См. .env.example для всех опций.

Создатели

Genesys создан Риши Мека в Astrix Labs. Он появился из-за разочарования от необходимости постоянно пересказывать контекст проекта Claude в каждой сессии. Цель — создать интеллектуальный уровень между вашим LLM и вашей памятью — полностью с открытым исходным кодом.

Участие в разработке

См. CONTRIBUTING.md.

Лицензия

AGPL-3.0-or-later

Примечание: Релизы Genesys до v0.3.6 ошибочно документировались как Apache 2.0. Файл LICENSE всегда содержал текст AGPLv3. Начиная с v0.3.6, вся документация корректно ссылается на AGPL-3.0-or-later с Соглашением о лицензировании участников (Contributor License Agreement).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityNo data
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Cognitive memory system for AI agents with 129 MCP tools. Persistent 6-tier hierarchical memory (working→short-term→long-term→semantic), Ebbinghaus forgetting curves, dream consolidation, hybrid retrieval (BM25+RRF), goal tracking, emotional recall, knowledge graphs, and a 26-job consciousness daemon. Works with Claude Code, Cursor, and any MCP client.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Long-term memory for AI agents over MCP — episodic + semantic memory, a temporal knowledge graph, and a dialectic user model, exposed as 32 tools (recall, remember, context, graph, dreaming, peers). Zero dependencies, runs fully offline; leads the LoCoMo benchmark at ~35x fewer LLM calls.
    2
    Apache 2.0

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Astrix-Labs/papez'

If you have feedback or need assistance with the MCP directory API, please join our Discord server