233fxr-collab/dsh-mobile-push-notify0

dsh-mobile-push-notify

DeepSeek Harness (dsh) task-completion notifications: native desktop alerts on macOS/Windows/Linux plus zero-config phone pairing (PWA + Web Push) with optional cloudflared public tunnel.

包名
dsh-mobile-push-notify
版本
0.2.0
许可证
MIT
最近更新
2026年9月5日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:233fxr-collab/dsh-mobile-push-notify

使用

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

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

  • macOS:通知中心横幅 + Glass 提示音(osascript
  • Windows:系统 Toast(PowerShell WinRT)
  • Linuxnotify-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 界面查看结果。

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

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

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

配置

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

常用环境变量

变量默认说明
DSH_TASK_NOTIFY_ENABLED1总开关
DSH_TASK_NOTIFY_EVENTScompleted,error,aborted,goal-completed通知事件
DSH_TASK_NOTIFY_SOUNDGlassmacOS 提示音名;none 静音
DSH_TASK_NOTIFY_BELL0通知失败/无系统通知时响铃
DSH_TASK_NOTIFY_GATEWAY_PORT3188网关端口
DSH_TASK_NOTIFY_TARGET_PORT自动读 dsh web --portdsh web 端口
DSH_TASK_NOTIFY_VAPID_SUBJECTmailto:dsh-mobile-push-notify@users.noreply.github.comiOS 严格校验 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_KEYDSH_TASK_NOTIFY_WEBHOOK_URL