История сессий
mmw-agent умеет сохранять в MMW историю ваших сессий Claude Code и Codex. Это выключено, пока вы сами не разрешите в терминале.
Из этой страницы вы узнаете:
- как устроено согласие и почему его не может выдать модель;
- что загружается, а что никогда не уходит с компьютера;
- как агент докачивает данные после обрыва, какие квоты у тарифов и как всё остановить.
Согласие
Заголовок раздела «Согласие»-
Откройте терминал и выполните (с тем же колесом, что в конфигурации клиента):
Окно терминала uvx --from https://app.mmwhub.ru/downloads/mmw-agent/mmw_agent-0.1.4-py3-none-any.whl mmw-agent consent -
Агент покажет, что нашёл, и объяснит, что будет загружаться:
MMW нашёл на этом компьютере историю ИИ-сессий:claude-code 42 сессий, 18.3 МБ на дискеcodex 7 сессий, 2.1 МБ на дискеЕсли вы разрешите, MMW загрузит эти сессии и все новые в вашу память MMW:- сообщения пользователя и ассистента, вызовы инструментов, результаты инструментов до 4 000 символов;- рассуждения модели, счётчики токенов и снимки файлов НЕ загружаются;- секреты (API-ключи, токены, пароли) заменяются на этом компьютере до отправки;- пути к файлам не передаются; остановить можно в любой момент командой `mmw-agent revoke`.Загрузить историю сессий в MMW? Введите «да», чтобы разрешить: -
Введите
да(илиyes). Любой другой ответ означает отказ — ничего загружаться не будет. -
Агент ответит «Согласие записано для: claude-code, codex. Синхронизация начнётся в течение минуты».
Что важно знать о согласии:
- Его даёт только человек. Команда работает лишь в интерактивном терминале. Если её запустить из скрипта или из-под модели, агент откажется. Инструмент
mmw_sync_status, который видит модель, только читает состояние. - Оно касается найденных клиентов. В квитанцию записываются клиенты, чьи сессии были на диске в момент согласия. Если вы позже начнёте пользоваться Codex, выполните
mmw-agent consentещё раз. - Оно хранится локально в
~/.mmw/agent.json(или в каталоге изMMW_AGENT_HOME) с правами 0600, а на сервере регистрируется устройство с квитанцией согласия. Без зарегистрированного устройства сервер не принимает данные. - Синхронизация идёт, пока работает агент, то есть пока открыт клиент, который его запускает. Разово можно выполнить
mmw-agent sync.
Что загружается и что нет
Заголовок раздела «Что загружается и что нет»Агент не отправляет файлы сессий как есть. Каждая строка разбирается и превращается в короткие события.
| Загружается | Не загружается никогда |
|---|---|
| Ваши сообщения и ответы ассистента (очень длинные сообщения обрезаются) | Рассуждения модели (thinking, reasoning) |
| Вызовы инструментов с аргументами | Системные и developer-промпты |
| Результаты инструментов — до 4 000 символов | Счётчики токенов, состояние интерфейса |
| Время событий | Снимки файлов |
| Пути к файлам: источник обозначается хешем пути |
Где агент ищет сессии: ~/.claude/projects/*/*.jsonl (Claude Code) и ~/.codex/sessions/**/*.jsonl (Codex). Для поиска он читает только список файлов; содержимое читается лишь после согласия.
Секреты вычищаются дважды
Заголовок раздела «Секреты вычищаются дважды» ваш компьютер сервер MMW ───────────── ────────── строка сессии → событие → вычистка секретов → повторная вычистка → сжатие → хранение (те же правила) (Memory Guard)- На компьютере. До отправки агент заменяет ключи API, токены, пароли, приватные ключи и пароли в строках подключения на заглушки вида
[REDACTED:тип:хеш]. Правила те же, что у сервера: копия файла правил в агенте проверяется тестом на совпадение с серверной. - На сервере. Каждый принятый фрагмент ещё раз проходит через Memory Guard перед сохранением.
Сам секрет нигде не хранится — только тип правила и короткий хеш, по которому можно понять, что в двух местах был один и тот же секрет.
Надёжность: докачка после обрыва
Заголовок раздела «Надёжность: докачка после обрыва»Файлы сессий на вашем диске и есть очередь — агент ничего не буферизует отдельно. Сервер помнит, до какого байта он принял каждый файл (watermark). На каждом цикле агент спрашивает эту отметку и досылает недостающее.
- Пропала сеть или сервер перезапускался — следующий цикл увидит отметку и продолжит с неё. При ошибках пауза между попытками растёт до 5 минут.
- Сервер восстановили из резервной копии — отметка стала меньше, агент дошлёт разницу сам.
- На сервере временно мало места — сервер ничего не принимает, агент ждёт (до 5 минут между попытками) и продолжает позже. Ничего не теряется.
- Сессия ещё пишется — агент отправляет только законченные строки, остаток дошлёт в следующем цикле.
Объём по тарифу
Заголовок раздела «Объём по тарифу»| Тариф | Объём истории | Глубина |
|---|---|---|
| Free | 25 МБ | 7 дней |
| Starter | 100 МБ | 30 дней |
| Pro | 500 МБ | 90 дней |
| Enterprise и организации | 20 ГБ | вся история |
- Сначала загружаются самые свежие сессии: на ограниченном тарифе в архив попадает недавняя работа.
- Сессии старше глубины тарифа (по времени изменения файла) пропускаются; их число видно в
mmw_sync_statusкакskipped_by_plan_history. - Объём считается по очищенному тексту; на сервере он хранится сжатым.
- Когда объём закончился, агент останавливает загрузку и показывает подсказку: «Место для истории сессий по вашему тарифу закончилось. Полная история доступна на тарифе Enterprise.»
Как проверить, что идёт загрузка
Заголовок раздела «Как проверить, что идёт загрузка»Спросите ассистента «покажи статус синхронизации MMW» — он вызовет mmw_sync_status:
{ "consent": { "granted": true, "clients": ["claude-code", "codex"], "granted_at": "2026-10-05T09:00:00+00:00" }, "device_id": "dev-…", "last_cycle": { "state": "ok", "sources": 49, "chunks": 12, "bytes": 3145728, "local_redactions": 3, "skipped_by_plan_history": 0, "history_days": 90 }}local_redactions — сколько секретов агент заменил на компьютере в этом цикле. Все состояния (consent_required, offline, quota_exceeded, server_busy и другие) описаны в справочнике mmw_sync_status.
Отозвать согласие
Заголовок раздела «Отозвать согласие»uvx --from https://app.mmwhub.ru/downloads/mmw-agent/mmw_agent-0.1.4-py3-none-any.whl mmw-agent revoke- Локальная квитанция удаляется сразу — со следующего цикла агент ничего не загружает.
- Агент сообщает серверу, что устройство больше не зарегистрировано. Если сервер недоступен, вы увидите «Локальное согласие удалено; сервер не уведомлён» — загрузка всё равно остановлена; повторите команду позже, чтобы уведомить сервер.
- Отзыв останавливает загрузку, но не удаляет то, что уже загружено. Про удаление данных — в разделе Данные и удаление.