Saltar para o conteúdo
BeeuniBeeuni
Português
Esc
↑↓navegar↵abrir⌘Jpré-visualizar
Nesta página

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). --timezone define 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 --in nem --at.
  • As durações são 30m, 24h, 2d ou segundos inteiros.
  • --in, --at e --every aceitam 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);

Esta página foi útil?