dsh-tab-watchdog:DeepSeek Harness Web 浏览器标签页状态监听插件

前言

在使用 DeepSeek Harness Web 进行智能体开发或工作流编排时,开发者经常需要频繁切换标签页来检查工作区是否完成、是否报错,或者等待审批与提问。dsh-tab-watchdog 作为一个持久化插件,解决了这一痛点。它通过在浏览器标签页标题和图标上显示视觉反馈,让开发者无需切换页面即可掌握工作区状态。

插件定位

这是一个针对 DeepSeek Harness Web 的客户端插件,由开发者 andreagosto 维护。它将原本动态插件的逻辑打包为持久化 bundle,能够随 DSH 进程启动并保持运行。

核心功能

  1. 待处理计数显示:在浏览器标签页标题中显示当前的待处理项目总数。
  2. 视觉闪烁提示:当有状态变化时,标签页标题和图标会闪烁绿色或黄色。
  3. 持久化运行:插件支持 DSH 重启和浏览器刷新(F5),无需重新激活。
  4. 多事件监听:监听工作完成(绿色)、报错、审批和提问事件。
  5. Favicon 状态提示:利用 Favicon(鲸鱼图标)提示状态变化,不破坏原有图标。

安装与启用

该插件通过 npm 包管理。安装前请确保已安装 pnpm,或者 dsh plugin 命令会自动处理。

在包含 dsh-tab-watchdog 目录的终端中执行:

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

安装完成后,需要重启 dsh web 以激活浏览器端的逻辑。

移除插件:

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

工作原理

插件采用双半结构,与官方插件保持一致:

  • Host 半 (index.js):负责将插件注册为 Loader 条目,通过 cordis.patch.yml 和 dsh.bundle.patch 配置,将浏览器端代码引入启动清单。
  • Browser 半 (lib/client.js):通过 window.__ModuleLoader__ 格式加载,订阅 Host 转发的事件并处理状态逻辑。

触发逻辑:

  • 绿色:当 api-session/status(sessionId, running=false) 触发,表示工作区完成一轮工作。
  • 黄色:当出现 api-session/error、待审批或待回答(提问/计划审查)时触发。
    • 注意:对于审批和提问,黄色闪烁不依赖特定的转发事件,而是轮询应用自身的 uiSession.pendingInteractions.getSnapshot() 状态。
  • 颜色交替:当同时存在“仅完成”和“待处理”状态时,绿色与黄色会交替闪烁。

Favicon 逻辑:
插件会在加载时捕获原始鲸鱼图标。当页面未聚焦且有待处理项目时,原始图标与绿色/黄色图标交替显示,直到用户回到页面或待处理项目清零。

注意事项

  1. 无设置界面:该插件不提供 Web 设置页面,如需禁用,请使用 dsh plugin remove 命令或在配置文件中设置 disabled: true。
  2. 浏览器端限制:浏览器端仅在页面打开时接收事件。如果页面未打开,新事件会被记录为“待处理”,直到用户返回页面。
  3. 错误状态冻结:如果一个会话报错,其状态会冻结在黄色。即使后续该会话状态变为 running=true(重启),错误状态也不会自动降级为绿色。
  4. 版本兼容性:当前测试版本为 @deepseek-ai/dsh 0.1.2-rc.1。

链接

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

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

小夜