DeepSeek Harness (DSH) Web 客戶端自帶摺疊功能,但該功能僅在特定條件下生效:會話爲緊湊視圖、該輪有定稿答案、該輪已關閉且沒有更早的歷史(!historyIncomplete)。當會話超過兩三個來回或點擊“加載更早”時,該條件恆爲真,導致摺疊功能失效,界面變得冗長。
dsh-fold-it-up 插件接管了 conversation.chat.node 的渲染邏輯,不再依賴 store 快照,而是直接讀取 DOM 元素上的屬性(如 data-chat-turn、data-turn-process-member)來判斷摺疊狀態。它強制摺疊所有已完成輪次的工作過程,保留答案顯示。
插件信息¶
- 名稱: dsh-fold-it-up
- 類別: 客戶端插件
- 作者: gurio-wine
- 許可證: MIT
- 核心功能:
- 強制摺疊已完成輪次的工作過程。
- 支持歷史會話及“加載更早”頁面的自動摺疊。
- 自動歸類並摺疊上下文注入行(如
@deepseek-ai/dsh-system-prompt)。 - 處理報錯、觸頂或無答案的輪次。
安裝與啓用¶
本插件無任何依賴,直接使用生成物。
- 克隆倉庫到本地任意目錄:
git clone https://github.com/gurio-wine/dsh-fold-it-up.git
- 裝入 Web profile(
web爲默認配置名):
dsh plugin --profile web add <clone下來的目錄>
- 刷新頁面生效。
典型用法¶
- 打開任意會話(包括歷史會話和點擊“加載更早”後的頁面),所有已結束的輪次會自動摺疊成一行。
- 點擊摺疊行可展開或收起。
- 使用瀏覽器搜索(Ctrl+F)可以找到並展開摺疊的內容。
適用場景與注意事項¶
- 適用場景: 長會話開發調試、需要快速瀏覽上下文摘要的場景。
- 依賴環境: 需要運行 DSH 的環境滿足 Node.js >= 22.12.0。
- 無構建步驟: 無需任何構建工具鏈,
client.js等生成物已入庫。 - 狀態持久化: 摺疊的展開狀態不持久化,刷新頁面後會重置爲摺疊狀態。
- 樣式複用: 使用官方產品自帶的摺疊行樣式,不引入額外 CSS。
總結¶
dsh-fold-it-up 通過影子渲染技術修復了 DSH 官方摺疊功能在長會話和加載歷史時的失效問題,通過簡單的安裝即可獲得整潔的對話界面。