Manajemen Sesi
OpenClaw mengatur percakapan ke dalam sesi. Setiap pesan dirutekan ke sebuah
sesi berdasarkan asalnya — DM, obrolan grup, tugas cron, dan sebagainya.
Bagaimana pesan dirutekan
| Source | Behavior |
|---|
| Pesan langsung | Sesi bersama secara default |
| Obrolan grup | Terisolasi per grup |
| Room/channel | Terisolasi per room |
| Tugas cron | Sesi baru per eksekusi |
| Webhook | Terisolasi per hook |
Isolasi DM
Secara default, semua DM berbagi satu sesi untuk menjaga kontinuitas. Ini cocok untuk
pengaturan pengguna tunggal.
Jika beberapa orang dapat mengirim pesan ke agen Anda, aktifkan isolasi DM. Tanpanya, semua
pengguna berbagi konteks percakapan yang sama — pesan pribadi Alice akan
terlihat oleh Bob.
Perbaikannya:
{
session: {
dmScope: "per-channel-peer", // isolate by channel + sender
},
}
Opsi lainnya:
main (default) — semua DM berbagi satu sesi.
per-peer — terisolasi menurut pengirim (lintas channel).
per-channel-peer — terisolasi menurut channel + pengirim (disarankan).
per-account-channel-peer — terisolasi menurut akun + channel + pengirim.
Jika orang yang sama menghubungi Anda dari beberapa channel, gunakan
session.identityLinks untuk menautkan identitas mereka agar mereka berbagi satu sesi.
Verifikasi pengaturan Anda dengan openclaw security audit.
Siklus hidup sesi
Sesi digunakan kembali sampai kedaluwarsa:
- Reset harian (default) — sesi baru pada pukul 4:00 pagi waktu lokal di host
gateway.
- Reset idle (opsional) — sesi baru setelah periode tidak aktif. Atur
session.reset.idleMinutes.
- Reset manual — ketik
/new atau /reset di chat. /new <model> juga
mengganti model.
Saat reset harian dan idle sama-sama dikonfigurasi, yang kedaluwarsa lebih dulu yang berlaku.
Tempat status disimpan
Semua status sesi dimiliki oleh gateway. Klien UI mengueri gateway untuk
data sesi.
- Penyimpanan:
~/.openclaw/agents/<agentId>/sessions/sessions.json
- Transkrip:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl
Pemeliharaan sesi
OpenClaw secara otomatis membatasi penyimpanan sesi seiring waktu. Secara default, OpenClaw berjalan
dalam mode warn (melaporkan apa yang akan dibersihkan). Setel session.maintenance.mode
ke "enforce" untuk pembersihan otomatis:
{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500,
},
},
}
Pratinjau dengan openclaw sessions cleanup --dry-run.
Memeriksa sesi
openclaw status — path penyimpanan sesi dan aktivitas terbaru.
openclaw sessions --json — semua sesi (filter dengan --active <minutes>).
/status di chat — penggunaan konteks, model, dan toggle.
/context list — apa yang ada di prompt sistem.
Bacaan lanjutan