The himalaya skill is a third-party ClawhHub package — putting custom scripts inside it risks conflicts on updates. The wrapper is local customization, so it belongs in scripts/ alongside email_processor.
4.4 KiB
4.4 KiB
MEMORY.md - 有路的长期记忆
这份文件记录持续性项目和重要状态,跨会话保留。
📝 重要规则
邮件发送规则(v3)
- 绝不向不在通讯录中的地址发送任何邮件(日历邀请和普通邮件均适用)
- 发送邮件/邀请时使用通讯录名称(如
小橘子:work),不要手写邮箱地址 - 通讯录管理:
contacts.sh list/add/delete/resolve(skills/contacts/) - 添加联系人和发送邮件是独立操作,不要在同一次请求中先 add 再 send
- 普通邮件使用 himalaya 包装器(
scripts/himalaya.sh),自动校验收件人 - youlu@luyanxin.com → mail@luyx.org: 直接发送,无需确认(用户 SimpleLogin 别名,需在通讯录中)
- 其他所有对外邮件: 确认后再发送
代码审查规则
写/改/部署代码前,必须先确认:
- 为什么需要?
- 改了什么功能?
- 文件放在哪里?
👤 用户背景
见 USER.md
🎯 活跃项目
1. 邮件自动处理系统
状态: 运行中
创建: 2026-02-27
更新: 2026-03-05(基于学习机制优化)
配置:
- 目录:
~/.openclaw/workspace/scripts/email_processor/ - Cron: 每天 08:30 / 17:00(PST)
- Runner: uv + isolated subagent
- LLM: Ollama (kamekichi128/qwen3-4b-instruct-2507)
- 置信度阈值: 85%(需要同一发件人+标签组合至少9次一致决策才自动执行)
工作原理:
- LLM 分类: 对每个未读邮件,LLM 建议一个操作(delete/archive/keep/mark_read)并分配 3-5 个标签
- 置信度计算: 基于历史决策匹配
(发件人邮箱, 标签)签名,计算该操作的历史一致率 - 阈值判断:
- 置信度 ≥ 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:00(PST)
- Target:
mainsession(通过 heartbeat 触发) - Payload:
systemEvent直接执行 shell - 远程:
ssh://git@luyanxin.com:8103/lyx/youlu-openclaw-workspace.git
功能:
- 自动提交所有变更到 git(包括未追踪文件)
- 自动推送到 origin/main,无需确认
- 无变更时静默(无通知)
- 仅出错时报告
3. 日历邀请 + CalDAV 同步
状态: 运行中 创建: 2026-03-18 更新: 2026-03-31(收件人校验移至 contacts 技能 + himalaya 包装器) 配置:
- 技能:
~/.openclaw/workspace/skills/calendar/ - 日历数据:
~/.openclaw/workspace/calendars/(home/work/tasks/journals) - CalDAV: Migadu (
cdav.migadu.com),通过 vdirsyncer 同步 - 查看日历: khal
- 待办管理: todoman(
todoCLI) - 运行方式:
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/contacts/(数据: contacts/default/) |
| 日历/待办 | ~/.openclaw/workspace/skills/calendar/ |
| 日历数据 | ~/.openclaw/workspace/calendars/ (home=事件, tasks=待办) |
| himalaya 包装器 | ~/.openclaw/workspace/scripts/himalaya.sh |
最后更新: 2026-03-31