Files
youlu-openclaw-workspace/MEMORY.md
Yanxin Lu 35f048dd83 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.
2026-03-25 09:32:22 -07:00

112 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MEMORY.md - 有路的长期记忆
_这份文件记录持续性项目和重要状态,跨会话保留。_
## 📝 重要规则
### 邮件发送规则v2
- **youlu@luyanxin.com → mail@luyx.org**: 直接发送,无需确认(用户 SimpleLogin 别名)
- 其他所有对外邮件: 仍需确认
### 代码审查规则
写/改/部署代码前,必须先确认:
1. 为什么需要?
2. 改了什么功能?
3. 文件放在哪里?
---
## 👤 用户背景
`USER.md`
---
## 🎯 活跃项目
### 1. 邮件自动处理系统
**状态**: 运行中
**创建**: 2026-02-27
**更新**: 2026-03-05基于学习机制优化
**配置**:
- 目录: `~/.openclaw/workspace/scripts/email_processor/`
- Cron: 每天 08:30 / 17:00PST
- Runner: uv + isolated subagent
- LLM: Ollama (kamekichi128/qwen3-4b-instruct-2507)
- 置信度阈值: 85%(需要同一发件人+标签组合至少9次一致决策才自动执行
**工作原理**:
1. **LLM 分类**: 对每个未读邮件LLM 建议一个操作delete/archive/keep/mark_read并分配 3-5 个标签
2. **置信度计算**: 基于历史决策匹配 `(发件人邮箱, 标签)` 签名,计算该操作的历史一致率
3. **阈值判断**:
- 置信度 ≥ 85% → 自动执行操作
- 置信度 < 85% → 加入待处理队列等待人工审核
**关键概念**:
- 没有固定的学习期,置信度随历史积累逐步增长
- 每个匹配历史决策增加 10% 置信度上限1次匹配=10%9次=90%
- 新/未知发件人从 50% 起步
**Tag 分类14个**: receipt, billing, shipping, promotion, newsletter, security, social, reminder, confirmation, alert, personal, account, subscription, travel
---
### 2. 工作区自动备份
**状态**: 运行中
**创建**: 2026-03-06
**更新**: 2026-03-24修复agentTurn → systemEvent
**配置**:
- Cron ID: `53c0b2a6-e3b3-4a1d-b2a8-66e216fad753`
- Schedule: 每天 00:00PST
- Target: `main` session通过 heartbeat 触发)
- Payload: `systemEvent` 直接执行 shell
- 远程: `ssh://git@luyanxin.com:8103/lyx/youlu-openclaw-workspace.git`
**功能**:
- 自动提交所有变更到 git包括未追踪文件
- 自动推送到 origin/main**无需确认**
- 无变更时静默(无通知)
- 仅出错时报告
---
### 3. 日历邀请 + CalDAV 同步
**状态**: 运行中
**创建**: 2026-03-18
**更新**: 2026-03-25添加 RRULE 支持 + 事件管理 + 安全规则)
**配置**:
- 技能: `~/.openclaw/workspace/skills/calendar/`
- 日历数据: `~/.openclaw/workspace/calendars/` (home/work/tasks/journals)
- CalDAV: Migadu (`cdav.migadu.com`),通过 vdirsyncer 同步
- 查看日历: khal
- 待办管理: todoman`todo` CLI
- 运行方式: `uv run`(依赖 `icalendar` 库)
**功能**:
- 发送日历邀请,支持周期性事件(`--rrule`
- 接受/拒绝/暂定回复邀请(回复给 organizer
- 事件管理(`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 限频)
---
## 📁 项目文件索引
| 项目 | 位置 |
|------|------|
| 邮件处理器 | `~/.openclaw/workspace/scripts/email_processor/` |
| 日历/待办 | `~/.openclaw/workspace/skills/calendar/` |
| 日历数据 | `~/.openclaw/workspace/calendars/` (home=事件, tasks=待办) |
---
_最后更新: 2026-03-25_