Сообщество
Free
RMS Memory
Перестаньте повторно объяснять свою архитектуру. Одно хранилище, каждая IDE, каждая сессия.
GitHubВы работаете над одним проектом в трех разных инструментах. Cursor знает архитектуру, потому что вы потратили двадцать минут на её объяснение на прошлой неделе. Zed не знает. Claude Code не знает. На следующей неделе Cursor тоже не будет знать.
RMS Memory MCP — это локальный MCP-сервер, написанный на Rust. Он поддерживает изолированное Markdown-хранилище для каждого проекта и предоставляет его каждой подключенной IDE через пять MCP-инструментов. Архитектурные решения, ограничения, паттерны и история отладки накапливаются в хранилище по мере работы. Каждый подключенный агент читает из одного источника — без повторных объяснений, без копирования, без расхождений.
.cursorrules, CLAUDE.md, .zed/assistant.md— у каждой IDE свой формат, своё расположение, свой механизм внедрения. Вы поддерживаете копии. Они рассинхронизируются в течение недели. Когда добавляете третий инструмент, добавляете третью копию.
RMS Memory заменяет все их одним хранилищем и одним MCP-сервером. Сервер внедряет правильный ключ реестра в файл правил каждой IDE, чтобы агенты знали, над каким проектом работают, — но сами знания живут в одном месте.
rms-memory installподключает сервер сразу ко всем IDErms_writeГибридный поиск (LanceDB)— встроенный LanceDB сочетает векторное сходство с полнотекстовым поиском Tantivy. Запрос «почему мы перешли с REST на gRPC» находит соответствующее архитектурное решение, даже если точных слов нет в документе. Для corpus=all, Reciprocal Rank Fusion объединяет результаты хранилища и кода, не предполагая сопоставимости расстояний из двух корпусов.
Семантическая память кода— опциональная индексация Tree-sitter создает отдельный корпус кода из ваших исходных файлов. Поддерживаемые языки: Rust, Go, TypeScript, JavaScript, JSX, TSX, Python, C, C++, Java, Ruby, Swift, Vue (встроенные скрипты). Агенты ищут по имени функции, структуры, интерфейса или символу — не только по имени файла. Неизмененные сегменты повторно используют свои векторы при переиндексации; обновляются только измененные пути в режиме watch mode.
Многоязычный семантический анализ— fastembed-rs с multilingual-e5-small обрабатывает русский и английский языки нативно. Смешанные хранилища работают без настройки.
AST-осознанное разбиение Markdown— pulldown-cmark проходит по AST Markdown и прикрепляет каждый фрагмент к родительскому заголовку. Блоки кода остаются привязанными к разделу, к которому относятся. Граница в 1500 символов с перекрытием в 200 символов для слишком больших блоков — без обрезания посередине предложения.
Глобальные централизованные хранилища— каждый проект получает изолированное хранилище, вычисляемое из хеша пути проекта в ~/.rms-memory/vaults/. Без файлов .mcp в вашем репозитории. Без конфигурации в каждом репозитории. Единый registry.toml маршрутизирует все зарегистрированные проекты. Поддержка нескольких областей — --scope принимает произвольные идентификаторы, выходящие за пределы путей файловой системы: идентификаторы потоков, идентификаторы лидов, области продуктов.
Мульти-IDE автоустановка — rms-memory install сканирует ~/.config/ и ~/Library/Application Support/ и внедряет запись MCP-сервера в конфигурацию каждой поддерживаемой IDE. Без ручного редактирования JSON. Поддержка Cursor, Zed, Claude Code, OpenCode, VS Code и Codex. Правила-как-код применяются неразрушающе и обновляют .cursorrules, .zed/assistant.md и .claude/CLAUDE.md с правильным ключом реестра проекта.
Метаданные аудита — каждая запись автоматически получает last_modified_by (фактическое имя IDE-клиента из MCP-рукопожатия), timestamp, created_at, confidence (0.0–1.0) и source. Используйте min_confidence в rms_search для фильтрации по надежности. Записи без значения confidence всегда включаются — никакого скрытого исключения контента до миграции.
Надежная запись — rms_write записывает и сбрасывает на диск временный файл в той же директории перед атомарной заменой целевого файла. Откатные резервные копии .bak (по умолчанию: 5) перед любой мутацией. Режим create корректно отклоняет перезапись существующих файлов.
Безопасный жизненный цикл проекта — rms-memory projects remove <key> удаляет регистрацию, не затрагивая файлы хранилища. Полное удаление с очисткой — отдельная явная операция, требующая точного ключа проекта и ограниченная поддиректорией настроенного мастер-хранилища. Исходный код никогда не затрагивается.
Изоляция вики — <vault>/wiki/** исключается из индексации Markdown, векторного поиска, полнотекстового поиска, наблюдателей, устойчивого графа и контекстных пакетов вики. rms_write отклоняет пути вики. MCP остается без ИИ — генерация вики существует только в сопутствующем GUI.
Устойчивость к продакшн-нагрузкам — блокировка файловой системы для каждого проекта, разделяемая между параллельными процессами IDE; предотвращение path traversal и symlink escape; слой базы данных без паник с внутренностями, возвращающими Result; ограничения размера запросов (лимит stdin 1 МБ, поиск ограничен 100); корректное завершение по SIGINT; предотвращение зомби-процессов при EOF stdin; сборка мусора для осиротевших индексов LanceDB; обход песочницы macOS для загрузки моделей fastembed; изолированное журналирование телеметрии в ~/.rms-memory/rms.log.
rms_search — ищет в Markdown-хранилище по умолчанию. Установите corpus в code или all. all использует Reciprocal Rank Fusion. Агентам указано вызывать этот инструмент первым.
rms_code_search — удобная конечная точка для семантического корпуса кода. Результаты включают файл, символ, тип и диапазон строк.
rms_read — читает полное содержимое документа, найденного через rms_search.
rms_write — сохраняет новые решения, ограничения или правила. Агентам предлагается вызывать этот инструмент проактивно после решения сложной ошибки или изучения предпочтения. Автоматически внедряет метаданные аудита.
rms_projects — выводит список зарегистрированных ключей проектов, даже если клиент MCP не предоставил корневые каталоги рабочей области.
rms-memory install — подключает сервер ко всем поддерживаемым IDE. Поддерживается --dry-run.
rms-memory init — регистрирует проект в глобальном реестре.
rms-memory config — интерактивная глобальная настройка; настройка режима индексации кода и списка языков для каждого проекта.
rms-memory reindex — обновление Markdown-хранилища (--vault), памяти кода (--code) или обоих (--all).
rms-memory doctor — диагностика здоровья хранилища по 5 пунктам. --repair-frontmatter безопасно исправляет повторяющиеся и отсутствующие идентификаторы с резервными копиями.
rms-memory import — сканирует существующие документы (README.md, docs/, ADR/) и импортирует их как документы хранилища или файлы ссылок с нулевым копированием.
rms-memory sync — инкрементальная синхронизация LanceDB с удалением и вставкой.
rms-memory gc — удаляет осиротевшие индексы LanceDB.
rms-memory wiki — собирает контекстный пакет из документов хранилища, индекса кода и файлов проекта для генерации Wiki.
rms-memory export-llms — компилирует текущее хранилище в одинllms.txt файл.
Cursor · Zed · Claude Code · OpenCode · VS Code · Codex
bash
# macOS (Apple Silicon) и Linuxbrew tap max-ramas/tapbrew install rms-memory-mcp# Любая платформа с Rustcargo install rms-memory-mcp
Готовые бинарные файлы для aarch64-apple-darwin, x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu и x86_64-pc-windows-msvc публикуются в каждом релизе, а также пакеты .deb и .rpm для Linux.
Лицензия: · MIT · Бесплатно · GitHub
Сообщество
Free