dsh-live-notify

DSH PLUGIN通知与集成

仓库 tsurumi-yizhou/dsh-live-notify · npm dsh-live-notify

通知与集成 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

为 DSH plugin 在 Web UI 输入框上方加一条实时进度窗,并给模型 UpdateNotify 工具,随时播报阶段结论与阻塞。

一句话选型结论

按资料字段整理

dsh-live-notify 是通知与集成类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类通知与集成 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 未标注
最近更新 2026-11-03 创建于 2026-10-20
README 11.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-live-notify
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-live-notify可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-live-notify:为 DeepSeek Harness 增加过程播报的 DSH plugin

  • 输入框上方实时进度窗
  • UpdateNotify 工具播报进度
  • 结果确认后才上屏
  • 跟随宿主深浅主题
  • 中英双语界面

上游标签

dsh-plugin

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在通知与集成场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-live-notify当前 未做沙盒验证 未标注 0 未标注 有
treg L3 · 安装规范通过 低风险 4,976 未标注 无
dsh-purge 未做沙盒验证 未标注 3,412 未标注 有
dsh-im L5 · 运行验证通过 低风险 1,837 0.1.7-rc.2 等 10 个 有
dsh-aurabot-qq 未做沙盒验证 未标注 633 未标注 有
dsh-dafeiyu L5 · 运行验证通过 低风险 425 0.1.7-rc.2 等 10 个 有

仓库档案

通知与集成
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方tsurumi-yizhou仓库 dsh-live-notify · 默认分支 未标注
分类通知与集成notify
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MPL-2.0商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 未标注收录时的数值,非实时
创建 / 更新2026-10-20 · 2026-11-03最后推送 未标注
本站收录2026-11-05首次进入本站目录的时间

README 全文

11.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-live-notify

停靠在 DSH Web UI 输入框上方的实时进度窗,外加一个给模型用的 UpdateNotify 工具。

中文 | English

模型在干活的过程中随时播报「刚刚发生了什么、发现了什么、在等什么」,你不需要等它
把整轮跑完才知道它卡在哪。

它解决什么问题

待办清单和进度播报回答的是两个不同的问题,所以这个插件是在 todo 工具旁边再加一条
通道
,而不是把 todo 做大:

TodoList(todo_write 之类) UpdateNotify(本插件)
本质 结构化任务清单 叙事式进度播报
回答 "还剩哪些事、做到哪了" "刚刚发生了什么、发现了什么、在等什么"
数据 一组 {content, status},整表替换 一条 title + 一段轻 Markdown message
生命周期 跨回合持久的计划 回合内的流式更新,新回合清空
适合 开工前列计划、跟踪完成度 多步任务中报阶段结论、长耗时等待、阻塞、方向调整
信息量 短、逐项 可带证据、文件路径、报错片段(~1000 字符)
未使用时的风险 用户不知道你当前在做什么 计划无法表达"为什么"和"发现了什么"

简单说:TodoList 是计划与完成度,UpdateNotify 是过程与结论。

前置条件

  • 一个带插件机制的 DSH(Harness)宿主,且宿主已提供 @deepseek-ai/dsh-client-ui-conversation
    (本插件的面板挂在它提供的 conversation.input.dock 槽位上)。
  • 已在 DSH 0.2.1-rc.5 上验证,package.json 的 engines.dsh 声明了兼容的宿主版本范围。
  • 插件本身零运行时依赖:dependencies 是空的,装插件不会往 profile 里拖任何包。
  • 只有在改这个仓库时才需要 Node.js ≥ 22 和 Bun(Bun 负责装依赖、跑
    lint/format 和打包;测试用 Node 内置的 node:test)。

面板位置和可用性取决于宿主版本:宿主没有该槽位时,工具与投影照常工作,只是没有面板。

安装

本包发布到 npm,同时以 tarball 形式可用:

# 方式一:直接按包名安装到当前 DSH profile
#   在 Harness 的插件管理里执行 install_bundle,target 用包名 dsh-live-notify

# 方式二:离线 / 指定版本,用打包产物安装
bun pm pack                   # 或 npm pack;得到 dsh-live-notify-.tgz
#   再执行 install_bundle,target 用该 tarball 的绝对路径

安装会写进 $DSH_PROFILE_DIR/node_modules/dsh-live-notify。

升级时的注意点:Client 半(client.js)随页面刷新就会换新;Host 半(host.js)
是已加载的 JS 模块,改完必须重启一次 dsh web 才会生效
。重启不会丢会话历史——
投影是按 stateVersion 从会话日志重新折叠出来的。

使用

模型侧只有两条参数:

  • title(可选):单行纯文本,建议 ≲60 字符,作为结论或当前阶段独立可读。
  • message(必填):轻 Markdown,开头 2–4 句散文讲证据与推理,细节用要点 / 短段落 /
    key-value 行(可带文件路径、报错片段),建议 ≲1000 字符。

宿主侧的限制:title 硬上限 120 字符(超出截断加省略号),message 硬上限 4000 字符,
面板保留本回合最近 12 条。参数校验与工具描述一致(title 不许换行且不许为空,
message 不许为空)。

你不需要手动做什么:系统提示里有一段 guidance 要求模型主动播报,并且连续 8 个工具
调用轮次没有更新时会通过动态 runtime context 提醒模型补一条。

设计要点

  • 结果确认后才上屏:tool/call 先落到 projection 的 pending,只有配对的
    tool/result 且不是错误时才提交到面板。模型谎报「已通知」也骗不到面板。
  • 不新增会话事件类型(这是本插件最要紧的一条约束):进度已经天然存在于普通
    tool/call / tool/result 事件里,投影只是对既有事件的纯折叠。会话日志仍是唯一
    事实来源,所以恢复、分叉、回放都免费可用;也不会出现「打开一个含未知事件类型的旧
    会话就报错」这类问题——Session.append 无法把仓库外的事件类型标记为 ignorable。
  • 回合内保留、结束后仍可见:新回合开始才清空,上一回合的结论留到你读完。
  • 只用宿主主题 token:CSS 只消费 --dsw-alias-* / --dsh-* 变量,不写死颜色,
    跟随宿主的深色 / 浅色主题。
  • 可访问:键盘可展开,aria-live="polite" 播报新标题,尊重
    prefers-reduced-motion。

实现

  • Host 半(host.js):注册 UpdateNotify 工具 + liveNotify 会话投影
    (stateVersion: 3)+ 系统提示 section + 每 agent 的轮次计数器(agent/created /
    agent/session/event)驱动的 8 轮提醒。
  • Client 半(client.js):在 conversation.input.dock 注册一条 entry,通过槽位标准
    的 useProjection(PROJECTION_KEY) 读取宿主机算好的值,客户端不做任何会话折叠;
    zh / en 双语。

文件

文件 用途
host.js Host:UpdateNotify 工具 + liveNotify 投影 + 提示/nudge
client.js Client:输入框上方的实时进度窗
cordis.patch.yml Loader 行(id: live-notify)
package.json bundle manifest + dsh.client 声明
locale/*.json 插件管理页显示文案
icon.svg 插件管理页图标
test/*.test.js node --test 测试(host 折叠 / 工具契约 / 打包与客户端不变量)
.oxfmtrc.json oxfmt 配置(Markdown 交给 .prettierignore 排除,CJK 段落手工折行)

开发

包管理器是 Bun(bun.lock 已提交);测试跑在 Node 内置的
node:test 上。

bun install
bun run test       # node --test test/*.test.js
bun run lint       # oxlint .
bun run fmt        # oxfmt .(格式化;bun run fmt:check 只检查)
bun run check      # 语法检查 host.js / client.js
bun pm pack        # 打包产物
bun publish        # 发布到 npm(需要先 bunx npm login)

测试不需要宿主:apply() 通过一个 stub registrant context 驱动,逐条事件重放投影;
另外一组静态检查盯着打包清单、loader id、双语词表对齐、主题 token 与「模型输出不走
HTML 注入」这类不变量。CI 在 Node 22 / 24 上跑 check → lint → fmt:check → test → pack。

安全

模型输出按纯文本处理:轻 Markdown 渲染器把段落、要点、行内代码渲染成 React 元素,
不用 dangerouslySetInnerHTML,也不解释 HTML。面板不发起网络请求,不读本地文件;
数据来源就是会话日志本身。

许可证

Mozilla Public License 2.0(MPL-2.0)。

MPL 是文件级 copyleft:可以自由使用、修改、再分发,包括商用与闭源组合;但对
本仓库源文件的修改,在分发时需要同样以 MPL-2.0 提供对应源文件。npm 包内已包含全部
源码(host.js / client.js),因此「源码可得性」这一条随之满足。


English

A live progress panel docked above the composer in the DSH Web UI, plus an
UpdateNotify tool for the model.

While a task runs, the model narrates what it just did, what it found, and what
it is waiting on — so you are not left guessing until the whole turn finishes.

Why not just a todo list

A todo list is a durable, structured plan: what is left. This is a narrative
progress channel: what just happened, what was learned, what is being waited on.
They are complementary, so the plugin sits next to a todo tool instead of
replacing it. Todos persist across turns; progress updates live inside a turn
and stay on screen after it ends.

Requirements

  • A DSH (Harness) host with the plugin mechanism, providing
    @deepseek-ai/dsh-client-ui-conversation — the panel is registered on the
    conversation.input.dock slot that package contributes. Without that slot the
    tool and the projection still work, there is just no panel.
  • Verified on DSH 0.2.1-rc.5; package.json declares the compatible host
    range in engines.dsh.
  • The plugin itself has no runtime dependencies (dependencies is empty), so
    installing it pulls nothing extra into your profile.
  • Working on this repo needs Node.js ≥ 22 and Bun; Bun installs
    dev dependencies, runs lint/format and packs, while tests run on Node's built-in
    node:test.

Install

Published to npm as dsh-live-notify:

# install_bundle with target: dsh-live-notify   (in the Harness plugin manager)
# or, from a packed tarball:
bun pm pack        # or npm pack
# install_bundle with target: /abs/path/to/dsh-live-notify-.tgz

The bundle lands in $DSH_PROFILE_DIR/node_modules/dsh-live-notify.

After upgrading: the client half reloads on page refresh, but the host half is
a loaded JS module — restart dsh web once to pick up a new host.js. Session
history survives the restart; the projection is refolded from the log.

Usage

The model calls UpdateNotify with an optional single-line title (roughly ≤60
characters, plain text, no trailing period) and a required light-Markdown
message (a short paragraph of evidence and reasoning, then a few bullets or
key-value lines, roughly ≤1000 characters). Hard limits on the host side: 120
characters for the title, 4000 for the message, and the newest 12 updates per
turn are kept.

System-prompt guidance asks the model to keep you posted, and after eight tool
rounds without an update a runtime-context reminder nudges it to send one.

Design notes

  • Result-gated: a tool/call only becomes a panel row once its paired
    tool/result arrives and is not an error.
  • No new session event type: the projection is a pure fold over ordinary
    tool/call / tool/result / turn/start / turn/end events, so the session
    log stays the single source of truth and resume, fork and replay keep working.
    (An out-of-repo event type cannot be marked ignorable by Session.append, so
    a session containing one could not be reopened.)
  • Host theme tokens only, so the panel follows the host's dark and light
    themes; keyboard expandable, aria-live="polite", honours
    prefers-reduced-motion.

Development

bun install
bun run test       # node --test test/*.test.js
bun run lint       # oxlint .
bun run fmt        # oxfmt .   (fmt:check verifies only)
bun run check      # syntax check for host.js / client.js
bun pm pack        # tarball
bun publish        # publish to npm (log in with bunx npm login first)

The tests need no host: apply() is driven through a stub registrant context that
replays projections event by event, and a second group of static checks guards the
packaging manifest, the loader id, locale key parity, theme tokens, and the "model
output never arrives as HTML" invariant. CI runs check → lint → fmt:check → test →
pack on Node 22 and 24.

License

MPL-2.0. File-level copyleft: use, modify and redistribute freely,
including commercially; modifications to these source files must be made
available under MPL-2.0 when distributed. All source is shipped inside the npm
package, which satisfies the source-availability requirement.

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-live-notify 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-live-notify` 即可。对应的 npm 包名是 `dsh-live-notify`。

dsh-live-notify 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-live-notify 安全吗?

未标注。

dsh-live-notify 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-live-notify 用的是什么许可证?

上游标注为 MPL-2.0。商用或二次分发前请到仓库确认许可证原文。

dsh-live-notify 有哪些功能?

输入框上方实时进度窗、UpdateNotify 工具播报进度、结果确认后才上屏、跟随宿主深浅主题、中英双语界面。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
通知与集成
按星标排序,可作替代方案

treg

treg

Treg 是面向 Agent 工具的 OpenRouter,聚合 60 个提供商的 2896 个端点,按调用计费,统一令牌访问,无需注册各供

L3 · 安装规范通过 4,976 星

dsh-purge

dsh-purge

dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚

未标注验证等级 3,412 星

dsh-im

dsh-im

将IM机器人接入DeepSeek Harness,支持飞书、微信、钉钉等九种渠道,通过扫码或凭据配置,统一管理多机器人连接。

L5 · 运行验证通过 1,837 星

dsh-aurabot-qq

dsh-aurabot-qq

让 DeepSeek Harness 里的 AI 以「大肥鱼」人格住进 QQ,通过 OneBot v11 网关聊天、发表情语音、写空间日记并

未标注验证等级 633 星

dsh-dafeiyu

dsh-dafeiyu

DSH 大肥鱼是一款由 DeepSeek Harness 真实工作状态驱动的桌面伴侣插件,以始终置顶的透明窗口实时展示 Agent 的思考、

L5 · 运行验证通过 425 星

dsh-trading

dsh-trading

L3 · 安装规范通过 235 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。