Lembretes
Um lembrete solicita uma sessão novamente, uma vez ou repetidamente, até que você o remova.
Um lembrete envia um prompt para uma sessão existente no horário que você definir. Ele dispara uma vez ou se repete até que alguém o remova. Um agente usa um lembrete para verificar o próprio trabalho: “em 24 horas, veja se o fornecedor respondeu”, “a cada hora, veja se a implantação está funcionando”.
Um lembrete é um gatilho vinculado a uma única sessão. As diferenças:
| Gatilho | Lembrete | |
|---|---|---|
| Armazenado em | beeuni.yaml, enviado para o branch padrão |
O banco de dados. Sem edição de manifesto nem commit. |
| Um disparo | Geralmente inicia uma nova sessão | Envia um prompt para a sessão vinculada. Nunca inicia uma sessão. |
| Duração | Até que alguém o remova do manifesto | Até que alguém o remova. Ele é pausado automaticamente se a sessão for excluída ou falhar. |
| Quem pode criar | Gerentes de projeto (project.trigger.create) |
Qualquer pessoa que possa enviar prompts para a sessão. Um agente só pode criar um na própria sessão. |
| Listado por | beeuni triggers ls, a página Triggers |
beeuni reminders ls, por sessão |
Use um gatilho para trabalhos do projeto que todos devem ver, como um resumo diário. Use um lembrete para um acompanhamento que pertença a uma tarefa.
Ativar lembretes
Lembretes são um sinalizador de recurso por projeto, reminders, desativado por padrão. Ative-o em Settings → Feature flags ou:
beeuni projects features enable reminders
Enquanto o sinalizador estiver desativado, todas as rotas de lembretes respondem 403 com code: "feature_disabled", a página Reminders mostra como ativá-lo e os lembretes existentes não disparam. Ao reativar o sinalizador, o horário perdido enquanto ele estava desativado dispara uma vez, e então a programação continua.
Definir um lembrete
Dentro de uma sessão, a CLI usa a sessão atual. Fora dela, passe --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
O comando exibe o ID do lembrete, por exemplo reminder.3f9a1c2e7b04, e o próximo horário de disparo.
Regras de programação
--in <duration>ou--at <ISO-8601>define o primeiro disparo. Se usado sozinho, o lembrete dispara uma vez.--every <duration>define a repetição. O período mínimo é5m. Cada período começa quando o disparo anterior é processado.--cron "<expr>"define a repetição usando uma expressão cron de 6 campos (primeiro, os segundos).--timezonedefine o fuso horário; o padrão éUTC. Um lembrete cron deve disparar no máximo uma vez a cada 5 minutos. Ele não aceita--innem--at.- As durações são
30m,24h,2dou segundos inteiros. --in,--ate--everyaceitam no máximo 366 dias.- Uma sessão pode ter no máximo 20 lembretes ativos. Um projeto pode ter no máximo 200. Exceder qualquer limite retorna
409.
O que acontece quando um lembrete dispara
Cada disparo coloca o texto do lembrete na fila da sessão como um prompt que começa com um cabeçalho:
[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.
- Uma sessão em espera é reativada. O agente tem acesso a todo o histórico da conversa e ao espaço de trabalho da sessão.
- Um disparo nunca inicia uma nova sessão. Se a sessão for excluída ou falhar, o disparo pausa o lembrete e registra o motivo em
last_error. - Um disparo mantém as conexões pessoais da sessão, como o Gmail de um membro. Definir um lembrete em uma sessão pela qual você não está atuando as remove, assim como enviar um prompt para essa sessão.
- A pausa de gatilhos para todo o projeto (
beeuni triggers pause) também interrompe os lembretes.
Cada disparo é uma interação do modelo. Remova um lembrete recorrente assim que a condição dele for atendida.
Gerenciar lembretes
| Comando | Efeito |
|---|---|
beeuni reminders ls [--json] |
Lista os lembretes da sessão: ID, estado, programação, próximo disparo e texto. |
beeuni reminders pause <id> |
Interrompe os disparos. Mantém o lembrete. |
beeuni reminders resume <id> |
Dispara novamente e reativa a contagem a partir de agora. Um lembrete de disparo único que já disparou continua done. |
beeuni reminders rm <id> |
Exclui o lembrete. Aliases: stop, delete. |
Um lembrete está active (programado), paused (desativado) ou done (um lembrete de disparo único que já disparou).
API e SDK
As rotas são vinculadas à sessão:
| Rota | Efeito |
|---|---|
GET /v1/projects/:projectId/sessions/:sessionId/reminders |
Lista os lembretes. |
POST /v1/projects/:projectId/sessions/:sessionId/reminders |
Cria um. Corpo: prompt, name opcional e every, cron + timezone, at ou in. Retorna 201. |
PATCH /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
O corpo { "enabled": false } pausa; { "enabled": true } retoma. |
DELETE /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId |
Exclui um. |
Uma programação inválida retorna 400 com o motivo. Uma sessão excluída retorna 409. Uma credencial de agente que indica outra sessão retorna 403.
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);