Salta al contenuto
ColliePWA

Approvi le azioni del Suo agente dal Suo telefono.

ColliePWA mostra sul Suo telefono le domande di un agente che ha creato, accanto agli agenti del Suo terminale. Risponda con un tocco e l'agente riceve la Sua risposta.

01/Agenti durevoli

Il Suo agente, sul Suo telefono.

Un agente durevole è un agente che Lei crea ed esegue in autonomia, ad esempio con Pi Durable. Comunica con la Sua istanza di Collie attraverso un piccolo protocollo, il wire, gestito per Lei da un SDK per Node e Bun. ColliePWA visualizza quindi le domande dell'agente, le sue conversazioni e la sua chat, evitandole di scrivere codice per l'interfaccia utente.

Sperimentale. Il protocollo wire potrebbe cambiare in qualsiasi versione minore, oppure la funzionalità potrebbe essere rimossa. Al momento solo gli esempi nel repository di Collie lo supportano.

02/ColliePWA

Cosa ottiene

Approvazioni, con il tempo rimanente
Una domanda dell'agente diventa una scheda sul Suo telefono: sì o no, una scelta, una riga di testo o un breve modulo. Risponda con un tocco, e la scheda mostra per quanto tempo la domanda rimane aperta.
Una chat, con cronologia
Ogni conversazione dell'agente si apre come una chat. L'agente conserva lo storico, permettendole di leggere anche le conversazioni chiuse.
Una sezione dedicata, e notifiche push
L'agente ottiene la propria sezione Agenti durevoli sul telefono, e la sezione si sposta sopra i Suoi spazi quando una domanda è in attesa. Con le notifiche push attivate, una domanda invia anche una notifica.
Accanto alle Sue sessioni di terminale
Le Sue sessioni Herdr, tmux e zellij si presentano e funzionano come prima. Un agente durevole è solo un'ulteriore origine possibile per una sessione.

03/hello.mjs

Dieci righe fino alla prima domanda

Installi l'SDK nella cartella del Suo agente:

$ npm install @colliepwa/durable-sdk@experimental

Salvi questo agente come hello.mjs, quindi lo esegua con node hello.mjs o bun hello.mjs. Stampa il percorso del proprio socket e si mette in attesa.

import { openCollie } from "@colliepwa/durable-sdk";

const socket = process.env.COLLIE_DURABLE_SOCKET ?? `${process.env.XDG_RUNTIME_DIR}/hello/app.sock`;
const collie = await openCollie({ socket, hostName: "hello", caps: { asks: true } });
const pane = collie.workspace("hello", { title: "Hello" }).tab("main", { title: "Questions" }).pane("deploy", { title: "Deploy", harness: "hello" });
collie.ready();
console.log(`listening ${collie.address}`);
const options = [{ id: "yes", label: "Yes" }, { id: "no", label: "No" }];
const answer = await pane.ask({ kind: "choice", toolCallId: "deploy-1", itemId: "deploy-1", title: "Deploy to staging?", options });
console.log(`answer: ${answer.optionIds[0]}`);
await collie.close();

In un secondo terminale, colleghi l'agente alla Sua istanza di Collie con il percorso stampato. --restart riavvia il bridge di Collie: il Suo telefono si riconnette in pochi secondi e le sessioni del terminale continuano a funzionare.

$ collie durable attach hello --socket /run/user/1000/hello/app.sock --restart

Apra ColliePWA sul Suo telefono. Compare una riga hello nella sezione Agenti durevoli. La apra, e la sua unica conversazione mostrerà la domanda "Deploy to staging?". Tocchi Yes o No, e l'agente stamperà la Sua risposta ed uscirà.

04/Socket · HTTPS

Dove viene eseguito

Sulla stessa macchina
Collie raggiunge l'agente tramite un socket privato, un file che solo il Suo utente può aprire.
In qualsiasi altro luogo
Collie raggiunge l'agente tramite HTTPS con un token di almeno 32 byte casuali, e chiunque possieda il token può rispondere al Suo posto.
Node o Bun
L'SDK viene eseguito su Node 22.18 o versioni successive e su Bun 1.4 o versioni successive.

05/Documentazione

Leggere la documentazione

La pagina Agenti durevoli della documentazione descrive la configurazione, le due modalità di connessione, la risoluzione dei problemi e ciò che un agente durevole può mostrare sul telefono.