插件目录 / Developer / dsh-fork-diff
dsh-fork-diff
已验证 · 实测可装 chouyong
功能简介
Read-only fork-aware conversation diff plugin for DeepSeek Harness
可用 — 实测通过,早期项目
Read-only fork-aware conversation diff plugin for DeepSeek Harness 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-fork-diff
在 DeepSeek Harness 中并排比较相关会话分支。它把当前会话与父分支、子分支或兄弟分支的公开历史对齐,突出回答、工具调用和工具结果的差异,全程只读。
为什么需要它
同一轮对话 fork 后,常见问题不是“有哪些分支”,而是“两个分支的公开历史具体有哪些不同”。逐个打开会话并来回滚动很难比较长回答、工具轨迹和 token 开销。dsh-fork-diff 将这些信息放在一个可筛选的双栏视图中。
功能
- 自动发现当前会话的父、子和兄弟分支,不混入无关会话。
- 对齐用户消息、assistant 最终回答、工具调用和工具结果。
- 区分不变、已修改、仅左侧和仅右侧内容,并提供行级文本高亮。
- 汇总用户消息、回答、工具调用、耗时和可见 token usage。
- 支持比较对象切换、只看变化/显示全部、打开对应会话。
- 支持桌面双栏、移动端单栏、Escape 关闭、焦点陷阱和焦点恢复。
- 完整历史反向分页,包含取消、重复序号、无进展、非连续页和页数上限保护。
- 大历史和长文本会显式进入快速对齐模式,不把近似结果伪装成精确结果。
安装
需要 DeepSeek Harness 0.1.0-rc.5 或兼容版本,以及 Node.js ^22.19.0 || >=24.0.0。
v0.1.0 Release 发布后,可用下面的一行命令安装预构建 tarball 到 web profile:
dsh plugin --profile web add https://github.com/chouyong/dsh-fork-diff/releases/download/v0.1.0/dsh-fork-diff-0.1.0.tgz
启动或重启对应 profile:
dsh --profile web
Release 发布前或需要复核构件时,可先使用本仓库本地已验证的 tarball:
dsh plugin --profile web add .\dsh-fork-diff-0.1.0.tgz
DSH 0.1.0-rc.5 当前从 Git source 安装时会在 prepare 阶段解析到尚未发布的 DSH peer 包,因此不把 Git source 路径描述成可用安装方式。远端 Release 只有在上传后下载并核对与本地验证构件相同的 SHA-256,才视为可用安装源。
网络超时、Git source prepare、入口不显示和历史分页错误的处理方法见 安装与排障。
卸载:
dsh plugin --profile web remove dsh-fork-diff
使用
- 打开一个存在父、子或兄弟分支的 DSH 会话。
- 点击会话标题栏中的“比较分支”。
- 从“比较对象”选择相关分支。
- 在“仅差异”和“全部”之间切换,或从分支摘要中打开对应会话。
没有相关分支时,插件不会显示一个无效的比较入口。
截图
真实 DSH 0.1.0-rc.5,Microsoft Edge,2026-08-16:
兄弟分支差异

父分支选择

移动端单栏

隐私与边界
插件只读取 DSH 浏览器中已公开的会话列表和 sessions.history API:
- 不创建 fork,不写 session event,不修改文件。
- 不恢复后台 Agent,不注入 prompt,不上传会话正文。
- 不读取 Cookie、凭据、隐藏数据库或未公开运行态。
- 不判断哪个分支“更好”,不执行 merge 或 cherry-pick。
- 客户端摘要没有公开持久化
seedLength,因此 v1 不宣称精确 fork 点或事件级共同祖先。
开发
npm install --ignore-scripts --legacy-peer-deps
npm run verify
npm run verify 依次执行类型检查、生产构建、完整测试和 browser bundle contract。浏览器构件使用 DSH window.__ModuleLoader__,并从宿主加载 React、Cordis 和 DSH UI 模块,避免打包第二份 React。
贡献代码前请阅读 贡献指南。
模块边界、数据流和失败关闭策略见 架构文档。
兼容性
| 组件 | 已验证版本 |
|---|---|
| DeepSeek Harness | 0.1.0-rc.5 |
| Node.js | v25.0.0 |
| npm | 11.6.2 |
| pnpm(DSH profile) | 11.7.0 |
License
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-fork-diff」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:chouyong/dsh-fork-diff Headless(CLI)profile:
dsh plugin --profile headless add github:chouyong/dsh-fork-diff 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。