DeepSeek Harness 插件

99galaxy/dsh-turn-notify

Star 数 ★ 0 下载量(近 30 天) 278 分类 通知与集成 收录于 2026-11-02 npm @99galaxy/dsh-turn-notify

在 DSH 会话本轮运行结束时发送 Windows 系统通知,显示会话标题及可观测的运行耗时,支持前台免打扰与子代理过滤。点击通知可将 DSH 窗口拉回前台。

安装

# npm 包(预构建)

dsh plugin --profile web add @99galaxy/dsh-turn-notify

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:99galaxy/dsh-turn-notify

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DSH 的 Windows 系统通知插件,在会话结束一轮运行时提醒你。

作者的碎碎念

dsh为啥还没有后台消息通知啊……后台跑任务的时候根本不知道任务跑完没。所以就vibe coding了一个插件。

功能

  • 会话本轮运行结束后发送系统通知,标题显示会话名称。
  • 正文默认显示“本轮已完成”;观察到本轮开始时间时,同时显示耗时。
  • 点击通知可将 DSH 窗口拉回前台。
  • 默认前台、后台均提醒,可设置为正在查看该会话时不打扰。
  • 默认跳过子代理会话,避免重复打扰。
  • 结合状态订阅、完成标记和两秒轮询检测回合结束,并对同一完成周期去重。

通知依赖 DSH 客户端保持运行及系统通知权限。DSH 完全退出后无法提醒。 “本轮已完成”表示运行已结束,不区分成功、失败或取消;仅靠轮询且没有完成标记时, 两次采样之间结束的短回合仍可能漏报。

安装

需要 Windows、DSH 桌面客户端,以及客户端提供的 dsh 命令。

  1. 安装 npm 包,桌面版使用 desktop profile:

    dsh plugin --profile desktop add @99galaxy/dsh-turn-notify
    

    也可直接从 GitHub 安装:

    dsh plugin --profile desktop add github:99galaxy/dsh-turn-notify
    
  2. 重启 DSH,并确保 Windows 允许 DSH 发送系统通知。安装器通过包内的 dsh.bundle 自动注册插件,无需手动追加 insert。

    如需修改默认设置,在该 profile 的 cordis.patch.yml 顶层数组末尾添加配置覆盖:

    - id: dsh-turn-notify
      config:
        enabled: true
        notifyWhenFocused: true
        skipSubagents: true
        maskTitle: false
        message: 本轮已完成
    

配置说明:

配置项 默认值 作用
enabled true 是否启用通知
notifyWhenFocused true 设为 false 时,窗口在前台且正在查看该会话则不提醒
skipSubagents true 是否跳过子代理会话
maskTitle false 设为 true 时,系统通知标题固定为“会话已完成”,避免显示会话名称
message 本轮已完成 通知正文前缀

配置需要 profile 提供 webServer 服务。修改配置后重启 DSH,使客户端重新读取。

项目目录

.
├── lib/
│   ├── index.js       # Host 入口及客户端配置接口
│   └── client.js      # 会话状态检测和系统通知
├── test/
│   └── smoke.mjs      # 回归测试
├── .github/
│   └── workflows/
│       └── test.yml   # GitHub Actions 测试
├── .gitignore         # 本地配置、凭据及构建产物忽略规则
├── LICENSE            # MIT 许可证
├── cordis.patch.yml   # DSH bundle 安装入口
├── package.json       # 包信息与 DSH 客户端声明
└── README.md

从源码构建

需要 Node.js 22 或更新版本、Git;本地安装到 DSH 时还需要 pnpm。 项目以原生 JavaScript 编写,无第三方运行依赖,也不需要转译或打包器;lib/ 中的代码就是发布入口。

git clone https://github.com/99galaxy/dsh-turn-notify.git
cd dsh-turn-notify

node --check lib/index.js
node --check lib/client.js
node test/smoke.mjs

npm pack --dry-run
npm pack

最后一条命令在项目目录生成 99galaxy-dsh-turn-notify-<version>.tgz。执行 dsh plugin --profile desktop add <插件压缩包的路径>,再重启 DSH。 每次修改源码后,需重新打包、安装,再重启客户端。

开源许可

本项目采用 MIT License。允许使用、修改和分发,须保留版权声明与许可证文本。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。