← 返回列表
未验证
用 OAuth2 登录邮箱,列出、读取并搜索邮件
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/27 · 已提供中文文档
DeepSeek Harness 的 IMAP 电子邮件读取器:通过 imapflow 列出、读取和搜索邮件(email_list / email_read / email_search)。
综合分
28.7
GitHub 分
28.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add huaxiren6/DSH-EmailReader该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
✉️ DSH-EmailReader
banner
DeepSeek Harness IMAP 邮件读取插件(OAuth2 版)
npm version
license
GitHub stars
基于 imapflow 连接任意 IMAP 邮箱,让模型具备读邮件的能力。
简介
给 DeepSeek Harness 提供三个模型可调用的邮件工具:列邮件、读全文、服务端搜索。支持多账号、OAuth2 与代理。
npm 包名 dsh-email-reader(dsh-email 已被其他作者占用)。
解决的实际问题
微软从 2024 年 9 月起停止了对个人 Outlook.com 账号 IMAP 的基本认证(用户名+密码,含应用密码),只接受 OAuth2。 市面上多数邮件插件(含市场版 dsh-email)仍只支持密码登录,导致 Outlook 账号无法读取。本插件补上了这个缺口:
- 🔐 OAuth2 / XOAUTH2:refreshToken + clientId 自动换取 access token,无需手动授权,微软禁用密码认证的账号也能读
- 🌐 HTTP/SOCKS 代理:教育网 / 企业网直连 Google 被屏蔽时,可指定本地代理(如 http://127.0.0.1:7892)访问 Gmail
- 🧩 与市场版 dsh-email 共存:工具注册为 ol_email_(ol = Outlook)前缀,不与市场版的 email_ 撞名,两个插件可同时安装——市场版管 Gmail,本插件管 Outlook
功能特性
- ✉️ ol_email_list — 列出收件箱最近邮件(发件人 / 主题 / 时间 / 旗标)
- 📄 ol_email_read — 读取单封邮件全文(含正文,自动解析 MIME,兼容 Outlook 服务器)
- 🔍 ol_email_search — 服务端 IMAP 全文搜索,最新优先
- 👥 多账号:accounts[] 配置,account 参数切换
- 🔐 OAuth2:refreshToken + clientId 自动换 access token(Microsoft / 任意端点)
- 🌐 可选 HTTP/SOCKS 代理(教育网 / 企业网访问 Google 等被屏蔽服务时使用)
- 🛡️ 全部工具返回 { ok, ... },绝不抛异常,配置错误不会拖垮宿主
安装
dsh plugin --profile web add dsh-email-reader
配置
方式一:OAuth2(推荐,Outlook 等强制 OAuth 的邮箱)
- 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
方式二:密码 / 应用专用密码
- 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
方式三:环境变量(凭据不落盘)
| 环境变量 | 含义 | 默认 |
|---|---|---|
| DSH_IMAP_HOST | IMAP 服务器(必填) | — |
| DSH_IMAP_PORT | 端口 | 993 |
| DSH_IMAP_USER | 用户名 | — |
| DSH_IMAP_PASS | 密码 / App 专用密码 | — |
| DSH_IMAP_TLS | 是否 TLS | true |
| DSH_IMAP_MAILBOX | 默认邮箱 | INBOX |
| DSH_IMAP_OAUTH_REFRESH | OAuth refresh token | — |
| DSH_IMAP_CLIENT_ID | OAuth client id | — |
| DSH_IMAP_TOKEN_URL | OAuth token 端点 | — |
| DSH_IMAP_PROXY | 代理地址(如 http://127.0.0.1:7892) | — |
走代理访问 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
使用示例
对模型说:
- 「看下收件箱最近 5 封邮件」→ ol_email_list
- 「读第 12 封邮件的内容」→ ol_email_read
- 「搜一下主题里含 'invoice' 的邮件」→ ol_email_search
每个工具都支持可选的 connection 覆盖对象({host, port, user, pass, tls, mailbox}),一个插件可访问多个邮箱。
License
MIT同作者(huaxiren6)的其他插件
扫码进群