chouyong/dsh-fork-diff
Read-only fork-aware conversation diff plugin for DeepSeek Harness
Listed
0
Session
Bundle verified
What it does
Read-only side-by-side comparison of related DeepSeek Harness conversation histories, including messages, tool calls, responses, timing, and usage.
Best for
- DSH users comparing the public histories of related parent, child, or sibling conversation branches side by side.
- Reviewers examining differences in messages, final responses, tool calls, tool results, timing, and visible token usage.
- Long-conversation reviews that need reverse pagination, change-only filtering, and explicit fallback to approximate fast alignment for large inputs.
Not ideal for
- Sessions without related branches, or comparisons between unrelated sessions; the plugin only exposes actual lineage candidates.
- Workflows requiring branch judgment or mutation, because it does not select a better branch, merge, cherry-pick, create forks, or write session events.
- Audits requiring an exact fork point or event-level common ancestor, which v1 does not claim because the public client summary lacks `seedLength`.
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
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:chouyong/dsh-fork-diff in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.