yashua233/dsh-qq-mail-notify ↗★ 1
dsh-qq-mail-notify
工作结束 QQ 邮箱通知:每轮工作真正停下后,用 SMTP 把会话摘要发到 QQ 邮箱。Mailbox notification for DeepSeek Harness — sends a batched session digest via SMTP once work actually stops.
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yashua233/dsh-qq-mail-notifyREADME
Read the full README ↗配置
两条路,都不用改 profile 的 patch:
在会话里让 agent 调 qq_mail_notify 工具:
action=configure, user=123456@qq.com, authCode=, to=接收邮箱@qq.com
action=test # 立刻发一封测试邮件
action=status # 看配置、来源和统计
action=send # 立刻把当前会话进度发一封
字段写入 $DSH_HOME/qq-mail-notify.json,优先于 cordis.patch.yml 里的同名空值。想让 patch 里的值压过文件,就让 patch 里的字段非空。
QQ 邮箱的授权码不是登录密码:网页版 QQ 邮箱「设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」里开启 SMTP 服务,按提示发短信后拿到 16 位授权码。
这个插件为 QQ 邮箱优化,QQ 也是默认值:只要 user 是 QQ 邮箱,不填任何主机配置就连 smtp.qq.com:465。其他服务商在「主机仍是默认值」的前提下按地址自动识别——@qq.com / @foxmail.com / @vip.qq.com(QQ)、@exmail.qq.com(腾讯企业邮)、@163.com、@126.com、@yeah.net、@gmail.com、@outlook.com / @hotmail.com / @live.com。认不出的域名不猜,保持 QQ 默认,需要自己填 smtpHost / smtpPort / secure;显式填过的主机永远不会被推断覆盖。各家授权码获取方式不同:Gmail 要应用专用密码,Outlook 的 SMTP 是 587 + STARTTLS。
配置字段:
| 字段 | 默认 | 说明 |
|---|---|---|
user | — | 发件邮箱地址(QQ 邮箱是主路径,也决定自动推断服务商) |
authCode | — | SMTP 授权码 |
to | 同 user | 收件人,多个用逗号分隔 |
smtpHost / smtpPort / secure | 按 user 推断,QQ 即 smtp.qq.com / 465 / true | 465 隐式 TLS;587 配 secure=false 走 STARTTLS。显式填过就以你填的为准,推断不会覆盖 |
idleDelayMs | 0 | 最后动作结束后静默多久才发。0=即时发送(这一轮结束就发);调大则攒批,如 600000(10 分钟)连续对话只收一封 |
progressEveryMs | 2400000 | 一轮跑超 40 分钟就先发一封进度通报,之后每隔同样时长再报;0 关闭 |
approvalMailEnabled | false | 工具停下来等你授权时发邮件,回信「允许」/「拒绝」即可决定。必须同时安装 dsh-mail-command,打开它会把会话切到 workspace-write |
approvalMailTimeoutMs | 600000 | 审批邮件等回信的时长(10 分钟)。超时交回界面等你点,不会替你决定 |
maxBatchMs | 1800000 | 攒批时一批最多攒 30 分钟就先发一封;0 表示不限 |
maxBatchTurns | 20 | 攒批时一批最多攒 20 轮就先发一封 |
minTurnMs | 0 | 单轮短于这个时长就不计入;默认不设门槛,调大可过滤掉一阵就结束的短轮;失败轮不受此限 |
skipSubagents | true | 跳过子会话 |
notifyOnAbort | false | 被中断时是否也发(失败始终发) |
quietHours | 空 | 免打扰时段,如 23:30-07:30 |
includePreview / previewChars | true / 1200 | 摘要开关;previewChars 是整封邮件的摘要总量,按轮数均分 |
subjectPrefix | [DSH] | 主题前缀 |
fromName | DeepSeek Harness | 发件人显示名(收件箱里看到的名字) |
enabled | true | 总开关 |
也认环境变量:DSH_QQ_MAIL_USER、DSH_QQ_MAIL_AUTH_CODE、DSH_QQ_MAIL_TO、DSH_QQ_MAIL_HOST、DSH_QQ_MAIL_PORT、DSH_QQ_MAIL_SECURE。
优先级:会话覆盖(sessions 文件) > Config(patch)> qq-mail-notify.json > 环境变量 > 默认值。status 会逐字段标出来源(session / config / file / env / default)。