IMAP/SMTP email tools (list/read/search/send/folders/attachment/health/watch/mark/reply) with since/until date-range filters, email_mark for read/unread/star/move, email_reply for reply/reply-all/forward with threading headers, QQ/163/126/Sina/Aliyun/Gmail/Outlook/iCloud presets, multi-account support, a send-approval gate, a web settings page and a whale-girl new-mail popup driven by the incremental email_watch checker. Outlook OAuth2 device-code login works out of the box through a built-in community client, and an account can still supply its own clientId instead.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-email
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:STARDUSTLC666/dsh-email
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README

Read, send, search and organize email from DSH with multiple accounts.
Feedback and contributions are welcome: report issues or submit pull requests.
What it does
- Read, send, reply and forward using IMAP and SMTP.
- Manage attachments, search results and mailbox organization.
- Configure multiple accounts, Outlook OAuth2, encrypted Windows login tokens and send approval.
- Turn new-mail popups off in settings; the preference survives restarts.
- Prepare and edit local drafts, review To/Cc, content and attachment bytes, then confirm sending.
- Manage trusted and blocked recipients per account and preview address, group and Cc matches.
Install
In DSH Desktop, install dsh-email from the Plugins panel. If the bundled dsh command is available:
dsh plugin --profile desktop add dsh-email
For the web version, replace desktop with web. Restart DSH after installation.
Start using it
Add an account and test it in Settings → Email. Ask to list recent unread messages or prepare a reply; review recipients and content before sending.
To edit before sending, ask: “Prepare a message with email_draft; do not send yet.” Open Drafts to save edits, inspect attachments and confirm. See drafts and recipient rules.
Requirements and configuration
Requires mail credentials, an app password or provider OAuth authorization. Mail authentication is separate from the DSH model API key.
Detailed configuration, tool arguments and troubleshooting are in the usage guide. For standalone development, follow the Node requirement in package.json.
Documentation
- Usage and troubleshooting
- Changelog
- Validation scope and history
- Report a problem or suggest a feature
License
Links
More in this category
xmanrui/dsh-im★ 1755
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 1625
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 677
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
omdsh-dev/dsh-notification★ 87
Desktop notifications for turn completions, with per-outcome controls and keyword rules.
Oscar-Williams/dsh-deepcanary★ 60
Evidence-first attention supervision for DeepSeek Harness with C0–C3 policy, deduplicated Inbox alerts, quiet hours, and redacted outcome records.
whyihaveyou/dsh-suite#plugin-notify★ 57
IM webhook and local notifications on turn completion, errors, or approval (Feishu/WeCom/DingTalk/Slack/Discord/custom).
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.