前言¶
在 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 行,配置 provider、user、password 等字段,然后重启 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.yaml或cordis.patch.yml;secret标记只保证不进日志/导出/诊断,不做磁盘加密。 - 本插件不做任何联网上报,凭证只在内存中用于连接邮箱服务器。
- 兼容性说明:在
@deepseek-ai/dsh@0.1.1-rc.2上验证,时间为 2026-08-26。
参考¶
- GitHub:https://github.com/STARDUSTLC666/dsh-email