DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-windows-notify

d

dsh-windows-notify

Manifest valid

Windows 系统通知:需要你确认时、你作出回答后、任务结束时各弹一条桌面通知。

hasBundlePatch

dsh-windows-notify

给 DSH 加一条 Windows 系统通知:需要你确认、你已经回答、任务结束的时候各弹一条,切到别的窗口也不会漏。

只装宿主端(Host-only),没有前端界面,不联网,不带依赖。仅支持 Windows。

安装

从 npm(推荐)

在 DSH 会话里让 agent 用 plugin_manager 的 install_bundle 安装包名 dsh-windows-notify,它会从 npm 装进当前 profile 并写好配置行:

npm install dsh-windows-notify   # 也可以自己装进 profile 目录,再用 install_bundle 指向包名启用

从源码

  1. 把仓库放到本机任意目录:

    git clone https://github.com/3493750852/dsh-windows-notify.git
    
  2. 让 agent 用 install_bundle 安装这个目录的绝对路径。

  3. 验证:随便发一条消息,本轮结束时应该收到「任务完成」通知;点它应该回到 DSH 窗口。

三个触发点分别是什么

你看到的通知触发时机事件来源
需要你确认有工具在申请授权,真的开始等你点approval/request
需要你回答模型问了 ask_user_question,等你选user-questions/request
你已回答你点了允许/拒绝,或选完了选项上面两个请求返回时
任务完成 / 任务出错本轮结束,且这一轮超过 taskEndMinSecondssession/event 的 turn/end + agent/error

几条避免打扰的规则:

  • 自动应答不提醒:请求在 interactionDelayMs(默认 1.2 秒)内就被宿主自动处理(比如策略是 never 直接拒绝),说明根本没人被问到,不弹通知。
  • 秒回不提醒:一轮任务短于 taskEndMinSeconds(默认 8 秒)就不提示任务结束。
  • 子智能体不提醒:子会话自己的回合不弹,避免一次任务刷出一串通知。
  • 等待回答时不当作任务结束:有请求挂着的时候,即使这一轮结束了也不弹「任务完成」。
  • 装插件时正在进行的那一轮:结束时照样提示,只是没有「用时」(插件没看到这一轮的开始)。

通知长什么样

Windows 10/11 上它是一条标准通知(托盘气泡,系统会渲染进通知中心),带 DSH 自己的图标、标题、正文和系统提示音:

  • 需要你确认:需要你确认 / Bash:执行命令 npm install
  • 需要你回答:需要你回答 / 你希望用哪种方案?
  • 你已回答:你已回答 / Bash → 允许
  • 任务完成:任务完成 / 帮我做一个 dsh 插件 · 用时 2 分 13 秒
  • 任务出错:任务出错 / ... · <错误信息>

图标不是内置的通用图标,而是从正在运行的 DSH 应用上取的(DeepSeek Harness.exe 自己带的图标),所以跟任务栏里那个是同一个。

点一下通知

点通知会把 DSH 窗口叫到前台(最小化了也会还原)。

实现上不是硬抢焦点:桌面壳持有单实例锁,再启动一次应用就会走到它自己的「聚焦或重建主窗口」那条路,所以用的是应用认可的入口,不会被 Windows 的前台锁拦掉。

  • 通知在屏幕上(以及进通知中心后的约 8 秒内)点它有效 —— 之后负责接点击的进程已经退出,点了不会有反应。
  • 如果你用的是浏览器里的 Web GUI 而没有桌面应用,会退化成用浏览器打开那个 GUI 地址。
  • 想换成「一律用浏览器打开」或「点了只关掉」,改 clickAction 为 url / none。

DSH 的 Web UI 没有「会话级 URL」(前端不读地址栏),所以点击只能把窗口叫到前台,不能直接跳到某个后台会话;通知正文里带了会话标题,方便你对上号。

开关

全部开关都在 cordis.patch.yml 里那一行的 config 下(也可以在 DSH 的配置文件里改同样的键),改完重启 DSH 生效:

键默认说明
enabledtrue总开关
confirmtrue需要你确认 / 回答时提示
answeredtrue你回答之后提示
taskEndtrue任务结束时提示
taskErrortrue报错结束时也提示(文案变「任务出错」)
soundtrue播放系统提示音
languagezh通知文案语言,zh 或 en
showSessionTitletrue任务结束通知里带会话标题
taskEndMinSeconds8短于这个秒数的任务不提示结束
interactionDelayMs1200请求挂起超过这个毫秒数才算「真的在等你」
hideWhenSubagenttrue子智能体结束不提示
powershellPathpowershell.exe想用 PowerShell 7 可以填 pwsh.exe
maxConcurrent3同时最多几条通知进程
coalesceMs700同类通知的去重窗口
clickActionfocus点通知时:focus 叫回 DSH 窗口 / url 用浏览器打开 / none 只关掉
appProcessNameDeepSeek Harness桌面进程名,用来取它自己的图标、点击时叫回窗口
dwellSeconds8通知可点击(托盘图标存在)的秒数
selfTestfalse改成 true 重载插件,会立刻弹一条自检通知(验证安装用)
debugfalse把每次通知的判定过程写进 %TEMP%\dsh-windows-notify.log

收不到通知时

  1. 先做自检:把 selfTest 改成 true 重载插件(或重启 DSH)。能弹出「通知自检:插件已加载」说明插件和系统通知都正常,问题在触发条件;弹不出来就再打开 debug,看 %TEMP%\dsh-windows-notify.log 里 shim exit ... after=...ms 这一行 —— 正常应该是几千毫秒,如果只有几十毫秒,说明 PowerShell 没能真正跑起来。

  2. Windows 通知总开关:设置 → 系统 → 通知,确认「通知」是开的。

  3. 专注助手 / 勿扰:开着的时候通知会进通知中心但不弹横幅,不会响。

  4. 通知中心里有没有:按 Win + N 看历史。有记录但没弹出来,基本就是专注助手。

  5. 手动测一次(在插件目录里,会立刻弹一条测试通知;点它应该把 DSH 叫到前台):

    $json = '{"title":"测试通知","body":"点我应该会回到 DSH 窗口","kind":"done","sound":true,"onClick":"focus","appProcessName":"DeepSeek Harness","dwellMs":20000}'
    $b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($json))
    powershell -NoProfile -ExecutionPolicy Bypass -File .\notify.ps1 -PayloadBase64 $b64
    

    退出码 0 表示通知已正常走完;2 是载荷解析失败;3 是系统拒绝创建通知。

实现说明

  • 通知走一个独立的、隐藏窗口的 PowerShell 进程(notify.ps1):显示托盘气泡、跑一个短消息循环接点击,最多 dwellSeconds 秒后自行退出;宿主进程不阻塞、不等待。
  • 文案以 base64 编码的 UTF-8 JSON 传给 PowerShell,不经过命令行转义,中文不会被代码页破坏。
  • 图标和点击目标都在脚本里从运行中的应用解析(Get-Process 'DeepSeek Harness' → 它的路径与图标),不写死安装路径。
  • 三个观察点都是普通 waterfall 事件监听:只 await next() 并把结果原样返回,不改变任何决策。

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 121/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 9.4k

↓ 8.7k/wk

MIT

TypeScript

Oct 23, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 8.3k

↓ 163.6k/wk

MIT

TypeScript

Oct 22, 2026

dsh plugin --profile web add dshmarket

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.3k

MIT

Python

Oct 23, 2026

Index only — not installable

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 6k

NOASSERTION

Python

Oct 23, 2026

dsh plugin --profile web add treg-dsh