前言¶
在 DeepSeek Harness(DSH)裏做長對話開發時,常見做法是隻刪聊天記錄,或靠 Git 手工還原文件。這樣會話記憶與磁盤狀態容易脫節:回退了幾輪對話,但改過的文件還在;或者文件恢復了,上下文裏卻仍留着之後的結論。社區插件 dsh-session-suite(維護者 heixiua,分類爲記憶)面向 desktop 配置,把檢查點、回滾、分享和跨會話長期記憶接到同一套交互裏,設計上參考 Trae 的 session actions。本文介紹其能力邊界、安裝方式與典型操作,事實以 GitHub README 爲準。
這是什麼¶
dsh-session-suite 是一個 DSH bundle(Host + Web Client),針對 desktop profile 構建。一句話:在同一輪助手回覆上,可把對話、該輪產生的工作區快照以及會話記憶一起回滾;支持分段刪除、永久刪會話、多格式分享,以及需明確確認的長期記憶。
- 目錄頁:skillhub.cn/plugins/heixiua/dsh-session-suite
- 源碼與文檔:github.com/heixiua/dsh-session-suite
- npm 包名:
@heixui/dsh-session-suite(README 說明無 scope 的dsh-session-suite屬於另一項目,故發佈名帶 scope;插件 id、存儲目錄與 bundle 名仍爲dsh-session-suite) - 許可證:MIT(README 與 package.json)
DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
回滾與刪除(破壞性操作各影響什麼)¶
README 用表格明確每種操作觸及的範圍:
| 操作 | 對話 | 記憶 | 工作區文件 |
|---|---|---|---|
| 回滾(↺) | 在該消息處截斷 | 截斷到該點 | 恢復到該輪快照 |
| 刪除一輪(🗑) | 含 prompt、reply 及中間步驟 | 截斷到該點 | 不動 |
| 刪除一段對話 | 從所選第一輪起截斷 | 截斷到該點 | 不動 |
| 刪除整個 session | 從磁盤移除 | 移除 | 不動(工作區目錄仍在) |
只有 回滾 會改文件;其餘刪除保持當前工作樹不變。會話日誌爲 append-only,「截斷」語義是保留前綴並退役原會話,被刪範圍之後的輪次一併消失。
入口(Client UI):
- 每條最終助手消息:↺ 回滾(對話 + 文件 + 記憶),確認條在輸入框上方;🗑 刪單輪(對話 + 記憶)。
- Session 菜單:Delete part of the conversation(選輪次)、Delete session(確認對話框)。
- Session snapshots:Session 菜單與 Settings 中均可管理快照。
回滾機制(Host 側)¶
因 DSH 會話日誌 append-only 且爲唯一真相源,回滾不能刪事件,suite 實現爲原子多步操作(README 摘要):
- Protect:對工作區和記憶賬本做臨時 undo 快照(10 分鐘 TTL)。
- Conversation:
sessionController.fork({ sessionId, atSeq })將事件前綴複製到新 session。 - Files:恢復該輪檢查點——改寫變更文件、刪除會話之後新建的文件,會話開始前已存在的文件不 touched。
- Memory:裁掉目標序列號之後的記憶項。
- Retire:歸檔源 session(側欄隱藏,日誌保留)。
Undo 可整體逆轉:文件、記憶、歸檔會話與 fork 出的子會話。
分享¶
Session 菜單 → Share:列出每輪 prompt 與回答預覽,默認全選,可取消勾選後選輸出格式:
- Image:Canvas 繪製 PNG,無額外圖像庫。
- Web page:單文件 HTML(內聯 CSS,明暗主題,可打印 PDF)。
- Markdown / JSON:便於 issue 或其它工具。
- Copy text:純文本剪貼板。
富格式會渲染模型 Markdown(標題、列表、代碼塊、表格、鏈接等);Host 用 lib/markdown.js 解析日誌爲塊,HTML 與圖片共用同一套塊,避免頁面與圖不一致。截圖通過 attachments.imageHostPath 以內聯 data URL 寫入(有預算上限),保證單文件可攜帶;PNG 無法點擊放大大圖時,應選 HTML。
導出默認只含用戶 source.kind === "user" 的 prompt 與各輪 最終回答;可關閉「僅最終回答」以導出含工具敘述的全部助手步驟;工具結果不出現在富導出中。本 bundle 不提供 依賴公網服務器的分享鏈接,可攜帶的 HTML 文件即 portable 等價物。
長期記憶¶
兩套隔離存儲:global 與按 workspace 劃分;重要性由頻率、新近度、情感、唯一性四因子評分,帶動態衰減、冷歸檔、相似聚類摘要壓縮與規則抽象。README 強調:沒有你的同意不會隱式寫入。 每輪結束後由便宜模型提議可持久化事實,在設置頁排隊,僅點 Keep 才寫入;顯式 【記住:…】 / 【新增全局記憶:…】 跳過隊列立即寫入。設置入口:Settings → Long-term memory;亦可使用 memory 工具。細則見倉庫 docs/long-term-memory.md。
不在此 bundle 內的事項¶
使用 WorkBuddy / Trae credits 作爲模型:非本 bundle,見倉庫 docs/credits.md。
安裝與啓用¶
官方自 npm 安裝(desktop profile):
dsh plugin --profile desktop install @heixui/dsh-session-suite
安裝一次後 重新加載頁面。bundle 在 Host 側註冊一行 session-suite,補丁位於 cordis.patch.yml;Client half 由 package.json → dsh.client 發現。package.json 要求 Node >= 22。
若從本地倉庫目錄安裝(非本文推薦的 SkillHub/npm 路徑,僅 README 原文):
dsh plugin --profile desktop install .
或由運行中的 Harness 通過 plugin_manager 的 install_bundle 安裝本地路徑。README 禁止把 git clone 當作讀者必做步驟,此處不展開 clone 流程。
典型用法¶
下面按 UI 路徑復現 README 中的主要流程。
-
從某條助手最終回覆回滾整輪成果
在該消息上點 ↺,在輸入框上方確認。對話 fork 到新 session,工作區恢復到該輪快照,記憶裁到對應序列;原 session 歸檔隱藏。若誤操作,在有效期內用 Undo。 -
只去掉一輪錯誤問答、不動磁盤
點該輪 🗑,或 Session 菜單 → Delete part of the conversation,在輪次選擇器裏選定範圍。 -
導出可發給同事的對話片段
Session 菜單 → Share,取消不需要的輪次,選 Image / Web page / Markdown 等;需要可點擊看大圖截圖時用 Web page。 -
寫入長期記憶
在對話裏寫【記住:…】,或 Settings → Long-term memory 審閱隊列後點 Keep;也可用memory工具(行爲以 Host 實現爲準)。 -
查看或清理快照
Settings 或 Session 菜單 → Session snapshots。磁盤佈局示例(%DSH_HOME%爲 DSH 主目錄):
%DSH_HOME%/storages/dsh-session-suite/
sessions/<sessionId>/index.json
sessions/<sessionId>/manifests/*.json
sessions/<sessionId>/blobs/<ab>/<hash>
memory/<sessionId>.json
memory/_glob
…
適用場景與注意¶
適合誰: 在 DSH desktop 里長時間結對編程、需要「這一刻的代碼 + 記憶 + 對話」一致回退的開發者;需要把選定輪次導出爲圖/HTML/Markdown 做歸檔或評審的團隊;希望跨 workspace 保留經確認的長期記憶的用戶。
安全與權限: 插件在 當前 DSH 進程權限 下運行,回滾與快照會直接讀寫工作區與 %DSH_HOME%/storages/dsh-session-suite/。安裝前請查看 源碼倉庫 與 MIT 許可證,確認與自身環境策略一致。刪除 session 不可恢復對話與對應記憶,但工作區文件夾本身不會被插件刪掉。
版本: 已抓取 package.json 標明發布版本 0.10.2;日後以 npm / 倉庫 tag 爲準升級。
結尾¶
dsh-session-suite 把 DSH 裏最容易失真的三塊——會話前綴、工作區檢查點、記憶賬本——綁在同一套回滾與分享路徑上,並用顯式確認隊列管住長期記憶。若你正在 desktop profile 上使用 DSH,可從 npm 安裝 @heixui/dsh-session-suite 後 reload,再試單條消息上的 ↺ 與 Share。
- 目錄頁:https://www.skillhub.cn/plugins/heixiua/dsh-session-suite
- GitHub:https://github.com/heixiua/dsh-session-suite