fc644ecd6e
Reemplaza el scaffold del echobot por la plataforma completa de bots traida desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out: los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms + E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client). - go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths relativos reajustados a la nueva ubicacion dentro de fn_registry). - app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales. - modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports). agents_and_robots queda archivado como museo de la era Matrix.
74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
# crons/ — Catálogo de automatizaciones
|
|
|
|
Directorio central de automatizaciones nombradas para los agentes. Cada subdirectorio es una
|
|
automatización reutilizable que puede aplicarse a uno o más agentes.
|
|
|
|
## Estructura de una automatización
|
|
|
|
```
|
|
crons/<nombre>/
|
|
schedule.yaml # spec: descripción, cron por defecto, acción
|
|
prompts/
|
|
message.md # plantilla de mensaje (send_message)
|
|
prompt.md # prompt para el LLM (llm_prompt)
|
|
```
|
|
|
|
## Convención de `schedule.yaml`
|
|
|
|
```yaml
|
|
# Metadata
|
|
name: nombre-de-la-automatizacion
|
|
description: "Descripción breve"
|
|
|
|
# Cron por defecto (el agente puede sobreescribir en su config.yaml)
|
|
default_cron: "0 9 * * *"
|
|
|
|
# Acción
|
|
action:
|
|
kind: send_message # send_message | llm_prompt
|
|
template: prompts/message.md # relativo a la raíz del proyecto
|
|
|
|
# Sala por defecto (opcional; el agente debe sobreescribir con output_room)
|
|
default_output_room: ""
|
|
```
|
|
|
|
> **Nota**: `template` es relativo a la **raíz del proyecto**, no a la carpeta de la automatización.
|
|
> Usa siempre la ruta completa desde la raíz: `crons/<nombre>/prompts/message.md`.
|
|
|
|
## Automatizaciones disponibles
|
|
|
|
| Nombre | Tipo | Cron por defecto | Descripción |
|
|
|--------|------|-----------------|-------------|
|
|
| `good-morning` | `send_message` | `0 9 * * *` | Saludo de buenos días |
|
|
| `daily-summary` | `llm_prompt` | `0 18 * * *` | Resumen diario del equipo |
|
|
|
|
## Scripts de gestión
|
|
|
|
```bash
|
|
# Crear nueva automatización (interactivo)
|
|
./dev-scripts/cron/new.sh
|
|
|
|
# Listar todas las automatizaciones con descripción
|
|
./dev-scripts/cron/list.sh
|
|
|
|
# Aplicar automatización a un agente (parchea config.yaml)
|
|
./dev-scripts/cron/apply.sh <nombre> <agent-id>
|
|
```
|
|
|
|
## Cómo añadir manualmente a un agente
|
|
|
|
En `agents/<id>/config.yaml`:
|
|
|
|
```yaml
|
|
schedules:
|
|
- name: good-morning
|
|
cron: "0 9 * * *"
|
|
output_room: "!TUROOM:matrix-af2f3d.organic-machine.com"
|
|
action:
|
|
kind: send_message
|
|
template: "crons/good-morning/prompts/message.md"
|
|
```
|
|
|
|
Ajusta `output_room` con la sala real del agente. El campo `cron` puede sobreescribir el
|
|
`default_cron` del catálogo.
|