前言¶
在 DSH 桌面版裏,同一會話聊久了,上下文會越來越長:調用更貴、響應更慢,模型也更容易漏掉早期約束。常見做法是硬着頭皮繼續,或新建會話再手動粘貼摘要。後者能減負,但重複整理上下文本身又佔一輪精力。
下面介紹社區插件 dsh-takeover:在任意會話上右鍵即可「移交會話」,由插件新建一個上下文乾淨的新會話接手,老會話原樣保留;需要結構化摘要時,還會在工作區落盤交接文檔,並提供清理頁統一管理。
這是什麼¶
dsh-takeover 是 DSH 生態裏的工作流類插件,倉庫由 zhukeu2-lang 維護,在 SkillHub 插件目錄 可查到條目。它把「選老會話 → 定讀取方式 → 開新會話並預填交接指令」收成一次操作;插件不調用模型、不讀寫 API Key,也不直接改 DSH 的會話文件,只通過宿主公開的快照和事件取數。
許可爲 MIT(README 標註版本徽章爲 0.10.0,package.json 中爲 0.10.1,以你安裝到的包爲準)。
核心功能¶
右鍵入口與待辦提示¶
會話列表右鍵會出現帶圖標的「移交會話」。若存在待清理的交接文檔,菜單項右側會顯示紅色數字。
三種「讀老會話」的方式¶
- 自動讀取:預填一句「先去看一下會話 X」,讀多少由接手側 AI 自行決定;最快,不產生交接文檔,也不進入清理頁。
- 六段式交接:先把老會話整理爲目標、硬約束、已定決策、當前狀態、下一步、不確定之處六段;適合需要穩定交接摘要的場景。
- 只讀最近 20 輪:老會話很長、只關心近期進展時使用。
新會話模式¶
右欄可選「跟隨當前會話」,或手動指定標準 / 創造模式。
交接文檔與清理頁¶
選用會產生文檔的讀取方式時,內容寫入:
<老會話所在工作區>\AI工作區\交接\交接_<標題>_<時間>.md
文件開頭包含老會話 ID、移交時間、接手會話 ID。移交記錄保存在同目錄下的 移交記錄.json。
彈窗第二個標籤「清理交接文檔」按工作區分組(默認收起):組頭綠點表示有可刪條目,紅點表示缺文檔條目。接手會話跑滿 3 輪(或移交滿 7 天,可在界面開關)後,對應文檔標記爲可刪;支持逐條刪除、【全部刪除】(僅刪當前可刪的)、【清空已處理】記錄,以及【打開文件夾】跳到該條所屬工作區的交接目錄。
架構說明¶
刪文件、寫記錄、數輪數等邏輯在 DSH 主進程(lib/index.js);窗口側(lib/client.js)負責右鍵菜單與彈窗 UI。package.json 無第三方 dependencies,不需要額外 Skill。
環境要求¶
| 項 | 要求 |
|---|---|
| DSH | 桌面版(NEXT 系),需 webServer、session/event、Electron shell.openPath |
| 系統 | Windows(打開目錄使用 explorer.exe / cmd.exe 兜底) |
| Node | 使用 DSH 內置模塊即可,無需單獨安裝 |
安裝與啓用¶
推薦從 npm 安裝(國內網絡通常只需訪問 npm 源):
dsh plugin --profile desktop add dsh-takeover
裝完後重啓 DSH,右鍵任意會話應能看到「移交會話」。
離線或開發時可把插件拷到 %USERPROFILE%\.dsh\local-plugins\dsh-takeover(DSH_HOME 以你機器爲準),在 profiles\desktop\package.json 的 dependencies 與 dsh.profile.bundles 中登記 dsh-takeover,再建 junction 鏈到 node_modules;細節見倉庫 README 的「方式二:本地 link」。
卸載時需移除 node_modules 鏈接、本地插件目錄,並編輯 profile 的 package.json;README 給出了 PowerShell 示例命令。
典型用法¶
移交一個會話¶
- 右鍵任意會話 →「移交會話」。
- 左欄按工作區分組,展開並選中要交接的老會話。
- 右欄選擇模式(跟隨當前 / 標準 / 創造)和讀取方式(自動 / 六段式 / 最近 20 輪)。
- 點擊「新建並移交」:會新建會話、切換過去,並在輸入框預填交接指令。
- 在輸入框按回車,接手會話開始工作;老會話內容不會被修改。
清理交接文檔¶
- 右鍵 →「移交會話」→ 切換到「清理交接文檔」。
- 按工作區展開,查看每條狀態。
- 滿足可刪條件後點【刪除】;缺文檔的條目可點【忽略】。
若清理頁顯示「輪數未知」,說明接手會話尚未跑夠輪數(或主進程重啓前的輪數未同步);在該會話正常聊幾輪後點【刷新】即可更新。
適用場景與注意¶
適合:單會話任務拖得很長、想換乾淨上下文又不想手抄摘要;需要在工作區留一份可檢索的六段式或近期輪次交接稿,並在跑穩後批量清理。
注意:
- 「自動讀取」不產生文檔,也不會出現在清理頁;要落盤請選六段式或最近 20 輪。
- 插件以當前 DSH 進程權限運行,安裝前建議瀏覽 GitHub 源碼 與 MIT 許可證;作者聲明修改權限保留,見
lib/index.js文件頭。 - 目前 README 寫明支持 Windows 桌面環境;其他系統是否可用需以你使用的 DSH 版本與插件更新說明爲準。
- 7 天自動可刪開關保存在瀏覽器
localStorage(鍵名dsh-takeover:clean-settings),與移交記錄.json分工不同:勿手動刪記錄文件指望界面仍能追蹤狀態,瘦身宜用清理頁【清空已處理】。
結尾¶
dsh-takeover 把長會話續聊裏重複的「開新窗 + 喂上下文」收成右鍵一步:老會話保留作檔案,新會話用乾淨上下文接着幹,文檔與清理頁則管住工作區裏的交接文件。目錄頁:https://www.skillhub.cn/plugins/zhukeu2-lang/dsh-takeover;源碼與完整 FAQ:https://github.com/zhukeu2-lang/dsh-takeover。