deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:QinLuza/dsh-rollback-visual
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
⚠️ 本仓库已报废,不要再用了
这里做的是对话回退(fork 子会话)+ 前端可视化,方向已被推翻:
- 对话回退:官方 DSH 自带 fork/分支功能,这里做的是重复造轮子;
- 前端可视化:DOM 注入方案有根本问题,已放弃。
替代项目:
QinLuza/dsh-file-undo—— 真正的成品:操作级回退(撤销 agent 的文件 write/edit 操作,/undo恢复到操作前),实测可用、已开源。本仓库仅保留作踩坑存档(
docs/踩过的雷.md记录了 10 个雷,供后续插件开发避坑用),不再维护。
DeepSeek Harness 会话回滚(/rollback)仓库:后端三件套(fork 子会话回滚,已可用)。前端可视化已放弃(DOM 注入方案有根本问题),踩坑记录见 docs/踩过的雷.md。
回滚 = 在会话事件日志里选一个边界 seq,fork 出一个子会话——源会话历史不变,子会话从边界处开始新时间线。
rollback/checkpoint 事件(记录 turn 号 + 边界 seq,可用 checkpoints: false 配置关闭),供人按"第几轮"回退,不用记 seq。rollback/start → rollback/end 事务标记(成功、失败都闭合,无悬空括号),全部落盘可重放。在 GUI 输入框输入(或 CLI 环境执行):
| 命令 | 作用 |
|---|---|
/rollback |
显示用法 + 当前会话所有 checkpoint 锚点列表 |
/rollback checkpoint |
回退到最近一个锚点 |
/rollback checkpoint:<turn> |
回退到指定 turn 的锚点 |
/rollback <seq> |
精确回退到指定事件 seq(高级用法,易错) |
示例:
/rollback
→ turn 3 -> seq 47
→ turn 7 -> seq 120
/rollback checkpoint:3
→ Rolled back to seq 47 — new child session rollback-xxxx.
成功后:新子会话已生成,在会话列表切过去继续;源会话保留原样,可随时切回。
注意:
busy(忙碌)、boundary(非法边界)、cancelled、persistence。DOM 注入渲染方案已放弃,不再重构。数据层(src/client/anchors.ts 的 conversationEvents/conversationViews 定义)写对了、可复用;渲染层(MutationObserver 钉 DOM)判死刑。完整踩坑记录与根因见 docs/踩过的雷.md。
rollback-anchor / rollback-bracket 两个分支,锚点成为轨迹的一等公民(跟布局、折叠、tooltip 走),数据层照抄本仓库 anchors.ts。rollback/start 的 boundarySeq 就是证据,白给)。sessionQuery.traceSession 现成,fork 时 parentSession 已记录)。WorkspaceSnapshotter seam——在此之前只能弹窗里写大字"文件不会回退"。ctx.rollback 包成 model tool,用户说"回到 XX 之前"就能回滚,不用手点也不用敲命令。后端三件套(timeline-rollback / rollback-basic / command-rollback):源码与构建配置见 feat/timeline-rollback 分支,加载方式为 profile 的 cordis.patch.yml 中 insert rollback-basic 与 command-rollback 两条(timeline-rollback 是 Service Definition,作为依赖自动引入,不要单独加载)。
前端插件(本仓库):
pnpm build
dsh plugin --profile web add .
src/index.ts host 空壳(浏览器插件,host 无事可做)
src/client/anchors.ts 数据层:conversationEvents/conversationViews 定义(✅ 可复用)
src/client/overlay.ts 渲染层:MutationObserver DOM 注入(过渡实现,待重构为原生节点)
src/client/styles.ts 徽标/弹窗样式(设计令牌驱动)
cordis.patch.yml loader 补丁(insert 到插件树)
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。