Керування сесіями
OpenClaw організовує розмови в сесії. Кожне повідомлення маршрутизується до
сесії залежно від того, звідки воно надійшло — DM, групові чати, cron-завдання тощо.
Як маршрутизуються повідомлення
| Джерело | Поведінка |
|---|
| Прямі повідомлення | Спільна сесія за замовчуванням |
| Групові чати | Ізольовано для кожної групи |
| Кімнати/канали | Ізольовано для кожної кімнати |
| Cron-завдання | Нова сесія для кожного запуску |
| Вебхуки | Ізольовано для кожного hook |
Ізоляція DM
За замовчуванням усі DM використовують одну спільну сесію для безперервності. Це підходить для
конфігурацій з одним користувачем.
Якщо кілька людей можуть надсилати повідомлення вашому агенту, увімкніть ізоляцію DM. Без цього всі
користувачі ділять той самий контекст розмови — приватні повідомлення Alice будуть
видимі Bob.
Виправлення:
{
session: {
dmScope: "per-channel-peer", // ізоляція за каналом + відправником
},
}
Інші варіанти:
main (за замовчуванням) — усі DM ділять одну сесію.
per-peer — ізоляція за відправником (між каналами).
per-channel-peer — ізоляція за каналом + відправником (рекомендовано).
per-account-channel-peer — ізоляція за обліковим записом + каналом + відправником.
Якщо та сама людина звертається до вас із кількох каналів, використовуйте
session.identityLinks, щоб пов’язати її ідентичності, і тоді вони ділитимуть одну сесію.
Перевірте своє налаштування за допомогою openclaw security audit.
Життєвий цикл сесії
Сесії повторно використовуються, доки не спливе їхній термін дії:
- Щоденне скидання (за замовчуванням) — нова сесія о 4:00 ранку за місцевим часом на хості gateway.
- Скидання за неактивністю (необов’язково) — нова сесія після періоду бездіяльності. Установіть
session.reset.idleMinutes.
- Ручне скидання — введіть
/new або /reset у чаті. /new <model> також
перемикає модель.
Коли налаштовано і щоденне скидання, і скидання за неактивністю, спрацьовує те, що настає раніше.
Де зберігається стан
Увесь стан сесії належить gateway. UI-клієнти запитують у gateway дані
сесії.
- Сховище:
~/.openclaw/agents/<agentId>/sessions/sessions.json
- Транскрипти:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl
Обслуговування сесій
OpenClaw автоматично обмежує обсяг сховища сесій із часом. За замовчуванням він працює
в режимі warn (повідомляє, що було б очищено). Установіть session.maintenance.mode
в "enforce" для автоматичного очищення:
{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500,
},
},
}
Попередній перегляд: openclaw sessions cleanup --dry-run.
Перегляд сесій
openclaw status — шлях до сховища сесій і нещодавня активність.
openclaw sessions --json — усі сесії (фільтруйте за допомогою --active <minutes>).
/status у чаті — використання контексту, модель і перемикачі.
/context list — що входить до system prompt.
Додаткові матеріали