Langsung ke konten utama

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

SourceBehavior
Pesan langsungSesi bersama secara default
Obrolan grupTerisolasi per grup
Room/channelTerisolasi per room
Tugas cronSesi baru per eksekusi
WebhookTerisolasi 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