dsh-brief-sidebar:將 DSH 會話簡報渲染爲右側欄

前言

在 DSH 開發流程中,會話簡報通常包含任務進展和產出物信息,但默認狀態下這些信息分散或難以集中查看。dsh-brief-sidebar 插件解決了這個問題,它作爲一個 dsh-better-sidebar 的消費方,將簡報內容以“概要”標籤的形式渲染在右側邊欄,並遮蔽官方的 todo 面板,使其成爲任務進度的唯一可見載體。

核心功能

  1. 右側欄概要標籤:將會話簡報渲染爲右側邊欄內的一個摘要標籤頁。
  2. 雙列表展示:
    - 進展看板:展示 todos 投影的任務進度,包含三態與摘要。
    - 產物列表:展示 dshSummaryDeliverables 投影的產出物,實時顯示成功寫入的文件,codeplan 規劃產物會有“規劃”標籤。
  3. 遮蔽官方面板:當 better-sidebar 激活時,該插件會通過註冊優先級競爭,遮蔽官方 composer-band 頂部的 todo 面板。
  4. 只讀模式:僅提供展示,不支持編輯、寫回或多會話聚合。

安裝

安裝前請確保 DSH 版本在 0.2.0 線上(engines.dsh >=0.2.0-rc.1)。

dsh plugin --profile web add dsh-brief-sidebar@dsh-0.2.0

安裝後刷新頁面即可生效。

使用方法

  1. 安裝完成後,右側邊欄會出現“概要”標籤頁。
  2. 在“概要”標籤頁中查看當前會話的任務進展和產出物列表。
  3. 點擊產物列表中的文件路徑,會通過 ctx.sidebarRight.openResource 在側邊欄中打開對應資源。

設計要點

  • 數據鏈路:插件不依賴框架的 useProjection,而是直接通過 ctx.get('sessions') 獲取 SessionBinding 和投影面(ProjectionsFace),分別解析 todos 和 dshSummaryDeliverables。
  • 遮蔽邏輯:利用 SlotCore 的註冊機制,以 priority: -1 註冊 id: 'todo' 的條目,使其優先級高於官方默認的 order: 0,從而在 better-sidebar 激活時實現遮蔽。
  • 產物摺疊:產物列表的摺疊口徑與官方 turn-deliverables 保持一致,僅統計成功寫入(write/edit/str_replace_editor)的文件,去重並忽略失敗項。
  • 點擊打開:產物路徑點擊後,走與對話流同一條 Sidebar 預覽通道(fileAddressFor),支持相對路徑和絕對路徑。

限制與注意事項

  • 只讀限制:插件不做任何編輯或寫回操作,也不復制第三方渲染層,確保數據流向單一。
  • 兼容性:僅支持 DSH 0.2.0 線。在 0.1.x 線上,如果 better-sidebar 未激活,該插件處於 inert 狀態(不渲染標籤,不報錯)。
  • 記憶分區:簡報的第三個分區“記憶召回”目前僅預留佈局插槽,處於規劃中,本期不渲染。

總結

dsh-brief-sidebar 爲 DSH 會話提供了一個清晰的、只讀的概覽視圖。通過將任務看板和產物列表集中在右側欄,開發者可以更直觀地追蹤會話進展和產出物,而無需在官方面板和簡報之間切換。

  • 倉庫地址:https://github.com/drscrewdriver/dsh-brief-sidebar
  • 目錄頁:https://www.skillhub.cn/plugins/drscrewdriver/dsh-brief-sidebar
羽毛球分组比赛记分
小程序二维码

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

小夜