Клиент: RMS Digital Services (in-house)
Открыть сайт — github.comСервер MCP на Rust + настольный GUI на Tauri. Одно хранилище, любая IDE, любая сессия.
ИИ-агенты для программирования по своей природе не имеют состояния. Каждая сессия начинается с нуля — архитектурные решения, известные ограничения, история отладки, командные соглашения. Разработчики компенсируют это, поддерживая файлы правил для каждого инструмента, которые расходятся в синхронизации, вручную вставляя контекст между сессиями или принимая, что каждый агент работает с неполной картиной проекта.
RMS Memory — это локально-ориентированный слой памяти, созданный для решения этой проблемы на уровне инфраструктуры. Сервер MCP на Rust поддерживает изолированное хранилище Markdown для каждого проекта, индексирует его с помощью гибридного векторного и полнотекстового поиска и предоставляет пять инструментов MCP для любой подключенной IDE. Агенты автоматически читают контекст из хранилища и проактивно записывают в него новые решения. Опциональное коммерческое настольное приложение на Tauri добавляет визуальное редактирование, граф знаний WebGL, синхронизацию хранилища с Git и GitHub, ИИ-помощника с проверкой предложений и отслеживание затрат между инструментами поверх того же слоя данных.
Основной слой данных — это обычный Markdown — одно хранилище на проект, хранящееся в ~/.rms-memory/vaults/, за пределами репозитория. LanceDB предоставляет встроенное хранилище, сочетающее векторный поиск по сходству с полнотекстовым поиском Tantivy. Запросы используют Reciprocal Rank Fusion при поиске по хранилищу и корпусам кода, чтобы избежать несовместимых сравнений необработанных расстояний.
Опциональный семантический корпус кода построен с помощью Tree-sitter и хранится в отдельной таблице LanceDB. Тринадцать языковых адаптеров покрывают Rust, Go, TypeScript, JavaScript, JSX, TSX, Python, C, C++, Java, Ruby, Swift и встроенные скрипты Vue. Неизменённые сегменты кода повторно используют свои векторы при переиндексации. В режиме наблюдения переиндексируются только изменённые пути; общий маркер завершения предотвращает дублирование переиндексации между параллельными процессами IDE.
Сервер MCP — это JSON-RPC сервер, работающий через stdio. Он определяет область проекта через явный --scope, устаревший rootUri, согласованный roots/list, или на уровне инструмента project ключ — в таком порядке, с отказом при ошибке. Блокировка файловой системы для каждого проекта разделяется между всеми процессами IDE, подключающимися к одному хранилищу. Записи атомарны: временный файл в той же директории синхронизируется с диском (fsync) и затем переименовывается на место. Катящиеся .bak резервные копии (по умолчанию: 5) сохраняются перед любой мутацией.
GUI на Tauri читает и пишет в ту же ~/.rms-memory/ директорию, что и сервер MCP. Бэкенд — на Rust, фронтенд — React 19 с Vite 6 и Tailwind 4. Граф знаний работает в WebGL с силовым расположением, вычисляемым в Web Worker. Тяжёлые экраны загружаются лениво; Monaco и Milkdown — отдельные чанки.
fastembed-rs (multilingual-e5-small)pulldown-cmark.cursorrules, CLAUDE.md, .zed/assistant.md<vault>/wiki/** исключён из всех путей поиска, индексации и записиlast_modified_by, timestamp, confidence, sourcellms.txt экспортproject → folder → file → symbol иерархия из индексации Tree-sitter<vault>/wiki/, исключён из поиска MCPllms.txt и экспорт Graphviz DOTRust · LanceDB · Tantivy · fastembed-rs · Tree-sitter · pulldown-cmark · Tauri 2 · React 19 · Vite 6 · Tailwind 4 · Monaco · Milkdown · WebGL · GitHub Actions · Contabo self-hosted CI
Продакшн
MCP распространяется через Homebrew (max-ramas/tap), crates.io и GitHub Releases (.deb, .rpm, предварительно собранные бинарники для macOS Apple Silicon, Linux x64/arm64, Windows x64). GUI распространяется в виде установщиков только с бинарными файлами через GitHub Releases (.dmg, .msi, .exe, .AppImage, .deb, .rpm).