sidebar_position: 4 title: "Memory Providers" description: "External memory provider plugins — Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory" lang: ru
Поставщики памяти
Агент Hermes поставляется с 8 плагинами внешнего поставщика памяти, которые предоставляют агенту постоянные межсессионные знания, выходящие за рамки встроенных MEMORY.md и USER.md. Одновременно может быть активен только один внешний провайдер — рядом с ним всегда активна встроенная память.
Быстрый старт
hermes memory setup # interactive picker + configuration
hermes memory status # check what's active
hermes memory off # disable external provider
Вы также можете выбрать активного поставщика памяти через hermes plugins → Плагины поставщика → Поставщик памяти.
Или установите вручную в ~/.hermes/config.yaml:
memory:
provider: openviking # or honcho, mem0, hindsight, holographic, retaindb, byterover, supermemory
Как это работает
Когда поставщик памяти активен, Hermes автоматически:
- Вводит контекст провайдера в системное приглашение (то, что знает провайдер)
- Предварительная выборка соответствующих воспоминаний перед каждым ходом (фоновый, неблокирующийся)
- Синхронизирует разговор с поставщиком услуг после каждого ответа.
- Извлекает воспоминания по окончании сеанса (для провайдеров, которые это поддерживают)
- Отражает запись во встроенную память внешнему поставщику.
- Добавляет инструменты, специфичные для провайдера, чтобы агент мог искать, хранить воспоминания и управлять ими.
Встроенная память (MEMORY.md/USER.md) продолжает работать точно так же, как и раньше. Внешний поставщик является аддитивным.
Доступные провайдеры
Хончо
Межсессионное моделирование пользователей на основе искусственного интеллекта с диалектическими рассуждениями, внедрением контекста на уровне сеанса, семантическим поиском и постоянными выводами. Базовый контекст теперь включает в себя сводку сеанса наряду с представлением пользователей и карточками партнеров, что дает агенту представление о том, что уже обсуждалось.
| Лучший вариант | Мультиагентные системы с межсессионным контекстом, согласованием пользовательского агента |
| Требуется | pip install honcho-ai + ключ API или автономный экземпляр |
| Хранение данных | Honcho Cloud или самостоятельное размещение |
| Стоимость | Высококачественные цены (облако) / бесплатно (автономное размещение) |
Инструменты (5): honcho_profile (чтение/обновление карты узла), honcho_search (семантический поиск), honcho_context (контекст сеанса — сводка, представление, карта, сообщения), honcho_reasoning (LLM-синтезированный), honcho_conclude (создание/удаление заключений)
Архитектура: Двухуровневое внедрение контекста — базовый уровень (сводка сеанса + представление + карточка узла, обновлено contextCadence) плюс диалектическое дополнение (рассуждения LLM, обновлено dialecticCadence). Диалектика автоматически выбирает подсказки холодного запуска (общие факты о пользователе) или теплые подсказки (контекст на уровне сеанса) в зависимости от того, существует ли базовый контекст.
Три ортогональные ручки настройки независимо контролируют стоимость и глубину:
contextCadence— как часто обновляется базовый уровень (частота вызовов API)dialecticCadence— как часто срабатывает диалектика LLM (частота вызова LLM)dialecticDepth— сколько проходов.chat()за диалектический вызов (1–3, глубина рассуждения)
Мастер настройки:
hermes honcho setup # (legacy command)
# or
hermes memory setup # select "honcho"
Конфигурация: $HERMES_HOME/honcho.json (локальная для профиля) или ~/.honcho/config.json (глобальная). Порядок разрешения: $HERMES_HOME/honcho.json > ~/.hermes/honcho.json > ~/.honcho/config.json. См. ссылку на конфигурацию и руководство по интеграции Honcho.
<подробности>
| Ключ | По умолчанию | Описание |
|---|---|---|
apiKey |
-- | Ключ API от app.honcho.dev |
baseUrl |
-- | Базовый URL-адрес для самостоятельного размещения Honcho |
peerName |
-- | Идентификация однорангового пользователя |
aiPeer |
ключ хоста | Идентификатор узла AI (по одному на профиль) |
workspace |
ключ хоста | Идентификатор общего рабочего пространства |
contextTokens |
null (без ограничения) |
Бюджет токенов для автоматического внедрения контекста за ход. Обрезает границы слов |
contextCadence |
1 |
Минимальное количество оборотов между context() вызовами API (обновление базового уровня) |
dialecticCadence |
2 |
Минимальное количество оборотов между вызовами peer.chat() LLM. Рекомендуется 1–5. Применяется только к режимам hybrid/context |
dialecticDepth |
1 |
Количество проходов .chat() за один диалектический вызов. Зажато 1–3. Шаг 0: холодная/теплая подсказка, этап 1: самопроверка, этап 2: сверка |
dialecticDepthLevels |
null |
Необязательный массив уровней рассуждений для каждого прохода, например ["minimal", "low", "medium"]. Переопределяет пропорциональные значения по умолчанию |
dialecticReasoningLevel |
'low' |
Базовый уровень рассуждения: minimal, low, medium, high, max |
dialecticDynamic |
true |
При true модель может переопределить уровень рассуждения для каждого вызова через параметр инструмента |
dialecticMaxChars |
600 |
Максимальное количество символов диалектического результата, введенное в системную подсказку |
recallMode |
'hybrid' |
hybrid (автоматическое внедрение + инструменты), context (только внедрение), tools (только инструменты) |
writeFrequency |
'async' |
Когда сбрасывать сообщения: async (фоновый поток), turn (синхронизация), session (пакетный цикл) или целое число N |
saveMessages |
true |
Сохранять ли сообщения в Honcho API |
observationMode |
'directional' |
directional (все включено) или unified (общий пул). Переопределить с помощью объекта observation |
messageMaxChars |
25000 |
Максимальное количество символов в сообщении (при превышении разбивается на части) |
dialecticMaxInputChars |
10000 |
Максимальное количество символов для ввода диалектического запроса в peer.chat() |
sessionStrategy |
'per-directory' |
per-directory, per-repo, per-session, global |
</подробнее>
<подробности>
{
"apiKey": "your-key-from-app.honcho.dev",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"peerName": "your-name",
"workspace": "hermes"
}
}
}
</подробнее>
<подробности>
{
"baseUrl": "http://localhost:8000",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"peerName": "your-name",
"workspace": "hermes"
}
}
}
</подробнее>
💡 Tip
Миграция с `hermes honcho` Если вы ранее использовали `hermes honcho setup`, ваша конфигурация и все данные на стороне сервера не повреждены. Просто повторно включите его с помощью мастера настройки или вручную настройте `memory.provider: honcho` для повторной активации через новую систему.Многоранговая настройка:
Honcho моделирует разговоры как обмен сообщениями между коллегами — один участник-пользователь плюс один ИИ-участник для каждого профиля Hermes, и все они используют одно рабочее пространство. Рабочая область — это общая среда: одноранговый узел пользователя является глобальным для всех профилей, каждый одноранговый узел AI имеет свою собственную личность. Каждый партнер ИИ создает независимое представление/карту на основе собственных наблюдений, поэтому профиль coder остается ориентированным на код, а профиль writer остается редакционным для одного и того же пользователя.
Отображение:
| Концепция | Что это такое |
|---|---|
| Рабочая область | Общая среда. Все профили Hermes в одном рабочем пространстве видят одну и ту же личность пользователя. |
Узел пользователя (peerName) |
Человек. Доступно для всех профилей в рабочей области. |
ИИ-коллега (aiPeer) |
По одному на каждый профиль Hermes. Ключ хоста hermes → по умолчанию; hermes.<profile> для других. |
| Наблюдение | Для каждого узла переключается контроль того, что Honcho моделирует на основе чьих сообщений. directional (по умолчанию все четыре включены) или unified (пул с одним наблюдателем). |
Новый профиль, новый коллега Honcho
hermes profile create coder --clone
--clone создает блок хоста hermes.coder в honcho.json с aiPeer: "coder", общим workspace, унаследованным peerName, recallMode, writeFrequency, observation и т. д. Узел AI активно создается в Honcho, поэтому он существует раньше первого сообщение.
Существующие профили, заполнение высокопоставленными узлами
hermes honcho sync
Сканирует каждый профиль Hermes, создает блоки хостов для любого профиля без него, наследует настройки из блока hermes по умолчанию и с готовностью создает новые узлы AI. Идемпотент — пропускает профили, у которых уже есть блок хостов.
Наблюдение по каждому профилю
Каждый блок хоста может независимо переопределить конфигурацию наблюдения. Пример: профиль, ориентированный на код, в котором партнер ИИ наблюдает за пользователем, но не моделирует себя:
"hermes.coder": {
"aiPeer": "coder",
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": false, "observeOthers": true }
}
}
Переключатели наблюдения (один набор для каждого узла):
| Переключить | Эффект |
|---|---|
observeMe |
Honcho строит представление этого узла на основе своих сообщений |
observeOthers |
Этот узел наблюдает за сообщениями другого узла (поддерживает рассуждения между узлами) |
Пресеты через observationMode:
"directional"(по умолчанию) — включены все четыре флага. Полное взаимное наблюдение; обеспечивает перекрестную диалектику."unified"— пользовательobserveMe: true, AIobserveOthers: true, остальное false. Пул одного наблюдателя; ИИ моделирует пользователя, но не себя, пользователь моделирует только себя.
Переключатели на стороне сервера, установленные через панель управления Honcho, имеют преимущество перед локальными настройками по умолчанию — синхронизируются обратно при инициализации сеанса.
См. страницу Honcho для получения полной информации о наблюдениях.
<подробности>
{
"apiKey": "your-key",
"workspace": "hermes",
"peerName": "eri",
"hosts": {
"hermes": {
"enabled": true,
"aiPeer": "hermes",
"workspace": "hermes",
"peerName": "eri",
"recallMode": "hybrid",
"writeFrequency": "async",
"sessionStrategy": "per-directory",
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": true }
},
"dialecticReasoningLevel": "low",
"dialecticDynamic": true,
"dialecticCadence": 2,
"dialecticDepth": 1,
"dialecticMaxChars": 600,
"contextCadence": 1,
"messageMaxChars": 25000,
"saveMessages": true
},
"hermes.coder": {
"enabled": true,
"aiPeer": "coder",
"workspace": "hermes",
"peerName": "eri",
"recallMode": "tools",
"observation": {
"user": { "observeMe": true, "observeOthers": false },
"ai": { "observeMe": true, "observeOthers": true }
}
},
"hermes.writer": {
"enabled": true,
"aiPeer": "writer",
"workspace": "hermes",
"peerName": "eri"
}
},
"sessions": {
"/home/user/myproject": "myproject-main"
}
}
</подробнее>
См. ссылку на конфигурацию и руководство по интеграции Honcho.
ОпенВикинг
Контекстная база данных от Volcengine (ByteDance) с иерархией знаний в стиле файловой системы, многоуровневым поиском и автоматическим разделением памяти на 6 категорий.
| Лучший вариант | Автономное управление знаниями со структурированным просмотром |
| Требуется | pip install openviking + работающий сервер |
| Хранение данных | Самостоятельное размещение (локальное или облачное) |
| Стоимость | Бесплатно (с открытым исходным кодом, AGPL-3.0) |
Инструменты: viking_search (семантический поиск), viking_read (многоуровневый: абстрактный/обзор/полный), viking_browse (навигация по файловой системе), viking_remember (сохранение фактов), viking_add_resource (загрузка URL-адресов/документов)
Настройка:
# Start the OpenViking server first
pip install openviking
openviking-server
# Then configure Hermes
hermes memory setup # select "openviking"
# Or manually:
hermes config set memory.provider openviking
echo "OPENVIKING_ENDPOINT=http://localhost:1933" >> ~/.hermes/.env
Основные особенности:
- Многоуровневая загрузка контекста: L0 (~100 токенов) → L1 (~2 тыс.) → L2 (полный)
- Автоматическое извлечение памяти при фиксации сеанса (профиль, настройки, сущности, события, случаи, шаблоны)
- viking:// Схема URI для иерархического просмотра знаний.
Мем0
Извлечение фактов LLM на стороне сервера с семантическим поиском, переранжированием и автоматической дедупликацией.
| Лучший вариант | Автоматическое управление памятью — Mem0 автоматически обрабатывает извлечение |
| Требуется | pip install mem0ai + ключ API |
| Хранение данных | Облако Mem0 |
| Стоимость | Цены Mem0 |
Инструменты: mem0_profile (все сохраненные воспоминания), mem0_search (семантический поиск + переранжирование), mem0_conclude (сохранение дословных фактов)
Настройка:
hermes memory setup # select "mem0"
# Or manually:
hermes config set memory.provider mem0
echo "MEM0_API_KEY=your-key" >> ~/.hermes/.env
Конфигурация: $HERMES_HOME/mem0.json
| Ключ | По умолчанию | Описание |
|---|---|---|
user_id |
hermes-user |
Идентификатор пользователя |
agent_id |
hermes |
Идентификатор агента |
Оглядываясь назад
Долговременная память с графом знаний, разрешением сущностей и поиском с использованием нескольких стратегий. Инструмент hindsight_reflect обеспечивает межпамятный синтез, который не предлагает ни один другой поставщик. Автоматически сохраняет все ходы разговора (включая вызовы инструментов) с отслеживанием документов на уровне сеанса.
| Лучший вариант | Отзыв на основе графа знаний с отношениями сущностей |
| Требуется | Облако: ключ API от ui.hindsight.vectorize.io. Локально: ключ API LLM (OpenAI, Groq, OpenRouter и т. д.) |
| Хранение данных | Hindsight Cloud или локальный встроенный PostgreSQL |
| Стоимость | Оглядываясь назад на цены (облако) или бесплатно (локально) |
Инструменты: hindsight_retain (хранилище с извлечением сущностей), hindsight_recall (мультистратегический поиск), hindsight_reflect (синтез между памятью).
Настройка:
hermes memory setup # select "hindsight"
# Or manually:
hermes config set memory.provider hindsight
echo "HINDSIGHT_API_KEY=your-key" >> ~/.hermes/.env
Мастер установки автоматически устанавливает зависимости и устанавливает только то, что необходимо для выбранного режима (hindsight-client для облака, hindsight-all для локального). Требуется hindsight-client >= 0.4.22 (автоматическое обновление при запуске сеанса, если оно устарело).
Интерфейс локального режима: hindsight-embed -p hermes ui start
Конфигурация: $HERMES_HOME/hindsight/config.json
| Ключ | По умолчанию | Описание |
|---|---|---|
mode |
cloud |
cloud или local |
bank_id |
hermes |
Идентификатор банка памяти |
recall_budget |
mid |
Напомним тщательность: low / mid / high |
memory_mode |
hybrid |
hybrid (контекст + инструменты), context (только автоматическое внедрение), tools (только инструменты) |
auto_retain |
true |
Автоматически сохранять повороты разговора |
auto_recall |
true |
Автоматически вызывать воспоминания перед каждым ходом |
retain_async |
true |
Процесс сохраняется асинхронно на сервере |
retain_context |
conversation between Hermes Agent and the User |
Контекстная метка для сохраненных воспоминаний |
retain_tags |
— | Теги по умолчанию применяются к сохраненным воспоминаниям; объединено с тегами инструментов для каждого вызова |
retain_source |
— | Необязательный metadata.source, прикрепленный к сохраненным воспоминаниям |
retain_user_prefix |
User |
Метка, используемая перед тем, как пользователь сдает автоматически сохраняемые расшифровки |
retain_assistant_prefix |
Assistant |
Метка, используемая до того, как помощник сдаст автоматически сохраняемые расшифровки |
recall_tags |
— | Теги для фильтрации при отзыве |
См. plugin README для получения полной информации о конфигурации.
Голографический
Локальное хранилище фактов SQLite с полнотекстовым поиском FTS5, оценкой доверия и HRR (голографическими сокращенными представлениями) для композиционных алгебраических запросов.
| Лучший вариант | Локальная память с расширенным извлечением, без внешних зависимостей |
| Требуется | Ничего (SQLite всегда доступен). NumPy необязательно для алгебры HRR. |
| Хранение данных | Локальный SQLite |
| Стоимость | Бесплатно |
Инструменты: fact_store (9 действий: добавить, найти, проверить, связать, обосновать, противоречить, обновить, удалить, составить список), fact_feedback (полезный/бесполезный рейтинг, который тренирует показатели доверия)
Настройка:
hermes memory setup # select "holographic"
# Or manually:
hermes config set memory.provider holographic
Конфигурация: config.yaml под plugins.hermes-memory-store
| Ключ | По умолчанию | Описание |
|---|---|---|
db_path |
$HERMES_HOME/memory_store.db |
Путь к базе данных SQLite |
auto_extract |
false |
Автоматическое извлечение фактов в конце сеанса |
default_trust |
0.5 |
Оценка доверия по умолчанию (0,0–1,0) |
Уникальные возможности:
- probe — алгебраический отзыв для конкретной сущности (все факты о человеке/вещи)
- reason — композиционные запросы AND к нескольким объектам
- contradict — автоматическое обнаружение противоречивых фактов
- Оценка доверия с асимметричной обратной связью (+0,05 полезно / -0,10 бесполезно)
Ретайндб
API облачной памяти с гибридным поиском (Vector + BM25 + Reranking), 7 типами памяти и дельта-сжатием.
| Лучший вариант | Команды, уже использующие инфраструктуру RetainDB |
| Требуется | Учетная запись RetainDB + ключ API |
| Хранение данных | Облако RetainDB |
| Стоимость | 20 долларов в месяц |
Инструменты: retaindb_profile (профиль пользователя), retaindb_search (семантический поиск), retaindb_context (контекст, соответствующий задаче), retaindb_remember (сохранение типа + важности), retaindb_forget (удаление воспоминаний)
Настройка:
hermes memory setup # select "retaindb"
# Or manually:
hermes config set memory.provider retaindb
echo "RETAINDB_API_KEY=your-key" >> ~/.hermes/.env
БайтРовер
Постоянная память через brv CLI — иерархическое дерево знаний с многоуровневым поиском (нечеткий текст → поиск на основе LLM). Локальный подход с дополнительной облачной синхронизацией.
| Лучший вариант | Разработчики, которым нужна портативная локальная память с интерфейсом командной строки |
| Требуется | ByteRover CLI (npm install -g byterover-cli или сценарий установки) |
| Хранение данных | Локальный (по умолчанию) или ByteRover Cloud (дополнительная синхронизация) |
| Стоимость | Бесплатно (локально) или по цене ByteRover (облако) |
Инструменты: brv_query (дерево знаний поиска), brv_curate (сохранение фактов/решений/шаблонов), brv_status (версия CLI + статистика дерева)
Настройка:
# Install the CLI first
curl -fsSL https://byterover.dev/install.sh | sh
# Then configure Hermes
hermes memory setup # select "byterover"
# Or manually:
hermes config set memory.provider byterover
Основные особенности:
- Автоматическое предварительное сжатие (сохраняет информацию до того, как контекстное сжатие отбрасывает ее)
- Дерево знаний хранится по адресу $HERMES_HOME/byterover/ (в пределах профиля).
- Облачная синхронизация, сертифицированная SOC2 Type II (опционально)
Суперпамять
Семантическая долговременная память с вызовом профиля, семантическим поиском, инструментами явной памяти и приемом разговоров в конце сеанса через API графа Supermemory.
| Лучший вариант | Семантический вызов с профилированием пользователей и построением графиков на уровне сеанса |
| Требуется | pip install supermemory + ключ API |
| Хранение данных | Облако Суперпамяти |
| Стоимость | Цены на суперпамять |
Инструменты: supermemory_store (сохранение явных воспоминаний), supermemory_search (поиск семантического сходства), supermemory_forget (забыть по идентификатору или запросу наилучшего соответствия), supermemory_profile (постоянный профиль + недавний контекст)
Настройка:
hermes memory setup # select "supermemory"
# Or manually:
hermes config set memory.provider supermemory
echo 'SUPERMEMORY_API_KEY=***' >> ~/.hermes/.env
Конфигурация: $HERMES_HOME/supermemory.json
| Ключ | По умолчанию | Описание |
|---|---|---|
container_tag |
hermes |
Тег контейнера, используемый для поиска и записи. Поддерживает шаблон {identity} для тегов области профиля. |
auto_recall |
true |
Внедрить соответствующий контекст памяти перед ходом |
auto_capture |
true |
Хранить очищенные повороты помощника пользователя после каждого ответа |
max_recall_results |
10 |
Макс вспомнил элементы для форматирования в контексте |
profile_frequency |
50 |
Включайте факты профиля при первом ходу и каждые N ходов |
capture_mode |
all |
По умолчанию пропускать крошечные или тривиальные повороты |
search_mode |
hybrid |
Режим поиска: hybrid, memories или documents |
api_timeout |
5.0 |
Тайм-аут для SDK и запросов на прием |
Переменные среды: SUPERMEMORY_API_KEY (обязательно), SUPERMEMORY_CONTAINER_TAG (переопределяет конфигурацию).
Основные особенности:
- Автоматическое ограничение контекста — удаляет вызванные воспоминания из захваченных ходов, чтобы предотвратить рекурсивное загрязнение памяти.
- Захват разговоров в конце сеанса для более глубокого построения знаний на уровне графа.
- Факты профиля вводятся при первом повороте и через настраиваемые промежутки времени.
- Тривиальная фильтрация сообщений (пропускает «ок», «спасибо» и т. д.)
- Контейнеры на уровне профиля — используйте {identity} в container_tag (например, hermes-{identity} → hermes-coder) для изоляции воспоминаний по профилю Hermes.
- Режим нескольких контейнеров — включите enable_custom_container_tags со списком custom_containers, чтобы агент мог читать/записывать в именованных контейнерах. Автоматические операции (синхронизация, предварительная выборка) выполняются в основном контейнере.
<подробности>
{
"container_tag": "hermes",
"enable_custom_container_tags": true,
"custom_containers": ["project-alpha", "shared-knowledge"],
"custom_container_instructions": "Use project-alpha for coding context."
}
</подробнее>
Поддержка: Discord · support@supermemory.com
Сравнение поставщиков
| Провайдер | Хранение | Стоимость | Инструменты | Зависимости | Уникальная особенность |
|---|---|---|---|---|---|
| Хончо | Облако | Платный | 5 | honcho-ai |
Диалектическое моделирование пользователя + контекст на уровне сеанса |
| ОткрытыйВикинг | Самостоятельное размещение | Бесплатно | 5 | openviking + сервер |
Иерархия файловой системы + многоуровневая загрузка |
| Мем0 | Облако | Платный | 3 | mem0ai |
Извлечение LLM на стороне сервера |
| Оглядываясь назад | Облако/локально | Бесплатно/Платно | 3 | hindsight-client |
Граф знаний + отражение синтеза |
| Голографический | Местный | Бесплатно | 2 | Нет | Алгебра HRR + оценка доверия |
| Сохранить базу данных | Облако | 20 долларов США в месяц | 5 | requests |
Дельта-сжатие |
| БайтРовер | Локальный/Облачный | Бесплатно/Платно | 3 | brv Интерфейс командной строки |
Предварительное сжатие |
| Суперпамять | Облако | Платный | 4 | supermemory |
Ограждение контекста + прием графа сеансов + мультиконтейнер |
Изоляция профиля
Данные каждого поставщика изолированы для каждого профиля:
- Локальные поставщики хранилищ (Holographic, ByteRover) используют пути
$HERMES_HOME/, которые различаются в зависимости от профиля. - Поставщики файлов конфигурации (Honcho, Mem0, Hindsight, Supermemory) хранят конфигурацию в
$HERMES_HOME/, поэтому каждый профиль имеет свои собственные учетные данные. - Облачные поставщики (RetainDB) автоматически получают названия проектов на уровне профиля.
- Поставщики переменных среды (OpenViking) настраиваются через файл
.envкаждого профиля.
Создание поставщика памяти
См. Руководство разработчика: Плагины поставщика памяти, чтобы узнать, как создать свой собственный.