yuan-source-666/dsh-task-notifier ↗★ 1
dsh-task-notifier
任务完成系统通知插件:在对话回复、子代理运行、后台任务或工作流结束时触发操作系统桌面通知。
AI 分析
核心用途是任务完成状态的实时提醒。适合运行耗时任务、需要离开窗口并希望在任务结束时获得通知的用户。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yuan-source-666/dsh-task-notifier说明文档
阅读完整 README ↗配置项
全部写在这一行的 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}