06/Documentation
Agenti durevoli sul telefono
Come appaiono la sezione, le conversazioni, le domande e le ricevute di un agente durevole
Sperimentale. Gli elementi visualizzati da un durable agent sul telefono potrebbero cambiare, o la funzionalità potrebbe essere rimossa, in una minor release successiva. Agenti durevoli illustra i criteri che ne determinano la permanenza.
Questa pagina mostra ogni posizione in cui un durable agent compare sul telefono: la sua riga sulla dashboard, l'elenco delle conversazioni, le sue domande, la chat, i relativi elementi di avvio e i suoi push. Agenti durevoli collega prima un durable agent.
Un durable agent disegna un controllo unicamente per le funzionalità dichiarate nel proprio hello. Una riga sottostante che indica un controllo presuppone che il durable agent lo abbia dichiarato.
La sezione Durable agents sulla dashboard
Ciascun durable agent occupa una riga nella sezione Durable agents, separata dagli spazi.

| parte della riga | cosa mostra |
|---|---|
| Riga 1 | Il nome del durable agent da sources.json e un badge Experimental |
| Riga 2 | Il suo runtime, il nome che il durable agent si attribuisce nel proprio hello, altrimenti durable. Poi local o remote |
| Bordo destro, pronto | Il conteggio delle sue conversazioni aperte e, nel colore per le richieste di intervento, il conteggio di quelle in attesa dell'utente. Il secondo conteggio viene nascosto a zero |
| Bordo destro, non pronto | La voce Starting, Unreachable o Version mismatch, senza conteggi |
Un durable agent raggiunto tramite il suo socket, o tramite http://127.0.0.1 o http://localhost, è local. Qualsiasi altro URL è remote.
La sezione si trova sotto gli spazi dell'utente. Si sposta sopra di essi se un durable agent ha una conversazione in attesa dell'utente, e torna sotto quando si risponde all'ultima. Senza alcun durable agent collegato, la sezione non viene mostrata affatto.
Con "Mostra solo riquadri con richieste in sospeso" attivo, la sezione elenca solo i durable agent in attesa dell'utente. Toccare una riga in qualunque stato per aprire l'elenco delle conversazioni di quel durable agent.
L'elenco delle conversazioni
La home di un durable agent elenca le sue conversazioni come un'app di messaggistica elenca le sue chat.

Gli elementi in attesa dell'utente compaiono per primi, seguiti dalle altre conversazioni aperte, dalla più recente alla meno recente. Seguono quelle chiuse sotto l'etichetta Closed. Ogni riga mostra il titolo, il contrassegno di stato, l'orario dell'ultima attività e una riga sottostante: la domanda in attesa, altrimenti il sottotitolo del durable agent. Una riga in attesa conta anche le relative domande aperte. Una riga senza titolo riporta "Untitled conversation".
Toccare una riga aperta per aprirla in Chat. Toccare una riga chiusa per consultarla in sola lettura. Una conversazione chiusa presenta un pulsante Reopen se il durable agent supporta la riapertura.
Le righe aperte provengono dai dati della dashboard stessa, quindi vengono mostrate immediatamente. Quelle chiuse provengono dal durable agent, a cui Collie invia una richiesta a ogni visita e di nuovo quando una conversazione si apre o si chiude, mai a ogni poll.
| in fondo all'elenco | quando |
|---|---|
| Carica altri | Il durable agent ha più di 100 conversazioni. Ogni tocco legge le 100 successive |
| "Questo durable agent non conserva un elenco delle sue conversazioni." | Il durable agent ha risposto di non conservare alcun elenco |
| "Il durable agent non ha risposto. Riprovare tra un momento." | Il durable agent non ha risposto alla lettura |
| "Il durable agent utilizza il protocollo wire v2, questa versione di Collie utilizza la v1. Aggiornare Collie o l'SDK dell'agente." | Collie ha rifiutato il durable agent per la sua versione wire (Ricevute) |
| "Impossibile caricare le conversazioni. Riprovare." | La lettura non è riuscita durante il trasferimento |
Un agent durevole che non conserva la cronologia mostra solo le proprie conversazioni aperte, senza alcun gruppo Chiuso e senza note. Un elenco già tracciato rimane visibile in caso di errore di una lettura successiva.
Una domanda sul telefono
La domanda di un agent durevole è una scheda nella chat, sotto la chiamata dello strumento a cui si riferisce.

La didascalia indica il nome dell'agent durevole: "Needs your answer · desk". Quando l'agent durevole ha impostato una scadenza, la riga sotto il titolo mostra il conto alla rovescia: "Expires in 4 min", poi "Expires in 40 s", infine "Expired". Oltre la scadenza i pulsanti rimangono e l'agent durevole risponde autonomamente a un tocco tardivo.
| tipo | cosa mostra la scheda | limiti |
|---|---|---|
permission | Un pulsante per opzione, con le diciture di Collie: Allow, Always allow, Deny o Cancel. L'etichetta originale dell'agent durevole appare come seconda riga secondaria | Fino a 6 opzioni |
choice | Una riga per opzione. Un tocco invia la scelta. Con multiple, le righe si attivano o disattivano sotto "Pick any number" e Send invia l'insieme selezionato | Fino a 8 opzioni |
text | Una riga di testo, un conteggio come "12 of 500" e Send | 500 caratteri, oppure il limite dell'agent durevole fino a 2000 |
form | I campi incolonnati sotto un unico Send: una riga di testo, una scelta da un elenco o un interruttore. Un campo obbligatorio riporta Required | Fino a 6 campi |
"Always allow" richiede due tocchi. Il primo tocco cambia il pulsante in "Tap again to always allow" e nel nome dello strumento. Il secondo tocco invia la risposta. Collie non lo propone se la domanda non indica alcuno strumento.
Quando Collie ha dovuto tagliare o ripulire il testo dell'agent durevole, la scheda riporta "Text shortened" e non offre "Always allow", poiché il testo completo non è stato mostrato.
Una scheda di tipo non riconosciuto da questa istanza di Collie mostra il testo originale e riporta "This ask cannot be answered from the phone.". Una conversazione disegna le prime 5 domande come schede, mentre una riga "Show N more" apre le rimanenti.
Cosa accade dopo un tocco
Ogni tocco include un request id; solo un tocco invia una risposta.
| cosa è accaduto | cosa riporta la scheda | cosa fare |
|---|---|---|
| L'agent durevole ha acquisito la risposta | Nulla: la scheda si chiude | Nulla |
| L'agent durevole ha deciso prima | "Decided in the durable agent." | Nulla. La chat ne conserva una riga |
| La domanda è scaduta prima | "Tempo scaduto prima di una risposta." | Nulla. La chat ne conserva una riga |
| È arrivata prima un'altra risposta | "Già risposto. Questa scheda scompare al prossimo aggiornamento." | Nulla |
| La domanda non era aperta e l'agente durevole non ne ha indicato il motivo | "Non accettata. La domanda potrebbe ricomparire a breve." | Attendere. Un agente durevole riavviato ripropone la domanda |
| La domanda è cambiata nel frattempo | "Questa richiesta è cambiata. Rileggerla, poi toccare una risposta." | Leggere il nuovo testo e toccare di nuovo |
| La risposta potrebbe non essere arrivata | "Non è certo che la risposta sia arrivata. Riprova la invia un'altra volta." | Toccare Riprova. Invia lo stesso ID richiesta, quindi l'agente durevole la riceve una sola volta |
| Un nuovo tentativo ha trovato la domanda chiusa o modificata | "Potrebbe essere già applicata. Controllare la chat." | Controllare la chat |
| Collie ha rifiutato la risposta | Il motivo fornito da Collie, altrimenti "La risposta è stata rifiutata." | Leggere il motivo |
| La macchina dell'agente durevole esegue una versione precedente di Collie | "Questa macchina esegue una versione precedente di Collie e non può ricevere risposte qui. Aggiornarla oppure rispondere nell'agente durevole." | Aggiornare tale macchina |
Ricevute
Collie indica come si è conclusa una domanda senza risposta e perché un agente durevole viene rifiutato.

| caso | cosa viene mostrato |
|---|---|
| La domanda ha una scadenza | La scheda mostra il tempo rimanente sotto il titolo |
| Il tocco è avvenuto dopo la decisione dell'agente durevole o dopo la scadenza | La scheda si blocca e indica "Risolto nell'agente durevole." oppure "Tempo scaduto prima di una risposta." |
| Una domanda è scaduta, oppure il durable agent l'ha risolta, senza alcun tocco da parte dell'utente | Una riga nella chat: "Timed out before an answer:" o "Decided in the durable agent:", seguita dal titolo della domanda |
| Collie ha rifiutato il durable agent a causa della sua versione wire | Un riquadro di avviso nella home del durable agent e le parole Version mismatch nella relativa riga del dashboard |
Una domanda a cui si è risposto dal telefono, o una terminata perché si è interrotto il turno, non lascia alcuna riga simile. Il tocco aveva già la propria scheda.

Il riquadro di avviso indica quale versione wire supporta ciascuna parte, ad esempio "Program speaks wire v2, this Collie speaks v1. Update Collie, or the durable agent's SDK." Aggiornare la parte meno recente. Versioni contiene la regola.
La chat
La conversazione di un durable agent si apre in Chat, la sua unica vista.
| elemento del durable agent | cosa visualizza Chat |
|---|---|
user | La propria riga |
reply | La risposta dell'agente |
thinking | I passaggi di ragionamento dell'agente |
notice | Una breve nota nel thread |
markdown | Markdown renderizzato: intestazioni, elenchi, enfasi, codice e link. L'HTML grezzo viene mostrato come testo |
code | Un blocco di codice, con il relativo linguaggio se specificato dal durable agent |
link | Una riga di collegamento con la relativa etichetta, altrimenti l'indirizzo. Solo link https:// |
tool | Una chiamata di tool: in esecuzione, completata con l'output, non riuscita o negata |
Un elemento reply, thinking, notice o markdown ancora in generazione presenta un cursore alla fine e nessuna indicazione temporale. Il cursore scompare all'arrivo del testo finale. Un turno interrotto lascia la nota "stopped".
La propria riga
La riga inserita compare nel thread nel momento in cui si tocca Invia, con un piccolo orologio. Quando arriva la copia del durable agent, questa prende il posto della riga.
| stato | cosa mostra la riga |
|---|---|
| In invio o inviato | L'orologio. Il composer mostra "Sent" quando il durable agent ha preso in carico la richiesta |
| La risposta non è mai arrivata | "Sending, not confirmed". Invia di nuovo riprova con lo stesso ID di richiesta |
| Rifiutato, oppure il turno è andato avanti | "Not sent", e il testo torna nel campo di inserimento |
Un durable agent che non ripete l'ID di richiesta viene associato tramite il medesimo testo entro 30 secondi. Una riga che il durable agent non restituisce mai smette di comparire dopo 10 minuti.
Finché la propria riga è l'elemento più recente nel thread e il durable agent non ha risposto, una riga di tre puntini indica che è in corso l'elaborazione.
L'intestazione
L'intestazione è su due righe. La riga 1 contiene il titolo della conversazione e il badge Experimental.
| la riga 2 mostra | quando |
|---|---|
| "Passaggio 2 di 3: Salva una nota" | Il durable agent segnala dei passaggi e uno è in esecuzione |
| "42%: caricamento in corso" | Il durable agent segnala una percentuale, con la relativa etichetta |
| Il sottotitolo del durable agent | Nessun avanzamento, o tutti i passaggi sono completati |
| L'area di lavoro | Il durable agent non imposta nessuno di questi elementi |
L'avanzamento viene mostrato solo mentre la conversazione elabora o è in attesa dell'utente.
La barra inferiore
La barra inferiore contiene Steer e Stop, seguiti da un massimo di 4 pulsanti definiti dal durable agent.
Steer invia il testo nel turno in esecuzione invece di avviarne uno nuovo. Stop interrompe il turno in esecuzione. Un pulsante non utilizzabile al momento appare oscurato nella propria posizione, senza spostamenti nell'interfaccia.
| pulsante del durable agent | la regola |
|---|---|
| Etichetta | Al massimo 16 caratteri |
| Icona | Una tra 12: play, pause, check, x, refresh, archive, flag, star, send, note, search, more. Qualsiasi altro nome non mostra alcuna icona |
| Occupato | Uno spinner, e nessun tocco |
| Disabilitato | Oscurato, e nessun tocco |
Un tocco fa riferimento al turno più recente rilevato dal telefono. Se la conversazione è andata avanti, non viene eseguito nulla e il telefono lo segnala: "The conversation moved on, so the action did not run." Verificare lo stato, quindi toccare nuovamente il pulsante se si desidera ancora eseguirlo.
Cosa non include il riquadro di un durable agent
Un durable agent non ha uno schermo, quindi il suo riquadro non ha una vista Terminal, non ha barre delle schede o dei riquadri e non ha i pulsanti Keys, Type o Quick. Il relativo menu non contiene History, Pane settings o Pin to top row. La voce Close nel menu indica "Close conversation".
Nuova conversazione e starter
La pagina New di un durable agent è intitolata New conversation ed elenca gli starter del durable agent.
Uno starter non richiede alcuna cartella né alcun testo: è il durable agent a decidere dove operare. Toccandone uno, il durable agent apre una nuova conversazione. La pagina non offre alcun agent, shell o comando della macchina. Un durable agent privo di starter mostra il messaggio "This machine's durable agent offers no starters yet."
Notifica push
Una domanda può inviare una notifica push sul telefono, entro i limiti previsti per ciascun durable agent.
| soglia | limite | oltre la soglia |
|---|---|---|
| Un riquadro | 3 notifiche push al minuto | La domanda compare sul telefono senza inviare notifiche push |
| Un durable agent su una macchina | 10 notifiche push al minuto | Invariato |
| Un durable agent su una macchina | 30 notifiche push all'ora | Una notifica push, "A durable agent on {host} is raising many asks", poi nessuna notifica da quel durable agent per un'ora |
La notifica push indica "Permission needed in" e il nome del riquadro. Un durable agent può aggiungere un proprio titolo, di massimo 60 caratteri, e una riga, di massimo 120. Collie invia una notifica push per domanda una sola volta per macchina, durable agent e chiamata di tool; pertanto, una domanda ripresentata dopo un riavvio viene visualizzata ma non invia notifiche push. Notifiche push da un durable agent contiene il resto.
Mascheramento
Con il mascheramento dei secret attivo (COLLIE_REDACT, attivo per impostazione predefinita), Collie maschera i secret nei titoli e nei sottotitoli dell'elenco delle conversazioni di un durable agent.
In una crew
La dashboard del lead presenta una sezione Durable agents per ogni macchina della crew. Il durable agent di un membro aggiunge il nome del membro alla riga 2, ad esempio pi-durable, local, workshop, mentre i durable agent del lead non indicano alcuna macchina. Una domanda su una qualsiasi macchina sposta tale sezione sopra gli spazi. Durable agent in una crew specifica chi risponde a cosa.
Modifica questa pagina su GitHub