← Back to Plugins
Tools

Agenda

angelotieres By angelotieres 👁 79 views ▲ 0 votes

Plugin nativo OpenClaw: calendário/agenda dinâmica com visão Mês/Semana, compromissos pontuais e recorrência semanal

GitHub

Install

npm install
openclaw

README

# agenda

Plugin nativo do OpenClaw: calendário/agenda dinâmica com visão **Mês** e
**Semana**, compromissos pontuais e recorrência semanal, num dashboard widget
nativo (sem sandbox iframe).

Criado para complementar `AGENDA.md` (que fica como histórico/espelho) com
uma camada visual/interativa no Control UI — não substitui o sistema de
lembretes via `automations` (cron/at), que continua disparando os avisos
normalmente.

## Modelo de dados

Cada evento tem:

- `id` (uuid)
- `title` (obrigatório)
- `recurrence`: `none` | `weekly`
- `date` (`YYYY-MM-DD`, obrigatório quando `recurrence=none`; ignorado quando `weekly`)
- `daysOfWeek` (array de inteiros 0-6, 0=domingo, obrigatório quando `recurrence=weekly`)
- `time` (opcional, `HH:MM`)
- `notes` (opcional)
- `until` (opcional, `YYYY-MM-DD` — limite da recorrência semanal; ausente = indefinida a partir de `createdAt`)
- `createdAt` / `updatedAt` (epoch ms)

Armazenamento: SQLite simples (`node:sqlite`) em
`<stateDir>/plugins/agenda/agenda.sqlite`.

## Instalar

```sh
git clone https://github.com/angelotieres/agenda.git
cd agenda
npm install
openclaw plugins install . --link --force --accept-capabilities
openclaw plugins enable agenda
```

Depois de instalar/atualizar código do plugin, reinicie o Gateway
(`openclaw gateway restart` ou `docker compose restart`, dependendo de como
seu Gateway roda) e confira:

```sh
openclaw plugins inspect agenda --runtime --json
```

## CLI

```sh
openclaw agenda create "Aula de inglês" --date 2026-09-28 --time 09:00
openclaw agenda create "Reunião semanal" --recurrence weekly --days 1 --time 10:00
openclaw agenda list
openclaw agenda list --json
openclaw agenda update <id-ou-prefixo> --time 09:30
openclaw agenda delete <id-ou-prefixo>
```

`update` aceita o id completo ou um prefixo único do id. `--json` imprime
JSON em vez de texto plano; `--date none`, `--days none`, `--time none`,
`--notes none` ou `--until none` limpam o campo correspondente.

## Ferramentas de agente

- `agenda_create` — cria um evento (`title`, `recurrence?`, `date?`, `daysOfWeek?`, `time?`, `notes?`, `until?`)
- `agenda_list` — lista os eventos (definições cruas, não ocorrências expandidas)
- `agenda_update` — atualiza um evento por id/prefixo
- `agenda_delete` — apaga um evento por id/prefixo

## Dashboard

O plugin registra o widget nativo `agenda:board` (sem sandbox iframe) — mostra
o calendário com toggle Mês/Semana, navegação anterior/próximo, dia atual
destacado, botão "+" para criar compromisso numa data específica, e clique
num compromisso existente para editar/excluir. Pino com a ferramenta
`dashboard`:

```
dashboard: action=widget_put, name="agenda-calendario", tabId="agenda",
pluginKind="agenda:board", size="full"
```

## Desenvolvimento

```sh
npm run typecheck
```

Build do bundle do browser e cálculo do hash de revisão seguem o mesmo
pipeline manual (esbuild + hash local) documentado no plugin irmão `kanban`.
tools

Comments

Sign in to leave a comment

Loading comments...