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