任务完成或需确认时弹出系统通知,点击直达对应会话
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yschdxm/dsh-windows-notify该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 写入本地文件index.js:53
mkdirSync(LOG_DIR, { recursive: true }) - 写入本地文件index.js:54
appendFileSync(join(LOG_DIR, 'notify.log'), `${JSON.stringify({ time: Date.now(), ...entry })}\n`) - 执行外部命令来自配置/变量index.js:186
const child = spawn(POWERSHELL, args, { - 读取本地文件index.js:315
state.channelOk = existsSync(TOAST_SCRIPT) - 读取本地文件index.js:316
&& existsSync(LAUNCHER_SCRIPT) - 读取本地文件index.js:317
&& (POWERSHELL === 'powershell.exe' || existsSync(POWERSHELL)) - 发起网络请求client.js:28
const response = await fetch(`${ROUTE}/pending`, { - 发起网络请求client.js:41
fetch(`${ROUTE}/ack?session=${encodeURIComponent(sessionId)}`, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的 Windows 原生 toast 通知,支持点击聚焦和跳转到会话。
README
由 DeepSeek 最新模型翻译生成dsh-windows-notify
🐳 顶部应援图来自 whale-star——按 GitHub Star 数自动升档的大肥鱼 README 应援图服务。
Windows 原生通知插件 + 点击跳回对应会话。 会话任务结束、需要你确认或回答、需要重新登录、会话出错时,发一条 Windows Toast;点击通知会聚焦 DeepSeek Harness(桌面版或浏览器标签页),并直接跳到那条会话。
为什么点击能定位会话
市面上不少通知插件,点击后只能打开应用,或者只能把浏览器指到一个不生效的 URL。桌面版 DSH 的 dsh:// 深链只负责聚焦窗口,本身不接受会话参数;本插件因此自己做了一条「点击 → 跳转」的闭环:
Toast 点击 └─ Windows 协议 dshfocus://focus?u=<focus-url>
├─ launcher.ps1 GET <- host /plugins/dsh-windows-notify/focus?
展开完整文档(README 剩余 1 节)
dsh-windows-notify
🐳 顶部应援图来自 whale-star——按 GitHub Star 数自动升档的大肥鱼 README 应援图服务。
Windows 原生通知插件 + 点击跳回对应会话。 会话任务结束、需要你确认或回答、需要重新登录、会话出错时,发一条 Windows Toast;点击通知会聚焦 DeepSeek Harness(桌面版或浏览器标签页),并直接跳到那条会话。
为什么点击能定位会话
市面上不少通知插件,点击后只能打开应用,或者只能把浏览器指到一个不生效的 URL。桌面版 DSH 的 dsh:// 深链只负责聚焦窗口,本身不接受会话参数;本插件因此自己做了一条「点击 → 跳转」的闭环:
Toast 点击 └─ Windows 协议 dshfocus://focus?u=<focus-url>
├─ launcher.ps1 GET <- host /plugins/dsh-windows-notify/focus?session=<id>&t=<token>
│ (记录待跳转请求,5 分钟内有效) └─ Start-Process 'dsh://open' → 聚焦/唤起桌面 App │ client.js(页面内)轮询 /pending ◄──────────┘ └─ ctx.get('uiWorkspace').openSession(sessionId) ← 真正切到那条会话
- 桌面 App 已打开:点击 → 聚焦窗口 + 切换会话。
- App 最小化或隐藏在托盘:dsh://open 会恢复并聚焦窗口,随后切换会话。
- App 未运行:点击会启动 App;待跳转请求保留 5 分钟,页面加载后自动跳转。
- 纯浏览器打开 Web GUI 时同样生效(client half 走相对路径 /plugins/...)。
功能
- Windows 原生 Toast:Windows PowerShell 5.1 + WinRT,无 npm 依赖、无第三方二进制。
- 覆盖这些事件:会话任务完成、出错、输出上限、你主动停止、被打断、被阻断;审批等待;结构化提问(含计划确认);账号需要登录、登录过期;会话级错误。
- 通知身份:借真实应用 AUMID(com.deepseek.dsh)显示「DeepSeek Harness」和应用图标;AUMID 不可用时自动回退到 PowerShell 的 AUMID。
- 目标续跑静默:goal 自动续跑期间不打扰,只在目标完成或受阻时提醒。
- 子代理静音:按 origin === 'subagent' / delegationDepth > 0 过滤;fork 出来的顶层会话照常通知。
- 去重:同会话同原因 2 秒内只弹一次。
- 失败可见:Toast 进程只有真正 Show() 成功才输出 toast shown;失败写 %TEMP%\dsh-windows-notify\notify.log 并在控制台告警。启动时自检通道(toast.ps1 / launcher.ps1 / powershell.exe),可用 /health 查看状态。
- 可选静音、可选关闭点击跳转、可调正文长度。
安装
插件是标准的 DSH bundle(dsh.bundle.patch),包内同时有 Host 半边和 Client 半边(dsh.client)。
方式零(推荐):从 npm 官方源安装
dsh plugin --profile <profile> add @yschdxm/dsh-windows-notify
方式一:Plugin Manager(GUI)→ 安装 bundle → 选择仓库目录方式二:命令行从 GitHub 安装
dsh plugin --profile <profile> add github:yschdxm/dsh-windows-notify
本地开发(link 安装)
git clone https://github.com/yschdxm/dsh-windows-notify.git
dsh plugin --profile <profile> add link:F:/dev/dsh-windows-notify
安装后建议重启一次 Harness(桌面版:重启应用与 Host,或退出后重新打开),Client 半边会在页面下次加载时生效。
配置
在 profile 的 cordis.patch.yml(或任意后置补丁层)里按 row id 覆盖;不写就用默认值:
- id: dsh-windows-notify
config:
appId: com.deepseek.dsh # Toast 归属的 AppUserModelID silent: false # true = 静音 notifyTurnEnd: true notifySubagentTurns: false notifyErrors: true notifyApproval: true notifyQuestions: true notifySignIn: true openOnClick: true # false = 关闭点击跳转(只弹普通通知) protocol: dshfocus # 点击使用的自定义协议 maxBodyChars: 260 log: true # 写 %TEMP%\dsh-windows-notify\notify.log debug: false # 记录每条会话事件与通知成功日志
诊断与排障
| 文件/入口 | 用途 |
| %TEMP%\dsh-windows-notify\notify.log | 启动自检、通道状态、通知失败、focus 请求/消费记录(JSON 行) |
| %TEMP%\dsh-windows-notify\launcher.log | 点击后的协议解析、host 请求、聚焦方式(app/browser) |
| GET http://127.0.0.1:<port>/plugins/dsh-windows-notify/health | 通道状态、端口、待跳转数量(仅 loopback) |
常见问题:
1. 没有弹窗:Windows 设置 → 系统 → 通知,确认 “DeepSeek Harness” 允许通知且未开专注助手;再看 notify.log 里的 toast-failed。
2. 点击没反应:检查 HKCU\Software\Classes\dshfocus 是否指向本插件的 launcher.ps1;看 launcher.log。
3. 点击只聚焦窗口、没切会话:确认 Client 半边已加载(重启一次 Harness),并检查 notify.log 是否有 focus-consumed。
4. 通知显示成 Windows PowerShell:说明回退分支被触发,检查 com.deepseek.dsh 的应用快捷方式是否存在。
卸载
1. plugin_manager 里移除本 bundle。
2. 清理插件自动写入的通知归属与协议注册(HKCU,无需管理员):
Remove-Item 'HKCU:\Software\Classes\dshfocus' -Recurse -Force
兼容性
- 测试环境:DeepSeek Harness Desktop 0.2.1-rc.2,Windows 11 26100,Node 24。
- 依赖:Windows 10/11 自带的 Windows PowerShell 5.1;Node >= 20。
- 不使用 detached 子进程:DETACHED_PROCESS 会让 PowerShell 5.1 的 WinRT Show() 变成静默空操作(实测)。
开发
node --check index.js
node --check format.js
node --check client.js
node test/smoke.mjs # 假 ctx + 假 webServer,打 3 条真实 Toast,验证路由/监听器/文案
图标许可
icon.svg 中的铃铛图形来自 Material Icons 的 notifications 图标,Apache License 2.0。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yschdxm/dsh-windows-notify
任务完成或需确认时弹出系统通知,点击直达对应会话
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,487已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,894已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,379已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 5,084已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,778已汉化DSH
71.1
这是你的仓库?认领条目