目录

CC-Loop-Email

Claude Code 长程 loop 的邮件通知 —— 跑通宵、人不在电脑前,loop 的进度、完成、以及7 天到期都会发邮件到你手机上,不用一直盯着终端。

配套 CC-Notifier:CC-Notifier 管「在电脑前」的托盘弹窗,CC-Loop-Email 管「离开屏幕后」的邮件。

解决什么问题

跑 Claude Code 的 loop(/loopScheduleWakeupCronCreate),动辄几小时到通宵。睡一觉醒来,不知道:

  • loop 跑到哪了 / 是不是已经挂了
  • 任务完成了没有
  • loop 是不是快到 7 天硬上限、要静默停掉了

CC-Loop-Email 让 loop 自己定时 / 到点给你发邮件:进度汇报、任务完成,以及最关键的 7 天到期提醒——提醒你重启 loop 或换监测方式。

依赖

  • Python 3.8+

  • 默认零依赖:仅用标准库(smtplib / email),开箱即用。

  • 代理模式可选:仅当 config.json 配了 proxy 时才需要 PySocks:

    pip install -r requirements.txt   # 或 pip install PySocks==1.7.1

快速开始

1. 拿 QQ 邮箱授权码

  1. 登录 QQ 邮箱
  2. 右上角「设置」→ 左下「账号与安全」→「安全设置」
  3. 找到 「POP3/IMAP/SMTP/Exchange/CardDAV 服务」
  4. 开启 IMAP/SMTP 服务,按提示用手机发短信,拿到 16 位授权码 (⚠️ 只显示一次,它是发信密码的替代)

2. 配置

复制 config.example.jsonconfig.json,填入:

{
  "from_addr": "your_qq@qq.com",
  "auth_code": "16位授权码",
  "to": "receiver@example.com",
  "smtp_server": "smtp.qq.com",
  "smtp_port": 465,
  "proxy": null
}

config.json 已在 .gitignore,授权码不会进仓库。

3. 测试发信

python send_email.py --subject "CC-Loop-Email 测试" --body "通道已就绪"

收到邮件即通。若连不上(全局代理/TUN),把 "proxy" 设为 "127.0.0.1:7890"pip install -r requirements.txt 后重试。

4. 接入 loop

在 Claude Code 里跑这个项目的 loop 前,调用 cc-loop-email skill(见下方安装),它会自主完成:配置 → 测试 → 用调度器安排定期进度邮件 + 7 天到期提醒。

也可以直接手动调度:

CronCreate({
  cron: "*/4 * * * *", durable: true,
  prompt: "python send_email.py --subject '[CC-Loop] 进度' --body '<简述进展>'"
})

作为 Skill 安装

SKILL.md(连同 send_email.pyconfig.example.json)放进:

~/.claude/skills/cc-loop-email/

之后在任意项目里对 Claude 说「给这个 loop 配邮件通知 / 用 cc-loop-email skill」,它会按 skill 的 6 步流程走完。

防踩坑(重要)

  1. 别关 CC 对话 / 终端 —— loop 依赖活跃会话。用 tmux 持久化:
    tmux new -s cc       # 在会话里跑 claude
    tmux attach -t cc    # 重连
  2. loop 有 7 天硬上限 —— 到点自动停。务必安排一封「6.9 天后」的到期提醒邮件,提示自己重启 loop / 换监测方式。
  3. durable 调度只在 REPL 空闲时触发 —— CC 得保持运行(卡在 tmux 里),关了就不发。
  4. 授权码 = 密码 —— config.json 已 gitignore,别提交。
  5. 代理 —— 默认直连 smtp.qq.com:465 即可;全局代理环境才需配 proxy

命令速查

# 命令行
python send_email.py --subject "标题" --body "正文" --to a@b.com --attach r.csv

# 代码调用
from send_email import send_email
send_email(subject="标题", body="正文", attachments=["r.csv"])

仓库文件

CC-Loop-Email/
├── README.md                 ← 本文档
├── SKILL.md                  ← Claude Code skill 定义
├── send_email.py             ← 发信工具(默认零依赖)
├── requirements.txt          ← 仅代理模式需要 PySocks
├── config.example.json       ← 配置模板(进仓库)
├── config.json               ← 你的真实配置(gitignore,需自建)
├── 朋友圈文案.md              ← 分享文案
└── .gitignore

许可证

MIT

关于
35.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号