DeepSHPlugins
dsh-notify-skill 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-notify-skill

工具與整合JavaScriptMIT

你不在電腦前時由 agent 郵件提醒你:goal 完成、阻塞、向你提問決策前、長任務節點時觸發,自帶零依賴 Node SMTP 傳送器。

1 StarsPAKIKNOWLEDGE 更新時間 2026-08-15
訪問 GitHub 倉庫
dsh-notify-skill 專案預覽

專案介紹

中文

你不在電腦前時由 agent 郵件提醒你:goal 完成、阻塞、向你提問決策前、長任務節點時觸發,自帶零依賴 Node SMTP 傳送器。

English

Email reminders from your DSH agent when you're away: fires at goal completion, blockage, before asking the user a decision, and at long-task milestones via a bundled zero-dependency Node SMTP sender.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
PAKIKNOWLEDGE
倉庫
PAKIKNOWLEDGE/dsh-notify-skill
GitHub Stars
1
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-15
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

51/ 100
維護活躍
81
文件與實用資訊
85
生態關注度
9
安裝便捷訊號
100
專案宣告訊號
85

README 含完整安裝與使用說明;關注度尚低(1);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add dsh-notify-skill

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-notify-skill

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.

Design: bundle a sender, teach the fallback

The skill ships one zero-dependency implementation — sender.mjs (~70 lines, only Node built-ins tls/net), so the agent sends mail deterministically in every normal DSH session (DSH runs on Node). 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 skill's instructions tell the agent to implement the ~15-line SMTP call itself with whatever the environment provides — Python smtplib, curl, mail, … — so the skill stays cross-platform (Windows/Linux/macOS) and future-proof.

How it works

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

The agent sends via the bundled sender:

node sender.mjs "subject" "body"          # reads config.json next to it
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.

Install (DSH)

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

dsh plugin --profile web add dsh-notify-skill

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

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/PAKIKNOWLEDGE/dsh-notify-skill.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 授权码
  1. Copy config.example.json to config.json and fill it in:
   {
     "email": {
       "smtpHost": "",
       "smtpPort": 465,
       "useSsl": true,
       "from": "[email protected]",
       "authCode": "16-char authorization code",
       "to": "[email protected]"
     }
   }

smtpHost may be left empty — it is inferred (@qq.com → smtp.qq.com, @163.com → smtp.163.com, port 465 SSL).

  1. Test: ask your agent to send a test notification (it will implement the sender itself).

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

No compatibility work needed — modern agents are smart. Point them at SKILL.md and the config contract; they implement the sender themselves.

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

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案