Geplante Aufgaben
Erstelle wiederkehrende und einmalige Aufgaben mit natürlicher Sprache oder Cron-Ausdrücken. Der Agent führt den Aufgaben-Prompt planmäßig aus.
Tool-Name
scheduler
Aktionen
| Aktion | Erforderliche Parameter | Beschreibung |
|---|---|---|
create | name, schedule, prompt | Neue geplante Aufgabe erstellen |
list | — | Alle Aufgaben mit Status und nächster Ausführungszeit auflisten |
delete | id | Aufgabe per UUID löschen |
pause | id | Aufgabe pausieren (wird nicht mehr ausgelöst) |
resume | id | Pausierte Aufgabe fortsetzen (nächste Ausführung wird neu berechnet) |
Erstellungsparameter
| Key | Type | Default | Description |
|---|---|---|---|
name | string | — | Menschenlesbarer Name für die Aufgabe |
schedule | string | — | Natürliche Sprache oder 5-Feld-Cron-Ausdruck |
prompt | string | — | Was der Agent tun soll, wenn die Aufgabe ausgelöst wird |
oneshot | bool | false | Einmal auslösen, dann automatisch löschen |
trusted | bool | false | Mit voller Autonomie ausführen (keine Terminal-Genehmigung erforderlich) |
Zeitpläne in natürlicher Sprache
Der Scheduler wandelt gängige Muster in Cron-Ausdrücke um:
| Eingabe | Cron | Beschreibung |
|---|---|---|
hourly | 0 * * * * | Jede Stunde zur vollen Stunde |
daily | 0 0 * * * | Täglich um Mitternacht |
weekly | 0 0 * * 0 | Jeden Sonntag um Mitternacht |
monthly | 0 0 1 * * | Am Ersten des Monats |
every 5m | */5 * * * * | Alle 5 Minuten |
every 2h | 0 */2 * * * | Alle 2 Stunden |
daily at 9am | 0 9 * * * | Täglich um 9:00 Uhr |
daily at 14:30 | 30 14 * * * | Täglich um 14:30 Uhr |
weekdays at 8:30 | 30 8 * * 1-5 | Mo-Fr um 8:30 Uhr |
weekends at 10am | 0 10 * * 0,6 | Sa-So um 10:00 Uhr |
in 2h | (berechneter Zeitpunkt) | Einmalig, wird in 2 Stunden ausgelöst |
in 30m | (berechneter Zeitpunkt) | Einmalig, wird in 30 Minuten ausgelöst |
Standard-5-Feld-Cron-Ausdrücke werden ebenfalls direkt akzeptiert (z.B. 0 9 * * 1-5).
Konfiguration
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"Aufgabenspeicherung
Aufgaben werden in SQLite (Tabelle scheduled_tasks) gespeichert. In der Konfiguration definierte Aufgaben werden beim Start synchronisiert — entfernte Aufgaben werden automatisch bereinigt. Über das Tool erstellte Aufgaben bleiben dauerhaft bestehen.
Verpasste Aufgaben
Beim Start prüft der Scheduler, ob Aufgaben hätten ausgelöst werden sollen, während der Daemon nicht lief. Verpasste Aufgaben werden während der Wiederherstellung sofort ausgeführt.
Trusted vs Untrusted
Trusted-Aufgaben laufen mit vollem Terminal-Zugang (keine Genehmigung erforderlich). Untrusted-Aufgaben (Standard) erfordern eine Genehmigung für alle Terminal-Befehle, genau wie E-Mail-Trigger-Sitzungen.