前言¶
在 DeepSeek Harness(DSH)里跑长任务时,常见做法是守着界面等每轮结束,或在手机上反复打开客户端看进度。若你人不在电脑前,审批弹窗、多选题也只能回来再处理。下面介绍的 dsh-mail-digest 插件走另一条路:每轮回答结束后把一条详略得当的中文摘要发到邮箱;需要继续对话或放行操作时,直接回邮件即可,不必改配置文件、不必额外装 SMTP 依赖库——收发在本机用零依赖 SMTP + IMAP 实现。
这是什么¶
dsh-mail-digest 由社区维护者 Xixixiao2007 发布,归类为 DSH 社区目录中的「联网工具」插件(当前 GitHub 星标为 0)。它订阅 DSH 每轮结束事件,把该轮回答压成一条摘要邮件;同时可选开启回信通道,让你用邮件作答、续接会话,或在 ask 权限策略下通过回信批准单次工具操作。配置集中在本地 Web 设置页,授权码保存在本机 %USERPROFILE%\.dsh\dsh-mail-digest\config.json。
DeepSeek Harness 的生态理念是「一切皆插件」;SkillHub 目录页 与 GitHub 仓库均为社区来源,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
每轮邮件摘要¶
- 一轮任务结束触发一封邮件,不是把全文搬进邮箱,也不是固定字数截断;长度随结论多少变化。
- 摘要来源按优先级:agent 调用
mail_digest工具提交 → 当前模型压缩 → 确定性兜底拼接。 - 主题示例:
[DSH] ✅ 会话名 [DSH-T:k3f9a2x8m1qp];出错为⚠️,中止为⏹️。末尾 token 每封不同,用于回信校验。 - 若有待批准权限,主题会标
⚠N项待批准,正文含固定「待你批准的权限」清单(持久化在pending-permissions.json)。
回信续聊与答题¶
- 正文写指令或选项,主题保持原样(含
[DSH-T:...]/[DSH-Q:...]等标记)。 - 多选题可写
1. A换行2. B,或一行1. A 2. B;单题可直接写A;不满意选项则直接写你要的内容。 - 收信轮询默认约 15 秒一轮,回信非即时;发件邮箱必须是设置里配置的收件地址,否则丢弃。
邮件审批(ask 策略)¶
- 工具需提权且策略为
ask时,插件可把审批请求发到邮箱;正文只写1/允许/批准或2/拒绝等明确选项。 - 单次放行为
allowed-once;超过 10 分钟未回复默认拒绝。界面弹框与邮件并行有效。 - 无法绕过 DSH 的
never策略;邮箱若被盗则批准能力一并暴露,属真实安全权衡。
邮箱与本地实现¶
- 预置 QQ / 163 / 126,或自定义 SMTP;无 STARTTLS 时默认拒绝发授权码,本机中继需在设置页勾选「允许未加密发送」。
- 收信过三道闸:主题 token 须为本插件曾发出的、发件人须为配置的收件地址、
References/In-Reply-To尽量对上原Message-ID(缺失时靠前两道闸)。
给 agent 的规则¶
安装脚本会把摘要、回信、权限相关规则写入 ~/.dsh/AGENTS.md 的托管区块(可重复安装替换、卸载只删该块);另有插件内工具描述与仓库 AGENTS.md。规则全文见仓库内 AGENTS.dsh-mail-digest.md。
安装与启用¶
在普通 PowerShell 窗口执行(不要走 DSH 沙箱,沙箱无法写入 ~\.dsh):
# 一键脚本(装 / 卸载都行)
powershell -ExecutionPolicy Bypass -File .\安装邮件摘要.ps1
powershell -ExecutionPolicy Bypass -File .\安装邮件摘要.ps1 -Uninstall
或手动两步:先在插件目录建立 @deepseek-ai 的 junction 指向 npx 缓存中的 DSH 官方包,再执行:
dsh plugin --profile web add "link:$($PWD.Path)"
装完后重启 DSH(退出桌面应用会连后端一起重启),浏览器打开设置页:
http://127.0.0.1:3080/dsh-mail-digest
卸载(README 原文):
dsh plugin --profile web remove dsh-mail-digest
配置文件不会自动删除;需手动清理 %USERPROFILE%\.dsh\dsh-mail-digest\。
配置要点¶
设置页五块:邮箱类型、发件地址、授权码(非登录密码)、收件地址(留空即发给自己)、是否启用回信通道(依赖 IMAP)。保存后点「发送测试邮件」;要用回信再点「测试收信」(仅验证 IMAP 登录,不读邮件内容)。界面回显授权码始终为空。
| 现象 | 处理 |
|---|---|
535 授权码错误 |
在网页邮箱开启 IMAP/SMTP 后生成专用授权码 |
| QQ 回复后主题标记被插空格 | 客户端显示问题,插件可识别,勿手改主题 |
| 回信无反应 | 保留主题标记;发件人须为配置的收件地址;等待约十几秒 |
行为开关(节选):默认启用摘要;子代理回合默认不发;同一分钟最多 6 封;处理成功的回信默认标已读。
典型用法¶
收摘要¶
邮件正文通常包含会话名、工作区、回合用时与「直接回复本邮件即可继续对话(保持主题不变)」提示。
回信继续任务¶
收到摘要后,在正文写下一句话指令即可;审批类邮件则按编号回复一项。
本地自检(不发信)¶
在插件仓库根目录:
node smoke.mjs
node test-reply.mjs
node test-bridge.mjs
node test-mime.mjs
node test-smtp.mjs
README 称合计 328 项;安装脚本另有 test-installer.ps1。
适用场景与注意¶
适合:长时间跑 DSH 任务、希望手机邮箱看进展;经常离开电脑但仍要续聊或偶尔批准 ask 权限操作;使用 QQ / 163 / 126 或自建 SMTP 的用户。
注意:
- 插件以当前 DSH 进程权限运行;安装前请自行审阅 GitHub 源码 与 MIT 许可证。
- 发信失败不重试;模型参与压缩摘要时有额外 Token 开销;若 profile 启用
@deepseek-ai/dsh-experimental-auto-review且会话为 Auto 预设,mail_digest工具可能被索要授权(工具本身不发信,真正 SMTP 在每轮结束路径且不经 Auto review)。 - 与「Auto review」冲突时可调整会话权限预设或移除该实验插件。
结尾¶
dsh-mail-digest 把「每轮进展」和「离线续聊 / 单次审批」接到你已有的邮箱上,配置在本地 Web 页完成,摘要强调自包含、回信靠主题 token 与发件人白名单防误触。版本 0.1.0(见仓库 package.json)。
- 目录页:https://www.skillhub.cn/plugins/Xixixiao2007/dsh-mail-digest
- GitHub:https://github.com/Xixixiao2007/dsh-mail-digest