
STARDUSTLC666/dsh-email
51Last commit Aug 15, 2026
dsh-email DSH plugin
dsh-email is a plugin for DeepSeek Harness that gives your agent the ability to handle emails. It provides six tools covering inbox listing, reading, searching, sending, folder management, and attachment downloading. Configure via web UI or YAML, with presets for QQ, 163, Gmail, Outlook, and more.
How to install the dsh-email DSH plugin
dsh plugin --profile web add dsh-emailCopying does not run this command. Review the repository and version before installing the dsh-email DSH plugin.
dsh-email DSH plugin data source
dsh-email DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-email DSH plugin can do
- List recent emails in any folder with unread filtering and pagination
- Read full email content (HTML auto-converted to plain text, truncated at configurable length)
- Search emails by subject, sender, recipient, or CC (with fallback body scan)
- Send emails with attachments, requiring approval before sending by default
- Download specific attachments from an email to the workspace
- Support multiple accounts with named presets and a default account selector
Where the dsh-email DSH plugin fits
- Let an agent automatically check the latest unread emails and summarize them
- Search for a specific email by keyword across subject and sender
- Compose and send a reply email with attachments on behalf of the user
- Extract attachments from an email for further processing by other tools
- Manage multiple email accounts (work, personal) from a single plugin instance
Who the dsh-email DSH plugin is for
- DSH users who want their agent to interact with email accounts
- Developers building automation workflows that require email reading or sending
dsh-email DSH plugin limitations
- OAuth2 is not supported; only app passwords or authorization codes are accepted
- Server-side search is limited to subject/from/to/cc; fallback body scan may be slow for large mailboxes
- Passwords are stored in plaintext in settings.yaml (marked as secret to prevent logging, but not encrypted on disk)
dsh-email DSH plugin: from the repository README
Quoted from the STARDUSTLC666/dsh-email README, the upstream source of the dsh-email DSH plugin. Copyright remains with the original authors.
> **给 agent 一个邮箱**:八个国内邮箱预设开箱即用,收发/搜索/附件下载全搞定。     [](https://awesome-dsh-plugin.com)  DeepSeek Harness 邮件工具插件:让 agent 能**查收件箱、读邮件、搜邮件、代发邮件、收发附件**。纯插件实现,零核心改动,安装即可用。 Email tools for DeepSeek Harness: list, read, search and send mail through standard IMAP/SMTP — with one-line presets for QQ / 163 / 126 / Sina / Aliyun / Gmail / Outlook / iCloud. 纯 Node 实现,**全平台通用**(Windows / macOS / Linux 同一份代码),不依赖 shell、无原生二进制。 ## 工具一览 | 工具 | 作用 | |---|---| | `email_list` | 列出文件夹里最新的邮件(未读过滤、分页、只看摘要不带正文) | | `email_read` | 按 uid 读取一封邮件的全文(HTML 邮件自动转纯文本,超长截断) | | `email_search` | 按关键词搜索主题/发件人/收件人/抄送(服务器端 subject/from/to/cc);无结果时默认回退到最近 30 封的正文扫描(含 to/cc) | | `email_send` | 代发邮件(支持带附件)。**默认发信前会弹确认**,显示收件人、主题和附件数,由你批准后才发出 | | `email_folders` | 列出邮箱的文件夹(INBOX/已发送/垃圾邮件/自定义…
Read the full READMERepository license: MIT
dsh-email DSH plugin questions
How do I get an authorization code for my email account?
Each provider has its own process. For QQ/163/126, go to Settings → Account → enable IMAP/SMTP and generate an authorization code. For Gmail, enable 2-step verification and create an app password. For Outlook, use the Microsoft account security page to generate an app password. Do not use your regular login password.
Can I use multiple email accounts with dsh-email?
Yes. You can define multiple accounts in the `accounts` config field under `tool-email` in your cordis.patch.yml. Each account has a name (e.g., work, home) and full settings. Use the `account` parameter when calling email tools to select which one to use. Set a `defaultAccount` for when the parameter is omitted.
Does dsh-email support Gmail or Outlook?
Yes, the plugin includes presets for Gmail (imap.gmail.com:993, smtp.gmail.com:465) and Outlook (outlook.office365.com:993, smtp.office365.com:587 STARTTLS). For Gmail, you need an app password; for Outlook, an app password from Microsoft account security. OAuth2 is not supported.
How can I avoid storing my password in the config file?
You can set the environment variable `DSH_EMAIL_PASSWORD` instead of writing the password in the YAML or settings file. The plugin will read it at runtime. This is more secure if you are concerned about plaintext storage.
Why does email_send refuse to send without approval?
By default, `sendApproval` is `true` for safety. The plugin will show a confirmation prompt with recipient, subject, and attachment count. If you are in a headless environment or Full Access mode, it will block the sending. To bypass, you can disable `sendApproval` in the config (set it to `false`), but this is not recommended for security reasons.