# Erinnerungen

Eine Erinnerung fordert eine Sitzung später erneut zur Eingabe auf – einmalig oder wiederholt, bis du sie entfernst.

Canonical page: https://beeuni.ai/docs/de/connect/reminders

Eine Erinnerung sendet zu einem von dir festgelegten Zeitpunkt eine Aufforderung an eine bestehende [session](/docs/de/work/sessions). 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](/docs/de/connect/triggers), 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.

<a id="turn-reminders-on"></a>

## Erinnerungen aktivieren

Erinnerungen sind ein projektweites [feature flag](/docs/de/feature-flags), `reminders`, das standardmäßig deaktiviert ist. Aktiviere es unter **Settings → Feature flags** oder mit:

```sh
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.

<a id="set-a-reminder"></a>

## Erinnerung festlegen

Innerhalb einer Sitzung zielt die CLI auf die aktuelle Sitzung. Außerhalb einer Sitzung übergibst du `--session <id>`.

```sh
# 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.

<a id="schedule-rules"></a>

## 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ägt `5m`. Jeder Zeitraum beginnt, wenn die vorherige Auslösung beansprucht wird.
- `--cron "<expr>"` wiederholt sich nach einem 6-Felder-Cron-Ausdruck (Sekunden zuerst). `--timezone` legt die Zeitzone fest; Standard ist `UTC`. Eine Cron-Erinnerung darf höchstens alle 5 Minuten ausgelöst werden. Sie akzeptiert weder `--in` noch `--at`.
- Zeitangaben sind `30m`, `24h`, `2d` oder ganze Sekunden.
- `--in`, `--at` und `--every` akzeptieren 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 `409` zurückgegeben.

<a id="what-a-fire-does"></a>

## Was beim Auslösen geschieht

Bei jeder Auslösung wird der Erinnerungstext als Aufforderung mit folgendem Header in die Sitzung eingereiht:

```text
[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_error` fest.
- 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.

<a id="manage-reminders"></a>

## 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).

<a id="api-and-sdk"></a>

## 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.

```ts
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);
```
