dsh-notify

by zhengjy01

0 通知与集成github 检测到 manifest package.json#dsh 社区精选 收录于 08-16

系统级桌面通知:回合完成 / 工作流完成横幅,需要审批时弹出模态提醒(macOS osascript / Linux notify-send)。

System-level desktop notifications: turn-completion and workflow-end banners, plus a modal alert when an approval is needed (macOS osascript / Linux notify-send).

安装

dsh plugin --profile web add github:zhengjy01/dsh-notify

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English | 中文

DSH 服务端插件:在操作系统层面弹出系统通知,提醒你 DSH 里的重要事件,这样你不需要一直盯着浏览器页面。

触发时机

事件 弹窗类型 默认
主会话任务回复完成(turn/end completed,非子代理会话) 系统横幅「会话名 · 任务完成」 开
主会话任务出错(turn/end reason=error) 模态弹窗「会话名 · 任务失败」+ 提示音 开
主会话任务中断(turn/end reason=aborted / max-tokens / blocked) 系统横幅「会话名 · 任务中断」 开
单个工具调用失败(tools/result isError) 系统横幅「会话名 · 工具失败」 开
目标完成(goal/changed phase=complete) 系统横幅「会话名 · 目标已完成」 开
目标受阻(goal/changed phase=blocked) 模态弹窗「会话名 · 目标受阻」 开
工作流执行完成(tool-workflow/run-end) 系统横幅「会话名 · 工作流执行完成」 开
需要人工确认:工具请求权限(approval/asked) 模态弹窗「会话名 · 需要人工确认」+ 提示音 开
权限请求被自动拒绝(策略为 never) 系统横幅「会话名 · 权限请求(已自动拒绝)」 开(随上项)
子代理(后台子任务)回合结束(turn/end,子代理会话) 系统横幅「会话名 · 子任务完成」 关

说明:

  • 标题带会话名:所有弹窗标题使用对应会话的名称(取自会话的 session/title 事件),超长自动截断(18 字符 + …);没有标题时回退到会话 ID 前 8 位。
  • 工具失败防刷屏:同一会话内两次工具失败提醒默认至少间隔 60 秒(toolErrorCooldownMs);也可用 toolErrorAllowlist 只提醒关键工具(如 ["bash", "ssh_exec"])。
  • 严重度分级:真正失败(出错)、目标受阻和需要人工审批 → 模态弹窗(必须点击确认)并播放提示音;完成、中断、自动拒绝等 → 通知中心横幅(不打断操作)。
  • macOS:模态用 osascript display alert ... as critical,横幅用 display notification;Linux:统一 notify-send,模态场景用 -u critical(紧急级别,常驻直到点击);其他平台:仅记录日志。
  • 权限策略为 ask 时,审批请求弹出模态对话框提醒你去 DSH 界面审批;策略为 never 时请求会被自动拒绝,只发一条横幅告知「已自动拒绝」,不会弹模态框打扰你。
  • 弹窗随进程 detached 执行、不阻塞 DSH 服务器。

安装

标准 DSH 插件包安装方式(任选其一),安装后重启 dsh web 生效:

# 本地开发(link 方式,指向本仓库路径)
dsh plugin --profile web add link:/Users/zhengjunyao/Documents/DSH-test/dsh-notify

# 发布到 GitHub 之后(仓库需打上 dsh-plugin topic)
dsh plugin --profile web add github:<your-account>/dsh-notify

备选:仓库内自带 scripts/install.mjs(拷贝到 ~/.dsh/profiles/node_modules/dsh-notify),但推荐使用上面的标准方式。

配置

插件的 cordis.patch.yml 提供默认配置;安装后可在 profile 的 patch 层覆盖(例如 ~/.dsh/profiles/web/cordis.patch.yml):

- patch:
    - id: notify
      config:
        notifyTurnEnd: true      # 主会话任务完成横幅
        notifyTurnError: true    # 主会话任务失败:error→模态弹窗,中止/超限/受阻→横幅
        notifySubagentEnd: false # 子任务完成横幅(默认关,避免刷屏)
        notifyWorkflowEnd: true  # 工作流完成横幅
        notifyApproval: true     # 需要人工确认弹窗 / 自动拒绝横幅
        notifyToolError: true    # 单个工具调用失败横幅(每会话冷却 + 可选白名单防刷屏)
        toolErrorAllowlist: []   # 只提醒这些工具名,空 = 全部(如 ["bash", "ssh_exec"])
        toolErrorCooldownMs: 60000 # 同一会话两次工具失败提醒的最小间隔(毫秒)
        notifyGoalComplete: true # 目标完成横幅
        notifyGoalBlocked: true  # 目标受阻模态弹窗
        sound: true              # 弹窗时播放提示音

改完配置后同样需要重启 dsh web。

手动验证

不需要重启也能验证弹窗本身是否可用:

osascript -e 'display notification "测试" with title "DSH" sound name "Glass"'
osascript -e 'display alert "DSH" message "测试" as critical'

发布到社区

  1. 将本仓库推到你的 GitHub(记得把 package.json 的 repository.url 改成实际地址)。
  2. 在仓库设置 → Topics 添加 dsh-plugin,让全世界的 DSH 用户能搜索到并一键安装。
  3. (可选)登记到社区市场/列表,如 dsh-market、。
  4. (可选)官方插件脚手架仍在讨论中,可到 deepseek-ai/deepseek-harness Discussion #1629 留言反馈,推动官方发布通道落地。

原始 README: https://github.com/zhengjy01/dsh-notify/blob/main/README.zh.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23