回退到任意历史提示词并 fork 重新编辑发送
25.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/tofe98/dsh-undo.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 回退历史提示词
- fork重新编辑发送
README
由 DeepSeek 最新模型翻译生成dsh-undo
给 DSH 会话用的撤销按钮和侧边标尺:回退到任意更早的提示词,通过 fork 重新编辑它。
基于 Cordis 可逆性范式构建——会话日志就是上下文,撤销一条提示词会把上下文恢复到更早的前缀(一次撤回),全程不改动原始日志。
功能
- ↶ 撤销按钮,位于会话头部。悬停会打开下拉菜单,列出你之前提示词的轨迹(每个用户轮次一条,最近的排在最前)。选中一条会在该提示词之前的轮次边界处 fork 会话,打开 fork,并把提示词文本预填到输入框,方便你编辑后重新发送。
- 侧边标尺,位于会话左边缘(一个独立的小元素,不需要宿主做任何改动):
- 每条用户/引导消息一个刻度——从第一条提示词起就始终可见(内置的查询导轨至少需要两条);
- 刻度来自实时聊天快照,并带时间线兜底,所以正在运行或分窗的会话依然能每个轮次显示一个刻度;
- 左键点击把会话跳转到该提示词;
- 右键点击弹出确认,然后直接从标尺执行同样的撤销。
- 当前刻度跟随你的滚动位置。
安装
从插件市场入口安装,或直接执行:
dsh plugin --profile web add github:tofe98/dsh-undo
不需要宿主端,不需要构建步骤,不需要 RPC:一切都从实时会话快照计算得出。
用法
1. 在一个会话里发送几条提示词。
展开完整文档(README 剩余 1 节)
dsh-undo
给 DSH 会话用的撤销按钮和侧边标尺:回退到任意更早的提示词,通过 fork 重新编辑它。
基于 Cordis 可逆性范式构建——会话日志就是上下文,撤销一条提示词会把上下文恢复到更早的前缀(一次撤回),全程不改动原始日志。
功能
- ↶ 撤销按钮,位于会话头部。悬停会打开下拉菜单,列出你之前提示词的轨迹(每个用户轮次一条,最近的排在最前)。选中一条会在该提示词之前的轮次边界处 fork 会话,打开 fork,并把提示词文本预填到输入框,方便你编辑后重新发送。
- 侧边标尺,位于会话左边缘(一个独立的小元素,不需要宿主做任何改动):
- 每条用户/引导消息一个刻度——从第一条提示词起就始终可见(内置的查询导轨至少需要两条);
- 刻度来自实时聊天快照,并带时间线兜底,所以正在运行或分窗的会话依然能每个轮次显示一个刻度;
- 左键点击把会话跳转到该提示词;
- 右键点击弹出确认,然后直接从标尺执行同样的撤销。
- 当前刻度跟随你的滚动位置。
安装
从插件市场入口安装,或直接执行:
dsh plugin --profile web add github:tofe98/dsh-undo
不需要宿主端,不需要构建步骤,不需要 RPC:一切都从实时会话快照计算得出。
用法
1. 在一个会话里发送几条提示词。
2. 悬停会话头部的 ↶ → 选一条更早的提示词 → 打开一个 fork 出的子会话,回退到该提示词之前,输入框预填该提示词文本。
3. 编辑后重新发送,或者右键点击标尺刻度 → 撤销(确认后),从侧边标尺走同样的流程。
注意:
- 原始会话保持不动——撤销是一次 fork(论文里的撤回语义:恢复而不销毁日志)。
- 子会话通过 DSH 的投影机制(harness 的缓存上下文路径)重建。
- 撤销会恢复会话状态,但被撤销轮次的外部副作用(文件编辑、网络调用)不会回滚——它们是系统边界之外的排放(论文 §6.1)。
工作原理
- 浏览器端读取实时会话快照:用 user/steering 节点得到轨迹,用轮次结束映射(chat.turnEnds)算出每条提示词的 fork 边界(上一轮的 turn/end seq)。
- 撤销调用 sessions.fork({ sessionId, atSeq: boundary }),打开子会话,并通过 inputActions.setDraft(text) 预填。
- UI 位于 conversation.session.header.actions(按钮)和 shell.overlay(下拉面板 + 侧边标尺)。
缓存命中:撤销 + 重发测试
撤销并重发同一条提示词会保留整个请求前缀,所以服务商侧前缀缓存应该复用它。我们做了端到端测量(DeepSeek 自动前缀缓存、deepseek-v4-flash、reasoning effort High):
| 运行 | 原始用量(assistant/chunk) | 单请求命中率 |
| 消息 1「ciao, mi piace deepseek」 | input=8107, cacheRead=1792 | ~22%(只命中共享的系统提示词前缀) |
| 消息 2「molto interessante, vorrei parlare con te」 | input=134, cacheRead=9856 | 98.7% |
| 撤销消息 2 → 原样重发 | input=6, cacheRead=9984 | 99.94% |
重发时,计费的 9 990 个输入 token 里有 9 984 个读自缓存——撤销加重发这套流程实际上就是一次完整的缓存命中。剩下约 6 个 token 是新用户消息重新序列化后的尾部(它在分叉里拿到了新的 id)。
为什么两次运行里对话的「Cache hit: 59%」都显示约 59%:
- 这个读数按会话累计,不是按请求:它把日志里每个用量块都加起来,包括第一次请求那次大规模的冷未命中(运行时上下文快照、技能目录的系统提醒、以及提示词本身都是新的)。两个会话最后都停在 (1792+9856)/(8107+134+1792+9856) ≈ 59%,因为分叉继承了父会话消息 1 的用量块,总数相同。
- 单请求的数字在会话日志里:assistant/chunk 事件带 {"type":"usage","usage":{...}},其中 hit = cacheReadTokens / (cacheReadTokens + inputTokens)。Trajectory 视图也会显示每个单元格的 cacheRead。
- 注意适配器的 inputTokens 字段并不统一(消息 1 报的是总数,后面的块只报新增 token),所以 UI 里的百分比可能低估真实命中率——原始块才是准的。
缓存命中优化的要点:
- 撤销(在上一轮边界处分叉)会保留整个消息前缀——这是前缀缓存的理想流程。
- 保持模型固定、系统提示词确定(本次部署里没有时间戳),并在服务商的缓存有效窗口内重跑;长时间空闲后第一次重跑会未命中,第二次才命中。
- 第一次请求约 18–22% 的下限来自跨会话缓存的共享系统提示词前缀;如果某个会话的第一次请求就已经是热的,那它从一开始就显示约 100%。
Structure
lib/
index.js # node half — empty apply so the Loader has a host-side row client.js # browser half — the whole feature (module-loader format) cordis.patch.yml package.json # dsh.bundle + dsh.client declarations
Development
插件是纯 JavaScript——没有构建步骤。开发期间想试用,可以通过 harness 的动态插件系统加载 lib/client.js,或者从本地路径安装这个包。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
tofe98/dsh-undo
回退到任意历史提示词并 fork 重新编辑发送
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7
这是你的仓库?认领条目