dsh-takeover:一键把长会话移交到干净上下文的新会话

前言

在 DSH 桌面版里,同一会话聊久了,上下文会越来越长:调用更贵、响应更慢,模型也更容易漏掉早期约束。常见做法是硬着头皮继续,或新建会话再手动粘贴摘要。后者能减负,但重复整理上下文本身又占一轮精力。

下面介绍社区插件 dsh-takeover:在任意会话上右键即可「移交会话」,由插件新建一个上下文干净的新会话接手,老会话原样保留;需要结构化摘要时,还会在工作区落盘交接文档,并提供清理页统一管理。

这是什么

dsh-takeover 是 DSH 生态里的工作流类插件,仓库由 zhukeu2-lang 维护,在 SkillHub 插件目录 可查到条目。它把「选老会话 → 定读取方式 → 开新会话并预填交接指令」收成一次操作;插件不调用模型、不读写 API Key,也不直接改 DSH 的会话文件,只通过宿主公开的快照和事件取数。

许可为 MIT(README 标注版本徽章为 0.10.0,package.json 中为 0.10.1,以你安装到的包为准)。

核心功能

右键入口与待办提示

会话列表右键会出现带图标的「移交会话」。若存在待清理的交接文档,菜单项右侧会显示红色数字。

三种「读老会话」的方式

  1. 自动读取:预填一句「先去看一下会话 X」,读多少由接手侧 AI 自行决定;最快,不产生交接文档,也不进入清理页。
  2. 六段式交接:先把老会话整理为目标、硬约束、已定决策、当前状态、下一步、不确定之处六段;适合需要稳定交接摘要的场景。
  3. 只读最近 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 示例命令。

典型用法

移交一个会话

  1. 右键任意会话 →「移交会话」。
  2. 左栏按工作区分组,展开并选中要交接的老会话。
  3. 右栏选择模式(跟随当前 / 标准 / 创造)和读取方式(自动 / 六段式 / 最近 20 轮)。
  4. 点击「新建并移交」:会新建会话、切换过去,并在输入框预填交接指令。
  5. 在输入框按回车,接手会话开始工作;老会话内容不会被修改。

清理交接文档

  1. 右键 →「移交会话」→ 切换到「清理交接文档」。
  2. 按工作区展开,查看每条状态。
  3. 满足可删条件后点【删除】;缺文档的条目可点【忽略】。

若清理页显示「轮数未知」,说明接手会话尚未跑够轮数(或主进程重启前的轮数未同步);在该会话正常聊几轮后点【刷新】即可更新。

适用场景与注意

适合:单会话任务拖得很长、想换干净上下文又不想手抄摘要;需要在工作区留一份可检索的六段式或近期轮次交接稿,并在跑稳后批量清理。

注意:

  • 「自动读取」不产生文档,也不会出现在清理页;要落盘请选六段式或最近 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye