dsh-tui-workspace-sidebar:dsh-TUI 按工作區收件箱側邊欄

前言

在 dsh-TUI 裏同時掛着多個工作區、後臺還有 agent 在跑回合時,主界面往往只反映「當前附着」的那條會話。切到別的項目再回來,容易漏掉已經跑完但未讀的回合,或者不知道哪條會話在等 ask_user_question。宿主自帶的多會話能力夠用,但缺少一個始終可見、按工作區聚合的「收件箱」視圖。

下面介紹社區插件 dsh-tui-workspace-sidebar(維護者 Ding-Kyoma):在 dsh-TUI 右側增加輕量面板,按項目列出運行中、未讀、待回答與近期已讀會話,並支持一鍵跳轉。插件已發佈爲 npm 包 dsh-tui-workspace-sidebar@0.1.2,基於 dsh-TUI 0.17.0,只使用公開的宿主接縫,不是 dsh-TUI 官方組件。

這是什麼

dsh-tui-workspace-sidebar 是 DeepSeek Harness 生態下的 客戶端 類插件(分類見 SkillHub 目錄頁)。它回答一個問題:什麼正在運行、你沒看的時候什麼已經結束、以及你當前在哪裏?

實現上採用普通側邊面板標籤頁(非全屏視圖):按工作區分組,每個會話一行,懸停高亮,點擊跳轉;項目狀態圖標後的 + 可在該工作區啓動新會話。

核心功能

面板覆蓋當前 TUI 進程中所有活躍工作區,將會話分爲四類(資料以 GitHub README 爲準):

  1. 運行中 — agent 處於回合內;行與項目計數使用聊天自帶的盲文 spinner(80ms 一幀)。處於計劃模式(dsh-plan-mode 寫入的 plan/mode)的行用主題計劃色旋轉。
  2. 已結束但未讀 — 你在其他會話時某回合結束;行顯示 ●(失敗爲 ✕),最初幾秒加粗。
  3. 等待你的回答 — 調用了 ask_user_question 或 exit_plan_mode;綠色 ● 加 待回答 後綴。後臺會話在宿主返回 NO_PROVIDER 時,插件可擱置問題並在收件箱點擊後再投遞(relayQuestions,默認開啓)。
  4. 已結束且已讀 — 跳轉或按 m 標記已讀後行保留爲暗色 ✓,每個項目默認最多展示 10 條已讀(隨面板高度可下調,下限爲每項目 3 條)。

排序與保留:項目內優先未讀與待回答,再運行中,再已讀;空閒超過 7 天(默認 retentionHours: 168)的已結束會話會被清掃。當前附着的會話始終列出並用 ❯ 或色調標題標識。

標題欄彙總運行與未讀數量(圖標爲主)。面板還支持 /ws 命令與可配置的 alt+w 快捷鍵打開側邊欄;標籤頁顯示爲 ▣ 收件箱 或 ▣ Inbox。

界面示意(README 中的 ASCII 示例):

 2 運行 · ● 2 未讀
▸ dsh-plugins ⠋ ● +
  ● 後臺計劃                  待回答
  ● 重寫 README               5 分鐘前
  ⠋ 給補丁跑個驗證            2 分鐘前
❯ ✓ 修復登錄頁樣式            剛剛
↑↓ 選擇 · Enter 跳轉 · n 新建 · m 已讀 · r 刷新

安裝與啓用

環境要求:Node.js ^22.19 || >=24,dsh-TUI 0.17.0。

官方 npm 安裝命令如下(勿與 github:owner/repo 形式混用):

dsh plugin --profile dsh-tui add dsh-tui-workspace-sidebar

安裝後需重啓 TUI(已在運行的進程不會加載新 bundle)。若曾鏈接舊版 @local/dsh-tui-workspace-sidebar 檢出,應先移除再添加本包,避免重複的 panel/scene id。

打開方式:Ctrl+B 打開側邊欄,[ / ] 切換面板,/panel 也會列出該面板;亦可 /ws 或默認快捷鍵 alt+w(可在配置中設爲 shortcut: off 關閉)。

卸載:

dsh plugin --profile dsh-tui remove dsh-tui-workspace-sidebar

移除插件不會刪除 ~/.dsh-tui/workspace-sidebar.json 中的本地狀態,需自行刪除該文件若希望清空歷史。

典型用法

面板獲得焦點時,常用鍵位如下:

輸入 操作
↑ / ↓ 移動選中項
Enter 跳轉到選中會話
n 在選中行所在工作區新建會話
m 將選中的已結束行標記爲已讀(保留行,變暗)
r 刷新 agent 名冊與工作區標題
點擊行 跳轉到對應工作區與會話
點擊項目 + 在該工作區新建會話

跳轉通過註冊的小型過渡場景完成(面板無法直接調用 channel.resumeTo),成功後會標記已讀但行仍保留,便於返回上一會話。

配置寫在 profile 的 cordis.patch.yml 中對應插件行(行補丁會替換整個 config,需寫出需要的每個鍵):

- id: workspace-sidebar
  config:
    lang: auto                                  # auto | zh | en
    stateFile: ~/.dsh-tui/workspace-sidebar.json
    shortcut: alt+w                             # off disables it
    retentionHours: 168                         # 7 days; 0 = drop a row as soon as it is read
    relayQuestions: true                        # false disables parking background questions

lang 默認 auto 時跟隨 dsh-TUI 的 /lang;也可固定 lang: zh 或 lang: en。retentionHours 支持小數,上限 720(30 天)。

適用場景與注意

適合誰: 經常在 dsh-TUI 裏並行多個工作區、依賴後臺 agent 或需要掃一眼未讀/待回答會話的開發者。

權限與信任: 與所有 dsh-TUI 插件一樣,代碼在進程內以與 TUI 相同的權限運行,沒有沙箱。安裝前應閱讀源碼與 MIT 許可證,並知悉插件會讀寫本地文件(如 ~/.dsh-tui/workspace-sidebar.json,含會話 id、標題、cwd 與時間戳;不存儲消息內容、不發起網絡請求)。

其他限制(摘要): 名冊僅限同一 TUI 進程;被擱置的後臺問題需通過收件箱點擊釋放;在 macOS 上開發與測試,Linux 預期可用,Windows 尚未測試。不要以不同名稱安裝兩份副本。

DSH 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-tui-workspace-sidebar 把多工作區會話收成右側收件箱:運行、未讀、待回答與近期已讀一目瞭然,並配合跳轉與新建會話。若你在用 dsh-TUI 0.17.0,可按上文命令安裝並在重啓後打開 ▣ 收件箱 面板。

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

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

小夜