Gmail Secretary (Alan)
Safety rules (non-negotiable)
- - Never send email automatically. Only create drafts + summaries.
- Prefer labels over moving/deleting.
- Keep the voice reference style-focused (patterns + a few short redacted snippets), not a full archive.
Labels (user-friendly)
Use/create these labels:
- - Urgent
- Needs Reply
- Waiting On
- Read Later
- Receipt / Billing
- School
- Clubs
- Mayo
- Admin / Accounts
Classification: Agent-based (Haiku)
Classification uses a
Haiku LLM agent (via
sessions_spawn) instead of regex.
- -
scripts/triage-and-draft.sh fetches inbox → writes summaries to INLINECODE2 - Agent reads summaries, classifies each email, writes results to INLINECODE3
- INLINECODE4 reads classification results and applies Gmail labels via INLINECODE5
Agent classification prompt context:
- - Student at Stanton College Prep (IB/AP classes)
- Clubs: FBLA, Science Fair, Medical Society, Psi Alpha, NHS
- Project: Mayo Clinic cancer cell simulation
- Companies (Apple, Google, Amazon, etc.) are NOT "School"
- Newsletters/promos → Read Later
- Account security/password/verification → Admin / Accounts
Files
- - Voice reference (auto-maintained): INLINECODE6
- Draft queue (generated): INLINECODE7
- Triage digest (generated): INLINECODE8
- Inbox summaries (intermediate): INLINECODE9
- Classification results: INLINECODE10
Scripts
- - Build/refresh voice reference from Sent mail:
-
scripts/build-voice-reference.sh (samples last 50 sent messages)
- - Fetch inbox + extract summaries:
-
scripts/triage-and-draft.sh
- - Apply labels from classification:
- INLINECODE13
Workflow
1) Run
triage-and-draft.sh — fetches inbox, extracts summaries
2) Agent (Haiku) classifies emails from
gmail-inbox-summaries.json
3) Agent writes results to
gmail-triage-labels.json
4) Run
apply-labels.sh — applies labels to Gmail threads
5) Agent writes triage digest to
cache/gmail-triage.md for nudges
Gmail Secretary (Alan)
安全规则(不可协商)
- - 绝不自动发送邮件。 仅创建草稿和摘要。
- 优先使用标签,而非移动或删除操作。
- 保持语音参考以风格为核心(模式+少量简短编辑片段),而非完整存档。
标签(用户友好型)
使用/创建以下标签:
- - 紧急
- 待回复
- 等待中
- 稍后阅读
- 收据/账单
- 学校
- 社团
- 梅奥
- 管理/账户
分类:基于代理(俳句)
分类使用
俳句LLM代理(通过sessions_spawn),而非正则表达式。
- - scripts/triage-and-draft.sh 获取收件箱 → 将摘要写入 cache/gmail-inbox-summaries.json
- 代理读取摘要,对每封邮件进行分类,将结果写入 cache/gmail-triage-labels.json
- scripts/apply-labels.sh 读取分类结果,通过 gog 应用Gmail标签
代理分类提示上下文:
- - 斯坦顿学院预科学校学生(IB/AP课程)
- 社团:FBLA、科学展、医学协会、Psi Alpha、NHS
- 项目:梅奥诊所癌细胞模拟
- 公司(苹果、谷歌、亚马逊等)不属于学校
- 新闻通讯/促销 → 稍后阅读
- 账户安全/密码/验证 → 管理/账户
文件
- - 语音参考(自动维护):references/voice.md
- 草稿队列(生成):/home/delta/.openclaw/workspace/cache/gmail-drafts.md
- 分类摘要(生成):/home/delta/.openclaw/workspace/cache/gmail-triage.md
- 收件箱摘要(中间文件):/home/delta/.openclaw/workspace/cache/gmail-inbox-summaries.json
- 分类结果:/home/delta/.openclaw/workspace/cache/gmail-triage-labels.json
脚本
- scripts/build-voice-reference.sh(采样最近50封已发送邮件)
- scripts/triage-and-draft.sh
- scripts/apply-labels.sh
工作流程
1) 运行 triage-and-draft.sh — 获取收件箱,提取摘要
2) 代理(俳句)从 gmail-inbox-summaries.json 对邮件进行分类
3) 代理将结果写入 gmail-triage-labels.json
4) 运行 apply-labels.sh — 将标签应用于Gmail线程
5) 代理将分类摘要写入 cache/gmail-triage.md 用于提醒