dsh-session-notify: DSH 会话完成提醒插件

前言

DeepSeek Harness(DSH)的理念是「一切皆插件」。在智能体开发或日常使用中,一个常见的问题是:当一轮对话结束,或者 AI 主动向你提问、请求审批时,如果你切换到了其他标签页,很容易错过这些状态。dsh-session-notify 解决了这个问题,它让完成状态主动找你,而不是你盯着屏幕等待。

插件介绍

dsh-session-notify 是 DSH 的一个客户端插件,由开发者 TelosmaYLX 维护。其核心价值在于:在每一轮会话结束时,主动将完成状态、用时及消耗等信息通知给你;同时,在 AI 提问或请求审批时提供即时提醒。

核心功能

该插件包含以下已核实功能:

  1. 三通道提醒

    • 会话内系统消息:将结束原因、用时、消耗写入会话日志,随 JSONL 落盘。
    • 浏览器系统通知:原生弹窗,每次完成事件使用独立 tag。
    • 页内 Toast:右下角浮动弹窗,作为系统通知被静默或环境不支持时的保底通道。
  2. 后台会话全覆盖

    • 宿主维护所有会话(含后台、未打开窗口的)的投影单元。
    • 客户端从会话列表快照观测 running 位的变化,触发推送,不依赖你恰好开着窗口。
  3. 提问与审批即时提醒

    • 提问提醒:AI 调用 ask_user_question 时立即弹窗,支持自定义标题和正文,包含 {question} 等占位符。
    • 审批提醒:会话请求权限审批时立即提醒,标题与正文包含工具名与可选原因,不含敏感参数。
  4. 高度可定制

    • 语言支持:支持简中、繁中、英文、日文、韩文 5 种语言。
    • 模板编辑器:提供可视化文案模板编辑器(Chip 胶囊编辑器),支持实时预览。
    • 预设系统:内置 4 套风格预设(默认 + 3 套风格),支持自定义和持久化保存。
  5. 数据与工程质量

    • 官方口径:缓存命中率与生成速度取自官方投影,与状态栏同口径。
    • 零外部依赖:宿主平面零裸 import,安装即挂载(声明官方 dsh.bundle manifest)。
    • 自检脚本:提供 npm run selftest 进行工程自检。

安装与启用

安装推荐使用 DSH 官方的插件管理命令,而非直接安装 npm 包。

dsh plugin --profile web add @telosmaylx/dsh-session-notify

安装完成后,必须刷新浏览器页面以加载客户端 bundle。首次收到通知事件时,需要允许浏览器通知权限。

注意:npm install 仅添加依赖,不会自动注册插件,必须使用 dsh plugin add。

典型用法

安装并刷新页面后,该插件会自动运行。你可以通过设置面板进行配置:

  1. 查看通知:发起任意一轮对话,等待结束。你会看到右下角的 Toast 弹窗、浏览器系统通知,以及会话日志中新增的提示行。
  2. 切换语言:在设置面板中切换语言,通知文案和界面会即时重渲染。
  3. 编辑模板:通过可视化编辑器自定义通知文案,插入占位符(如 {title}, {cache})。
  4. 管理预设:内置 4 套风格预设,支持另存为自定义预设。

注意事项

  • 环境要求:需要 Node.js >= 22 和 DSH Web profile 部署。
  • 浏览器支持:需要浏览器支持 Web Notification 权限。
  • 许可证:MIT。
  • 卸载行为:卸载后,设置配置和自定义预设会保留在 localStorage 中,重装后可恢复。

短结尾

dsh-session-notify 通过三通道提醒和后台覆盖机制,解决了会话状态遗漏的问题。它不仅提供了即时反馈,还通过可视化编辑器和预设系统提供了良好的定制体验,适合需要在多任务环境中使用 DSH 的用户。

相关链接:
* GitHub 仓库
* 社区目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜