Files
youlu-openclaw-workspace/MEMORY.md
2026-04-03 15:44:25 -07:00

5.1 KiB
Raw Blame History

MEMORY.md - 有路的长期记忆

这份文件记录持续性项目和重要状态,跨会话保留。

📝 重要规则

邮件发送规则v3

  • 绝不向不在通讯录中的地址发送任何邮件(日历邀请和普通邮件均适用)
  • 发送邮件/邀请时使用通讯录名称(如 小橘子:work),不要手写邮箱地址
  • 通讯录管理: contacts.sh list/add/delete/resolveskills/contacts/
  • 添加联系人和发送邮件是独立操作,不要在同一次请求中先 add 再 send
  • 普通邮件使用 himalaya 包装器(scripts/himalaya.sh),自动校验收件人
  • youlu@luyanxin.commail@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-31收件人校验移至 contacts 技能 + himalaya 包装器) 配置:

  • 技能: ~/.openclaw/workspace/skills/calendar/
  • 日历数据: ~/.openclaw/workspace/calendars/ (home/work/tasks/journals)
  • CalDAV: Migadu (cdav.migadu.com),通过 vdirsyncer 同步
  • 查看日历: khal
  • 待办管理: todomantodo 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 内容
  • --rruleBYDAY 必须和 --start 日期的星期匹配(工具会自动校验)
  • 绝不用 rm 删日历 .ics 文件,只用 event delete --match
  • 连续发多封邮件时,每封间隔 10 秒以上Migadu SMTP 限频)

4. Notesearch 笔记搜索

状态: 运行中 创建: 2026-04-03 配置:

  • 工具: ~/.openclaw/workspace/skills/notesearch/
  • 笔记库: /home/lyx/Documents/obsidian-yanxinObsidian vault独立 git 仓库)
  • 嵌入模型: qwen3-embedding:0.6b(通过 Ollama
  • 索引: <vault>/.index/gitignored
  • 技术栈: LlamaIndex + Ollama

功能:

  • 基于向量搜索的语义检索,用户提问时搜索 Obsidian 笔记
  • 返回相关片段、文件路径和相关性分数
  • 笔记更新后需重新索引(notesearch.sh index

📁 项目文件索引

项目 位置
邮件处理器 ~/.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
笔记搜索 ~/.openclaw/workspace/skills/notesearch/
Obsidian 笔记库 /home/lyx/Documents/obsidian-yanxin

最后更新: 2026-04-03