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
羽毛球分组比赛记分
小程序二维码

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

小夜