zas-agent, en una página.
Comandos
Herramientas
channel toma el nombre o el id de un canal. Un nombre tiene que coincidir con exactamente un canal habilitado. Con un solo permiso, todas las herramientas que toman channel lo pueden omitir salvo zas_list_items y zas_get_item, que siempre nombran el suyo.
zas_status
Dice si la máquina está vinculada y lista los canales a los que el agente puede enviar o que puede leer. También imprime la versión del paquete, el perfil y el estado de la telemetría. Sin argumentos.
zas_pair
Vincula esta máquina con una cuenta de Zas. La primera llamada devuelve una URL para que abras; una llamada posterior dice si aprobaste. En un perfil ya vinculado, la aprobación reemplaza al agente anterior.
zas_send_file
Envía un archivo de la máquina a un canal habilitado. Devuelve el id del envío, o un id de trabajo cuando la subida tarda más de un minuto.
Un canal en modo Directo rechaza esta herramienta con
direct_mode. Ahí va zas_send_direct.
zas_send_note
Envía una nota: texto plano, o un snippet con su lenguaje.
expires_in_days
Lo toman las dos herramientas de envío, y solo acorta la vida de un envío. Un pedido más largo del que da el plan se responde con el número del plan en vez de rechazarse, así que pedir 100 días da cinco. El piso es un día entero, porque el anillo cuenta días enteros.
Vale la pena para salida que mañana ya está vieja: un log de build, una corrida de tests, la captura de un arreglo.
zas_send_direct
Envía un archivo por Directo: una transferencia en vivo, de dispositivo a dispositivo, hacia un canal habilitado que está en modo Directo. No se guarda nada. Alguien tiene que tocar Recibir en otro dispositivo dentro de diez minutos. La llamada espera un minuto y después devuelve un id de trabajo para consultar con zas_jobs.
Un canal que no está en modo Directo rechaza esta herramienta con
not_direct_mode.
zas_receive_direct
Recibe en esta máquina un archivo enviado por Directo. Espera la oferta, la toma y escribe el archivo en disco. Solo para un canal en modo Directo, y solo con un permiso que incluya lectura, porque escribe en la máquina.
Nunca pisa un archivo existente. Esperar una oferta solo puede llevar diez minutos, así que la llamada devuelve un id de trabajo después de un minuto.
zas_send_direct_fallback
Cuando un trabajo de zas_send_direct falló en vuelo, entrega el mismo archivo por la vía confiable. Zas cifra el archivo en esta máquina y guarda solo esa copia cifrada hasta 24 horas; no usa nada de tu espacio, y el dispositivo que ya tomó la oferta la puede bajar después.
Esto deja de ser Directo: los bytes cifrados pasan por almacenamiento. La descripción de la herramienta le dice al modelo que pregunte primero, porque la decisión es tuya.
zas_receive_direct_fallback
Cuando un trabajo de zas_receive_direct falló en vuelo, baja la copia cifrada que eligió guardar quien enviaba. Funciona solo si esa persona eligió la vía confiable para esa transferencia. El archivo se descifra en esta máquina y se escribe en el mismo destino.
zas_list_items
Lista los envíos más recientes de un canal. Necesita un permiso que incluya lectura.
zas_get_item
Trae un envío. Una nota vuelve como texto; un archivo se escribe en disco.
Nunca pisa un archivo existente. Un nombre ocupado recibe un sufijo, y la ruta que responde es la que realmente escribió.
zas_jobs
Lista los envíos y transferencias por Directo que arrancó este servidor, del más nuevo al más viejo, con la fase que alcanzó cada uno y cómo terminó. Un job_id de un envío largo se cobra acá, y un trabajo terminado conserva su resultado.
Códigos de error
El agente responde con un conjunto cerrado. Cualquier cosa que diga una ruta y no esté en este conjunto colapsa aupload_failed o network, así que nunca llega a una terminal un texto crudo del servidor, ni un stack trace.
Vinculación e identidad
Canales y permisos
Envío y lectura
Directo
Lo demás
Archivos en disco
Un directorio por perfil, así una máquina puede tener un agente de Claude Code y uno de Codex sin que ninguno lea las claves del otro.
Un archivo vive un nivel más arriba, en
~/.zas/agent/, porque es una decisión sobre la máquina y no sobre una identidad:
Cada archivo se escribe en un temporal y se renombra, así que un corte a mitad de escritura no puede dejar medio archivo.
En macOS y Linux el directorio se crea
0700 y cada archivo 0600. En Windows esos bits no hacen nada: los archivos llevan los permisos del perfil de usuario donde viven, y el paquete no fija otros.
Borrar el directorio hace que la máquina se olvide del agente. No lo revoca. Eso se hace en Configuración → Agentes → Revocar.
Telemetría
El agente reporta el embudo de vinculación y un eventoagent.tool_call por llamada, para que Zas vea qué herramientas funcionan y cuáles fallan. Viene prendida e imprime un aviso la primera vez.
Lo que nunca manda: nombres de archivo, títulos, cuerpos de notas, nombres de canal, rutas ni contenido.
Tres formas de apagarla, en el orden en que se leen:
zas-agent telemetry sin valor imprime el estado actual y cuál de los tres lo decidió. zas_status imprime la misma línea.
Ajustes
Solo
--profile, ZAS_AGENT_HOME y los interruptores de telemetría valen la pena a mano. El resto existe para apuntar el paquete a un despliegue de prueba.
Números
Por dónde seguir
Conectar un agente
Vinculación, comandos del harness y qué hacer si falla.
Límites
Cada límite que Zas aplica, agentes incluidos.
FAQ
Respuestas cortas a las preguntas de siempre.
Recomendaciones
Buenas costumbres, y la advertencia sobre secretos.