前言¶
DeepSeek Harness (DSH) Web GUI 採用插件化架構。DSH 原生提供了會話歸檔功能 (archiveSession),但缺少對已歸檔會話的後期管理能力,例如重命名、還原和刪除。@crack/dsh-archive 插件旨在補齊這一缺失的閉環,爲 DSH Web GUI 提供完整的歸檔會話管理能力。
核心功能¶
插件在側邊欄新增了歸檔入口,並在歸檔視圖中實現了以下能力:
- 入口與視圖:在“添加工作區”按鈕右側新增圓形歸檔按鈕(28px)。點擊後,原工作區列表區域被歸檔視圖覆蓋。歸檔視圖按工作區分組,支持摺疊,列表按時間降序排列。
- 會話操作:每行會話 Hover 出現三點菜單,支持:
- 重命名:使用原生彈窗,支持中文輸入法保護。
- 還原:將歸檔會話恢復至原工作區位置。
- 刪除:通過原生確認彈窗執行,移除對應的日誌文件且不可恢復。
- API 接口:提供 REST 接口供外部調用:
GET /plugins/@crack/dsh-archive/api/archived:獲取歸檔會話列表。POST /plugins/@crack/dsh-archive/api/rename-session:重命名會話。POST /plugins/@crack/dsh-archive/api/unarchive:還原歸檔會話。POST /plugins/@crack/dsh-archive/api/delete-session:刪除歸檔會話。
安裝與啓用¶
安裝該插件需鏈接本地包並註冊配置。
- 鏈接本地包到 dsh web profile(一次性操作):
dsh plugin --profile web add "link:E:\path\to\dsh-archive"
- 在 profile patch 中註冊插件:
- 編輯
C:\Users\<you>\.dsh\profiles\web\cordis.patch.yml。 - 追加配置:
- 編輯
- insert:
- id: archive
name: '@crack/dsh-archive'
- 重啓 dsh web 服務。
開發與構建¶
項目使用 Node.js 和 pnpm 構建。構建完成後,瀏覽器支持自動熱替換。
pnpm install # 安裝構建依賴
pnpm run build # 構建宿主端與瀏覽器端代碼
pnpm run typecheck # 類型檢查
開發時,可編輯以下文件:
* src/client/skin.css:歸檔視圖樣式。
* src/client/index.ts:瀏覽器端邏輯。
* src/index.ts:宿主端 API 路由註冊。
卸載¶
卸載需清理插件註冊和配置文件。
- 從 profile 中移除插件:
dsh plugin --profile web remove @crack/dsh-archive
- 刪除
cordis.patch.yml中的archive註冊行。 - 重啓 dsh web。
注意事項¶
- 數據安全:歸檔會話的刪除操作會移除日誌文件,且不可恢復,操作前請確認。
- 權限檢查:插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。