dsh-reminder

12Star1Fork0Issue1Watching
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
MIT
分支
main
agentdeepseekdeepseek-harnessdshdsh-pluginnotificationproductivityweb-gui

安装

$ dsh plugin --profile web add dsh-reminder

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 Aisland-SJL/dsh-reminder:先查看仓库 https://github.com/Aisland-SJL/dsh-reminder 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

English · 简体中文

A cross-window reminder plugin for DeepSeek Harness — while you work in any other window, it taps you on the shoulder the moment a task finishes or waits for your approval. Codex / WorkBuddy style.

Toast preview

✨ Features

🎯FeatureDescription
🟢CompletionPops "Task completed" on every turn end, with session · duration and a green check icon
🟡ApprovalPops "Waiting for your approval" with the tool name and an amber alert icon
🎯Pops in any windowNotifies even while you work in other apps
🖱️Click to returnClicking focuses the DSH window and opens the session
⏱️Auto-dismissGone in 3-5 s (adjustable)
🎵Soft chimeA gentle two-note chime (D4→A4) — nothing startling
🔁DeduplicatedNever pops twice for the same event
🛡️Reminds, never actsNever approves on your behalf

🤔 Why

  • 😴 Nobody calls you for approvals — the agent waits while you are away; now an amber popup tells you
  • 👀 Nobody tells you it's done — no completion signal before; now a green popup tells you

🚀 Quick start

  1. Install: dsh plugin --profile web add <dsh-reminder> (or npm i dsh-reminder), register dsh-reminder in the profile bundle list, restart the DSH web process
  2. Grant permission: Settings → Reminders → "Enable & test notifications" → Allow — a test popup arrives instantly
  3. Enjoy: Switch away and work — the popups come to you

⚙️ Settings

SettingDefaultDescription
Notification permissionunsetOne-click grant + test popup
Approval remindersOnOff = no approval popups
Completion remindersOnOff = no completion popups
Duration3-5 sSeconds before auto-dismiss
Failure alertsOff (reserved)Planned for v0.3

🏗️ Architecture

One package ships the host Cordis plugin and the web client:

  • host: registers the settings namespace plus a plugin-owned Typert Remote (reminder/getSettings · updateSettings) — plugin namespaces sit outside the web settings allowlist
  • client: subscribes to the session list and conversation snapshots (turn/end, approval/requested arrive over the mux stream), pops via the Notification API with a Web Audio chime
  • Read-only: never mutates DSH core behavior

🔧 Development

pnpm install
pnpm run typecheck   # tsc --noEmit
pnpm test            # node tests/unit/*.test.cjs (16 tests)
pnpm run build       # esbuild: host ESM + single-file client CJS (ModuleLoader handshake) + tsc d.ts
  • Artifacts: lib/index.js (host ESM), lib/client.js (client), lib/types/ (.d.ts)
  • Offline dev: no new dependencies; @deepseek-ai/* types and local esbuild/typescript come from 03_local/codes (not in git)

⚠️ Known limits

  • Chrome page notifications reject actions (ServiceWorker persistent notifications only) — dismiss via auto-close or the hover ✕
  • Permission must be requested from a user gesture (browser policy) — the settings button does it in one click
  • The chime unlocks on the first click (autoplay policy)

📄 License

MIT

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Aisland-SJL/dsh-reminder)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录
dsh-reminder — DeepSeek Harness 插件 | deepseek-plugin.org