npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mnemos-pi

v4.3.0

Published

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.

Readme


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 vault | Markdown-зеркало, которое люди могут листать, править и грепать |

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

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


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

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

| Харнесс | Нативная цель | Однострочный MCP-пресет | Шаблон адаптера | |---------|---------------|-------------------------|-----------------| | VS Code Copilot | copilot (+ промпты через generic-copilot) | mcp-setup.sh | ✓ | | Claude Code | через agents | пресет | ✓ | | Cursor | cursor | пресет | ✓ | | Codex | через agents | пресет | ✓ | | Windsurf | — | пресет | ✓ | | OpenCode | — | пресет | ✓ | | ZCode | zcode | — | ✓ | | Любой харнесс стандарта AGENTS.md | agents | — | ✓ | | pi | pi (бридж-расширение, также на npm как pi-mnemos) | пресет | ✓ | | Hermes Agent | hermes (нативный 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 питает все три интерфейса. Выберите тот, что подходит вашему клиенту.

| Поверхность | Когда использовать… | Документация | |---------|--------------|-----------| | MCPmnemos mcp-server | Вы — агентский харнес; путь, по которому идёт каждый подключённый агент | mcp-tools.md | | CLImnemos … | Вы живёте в шелле, нужен быстрый ad-hoc add / search или скрипты для cron | cli-reference.md | | HTTPmnemos serve | У вас не-MCP клиент — веб-дашборд, мобильное приложение, CI runner | http-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.md | Release 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, который должно пройти каждое изменение.