Erinnerungen
Eine Erinnerung fordert eine Sitzung später erneut zur Eingabe auf – einmalig oder wiederholt, bis du sie entfernst.
Eine Erinnerung sendet zu einem von dir festgelegten Zeitpunkt eine Aufforderung an eine bestehende session. Sie wird einmal ausgelöst oder wiederholt, bis jemand sie entfernt. Ein Agent nutzt eine Erinnerung, um die eigene Arbeit nachzuverfolgen: „In 24 Stunden prüfen, ob der Anbieter geantwortet hat“, „Jede Stunde prüfen, ob der Deploy erfolgreich war“.
Eine Erinnerung ist ein trigger, der auf eine Sitzung beschränkt ist. Die Unterschiede:
| Trigger | Erinnerung | |
|---|---|---|
| Gespeichert unter | beeuni.yaml, im Standard-Branch committet |
In der Datenbank. Keine Manifeständerung, kein Commit. |
| Beim Auslösen | Startet normalerweise eine neue Sitzung | Sendet eine Aufforderung an die zugehörige Sitzung. Startet niemals eine Sitzung. |
| Gültigkeitsdauer | Bis jemand sie aus dem Manifest entfernt | Bis jemand sie entfernt. Wird pausiert, wenn die Sitzung gelöscht wird oder fehlschlägt. |
| Wer sie erstellen kann | Projektmanager (project.trigger.create) |
Alle, die der Sitzung eine Aufforderung senden können. Ein Agent kann eine Erinnerung nur für die eigene Sitzung erstellen. |
| Aufgeführt unter | beeuni triggers ls, der Seite „Triggers“ |
beeuni reminders ls, pro Sitzung |
Verwende einen Trigger für Projektaufgaben, die alle sehen sollten, etwa eine tägliche Zusammenfassung. Verwende eine Erinnerung für eine Nachverfolgung, die zu einer einzelnen Aufgabe gehört.
Erinnerungen aktivieren
Erinnerungen sind ein projektweites feature flag, reminders, das standardmäßig deaktiviert ist. Aktiviere es unter Settings → Feature flags oder mit:
beeuni projects features enable reminders
Solange das Flag deaktiviert ist, antworten alle Routen für Erinnerungen mit 403 und code: "feature_disabled". Die Seite „Reminders“ erklärt, wie du es aktivierst, und bestehende Erinnerungen werden nicht ausgelöst. Wenn du das Flag wieder aktivierst, wird ein während der Deaktivierung verpasster Termin einmal ausgelöst; anschließend wird der Zeitplan fortgesetzt.
Erinnerung festlegen
Innerhalb einer Sitzung zielt die CLI auf die aktuelle Sitzung. Außerhalb einer Sitzung übergibst du --session <id>.
# Fire once, 24 hours from now.
beeuni remind "Check whether the vendor replied to the contract email." --in 24h
# First fire in 24 hours, then every hour until removed.
beeuni remind "Did the vendor reply? If yes, summarize it and remove this reminder." --in 24h --every 1h
# Fire at an exact instant.
beeuni remind "Post the launch checklist to #launch." --at 2026-10-01T09:00:00Z
# Repeat on a cron expression in a time zone.
beeuni reminders add "Post the standup summary." --cron "0 0 9 * * 1-5" --timezone Europe/Berlin
Der Befehl gibt die Erinnerungs-ID aus, zum Beispiel reminder.3f9a1c2e7b04, sowie den nächsten Auslösungszeitpunkt.
Zeitplanregeln
--in <duration>oder--at <ISO-8601>legt die erste Auslösung fest. Ohne weitere Angaben wird die Erinnerung einmal ausgelöst.--every <duration>legt Wiederholungen fest. Der Mindestzeitraum beträgt5m. Jeder Zeitraum beginnt, wenn die vorherige Auslösung beansprucht wird.--cron "<expr>"wiederholt sich nach einem 6-Felder-Cron-Ausdruck (Sekunden zuerst).--timezonelegt die Zeitzone fest; Standard istUTC. Eine Cron-Erinnerung darf höchstens alle 5 Minuten ausgelöst werden. Sie akzeptiert weder--innoch--at.- Zeitangaben sind
30m,24h,2doder ganze Sekunden. --in,--atund--everyakzeptieren höchstens 366 Tage.- Eine Sitzung kann höchstens 20 aktive Erinnerungen enthalten. Für ein Projekt gilt ein Maximum von 200. Bei Überschreitung eines der beiden Limits wird
409zurückgegeben.
Was beim Auslösen geschieht
Bei jeder Auslösung wird der Erinnerungstext als Aufforderung mit folgendem Header in die Sitzung eingereiht:
[REMINDER reminder.3f9a1c2e7b04 — recurring scheduled check-in on this session, not a new user message. When it is no longer needed, run `beeuni reminders rm reminder.3f9a1c2e7b04`.]
Did the vendor reply? If yes, summarize it and remove this reminder.
- Eine geparkte Sitzung wird fortgesetzt. Der Agent hat Zugriff auf den vollständigen Gesprächsverlauf und den Workspace der Sitzung.
- Eine Auslösung startet niemals eine neue Sitzung. Wenn die Sitzung gelöscht wird oder fehlschlägt, pausiert die Auslösung die Erinnerung und hält den Grund unter
last_errorfest. - Bei einer Auslösung bleiben die persönlichen Verbindungen der Sitzung erhalten, etwa das Gmail-Konto eines Mitglieds. Wenn du eine Erinnerung für eine Sitzung festlegst, für die du nicht handelst, werden diese entfernt – genauso wie beim Senden einer Aufforderung an diese Sitzung.
- Die projektweite Trigger-Pause (
beeuni triggers pause) stoppt auch Erinnerungen.
Jede Auslösung ist ein Modellturn. Entferne eine wiederkehrende Erinnerung, sobald ihre Bedingung erfüllt ist.
Erinnerungen verwalten
| Befehl | Wirkung |
|---|---|
beeuni reminders ls [--json] |
Zeigt die Erinnerungen der Sitzung an: ID, Status, Zeitplan, nächste Auslösung und Text. |
beeuni reminders pause <id> |
Stoppt die Auslösungen. Die Erinnerung bleibt erhalten. |
beeuni reminders resume <id> |
Löst die Erinnerung erneut aus und setzt den Zeitplan ab jetzt fort. Eine einmalige Erinnerung, die bereits ausgelöst wurde, bleibt done. |
beeuni reminders rm <id> |
Löscht die Erinnerung. Aliase: stop, delete. |
Eine Erinnerung ist active (geplant), paused (aus) oder done (eine einmalige Erinnerung, die ausgelöst wurde).
API und SDK
Die Routen gelten jeweils für eine Sitzung:
| Route | Wirkung |
|---|---|
GET /v1/projects/:projectId/sessions/:sessionId/reminders |
Listet Erinnerungen auf. |
POST /v1/projects/:projectId/sessions/:sessionId/reminders |
Erstellt eine Erinnerung. Body: prompt, optional name und every, cron + timezone, at oder in. Gibt 201 zurück. |
PATCH /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
Der Body { "enabled": false } pausiert, { "enabled": true } setzt fort. |
DELETE /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
Löscht eine Erinnerung. |
Ein ungültiger Zeitplan gibt 400 mit dem Grund zurück. Eine gelöschte Sitzung gibt 409 zurück. Ein Agent-Zugangsdatenobjekt, das eine andere Sitzung angibt, gibt 403 zurück.
const reminders = beeuni.session(projectId, sessionId).reminders;
const reminder = await reminders.create({ prompt: 'Did the vendor reply?', in: '24h', every: '1h' });
await reminders.update(reminder.id, { enabled: false });
await reminders.remove(reminder.id);