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

任务完成推送 233fxr-collab/dsh-mobile-push-notify

DeepSeek Harnessv0.2.0
233fxr-collab59 天前有提交已提供中文文档扫描:含敏感能力

任务跑完即时推送到电脑和手机锁屏

30.1/100
综合分
2
GitHub 星标
39
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-mobile-push-notify
npm 源 · dsh-mobile-push-notify 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · desktop
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/10/28·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 59 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-mobile-push-notify @ 0.2.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 16:39:40

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:95
    if (!existsSync(path)) return {}
  • 读取本地文件
    lib/index.js:97
    const parsed = JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    lib/index.js:248
    if (existsSync(soundPath)) {
  • 执行外部命令来自配置/变量
    lib/gateway.js:46
    child = spawn(process.execPath, [serverPath], {
  • 发起网络请求
    lib/gateway-server.js:426
    const upstreamReq = http.request(
  • 发起网络请求
    lib/gateway-server.js:461
    const retry = http.request(
  • 执行外部命令来自配置/变量
    lib/gateway-server.js:551
    const result = spawnSync(candidate, ['--version'], { stdio: 'ignore', windowsHide: true })
  • 发起网络请求
    lib/gateway-server.js:571
    const response = await fetch(url, { redirect: 'follow' })
  • 执行外部命令固定命令
    lib/gateway-server.js:576
    const result = spawnSync('tar', ['-xzf', tmp, '-C', path.dirname(target)], { stdio: 'ignore' })
  • 执行外部命令来自配置/变量
    lib/gateway-server.js:688
    const child = spawn(bin, [
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 任务完成即时推送
  • 桌面原生提醒
  • 手机锁屏推送

dsh 任务/移动端完成通知:桌面原生提醒 + PWA/Web Push 手机配对(零配置)

v0.2.02026-09-06
首个可用版本:桌面原生通知(macOS/Windows/Linux) + 手机扫码配对(PWA/Web Push) + 可选 cloudflared 公网隧道。16 个测试全部通过。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-mobile-push-notify DeepSeek Harness (dsh) 任务完成通知插件:一个包、零账号、零手写配置。 - 电脑端:macOS / Windows / Linux 原生系统通知 + 提示音 + 任务摘要与用时 - 手机端:扫码配对后,iPhone / Android 以 PWA 形式打开同一个 dsh Web 界面,任务完成时收到 Web Push 锁屏通知,点击直接回到 dsh 查看结果 - 公网:一键启动 Cloudflare 快速隧道(自动下载 cloudflared,无需账号/域名),人在外面也能收通知和远程查看 与现有方案的关系 目前 dsh 生态里最主流的手机远程监控是“远程同屏 Web 壳 + QR 配对 + 隧道 + PWA/Web Push”(代表:dsh-pocket、@linxin666/dsh-remote-web-ui、dsh-zen-remote)。本插件复用同一套成熟模式,但只聚焦一件事:任务完成时让你第一时间知道,远程界面复用官方 dsh Web,不做第二套 UI。
展开完整文档(README 剩余 1 节)
dsh-mobile-push-notify

DeepSeek Harness (dsh) 任务完成通知插件:一个包、零账号、零手写配置。

- 电脑端:macOS / Windows / Linux 原生系统通知 + 提示音 + 任务摘要与用时
- 手机端:扫码配对后,iPhone / Android 以 PWA 形式打开同一个 dsh Web 界面,任务完成时收到 Web Push 锁屏通知,点击直接回到 dsh 查看结果
- 公网:一键启动 Cloudflare 快速隧道(自动下载 cloudflared,无需账号/域名),人在外面也能收通知和远程查看

与现有方案的关系

目前 dsh 生态里最主流的手机远程监控是“远程同屏 Web 壳 + QR 配对 + 隧道 + PWA/Web Push”(代表:dsh-pocket、@linxin666/dsh-remote-web-ui、dsh-zen-remote)。本插件复用同一套成熟模式,但只聚焦一件事:任务完成时让你第一时间知道,远程界面复用官方 dsh Web,不做第二套 UI。

工作原理(Plugin 层)

一个 npm 包,cordis.patch.yml 自动挂三行宿主插件:

| Row | 模块 | 职责 |
| task-notify | dsh-mobile-push-notify | 监听 session/event 的 turn/end / goal/change,发桌面系统通知 |
| task-notify-gateway | dsh-mobile-push-notify/gateway | spawn 独立网关:扫码配对、反向代理 dsh Web、PWA/Web Push、cloudflared 隧道 |
| task-notify-push | dsh-mobile-push-notify/push | 同一套会话事件决策,把完成通知 POST 给网关,网关用 VAPID + aes128gcm 推送到手机 |

事件语义(与桌面通知完全一致):

- 普通轮次 turn/end + reason.kind === 'completed' → 通知
- error / aborted → 通知;max-tokens / blocked 可选
- 目标模式:goal/change 的 phase === 'complete' 才通知一次,中间轮次不打扰
- 子代理会话(session.header.parentSession / delegationDepth)默认跳过
- 手机推送对成功类通知做 3s 去抖;错误/取消不去抖

安装

dsh plugin --profile web add dsh-mobile-push-notify

然后重启:

dsh web

无需任何配置,桌面通知立即生效;网关管理页会打印在启动日志里:

[dsh-mobile-push-notify-gateway] 已启动 · 管理页 http://127.0.0.1:3188/admin · 反代目标 http://127.0.0.1:3080

从 git 仓库安装(开发):dsh plugin --profile web add link:/path/to/dsh-mobile-push-notify

使用

1. 电脑端通知(零配置)

什么都不用做。任务完成时:

- macOS:通知中心横幅 + Glass 提示音(osascript)
- Windows:系统 Toast(PowerShell WinRT)
- Linux:notify-send
- 系统通知失败时自动响终端铃兜底

2. 手机配对(一次扫码)

1. 电脑浏览器打开 http://127.0.0.1:3188/admin
2. 局域网:手机和电脑同一 WiFi,扫「局域网配对」二维码即可
3. 公网:点「开启公网隧道」,首次会自动下载 cloudflared,稍等出现公网二维码后扫码
4. 手机自动进入同一个官方 dsh Web 界面,实时同步

3. 开启手机推送(iOS / Android)

1. 配对进入 dsh 后,页面右下角有「🔔 开启任务通知」按钮,点一下并允许通知
2. iOS:用 Safari 打开 → 分享 → 添加到主屏幕 → 从主屏幕图标打开 PWA,再点「开启任务通知」(iOS 16.4+;Web Push 必须 HTTPS,请走公网隧道)
3. Android Chrome/Edge:可直接安装 PWA 或允许通知

之后任务完成,手机锁屏会收到:

✅ dsh 任务完成修复 CI 构建失败用时 3min 12s

点击通知会打开 dsh 界面查看结果。

配置

三行插件的默认值已经够用。需要调整时,在 ~/.dsh/profiles/web/cordis.patch.yml 给对应 id 加 config(见仓库根目录 cordis.patch.yml 的注释),或用环境变量。

常用环境变量

| 变量 | 默认 | 说明 |
| DSH_TASK_NOTIFY_ENABLED | 1 | 总开关 |
| DSH_TASK_NOTIFY_EVENTS | completed,error,aborted,goal-completed | 通知事件 |
| DSH_TASK_NOTIFY_SOUND | Glass | macOS 提示音名;none 静音 |
| DSH_TASK_NOTIFY_BELL | 0 | 通知失败/无系统通知时响铃 |
| DSH_TASK_NOTIFY_GATEWAY_PORT | 3188 | 网关端口 |
| DSH_TASK_NOTIFY_TARGET_PORT | 自动读 dsh web --port | dsh web 端口 |
| DSH_TASK_NOTIFY_VAPID_SUBJECT | mailto:dsh-mobile-push-notify@users.noreply.github.com | iOS 严格校验 VAPID subject |
| DSH_TASK_NOTIFY_PUBLIC_BASE_URL | 空 | 固定公网地址(如自己的域名反代) |
| DSH_TASK_NOTIFY_PAIR_PIN | 空 | 设置后配对需额外输入 PIN |
| CLOUDFLARED_BIN | 自动下载 | cloudflared 可执行文件路径 |
可选高级推送

桌面通知行仍保留可选 Bark / 通用 webhook(非零配置,按需开启):

// ~/.dsh/task-notify.json
{
"barkKey": "你的 Bark key", "webhookUrl": "https://example.com/hook/{{title}}" }

或对应环境变量 DSH_TASK_NOTIFY_BARK_KEY、DSH_TASK_NOTIFY_WEBHOOK_URL。

安全模型

- 网关反代到 127.0.0.1 的 dsh Web,不需要把 dsh web 绑定到 0.0.0.0
- 非回环请求必须携带有效设备 cookie;公网隧道请求按 cf-connecting-ip / x-forwarded-for 判为远程,不会绕过门禁
- 配对 token 一次性时效 10 分钟,可刷新;设备可逐台撤销,「停止全部配对」同时清空设备与推送订阅
- 管理页 /admin* 与推送发送端点只接受回环;配对设备是完整控制凭据,只配对自己控制的设备
- Web Push payload 由 web-push 标准 aes128gcm 加密,推送服务只能看到密文
- 公网隧道会把“能执行代码的 dsh”暴露到互联网,请用完即关;需要固定地址可配 DSH_TASK_NOTIFY_PUBLIC_BASE_URL + 自己的反代/Cloudflare 命名隧道

开发

npm install
npm test # 16 个测试:桌面通知决策、网关配对/代理/推送、push row
node lib/gateway-server.js # 独立跑网关(可用 DSH_TASK_NOTIFY_GATEWAY_CONFIG 传 JSON 配置)

发布:

npm publish # dshhub / awesome-dsh-plugin 会按 package.json 的 dsh.dshhub 元数据收录

License

MIT
预览分享卡片长什么样 ↓233fxr-collab/dsh-mobile-push-notify
分享 · DeepSeek Harness Hub
233fxr-collab/dsh-mobile-push-notify

任务跑完即时推送到电脑和手机锁屏

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部