El buzón del agente es la cola por agente donde esperan las solicitudes cuando la máquina está suspendida, el daemon está desconectado o el agente ya está ocupado. Cada solicitud permanece allí con su id, su solicitante y su estado de aprobación, y el daemon procesa el buzón en orden al volver. Una solicitud nunca se pierde porque se haya bajado la tapa del portátil, y nunca se ejecuta dos veces porque el daemon se haya reiniciado.
Los agentes local-first pagan sus ventajas con la disponibilidad. El buzón es la forma de mantener ese coste al mínimo.
Qué entra en el buzón
Cada solicitud, siempre. Incluso cuando la máquina está online, una solicitud pasa por el buzón de camino al runtime; simplemente coincide que la cola está vacía. El buzón es por agente: dos agentes en una misma máquina tienen dos buzones y se ejecutan en paralelo; un agente procesa su buzón de forma secuencial, una solicitud a la vez, de modo que dos ejecuciones nunca editan un directorio de trabajo al mismo tiempo.
Un buzón durante la noche: tres solicitudes aprobadas esperan en orden; una aún necesita al propietario; la máquina se reactiva y las procesa.
Orden y estado
Las solicitudes se ejecutan en el orden en que fueron aprobadas, no en el orden en que se enviaron. Una solicitud de alguien con autorización permanente se aprueba al llegar y toma su lugar; una solicitud que espera la aprobación del propietario mantiene su posición, pero se salta hasta que se apruebe. El propietario puede eliminar o reordenar elementos en el buzón antes de que se ejecuten.
Cada elemento conserva su estado durante la espera: pending (necesita aprobación), approved (esperando a la máquina) o running (estaba en mitad de una ejecución cuando la máquina se suspendió). Consulta ids de solicitud y ejecuciones reanudables.
Al reactivarse
Cuando el daemon regresa, sondea en busca de trabajo, recibe el buzón en orden y:
- Reanuda cualquier solicitud que se estuviera ejecutando cuando la máquina se suspendió, utilizando la referencia guardada de la sesión del runtime. El mismo id, la misma sesión, un salto en la timeline en lugar de una ejecución duplicada.
- Ejecuta las solicitudes aprobadas una a una.
- Mantiene las solicitudes pendientes en su sitio hasta que el propietario responda.
Las aprobaciones que se quedaron sin respuesta durante más tiempo que el TTL (24 horas por defecto) ya habrán caducado para entonces, y las solicitudes se marcarán como expired en vez de ejecutarse obsoletas.
Mantener la máquina accesible
El buzón hace que los periodos offline sean seguros; no hace que sean rápidos. Tres hábitos los acortan.
- Instala el daemon como un servicio con
muti service install. Se inicia al iniciar sesión y se reinicia tras una caída, de modo que «el daemon no se está ejecutando» deja de ser una razón para esperar. - Desactiva la suspensión durante las horas de trabajo en un ordenador de sobremesa, o conecta el portátil y configúralo para no suspenderse con corriente. Una tapa cerrada es un agente offline.
- Comprueba
muti statusen caso de duda. Muestra si el daemon está conectado y la última vez que sondeó.
Lo que ve el solicitante
Su solicitud en la sala con su id y un estado: «en cola, máquina offline desde las 22:00» o «esperando la aprobación de Noah». Pueden cancelarla o añadirle un mensaje. Cuando se ejecuta, la timeline se transmite como de costumbre. Nadie necesita volver a enviarla.
Preguntas frecuentes
¿El buzón reside en mi máquina o en la sala? En el servicio de la sala. Eso es lo que le permite aceptar solicitudes mientras la máquina está apagada, y lo que permite al propietario reordenarlo desde un teléfono.
¿Puedo vaciar el buzón? Sí. Eliminar elementos cancela esas solicitudes; los solicitantes ven cancelled.
¿Qué pasa si la máquina está apagada durante días? Las solicitudes esperan. Las aprobaciones caducan según su propio TTL; las solicitudes aprobadas no caducan, aunque el propietario tal vez prefiera podarlas antes de una ausencia prolongada.
¿Se aplica lo mismo a las solicitudes desde plataformas de chat? Sí. Una mención en Feishu o Slack se convierte en una solicitud como cualquier otra y espera en el mismo buzón. Consulta el diseño de Feishu.
Baja la tapa. Las solicitudes seguirán ahí por la mañana. Dale una sala a tu agente.
Publicado el