DeepseekHarnessPlugins/Notification0

dsh-task-notify

Task-completion system notifications for DeepSeek Harness — macOS Notification Center, Windows Toast, and mobile push via Bark / ntfy / ServerChan / webhook

包名
dsh-task-notify
版本
0.3.0
许可证
MIT
最近更新
2026年8月26日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DeepseekHarnessPlugins/Notification

配置

编辑 ~/.dsh/settings.yaml,添加 task-notify: 段:

task-notify:
  enabled: true
  notifyOn: [idle, error, blocked]   # 可选事件:idle error blocked goal-completed
  agents: root                        # root=只通知顶层代理 | all
  coalesceWindowMs: 2000              # 同会话窗口内合并重复通知
  desktop:
    enabled: auto                     # auto | on | off(auto 按平台探测)
    sound: true                       # macOS 播放 Glass 提示音;Windows 静音开关
  format:
    time: short                       # hidden | short | full —— 正文尾部时间样式
    showDuration: true                # 负载携带 durationMs 时追加「用时 X」
  icons:
    enabled: true                     # 图形图标总开关
    urlTemplate: ""                   # 远程图标模板,如 https://host/icons/{event}.svg
  bark:                               # iOS:App Store 安装 Bark 后复制 deviceKey
    enabled: false
    server: https://api.day.app
    deviceKey: "你的deviceKey"
    sound: ""                         # 可选铃声名
  ntfy:                               # Android/iOS:ntfy App 订阅 topic
    enabled: false
    server: https://ntfy.sh
    topic: "只有你知道的随机topic"
    token: ""                         # 私有服务器时可选
  serverchan:                         # 微信推送:sct.ftqq.com 获取 SendKey
    enabled: false
    sendKey: ""
  webhook:                            # 通用 JSON POST
    enabled: false
    url: ""
    headers: {}

优先级:patch 显式配置 > settings.yaml > 环境变量(如 DSH_TASK_NOTIFY_BARK_DEVICE_KEYDSH_TASK_NOTIFY_ICONS_URL_TEMPLATE)> 内置默认值。

通知排版

通知正文由 composeBody 统一组装为:内容摘要 · 时间 · 用时 X

  • format.time 控制时间样式:short=HH:mm(默认)、full=YYYY-MM-DD HH:mm:ss、 hidden=不显示;对应环境变量 DSH_TASK_NOTIFY_FORMAT_TIME
  • format.showDuration:负载带 durationMs 时追加「用时 X」(42秒 / 3分05秒 / 1小时02分)
  • 时间与用时后缀不参与截断——maxBodyLength 只作用于内容摘要, 任何配置下时间都完整可见;对应环境变量 DSH_TASK_NOTIFY_FORMAT_SHOW_DURATION

文案与图标

事件标题内置图标
idle任务完成绿底白对勾
error任务出错红底白叉
blocked需要确认琥珀底白色暂停
goal-completed目标达成蓝底白靶心
其他回退任务通知灰底白点

标题一律纯文本(无 emoji)。图标资产在包内 assets/icons/ (SVG 矢量源 + 64×64 PNG,node scripts/build-icons.mjs 可再生成)。 各通道使用方式:

  • Windows Toast:PNG 以 appLogoOverride 嵌入通知
  • Bark / ntfy:配置 icons.urlTemplate 后自动附加 icon 参数 / X-Icon 头(需公网可访问的图片地址)
  • 通用 Webhook:JSON 载荷附带 icon 与内联 iconSvg 字段
  • macOS:系统不提供自定义通知图(平台限制),仅纯文本 + 提示音