🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面通知提醒 chendaleiQ/dsh-plugin-desktop-notify

DeepSeek Harness
chendaleiQ6 天前有提交已提供中文文档扫描:含敏感能力

任务完成或需你操作时弹通知,点击直达会话

29.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chendaleiQ/dsh-plugin-desktop-notify
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 写入本地文件
    index.js:203
    void mkdir(dirname(endpointPath), { recursive: true })
  • 写入本地文件
    index.js:204
    .then(() => writeFile(endpointPath, `${origin}${API_REQUEST_PATH}\n`, "utf8"))
  • 删除本地文件
    index.js:219
    if (endpointPath !== "") void rm(endpointPath, { force: true }).catch(() => {})
  • 写入本地文件
    index.js:228
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    index.js:229
    await appendFile(path, `${new Date().toISOString()} ${line}\n`, "utf8")
  • 执行外部命令固定命令
    index.js:297
    execFile("/usr/bin/lsappinfo", ["front"], { timeout: 2000 }, (frontError, frontOut) => {
  • 执行外部命令固定命令
    index.js:301
    execFile("/usr/bin/lsappinfo", ["info", "-only", "name", asn], { timeout: 2000 }, (infoError, infoOut) => {
  • 执行外部命令来自配置/变量
    index.js:311
    const child = spawn(command, args, { detached: true, stdio: "ignore" })
  • 写入本地文件
    index.js:335
    await mkdir(dirname(logPath), { recursive: true })
  • 写入本地文件
    index.js:336
    await appendFile(logPath, `${new Date().toISOString()} ${line}\n`, "utf8")
  • 发起网络请求
    lib/client.js:397
    const response = await fetch(EXTERNAL_PENDING_PATH, {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

⚠ 已知 Bug / 兼容问题

插件会在 DSH webServer 上注册两个本地通知接口(供脚本与定时任务调用),无独立认证,访问边界取决于 Host 监听配置;关闭 osascript 兜底不会关闭这两个接口。 会写入本地 endpoint 文件(~/.dsh 下)与日志文件。 Windows 上可切到目标会话,但不保证把窗口置于前台。 以上为代码与发布包静态核查结论,本站未对该插件做实装验证。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

Codex 风格的 macOS 通知,外加 DeepSeek Harness 桌面应用的 Dock 未读角标(点横幅即可跳回会话)

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-desktop-notify 给 DSH 加桌面通知 + 应用图标小红点:任务完成、等待你操作、任务失败时提醒你,点通知直接回到那个会话。 任务跑完时右上角弹出的通知横幅(真实录屏) (真实录屏,只截取了通知区域) 它做什么 - 任务完成——包括窗口切到后台、你在别的应用里的时候 - 等待你操作——工具审批、提问、执行计划确认 - 任务失败——这一轮出错时提示 - 小红点——应用图标上显示「需要你的会话数」,你看过之后才清零 - 点击通知——切到对应会话,而不是只把应用叫到前面 子智能体的会话默认不提醒(可在偏好里打开)。 安装 DSH 桌面版 → 左侧栏「插件」→ 安装,填包名: dsh-plugin-desktop-notify 装完按 ⌘R 刷新窗口。也可以填 GitHub 地址(https://github.com/chendaleiQ/dsh-plugin-desktop-notify)或本地目录的绝对路径。
展开完整文档(README 剩余 1 节)
dsh-plugin-desktop-notify

给 DSH 加桌面通知 + 应用图标小红点:任务完成、等待你操作、任务失败时提醒你,点通知直接回到那个会话。

任务跑完时右上角弹出的通知横幅(真实录屏)

(真实录屏,只截取了通知区域)

它做什么

- 任务完成——包括窗口切到后台、你在别的应用里的时候
- 等待你操作——工具审批、提问、执行计划确认
- 任务失败——这一轮出错时提示
- 小红点——应用图标上显示「需要你的会话数」,你看过之后才清零
- 点击通知——切到对应会话,而不是只把应用叫到前面

子智能体的会话默认不提醒(可在偏好里打开)。

安装

DSH 桌面版 → 左侧栏「插件」→ 安装,填包名:

dsh-plugin-desktop-notify

装完按 ⌘R 刷新窗口。也可以填 GitHub 地址(https://github.com/chendaleiQ/dsh-plugin-desktop-notify)或本地目录的绝对路径。

偏好

存在浏览器 localStorage 的 dsh-plugin-desktop-notify.preferences:

| 字段 | 默认 | 说明 |
| notifications | true | 总开关 |
| notifyComplete | true | 任务完成时通知 |
| notifyPending | true | 等待审批 / 回答 / 计划确认时通知 |
| notifyError | true | 任务失败时通知 |
| notifyViewed | false | 正在看的会话也通知(默认跳过) |
| badge | true | 显示小红点 |
| excludeSubagents | true | 忽略子智能体会话 |
| titleComplete / titlePending / titleError | 空 | 自定义标题,空 = 用内置文案 |
| maxBodyChars | 140 | 正文长度上限 |

语言

跟随 DSH 的语言设置(设置 → 通用 → 语言):默认中文,切成英文后通知文案同步变成英文。

自检

渲染层控制台:

__DSH_DESKTOP_NOTIFY__.capabilities() // 平台、通知权限、小红点、服务可达性
__DSH_DESKTOP_NOTIFY__.state() // 小红点、待处理会话、最近一次通知/点击
__DSH_DESKTOP_NOTIFY__.report() // 上面全部 + 窗口焦点,便于排查

给其它工具用的通知接口

宿主半边在回环地址上开了两个路由,供脚本、浏览器代理、定时任务调用:

| 方法 | 路径 | 作用 |
| POST | /desktop-notify/request | 发一条通知,body:{"title": "...", "body": "...", "sessionId": "可选"} |
| GET | /desktop-notify/pending | 渲染层取走待显示的通知(脚本不用调) |

地址写在 ~/.dsh/desktop-notify.endpoint,所以调用方不用猜端口:

curl -s "$(cat ~/.dsh/desktop-notify.endpoint)" \
-H 'content-type: application/json' \
-d '{"title":"BrowserOS 需要你","body":"有一个接管请求"}'

Python(比如监听 neo 的守护脚本):

import json, pathlib, urllib.request

url = pathlib.Path.home().joinpath(".dsh/desktop-notify.endpoint").read_text().strip()
request = urllib.request.Request(
url,
data=json.dumps({"title": "BrowserOS 需要你", "body": "有一个接管请求"}).encode(),
headers={"content-type": "application/json"},
)
urllib.request.urlopen(request, timeout=3).read()

要点:

- 通知由 DSH 自己弹出(归属 DeepSeek Harness),不是 Script Editor
- 点通知会把窗口叫到前面;带 sessionId 时会切到那个会话
- 接口只监听回环地址,不需要登录;enabled: false 只关 osascript 兜底,不影响接口

已知限制

- Windows:点通知会切到对应会话,但窗口不一定到前台——AppUserModelID 和主进程 focus 通道属于桌面端,渲染层插件做不到
- 通知归属:系统通知中心里显示为 DeepSeek Harness(用的是渲染层原生通知)
- 宿主半边(index.js,osascript 兜底)默认关闭;只有渲染层拿不到 Notification 时才需要打开

开发

node test/client.test.mjs # 渲染层:文案、小红点、点击链路
node test/host.test.mjs # 宿主兜底:dryRun 下的事件处理

协议

MIT · 仓库 https://github.com/chendaleiQ/dsh-plugin-desktop-notify
预览分享卡片长什么样 ↓chendaleiQ/dsh-plugin-desktop-notify
分享 · DeepSeek Harness Hub
chendaleiQ/dsh-plugin-desktop-notify

任务完成或需你操作时弹通知,点击直达会话

这是你的仓库?认领条目

回到顶部