DeepSeek Harness IMAP 邮件读取插件

前言

DeepSeek Harness 的核心设计理念是“一切皆插件”。在构建需要调用外部数据的智能体时,邮件系统是高频场景之一。然而,微软从 2024 年 9 月起停止了对个人 Outlook.com 账号的 IMAP 基本认证(用户名+密码),仅接受 OAuth2。市面上多数邮件插件(包括市场版 dsh-email)仍依赖密码登录,导致开发者无法通过这些插件读取 Outlook 邮件。DSH-EmailReader 旨在补齐这一缺口,为 DSH 提供原生支持 OAuth2 的邮件读取能力。

简介

DSH-EmailReader 是 DeepSeek Harness IMAP 邮件读取插件(OAuth2 版)。该项目由 huaxiren6 维护,分类为联网工具,采用 MIT 许可证。插件基于 imapflow 库连接任意 IMAP 邮箱,让模型具备读邮件的能力。

核心功能

插件提供三个核心工具,全部以 ol_email_ 为前缀注册,确保与市场版插件不冲突:

  1. ol_email_list:列出收件箱最近邮件。返回信息包括发件人、主题、时间、旗标。
  2. ol_email_read:读取单封邮件全文。支持自动解析 MIME,兼容 Outlook 服务器。
  3. ol_email_search:服务端 IMAP 全文搜索。搜索结果按最新优先排序。

其他特性包括支持多账号、OAuth2 认证、HTTP/SOCKS 代理,以及统一返回 { ok, ... } 格式,绝不抛异常。

安装

使用官方命令安装:

dsh plugin --profile web add dsh-email-reader

配置

插件支持 OAuth2 和密码两种认证方式,并提供环境变量配置选项。

OAuth2 认证(推荐)

适用于微软等强制 OAuth 的邮箱。配置需包含 refreshToken、clientId 和 tokenUrl。

- insert:
    - id: email-reader
      name: dsh-email-reader
      config:
        accounts:
          - id: outlook
            host: outlook.office365.com
            port: 993
            user: you@outlook.com
            refreshToken: "从 OAuth 授权流程获取"
            clientId: "你的应用 Client ID"
            tokenUrl: "https://login.microsoftonline.com/common/oauth2/v2.0/token"
            mailbox: INBOX

密码认证

适用于仍支持密码登录的 IMAP 服务器。

- insert:
    - id: email-reader
      name: dsh-email-reader
      config:
        host: imap.example.com
        port: 993
        user: you@example.com
        pass: your-app-password
        tls: true
        mailbox: INBOX

代理设置

遇到网络限制(如教育网访问 Gmail)时,可配置代理。

- insert:
    - id: email-reader
      name: dsh-email-reader
      config:
        accounts:
          - id: gmail
            host: imap.gmail.com
            port: 993
            user: you@gmail.com
            pass: your-app-password
            proxy: "http://127.0.0.1:7892"
            mailbox: INBOX

环境变量

若需凭据不落盘,可使用环境变量:
DSH_IMAP_HOST、DSH_IMAP_PORT、DSH_IMAP_USER、DSH_IMAP_PASS、DSH_IMAP_TLS、DSH_IMAP_MAILBOX、DSH_IMAP_OAUTH_REFRESH、DSH_IMAP_CLIENT_ID、DSH_IMAP_TOKEN_URL、DSH_IMAP_PROXY。

使用示例

在 DSH 中调用以下工具即可完成邮件操作:

  1. 查看邮件列表:调用 ol_email_list。
  2. 读取邮件内容:调用 ol_email_read。
  3. 搜索邮件:调用 ol_email_search。

注意事项

  • 插件与市场版 dsh-email 共存,工具名前缀为 ol_email_*,避免命名冲突。
  • 适用于微软自 2024 年 9 月后强制 OAuth 的场景。
  • 插件运行时使用当前 DSH 进程的权限,安装前建议检查源码与许可证。

总结

该插件解决了 OAuth2 时代的邮件访问问题,为开发者提供了稳定、兼容的邮件读取能力。完整文档与源码可参考项目目录与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜