Apruebe las acciones de su propio agente desde su teléfono.
ColliePWA muestra las preguntas de un agente creado por usted en su teléfono, junto a sus agentes de terminal. Se responde con un toque y el agente recibe la respuesta.
01/Agentes duraderos
Su propio agente, en su teléfono.
Un agente duradero es un agente que usted crea y ejecuta por su cuenta, por ejemplo con Pi Durable. Se comunica con su Collie mediante un protocolo ligero, el wire, y un SDK para Node y Bun lo gestiona de forma automática. ColliePWA dibuja las preguntas del agente, sus conversaciones y su chat, de modo que no requiere escribir código de interfaz.
Experimental. El protocolo de conexión puede cambiar en cualquier versión menor, o la función puede ser eliminada. Actualmente solo los ejemplos en el repositorio de Collie lo implementan.
02/ColliePWA
Lo que obtiene
- Aprobaciones, con el tiempo restante
- Una pregunta del agente se convierte en una tarjeta en su teléfono: sí o no, una selección, una línea de texto o un formulario corto. Se responde con un toque, y la tarjeta muestra cuánto tiempo permanece abierta la pregunta.
- Un chat, con historial
- Cada conversación del agente se abre como un chat. El agente conserva el registro, por lo que también es posible leer sus conversaciones cerradas.
- Su propia sección, y notificaciones push
- El agente obtiene su propia sección Agentes duraderos en el teléfono, y la sección se sitúa por encima de sus espacios cuando hay una pregunta en espera. Con las notificaciones push activadas, una pregunta también envía una notificación.
- Junto a sus sesiones de terminal
- Sus sesiones de Herdr, tmux y zellij se ven y funcionan como antes. Un agente duradero es un origen más del que puede provenir una sesión.
03/hello.mjs
Diez líneas hasta la primera pregunta
Instale el SDK en la carpeta de su agente:
$ npm install @colliepwa/durable-sdk@experimentalGuarde este agente como hello.mjs y ejecútelo con node hello.mjs o bun hello.mjs. Imprime la ruta de su socket y queda a la espera.
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();En una segunda terminal, conecte el agente a su Collie con la ruta que imprimió. --restart reinicia el puente de Collie: su teléfono se vuelve a conectar en pocos segundos y sus sesiones de terminal continúan ejecutándose.
$ collie durable attach hello --socket /run/user/1000/hello/app.sock --restart
Abra ColliePWA en su teléfono. Aparece una fila hello en la sección Agentes duraderos. Al abrirla, su única conversación contiene la pregunta "Deploy to staging?". Toque Sí o No, y el agente imprimirá su respuesta y finalizará.
04/Socket · HTTPS
Dónde se ejecuta
- En la misma máquina
- Collie se comunica con el agente mediante un socket privado, un archivo que solo su usuario puede abrir.
- En cualquier otro lugar
- Collie se comunica con el agente mediante HTTPS con un token de 32 bytes aleatorios o más, y cualquiera que posea el token puede responder por usted.
- Node o Bun
- El SDK se ejecuta en Node 22.18 o posterior y en Bun 1.4 o posterior.
05/Documentación
Lea la documentación
La página Agentes duraderos en la documentación detalla la configuración, las dos formas de conexión, la resolución de problemas y lo que un agente duradero puede mostrar en el teléfono.