TelosmaYLX/dsh-session-notify 预览 preview

TelosmaYLX/dsh-session-notify

当dsh任务完成/出错/提问等情况出现时,自动推送windows消息进行提醒,支持针对不同场景自定义文案和图片,并可在推送内容中显示会话用时、消耗token、速度tps等指标。Windows desktop notifications for DSH tasks — get alerted on completion, errors, or when input is needed, with per-scenario text and images, plus session duration, token usage, and TPS stats.

Project Overview项目介绍

dsh-session-notify is a session-completion notification plugin built specifically for DSH (DeepSeek Harness) Web profile, packaged as @telosmaylx/dsh-session-notify on npm and installed with the single command dsh plugin add @telosmaylx/dsh-session-notify. It addresses a concrete pain point: when a long-running turn finishes, the user is usually on another tab and misses the result, so the plugin writes the end reason — completed / error / blocked / limit-reached — plus duration and token usage into the session log and pushes via three independent channels: an in-conversation system message folded into the JSONL log, a native browser Web Notification using a unique dsh-session-notify:<timestamp> tag so previous alerts are never coalesced, and a page-level toast in the lower-right corner that always shows as a fallback when notifications are silenced or denied.

The integration targets DSH exclusively: the repository declares the official dsh.bundle manifest so the cordis host recognises it during install, depends on cordis >= 4, and reads projections from @deepseek-ai/dsh-settings plus the session projection namespace that ships in the default DSH base bundle. Notification triggers fire on the running → idle edge from the session-list snapshot, on tool/call for AI questions routed through the session-complete-notify-question projection, and on approval/asked via a three-signal fallback (harness pendingInteractions → host approval projection keyed session-complete-notify-approval → snapshot pendingInteraction === 'approval'). Focus-aware routing lets the user pick double-channel, system-only, in-page-only, or no-notify independently for the focused and unfocused window states.

Typical users are developers and operators running multiple deep-reasoning or batch-style DSH sessions in parallel, who prefer to be pinged back when a turn finishes rather than watch the tab. After install, a settings panel exposes a chip-based visual template editor with placeholders such as {title}, {duration}, {tokens}, {cache}, {tps}, {question}, plus media switches {image} / {icon} / {audio}; five localisations (Simplified Chinese, Traditional Chinese, English, Japanese, Korean) and four built-in style presets (kaomoji, Elu-cat, Neko-cat, DeepSeek-chan) ship out of the box, and any current configuration can be saved as a custom preset to localStorage. Before publishing, contributors run npm run selftest, which executes schema and sanitisation checks, settings-panel render smoke tests, sound-playback chain assertions, and cross-README consistency checks as executable assertions.

Requirements are Node.js ≥ 22 and DSH Web profile with cordis ≥ 4; the plugin carries zero external runtime npm dependencies and the pure-logic layer in lib/core.js can be unit-tested in isolation, while timers and subscriptions are wrapped in ctx.effect() to return clearTimeout disposers so they unwind with the cordis fiber and survive HMR. First-run caveats: browser notification permission must be granted via a user gesture, the page-toast channel caps at three simultaneous toasts with ten-second auto-dismiss, the question prompt only displays if the host projection or one of the fallback signals is wired, and cache hit-rate plus generation-speed placeholders ({cache}, {tps}) only render when explicitly inserted into a custom template — default in-conversation messages do not surface numeric metrics. The package is distributed under the MIT license and is published on npm as @telosmaylx/dsh-session-notify.

dsh-session-notify 是一款面向 DSH(DeepSeek Harness)Web profile 的会话完成提醒插件,专门解决长时间运行或后台会话容易被遗忘的痛点。它在每轮对话结束时,将"已完成 / 出错 / 被阻塞 / 达到上限"以及用时、token 消耗写入会话日志,并通过浏览器 Web Notification 与页内 toast 三通道推送;窗口失焦与聚焦时各可指定独立通道(含"不通知"),AI 调用 ask_user_question 提问或触发 approval/asked 审批时也会立即弹窗。插件以官方 dsh.bundle manifest 声明安装入口,通过 dsh plugin add 一条命令即可挂载到 Web 部署的 DSH 宿主中,无需手写配置。

典型使用场景是开发者在 IDE 或浏览器里挂着多个 DSH 会话窗口,希望任务一结束就主动知道,而不是反复切回标签页检查。安装后用户进入设置面板,可视化模板编辑器允许把 {title}、{duration}、{tokens}、{cache}、{tps}、{question} 等占位符插入胶囊,5 种语言、4 套风格预设(颜文字、艾露猫、猫娘、DeepSeek 娘)可一键切换并另存自定义方案。该插件适合同时管理多个深度推理或长任务会话的用户,也适合习惯把窗口切到别处、靠通知回调工作流的运维与开发者。

运行环境要求为 Node.js ≥ 22 与 cordis ≥ 4,宿主需为 DSH Web profile 且默认包含 @deepseek-ai/dsh-settings 与会话投影单元;插件零外部 npm 依赖,纯逻辑层 lib/core.js 可独立测试,工程上遵守 cordis effect 纪律保证 HMR 安全。安装命令为 dsh plugin add @telosmaylx/dsh-session-notify,发布前可执行 npm run selftest 跑 schema 校验、设置面板冒烟与 README 一致性断言。首次运行需授予浏览器通知权限,模板中 {cache} 与 {tps} 仅在自定义文案里插入对应占位符时显示,宿主投影缺失时系统会自动回退到 harness 原生信号兜底;许可为 MIT,npm 通道分发。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
  • Desktop client: installation downloads an executable - verify the publisher and checksums桌面客户端:安装会下载可执行文件,请核对发布者与校验和
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin add github:TelosmaYLX/dsh-session-notify

把 TelosmaYLX/dsh-session-notify 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-session-notify

简体中文 · English · 繁體中文 · 日本語 · 한국어

DSH(DeepSeek Harness)会话完成提醒插件 —— 每一轮结束,让完成状态主动找你,而不是你盯着屏幕等。

npm version npm downloads license node DSH PRs Welcome

每轮对话结束时,把「已完成 / 出错 / 被阻塞 / 达到上限」连同用时、token 消耗写入会话日志,并推送浏览器系统通知与页内 toast(窗口失焦 / 聚焦可分别指定通道,两路都含「不通知」);AI 向你提问、请求审批时同样立即弹窗提醒,不必守着会话页面。内置 5 种语言、4 套风格预设(颜文字 / 艾露猫 / 猫娘 / DeepSeek 娘)、可视化文案模板编辑器、自定义预设库,缓存命中率与生成速度取自官方投影,与状态栏同口径。


目录


功能特性

标题编辑器 内容编辑器 任务完成通知 AI 提问通知 任务出错通知

三通道提醒,一条不漏

通道 形式 说明
会话内系统消息 可折叠提示行 每轮结束把结束原因与用时、消耗作为插件来源的系统消息追加进会话日志,随 JSONL 落盘,恢复或回放会话后依然可见。
浏览器系统通知 Web Notification 原生弹窗。每次完成事件使用独立 tag(dsh-session-notify:<timestamp>),不与前一次互相替换,也不被折叠成一个分组条目;点击通知聚焦回窗口。
页内 toast 右下角浮动弹窗 永远展示的保底通道:系统通知被平台静默、权限拒绝或环境不支持时仍有可见反馈。同屏最多 3 条(超出移除最旧),10 秒自动消失,点击关闭。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-memories 下一个 Next dsh-sticky-disclosure →