pi-mnemos

extensionskillmaintained

Mnemos memory & knowledge server — Pi extension. Spawns `mnemos mcp-server` over stdio and exposes every mnemos_* tool as a native Pi tool, plus the mnemos skill pack.

by — · v4.3.0 · published 1w ago

$ pi install npm:pi-mnemos
downloads/mo
0
stars
0
last push
3d ago
open issues
59

Signals

license: Apache-2.0testspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

No downloads in the last 12 weeks.

README

Mnemos — сервер памяти и знаний для AI-агентов

Mnemos

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

PyPI npm Python License: Apache-2.0 Version

🇬🇧 English · 🇷🇺 Русский

Быстрый старт · Возможности · Что это · Подключить харнес · Архитектура · Документация


AI-агенты забывают всё, когда сессия заканчивается. Mnemos даёт им место, куда это можно положить — структурированно, с поиском, по контракту — чтобы то, что агент узнал, не исчезало с закрытием окна.

  • Локальность прежде всего. Один процесс на вашей машине. SQLite + встроенная модель эмбеддингов; ничего не покидает хост, без API-ключей, работает офлайн.
  • Один сервер, любой харнес. VS Code Copilot, Claude Code, Cursor, OpenCode, Codex, Windsurf, ZCode, pi, Hermes — один и тот же MCP-провод, одна строка на каждого.
  • Агент учится этим пользоваться. Не только инструменты: always-on инструкции, пакет скиллов и режим промпта «память прежде всего», разворачиваемые в ваш харнес одной командой.

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

Три команды от пустой машины до агента, который помнит — и знает, когда заглянуть.

1 · Установите сервер

pip install mnemos-memory-server

Всё в одном пакете: сервер памяти, CLI mnemos, REST API и MCP-сервер, с которым разговаривает ваш агентский харнес. Модель эмбеддингов встроена — поиск работает полностью офлайн, без API-ключей и без загрузок.

⚠️ Не перепутайте имя: pip install mnemos (без -memory-server) — посторонний проект.

2 · Подключите харнес — и научите его пользоваться памятью

mnemos integration setup

Один проход: находит агентские харнесы на вашей машине, регистрирует MCP-сервер Mnemos в каждом поддерживаемом харнесе (VS Code Copilot, Cursor, ZCode, OpenCode, pi, Hermes и всё, что читает стандарт ~/.agents, — Claude Code, Codex и друзья) и разворачивает поведенческий пакет — always-on инструкции и скиллы памяти, чтобы агент вспоминал в начале сессии, делал чекпоинт до того, как его контекст сожмут, и относился к памяти как к приоритету, а не забывал, что инструменты существуют.

Харнес, который не читает ничего стандартного? Один блок для копипаста на каждый: Подключите Mnemos к любому харнесу.

3 · Проверьте — и попробуйте

mnemos doctor

PASS / WARN / FAIL по каждой проверке: хранилище, конфиг, MCP-транспорт, регистрация харнесов (--fix чинит типовые предупреждения). Затем дайте ему память:

mnemos add "Первая запись — Mnemos помнит между сессиями" \
  --tags project:mnemos,agent:me,mnemos:learning
mnemos search "помнит между сессиями"

Это весь цикл: записал, нашёл, не потерял — и агент знает, когда заглянуть в память.

📘 Хотите каждую деталь? Расширенный гид покрывает все варианты установки (uv tool, pipx, только CLI, внешние LLM-экстры, скрипт-установщик, контейнер), пошаговое подключение каждого харнеса, конфигурацию и разбор неполадок: Начало работы — полное руководство.


✨ Возможности

Один локальный сервер — и подключённый агентский харнес получает полный стек памяти.

ОбластьЧто даёт
Универсальное подключениеMCP-сервер (26 инструментов, stdio) + REST API — любой харнесс с поддержкой MCP подключается одной строкой (инструменты · HTTP)
Готовые интеграцииVS Code Copilot, Claude Code, Cursor, Codex, Windsurf, OpenCode, ZCode, pi, Hermes Agent — однострочные MCP-пресеты для всех, нативные таргеты развёртывания для большинства, мульти-харнесный доктор (mnemos doctor)
Пакет скиллов14+ скиллов памяти разворачиваются в ваши харнесы
Гибкая памятьГибридный поиск (полнотекстовый + векторный, слияние рангов) поверх встроенной офлайн-модели mnema-embed-v1, контракт тегов, память по агентам и проектам, профили контекстного фильтра, сжатие CCR — экономия 70–90% токенов, оригиналы сохраняются
Сборка контекстаassemble_context: поиск → сжатие → фильтр → скан секретов → выравнивание кэша → бюджет токенов, провенанс каждого блока
Мост контекстаon_context_rewrite — когда харнес сжимает историю, оригинал без потерь доступен по требованию
Хуки жизненного циклаpre_llm_call — впрыск контекста, on_session_start, post_tool_call — авто-сжатие вывода инструментов
Публикация v3.0.0Запись видна сразу после сохранения, фоновая дообработка с бесшовной подменой, карантин с нейтральной ретракцией
АвтозащитаДетекторы инъекций / секретов на входе и на публикации, скан каждого вывода, полный аудит по каждой записи
АвтоконвейерФоновый процессор: кластеризация, дедупликация, гейт качества, публикация

Автономность для произвольного харнесса и LLM-дообогащение — частично; полная честная карта: docs/ru/features.md.


🧩 Что такое Mnemos

Однотенантный, локально-ориентированный сервер памяти для AI-агентов. Одно ядро in-process, три эквивалентных поверхности управления и слой хранения, который можно прочитать своими глазами.

ВозможностьЧто это даёт
🔎Гибридный поискВекторная близость + SQLite FTS5 полнотекст по каждой записи
🧪Конвейер знанийЖизненный цикл raw → processing → processed → published с конечным автоматом
🧠Recall на агентаСфокусированная поверхность recall в контексте проекта каждого агента
⚙️Движок политикПланирование и триггеры автоматизации над хранилищем памяти
🧹Контекстный фильтрПятиступенчатая очистка шума из логов / stdout до того, как что-то попадёт в модель
🗜️Обратимое сжатие (CCR)Сжатие большого контента без потери данных — оригиналы кэшируются в SQLite, извлекаются по хеш-маркеру
🧷CacheAlignerПеренос динамического контента (таймстампы, UUID, session id, токены) в хвост, чтобы KV-кэши провайдеров (Anthropic cache_control, OpenAI prefix caching) попадали между запросами
🪶Сокращение токенов выводаОпциональные параметры verbosity / effort на mnemos_add / mnemos_search / mnemos_recall_context управляют стилем вывода вызывающей стороны — обратно совместимо, значения по умолчанию — no-op
📂Path-scoped rulesИнгест правил проекта и применение их по пути файла
🗂️Obsidian vaultMarkdown-зеркало, которое люди могут листать, править и грепать

SQLite для метаданных, локальный векторный индекс на numpy + SQLite для recall и Obsidian-совместимый vault для людей в контуре.

Куда это движется. Отгруженная и измеренная ступень — хранит и находит. Следующие ступени — свёртка с чеками (синтез сессия → проект → кросс-проект: автоматическая по умолчанию, но никогда безусловная по авторитету — каждый итог возводим к исходникам, ничто не пиннится без оператора) и позже строит понимание — открываются только по мере подтверждения предрегистрированными экспериментами (ADR-0025). Инвариант этого пути — ноль тихих потерь: факт либо сохранён, либо потеря видна. А форма амбиции — нервная система, а не дирижёр: память, которая поднимает нужное в нужный момент, но никогда не дирижирует агентом.


🤝 Подключение любого харнеса

Mnemos работает с любым агентским харнесом с поддержкой MCP. Три уровня интеграции — выбирайте самый сильный из доступных для вашего харнеса:

ХарнессНативная цельОднострочный MCP-пресетШаблон адаптера
VS Code Copilotcopilot (+ промпты через generic-copilot)mcp-setup.sh✓
Claude Codeчерез agentsпресет✓
Cursorcursorпресет✓
Codexчерез agentsпресет✓
Windsurf—пресет✓
OpenCode—пресет✓
ZCodezcode—✓
Любой харнесс стандарта AGENTS.mdagents—✓
pipi (бридж-расширение, также на npm как pi-mnemos)пресет✓
Hermes Agenthermes (нативный in-process плагин MemoryProvider)——
  • Нативные таргеты — mnemos integration setup --target <имя> разворачивает поведенческий пакет и регистрирует MCP-сервер за один проход (руководство по интеграции).
  • Однострочные пресеты — integrations/mcp-presets.md: каждый харнес из таблицы выше, готово к копипасту.
  • Шаблон адаптера — integrations/adapter-template.md: Connect / Expose / Configure + чеклист приёмки для любого харнеса, говорящего по MCP stdio.
  • Hermes Agent запускает Mnemos in-process: pip install mnemos-memory-server в Python-окружении Hermes, затем mnemos integration setup --target hermes (подробнее).

Общий контракт — схема тегов — project:<slug>, agent:<slug> и хотя бы один mnemos:<subtype> — обязательна для каждой записи памяти.


🏗️ Архитектура

Схема системы — клиенты → интерфейсы → ядро → хранилище
flowchart TB
    subgraph CLIENTS["Clients"]
        C1(["Agent harness\nstdio MCP"])
        C2(["CLI — mnemos …"])
        C3(["HTTP API client"])
    end

    subgraph IFACE["Interface Layer"]
        MCP["mcp_server.py"]
        FAPI["api/main.py · FastAPI"]
        TYPER["cli/main.py · Typer"]
    end

    MGR(["MemoryManager\nmanager.py"])

    subgraph PROC["Processing Subsystems"]
        CF["Context Filter\nfilter/"]
        PP["Knowledge Pipeline\npipeline/"]
        RE["Recall Engine\nrecall/"]
        PE["Policy Engine\npolicy/"]
    end

    subgraph BG["Background Services"]
        WA["Watchers\nwatchers/"]
        AC["Auto-collect\nauto_collect.py"]
    end

    subgraph STORE["Storage Layer"]
        SQ[("SQLite\nFTS5 · traces · projects")]
        VS[("Vector Store\nnumpy + SQLite")]
        VLT[("Obsidian Vault\nmarkdown mirror")]
    end

    C1 -->|"stdio"| MCP
    C2 --> TYPER
    C3 --> FAPI
    MCP --> MGR
    TYPER --> MGR
    FAPI --> MGR
    MGR --> CF
    MGR --> PP
    MGR --> RE
    MGR --> SQ
    MGR --> VS
    MGR --> VLT
    CF -.->|"raw + clean"| SQ
    PP -->|"status transitions"| SQ
    PP -->|"published upsert"| VS
    RE -->|"FTS5 MATCH"| SQ
    RE -->|"cosine search"| VS
    PE -->|"schedule / trigger"| MGR
    WA -->|"file events"| MGR
    AC -.->|"checkpoint reminder"| MCP

Более глубокий разбор — модель данных, конечные автоматы, границы безопасности, эксплуатационные аспекты — в architecture/overview.md.


🎛️ Три поверхности, одно ядро

Один и тот же MemoryManager питает все три интерфейса. Выберите тот, что подходит вашему клиенту.

ПоверхностьКогда использовать…Документация
MCP — mnemos mcp-serverВы — агентский харнес; путь, по которому идёт каждый подключённый агентmcp-tools.md
CLI — mnemos …Вы живёте в шелле, нужен быстрый ad-hoc add / search или скрипты для croncli-reference.md
HTTP — mnemos serveУ вас не-MCP клиент — веб-дашборд, мобильное приложение, CI runnerhttp-api.md

HTTP-поверхность также открывает A2A Sessions API — постоянный бэкенд для многошаговых разговоров агентов, которые переживают рестарты. См. a2a-sessions.md.


📚 Документация

СтраницаСодержание
docs/README.mdГлавная страница документации — выбор языка (EN / RU)
getting-started.mdПервый запуск: установка → первая запись → первый поиск → подключение харнеса
mcp-presets.mdПодключение Mnemos к любому харнесу — однострочные MCP-пресеты (VS Code, Claude Code, Cursor, OpenCode, Codex, Windsurf, pi, Hermes)
integration-guide.mdПоведенческий пакет: инструкции, скиллы, режим промпта, таргеты развёртывания, wiring агентов, плагин Hermes
features.mdЧто работает из коробки, что частично, что в планах
architecture/overview.mdУстройство системы, модель данных, конечные автоматы, границы безопасности
cli-reference.mdВсе подкоманды mnemos с флагами, значениями по умолчанию, примерами
mcp-tools.mdВсе инструменты mnemos_*, доступные агентским харнесам
http-api.mdВсе HTTP-эндпоинты (CRUD памяти, workflow, хуки, A2A Sessions)
tag-contract.mdСхема project: / agent: / mnemos:, обязательная для каждой записи памяти
security.mdМодель угроз, SSRF-защита, FTS5 escape, модель аутентификации
runbooks/Установка, миграция, резервное копирование / восстановление, обновление зависимостей, развёртывание в контейнере
adr/Архитектурные решения (ADR) — почему за каждым решением в дизайне
CHANGELOG.mdRelease notes — формат Keep a Changelog
CONTRIBUTING.ru.mdНастройка разработки, git-workflow, quality gate

📖 Легенда

В «Теогонии» Гесиода Мнемосина (Μνημοσύνη) — титанида памяти. Она, от Зевса, родила девять муз и через них сделала возможным воспоминание мира. Её имя — корень слова мнемонический, и к ней обращается каждый певец, поэт и философ, прежде чем начать.

Это программное обеспечение носит её имя, потому что создано для той же задачи: сделать воспоминание возможным для тех, кто мыслит. AI-агенты, не привязанные ни к одному разговору, теряют всё, что было до. Mnemos даёт им место, куда это можно положить — структурированно, с поиском, по контракту — чтобы то, что они узнали, не исчезало с закрытием сессии. Музы, в конце концов, были не для богов. Они были для песен.


⚖️ Лицензия и вклад

Apache-2.0 — см. LICENSE и NOTICE. Исходники: github.com/Korrnals/mnemos.

Вклад приветствуется — в CONTRIBUTING.ru.md: настройка окружения разработки, конвенции веток и коммитов и quality gate, который должно пройти каждое изменение.