Sessions and memory
Oturum araçları
OpenClaw, aracılara oturumlar arasında çalışmak, durumu incelemek ve alt aracıları orkestre etmek için araçlar sağlar.
Kullanılabilir araçlar
| Araç | Ne yapar |
|---|---|
sessions_list |
İsteğe bağlı filtrelerle oturumları listeler (tür, etiket, aracı, güncellik, önizleme) |
sessions_history |
Belirli bir oturumun dökümünü okur |
sessions_send |
Başka bir oturuma mesaj gönderir ve isteğe bağlı olarak bekler |
sessions_spawn |
Arka plan çalışması için izole bir alt aracı oturumu başlatır |
sessions_yield |
Geçerli turu sonlandırır ve takip eden alt aracı sonuçlarını bekler |
subagents |
Bu oturum için başlatılmış alt aracıları listeler, yönlendirir veya sonlandırır |
session_status |
/status tarzı bir kart gösterir ve isteğe bağlı olarak oturum başına model geçersiz kılması ayarlar |
Bu araçlar hâlâ etkin araç profiline ve izin/verme engelleme politikasına
tabidir. tools.profile: "coding", sessions_spawn, sessions_yield ve
subagents dahil olmak üzere tam oturum orkestrasyonu kümesini içerir.
tools.profile: "messaging" oturumlar arası mesajlaşma araçlarını
(sessions_list, sessions_history, sessions_send, session_status) içerir
ancak alt aracı başlatmayı içermez. Mesajlaşma profilini koruyup yine de yerel
delegasyona izin vermek için şunu ekleyin:
{
tools: {
profile: "messaging",
alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
},
}
Grup, sağlayıcı, sandbox ve aracı başına politikalar, profil aşamasından sonra
bu araçları yine de kaldırabilir. Etkilenen oturumdan /tools kullanarak
etkin araç listesini inceleyin.
Oturumları listeleme ve okuma
sessions_list, oturumları anahtarları, agentId, türleri, kanalları, modelleri,
token sayıları ve zaman damgalarıyla döndürür. Türe (main, group, cron,
hook, node), tam label, tam agentId, arama metni veya güncelliğe
(activeMinutes) göre filtreleyin. Posta kutusu tarzı önceliklendirmeye
ihtiyacınız olduğunda, her satır için görünürlük kapsamlı türetilmiş bir başlık,
son mesaj önizleme parçası veya sınırlandırılmış son mesajlar da isteyebilir.
Türetilmiş başlıklar ve önizlemeler yalnızca çağıranın yapılandırılmış oturum
aracı görünürlük politikası altında zaten görebildiği oturumlar için üretilir,
böylece ilgisiz oturumlar gizli kalır.
sessions_history, belirli bir oturumun konuşma dökümünü getirir.
Varsayılan olarak araç sonuçları hariç tutulur; bunları görmek için
includeTools: true iletin. Döndürülen görünüm bilinçli olarak sınırlandırılmış
ve güvenlik açısından filtrelenmiştir:
- asistan metni geri çağırmadan önce normalleştirilir:
- düşünme etiketleri kaldırılır
<relevant-memories>/<relevant_memories>iskelet blokları kaldırılır<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>ve<function_calls>...</function_calls>gibi düz metin araç çağrısı XML yük blokları, düzgün kapanmayan kesilmiş yükler dahil kaldırılır[Tool Call: ...],[Tool Result ...]ve[Historical context ...]gibi düşürülmüş araç çağrısı/sonuç iskeletleri kaldırılır<|assistant|>gibi sızmış model kontrol token’ları, diğer ASCII<|...|>token’ları ve tam genişlikli<|...|>varyantları kaldırılır<invoke ...>/</minimax:tool_call>gibi hatalı biçimlendirilmiş MiniMax araç çağrısı XML’i kaldırılır
- kimlik bilgisi/token benzeri metin döndürülmeden önce redakte edilir
- uzun metin blokları kesilir
- çok büyük geçmişler eski satırları düşürebilir veya aşırı büyük bir satırı
[sessions_history omitted: message too large]ile değiştirebilir - araç
truncated,droppedMessages,contentTruncated,contentRedactedvebytesgibi özet bayrakları raporlar
Her iki araç da önceki bir liste çağrısından gelen bir oturum anahtarını
("main" gibi) veya bir oturum kimliğini kabul eder.
Tam bayt bayt aynı konuşma dökümüne ihtiyacınız varsa, sessions_history’yi ham
döküm gibi ele almak yerine diskteki döküm dosyasını inceleyin.
Oturumlar arası mesaj gönderme
sessions_send, başka bir oturuma mesaj iletir ve isteğe bağlı olarak yanıtı
bekler:
- Gönder ve unut: kuyruğa alıp hemen dönmek için
timeoutSeconds: 0ayarlayın. - Yanıtı bekle: bir zaman aşımı ayarlayın ve yanıtı satır içinde alın.
Slack veya Discord anahtarlarının :thread:<id> ile bitmesi gibi iş parçacığı
kapsamlı sohbet oturumları geçerli sessions_send hedefleri değildir. Aracılar
arası koordinasyon için üst kanal oturum anahtarını kullanın; böylece araçla
yönlendirilen mesajlar etkin, insana dönük bir iş parçacığının içinde görünmez.
Mesajlar ve A2A takip yanıtları, alıcı prompt içinde
([Inter-session message ... isUser=false]) ve döküm köken bilgisinde oturumlar
arası veri olarak işaretlenir. Alıcı aracı bunları doğrudan son kullanıcı
tarafından yazılmış bir talimat olarak değil, araçla yönlendirilmiş veri olarak
ele almalıdır.
Hedef yanıt verdikten sonra OpenClaw, aracıların sırayla mesajlaştığı bir
yanıt-geri döngüsü çalıştırabilir (en fazla 5 tur). Hedef aracı erken
durdurmak için REPLY_SKIP yanıtını verebilir.
Durum ve orkestrasyon yardımcıları
session_status, geçerli veya görünür başka bir oturum için hafif
/status eşdeğeri araçtır. Kullanımı, zamanı, model/çalışma zamanı durumunu ve
varsa bağlı arka plan görev bağlamını raporlar. /status gibi, seyrek
token/cache sayaçlarını son döküm kullanım girdisinden geriye dönük
doldurabilir ve model=default oturum başına geçersiz kılmayı temizler.
Çağıranın geçerli oturumu için sessionKey="current" kullanın; openclaw-tui
gibi görünür istemci etiketleri oturum anahtarı değildir.
sessions_yield, beklediğiniz takip olayının bir sonraki mesaj olabilmesi için
geçerli turu bilinçli olarak sonlandırır. Tamamlanma sonuçlarının yoklama
döngüleri kurmak yerine bir sonraki mesaj olarak gelmesini istediğinizde, alt
aracıları başlattıktan sonra bunu kullanın.
subagents, zaten başlatılmış OpenClaw alt aracıları için kontrol düzlemi
yardımcısıdır. Şunları destekler:
- etkin/son çalıştırmaları incelemek için
action: "list" - çalışan bir alt aracıya takip yönlendirmesi göndermek için
action: "steer" - bir alt aracı veya
alldurdurmak içinaction: "kill"
Alt aracıları başlatma
sessions_spawn, varsayılan olarak bir arka plan görevi için izole bir oturum
oluşturur. Her zaman engellemesizdir; hemen bir runId ve childSessionKey ile
döner.
Temel seçenekler:
runtime: "subagent"(varsayılan) veya harici denetim aracıları için"acp".- Alt oturum için
modelvethinkinggeçersiz kılmaları. - Başlatmayı bir sohbet iş parçacığına bağlamak için
thread: true(Discord, Slack vb.). - Alt oturumda sandbox uygulanmasını zorunlu kılmak için
sandbox: "require". - Alt aracı geçerli istekte bulunan dökümüne ihtiyaç duyduğunda yerel alt aracılar
için
context: "fork"; temiz bir alt aracı için bunu atlayın veyacontext: "isolated"kullanın. İş parçacığına bağlı yerel alt aracılar,threadBindings.defaultSpawnContextaksi yönde söylemedikçe varsayılan olarakcontext: "fork"kullanır.
Varsayılan yaprak alt aracılar oturum araçları almaz. maxSpawnDepth >= 2
olduğunda, depth-1 orkestratör alt aracılar ayrıca sessions_spawn,
subagents, sessions_list ve sessions_history alır; böylece kendi alt
aracılarını yönetebilirler. Yaprak çalıştırmalar yine de özyinelemeli
orkestrasyon araçları almaz.
Tamamlandıktan sonra, bir duyuru adımı sonucu istekte bulunanın kanalına
gönderir. Tamamlanma teslimi, mevcut olduğunda bağlı iş parçacığı/konu
yönlendirmesini korur; tamamlanma kaynağı yalnızca bir kanalı tanımlıyorsa
OpenClaw doğrudan teslimat için istekte bulunan oturumun saklanan rotasını
(lastChannel / lastTo) yine de yeniden kullanabilir.
ACP’ye özgü davranış için bkz. ACP Aracıları.
Görünürlük
Oturum araçları, aracının neleri görebileceğini sınırlamak için kapsamlanır:
| Düzey | Kapsam |
|---|---|
self |
Yalnızca geçerli oturum |
tree |
Geçerli oturum + başlatılmış alt aracılar |
agent |
Bu aracıya ait tüm oturumlar |
all |
Tüm oturumlar (yapılandırılmışsa aracılar arası) |
Varsayılan tree’dir. Sandbox uygulanmış oturumlar, yapılandırmadan bağımsız
olarak tree ile sınırlandırılır.
Ek okuma
- Oturum Yönetimi -- yönlendirme, yaşam döngüsü, bakım
- ACP Aracıları -- harici denetim aracı başlatma
- Çok aracılı -- çok aracılı mimari
- Gateway Yapılandırması -- oturum aracı yapılandırma düğmeleri