dsh-codex-sidebar:DSH 側欄消息視圖與按日期分段

前言

在 DSH(DeepSeek Harness)裏,側欄默認按工作區分組展示會話。會話一多,要找「昨天聊過的那條」或「正在跑的任務」往往要在多個分組裏來回點。宿主自帶的扁平列表可以按時間排序,但缺少按「今天 / 昨天 / 星期幾 / 更早」分段的可讀結構,也不容易一眼看到某條會話的最新消息摘要。

下面介紹的是社區插件 dsh-codex-sidebar(維護者 mengzhongjie):在側欄提供可選的「消息視圖」,把全部工作區與未分組會話按優先級與日期重新分段,並用頂行鈴鐺在工作區視圖與消息視圖之間切換。它是獨立客戶端插件,不依賴特定主題;與 dsh-claude-style 等主題共存時,由 README 中描述的讓位規則決定列表與鈴鐺由誰負責。

這是什麼

dsh-codex-sidebar 是 DSH 左側欄的「消息視圖」插件:側欄裏的全部會話按 優先級 / 昨天 / 星期X / 更早 重新分段排列,工作區行收起來,頂行保留一顆鈴鐺負責切換視圖。

插件以當前 DSH 進程的權限在客戶端注入邏輯;安裝前建議自行查看源碼與 LICENSE,確認符合你的使用環境。

核心功能

按日期分段與優先級

進入消息視圖後,插件會把宿主側欄切到扁平分組,再按會話更新時間分桶,並在段落之間插入標題。今天這一段的第一段標題叫「優先級」:正在運行的會話強制排在最前一段並置頂,今天更新的會話跟在後面,避免當前在看的會話被埋進「更早」。

段落標題隨宿主界面語言(中文 / 英文)變化;宿主語言晚就緒或中途切換時會跟上。

兩行式會話行與工作區標籤

每一行顯示會話標題,以及該會話最新消息的一條預覽(預覽會先去掉常見 markdown 記號)。懸停時標題可橫向滾動,預覽行保持不動。扁平列表不再有分組標題,每行右側補一個工作區名標籤;未分組會話顯示「未分組」。消息視圖覆蓋全部工作區與未分組會話,不再有「屏蔽工作區」類過濾。

鈴鐺開關與默認行爲

工作區行右側有一顆鈴鐺,用於在工作區視圖與消息視圖之間切換。開着消息視圖時常亮;有會話在跑時鈴鐺上會出現一個小綠點(不顯示數字)。裝好後側欄默認仍是宿主原本的工作區視圖,只有按下鈴鐺才進入消息視圖;選擇寫入本地存儲,下次啓動沿用。

佈局與滾動

消息視圖裏列表寬度固定,橫向滾動條關閉,放不下的標題與預覽用省略號截斷;縱向滾動不受影響。退出消息視圖時會還原宿主原來的 overflow 設置。

與 dsh-claude-style 的共存

主題 dsh-claude-style 若已去掉內置的日期分組與頂行鈴鐺,則列表與鈴鐺由本插件獨佔。若主題仍自帶日期視圖(例如 body 上有 data-dsh-claude-date-groups,或頁面上仍存在主題鈴鐺),本插件會讓位,由主題的日期視圖負責列表;具體判定見倉庫 src/coexist.js 中的 themeHasDateView()。

安裝與啓用

需要 DSH ≥ 0.2.0,且 pnpm 在 PATH 中(桌面 App 的運行時自帶一份,README 末尾給出了包裝腳本示例)。

官方從 GitHub 安裝並登記到 profile bundle 的命令如下:

dsh plugin --profile <profile> add github:mengzhongjie/dsh-codex-sidebar

dsh plugin 裝完依賴後會自動把包寫進 profile 的 dsh.profile.bundles;插件自帶的 cordis.patch.yml 隨 bundle 生效,無需手工改配置。裝完後需要重啓宿主。桌面 App 關窗不會退出進程,需用 Cmd+Q 完全退出後再開。桌面 App 自管的 profile(例如 desktop)同樣使用上述命令。

在倉庫目錄中開發、要從本地路徑安裝時:

node scripts/install.mjs --profile codexprobe                  # 裝
node scripts/install.mjs --profile codexprobe --uninstall      # 卸

腳本會把 link:<本目錄> 寫入 profile 的 dependencies、把包名加入 dsh.profile.bundles,並在 node_modules 下建立符號鏈接;同樣需要重啓宿主後生效。

典型用法

  1. 按上一節命令爲指定 profile 安裝插件並重啓 DSH。
  2. 打開側欄,確認仍處於默認的工作區視圖(按工作區分組的列表)。
  3. 在工作區行右側找到鈴鐺,單擊進入消息視圖:列表變爲按「優先級 / 昨天 / 星期X / 更早」分段,會話行爲標題 + 最新消息預覽。
  4. 再次單擊鈴鐺,回到工作區視圖。

持久化只使用 localStorage 鍵 dsh-codex-sidebar.settings:

鍵 類型 默認 作用
dateViewEnabled boolean false 是否處在消息視圖;按鈴鐺會改寫它

進入消息視圖時,宿主原來的分組方式會備份到 dsh-codex-sidebar.group-before-date-view。若上次異常退出留下扁平狀態,下次啓動在備份仍在且當前仍爲 flat 時會自動還原。

適用場景與注意

適合誰: 經常在多個工作區之間切換、又希望按「最近幾天」瀏覽全部會話的 DSH 用戶;需要一眼看到會話最新消息預覽、而不是隻在分組標題下找標題時,消息視圖更直觀。

應注意:

  • 實現依賴宿主側欄的私有 DOM 約定(如 data-row-key、flatList 容器等)。宿主大版本改版可能導致失效;選擇器集中在 src/constants.js 與 src/sidebar-dom.js,便於跟進修復。
  • 桌面 App 沒有窗口級縮放的對外通道;本插件不提供頁面縮放(那是主題類插件的能力)。
  • 插件與宿主、其他 bundle 同進程運行;安裝第三方插件前請閱讀源碼與 MIT 許可證,並只在可信來源使用官方文檔中的安裝命令。
  • 若把 dsh-claude-style 還原成仍帶日期視圖的舊版本,本插件會重新讓位,列表由主題的日期視圖負責。

結尾

dsh-codex-sidebar 把 DSH 側欄補成可選的消息視圖:全部會話按優先級與日期分段、兩行預覽、鈴鐺切換,且默認不接管側欄,避免打斷原有工作區習慣。需要安裝說明與共存細節時,以倉庫 README 爲準。

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

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

小夜