用 dsh-archived-conversations 在 DeepSeek Harness 設置頁管理歸檔會話

前言

DeepSeek Harness(簡稱 dsh)是 DeepSeek 開源的 Agent 運行時,官方倉庫把設計原則寫成一句話:一切皆插件(Everything is a Plugin)。模型適配、工具、會話日誌、Web 界面都可以按 profile 組合,社區也可以再往上疊一層能力。本文介紹的不是官方應用商店裏的條目,而是社區目錄站點收錄的一款插件;該目錄與 DeepSeek / 幻方沒有官方從屬關係,安裝前需要自己覈對倉庫和許可證。

日常用 Web 界面時,側邊欄會話行菜單裏有「歸檔」。點下去之後,會話會從列表裏消失,進入工作區註冊表裏的歸檔集合。數據還在,只是默認界面不再展示。如果之後還想翻回完整對話、把會話恢復到側邊欄,或者連本機日誌一起清掉,就需要額外的入口。dsh-archived-conversations 做的就是這件事。

這是什麼

dsh-archived-conversations 是一款面向 DSH Web(Cordis)的組合插件,由 hxyz486 維護,MIT 許可。社區目錄把它歸在「會話與消息」分類。倉庫界面名稱是「歸檔對話查看」(archived-conversation-viewer),當前 package.json 裏的包名爲 dsh-hxyz-archived-conversations,版本 0.1.2,並聲明瀏覽器半身只用於 web 平臺。截至 2026-08-18,目錄頁與 GitHub 倉庫均顯示 6 顆星;目錄頁記錄最近一次推送時間爲 2026-08-14。

它解決的問題很具體:在設置頁列出已經歸檔的會話,按工作區分組,支持展開對話全文、一鍵恢復,以及徹底刪除。插件註冊在 profile 的組合配置裏,所以刷新頁面、重啓 dsh 之後,這個入口仍然在。

核心功能

根據倉庫 README 和源碼(index.js / client.js),當前已覈實的能力如下。

1、查看歸檔會話
側邊欄會話行菜單選擇「歸檔」後,會話從側邊欄消失,進入歸檔集合。設置頁的「歸檔會話」面板會按工作區把這些會話列出來;不屬於任何工作區的條目歸入「未分組」。每條顯示標題(沒有標題則回退到會話 id)和創建時間。若會話頭已經讀不到,行上會標「日誌已丟失」。

2、按工作區分組與摺疊
每個工作區是一組,組頭顯示標題、路徑和數量。可以單獨展開或收起,也可以用「全部展開 / 全部收起」。列表區域限制高度並允許上下滾動,方便歸檔數量較多時瀏覽。面板上還有「刷新」。

3、查看對話全文
點擊會話行會向宿主請求該會話的日誌,展開用戶 / 助手 / 工具消息。宿主半身通過 sessionQuery.readSession 讀取事件,把文本、思考、圖片、工具調用和工具結果轉成可展示的純文本;只對仍在歸檔集合中的 sessionId 響應。

4、恢復
把會話 id 從歸檔集合裏移出,並嘗試按會話的工作目錄(cwd)重新掛回原來的工作區。成功後會話會重新出現在側邊欄。如果本機日誌已經不在,恢復會失敗,源碼會提示改用「刪除」清理殘留的歸檔記錄。

5、徹底刪除
刪除不是隻改一個標記。宿主會先嚐試刪除本機會話日誌目錄(README 寫明對應 session.jsonl.zstd 所在目錄),成功後再清掉歸檔記錄和工作區分組歸屬。界面上要點兩次:第一次按鈕文案是「刪除」,第二次變成「確認刪除?」。這是不可恢復的操作。

安裝與啓用

目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行即可。不要憑倉庫名自行拼接:

dsh plugin add github:hxyz486/dsh-archived-conversations

dsh CLI 會從 GitHub 解析插件並安裝到當前配置。該插件聲明瞭 Web 客戶端,應裝進會啓動 Web UI 的 profile(常見是 web)。若當前終端並不指向 web profile,可以按官方文檔的寫法顯式指定:

dsh plugin --profile web add github:hxyz486/dsh-archived-conversations

目錄頁建議可復現安裝時固定 commit 哈希。本文覈實到倉庫 master 在 2026-08-14 的提交爲 09a9198f735a333ab57866522fde4cf8ddd4bb52,對應寫法是:

dsh plugin add github:hxyz486/dsh-archived-conversations#09a9198f735a333ab57866522fde4cf8ddd4bb52

倉庫 README 還記錄了一種手工安裝:把插件目錄 junction / 複製到 profile 的 node_modules,再在 cordis.patch.yml 裏插入插件 id,然後用 --profile web 重啓。需要注意,README 示例裏的 id 仍寫作 archived-conversation-viewer,而當前包名已經改爲 dsh-hxyz-archived-conversations。優先用目錄頁的 dsh plugin add;若走手工路徑,安裝後以設置頁實際出現的插件卡片爲準,不要只對照 README 裏的舊 id。

啓用後的確認位置:

  • 設置 → 插件 → 全部:應能看到「歸檔對話查看」卡片(源碼裏的 settings.plugin.item)。
  • 設置左下角齒輪 → 歸檔會話:這是管理界面(settings.section,label 爲「歸檔會話」)。

典型用法

下面的步驟來自 README 的「使用入口」和客戶端實現,可以在本機復現。

1、在側邊欄找到一條暫時不用的會話,打開行菜單,選擇「歸檔」。該會話從列表消失。

2、打開設置,進入「歸檔會話」。面板標題旁會顯示歸檔總數;會話按工作區分組,組頭可點擊摺疊。

3、點擊某一行的標題或「查看」,展開對話全文。消息會標出角色(用戶 / 助手 / 工具)、時間和序號。

4、若這條對話還要繼續用,點「恢復」。插件會把會話移出歸檔集合;能匹配到原工作區路徑時,會重新掛回去,側邊欄應再次出現該會話。

5、若確定不再需要,點「刪除」,按鈕變爲「確認刪除?」後再點一次。日誌目錄刪除成功後,歸檔記錄和分組歸屬一併清掉,無法從插件裏找回。

空列表時,面板會提示歸檔入口仍是側邊欄行菜單裏的「歸檔」。恢復或刪除成功後,客戶端會調用 sessions.refresh / workspaces.refresh,讓側邊欄儘快與註冊表對齊,而不必整頁刷新。

適用場景與注意事項

適合已經在用 DSH Web 界面、並且會把會話歸檔收起來的人:項目告一段落想把側邊欄留乾淨,過幾天又要翻當時的工具調用記錄;或者歸檔集合裏堆了幽靈條目(日誌沒了、標記還在),需要清理。它不提供搜索、批量刪除、導出 ZIP 或關閉 dsh 進程這類能力,README 和源碼裏都沒有這些接口。

使用前有幾條必須看清的邊界,都來自當前源碼,而不是猜測。

  • 權限與安全:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請閱讀 GitHub 倉庫和 MIT 許可證;只從自己核過的來源安裝。社區目錄收錄不等於官方背書。
  • 刪除會動磁盤deleteSession 通過 subprocess 解析 pwshpowershell,對日誌目錄執行 Remove-Item -LiteralPath ... -Recurse -Force。找不到 PowerShell 會直接報錯並中止,會話保持原樣。這條刪除路徑是按 Windows 環境寫的;列表、閱讀和恢復不走 PowerShell。
  • 運行中的會話刪不掉:若該會話的 agent 狀態爲 running(正在處理消息),源碼會拒絕刪除,提示等它結束,或先恢復再處理。idle 駐留進程會嘗試 flush 後摘除;摘除失敗時會要求重啓 dsh 再刪。
  • 兩次確認擋不住誤操作的全部後果:界面只是把同一按鈕點兩次,沒有額外輸入會話標題之類的校驗。點下去就會清日誌,請先確認看的是哪一條。
  • 不要把它當成官方功能:DeepSeek Harness 官方倉庫是 https://github.com/deepseek-ai/deepseek-harness 。本文插件來自社區維護者 hxyz486,目錄頁爲獨立站點 https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-archived-conversations/ 。

小結

dsh-archived-conversations 把「已經歸檔、側邊欄看不見」的會話重新放到設置頁裏:按工作區分組瀏覽,展開全文,恢復回側邊欄,或者連本機日誌一起刪掉。安裝命令以目錄頁爲準:

dsh plugin add github:hxyz486/dsh-archived-conversations

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-archived-conversations/
GitHub:https://github.com/hxyz486/dsh-archived-conversations

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

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

小夜