前言¶
在 DSH Web 的會話頁籤中,除了查看上下文和對話歷史,往往缺乏對時間維度的直接觀測。該插件在會話頁籤右側(dsh-context 的「上下文」之後)增加了一個「時間統計」tab。它通過讀取會話現有的三條通道(sessionStats、turnTimings、timeline),在本地進行摺疊計算,將本會話的掛鐘跨度、活躍與空閒狀態、每輪甘特圖以及每小時分佈可視化地呈現出來。所有數據均來自現有通道,不掃描磁盤、不讀緩存、無額外網絡請求。
核心功能¶
插件主要提供以下數據展示能力:
- 本會話概覽:展示輪次、步數、掛鐘跨度、活躍時長、空閒率及首條消息時間。
- 使用時間線(甘特圖):每輪一根條,空白處代表空閒時間。
- 每小時分佈:24 根柱狀圖,展示每個步驟開始時間落在哪個小時。
- 每輪用時排行:列出最久的 5 輪。
- 日曆(P2 功能):支持今日/本週/本月累計、近 12 周熱力圖、近 14 天柱狀圖及連續使用段統計。數據來源於宿主
usageDaily投影,跨會話求和。 - 會話(P2 功能):提供三種視圖——按工作區分組的縱向表(含行內比例條)、逐日活動帶(14 列)、主從雙欄(左欄清單,右欄詳情)。
安裝與啓用¶
該插件通過 DSH 生態目錄安裝。
* 目錄地址:https://www.skillhub.cn/plugins/CNyaotian-Lunar/dsh-usage-tab
* 倉庫地址:https://github.com/CNyaotian-Lunar/dsh-usage-tab
典型用法¶
- 添加 Tab:在 DSH Web 會話頁籤中添加「時間統計」tab。
- 配置界面:使用二級菜單切換概覽/日曆/會話/設置,並在設置中調整空閒閾值、時區或數據範圍。
- 驗證回填:運行
node tools/projcache-probe.mjs對比回填前後的數據覆蓋率。 - 查看數據:在日曆頁查看跨會話求和的今日/本週/本月數據,或在會話頁查看具體的工作區時間分佈。
適用場景與注意¶
- P1 與 P2 狀態:P1 狀態僅支持當前會話,數據全部來自現有通道;P2 功能(日曆、會話頁)需宿主半邊註冊
usageDaily投影單元,冷會話回填在啓動 5 秒後執行。 - 數據空態:當拿不到投影數據時,界面保持空態(值一律
—)。 - 清單限制:會話清單上限爲
SESSION_LIST_LIMIT = 40,超過該數量的會話在特定視圖下會被截斷。 - 重啓生效:宿主半邊 (
lib/index.mjs) 與客戶端半邊 (lib/client.js) 的改動均需重啓桌面版 App 才能生效。 - 依賴要求:依賴 DSH 版本 >= 0.1.0。
結語¶
該插件通過本地計算和投影數據讀取,爲 DSH 用戶提供了精細化的會話時間分析能力。對於需要監控開發效率或分析 AI 行爲模式的場景,它提供了直接的度量手段。