READMESource: master@d4dab816
dsh-session-manager
dsh-session-manager 是一个面向 DeepSeek Harness(DSH)的会话管理插件,把两个高频需求合在一起:
- 回退(Rewind):对话走偏时,一键回到之前某个用户消息,重新开始。
- 归档(Archive):暂时不用的会话先归档,保持侧边栏整洁,之后可以恢复或彻底删除。
它只增强 DSH 的会话管理能力,不改变模型、不改变工作区、不绑定特定项目。
✨ 功能一览
对话回退
- 会话头部新增“回退”按钮,也支持
Ctrl/Cmd+Shift+Z快捷键。 - 回退列表来自会话日志的全量扫描:不依赖聊天窗口加载到哪,长会话里未滚动到的 早期轮次也能选到;steering 插话不会出现在列表里。
- 压缩前的输入同样可回退(切点排除压缩段,新分支是原始未压缩历史); 成功完成的压缩点本身也是锚点(新分支继承压缩折叠与截至该点的全部回合)。
- 确认后基于所选锚点的精确切点派生新会话,并把原消息放回输入框,方便重新 编辑;未正常结束的回合由 DSH 0.1.7 的 fork 自动收尾。
- 功能有且仅有“定位回退锚点并重建分支”:回退直接调用官方
sessions.fork在轨迹定位处重建分支,不做文件回退。
- 会话头部新增“回退”按钮,也支持
归档会话
- 在侧边栏底部提供“归档会话”入口。
- 已归档会话可从归档列表快速恢复。
- 支持彻底删除单个会话、删除全部已归档会话、删除全部未分组归档会话。
📦 安装
前置条件:已安装 DSH,且 dsh web 可以正常运行。
通过 npm / DSH CLI 安装
dsh plugin --profile web add @the-heart-fickle/dsh-session-manager@latest
通过 plugin-registry 安装
npm run package:registry
dsh registry install ./registry
dsh registry enable the-heart-fickle/dsh-session-manager
registry/是本地生成的安装暂存目录,不会提交到仓库。
🚀 快速上手
- 安装插件后重启 DSH,并刷新浏览器页面。
- 在会话头部点击“回退”按钮,或按
Ctrl/Cmd+Shift+Z。 - 从弹出的历史用户消息列表中选择要回到的位置,确认后会自动创建新会话;带警告 标记的条目会在回退时把它前面未正常结束的回合一并撤销。
- 使用侧边栏底部的“归档会话”入口管理不常用的会话。
⚙️ 配置
回退功能无需配置。旧的 rewindFileMode / rewindIgnoreFile 配置项已随
文件回退功能一并移除,profile 中残留的这些键会被忽略,可自行删除。
🔧 环境要求
- Node.js ≥ 20
- DSH ≥ 0.1.7(
dsh.plugin.json的engines.dsh是包管理器侧的声明,此置于 实际用到的服务形状):会话导航走uiWorkspace.openSession(ISessions没有open)、“当前会话”取会话目录的retainedBy.mainView、日志读取走sessionPersistence的 handle 模型(stat/open)、单会话磁盘路径走 JSONL 后端的locate、回退切点依赖 0.1.7 的精确包含式 forkatSeq、图标用 0.1.7 的字重后缀名(Icon*Regular)。这些形状都在适配层 (lib/dsh-adapter.js/lib/archive.js/lib/client.js的createClientAdapter)里消化。
📡 通信架构(dsh-std 适配通道)
本插件同时支持两条与 DSH 后端通信的通道,命令权威实现共用 lib/commands.js:
- 官方通道(默认安装方式,功能完整):经
cordis.patch.yml装配 host 半边,lib/dsh-adapter.js汇聚官方服务触点(sessions / workspaceRegistry / sessionPersistence 等),/api/session-manager/*是标准命令的 HTTP 薄投影。 client 半边同样只有lib/client.js里的createClientAdapter(ctx)触碰官方 client 服务(sessions / uiWorkspace / conversation);组件只消费它给出的rewind/archives能力,上游客户端服务的改名与搬位置在适配层内消化一次。 - 标准通道:包根的
dsh-plugin.json(Community v0.15)声明facets.host.entry与 5 个contributes.commands(归档管理)。profile 安装@dsh-std/adapter-dsh后,适配层会把 命令发布到commands.dsh/v1alpha1(经 CommandRuntime / 斜杠命令 / browserexecuteCommand可达)。受@dsh-std/adapter-dsh0.1.1-rc.2 能力边界限制 (SessionCatalog 无归档删除语义),标准通道下这些命令按backend-unavailable显式降级失败,绝不静默假装成功;完整功能仍需官方通道。
dsh plugin --profile web add @dsh-std/adapter-dsh # 启用标准通道
许可证
MIT
No comments yet. Be the first to write one.