🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

标签页闪烁提醒 andreagosto/dsh-tab-watchdog

DeepSeek Harness
andreagosto25 天前有提交已提供中文文档扫描:未发现敏感能力

工作区完成或出错时闪烁标签页并显示待处理计数

29.1/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add andreagosto/dsh-tab-watchdog
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-tab-watchdog(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 02:25:31

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 标签页标题闪烁提醒
  • 显示待处理计数
  • 完成或出错时提醒

README

由 DeepSeek 最新模型翻译生成
dsh-tab-watchdog DeepSeek Harness Web 的常驻插件:当你的某个工作区/会话跑完一轮工作、报错,或者需要你输入时,浏览器标签页会给出提示——favicon 里的小鲸鱼(DeepSeek Harness 的 logo)会闪绿色或黄色,标签页标题显示待处理总数。 这是 Tab Watchdog 的「bundle」版本(常驻、可安装、可分享)。它最初是 Creator 模式下开发的动态插件。和动态插件不同,它能扛住 dsh 重启和浏览器刷新(F5)。 工作原理(架构) 和官方插件一样,一个 npm 包里装两半: - 宿主半边(index.js)——profile 组合行(cordis.patch.yml + dsh.bundle.patch)。它让这个包成为 Loader 条目:正是这一行把浏览器半边拉进启动清单。这里没有业务逻辑。 - 浏览器半边(lib/client.js,通过 dsh.client + ./client 导出提供)——一个 window.__ModuleLoader__.load({ id, factory }) 格式的 bundle。它订阅转发到浏览器的宿主事件(ctx.remote.$on),其余全由它处理(状态、水位线、闪烁)。不给 harness 加任何 UI。
展开完整文档(README 剩余 1 节)
dsh-tab-watchdog

DeepSeek Harness Web 的常驻插件:当你的某个工作区/会话跑完一轮工作、报错,或者需要你输入时,浏览器标签页会给出提示——favicon 里的小鲸鱼(DeepSeek Harness 的 logo)会闪绿色或黄色,标签页标题显示待处理总数。

这是 Tab Watchdog 的「bundle」版本(常驻、可安装、可分享)。它最初是 Creator 模式下开发的动态插件。和动态插件不同,它能扛住 dsh 重启和浏览器刷新(F5)。

工作原理(架构)

和官方插件一样,一个 npm 包里装两半:

- 宿主半边(index.js)——profile 组合行(cordis.patch.yml + dsh.bundle.patch)。它让这个包成为 Loader 条目:正是这一行把浏览器半边拉进启动清单。这里没有业务逻辑。
- 浏览器半边(lib/client.js,通过 dsh.client + ./client 导出提供)——一个 window.__ModuleLoader__.load({ id, factory }) 格式的 bundle。它订阅转发到浏览器的宿主事件(ctx.remote.$on),其余全由它处理(状态、水位线、闪烁)。不给 harness 加任何 UI。

触发条件(什么会让它闪)

浏览器只能收到 dsh-api-remotes 白名单上的事件。watchdog 用到这些:

| 事件 | 级别 | 标签 |
| api-session/status(sessionId, running=false) | 🟢 绿鲸鱼 | 「跑完一轮工作」 |
| api-session/error(sessionId, message) | 🟡 黄鲸鱼 | 「出错了…」 |
| 待处理的 approval 交互 | 🟡 黄鲸鱼 | 「需要审批」 |
| 待处理的 question / plan-review 交互 | 🟡 黄鲸鱼 | 「在等你回复」 |

绿色/报错走转发过来的 emit 事件(ctx.remote.$on)。问题和审批的黄色不依赖 user-questions/request/approval/request 瀑布事件:这些事件是单消费者,官方 UI 的应答方按注册顺序抢占,而且转发过来的请求不带稳定的 session id。watchdog 改为轮询官方 UI 在等你时发布的状态:ctx.uiSession.pendingInteractions.getSnapshot()——一个 Map<sessionId, interaction>,kind ∈ approval | question | plan-review。轮询跑在现有的 1s tick 里;条目待处理期间会被反复重新 bump,交互清除后移除,所以你一回复,闪烁自己就停了。这样能覆盖应用里的每一个会话,不只是当前查看的那个。

注意:本版本的白名单里,workflow/end、agent/status、goal/changed 不转发到浏览器;要观察它们,得在宿主侧通过自定义通道做聚合(按设计不在范围内)。黄色路径依赖应用自己的待处理交互 UI(ui-approval/ui-user-questions)发布等待状态;如果第三方应答方抢占了请求、不走那个 UI,这个交互在浏览器里就看不到。

闪烁模型(水印)

- 事件只在页面打开时到达(即使页面在另一个浏览器标签页里也一样——这正是设计用途)。
- 新事件会保持「待处理」状态,直到你回到页面。
- 页面未获得焦点、且至少有一条待处理项时,favicon 鲸鱼会闪烁(与原始 favicon 交替显示),标题在 N · 和 之间交替,其中 N 是跨会话、跨层级的总待处理数。
- 鲸鱼颜色:只有已完成的轮次待处理时显示绿色;有任何错误/提问/审批时显示黄色;两类同时待处理时绿色↔黄色交替。
- 原始 favicon 在加载时捕获,回到页面时(或待处理清空时)总会恢复——不会永久改动任何东西。
- 你正聚焦时到达的事件会立即标记为已读(不会留下闪烁)。
- 会话重启时(running=true),它的待处理条目会被移除。
- 会话上的错误会把条目「冻结」为黄色:之后 running=false 也不会把它降级为绿色。

安装(本地 web 配置档)

在插件 checkout 目录下:

from the directory that contains dsh-tab-watchdog/
npx @deepseek-ai/dsh@latest plugin --profile web add ./dsh-tab-watchdog

然后重启 dsh web。浏览器端会在下次刷新/启动时生效。新增的行是配置档 cordis.yml 里的 tab-watchdog 条目。

移除:

npx @deepseek-ai/dsh@latest plugin --profile web remove dsh-tab-watchdog

dsh plugin 会在配置档内转发给 pnpm。如果没装 pnpm:corepack enable 或 npm i -g pnpm。

开发

浏览器端源码是 src/client.js(loader 工厂里的一个 CJS 片段)。lib/client.js 产物是提交进仓库的(git 安装时没有构建步骤)。

npm run build # regenerates lib/client.js from src/client.js
npm test # verify (bundle structure) + smoke (blink/watermark logic)

不需要 prepare/monorepo 工具链:树外插件用不了内部的 clientBundle 预设,所以 loader 格式是手工复刻的(scripts/build.mjs)。

与社区分享

包声明了 dsh.bundle.patch,所以会作为配置档 bundle 安装。因为 lib/client.js 和 index.js 是已提交的产物,git 安装无需 prepare:

npx @deepseek-ai/dsh@latest plugin --profile web add github:andreagosto/dsh-tab-watchdog

为了方便被发现,GitHub 仓库带了 dsh-plugin 话题(见官方 deepseek-harness README 的「Community and support」)。另一种方式:npm publish,然后 dsh plugin --profile web add dsh-tab-watchdog。

说明与限制

- 针对运行时 @deepseek-ai/dsh 0.1.2-rc.1 测试过(注意 rc 预发布版上的「breaking changes」提示)。
- 浏览器端这部分是照着已安装 bundle 里观察到的 API 手写的;结构由 npm test 校验,但请在你自己的配置档里实测确认。
- 没有设置命名空间:插件不会出现在 Settings → Plugins 里。要停用它,用 dsh plugin remove(或在配置档补丁里给对应行设 disabled: true)。

License

MIT
预览分享卡片长什么样 ↓andreagosto/dsh-tab-watchdog
分享 · DeepSeek Harness Hub
andreagosto/dsh-tab-watchdog

工作区完成或出错时闪烁标签页并显示待处理计数

这是你的仓库?认领条目

回到顶部