dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
你不在电脑前时由 agent 邮件提醒你:goal 完成、阻塞、向你提问决策前、长任务节点时触发,自带零依赖 Node SMTP 发送器。
English | 中文
你不在电脑前时,agent 用邮件提醒你回来。
你在 DSH(或其他 AI 编码 agent)里派一个长任务 goal,然后离开电脑。当 agent 完成、卡住、或需要你决策时,它发一封邮件到你手机邮箱——你看到就回来。单向通知,不做远程指挥。
本 skill 打包一个零依赖实现——sender.mjs(约 70 行,只用 Node 内置 tls/net),让 agent 在每个正常 DSH 会话里都能确定地发信(DSH 本身就跑在 Node 上)。SKILL.md 仍然承载完整契约:
config.json:发件邮箱、SMTP 授权码、收件邮箱;QQ/163 邮箱自动推断服务器),万一 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):.NET
SmtpClient在 465 隐式 TLS 上有已知挂起问题——自带发送器改用node:tls,无此问题。
插件安装(推荐) —— 本 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/。新会话立即生效。
直接让 agent 用这个 skill,它也会引导你完成。
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)。无需任何兼容工作——现在的 agent 很聪明,把 SKILL.md 和配置契约指给它,它自己就会实现发送器。
config.json(含你的 SMTP 授权码)和 notify.log 已 gitignore——绝不要强推入库。授权码泄露等于别人能用你的邮箱发信。