前言¶
在 DSH Desktop 裏整理側欄會話時,常見需求是「刪掉這條對話」或「誤刪後找回來」。DSH 自帶的「歸檔會話」只是把會話從列表裏藏起來,沒有明確的刪除流程,也沒有回收站這一中間態。誤刪、清理列表、找回舊對話,都缺少一條可逆的路徑。
下面介紹的 洄游(倉庫 qiesh-cn/dsh-huiyou)由維護者 qiesh-cn 發佈,在 SkillHub 目錄中歸類爲 記憶。它給 DSH Desktop 側欄補上 刪除 → 回收站 → 搜索 / 恢復 / 徹底刪除 的完整鏈路;數據落在本地 ~/.dsh,不聯網。
這是什麼¶
洄游是面向 DSH Desktop Web GUI 的 Cordis 插件(npm 包名 @local/dsh-session-manager,版本 1.0.0)。README 標明適配 DSH Desktop 0.2.x,在 DSH Desktop 0.2.1-rc.3(Windows) 上開發與驗證。
一句話定位:刪掉的會話先進入回收站,可搜索、可恢復、可徹底刪除;恢復時無需重啓 DSH。
與歸檔的區別¶
| 做法 | 行爲 |
|---|---|
| DSH 自帶「歸檔會話」 | 從列表隱藏,無「刪除」、無回收站 |
| 洄游 | 刪除會移動數據到 ~/.dsh/session-trash/,側欄可在「工作區 / 回收站」之間切換 |
核心功能¶
以下能力均來自項目 README 的功能表與說明:
- 刪除會話:會話
⋯菜單中的紅色「刪除會話」,需二次確認。 - 側欄回收站:「工作區 / 回收站」一鍵切換;回收站有獨立標題、搜索和清空。
- 搜索:按標題過濾,輸入即篩。
- 時間展示:每行顯示「今天 / N 天」。
- 恢復:會話回到原工作區,標題、位置與會話目錄一併恢復;原工作區不存在時落在「未分組」,仍可打開。
- 徹底刪除:單條徹底刪除,或一鍵清空(均有二次確認)。
- 斜槓命令:
/sessions列出會話;/delete-session <id>刪除。 - 界面:複用 DSH 的 HoverCard、Modal、Button、Input、圖標與設計 token。
限制(README 明確寫出):當前打開的會話不能刪除,需先切換到其他會話或新建會話。側欄切換依賴 DSH 非公開的 sidebar.workspaces 槽;大版本升級後若內部結構變化,插件可能需重新適配,但不會破壞已有數據。
數據落在哪¶
刪除是移動,不是立刻抹除磁盤內容。目錄結構如下:
~/.dsh/session-trash/<ISO 時間>-<session-id>/
├── <session-id>/ # 會話目錄
├── <session-id>.json # 投影緩存
└── meta.json # 原工作區、標題、刪除時間
恢復時 Host 重新索引會話頭並掛回工作區,Client 刷新目錄和投影;徹底刪除與清空均有二次確認。README 說明:不聯網、不收集數據,操作均在本地 ~/.dsh 完成。
安裝與啓用¶
項目未提供 dsh plugin add github:... 一類 CLI 安裝命令。README 推薦從 Release 安裝。
方式一:Release(推薦)¶
- 到 Releases 下載
huiyou-1.0.0.tgz。 - 放到固定路徑,例如
~/.dsh/plugins/huiyou-1.0.0.tgz。 - 編輯 DSH profile(默認
~/.dsh/profiles/desktop)的package.json,在bundles與dependencies中引用本地 tgz(路徑按本機替換):
{
"dsh": {
"profile": {
"bundles": [
"@local/dsh-session-manager"
]
}
},
"dependencies": {
"@local/dsh-session-manager": "file:C:/Users/<you>/.dsh/plugins/huiyou-1.0.0.tgz"
}
}
- 在 profile 目錄安裝依賴:
cd ~/.dsh/profiles/desktop
pnpm install
- 重啓 DSH。
README 註明:desktop profile 由 Electron 應用管理,官方 dsh CLI 會拒絕直接修改它;手動改 package.json 再 pnpm install 即可。
方式二:源碼¶
將 dependencies 中的路徑改爲克隆後的本地目錄(示例:file:C:/path/to/dsh-huiyou),其餘步驟同上。README 中的克隆地址爲:
git clone https://github.com/qiesh-cn/dsh-huiyou.git
cd dsh-huiyou
修改源碼後,profile 裏的 file: 依賴是一份複製,需重新 pnpm add 纔會同步。
典型用法¶
經過上面的安裝步驟並重啓 DSH 後,可按 README 中的交互路徑操作:
- 刪除:側欄會話行懸停 →
⋯→ 刪除會話 → 確認。 - 恢復:側欄點 回收站 → 懸停某一行 → 恢復。
- 徹底刪除:回收站行懸停 → 垃圾桶圖標;或標題右側 清空。
- 搜索:回收站標題右側的搜索圖標。
側欄在「工作區」與「回收站」之間切換:從工作區點「回收站」進入回收站列表;從回收站點「工作區」回到常規定義。
工作原理(簡述)¶
Host 側(index.js)通過 Cordis 註冊 HTTP 路由,負責移動文件、寫入 meta.json、列出回收站;Client 側(client.js)在 sidebar.workspaces.session.menu.item 注入刪除項,並包裝 sidebar.workspaces 槽實現切換。刪除與列表操作分別對應 README 中的 POST /plugins/session-manager/delete 與 POST /plugins/session-manager/trash,最終讀寫 ~/.dsh/session-trash。
適用場景與注意¶
適合誰:長期在 DSH Desktop 裏積累大量會話、需要可逆刪除與本地回收站的開發者;希望用搜索在回收站裏找舊標題的用戶。
安裝前建議:
- 插件以當前 DSH 進程權限讀寫
~/.dsh,安裝前應閱讀倉庫源碼與 MIT 許可證。 - 僅支持 DSH Desktop 的 Web GUI;與 SkillHub 社區目錄一樣,屬於社區生態,與 DeepSeek / 幻方無官方從屬關係。
- 本地開發可運行 README 中的 Node 測試:
node test/delete.test.mjs等。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/qiesh-cn/dsh-huiyou
- GitHub:https://github.com/qiesh-cn/dsh-huiyou
洄游把 DSH 側欄會話管理補成「可刪、可找、可清」的閉環;若你的痛點是歸檔不夠用、誤刪想找回,可按 Release 方式接入 @local/dsh-session-manager 1.0.0 試用。