前言¶
在 DeepSeek Harness (DSH) 的 Web 界面中,側邊欄的工作區文件夾通常包含多個會話。針對每個會話單獨點擊歸檔既繁瑣又影響效率。爲了解決這個問題,需要一個插件在菜單中添加“歸檔全部”的功能,實現批量操作。
插件簡介¶
dsh-workspace-archive-all 是一個 DSH Web 插件,由用戶 1959377950-dotcom 維護,採用 MIT 許可證。它爲側邊欄中的每個工作區文件夾菜單(包括未分組 bucket)添加了一個“歸檔全部”操作,能夠將該文件夾下所有未歸檔的會話一次性歸檔。
核心功能¶
該插件主要提供以下能力:
- 批量歸檔:支持在確認對話框後,將指定文件夾下的所有未歸檔會話依次歸檔。
- 智能跳過:自動識別並跳過以下類型的會話,避免誤操作:
- 正在運行的會話
- 當前正在查看的會話
- 空白的“新建會話”行
- 子代理會話
- 已經歸檔的會話
- 進度反饋:採用順序歸檔方式,顯示歸檔進度,最後給出結果摘要。
- 語言適配:支持英語和中文界面,文案會跟隨 UI 語言自動切換。
安裝與啓用¶
使用官方 CLI 安裝插件:
dsh plugin --profile web add dsh-workspace-archive-all
安裝命令會通過 cordis.patch.yml 將插件掛載到配置中,無需手動編輯文件。
工作原理¶
該插件不依賴運行時攔截或腳本評估順序,而是通過路由覆蓋的方式工作:
- 路由替換:插件註冊了一個精確路由來覆蓋官方的 workspace 客戶端 bundle 路徑:
GET /plugins/@deepseek-ai/dsh-client-ui-workspace/client.js
→ this plugin's lib/workspace-client.patched.js
- 無侵入性:卸載插件會移除該路由,原始的 bundle 服務器會再次接管,官方磁盤文件不會被修改。
- 響應頭一致性:插件返回的響應頭與原始 bundle 服務器保持一致。
卸載與維護¶
卸載插件:
dsh plugin --profile web remove dsh-workspace-archive-all
如果需要升級 DSH,需要重新從官方 stock 文件生成補丁:
node tools/build-patch.mjs
該插件的 cordis.patch.yml 包含雙重掛載保護機制:如果手動在 dsh.profile.bundles 中添加了條目,插件自身的插入行會失效,防止配置衝突。
生態背景¶
DSH 的生態理念是“一切皆插件”。該插件屬於社區開發者維護的插件,可在 dsh-market 目錄中查找,與 DeepSeek 或幻方研究院無官方從屬關係。