DeepSeek Harness 邮件插件 dsh-email

前言

在 DeepSeek Harness(DSH)里做邮件相关自动化时,常见的问题是 agent 只能处理上下文里的文本,不能直接查邮箱、读正文、搜邮件或代发邮件。已有做法通常要人工复制邮件内容,或额外写脚本调用 IMAP/SMTP。

dsh-email 是一个 DSH 邮件工具插件,把查收件箱、读邮件、搜邮件、代发邮件和附件下载封装成一组工具,配置完成后 agent 即可调用。

这是什么

一句话定位:DeepSeek Harness 邮件工具插件,让 agent 能查收件箱、读邮件、搜邮件、代发邮件、收发附件。

仓库路径为 STARDUSTLC666/dsh-email,包名为 dsh-email,许可证为 MIT。这是一个社区插件,与 DeepSeek 官方无关。

该插件为纯 Node 实现,Windows / macOS / Linux 使用同一份代码,无原生二进制。package.json 声明 Node >=22

核心功能

  • email_list:列出文件夹最新邮件,支持未读过滤、分页、只看摘要。
  • email_read:按 uid 读取邮件全文,HTML 自动转纯文本,超长截断。
  • email_search:按关键词服务器端搜索 subject / from / to / cc;无结果时可回退扫描正文。
  • email_send:代发邮件并支持附件,默认发信前弹确认审批。
  • email_folders:列出邮箱文件夹并返回 path 供其他工具使用。
  • email_attachment:按序号下载邮件附件到会话工作区。
  • 内置 QQ / 163 / 126 / Sina / Aliyun / Gmail / Outlook / iCloud 八个预设。
  • 支持一个 tool-email 配置多个账号,并通过 account / defaultAccount 选择。
  • 提供 Web 设置页,可填写邮箱地址、授权码、测试连接并保存应用。

安装与启用

执行下面命令安装插件:

dsh plugin --profile web add dsh-email

装好后重启 dsh web

配置

Web 设置页

重启后打开:

设置 → 邮件 (dsh-email)

在页面中填写邮箱地址和授权码,可使用「测试连接」,完成后点「保存并应用」。

YAML 配置

也可以在 profile 的 cordis.patch.yml 中覆盖 tool-email 行,配置 provideruserpassword 等字段,然后重启 DSH Web 服务。

单账号示例:

- id: tool-email
  config:
    provider: qq
    user: you@qq.com
    password: 你的授权码

多账号示例:

- id: tool-email
  config:
    accounts:
      work:
        provider: qq
        user: work@qq.com
        password: 授权码1
      home:
        provider: '163'
        user: home@163.com
        password: 授权码2
    defaultAccount: work

多账号配置中,defaultAccount 表示工具调用时省略 account 参数所使用的默认账号。

典型用法

配置完成后,可以直接对 agent 说:

帮我看下 QQ 邮箱最新的 10 封未读,把要回复的列出来。

agent 可以先调用 email_list 获取最新或未读邮件,再用 email_read 读取具体邮件全文;如果需要回复,再调用 email_send,并在确认审批后发出。

适用场景与注意

适合在 DSH 中处理邮件查询、正文读取、邮件搜索、代发邮件和附件下载的场景。使用前需要能拿到邮箱服务商的授权码或应用专用密码。

安装前建议检查源码和许可证,因为插件会在当前 DSH 进程权限下运行。

注意事项如下:

  • 不支持 OAuth2;强制 OAuth 的企业环境暂不可用,只能使用授权码/应用专用密码。
  • 服务器端搜索仅覆盖 subject / from / to / cc;正文搜索为客户端回退,较慢且受 bodySearchLimit 限制。
  • 内嵌图片暂不支持单独下载;附件定位失败会直接报错,而不是下载错误文件。
  • email_send 默认走 DSH 审批;无审批通道的环境会直接拒绝发信;Full Access 模式下会被拦截并提示。
  • 授权码/密码以明文写在本机 settings.yamlcordis.patch.ymlsecret 标记只保证不进日志/导出/诊断,不做磁盘加密。
  • 本插件不做任何联网上报,凭证只在内存中用于连接邮箱服务器。
  • 兼容性说明:在 @deepseek-ai/dsh@0.1.1-rc.2 上验证,时间为 2026-08-26。

参考

  • GitHub:https://github.com/STARDUSTLC666/dsh-email
羽毛球分组比赛记分
小程序二维码

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

小夜