Sessions and memory
Sessietools
OpenClaw geeft agents tools om tussen sessies te werken, status te inspecteren en subagents te orkestreren.
Beschikbare tools
| Tool | Wat het doet |
|---|---|
sessions_list |
Sessies weergeven met optionele filters (soort, label, agent, recentheid, preview) |
sessions_history |
Het transcript van een specifieke sessie lezen |
sessions_send |
Een bericht naar een andere sessie sturen en optioneel wachten |
sessions_spawn |
Een geisoleerde subagentsessie starten voor achtergrondwerk |
sessions_yield |
De huidige beurt beeindigen en wachten op vervolgresultaten van subagents |
subagents |
Gestarte subagents voor deze sessie weergeven, bijsturen of stoppen |
session_status |
Een kaart in /status-stijl tonen en optioneel een modelspecifieke override per sessie instellen |
Deze tools vallen nog steeds onder het actieve toolprofiel en het toestaan/weigeren-
beleid. tools.profile: "coding" bevat de volledige set voor sessie-orkestratie,
inclusief sessions_spawn, sessions_yield en subagents.
tools.profile: "messaging" bevat tools voor berichten tussen sessies
(sessions_list, sessions_history, sessions_send, session_status), maar
bevat geen starten van subagents. Voeg het volgende toe om een messaging-profiel te behouden en toch
native delegatie toe te staan:
{
tools: {
profile: "messaging",
alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
},
}
Groeps-, provider-, sandbox- en per-agentbeleid kunnen die tools na de
profielstap nog steeds verwijderen. Gebruik /tools vanuit de betrokken sessie
om de effectieve toollijst te inspecteren.
Sessies weergeven en lezen
sessions_list retourneert sessies met hun key, agentId, soort, kanaal, model,
tokentellingen en tijdstempels. Filter op soort (main, group, cron, hook,
node), exacte label, exacte agentId, zoektekst of recentheid
(activeMinutes). Wanneer je mailboxachtige triage nodig hebt, kan het ook vragen om een
zichtbaarheidsgebonden afgeleide titel, een previewfragment van het laatste bericht of begrensde
recente berichten voor elke rij. Afgeleide titels en previews worden alleen gemaakt voor
sessies die de aanroeper al kan zien volgens het geconfigureerde zichtbaarheidbeleid voor sessietools,
zodat niet-gerelateerde sessies verborgen blijven.
sessions_history haalt het conversatietranscript op voor een specifieke sessie.
Standaard worden toolresultaten uitgesloten -- geef includeTools: true door om ze te zien.
De geretourneerde weergave is bewust begrensd en op veiligheid gefilterd:
- assistenttekst wordt genormaliseerd voordat deze wordt opgehaald:
- thinking-tags worden verwijderd
<relevant-memories>/<relevant_memories>-scaffoldingblokken worden verwijderd- tool-call-XML-payloadblokken in platte tekst, zoals
<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>en<function_calls>...</function_calls>worden verwijderd, inclusief afgekorte payloads die nooit netjes sluiten - gedegradeerde tool-call/result-scaffolding zoals
[Tool Call: ...],[Tool Result ...]en[Historical context ...]wordt verwijderd - gelekte modelcontroletokens zoals
<|assistant|>, andere ASCII-<|...|>-tokens en full-width<|...|>-varianten worden verwijderd - ongeldige MiniMax-tool-call-XML zoals
<invoke ...>/</minimax:tool_call>wordt verwijderd
- tekst die op inloggegevens/tokens lijkt, wordt geredigeerd voordat die wordt geretourneerd
- lange tekstblokken worden afgekapt
- zeer grote geschiedenissen kunnen oudere rijen laten vallen of een te grote rij vervangen door
[sessions_history omitted: message too large] - de tool rapporteert samenvattingsvlaggen zoals
truncated,droppedMessages,contentTruncated,contentRedactedenbytes
Beide tools accepteren een session key (zoals "main") of een sessie-ID
uit een eerdere lijstaanroep.
Als je het exacte byte-voor-byte transcript nodig hebt, inspecteer dan het transcriptbestand op
schijf in plaats van sessions_history als ruwe dump te behandelen.
Berichten tussen sessies sturen
sessions_send levert een bericht af bij een andere sessie en wacht optioneel op
het antwoord:
- Fire-and-forget: stel
timeoutSeconds: 0in om in de wachtrij te plaatsen en direct terug te keren. - Wachten op antwoord: stel een timeout in en krijg het antwoord inline.
Thread-gebonden chatsessies, zoals Slack- of Discord-keys die eindigen op
:thread:<id>, zijn geen geldige doelen voor sessions_send. Gebruik de key van de bovenliggende
kanaalsessie voor coordinatie tussen agents, zodat via tools gerouteerde berichten niet verschijnen
in een actieve mensgerichte thread.
Berichten en A2A-vervolgantwoorden worden gemarkeerd als intersessiegegevens in de
ontvangende prompt ([Inter-session message ... isUser=false]) en in transcript-
provenance. De ontvangende agent moet ze behandelen als via tools gerouteerde gegevens, niet als een
directe instructie die door de eindgebruiker is geschreven.
Nadat het doel heeft gereageerd, kan OpenClaw een reply-back-loop uitvoeren waarbij de
agents beurtelings berichten sturen (tot 5 beurten). De doelagent kan antwoorden met
REPLY_SKIP om vroegtijdig te stoppen.
Status- en orkestratiehelpers
session_status is de lichtgewicht /status-equivalente tool voor de huidige
of een andere zichtbare sessie. De tool rapporteert gebruik, tijd, model-/runtimestatus en
gekoppelde context voor achtergrondtaken wanneer aanwezig. Net als /status kan de tool
schaarse token-/cachetellers aanvullen vanuit de nieuwste transcriptgebruikentry, en
model=default wist een override per sessie. Gebruik sessionKey="current" voor
de huidige sessie van de aanroeper; zichtbare clientlabels zoals openclaw-tui zijn
geen sessiekeys.
sessions_yield beeindigt bewust de huidige beurt, zodat het volgende bericht de
vervolgevent kan zijn waarop je wacht. Gebruik dit na het starten van subagents wanneer
je wilt dat voltooiingsresultaten als het volgende bericht aankomen in plaats van
poll-lussen te bouwen.
subagents is de control-plane-helper voor reeds gestarte OpenClaw-
subagents. Deze ondersteunt:
action: "list"om actieve/recente runs te inspecterenaction: "steer"om vervolginstructies naar een draaiend kind te sturenaction: "kill"om een kind ofallte stoppen
Subagents starten
sessions_spawn maakt standaard een geisoleerde sessie voor een achtergrondtaak.
De tool is altijd niet-blokkerend -- hij retourneert direct met een runId en
childSessionKey.
Belangrijke opties:
runtime: "subagent"(standaard) of"acp"voor externe harness-agents.model- enthinking-overrides voor de kindsessie.thread: trueom de spawn aan een chatthread te binden (Discord, Slack, enzovoort).sandbox: "require"om sandboxing voor het kind af te dwingen.context: "fork"voor native subagents wanneer het kind het huidige aanvraagtranscript nodig heeft; laat dit weg of gebruikcontext: "isolated"voor een schoon kind. Thread-gebonden native subagents gebruiken standaardcontext: "fork"tenzijthreadBindings.defaultSpawnContextanders aangeeft.
Standaard leaf-subagents krijgen geen sessietools. Wanneer
maxSpawnDepth >= 2, ontvangen diepte-1-orkestrator-subagents daarnaast
sessions_spawn, subagents, sessions_list en sessions_history, zodat ze
hun eigen kinderen kunnen beheren. Leaf-runs krijgen nog steeds geen recursieve
orkestratietools.
Na voltooiing plaatst een aankondigingsstap het resultaat in het kanaal van de aanvrager.
Voltooiingslevering behoudt gebonden thread-/topic-routing wanneer beschikbaar, en als
de voltooiingsoorsprong alleen een kanaal identificeert, kan OpenClaw nog steeds de
opgeslagen route (lastChannel / lastTo) van de aanvraagsessie opnieuw gebruiken voor directe
levering.
Zie ACP Agents voor ACP-specifiek gedrag.
Zichtbaarheid
Sessietools zijn scoped om te beperken wat de agent kan zien:
| Niveau | Scope |
|---|---|
self |
Alleen de huidige sessie |
tree |
Huidige sessie + gestarte subagents |
agent |
Alle sessies voor deze agent |
all |
Alle sessies (cross-agent indien geconfigureerd) |
Standaard is tree. Gesandboxte sessies worden tot tree begrensd, ongeacht
de configuratie.
Verder lezen
- Sessiebeheer -- routing, lifecycle, onderhoud
- ACP Agents -- starten van externe harnesses
- Multi-agent -- multi-agentarchitectuur
- Gateway-configuratie -- configuratieknoppen voor sessietools