dsh-topbar:在 GNOME 顶栏显示 DSH 会话状态

前言

用 DeepSeek Harness(DSH)同时开多个会话时,任务是否在跑、是否跑完、是否在等你审批或回复,通常要切回浏览器侧栏逐个看。桌面在别的窗口时,这种「回头才发现已经黄了」的情况很常见。下面介绍社区插件 dsh-topbar(维护者 WelY1,分类:客户端):把每个顶层会话的运行状态推成 GNOME 顶栏上的小色块,和时钟区域并排,不必一直盯着 DSH 标签页。

这是什么

dsh-topbar 是 DSH 的客户端插件,英文简介为「Per-session status chips in the GNOME top bar for DeepSeek Harness」。插件由 DSH 侧上报会话与 UI 状态,并幂等安装、启用配套的 GNOME Shell 扩展;扩展在顶栏渲染色块。支持 GNOME 3.36~48,安装时会根据 gnome-shell --version 选择对应扩展变体。npm 包名 dsh-topbar,当前资料中的最新版本为 v0.5.3,许可证 MIT。插件声明的 DSH 引擎要求为 >= 0.1.1-rc.1,README 中逐版标注兼容至 0.2.0-rc.2。

社区目录页:skillhub.cn/plugins/WelY1/dsh-topbar。源码与说明:github.com/WelY1/dsh-topbar。DSH 生态以「一切皆插件」为思路;SkillHub 等目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

三态色块

顶栏每个顶层会话对应一块,颜色含义如下(资料中的色值与判定依据):

颜色 含义 判定依据
灰 #8a8a8a 运行中 sessionStatus.running ?? SessionSummary.running
绿 #3fa34d 已完成、未点开确认 sessionStatus.completionUnread === true
黄 #e0a819 等待回复或审批 host 侧 approval/request 与 user-questions/request

错误态(红)在资料中标注为未实现。绿块对应侧栏「跑完但未读」的绿点,不是「空闲」;点开会话或会话再次运行后绿块会消失。审批、提问、计划评审等需要你的情况统一标黄;黄色在 waterfall resolve 后不会立刻清掉,而是按可配置的 dwell 保持,避免人离开桌面时错过提醒。

多标签与子智能体

同时打开多个 DSH 页面时,插件按「等待 > 运行 > 完成」对状态取并集,减少互相覆盖导致的闪烁或黄标丢失。子智能体(origin === 'subagent')自身不出色块;默认 上卷 到所属顶层会话,子智能体运行时祖先链上的顶层块保持灰色。分叉对话(isSeeded 且 origin 缺省)与顶层会话一样正常出块——资料强调不能用 parentId 单独区分子智能体,否则会误丢分叉会话。

配置与点击

配置不在 DSH 全局「设置」里,而在 侧边栏 → 插件 → 已安装 → dsh-topbar → 查看。保存后写入 profile 的 cordis.patch.yml 中 id: topbar 的 config:,约 1 秒内随推送生效。可调字号、标题宽度、最大色块数(1~12,默认 8)、极简模式、各状态是否显示、子智能体上卷/隐藏、点击行为(无 / 打开网页 / ?open=<会话ID> 深链)、提醒保持秒数(默认 90,-1 为常驻)等。可选 topbar_status 工具查看上报状态、推送计数与扩展自装结果。

DSH 启动时会将 GNOME 扩展同步到 ~/.local/share/gnome-shell/extensions/(无需 sudo),并在运行中的 Shell 里尝试启用;X11 下在特定失败场景可能兜底重载 Shell。

安装与启用

前置(来自 README):已安装 DSH(dsh web 可用)、Node.js ≥ 20、Ubuntu 20.04 / GNOME 3.36、系统存在 /usr/bin/gdbus。

推荐通过 npm 安装:

dsh plugin --profile web add dsh-topbar

装完后在浏览器对 DSH 页面 硬刷新(Ctrl+F5)。扩展半部由插件自动部署并启用;若顶栏无色块,可在会话里让智能体调用 topbar_status,查看输出中的 extInstall 等字段。

无 npm 网络时,可使用离线 bundle:tar xzf dsh-topbar-<版本>-bundle.tar.gz 后执行 PROFILE_DIR=~/.dsh/profiles/<名字> ./install.sh register,再重启 DSH 并硬刷新浏览器。

典型用法

  1. 按上文命令安装插件并硬刷新浏览器,确认 GNOME 顶栏出现时钟附近的色块。
  2. 并行跑多个会话:灰色表示仍在执行,绿色表示完成但未读,黄色表示需要你审批或回答。
  3. 在插件详情页保存配置,例如将「点击色块」设为跳转到对应会话,并留空网页地址以自动使用本机 DSH 地址。
  4. 顶栏异常时,在任意 DSH 会话中请求查看 topbar_status 工具的输出,对照推送与扩展启用状态排查。

适用场景与注意

适合:在 Ubuntu / GNOME 桌面上长期使用 DSH web 客户端、需要一眼看到多会话运行与待办提醒的开发者。

注意:

  • 插件以当前 dsh 进程 的权限运行,并会向用户目录安装 GNOME 扩展;安装前应阅读 GitHub 仓库 源码与 MIT 许可证,自行评估信任边界。
  • 从 DSH 0.2.0-rc.2 起,SessionSummary.completed 等契约有变更;插件 v0.4.8+ 已迁移。旧版写在 settings.yaml 里 dsh-topbar: 的配置不会自动迁移到新区块 topbar,升级后需在插件页重新保存。
  • 平台差异主要在 GNOME 版本与 Wayland/X11;自动重载 Shell 的兜底行为资料中说明主要限于 X11。

结尾

dsh-topbar 把 DSH 各会话的运行、未读完成与待你处理三类状态搬到 GNOME 顶栏,并自带扩展安装与可配置提醒,适合不想反复切浏览器查侧栏的场景。

  • 目录页:https://www.skillhub.cn/plugins/WelY1/dsh-topbar
  • GitHub:https://github.com/WelY1/dsh-topbar
羽毛球分组比赛记分
小程序二维码

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

Xiaoye