前言¶
DSH 的歸檔操作只把會話從常規列表中隱藏,並不等於終止會話。如果要在 DSH Web GUI 中查找、篩選、恢復或清理已歸檔會話,需要一個更明確的管理入口。
下面介紹 dsh-better-archive。
這是什麼¶
dsh-better-archive 是面向 DSH Web GUI 的客戶端插件,由 huahai0202 維護,MIT 許可證。
它會在 DSH 側邊欄的設置區域新增「已歸檔」入口,並提供獨立頁面處理歸檔會話的查詢、篩選、恢復和刪除。
核心功能¶
- 在 DSH 側邊欄的設置區域新增「已歸檔」入口。
- 在 DSH 設置區提供獨立的「已歸檔」頁面。
- 按項目查看歸檔會話。
- 支持關鍵詞搜索。
- 支持項目篩選。
- 支持按更新時間或名稱排序。
- 一鍵取消歸檔,恢復後會話立即回到 DSH 正常會話列表。
- 支持刪除單個會話。
- 支持刪除某個項目下的全部歸檔會話。
- 支持清空全部歸檔會話。
- 仍在使用的會話會在重啓 DSH 後自動刪除。
- 頁面文案跟隨 DSH 語言設置,中英文切換無需刷新頁面。
安裝與啓用¶
先確認環境:
- Node.js
22.19+ - pnpm
安裝命令如下:
dsh plugin --profile web add github:huahai0202/dsh-better-archive
安裝完成後重啓 dsh web。插件會自動加入該 profile 的 dsh.profile.bundles;若未自動加入,請在 dsh.profile.bundles 數組中添加 dsh-better-archive,然後重啓 DSH Web。
更新¶
對通過上述 GitHub 方式安裝的插件,可使用以下命令更新:
dsh plugin --profile web update dsh-better-archive
更新完成後重啓 dsh web,使正在運行的 Host 和客戶端加載新版本。
本地開發¶
以本地檢出方式安裝:
dsh plugin --profile web add link:<path-to-this-checkout>
本地修改後重啓 dsh web,以加載最新的插件代碼。
提交前可運行以下檢查:
node --check lib/index.js
node --check lib/client.js
npm pack --dry-run
刪除行爲¶
永久刪除只作用於已歸檔會話,操作前會要求確認。
DSH 的歸檔操作只會將會話從常規列表中隱藏,並不等於終止會話。刪除行爲取決於會話當前是否仍存活:
- 冷會話:點擊刪除後立即永久刪除會話目錄,並同步移除工作區和歸檔記錄。
- 當前仍存活的會話:點擊刪除後寫入待刪除標記,下次 DSH 啓動時自動完成物理刪除。
在 DSH 重啓前點擊「取消歸檔」,會同時撤銷待刪除標記,不會在下次啓動時刪除該會話。
批量刪除可以同時處理冷會話和仍存活的會話;若中途失敗,接口會報告已立即刪除和已安排重啓後刪除的會話,並刷新頁面狀態。
DSH 的內容尋址附件由 DSH 獨立管理,因此不會隨會話記錄一起刪除。
開發接口¶
| 路由 | 方法 | 用途 |
|---|---|---|
/archived/pending |
GET |
查詢標記爲重啓後刪除的會話 |
/archived/unarchive |
POST |
取消歸檔一個會話 |
/archived/delete |
POST |
立即刪除或安排重啓後刪除一個歸檔會話 |
/archived/delete-project |
POST |
刪除或安排刪除一個項目的全部歸檔會話 |
/archived/delete-all |
POST |
刪除或安排刪除全部歸檔會話 |
依賴與運行要求¶
engines:node >=22.19peerDependencies:@deepseek-ai/dsh-client-locale:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/dsh-client-runtime:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/dsh-client-ui-slots:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/cordis:^4.0.1
適用場景與注意¶
適合在 DSH Web GUI 中使用、需要集中管理歸檔會話的開發者。
由於插件會在 DSH 運行時執行,安裝前建議檢查源碼和 MIT 許可證。DSH 的插件生態屬於社區擴展,安裝來源應自行覈對。
結尾¶
dsh-better-archive 把 DSH 中的歸檔會話從隱藏狀態納入可查找、可恢復、可刪除的管理範圍。
項目地址:https://github.com/huahai0202/dsh-better-archive.git