前言¶
在 DeepSeek Harness(DSH)裏跑長對話或複雜工具鏈時,上下文窗口會悄悄漲滿,同一工具也可能連續報錯;任務卡在「進行中」卻看不到量化依據,往往只能翻日誌或憑感覺判斷。社區插件 dsh-session-health(維護者 kingrenqi-wq)在界面右下角提供一張只讀懸浮卡片:展示最近一次請求的上下文佔用比例,並在「同類工具連續失敗」或「任務長時間無終態」時用黃邊與文案提示;點開可看證據面板,數字均來自本機會話日誌,不聯網、不寫文件。
這是什麼¶
dsh-session-health 是 DSH 的客戶端插件(package.json 中 dsh.client.platform 爲 web)。它掛載在 DSH 的 shell.overlay 插槽,依賴 useSessions 等宿主 hook,讀取 ~/.dsh/sessions/**/session.v4.jsonl.zstd,重建會話視圖並計算狀態。它不評判任務對錯、不預測耗時、不主動停止或重試、不觸發壓縮,也不顯示餘額/花費(避免與專門插件重複)。
卡片上顯示什麼¶
正常時卡片展示類似 上下文 31%,表示最近一次請求輸入側佔窗口的比例(口徑:totalTokens − outputTokens / contextWindow)。上下文 ≥50% 時數字呈琥珀色,≥65% 呈紅色(僅改顏色,不加額外文字;自動壓縮多在 65–70% 附近觸發,具體隨模型與配置變化)。
| 狀態 | 表現 | 說明 |
|---|---|---|
| 採樣超過 90 秒 | 數字 60% 透明度 | 數據變舊,不清零 |
| 壓縮中 | 更新中 + 壓縮進行中 |
壓縮期間不沿用舊快照 |
| 壓縮結束/換模型 | 等待下一次請求 |
舊快照失效 |
| 同類失敗 ≥2 次 | 黃邊 + 同類失敗 ×2 |
同一工具、同一錯誤類別,跨目標合併 |
| 任務 >300 秒無終態 | 任務狀態待確認 |
不判斷任務是否仍存活;該輪結束即退場 |
| 記錄解析失敗 | 末行 記錄不完整 |
中間記錄讀不出時歷史可能缺項 |
失敗判定只認結構化信號:tool/result.data.error;shell 工具另按結尾 [exit code: N] 計;aborted 不算失敗。長任務提示僅在 300 秒~30 分鐘窗口內出現,超過 30 分鐘無新證據則退場進歷史。
證據面板與交互¶
點擊卡片打開證據面板,可查看來源採樣時間、失敗工具/類別/條數/目標、seq 區間,以及最近 3 條已結束提示(含結束原因)。「最近記錄」由日誌重建,攜帶整段會話歷史;標題右側 清除 僅在本地隱藏此前條目,不改日誌,換會話互不影響。
使用方式(來自 README):
- 卡片默認在右下角,拖動可改位置,位置保存在
localStorage - 點擊打開面板,
Esc或點外部關閉 - 鍵盤:
Tab聚焦,Enter/Space打開
安裝與啓用¶
在 DSH 側欄 插件 → 添加插件,輸入下列任一形式:
# npm(發佈後)
dsh-session-health
# Git
https://github.com/kingrenqi-wq/dsh-session-health
# 本地目錄
/絕對/路徑/dsh-session-health
裝完後點 立即啓用。若安裝的是鏈接目錄,改客戶端代碼後刷新頁面即可;若改宿主側 index.js,需重啓 DSH。
當前 package 版本爲 1.3.0(以倉庫 package.json 爲準),許可 MIT。Node 引擎要求 >=22.13.0(需支持 zstd 解壓會話文件)。
適用場景與注意¶
適合需要在 DSH 界面裏持續觀察上下文佔用、並在工具反覆失敗或任務長時間無終態時快速對照本地證據的開發者。插件以當前 DSH 進程/瀏覽器上下文運行,安裝前應自行審閱 GitHub 源碼 與許可證;只讀本地會話,但仍會讀取 ~/.dsh/sessions 下 v4 格式日誌。
已知限制(README 與 PRD):宿主重啓、時鐘跳變、多窗口、超時合併、分頁等場景未充分驗證;DSH 升級後若 shell.overlay 或 useSessions 變更,卡片可能消失但不影響 DSH 本體;僅支持會話 v4,格式變化會退化爲不可用而非崩潰。倉庫含 91 條行爲斷言與只讀審計測試,可在克隆後的開發環境中按 README 運行 tools/session-health-*.test.mjs 驗證規則(測試通過 DSH_SESSION_HEALTH_ROOT 指向臨時目錄,不碰真實會話)。
結尾¶
dsh-session-health 把「上下文還剩多少、同類失敗是否堆疊、任務是否久無終態」收斂到一張本地只讀卡片,需要細節時再打開證據面板,避免在長會話裏盲翻日誌。目錄與說明見 SkillHub 插件頁,源碼與完整狀態表見 GitHub:kingrenqi-wq/dsh-session-health。