dsh-mail-digest:用邮箱收 DSH 每轮摘要并回信续聊

前言

在 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜