98da4f7521
Nueva regla .claude/rules/delete_agent.md con instrucciones completas para eliminar agentes (manual y automatizado). Actualiza index.md, CLAUDE.md y cierra issue 0048. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.5 KiB
4.5 KiB
Policy: Eliminar un agente o robot
Guia ejecutable para Claude. Seguir paso a paso sin desviarse.
Pipeline de eliminacion (7 pasos)
Revierte todo lo que create-full.sh genera:
1. VALIDATE → verificar que el agente existe
2. STOP → detener el proceso si esta corriendo
3. DEACTIVATE → desactivar usuario Matrix (Synapse admin API)
4. REMOVE IMPORT → eliminar blank import del launcher
5. REMOVE ENV VARS → eliminar las 4 env vars del .env
6. DELETE FILES → borrar directorio del agente + runtime files
7. REBUILD → recompilar el launcher
Ruta rapida — script automatizado
# Con confirmacion interactiva
./dev-scripts/agent/delete-full.sh <agent-id>
# Sin confirmacion (automatizacion)
./dev-scripts/agent/delete-full.sh <agent-id> --force
# Preservar usuario Matrix (soft delete, puede recrearse)
./dev-scripts/agent/delete-full.sh <agent-id> --keep-matrix
El script ejecuta los 7 pasos en orden. Si algun paso falla de forma no-fatal, continua con los siguientes.
Inputs — preguntar al usuario si no los da
| Input | Requerido | Default | Ejemplo |
|---|---|---|---|
agent-id |
si | — | wikipedia-bot |
--force |
no | false | sin confirmacion |
--keep-matrix |
no | false | preserva usuario Matrix |
Scripts atomicos disponibles
Cada paso es un script independiente reutilizable:
| Script | Que hace |
|---|---|
dev-scripts/agent/deactivate-matrix.sh <id> |
Desactiva usuario Matrix via Synapse admin API |
dev-scripts/agent/remove-launcher-import.sh <id> |
Elimina blank import de cmd/launcher/main.go |
dev-scripts/agent/remove-env-vars.sh <id> |
Elimina las 4 env vars del .env |
Que se elimina
| Artefacto | Creado por | Eliminado por |
|---|---|---|
agents/<id>/ (agent.go, config.yaml, prompts/, data/) |
new-agent.sh |
delete-full.sh paso 6 |
Blank import en cmd/launcher/main.go |
new-agent.sh |
remove-launcher-import.sh |
MATRIX_TOKEN_<NORM> en .env |
register.sh |
remove-env-vars.sh |
MATRIX_PASSWORD_<NORM> en .env |
register.sh |
remove-env-vars.sh |
PICKLE_KEY_<NORM> en .env |
register.sh |
remove-env-vars.sh |
SSSS_RECOVERY_KEY_<NORM> en .env |
verify.sh |
remove-env-vars.sh |
Usuario Matrix @<id>:<server> |
register.sh |
deactivate-matrix.sh |
| Cross-signing keys + crypto store | verify.sh |
Eliminados con data/crypto/ |
| Avatar y display name | auto-avatar |
Se eliminan al desactivar usuario Matrix |
| PID file, log files | Runtime | delete-full.sh paso 6 |
Eliminacion manual (sin script)
Si el script no esta disponible o falla, estos son los pasos manuales:
1. Detener el agente
# Buscar PIDs
pgrep -f "launcher.*agents/<id>/config.yaml"
# Matar procesos
kill <PID>
2. Desactivar usuario Matrix
curl -X POST "${MATRIX_HOMESERVER}/_synapse/admin/v1/deactivate/@<id>:${MATRIX_SERVER_NAME}" \
-H "Authorization: Bearer ${MATRIX_ADMIN_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"erase": false}'
3. Eliminar import del launcher
Editar cmd/launcher/main.go y borrar la linea:
_ "github.com/enmanuel/agents/agents/<id>"
4. Eliminar env vars
Borrar de .env:
MATRIX_TOKEN_<NORM>=...
MATRIX_PASSWORD_<NORM>=...
PICKLE_KEY_<NORM>=...
SSSS_RECOVERY_KEY_<NORM>=...
5. Eliminar archivos
rm -rf agents/<id>/
rm -f run/<id>.pid run/<id>.log
rm -rf logs/<id>/
6. Recompilar
go build -tags goolm ./...
Disable vs Delete
remove.sh(disable): marcaenabled: falseen config.yaml. El agente no arranca pero todos los archivos, datos y usuario Matrix se preservan. Reversible.delete-full.sh(delete): elimina todo. Irreversible (excepto con--keep-matrix).
Usar remove.sh cuando se quiere desactivar temporalmente. Usar delete-full.sh cuando se quiere eliminar permanentemente.
Proteccion contra agentes del sistema
Los directorios con prefijo _ en agents/ son del sistema (_template, _template_robot, _specials). El script permite eliminar agentes dentro de _specials/ (como father-bot) pero no elimina los templates.
Reglas
- Siempre confirmar antes de eliminar (a menos que se use
--force) - Rebuild obligatorio tras eliminar el import — si no, el launcher no compila
- No eliminar agentes que no existen — validar primero
- Desactivar Matrix es no-fatal — si falla, los demas pasos continuan
- Nunca eliminar templates (
_template,_template_robot)