---
url: /ru/guides/sessions.md
---
# Сессии

**Сессия** — это независимая ветка диалога между пользователем и Bot. Каждая сессия ведёт собственное контекстное окно и историю сообщений, позволяя Bot сосредоточиться на конкретной теме или задаче без помех от других разговоров.

***

## Концепция: изоляция диалогов

Когда вы общаетесь с Bot, ваши сообщения группируются в сессию. Bot использует историю сессии, чтобы удерживать контекст. Новая сессия сбрасывает этот контекст: вы получаете свежий диалог, не теряя предыдущий.

Сессии привязаны к конкретному Bot — каждый Bot управляет своим набором сессий независимо.

***

## Типы сессий

Memoh использует пять типов сессий, чтобы разделять разные виды активности Bot:

| Тип | Описание |
|------|-------------|
| **Chat** | Обычные диалоги, начатые пользователем. Тип сессии по умолчанию при общении с Bot. |
| **Discuss** | Режим наблюдения. Bot по умолчанию может молчать и говорит, только когда решает отправить в разговор настоящий ответ. |
| **Schedule** | Создаётся при срабатывании задачи по расписанию. Содержит запись того, как Bot выполняет команду, запущенную по cron. |
| **Subagent** | Создаётся, когда Bot делегирует задачу субагенту. Содержит независимый рабочий контекст субагента. |
| **ACP Agent** | Создаётся, когда из чат-пространства используется включённый ACP-совместимый агент для программирования. |

Только сессии **Chat** и **Discuss** создаются напрямую из обычных пользовательских маршрутов диалога, таких как `/new chat` и `/new discuss`. Сессии **ACP Agent** создаёт и ведёт рабочий процесс Agents/ACP, а остальные типы сессий управляются системой и выглядят в списке сессий как записи только для чтения.

### Chat и Discuss

`chat` и `discuss` — два типа сессий, которые вы чаще всего увидите в обычных ветках диалога.

**Chat** означает:

* разговор ведёт себя как обычный обмен с ассистентом
* отправив запрос, пользователь ожидает видимый ответ
* это режим по умолчанию в приложении и в диалогах формата личных сообщений

**Discuss** означает:

* Bot наблюдает за идущим разговором, часто в группе
* прямой текстовый вывод модели считается внутренним монологом
* Bot обращается к разговору, только когда явно выполняет действие `send`
* молчание — допустимый и часто желательный выбор

На практике именно `discuss` делает Memoh не синхронным чат-ботом, а участником, который сам решает, вступать ли в разговор.

***

## Новая сессия командой `/new`

Слэш-команда `/new` создаёт свежую сессию на текущем маршруте диалога, сбрасывая активный контекст без удаления старой истории.

Поддерживаемые формы:

* `/new` — создать новую сессию с типом по умолчанию для текущего контекста
* `/new chat` — принудительно создать обычную сессию chat
* `/new discuss` — принудительно создать сессию discuss

Сессии ACP Agent через `/new` не создаются. Они запускаются из чат-пространства после того, как на Bot включён ACP-совместимый агент.

Маршрутизация по умолчанию:

* **встроенный чат приложения** по умолчанию использует `chat`
* **личные диалоги** по умолчанию используют `chat`
* **групповые диалоги на адаптерах каналов** по умолчанию используют `discuss`

`/new discuss` не поддерживается во встроенном чат-канале приложения. Если нужно явно создавать сессии discuss, используйте настоящий адаптер канала, например Telegram или Discord.

Это работает во всех поддерживаемых каналах:

### Во внешних каналах (Telegram, Discord, Feishu и других)

Отправьте `/new`, `/new chat` или `/new discuss` сообщением Bot. Он:

1. Создаст новую сессию запрошенного или выведенного типа.
2. Направит все ваши последующие сообщения в эту новую сессию.
3. История предыдущей сессии сохранится, но перестанет быть активной.

Это особенно полезно, когда:

* вы хотите сменить тему, чтобы Bot не ссылался на старый контекст;
* разговор стал слишком длинным и хочется чистого старта;
* вы переключаетесь между разными задачами.

### В приложении

В приложении есть боковая панель сессий, где можно:

* Нажать кнопку **New Session**, чтобы создать свежую сессию chat.
* Переключаться между существующими сессиями, щёлкая по ним.
* Искать сессии по содержимому.
* Фильтровать сессии по типу (`chat`, `discuss`, `schedule`, `subagent`, `acp_agent`).
* Переименовывать и удалять сессии.

***

## Управление сессиями

### Просмотр сессий

В приложении боковая панель сессий показывает все сессии выбранного Bot. Для каждой записи видны:

* **Title** — название сессии (сгенерированное автоматически или заданное пользователем).
* **Type** — значок типа сессии.
* **Last Activity** — когда сессия была активна в последний раз.

Для повседневной работы сессии `chat` и `discuss` намеренно показываются вместе: и те и другие — ветки диалога, обращённые к пользователю.

### Переименование сессий

Щёлкните по названию сессии, чтобы переименовать её. Это помогает упорядочивать разговоры по темам.

### Удаление сессий

Удаляйте сессии, которые больше не нужны. Удаление сессии безвозвратно стирает её историю сообщений.

***

## Панель статуса сессии

Панель статуса сессии даёт компактную сводку по активной сессии во время работы. Это та же информация, которую показывает `/status`.

Ключевые поля:

* **Messages** — общее число сообщений в сессии
* **Context Usage** — занятые токены относительно `context_window` выбранной модели
* **Cache Hit Rate** — какая доля ввода пришла из чтений кэша
* **Cache Read / Cache Write** — счётчики токенов, связанные с кэшированием
* **Skills** — действующие навыки, использованные в сессии

Панель также содержит кнопку **Compact Now**, которая немедленно запускает [сжатие контекста](./compaction.md) для текущей сессии.

***

## Как сессии связаны с другими функциями

* Сессии **Discuss** оптимизированы для каналов, где Bot должен наблюдать и говорить выборочно, особенно в групповых разговорах.
* Сессии **Schedule** создаются при запуске задачи по расписанию. Загляните в них, чтобы увидеть результаты команд, запущенных по cron.
* Сессии **Subagent** отслеживают делегированные задачи и показывают независимый рабочий контекст каждого вызова субагента. Субагенты получают почти полный набор инструментов родительского Bot — включая рабочее пространство, браузер, память и инструменты MCP, — но не могут напрямую писать пользователям, задавать пользователю вопросы или порождать новых субагентов. Делегируя, Bot может выбрать для каждого субагента свою модель чата и при желании ответвить (fork) в субагента текущий контекст разговора. Панель информации о сессии показывает активных в данный момент субагентов Bot.
* Сессии **ACP Agent** отслеживают работу агентов для программирования, запущенную из чат-пространства через интеграцию Agents/ACP.
* **Память** общая для всех сессий Bot: воспоминания, извлечённые в одной сессии, доступны во всех остальных.
