前言¶
在 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。