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

对话回退 domitor-syh/dsh-rollback

DeepSeek Harnessv0.5.1
domitor-syh9 天前有提交已提供中文文档扫描:含敏感能力

为 DeepSeek Harness 打造的 TRAE 风格会话回滚插件

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @domitor-syh/dsh-rollback
npm 源 · @domitor-syh/dsh-rollback 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · security
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@domitor-syh/dsh-rollback @ 0.5.1
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖要求 >=0.1.5-rc.2 <0.2.0-0 || >=0.2.0-rc.2 <0.3.0-0 · 最新 0.2.1-rc.2 兼容
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 23:39:27

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 45 处,展示前 18 条)
  • 读取本地文件
    lib/index.js:472
    const mode = await stat(hostPath).then((info) => info.mode & 4095).catch(() => void 0);
  • 写入本地文件
    lib/index.js:479
    await rename(tempPath, hostPath);
  • 删除本地文件
    lib/index.js:485
    await unlink(tempPath);
  • 读取本地文件
    lib/index.js:499
    const buffer = await readFile(hostPath, signal === void 0 ? {} : { signal });
  • 读取本地文件
    lib/index.js:1824
    const info = await lstat(hostPath);
  • 读取本地文件
    lib/index.js:1842
    const before = await lstat(hostPath);
  • 读取本地文件
    lib/index.js:1851
    const bytes = await readFile(hostPath);
  • 读取本地文件
    lib/index.js:1861
    const after = await lstat(hostPath);
  • 删除本地文件
    lib/index.js:2001
    await unlink(hostPath);
  • 写入本地文件
    lib/index.js:2088
    mkdirSync(entry);
  • 写入本地文件
    lib/index.js:2095
    writeFileSync(handle, JSON.stringify(transaction), "utf8");
  • 写入本地文件
    lib/index.js:2099
    renameSync(temporary, path);
  • 删除本地文件
    lib/index.js:2103
    if (existsSync(temporary)) unlinkSync(temporary);
  • 删除本地文件
    lib/index.js:2110
    unlinkSync(path);
  • 写入本地文件
    lib/index.js:2258
    mkdirSync(dirname(file), { recursive: true });
  • 写入本地文件
    lib/index.js:2263
    writeFileSync(fd, text, "utf8");
  • 删除本地文件
    lib/index.js:2271
    unlinkSync(temp);
  • 删除本地文件
    lib/index.js:2488
    unlinkSync(temporary);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-commands@deepseek-ai/dsh-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-sandbox-policy@deepseek-ai/dsh-session@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-token-meter@deepseek-ai/dsh-tools@deepseek-ai/dsh-working-directory
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 会话回滚
v0.5.12026-10-19
· 修复切换工作目录后的相对路径捕获:文件工具的前镜像与宿主使用同一会话有效目录,派发前重新获取目录与目标;已记录的绝对路径不随后续目录切换变化。父子目录同名文件不会混用恢复依据;仅切换工作目录不新增文件修改归属。 · 目标不一致改为逐操作持久恢复缺口:工具派发结果或最终结果回报的规范路径与捕获目标不同时,排除该操作的不可信恢复收据,不拼接不同文件的前后态,也不覆盖原工具结果。独立持久记录调用 id、原始轮次、工具及预期/回报的规范路径,不保存文件正文;后处理失败前已发现的不一致也保留为缺口。 · 只阻断跨越存活缺口轮次的回退:后续正常轮次继续记录检查点,满足其余恢复条件时可回退;已知缺口在预览与执行时、文件或对话表层发生变更前阻止 fromTurn <= 缺口原始轮次 的整个回退后缀,并报告缺口及之后可用的起始轮次。轮次列表只提供缺口之后的起点。重启后限制不变;同轮后续成功、no-op、净变化为零及检查点裁剪均不清除缺口。不提供跳过缺口的部分回退或仅撤回对话模式。恢复记录写入、读取等原有失败仍保守拒绝,可能阻止更大范围的回退,不承诺后续每次回退必然成功。 · 恢复事务重查晚到缺口:旧预览不能绕过新增缺口;恢复事务在文件操作前与对话标记提交前重查。如果文件恢复途中才发现缺口,停止继续恢复、保留事务与对话,允许 /rollback abort 补偿已执行的文件操作,不将中途失败误报为完全没有修改文件。 · 新版宿主回归:覆盖目录切换后的创建、编辑、重启恢复、绝对路径、旧宿主目录回退分支、目标不一致,以及真实宿主的版本放行和旧入口加载;上下文分类统计验证更新为新版相邻 prune 定价协议。 · 当前适配目标更新为 DSH 0.2.1-rc.2:开发用 DSH API 包精确锁定到 0.2.1-rc.2,Cordis 更新为 4.0.5;新增 dsh-working-directory 的开发依赖与纯类型增强,支持宿主可选读取会话有效工作目录。旧宿主保留目录回退路径,原兼容范围未收窄;旧版本在本次适配中未重新验证。 · 兼容闸门使用当前字段:将无效的嵌套 dsh.engines.dsh 移至顶层 engines.dsh,与保留的宿主 peer 范围保持一致;版本放行不等于功能验证。 · 移除退役 invariant 服务依赖:删除 dsh-invariants 的 peer、开发依赖和类型导入;公开 ./invariant 入口保留为已弃用的空操作,无必需服务注入,避免旧配置因入口消失而加载失败;主插件不依赖 companion。 · 文档与检查入口同步:中英文 README 说明当前目标、旧版验证边界及遗留入口;宿主类型检查说明更新到当前 API 版本,继续保留全部诊断。36 个测试文件、728 项测试以及类型检查、双语文档检查与构建全部通过;尚未进行 profile 安装、宿主重启或 GUI 端到端验收。 npm:@domitor-syh/dsh-rollback@0.5.1 完整变更:v0.5.0...v0.5.1
v0.5.02026-10-09
· 0.5.0 0.4.0 之后累积的全部工作:架构与存储加固、回退执行边界、Web 客户端与文档。 · 界面决策:消息照常隐藏,刻度条不处理 · 撤销「隐藏右侧轮次刻度条」:刻度是等距绝对定位的,隐藏只会留下一格空槽;要合上必须从外部重排组件布局,而组件每次重渲染都会写回自己的位置 —— 结论是刻度条原样不动。 · 被回退的对话消息照常隐藏,改由宿主给出「回退边界」这一个数字驱动(/rollback state),不再依赖回退标记是否到达客户端切片。 · 正确性修复 · 重复回退同一轮:目标已被回退过时明确拒绝且不写入任何事件(此前会写入零宽区间、替换掉上一条标记,连带销毁其隐藏窗口)。 · 标记的 sourceEventSeqs 写法改为非升序:存储层会压缩严格升序的连续序号,而运行时字段只接受扁平整数 —— 压缩落盘的会话再也打不开。 · 其它 · 版本 0.5.0;package.json 顺带修掉一个 UTF-8 BOM。 · 门:683/683 测试(35 文件)· typecheck 无可静默项 · 中英 README 一致性校验通过。 npm: @domitor-syh/dsh-rollback@0.5.0 · shasum 9cdb097b1ceb4816ac82c9265caa2f74ffb48fc6
v0.4.02026-10-02
0.4.0 - 对齐官方桌面端 UI,并修掉三处实测暴露的正确性问题 · 正确性修复 · 「新建文件」曾被记成 update:0.2.0 的 write 不发 create 标记,而 before:"" 无法区分「新建」与「写入一个原本为空的文件」。现在由插件在工具运行前用 ctx.fs.stat 自己判定,回退到建之前时该文件被删除,而不是被恢复成空文件。 · 欢迎页之上的过程行不再残留:syncHides 原先只遍历聊天切片里的节点,表层替换留下的孤儿 DOM 座位从未被考虑,所以 contentLeft: 0 时屏幕上仍有一行。新增 Pass 4 直接移除——幽灵行不再能活过下一条消息。 · 边界扫描的归属修正:扫描发现的变化一律记在「发现它的那次边界」,不再记到确认过该文件的下一轮。此前会把删除记到前一轮,于是回退真正删除它的那一轮时,窗口把该记录排除,「找回」条目从预览里静默消失。 · 界面与交互(对齐官方) · 回退弹窗的文件列表改为只读回执(要打开文件走右侧文件树)。 · 按钮圆角改为 --dsw-radius-sm(8px,与官方动作条按钮同值),图标 15→17px、描边 1.4→1(17px/1px 取自官方 end-of-turn 变体);弹窗圆角改为 --dsw-radius-panel(28px,与官方 Modal / 输入框同值)。 · 命令 · /rollback 弹出官方 popupSelect 轮次选择,选中后打开与「回退」按钮完全相同的确认弹窗,因此继承受影响文件预览与图片回填。 · 适配与验证 · 适配 DSH 0.2.0-rc.2;engines.dsh = >=0.1.5-rc.2 =0.2.0-rc.2 <0.3.0-0。 · typecheck 零静音 · 206 用例 / 14 文件 · check:readmes · 宿主探针 18/18 · 中运行守卫 3/3 · 兼容闸门 6/6 · 指令菜单 10/10 · 双座位表 OK · 截断 6/6 · 标记准入 6/6。 · npm:@domitor-syh/dsh-rollback@0.4.0 已知限制:没有任何官方接口能把「文件」送回输入框(图片可以);@路径 参考芯片回退后不回来,回来的只有那段文字。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-rollback · TRAE 式「回退」插件 中文 · English Awesome DSH Plugin 为 DeepSeek Harness(DSH)Web 端提供按轮次回退:恢复已跟踪的文件变更,同时撤回对应的模型可见对话,继续使用原会话。 功能 - 按轮次回退:选择最近保留的 10 轮检查点,通过按钮或 /rollback 发起。 - 文件与对话同步恢复:恢复旧内容、找回删除的文件、撤销新建;首尾状态相同的文件不做操作。 - 确认后执行:弹窗展示受影响文件及外部修改警告。 - 草稿回填:通过确认弹窗回退后,尝试将原消息和可恢复附件放回输入框。 - 恢复进度保留:失败后可重试或尝试补偿文件操作。 安装 Web 端(dsh web): dsh plugin --profile web add @domitor-syh/dsh-rollback 桌面端(官方渠道)——在插件的安装处填入包名 @domitor-syh/dsh-rollback,或使用等价命令: dsh plugin --profile desktop add @domitor-syh/dsh-rollback 安装后:Web 端重启 dsh web 并刷新页面;桌面端重启桌面应用。从 DSH 源码运行时,在上述命令前加 pnpm。 当前适配目标为 DSH 0.2.1-rc.3。
展开完整文档(README 剩余 1 节)
dsh-rollback · TRAE 式「回退」插件

中文 · English

Awesome DSH Plugin

为 DeepSeek Harness(DSH)Web 端提供按轮次回退:恢复已跟踪的文件变更,同时撤回对应的模型可见对话,继续使用原会话。

功能

- 按轮次回退:选择最近保留的 10 轮检查点,通过按钮或 /rollback 发起。
- 文件与对话同步恢复:恢复旧内容、找回删除的文件、撤销新建;首尾状态相同的文件不做操作。
- 确认后执行:弹窗展示受影响文件及外部修改警告。
- 草稿回填:通过确认弹窗回退后,尝试将原消息和可恢复附件放回输入框。
- 恢复进度保留:失败后可重试或尝试补偿文件操作。

安装

Web 端(dsh web):

dsh plugin --profile web add @domitor-syh/dsh-rollback

桌面端(官方渠道)——在插件的安装处填入包名 @domitor-syh/dsh-rollback,或使用等价命令:

dsh plugin --profile desktop add @domitor-syh/dsh-rollback

安装后:Web 端重启 dsh web 并刷新页面;桌面端重启桌面应用。从 DSH 源码运行时,在上述命令前加 pnpm。

当前适配目标为 DSH 0.2.1-rc.3。该版本对插件使用的主机 API 无行为变化,客户端改动仅为新增导航自定义、埋点和 Tooltip 自适应放置,因此无需修改插件代码。声明的兼容范围仍为 >=0.1.5-rc.2 <0.2.0-0 || >=0.2.0-rc.2 <0.3.0-0(已覆盖 0.2.1-rc.3),旧版本在本次适配中未重新验证。

0.5.1 修复了切换会话工作目录后,相对路径文件可能捕获到原目录同名文件的问题;回退继续使用修改时记录的目标路径。

使用

提供三种使用方式:

1. 回退按钮:点击已结束轮次中的「回退」按钮 → 查看受影响文件 → 确认回退。
2. /rollback:输入不带参数的 /rollback → 打开轮次选择弹窗 → 选择目标轮次 → 查看受影响文件并确认回退。
3. /rollback + Space(空格):手动输入 /rollback 后按空格 → 打开子命令菜单 → 选择命令或参数 → 按回车执行。选择菜单项只补全参数,不立即执行;preview 会打开轮次子菜单,按 Esc 可返回。

| 命令 | 用途 |
| /rollback | 选择轮次并打开确认弹窗 |
| /rollback latest | 直接回退最近的检查点 |
| /rollback <n> | 直接回退到第 n 轮之前 |
| /rollback list | 查看可回退轮次 |
| /rollback preview <n> | 预览受影响文件 |
| /rollback retry | 继续未完成的恢复 |
| /rollback abort | 对话尚未提交撤回时,尝试补偿文件操作 |
| /rollback rescues | 查看文件救援点,不自动恢复 |
| /rollback state | 查看当前回退状态 |
| /rollback diagnose | 查看诊断信息 |

latest 和数字命令直接执行,不显示确认弹窗。 如需先检查,请使用界面入口或 preview。

运行中不能回退。回退只处理具备恢复依据的已跟踪文件,不是整个工作区备份;外部修改警告提示相关内容可能被覆盖。恢复失败后先按提示使用 retry 或 abort,报错不代表文件操作已自动撤销;对话撤回提交后不能再 abort。回退不会删除原始会话日志。

工具回报的文件路径与捕获目标不一致时,该操作留下持久的恢复缺口。例如第 5 轮出现缺口,第 6 轮起正常保留的检查点仍可回退;从第 5 轮或更早开始的回退会在预览和执行时被拒绝,并提示缺口及之后可用的起始轮次。重启后限制仍保留;不会跳过缺口做部分回退或只撤回对话。恢复记录写入或读取失败仍可能阻止更大范围的回退。

开发

构建工具链要求 Node ^22.18.0 || >=24.11.0。

pnpm --config.verify-deps-before-run=false install --ignore-scripts
pnpm --config.verify-deps-before-run=false typecheck
pnpm --config.verify-deps-before-run=false test
pnpm --config.verify-deps-before-run=false check:readmes
pnpm --config.verify-deps-before-run=false build

DSH 0.2.1 已退役 invariant 服务,插件不再依赖 @deepseek-ai/dsh-invariants。公开的 ./invariant 入口保留为已弃用的空操作,旧配置可继续加载,也可移除该条目。宿主版本范围由顶层 engines.dsh 声明;旧宿主缺少 workingDirectory 时保留原有目录回退路径。

修改后需将构建产物安装到目标配置档,再重启 DSH 并刷新页面。版本变更见 更新日志。

许可证

MIT
预览分享卡片长什么样 ↓domitor-syh/dsh-rollback
分享 · DeepSeek Harness Hub
domitor-syh/dsh-rollback

为 DeepSeek Harness 打造的 TRAE 风格会话回滚插件

这是你的仓库?认领条目

回到顶部