Saltar al contenido
ColliePWA

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@experimental

Guarde 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.