docs
Empezar

Resumen

Un agente acá es un contenedor que sigue en marcha, se despierta cuando pasa algo, y alcanza el mundo exterior solo a través de credenciales que nunca ve.

La forma que tiene

Dos mitades, y una pregunta entre ellas

Está la consola en la que tecleás, y el plano en el que viven los agentes. La consola se instala en el equipo ante el que estás sentado, y la primera ejecución hace la única pregunta en la que las mitades difieren: si los agentes deben vivir acá, o en un servidor al que tengas SSH.

en tu equipo
$ curl -fsSL https://squad.mormon.garden/client.sh | sh
$ squad

Node 22.18 o más nuevo, y nada más en este equipo — nada de Docker acá, sea cual sea la respuesta que des. La página de instalación es la versión larga, incluida la misma cosa hecha a mano.

Todo lo que viene después de esa pregunta es el mismo programa. Un plano responde al mismo protocolo tanto si su socket está en un directorio de acá como si está al otro extremo de ssh vps squad relay, así que la lista de agentes, el feed de logs, la conversación y un puerto reenviado desde un sandbox corren todos en este equipo y llegan a los agentes estén donde estén.

Es un runtime más que un harness. El pensar lo hace pi; squad le da una máquina en la que vivir, una manera de ser despertado, y un límite dentro del que trabajar.

Los primeros cinco minutos

Escribí su nombre, y creá uno

squad sin nada detrás abre la consola, porque quien teclea el comando sin nada detrás está pidiendo ver la cosa y no que le cuenten un hecho sobre ella. Sin ningún agente se abre en la única fila que hay:

╭──────────────────────╮╭────────────────────────────────────────────────────────────────╮
│ agents               ││ new agent                                                      │
│                      ││                                                                │
│ + new agent          ││ A name, and ⏎ builds it: a container, a repository of its own, │
│                      ││ nothing in its memory, and exactly what defaults in the config │
│ logs                 ││ allows it to reach.                                            │
│ config               ││                                                                │
│                      ││ ╭────────────────────────────────────────────────────────────╮ │
│ ↑↓ moves             ││ │ name  scout                                                │ │
╰──────────────────────╯╰────────────────────────────────────────────────────────────────╯
 ↑↓ agents   ⏎ build   ^C quit

El nombre es todo lo que decide el teclado ahí. Lo que el agente nuevo puede alcanzar es defaults en la configuración, respondido de antemano por quien escribió ese archivo — porque lo único que un teclado nunca puede hacer acá es conceder. Luego hablás con él, y toma un turno.

La consola es todas las teclas y todos los comandos de esa pantalla. Agentes es de qué acaba estando hecho uno.

Antes de ponerte a buscar

Tres sitios donde vive un ajuste

Casi toda pregunta que empieza por «dónde pongo…» se responde con a cuál de estos tres pertenece, y se distinguen por quién puede escribirlos.

la consolaUn comando de barra o la pantalla de configuración. Claves, modelos, hosts, servidores MCP, el buzón y un techo, todo vigente desde el turno siguiente y sin nada reiniciado.
config.yamlEl archivo del operador, en la máquina donde está el plano, que ningún plano puede escribir: agentes, horarios, webhooks, y cada credencial atada por nombre a un host.
el repositorioDentro del volumen propio del agente: quién es, qué recuerda, las habilidades que cargó y las herramientas que se escribió. Suyo para editarlo, y de nada más.

La consola guarda lo que se le da en un almacén junto a config.yaml y nunca dentro de él, así que el archivo del operador sigue siendo del operador: lo que trae de vuelta un redespliegue es lo que se escribió ahí, y lo que se tecleó en la consola sobrevive al redespliegue por su cuenta.

Todo lo que hay

El mapa

Empezar

Resumenlas dos mitades, y en qué acaba consistiendo un agente
Un servidoralquilar el más barato de cualquier lista, y entrar con una clave o una contraseña
La consolala pantalla, las teclas, y todos los comandos que hay
Agentescrear uno, de qué está hecho, y quitarlo

Cómo se le llega

Telegramun bot por agente, emparejado con vos por una frase
Correoun buzón para todo el plano, y una lista de quién puede escribirle
Webhooksel único puerto publicado, y qué demuestra una firma
Horariosel cron que escribiste, y el turno que un agente se reserva solo

Lo que puede hacer un agente

Modeloscon qué piensa, y dónde va la clave
Servidores MCPherramientas que viven en otro sitio, en un estante que guarda el plano
Búsqueda webun solo destino concedido, y la lectura hecha del otro lado
Repositoriosun repositorio de GitHub, las ramas a las que puede pushear, y el token que nunca tiene
Escribirle a otro agentepasarle un pedazo del trabajo al de al lado, y quién dice que puede ir
Publicar un puertoabrir lo que un agente construyó, en la máquina donde está tu navegador

Límites

Confianzaquién puede dar instrucciones, y a quién solo se le cita
Alcanceel proxy, las concesiones, y la credencial que el agente nunca tiene
Gastodólares por día, y qué pasa al llegar al techo
config.yamlel archivo que es tuyo, y el almacén de al lado que es de la consola
Leer esto sin un navegador

Una sola dirección le entrega a un agente todo esto

Cada página de acá está escrita también como markdown en la misma dirección con .md al final, y las 18 están en un solo archivo. Ese archivo es lo que hay que pegar cuando a quien le estás explicando squad es un agente de código y no una persona:

toda la documentación
https://squad.mormon.garden/llms-full.txt

/llms.txt es en cambio el índice — la misma lista que el mapa de arriba, con un enlace al markdown de cada página, para un lector que prefiera traerse la única página que necesita. Los dos se convierten de estas páginas en el build en vez de escribirse al lado, así que ninguno puede ir una versión por detrás de lo que estás leyendo ahora.