# dev-scripts/agent Scripts para crear, registrar, verificar y gestionar agentes individuales en el sistema Matrix. ## Scripts ### new-agent.sh Genera el scaffold completo para un nuevo agente: `config.yaml`, `agent.go` (reglas puras), directorio de prompts y data. También registra automáticamente el import y la entrada en `rulesRegistry` de `cmd/launcher/main.go`. ```bash ./dev-scripts/agent/new-agent.sh "Display Name" ./dev-scripts/agent/new-agent.sh monitor-bot "Monitor Agent" ``` ### register.sh Registra un nuevo bot en el servidor Matrix via Synapse admin API. Genera y guarda en `.env`: access token (`MATRIX_TOKEN_*`), password (`MATRIX_PASSWORD_*`) y pickle key (`PICKLE_KEY_*`). Requiere `MATRIX_ADMIN_TOKEN` y `MATRIX_HOMESERVER` en `.env`. ```bash ./dev-scripts/agent/register.sh "Display Name" ./dev-scripts/agent/register.sh assistant-bot "Assistant" ``` ### verify.sh Verifica o regenera los dispositivos E2EE de los agentes. Genera cross-signing keys, firma el device y guarda el recovery key en `.env`. Sin este paso, los mensajes del bot aparecen como "not verified by its owner". ```bash ./dev-scripts/agent/verify.sh # verifica todos los habilitados con E2EE ./dev-scripts/agent/verify.sh assistant-bot # verifica uno específico ``` ### avatar.sh Sube una imagen como avatar del bot en Matrix y sincroniza el displayname desde el `config.yaml`. ```bash ./dev-scripts/agent/avatar.sh ./dev-scripts/agent/avatar.sh assistant-bot static/assistant.jpg ``` ### reset-password.sh Resetea la contraseña de un bot existente via Synapse admin API sin crear nueva sesión ni cambiar el device ID. El access token actual sigue siendo válido. ```bash ./dev-scripts/agent/reset-password.sh ./dev-scripts/agent/reset-password.sh assistant-bot ``` ### remove.sh Deshabilita un agente marcándolo como `enabled: false` en su `config.yaml`. No borra datos — los preserva en `agents//data/`. ```bash ./dev-scripts/agent/remove.sh ``` ### list.sh Muestra todos los agentes registrados con su estado (running/stopped/disabled), versión y descripción en una tabla formateada. ```bash ./dev-scripts/agent/list.sh ``` ## Flujo típico para un nuevo agente ```bash # 1. Crear scaffold ./dev-scripts/agent/new-agent.sh mi-bot "Mi Bot" # 2. Editar config, reglas y prompt # agents/mi-bot/config.yaml # agents/mi-bot/agent.go # agents/mi-bot/prompts/system.md # 3. Registrar en Matrix ./dev-scripts/agent/register.sh mi-bot "Mi Bot" # 4. Verificar E2EE ./dev-scripts/agent/verify.sh mi-bot # 5. Arrancar ./dev-scripts/server/start.sh ```