Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Statuslogica van de menubalk
Wat wordt weergegeven
- We tonen de huidige werkstatus van de agent in het menubalkpictogram en in de eerste statusrij van het menu.
- De gezondheidsstatus is verborgen terwijl er actief werk is; deze keert terug wanneer alle sessies inactief zijn.
- Het blok “Nodes” in het menu vermeldt alleen apparaten (gekoppelde nodes via
node.list), geen client-/aanwezigheidsvermeldingen. - Een sectie “Gebruik” verschijnt onder Context wanneer gebruikssnapshots van providers beschikbaar zijn.
Statusmodel
- Sessies: gebeurtenissen komen binnen met
runId(per run) plussessionKeyin de payload. De “hoofd”-sessie is de sleutelmain; als die ontbreekt, vallen we terug op de meest recent bijgewerkte sessie. - Prioriteit: main wint altijd. Als main actief is, wordt de status daarvan direct weergegeven. Als main inactief is, wordt de meest recent actieve niet-main-sessie weergegeven. We wisselen niet heen en weer midden in activiteit; we schakelen alleen wanneer de huidige sessie inactief wordt of main actief wordt.
- Activiteitstypen:
job: opdrachtuitvoering op hoog niveau (state: started|streaming|done|error).tool:phase: start|resultmettoolNameenmeta/args.
IconState-enum (Swift)
idleworkingMain(ActivityKind)workingOther(ActivityKind)overridden(ActivityKind)(debug-override)
ActivityKind → glyph
exec→ 💻read→ 📄write→ ✍️edit→ 📝attach→ 📎- standaard → 🛠️
Visuele mapping
idle: normaal wezentje.workingMain: badge met glyph, volledige tint, “werkende” beenanimatie.workingOther: badge met glyph, gedempte tint, geen gescharrel.overridden: gebruikt de gekozen glyph/tint ongeacht de activiteit.
Tekst van statusrij (menu)
- Terwijl werk actief is:
<Session role> · <activity label>- Voorbeelden:
Main · exec: pnpm test,Other · read: apps/macos/Sources/OpenClaw/AppState.swift.
- Voorbeelden:
- Wanneer inactief: valt terug op de gezondheidssamenvatting.
Gebeurtenisinname
- Bron: control-channel
agent-gebeurtenissen (ControlChannel.handleAgentEvent). - Geparste velden:
stream: "job"metdata.statevoor starten/stoppen.stream: "tool"metdata.phase,name, optioneelmeta/args.
- Labels:
exec: eerste regel vanargs.command.read/write: verkort pad.edit: pad plus afgeleid wijzigingstype uitmeta/diff-aantallen.- fallback: toolnaam.
Debug-override
- Instellingen ▸ Debug ▸ kiezer “Pictogram-override”:
System (auto)(standaard)Working: main(per tooltype)Working: other(per tooltype)Idle
- Opgeslagen via
@AppStorage("iconOverride"); gemapt naarIconState.overridden.
Testchecklist
- Activeer taak in main-sessie: controleer of het pictogram direct wisselt en de statusrij het main-label toont.
- Activeer taak in niet-main-sessie terwijl main inactief is: pictogram/status toont niet-main; blijft stabiel tot die is voltooid.
- Start main terwijl een andere sessie actief is: pictogram schakelt direct naar main.
- Snelle toolbursts: zorg dat de badge niet flikkert (TTL-speling op toolresultaten).
- Gezondheidsrij verschijnt opnieuw zodra alle sessies inactief zijn.