DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
E

dsh-email-push-master

Email Push Master

Email reminders from your DSH agent when you're away — a hardened fork of dsh-notify-skill: stable SMTP (no 535 retry loop), connect/idle timeouts, --check self-test, full message headers, and a Web GUI settings page for DSH 0.2.0-rc.2+.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:JamesYasR/dsh-email-push-master#79e52bda172bd30a1adff7abbe86160a735a7e30
READMECompatibilityVersions

Compatibility and provenance

Email Push Master is published as dsh-email-push-master and currently resolves to version 1.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/4/2026

Versions

1.3.0stable
10/4/2026
1.2.1stable
9/4/2026
1.2.0stable
8/25/2026
Show 1 more versionCollapse versions
1.0.0stable
8/23/2026

Related plugins

Loading related plugins…

Latest
1.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/4/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseIm@xmanrui/dsh-im把微信、飞书、企微、钉钉、QQ、Telegram、WhatsApp、Slack、Discord、Matrix接入DSH。 Connect Telegram, WhatsApp, Slack, Discord, Matrix, WeChat, Feishu, WeCom, DingTalk, and QQ to DSH.Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsFree Searchdsh-free-searchFree web search for DeepSeek Harness: 27 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek (official + native tools/search)/Baidu/Kimi/Aliyun/Douba

README

dsh-email-push-master

English | 中文

Email reminders from your DSH agent when you're away from the computer.

You start a long-running goal in DSH (or any AI coding agent), then walk away. When the agent finishes, gets blocked, or needs your decision, it sends an email to your phone mailbox — you see it and come back. One-way ping, no remote control.

Origin & what changed

This is a fork of dsh-notify-skill (MIT, open source), hardened for stability:

  • removed the 535 retry loop (it amplified account risk-control lockout) and fixed a subject/text crash;
  • added connect/idle timeouts, a --check self-test, structured error classification, and full message headers.

See CHANGELOG.md.

Design: bundle a sender, avoid hand-written fallbacks

The skill ships one zero-dependency implementation — sender.mjs (only Node built-ins tls/net), so the agent sends mail deterministically in every normal DSH session (DSH runs on Node). The sender has connect/idle timeouts, structured error classification (535/550/network), never retries 535 (retries amplify risk-control lockout), and full message headers. The SKILL.md still carries the full contract:

  • when to notify (goal done / blocked / before asking you a decision / long-task milestone),
  • what to write (specific, in your language, short),
  • the config contract (config.json: sender, SMTP authorization code, recipient; auto-inferred hosts for QQ/163 mail),
  • how to guide the user through getting an SMTP authorization code when the config is missing,
  • failure handling and security rules.

If Node is genuinely unavailable (rare), the agent should stop and tell the user rather than hand-writing SMTP; hand-written SMTP is the main source of intermittent 535 auth failures.

How it works

MomentSuggested marker
Goal completeddone
Goal blocked / stuckblock
About to ask the user a decisionquestion
Long task milestoneinfo

The agent MUST send via the bundled sender (do not hand-write SMTP):

node sender.mjs "subject" "body"          # reads config.json next to it and sends
node sender.mjs --check                   # verify config + SMTP auth only, no email

Knowledge note (Windows): .NET SmtpClient has a known hang on implicit-TLS port 465 — the bundled sender uses node:tls instead, which has no such issue.

Compatibility

DSH versionStatus
0.2.0-rc.2 (current npm latest)Supported — verified against the shipped runtime
< 0.2.0-rc.2 (e.g. 0.1.2-rc.1)Not supported — 1.3.0 targets the current plugin APIs
>= 0.3.0Not yet — update the plugin when DSH changes its plugin APIs

DSH refuses to install a plugin whose @deepseek-ai/dsh-* peerDependencies do not satisfy the running runtime, so an unsupported combination fails loudly at install time instead of crashing later:

dsh: installation rejected: Plugin dsh-email-push-master@1.3.0 is incompatible with dsh 0.3.0: peerDependencies {...}

Install (DSH)

Plugin install (recommended) — the skill ships as a DSH plugin and registers on ctx.skills:

dsh plugin --profile web add dsh-email-push-master

Or from GitHub: dsh plugin --profile web add github:JamesYasR/dsh-email-push-master. Restart dsh web once after installing, then the skill appears in the session skill catalog.

For the desktop app, either install into the desktop profile (quit the app completely first — it holds the profile lock):

dsh plugin --profile desktop add dsh-email-push-master

…or install into the web profile and use the browser GUI at the URL dsh web prints. Both share the same web-based client UI, since the desktop shell serves the same web server.

Manual install (no plugin) — DSH also discovers skills from <dshHome>/skills/<name>/SKILL.md (default ~/.dsh/skills), hot-reloaded by a filesystem watcher:

git clone https://github.com/JamesYasR/dsh-email-push-master.git "$HOME/.dsh/skills/notify"

Or copy the folder manually to ~/.dsh/skills/notify/. New sessions pick it up immediately.

Setup (one-time, ~5 minutes)

The agent will also walk you through this if you just ask it to use the skill.

  1. Get an SMTP authorization code (not your login password):
    • QQ Mail: web QQ Mail → 设置 → 账户 → enable "POP3/SMTP 服务" → generate a 16-char 授权码
    • 163 Mail: web 163 Mail → 设置 → POP3/SMTP/IMAP/SMTP → enable → create 授权码
  2. Copy config.example.json to config.json and fill it in:
    {
      "email": {
        "smtpHost": "",
        "smtpPort": 465,
        "useSsl": true,
        "from": "your-address@qq.com",
        "authCode": "16-char authorization code",
        "to": "recipient@example.com"
      }
    }
    
    smtpHost may be left empty — it is inferred (@qq.com → smtp.qq.com, @163.com → smtp.163.com, port 465 SSL).
  3. Test: ask your agent to send a test notification (it will use the bundled sender).

Other agents (Claude Code, Codex, ...)

No compatibility work needed — modern agents are smart. Point them at SKILL.md and the config contract; they should use the bundled sender rather than re-implementing SMTP.

Security

  • config.json (contains your SMTP authorization code) and notify.log are gitignored — never force-commit them. A leaked authorization code lets anyone send mail as your mailbox.
  • The skill instructs agents to never print or commit the authorization code.

License

MIT

Quickstart

dsh plugin --profile web add github:JamesYasR/dsh-email-push-master

Restart dsh web, then open Settings → 邮件推送 (邮件推送 = “Email push”) to configure provider / server / sender / auth code / recipient. Or run node sender.mjs --check for an auth self-test.

The settings page is backed by the host's /dsh-email-push/config and /dsh-email-push/test routes; the SMTP authorization code is never echoed back to the browser (masked echo + hasAuthCode flag — leave it blank to keep the stored value).