yuan-source-666/dsh-task-notifier1

dsh-task-notifier

任务完成系统通知插件:在对话回复、子代理运行、后台任务或工作流结束时触发操作系统桌面通知。

AI 分析

核心用途是任务完成状态的实时提醒。适合运行耗时任务、需要离开窗口并希望在任务结束时获得通知的用户。

包名
dsh-task-notifier
版本
1.0.0
许可证
MIT
最近更新
2026年8月28日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yuan-source-666/dsh-task-notifier

配置项

全部写在这一行的 config: 里;每个字段都有可用默认值,下面列出的就是默认值。

- insert:
    - id: task-notifier
      name: dsh-task-notifier
      config:
        enabled: true                # 总开关,false 时连监听都不注册
        locale: 'zh'                 # 'zh' 或 'en';一个字段决定整套文案语言
        title: ''                    # 成功标题;留空跟随 locale
        failureTitle: ''             # 未成功标题;留空跟随 locale
        bodyTemplate: ''             # 正文模板;留空跟随 locale
        taskNameChars: 120           # 任务名最长保留多少字符,超出用省略号收尾
        onTurnEnd: true
        onSubagentEnd: true
        onJobDone: true
        onGoalComplete: true
        onWorkflowEnd: true
        onlySuccess: false           # true = 出错/取消不再打扰
        includeChildSessions: false  # true = 子会话里的每一轮也通知
        sound: true                  # 支持的渠道带上提示音
        dedupeMs: 2000               # 同一完成信号的去重窗口
        appName: 'DeepSeek Harness'  # 通知里显示的应用名
        powershellProgram: ''        # Windows 指定 PowerShell;留空依次试 powershell.exe、pwsh.exe
        command: []                  # 自定义投递命令 argv,非空时覆盖内置渠道
        timeoutMs: 15000             # 单个投递进程最长运行时间,超时即换下一个渠道

正文模板可用占位符:{kind} 任务类型、{task} 任务名、{outcome} 结束原因、{ref} 会话或任务 id。 写错的占位符(例如 {nope})会原样显示在通知里,而不是悄悄消失。

locale 一次切换同时改掉三处:类型与原因标签(对话任务 / Chat task已完成 / completed)、默认标题、 以及默认模板里的分隔符(中文 / 英文 : )——不会出现「Background job:xxx」这种半英不中的通知。

用别的程序投递

command 的 argv 里含 {title} / {body} 时就地替换;不含就把两个字符串追加到末尾。两种情况都不经过 shell: 任务名里有 $&、引号、反引号、$(...) 也只会被当作普通文字(冒烟测试里专门有一条覆盖这点)。

        command:
          - /usr/local/bin/my-notify
          - --title={title}
          - --text={body}