> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Barra dei menu

## Cosa viene mostrato

* Mostriamo lo stato di lavoro corrente dell'agente nell'icona della barra dei menu e nella prima riga di stato del menu.
* Lo stato di salute è nascosto mentre il lavoro è attivo; ritorna quando tutte le sessioni sono inattive.
* Un sottomenu radice "Contesto" contiene le sessioni recenti invece di espanderle direttamente nel menu radice.
* Il blocco "Nodes" nel menu radice elenca solo i **dispositivi** (nodi associati tramite `node.list`), non le voci client/presenza.
* Una sezione radice "Utilizzo" appare sotto Contesto quando sono disponibili snapshot dell'utilizzo del provider, seguita dai dettagli sui costi di utilizzo quando disponibili.

## Modello di stato

* Sessioni: gli eventi arrivano con `runId` (per esecuzione) più `sessionKey` nel payload. La sessione "main" è la chiave `main`; se assente, ripieghiamo sulla sessione aggiornata più di recente.
* Priorità: main vince sempre. Se main è attiva, il suo stato viene mostrato immediatamente. Se main è inattiva, viene mostrata la sessione non-main attiva più di recente. Non oscilliamo durante l'attività; cambiamo solo quando la sessione corrente diventa inattiva o main diventa attiva.
* Tipi di attività:
  * `job`: esecuzione di comandi ad alto livello (`state: started|streaming|done|error`).
  * `tool`: `phase: start|result` con `toolName` e `meta/args`.

## Enum IconState (Swift)

* `idle`
* `workingMain(ActivityKind)`
* `workingOther(ActivityKind)`
* `overridden(ActivityKind)` (override di debug)

### ActivityKind → glifo

* `exec` → 💻
* `read` → 📄
* `write` → ✍️
* `edit` → 📝
* `attach` → 📎
* predefinito → 🛠️

### Mappatura visiva

* `idle`: creatura normale.
* `workingMain`: badge con glifo, tinta piena, animazione "working" delle zampe.
* `workingOther`: badge con glifo, tinta attenuata, nessuno scatto.
* `overridden`: usa il glifo/la tinta scelti indipendentemente dall'attività.

## Sottomenu Contesto

* Il menu radice mostra una riga "Contesto" con conteggio/stato delle sessioni e apre un sottomenu.
* L'intestazione del sottomenu Contesto mostra il conteggio delle sessioni attive nelle ultime 24 ore.
* Ogni riga di sessione mantiene la propria barra dei token, età, anteprima, azioni di thinking/verbose, reset, compact ed eliminazione.
* I messaggi di caricamento, disconnessione ed errore di caricamento delle sessioni appaiono nel sottomenu Contesto.
* I dettagli di utilizzo del provider e dei costi di utilizzo restano a livello radice sotto Contesto, così rimangono consultabili a colpo d'occhio senza aprire il sottomenu.

## Testo della riga di stato (menu)

* Mentre il lavoro è attivo: `<Session role> · <activity label>`
  * Esempi: `Main · exec: pnpm test`, `Other · read: apps/macos/Sources/OpenClaw/AppState.swift`.
* Quando è inattivo: ripiega sul riepilogo dello stato di salute.

## Acquisizione eventi

* Origine: eventi `agent` del canale di controllo (`ControlChannel.handleAgentEvent`).
* Campi analizzati:
  * `stream: "job"` con `data.state` per avvio/arresto.
  * `stream: "tool"` con `data.phase`, `name`, `meta`/`args` opzionali.
* Etichette:
  * `exec`: prima riga di `args.command`.
  * `read`/`write`: percorso abbreviato.
  * `edit`: percorso più tipo di modifica dedotto da `meta`/conteggi diff.
  * ripiego: nome dello strumento.

## Override di debug

* Impostazioni ▸ Debug ▸ selettore "Override icona":
  * `System (auto)` (predefinito)
  * `Working: main` (per tipo di strumento)
  * `Working: other` (per tipo di strumento)
  * `Idle`
* Salvato tramite `@AppStorage("iconOverride")`; mappato a `IconState.overridden`.

## Checklist di test

* Attiva un job della sessione main: verifica che l'icona cambi immediatamente e che la riga di stato mostri l'etichetta main.
* Attiva un job di sessione non-main mentre main è inattiva: icona/stato mostrano la non-main; resta stabile finché non termina.
* Avvia main mentre un'altra sessione è attiva: l'icona passa istantaneamente a main.
* Raffiche rapide di strumenti: assicurati che il badge non lampeggi (grazia TTL sui risultati degli strumenti).
* La riga di salute riappare quando tutte le sessioni sono inattive.

## Correlati

* [app macOS](/it/platforms/macos)
* [Icona della barra dei menu](/it/platforms/mac/icon)
