dsh-notify-skill
你不在电脑前时由 agent 邮件提醒你:goal 完成、阻塞、向你提问决策前、长任务节点时触发,自带零依赖 Node SMTP 发送器。
安装
dsh plugin --profile web add dsh-notify-skill
沙箱测试
这个插件还没测过。提交测试 →
README
dsh-notify-skill
[English](README.md) | 中文
你不在电脑前时,agent 用邮件提醒你回来。
你在 DSH(或其他 AI 编码 agent)里派一个长任务 goal,然后离开电脑。当 agent 完成、卡住、或需要你决策时,它发一封邮件到你手机邮箱——你看到就回来。单向通知,不做远程指挥。
设计理念:自带发送器,教会兜底实现
本 skill 打包一个零依赖实现——sender.mjs(约 70 行,只用 Node 内置 tls/net),让 agent 在每个正常 DSH 会话里都能确定地发信(DSH 本身就跑在 Node 上)。SKILL.md 仍然承载完整契约:
- 何时通知(goal 完成 / 阻塞 / 提问决策前 / 长任务节点),
- 写什么(具体、用你的语言、简短),
- 配置契约(
config.json:发件邮箱、SMTP 授权码、收件邮箱;QQ/163 邮箱自动推断服务器), - 配置缺失时如何引导用户获取 SMTP 授权码,
- 故障处理与安全规则。
万一 Node 真的不可用(极少见),skill 指令会告诉 agent 自己实现那 ~15 行 SMTP 调用——环境里有什么用什么:Python smtplib、curl、mail…… 这样 skill 依然跨平台(Windows/Linux/macOS)且不过时。
触发时机
时机 · 建议标记
goal 完成 · done
goal 阻塞/卡住 · block
即将向你提问决策时 · question
长任务关键节点 · info
agent 通过自带的发送器发信:
node sender.mjs "标题" "正文" # 读取旁边的 config.json
经验备注(Windows):.NETSmtpClient在 465 隐式 TLS 上有已知挂起问题——自带发送器改用node:tls,无此问题。
安装(DSH)
插件安装(推荐) —— 本 skill 以 DSH 插件形式发布,自动注册到 ctx.skills:
dsh plugin --profile web add dsh-notify-skill
或用 GitHub 源:dsh plugin --profile web add github:PAKIKNOWLEDGE/dsh-notify-skill。装完重启一次 dsh web,会话 skill 目录里就会出现它。
手动安装(不装插件) —— DSH 也会从 <dshHome>/skills/<name>/SKILL.md 发现 skill(默认 ~/.dsh/skills),文件监视器热加载:
git clone https://github.com/PAKIKNOWLEDGE/dsh-notify-skill.git "$HOME/.dsh/skills/notify"
也可以手动把文件夹复制到 ~/.dsh/skills/notify/。新会话立即生效。
配置(一次性,约 5 分钟)
直接让 agent 用这个 skill,它也会引导你完成。
1. 获取 SMTP 授权码(不是登录密码):
- QQ 邮箱:网页版 → 设置 → 账户 → 开启「POP3/SMTP 服务」→ 生成 16 位授权码
- 163 邮箱:网页版 → 设置 → POP3/SMTP/IMAP/SMTP → 开启 → 新增授权码
2. 复制 config.example.json 为 config.json 并填写:
{
"email": {
"smtpHost": "",
"smtpPort": 465,
"useSsl": true,
"from": "your-address@qq.com",
"authCode": "16位授权码",
"to": "recipient@example.com"
}
}
smtpHost 可留空,按地址自动推断(@qq.com → smtp.qq.com,@163.com → smtp.163.com,465 SSL)。
3. 测试:让 agent 发一条测试通知即可(发送器由它自己实现)。
其他 agent(Claude Code、Codex 等)
无需任何兼容工作——现在的 agent 很聪明,把 SKILL.md 和配置契约指给它,它自己就会实现发送器。
安全
config.json(含你的 SMTP 授权码)和notify.log已 gitignore——绝不要强推入库。授权码泄露等于别人能用你的邮箱发信。- skill 指令要求 agent 绝不打印或提交授权码。
License
[MIT](LICENSE)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:1,最后更新 2026-08-15