calendar: add recurring events, event management, and safety rules
Add --rrule flag to send with DTSTART/BYDAY validation (RFC 5545). Add event list (via khal) and event delete (safe single-event removal). Document safety rules from 2026-03-25 incident: always dry-run recurring events, never rm .ics files, space out SMTP sends.
This commit is contained in:
14
MEMORY.md
14
MEMORY.md
@@ -73,6 +73,7 @@ _这份文件记录持续性项目和重要状态,跨会话保留。_
|
||||
### 3. 日历邀请 + CalDAV 同步
|
||||
**状态**: 运行中
|
||||
**创建**: 2026-03-18
|
||||
**更新**: 2026-03-25(添加 RRULE 支持 + 事件管理 + 安全规则)
|
||||
**配置**:
|
||||
- 技能: `~/.openclaw/workspace/skills/calendar/`
|
||||
- 日历数据: `~/.openclaw/workspace/calendars/` (home/work/tasks/journals)
|
||||
@@ -82,12 +83,19 @@ _这份文件记录持续性项目和重要状态,跨会话保留。_
|
||||
- 运行方式: `uv run`(依赖 `icalendar` 库)
|
||||
|
||||
**功能**:
|
||||
- 发送日历邀请给外部收件人
|
||||
- 发送日历邀请,支持周期性事件(`--rrule`)
|
||||
- 接受/拒绝/暂定回复邀请(回复给 organizer)
|
||||
- VTODO 待办管理(add/list/complete/delete/check)
|
||||
- 事件管理(`event list` / `event delete`)
|
||||
- VTODO 待办管理(add/list/edit/complete/delete/check)
|
||||
- 发送/回复/待办操作后自动 `vdirsyncer sync` 同步到 CalDAV
|
||||
- 心跳定期同步日历
|
||||
|
||||
**⚠️ 重要安全规则**(2026-03-25 事故教训):
|
||||
- 周期性邀请**必须先 `--dry-run`** 验证 ICS 内容
|
||||
- `--rrule` 的 `BYDAY` 必须和 `--start` 日期的星期匹配(工具会自动校验)
|
||||
- **绝不用 `rm` 删日历 .ics 文件**,只用 `event delete --match`
|
||||
- 连续发多封邮件时,每封间隔 10 秒以上(Migadu SMTP 限频)
|
||||
|
||||
---
|
||||
|
||||
## 📁 项目文件索引
|
||||
@@ -100,4 +108,4 @@ _这份文件记录持续性项目和重要状态,跨会话保留。_
|
||||
|
||||
---
|
||||
|
||||
_最后更新: 2026-03-24_
|
||||
_最后更新: 2026-03-25_
|
||||
|
||||
Reference in New Issue
Block a user