Sessions and memory
Oturum yönetimi
OpenClaw konuşmaları oturumlar halinde düzenler. Her mesaj, geldiği yere göre bir oturuma yönlendirilir -- DM'ler, grup sohbetleri, cron işleri vb.
Mesajlar nasıl yönlendirilir
| Kaynak | Davranış |
|---|---|
| Doğrudan mesajlar | Varsayılan olarak paylaşılan oturum |
| Grup sohbetleri | Grup başına yalıtılmış |
| Odalar/kanallar | Oda başına yalıtılmış |
| Cron işleri | Her çalıştırmada yeni oturum |
| Webhook'lar | Hook başına yalıtılmış |
DM yalıtımı
Varsayılan olarak, süreklilik için tüm DM'ler tek bir oturumu paylaşır. Bu, tek kullanıcılı kurulumlar için uygundur.
Düzeltme:
{
session: {
dmScope: "per-channel-peer", // isolate by channel + sender
},
}
Diğer seçenekler:
main(varsayılan) -- tüm DM'ler tek bir oturumu paylaşır.per-peer-- gönderene göre yalıt (kanallar arasında).per-channel-peer-- kanala + gönderene göre yalıt (önerilir).per-account-channel-peer-- hesaba + kanala + gönderene göre yalıt.
Bağlı kanalları yerleştirme
Dock komutları, kullanıcının yeni bir oturum başlatmadan mevcut doğrudan sohbet oturumunun yanıt rotasını başka bir bağlı kanala taşımasına izin verir. Örnekler, yapılandırma ve sorun giderme için Kanal yerleştirme bölümüne bakın.
Kurulumunuzu openclaw security audit ile doğrulayın.
Oturum yaşam döngüsü
Oturumlar süreleri dolana kadar yeniden kullanılır:
- Günlük sıfırlama (varsayılan) -- Gateway ana makinesindeki yerel saatle
04:00'te yeni oturum. Günlük yenilik, daha sonraki metadata yazımlarına değil,
mevcut
sessionIddeğerinin başladığı zamana dayanır. - Boşta sıfırlama (isteğe bağlı) -- bir hareketsizlik süresinden sonra yeni oturum.
session.reset.idleMinutesdeğerini ayarlayın. Boşta yenilik, son gerçek kullanıcı/kanal etkileşimine dayanır; bu nedenle heartbeat, cron ve exec sistem olayları oturumu canlı tutmaz. - Manuel sıfırlama -- sohbette
/newveya/resetyazın./new <model>ayrıca modeli değiştirir.
Hem günlük hem de boşta sıfırlamalar yapılandırıldığında, önce hangisinin süresi dolarsa o uygulanır. Heartbeat, cron, exec ve diğer sistem olayı turları oturum metadata'sı yazabilir, ancak bu yazımlar günlük veya boşta sıfırlama yeniliğini uzatmaz. Bir sıfırlama oturumu değiştirdiğinde, eski oturum için kuyruğa alınmış sistem olayı bildirimleri atılır; böylece eski arka plan güncellemeleri yeni oturumdaki ilk istemin başına eklenmez.
Etkin, sağlayıcıya ait CLI oturumu olan oturumlar örtük günlük varsayılan tarafından
kesilmez. Bu oturumların bir zamanlayıcıyla süresinin dolması gerektiğinde /reset kullanın
veya session.reset değerini açıkça yapılandırın.
Durum nerede tutulur
Tüm oturum durumu Gateway tarafından sahiplenilir. UI istemcileri oturum verileri için Gateway'i sorgular.
- Depo:
~/.openclaw/agents/<agentId>/sessions/sessions.json - Dökümler:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl
sessions.json ayrı yaşam döngüsü zaman damgaları tutar:
sessionStartedAt: mevcutsessionIddeğerinin başladığı zaman; günlük sıfırlama bunu kullanır.lastInteractionAt: boşta yaşam süresini uzatan son kullanıcı/kanal etkileşimi.updatedAt: son depo satırı değişikliği; listeleme ve budama için kullanışlıdır, ancak günlük/boşta sıfırlama yeniliği için yetkili değildir.
sessionStartedAt içermeyen eski satırlar, varsa transcript JSONL oturum başlığından
çözümlenir. Daha eski bir satırda lastInteractionAt da yoksa,
boşta yenilik, daha sonraki kayıt tutma yazımlarına değil, o oturum başlangıç zamanına
geri döner.
Oturum bakımı
OpenClaw zaman içinde oturum depolamasını otomatik olarak sınırlar. Varsayılan olarak
warn modunda çalışır (neyin temizleneceğini raporlar). Otomatik temizlik için
session.maintenance.mode değerini "enforce" olarak ayarlayın:
{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500,
},
},
}
Üretim boyutundaki maxEntries sınırları için Gateway runtime yazımları küçük bir yüksek su işareti tamponu kullanır ve toplu işlemler halinde yapılandırılmış sınıra geri temizler. Oturum deposu okumaları Gateway başlangıcı sırasında girdileri budamaz veya sınırlamaz. Bu, her başlangıçta veya yalıtılmış cron oturumunda tam depo temizliği çalıştırmayı önler. openclaw sessions cleanup --enforce sınırı hemen uygular.
Bakım, grup oturumları ve thread kapsamlı sohbet oturumları dahil dayanıklı harici konuşma işaretçilerini korurken, sentetik cron, hook, heartbeat, ACP ve alt ajan girdilerinin zamanla eskimesine yine de izin verir.
Daha önce doğrudan mesaj yalıtımı kullandıysanız ve daha sonra session.dmScope
değerini main değerine döndürdüyseniz, eski peer anahtarlı DM satırlarını
openclaw sessions cleanup --dry-run --fix-dm-scope ile önizleyin. Aynı flag uygulandığında
bu eski doğrudan DM satırları emekliye ayrılır ve transcript'leri silinmiş
arşivler olarak tutulur.
openclaw sessions cleanup --dry-run ile önizleyin.
Oturumları inceleme
openclaw status-- oturum deposu yolu ve son etkinlik.openclaw sessions --json-- tüm oturumlar (--active <minutes>ile filtreleyin).- Sohbette
/status-- bağlam kullanımı, model ve geçişler. /context list-- sistem isteminde ne olduğu.
Daha fazla okuma
- Oturum Budama -- araç sonuçlarını kırpma
- Compaction -- uzun konuşmaları özetleme
- Oturum Araçları -- oturumlar arası çalışma için ajan araçları
- Oturum Yönetimi Derinlemesine İnceleme -- depo şeması, transcript'ler, gönderim ilkesi, kaynak metadata'sı ve gelişmiş yapılandırma
- Çoklu Ajan — ajanlar arasında yönlendirme ve oturum yalıtımı
- Arka Plan Görevleri — ayrılmış çalışmanın oturum referanslarıyla görev kayıtlarını nasıl oluşturduğu
- Kanal Yönlendirme — gelen mesajların oturumlara nasıl yönlendirildiği