Honcho
Настройка и использование памяти Honcho с VibeOS — межсессионное моделирование пользователя, изоляция нескольких профилей, конфигурация наблюдения, диалектическое рассуждение, сводки сессий и контроль бюджета контекста. Используйте при настройке Honcho, устранении неполадок с памятью, управлении профилями с пирами Honcho или настройке параметров наблюдения, извлечения и диалектики.
Метаданные навыка
| Источник | Опционально — установка с помощью vibeos skills install official/autonomous-ai-agents/honcho |
| Путь | optional-skills/autonomous-ai-agents/honcho |
| Версия | 2.0.0 |
| Автор | VibeOS |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | Honcho, Memory, Profiles, Observation, Dialectic, User-Modeling, Session-Summary |
| Связанные навыки | vibeos-agent |
Справочник: полный SKILL.md
Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Это те инструкции, которые видит агент, когда навык активен.
Память Honcho для VibeOS
Honcho обеспечивает AI-нативное межсессионное моделирование пользователя. Он изучает, кто такой пользователь, в ходе разных разговоров и даёт каждому профилю VibeOS собственную пировую идентичность, сохраняя при этом единое представление о пользователе.
Когда использовать
- Настройка Honcho (облачная или самостоятельная)
- Устранение неполадок, когда память не работает / пиры не синхронизируются
- Создание многопрофильных конфигураций, где каждый агент имеет свой собственный пир Honcho
- Настройка параметров наблюдения, извлечения, глубины диалектики или частоты записи
- Понимание того, что делают 5 инструментов Honcho и когда их использовать
- Настройка бюджета контекста и внедрения сводки сессий
Настройка
Облако (app.honcho.dev)
vibeos memory setup honcho
# выберите "cloud", вставьте API-ключ с https://app.honcho.dev
Самостоятельное размещение
vibeos memory setup honcho
# выберите "local", введите базовый URL (например, http://localhost:8000)
См.: https://docs.honcho.dev/v3/guides/integrations/vibeos#running-honcho-locally-with-vibeos
Проверка
vibeos honcho status # показывает разрешённую конфигурацию, тест соединения, информацию о пирах
Архитектура
Внедрение базового контекста
Когда Honcho внедряет контекст в системный промпт (в режимах hybrid или context), он собирает блок базового контекста в следующем порядке:
- Сводка сессии — краткое изложение текущей сессии на данный момент (размещается первым, чтобы у модели была немедленная непрерывность разговора)
- Представление пользователя — накопленная модель пользователя от Honcho (предпочтения, факты, паттерны)
- Карточка AI-пира — идентификационная карточка для AI-пира этого профиля VibeOS
Сводка сессии автоматически генерируется Honcho в начале каждого хода (если существует предыдущая сессия). Она даёт модели «тёплый старт» без повторного воспроизведения полной истории.
Выбор холодного / тёплого промпта
Honcho автоматически выбирает между двумя стратегиями промптов:
| Условие | Стратегия | Что происходит |
|---|---|---|
| Нет предыдущей сессии или пустое представление | Холодный старт | Лёгкий вводный промпт; пропускает внедрение сводки; побуждает модель узнавать пользователя |
| Существующее представление и/или история сессии | Тёплый старт | Полное внедрение базового контекста (сводка → представление → карточка); более богатый системный промпт |
Вам не нужно это настраивать — это автоматически определяется состоянием сессии.
Пиры
Honcho моделирует разговоры как взаимодействия между пирами. VibeOS создаёт двух пиров на сессию:
- Пир пользователя (
peerName): представляет человека. Honcho строит представление пользователя на основе наблюдаемых сообщений. - AI-пир (
aiPeer): представляет этот экземпляр VibeOS. Каждый профиль получает свой собственный AI-пир, чтобы агенты формировали независимые представления.
Наблюдение
У каждого пира есть два переключателя наблюдения, которые контролируют, что Honcho изучает:
| Переключатель | Что делает |
|---|---|
observeMe | Собственные сообщения пира наблюдаются (строит самопредставление) |
observeOthers | Сообщения других пиров наблюдаются (строит межпировое понимание) |
По умолчанию: все четыре переключателя включены (полное двунаправленное наблюдение).
Настройка для каждого пира в honcho.json:
{
"observation": {
"user": { "observeMe": true, "observeOthers": true },
"ai": { "observeMe": true, "observeOthers": true }
}
}
Или используйте сокращённые пресеты:
| Пресет | Пользователь | AI | Сценарий использования |
|---|---|---|---|
"directional" (по умолчанию) | me:вкл, others:вкл | me:вкл, others:вкл | Многоагентный, полная память |
"unified" | me:вкл, others:выкл | me:выкл, others:вкл | Одиночный агент, моделирование только пользователя |
Настройки, изменённые в панели управления Honcho, синхронизируются обратно при инициализации сессии — конфигурация на сервере имеет приоритет над локальными значениями по умолчанию.
Сессии
Сессии Honcho определяют область действия сообщений и наблюдений. Варианты стратегии:
| Стратегия | Поведение |
|---|---|
per-directory (по умолчанию) | Одна сессия на рабочую директорию |
per-repo | Одна сессия на корень git-репозитория |
per-session | Новая сессия Honcho при каждом запуске VibeOS |
global | Единая сессия для всех директорий |
Ручное переопределение: vibeos honcho map my-project-name
Режимы извлечения
Как агент получает доступ к памяти Honcho:
| Режим | Автоматическое внедрение контекста? | Инструменты доступны? | Сценарий использования |
|---|---|---|---|
hybrid (по умолчанию) | Да | Да | Агент решает, когда использовать инструменты, а когда автоматический контекст |
context | Да | Нет (скрыты) | Минимальные затраты токенов, без вызовов инструментов |
tools | Нет | Да | Агент полностью контролирует доступ к памяти |
Три ортогональных регулятора
Поведение диалектики Honcho контролируется тремя независимыми измерениями. Каждое можно настраивать, не влияя на остальные:
Каденция (когда)
Контролирует, как часто происходят вызовы диалектики и контекста.
| Ключ | По умолчанию | Описание |
|---|---|---|
contextCadence | 1 | Минимальное количество ходов между вызовами API контекста |
dialecticCadence | 2 | Минимальное количество ходов между вызовами API диалектики. Рекомендуется 1–5 |
injectionFrequency | every-turn | every-turn или first-turn для внедрения базового контекста |
Более высокие значения каденции заставляют диалектический LLM срабатывать реже. dialecticCadence: 2 означает, что движок срабатывает через ход. Установка значения 1 заставляет его срабатывать каждый ход.
Глубина (сколько)
Контролирует, сколько раундов диалектического рассуждения Honcho выполняет за запрос.
| Ключ | По умолчанию | Диапазон | Описание |
|---|---|---|---|
dialecticDepth | 1 | 1-3 | Количество раундов диалектического рассуждения на запрос |
dialecticDepthLevels | -- | массив | Опциональные переопределения уровня для каждого раунда глубины (см. ниже) |
dialecticDepth: 2 означает, что Honcho выполняет два раунда диалектического синтеза. Первый раунд даёт начальный ответ; второй уточняет его.
dialecticDepthLevels позволяет независимо задать уровень рассуждения для каждого раунда:
{
"dialecticDepth": 3,
"dialecticDepthLevels": ["low", "medium", "high"]
}
Если dialecticDepthLevels опущен, раунды используют пропорциональные уровни, полученные из dialecticReasoningLevel (базового):
| Глубина | Уровни проходов |
|---|---|
| 1 | [base] |
| 2 | [minimal, base] |
| 3 | [minimal, base, low] |
Это делает ранние проходы дешёвыми, используя полную глубину для финального синтеза.
Глубина при старте сессии. Предварительный прогрев при старте сессии выполняет полный настроенный dialecticDepth в фоне до хода 1. Однопроходный прогрев на холодном пире часто даёт поверхностный результат — многопроходная глубина запускает цикл аудита/согласования до того, как пользователь скажет хоть слово. Ход 1 напрямую потребляет результат прогрева; если прогрев не успел завершиться вовремя, ход 1 переключается на синхронный вызов с ограниченным таймаутом.
Уровень (насколько интенсивно)
Контролирует интенсивность каждого раунда диалектического рассуждения.
| Ключ | По умолчанию | Описание |
|---|---|---|
dialecticReasoningLevel | low | minimal, low, medium, high, max |
dialecticDynamic | true | Если true, модель может передать reasoning_level в honcho_reasoning, чтобы переопределить значение по умолчанию для конкретного вызова. false = всегда использовать dialecticReasoningLevel, переопределения модели игнорируются |
Более высокие уровни дают более богатый синтез, но стоят больше токенов на бэкенде Honcho.
Настройка нескольких профилей
Каждый профиль VibeOS получает свой собственный AI-пир Honcho, используя при этом общее рабочее пространство (контекст пользователя). Это означает:
- Все профили видят одно и то же представление пользователя
- Каждый профиль строит свою собственную AI-идентичность и наблюдения
- Выводы, сделанные одним профилем, видны другим через общее рабочее пространство
Создание профиля с пиром Honcho
vibeos profile create coder --clone
# создаёт блок хоста vibeos.coder, AI-пир "coder", наследует конфигурацию от значения по умолчанию
Что делает --clone для Honcho:
- Создаёт блок хоста
vibeos.coderвhoncho.json - Устанавливает
aiPeer: "coder"(имя профиля) - Наследует
workspace,peerName,writeFrequency,recallModeи т.д. от значения по умолчанию - Заблаговременно создаёт пира в Honcho, чтобы он существовал до первого сообщения
Дозаполнение существующих профилей
vibeos honcho sync # создаёт блоки хостов для всех профилей, у которых их ещё нет
Конфигурация для каждого профиля
Переопределите любую настройку в блоке хоста:
{
"hosts": {
"vibeos.coder": {
"aiPeer": "coder",
"recallMode": "tools",
"dialecticDepth": 2,
"observation": {
"user": { "observeMe": true, "observeOthers": false },
"ai": { "observeMe": true, "observeOthers": true }
}
}
}
}
Инструменты
У агента есть 5 двунаправленных инструментов Honcho (скрыты в режиме context):
| Инструмент | Вызов LLM? | Стоимость | Когда использовать |
|---|---|---|---|
honcho_profile | Нет | минимальная | Быстрый фактический снимок в начале разговора или для быстрого поиска имени/роли/предпочтений |
honcho_search | Нет | низкая | Получить конкретные прошлые факты для самостоятельного анализа — сырые выдержки, без синтеза |
honcho_context | Нет | низкая | Полный снимок контекста сессии: сводка, представление, карточка, последние сообщения |
honcho_reasoning | Да | средняя–высокая | Вопрос на естественном языке, синтезированный диалектическим движком Honcho |
honcho_conclude | Нет | минимальная | Записать или удалить постоянный факт; передайте peer: "ai" для самопознания AI |
honcho_profile
Чтение или обновление карточки пира — подобранные ключевые факты (имя, роль, предпочтения, стиль общения). Передайте card: [...] для обновления; опустите для чтения. Без вызова LLM.
honcho_search
Семантический поиск по сохранённому контексту для конкретного пира. Возвращает сырые выдержки, отсортированные по релевантности, без синтеза. По умолчанию 800 токенов, максимум 2000. Хорошо, когда вам нужны конкретные прошлые факты для самостоятельного анализа, а не синтезированный ответ.
honcho_context
Полный снимок контекста сессии от Honcho — сводка сессии, представление пира, карточка пира и последние сообщения. Без вызова LLM. Используйте, когда хотите увидеть всё, что Honcho знает о текущей сессии и пире, за один раз.
honcho_reasoning
Вопрос на естественном языке, на который отвечает диалектический движок Honcho (вызов LLM на бэкенде Honcho). Более высокая стоимость, более высокое качество. Передайте reasoning_level для контроля глубины: minimal (быстро/дёшево) → low → medium → high → max (тщательно). Опустите, чтобы использовать настроенное значение по умолчанию (low). Используйте для синтезированного понимания паттернов, целей или текущего состояния пользователя.
honcho_conclude
Запись или удаление постоянного вывода о пире. Передайте conclusion: "..." для создания. Передайте delete_id: "..." для удаления вывода (для удаления PII — Honcho со временем сам исправляет неверные выводы, поэтому удаление требуется только для PII). Вы ДОЛЖНЫ передать ровно один из двух параметров.
Двунаправленная адресация пиров
Все 5 инструментов принимают опциональный параметр peer:
peer: "user"(по умолчанию) — работает с пиром пользователяpeer: "ai"— работает с AI-пиром этого профиляpeer: "<explicit-id>"— любой ID пира в рабочем пространстве
Примеры:
honcho_profile # чтение карточки пользователя
honcho_profile peer="ai" # чтение карточки AI-пира
honcho_reasoning query="Что этому пользователю важнее всего?"
honcho_reasoning query="Каковы мои паттерны взаимодействия?" peer="ai" reasoning_level="medium"
honcho_conclude conclusion="Предпочитает краткие ответы"
honcho_conclude conclusion="Я склонен переусложнять объяснения кода" peer="ai"
honcho_conclude delete_id="abc123" # удаление PII
Паттерны использования агентом
Рекомендации для VibeOS, когда активна память Honcho.
В начале разговора
1. honcho_profile → быстрый прогрев, без затрат LLM
2. Если контекст выглядит скудным → honcho_context (полный снимок, всё ещё без LLM)
3. Если нужен глубокий синтез → honcho_reasoning (вызов LLM, используйте экономно)
НЕ вызывайте honcho_reasoning на каждом ходу. Автоматическое внедрение уже обрабатывает текущее обновление контекста. Используйте инструмент рассуждения только тогда, когда вам действительно нужно синтезированное понимание, которое не даёт базовый контекст.
Когда пользователь делится тем, что нужно запомнить
honcho_conclude conclusion="<конкретный, действенный факт>"
Хорошие выводы: «Предпочитает примеры кода текстовым объяснениям», «Работает над Rust-проектом с асинхронностью до апреля 2026» Плохие выводы: «Пользователь что-то сказал о Rust» (слишком расплывчато), «Пользователь кажется технически подкованным» (уже есть в представлении)
Когда пользователь спрашивает о прошлом контексте / вам нужно вспомнить детали
honcho_search query="<тема>" → быстро, без LLM, хорошо для конкретных фактов
honcho_context → полный снимок со сводкой и сообщениями
honcho_reasoning query="<вопрос>" → синтезированный ответ, используйте, когда поиска недостаточно
Когда использовать peer: "ai"
Используйте адресацию AI-пира для построения и запроса собственного самопознания агента:
honcho_conclude conclusion="Я склонен быть многословным при объяснении архитектуры" peer="ai"— самокоррекцияhoncho_reasoning query="Как я обычно обрабатываю неоднозначные запросы?" peer="ai"— самоаудитhoncho_profile peer="ai"— просмотр собственной идентификационной карточки
Когда НЕ нужно вызывать инструменты
В режимах hybrid и context базовый контекст (представление пользователя + карточка + сводка сессии) автоматически внедряется перед каждым ходом. Не перезапрашивайте то, что уже было внедрено. Вызывайте инструменты только когда:
- Вам нужно то, чего нет во внедрённом контексте
- Пользователь явно просит вас вспомнить или проверить память
- Вы записываете вывод о чём-то новом
Осведомлённость о каденции
honcho_reasoning на стороне инструмента имеет ту же стоимость, что и автоматическое внедрение диалектики. После явного вызова инструмента каденция автоматического внедрения сбрасывается — это позволяет избежать двойной оплаты за один и тот же ход.
Справочник конфигурации
Файл конфигурации: $VIBEOS_HOME/honcho.json (локальный для профиля) или ~/.honcho/config.json (глобальный).
Ключевые настройки
| Ключ | По умолчанию | Описание |
|---|---|---|
apiKey | -- | API-ключ (получить) |
baseUrl | -- | Базовый URL для самостоятельно размещённого Honcho |
peerName | -- | Идентичность пира пользователя |
aiPeer | ключ хоста | Идентичность AI-пира |
workspace | ключ хоста | ID общего рабочего пространства |
recallMode | hybrid | hybrid, context или tools |
observation | все вкл | Булевы значения observeMe/observeOthers для каждого пира |
writeFrequency | async | async, turn, session или целое число N |
sessionStrategy | per-directory | per-directory, per-repo, per-session, global |
messageMaxChars | 25000 | Максимальное количество символов на сообщение (разбивается на части при превышении) |
Настройки диалектики
| Ключ | По умолчанию | Описание |
|---|---|---|
dialecticReasoningLevel | low | minimal, low, medium, high, max |
dialecticDynamic | true | Автоматическое повышение уровня рассуждения в зависимости от сложности запроса. false = фиксированный уровень |
dialecticDepth | 1 | Количество раундов диалектики на запрос (1-3) |
dialecticDepthLevels | -- | Опциональный массив уровней для каждого раунда, например ["low", "high"] |
dialecticMaxInputChars | 10000 | Максимальное количество символов для ввода запроса диалектики |
Бюджет контекста и внедрение
| Ключ | По умолчанию | Описание |
|---|---|---|
contextTokens | без ограничений | Максимальное количество токенов для комбинированного внедрения базового контекста (сводка + представление + карточка). Опциональное ограничение — опустите, чтобы оставить без ограничений, установите целое число, чтобы ограничить размер внедрения. |
injectionFrequency | every-turn | every-turn или first-turn |
contextCadence | 1 | Минимальное количество ходов между вызовами API контекста |
dialecticCadence | 2 | Минимальное количество ходов между вызовами LLM диалектики (рекомендуется 1–5) |
Бюджет contextTokens применяется в момент внедрения. Если сводка сессии + представление + карточка превышают бюджет, Honcho сначала обрезает сводку, затем представление, сохраняя карточку. Это предотвращает разрастание контекста в длинных сессиях.
Санитизация контекста памяти
Honcho санитизирует блок memory-context перед внедрением, чтобы предотвратить инъекции промптов и некорректное содержимое:
- Удаляет XML/HTML-теги из выводов, созданных пользователем
- Нормализует пробелы и управляющие символы
- Обрезает отдельные выводы, превышающие
messageMaxChars - Экранирует последовательности-разделители, которые могут нарушить структуру системного промпта
Это исправление устраняет пограничные случаи, когда необработанные выводы пользователя, содержащие разметку или специальные символы, могли повредить внедрённый блок контекста.
Устранение неполадок
«Honcho не настроен»
Запустите vibeos honcho setup. Убедитесь, что memory.provider: honcho присутствует в ~/.vibeos/config.yaml.
Память не сохраняется между сессиями
Проверьте vibeos honcho status — убедитесь, что saveMessages: true и writeFrequency не равен session (который записывает только при выходе).
Профиль не получает собственного пира
Используйте --clone при создании: vibeos profile create <name> --clone. Для существующих профилей: vibeos honcho sync.
Изменения наблюдения в панели управления не отражаются
Конфигурация наблюдения синхронизируется с сервера при каждой инициализации сессии. Начните новую сессию после изменения настроек в UI Honcho.
Сообщения обрезаются
Сообщения, превышающие messageMaxChars (по умолчанию 25k), автоматически разбиваются на части с маркерами [continued]. Если вы часто сталкиваетесь с этим, проверьте, не раздувают ли размер сообщения результаты работы инструментов или содержимое навыков.
Внедрение контекста слишком велико
Если вы видите предупреждения о превышении бюджета контекста, уменьшите contextTokens или снизьте dialecticDepth. При ограниченном бюджете сводка сессии обрезается первой.
Отсутствует сводка сессии
Сводка сессии требует как минимум одного предыдущего хода в текущей сессии Honcho. При холодном старте (новая сессия, без истории) сводка опускается, и Honcho использует стратегию холодного старта.
Команды CLI
| Команда | Описание |
|---|---|
vibeos honcho setup | Интерактивный мастер настройки (облако/локально, идентичность, наблюдение, извлечение, сессии) |
vibeos honcho status | Показать разрешённую конфигурацию, тест соединения, информацию о пирах для активного профиля |
vibeos honcho enable | Включить Honcho для активного профиля (создаёт блок хоста при необходимости) |
vibeos honcho disable | Отключить Honcho для активного профиля |
vibeos honcho peer | Показать или обновить имена пиров (--user <name>, --ai <name>, --reasoning <level>) |
vibeos honcho peers | Показать идентичности пиров во всех профилях |
vibeos honcho mode | Показать или установить режим извлечения (hybrid, context, tools) |
vibeos honcho tokens | Показать или установить бюджет токенов (--context <N>, --dialectic <N>) |
vibeos honcho sessions | Список известных сопоставлений директория-имя-сессии |
vibeos honcho map <name> | Сопоставить текущую рабочую директорию с именем сессии Honcho |
vibeos honcho identity | Заполнить идентичность AI-пира или показать оба представления пиров |
vibeos honcho sync | Создать блоки хостов для всех профилей VibeOS, у которых их ещё нет |
vibeos honcho migrate | Пошаговое руководство по миграции с собственной памяти OpenClaw на VibeOS + Honcho |
vibeos memory setup | Универсальный выбор провайдера памяти (выбор «honcho» запускает тот же мастер) |
vibeos memory status | Показать активного провайдера памяти и конфигурацию |
vibeos memory off | Отключить внешнего провайдера памяти |