Tareas Programadas
Crea tareas recurrentes y de ejecucion unica con lenguaje natural o expresiones cron. El agente ejecuta el prompt de la tarea segun la programacion.
Nombre de la Herramienta
scheduler
Acciones
| Accion | Parametros Requeridos | Descripcion |
|---|---|---|
create | name, schedule, prompt | Crear una nueva tarea programada |
list | β | Listar todas las tareas con estado y proxima ejecucion |
delete | id | Eliminar una tarea por UUID |
pause | id | Pausar una tarea (deja de ejecutarse) |
resume | id | Reanudar una tarea pausada (recalcula la proxima ejecucion) |
Parametros de Creacion
| Key | Type | Default | Description |
|---|---|---|---|
name | string | β | Etiqueta legible para la tarea |
schedule | string | β | Lenguaje natural o expresion cron de 5 campos |
prompt | string | β | Lo que el agente debe hacer cuando la tarea se ejecute |
oneshot | bool | false | Ejecutar una vez y luego auto-eliminar |
trusted | bool | false | Ejecutar con autonomia total (sin aprobacion de terminal necesaria) |
Programaciones en Lenguaje Natural
El scheduler analiza patrones comunes y los convierte en expresiones cron:
| Entrada | Cron | Descripcion |
|---|---|---|
hourly | 0 * * * * | Cada hora en :00 |
daily | 0 0 * * * | Cada dia a medianoche |
weekly | 0 0 * * 0 | Cada domingo a medianoche |
monthly | 0 0 1 * * | Primero de cada mes |
every 5m | */5 * * * * | Cada 5 minutos |
every 2h | 0 */2 * * * | Cada 2 horas |
daily at 9am | 0 9 * * * | Cada dia a las 9:00 AM |
daily at 14:30 | 30 14 * * * | Cada dia a las 2:30 PM |
weekdays at 8:30 | 30 8 * * 1-5 | Lun-Vie a las 8:30 AM |
weekends at 10am | 0 10 * * 0,6 | Sab-Dom a las 10:00 AM |
in 2h | (absoluto calculado) | Ejecucion unica, se ejecuta una vez en 2 horas |
in 30m | (absoluto calculado) | Ejecucion unica, se ejecuta una vez en 30 minutos |
Las expresiones cron estandar de 5 campos tambien se aceptan directamente (ej., 0 9 * * 1-5).
Configuracion
config.toml
[scheduler]
enabled = true
tick_interval_secs = 30
[[scheduler.tasks]]
name = "Morning check-in"
schedule = "weekdays at 9am"
prompt = "Check system health and report any issues"
trusted = true
[[scheduler.tasks]]
name = "Backup reminder"
schedule = "weekly"
prompt = "Remind me to run backups"Almacenamiento de Tareas
Las tareas se persisten en SQLite (tabla scheduled_tasks). Las tareas definidas en la configuracion se sincronizan al inicio β las tareas eliminadas se limpian automaticamente. Las tareas creadas via la herramienta persisten indefinidamente.
Tareas Perdidas
Al inicio, el scheduler verifica tareas que deberian haberse ejecutado mientras el daemon estaba inactivo. Las tareas perdidas se ejecutan inmediatamente durante la recuperacion.
Trusted vs Untrusted
Las tareas trusted se ejecutan con acceso completo a la terminal (sin aprobacion necesaria). Las tareas untrusted (por defecto) requieren aprobacion para cualquier comando de terminal, igual que las sesiones activadas por email.