网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Morning Email Rollup

2026-03-28 新闻来源:网淘吧 围观:14
电脑广告
手机广告

晨间邮件汇总

自动生成重要邮件的每日摘要,并在丹佛时间上午8点发送至Telegram。

设置

必需项:设置您的Gmail账户邮箱:

export GOG_ACCOUNT="your-email@gmail.com"

或直接编辑脚本以设置默认值。

功能说明

  • 每日上午8:00运行(时区可配置)
  • 显示今日的日历事件来自Google日历
  • 搜索标记为重要已加星标的过去24小时内的邮件
  • 使用AI(Gemini CLI)为每封邮件生成自然语言摘要
  • 显示最多20封最重要的邮件,包含:
    • 🔴 未读指示器(红色)
    • 🟢 已读指示器(绿色)
    • 发件人姓名/邮箱
    • 邮件主题行
    • AI生成单句摘要(自然语言,非抓取内容)
  • 将格式化摘要发送至Telegram

使用方式

手动运行

# Default (10 emails)
bash skills/morning-email-rollup/rollup.sh

# Custom number of emails
MAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh
MAX_EMAILS=5 bash skills/morning-email-rollup/rollup.sh

查看日志

cat $HOME/clawd/morning-email-rollup-log.md

工作原理

  1. 检查日历- 通过 gog 列出Google日历中的今日事件gog
  2. 搜索Gmail- 查询条件:is:important OR is:starred newer_than:1d
  3. 获取详细信息- 获取每封邮件的发件人、主题、日期和正文
  4. AI摘要生成- 使用Gemini CLI生成自然语言摘要
  5. 格式化输出- 创建带已读/未读标记的可读摘要
  6. 发送至Telegram- 通过Clawdbot的消息系统发送

日历集成

该脚本会自动从您的Google日历中获取今日日程,使用与查询Gmail相同的gog

命令行工具。

  • 优雅降级处理:gog
  • 未安装 → 日历部分将被静默跳过(不报错)
  • 若今日无日程 → 日历部分将被静默跳过

若存在日程 → 显示格式化列表,包含12小时制时间和标题

  • 要求:gog
  • 必须已安装并完成身份验证使用为Gmail配置的同一Google账户(通过GOG_ACCOUNT

环境变量设置)

邮件筛选条件符合以下任意条件

  • 的邮件将被包含:被Gmail标记为重要邮件
  • 手动已加星标由您
  • 在过去24小时内收到

AI摘要

每封邮件都使用 Gemini CLI (gemini) 进行摘要:

  • 提取邮件正文(清理HTML/CSS)
  • 发送至gemini --model gemini-2.0-flash附带提示要求用1句话总结
  • 摘要为中等至较长长度的自然语言(非抓取内容)
  • 如果Gemini不可用,则回退到清理后的正文文本

重要提示:邮件正文作为提示的一部分传递(而非通过stdin),因为gemini CLI无法正确处理带提示的管道输入。

示例输出:

🔴 **William Ryan: Invitation to team meeting**
   The email invites you to a team meeting tomorrow at 2pm to discuss the Q1 roadmap and assign tasks for the upcoming sprint.

已读/未读指示器

  • 🔴 红点 = 未读邮件
  • 🟢 绿点 = 已读邮件

所有邮件都显示这些标记之一,以保持视觉一致性。

格式说明

主题和摘要清理:

  • 主题行中的额外引号会被自动去除(例如,""Agent Skills""Agent Skills
  • 来自Gemini的摘要也会被清理掉开头和结尾的引号
  • 这确保了在Telegram/其他渠道中输出内容的整洁与可读性

Cron计划任务

在您首选的时间设置每日cron任务:

cron add --name "Morning Email Rollup" \
  --schedule "0 8 * * *" \
  --tz "America/Denver" \
  --session isolated \
  --message "GOG_ACCOUNT=your-email@gmail.com bash /path/to/skills/morning-email-rollup/rollup.sh"

请根据您的偏好调整时间(上午8:00)和时区。

自定义

更改邮件数量

默认情况下,汇总显示10封邮件。要更改此设置:

临时(一次性):

MAX_EMAILS=20 bash skills/morning-email-rollup/rollup.sh

永久:编辑skills/morning-email-rollup/rollup.sh更改搜索条件

MAX_EMAILS="${MAX_EMAILS:-20}"  # Change 10 to your preferred number

编辑

skills/morning-email-rollup/rollup.sh:更改时间

# Current: important or starred from last 24h
IMPORTANT_EMAILS=$(gog gmail search 'is:important OR is:starred newer_than:1d' --max 20 ...)

# Examples of other searches:
# Unread important emails only
IMPORTANT_EMAILS=$(gog gmail search 'is:important is:unread newer_than:1d' --max 20 ...)

# Specific senders
IMPORTANT_EMAILS=$(gog gmail search 'from:boss@company.com OR from:client@example.com newer_than:1d' --max 20 ...)

# By label/category
IMPORTANT_EMAILS=$(gog gmail search 'label:work is:important newer_than:1d' --max 20 ...)

更新 cron 计划:

更改摘要样式

# List cron jobs to get the ID
cron list

# Update schedule (example: 7am instead of 8am)
cron update <job-id> --schedule "0 7 * * *" --tz "America/Denver"

编辑

rollup.shsummarize_email()函数内的提示词:更改 AI 模型

# Current: medium-to-long 1 sentence
"Summarize this email in exactly 1 sentence of natural language. Make it medium to long length. Don't use quotes:"

# Shorter summaries
"Summarize in 1 short sentence:"

# More detail
"Summarize in 2-3 sentences with key details:"

编辑

summarize_email()中的 gemini 命令:故障排除

# Current: gemini-2.0-flash (fast)
gemini --model gemini-2.0-flash "Summarize..."

# Use a different model
gemini --model gemini-pro "Summarize..."

未收到汇总邮件

邮件缺失

# Check if cron job is enabled
cron list

# Check last run status
cron runs <job-id>

# Test manually
bash skills/morning-email-rollup/rollup.sh

Gmail 的重要性标记可能过滤掉了预期邮件

  • 检查邮件在 Gmail 中是否确实被标记为重要/加星标
  • 尝试运行手动搜索:
  • gog gmail search 'is:important newer_than:1d'gog gmail search 'is:important newer_than:1d'

摘要未显示

  • 检查geminiCLI 是否已安装:which gemini
  • 手动测试:echo "test" | gemini "Summarize this:"
  • 验证 Gemini 是否已认证(首次运行时应提示认证)

错误的时区

  • Cron 使用America/Denver(MST/MDT)
  • 使用以下命令更新:cron update <job-id> --tz "Your/Timezone"

日志历史

所有汇总运行都记录在:

$HOME/clawd/morning-email-rollup-log.md

格式:

- [2026-01-15 08:00:00] 🔄 Starting morning email rollup
- [2026-01-15 08:00:02] ✅ Rollup complete: 15 emails
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Tailscale 下一篇:Youtube Factory

相关文章

您是本站第290167名访客 今日有235篇新文章/评论