🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话回退 ixietv/dsh-session-rewind

DeepSeek Harness
ixietv12 天前有提交已提供中文文档扫描:未发现敏感能力

用 /rewind 就地折叠对话尾部,回到指定轮次重试

29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ixietv/dsh-session-rewind
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的会话内回退:用 /rewind 把当前对话原地折回之前的某一轮,不 fork,也不新建会话。

README

由 DeepSeek 最新模型翻译生成
dsh-session-rewind 回退你当前所在的对话——同一个会话,不分叉,不开新标签页。 DSH 官方处理「撤销几轮对话」的方式,要么新开一个分叉,要么手动改状态。dsh-session-rewind 只加一条命令——/rewind——把当前对话的尾部就地折叠掉。sessionId 始终不变,事件日志保持只追加,模型在下一次请求时真的会忘掉被折叠的轮次。 这不是分叉。磁盘上什么都没删,没有重写任何 .jsonl,侧边栏也不会多出一个会话。 为什么要回退? | 场景 | 之前 | 用 dsh-session-rewind | | 某一轮答坏了,想干净地重试 | 新开会话,丢掉上下文 | /rewind 1,保留它之前的一切 | | 提示词在对话中途跑偏 | 分叉再重新解释一遍 | /rewind 3,就地继续 | | 裁掉一段冗长的探索 | 手动清理 | 在轮次操作行点一下 | 核心特性 - 就地折叠——session.append('user/message', checkpoint, { surfaceOp: 'replace' });sessionId 不变。 - 只追加日志——每个更早的事件都保留自己的 seq;唯一的写入是一条 checkpoint 事件。
展开完整文档(README 剩余 1 节)
dsh-session-rewind

回退你当前所在的对话——同一个会话,不分叉,不开新标签页。

DSH 官方处理「撤销几轮对话」的方式,要么新开一个分叉,要么手动改状态。dsh-session-rewind 只加一条命令——/rewind——把当前对话的尾部就地折叠掉。sessionId 始终不变,事件日志保持只追加,模型在下一次请求时真的会忘掉被折叠的轮次。

这不是分叉。磁盘上什么都没删,没有重写任何 .jsonl,侧边栏也不会多出一个会话。

为什么要回退?

| 场景 | 之前 | 用 dsh-session-rewind |
| 某一轮答坏了,想干净地重试 | 新开会话,丢掉上下文 | /rewind 1,保留它之前的一切 |
| 提示词在对话中途跑偏 | 分叉再重新解释一遍 | /rewind 3,就地继续 |
| 裁掉一段冗长的探索 | 手动清理 | 在轮次操作行点一下 |

核心特性

- 就地折叠——session.append('user/message', checkpoint, { surfaceOp: 'replace' });sessionId 不变。
- 只追加日志——每个更早的事件都保留自己的 seq;唯一的写入是一条 checkpoint 事件。
- 模型可见——被折叠的节点会从 deriveMessages() 中消失,所以下一次请求真的拿不到它们。
- 两个入口——/rewind [<turn>] 命令,外加官方 conversation.chat.assistant-actions 行里的一个图标按钮。
- 默认安全——智能体运行期间拒绝执行,每个会话单飞,持久化失败会报 PERSIST_FAILED,而不是假装成功。
- 零额外运行时依赖——Host 半边不导入任何东西;Client 半边只依赖 react。

安装

git clone https://github.com/ixietv/dsh-session-rewind.git "$HOME/.dsh/plugins/dsh-session-rewind"

然后重启 DeepSeek Harness。Loader 会读取 cordis.patch.yml 并插入 Host 行;Web shell 通过 dsh.client.platform: "web" 加载 lib/client.js。

用法

| 入口 | 语法 | 行为 |
| 命令 | /rewind | 回退到最近一轮之前 |
| 命令 | /rewind 3 | 回退到第 3 轮之前 |
| UI | 轮次操作行图标 | 悬停某一轮,点击即可回退到它 |

工作原理

User: /rewind <turn>
│
▼
Host (lib/host.js) ── validate turn, agent idle, no rewind in flight
│
▼
Locate target turn/start seq ── collect every surface node up to the tail
│
▼
session.append('user/message', checkpoint, { surfaceOp: 'replace', sourceEventSeqs })
│
▼
ctx.sessions.flush(session) ── persist; failure → PERSIST_FAILED
│
▼
Client (lib/client.js) ── hide folded DOM rows, mark via sessionStorage

架构

dsh-session-rewind
├── lib/host.js # Host 半边:注册 /rewind,计算切点,追加检查点 ├── lib/client.js # Web 客户端半边:操作行按钮、DOM 隐藏、回退标记 ├── cordis.patch.yml # Loader 补丁:插入一行 Host(不覆盖、不隔离) ├── docs/design.md # 第二轮契约:语义、决策 DEC-1..DEC-12 ├── docs/research.md # 表面原语与命令系统调研 ├── docs/research-truncate.md # 截断 / 工具配对语义 └── docs/verification.md # 验证日志与验收证据

| 模块 | 职责 |
| lib/host.js | 掌管命令、切点,以及唯一一次 surfaceOp: replace 追加 |
| lib/client.js | 掌管触发面,以及被折叠行在视觉上的消失 |
| cordis.patch.yml | 与官方模块并列组合,不替换它们 |

设计说明

- 切点是轮次边界 —— 不打补丁就能满足工具配对平衡。
- 检查点来源是 { kind: 'user' } —— 落在封闭的 MessageSourceMap 内;它不会渲染成用户气泡,因为 replace 检查点不属于「追加表面」事件。
- 没有恢复 / 撤销回退 —— 第二次回退只能退得更远,因为被折叠的节点已经从表面上消失。

开发

node --check lib/host.js
node --check lib/client.js

FAQ

这会新建会话吗? 不会。重点就在于它不新建。

历史会从磁盘删除吗? 不会。事件还在,只是派生出的表面不再暴露它们。

能撤销回退吗? 不能原地撤销。被折叠的节点已经不在表面上了。

许可证

MIT
预览分享卡片长什么样 ↓ixietv/dsh-session-rewind
分享 · DeepSeek Harness Hub
ixietv/dsh-session-rewind

用 /rewind 就地折叠对话尾部,回到指定轮次重试

这是你的仓库?认领条目

回到顶部