竞品与生态位再评估(2026-08-17 复核

August 17, 2026 · View on GitHub

用途:回答"本插件(dsh-checkpoint-diff)的竞品是谁、生态位是否被挤压、对用户解决哪一小部分需求、可能的场景,以及如何做出更大差异化"。 本版为对同日早先版本的复核更新:① 修正"DSH 生态窄众"的判断(生态已爆发,窄的只是快照/diff 这一窄带);② 新增枢纽/市场级竞品与分发缺口事实;③ 上游吸收情况复查(未继续);④ 场景与差异化方向按优先级重排。 事实核实时间:2026-08-17(npm registry / GitHub API / 官方文档逐一复核,来源见 §7)。

0. 结论摘要(TL;DR)

  1. 生态判断修正——这是本次再评估最重要的变化:DeepSeek Harness 开源仅 2–3 天(首日 28k★),插件生态已涌现 ~3000 个仓库(GitHub 搜索 dsh plugin in:name,description 2970 命中),并快速形成枢纽级玩家:awesome-dsh-plugin 精选索引 5838★、dsh-web-ui 全家桶 3620★(内置 Git 图谱 + 右侧 SCM 面板)、dsh-TUI 1630★、dsh-market 638★、多个一键安装市场(bradeGithub 99★ / Sanqi-normal 66★ / zat-dsh-engine 64★),官方插件脚手架 RFC(discussion #1629)已提出。竞品评估的粒度必须从"插件级"提升到"枢纽级":快照/diff/回滚这一窄带仍是蓝海(相关插件 stars 普遍个位数),但"在 DSH Web GUI 里看文件变更"的心智正在被 dsh-web-ui 占据,分发渠道已被市场/索引接管。
  2. 上游吸收没有继续,且本插件 0.5.0 起可脱离生产者独立工作:rewind 仍停在 0.5.0(2026-08-16T12:08Z 发布,npm 复核无更新),无工作区文件逐行 diff 吸收;其"两两对比"仍是设置页辅助视图(文件变更集 + 配置行级 diff)。本插件的核心(任意两节点逐文件逐行 diff + 意图标签 + 跨会话血缘 + 安全回滚 + headless)未被吸收;并新增轨迹重放(Trace)——从会话日志重放 write/edit 内容做区间 diff,无需快照生产者(详见 decoupling-design.md,已实现)。
  3. 直接竞品的"一键回滚"心智在加强:dsh-snapshot 升到 0.2.9(08-15),新增侧边栏快照时间线 + 设置卡片 + /rollback 可搜索选择面板(按"对话"分组整体撤回);turn-rewind 65★ 维持。但都没有任意两节点的工作区文件行级 diff(dsh-snapshot 无行级 diff、粒度按"对话"分组;turn-rewind 按消息粒度、仅 git 工作树)。
  4. 生态外格局不变且有利:Claude Code checkpointing 文档复核——仍无节点间 diff 视图(页面中唯一的 "diff" 指 VS Code 扩展以每文件首个快照为会话 diff 基线,单向、非节点间);OpenAI Codex 的 "/rewind 恢复聊天上下文 + 已应用的代码编辑"仍是 open issue#11626)。"会话上下文 + 代码变更双重回退 + 快照时间线"这一组合在大厂仍是空白。
  5. 最大的现实短板不是功能,是分发:本插件在 awesome-dsh-plugin 索引 0 命中、dsh-snapshot 也 0 命中,而 turn-rewind 7、dsh-web-ui 119。生态早期,被索引/被市场收录 = 增长。P0 动作除 v2 域兼容止血外,必须加上分发
  6. 兼容性风险未解决,且从"将临"变成"已发生":本插件 lib/domain.mjs 仍声明 v1 域 + forkSeq;rewind 0.5.0 已把域升 v2、移除 forkSeq(换 sessionBoundary)。任何新部署装 rewind 0.5.0 后,血缘分支已经在静默降级为扁平合并。这是 P0。

1. 生态全景(复核)

1.1 枢纽与市场(新增 · 生态早期的主战场)

枢纽定位规模(2026-08-17)
awesome-dsh-plugin/awesome-dsh-plugin精选插件索引站(awesome-dsh-plugin.com)5838★,600+ 条目;本插件 0 命中
zhu1090093659/dsh-web-uiWeb GUI 插件与皮肤全家桶:任务看板、Git 图谱(分支泳道+提交历史)、右侧 SCM/文件树面板、SSH、移动端…3620★;npm 聚合包 @linxin666/dsh-web-ui-all
ccch1mneyyy/dsh-TUI官方公众号收录的 TUI 补位插件1630★
dsh-market/dsh-marketDSH 内可视化插件市场(浏览/搜索/一键安装)638★
0xsline/awesome-deepseek-harness生态索引(plugins/tools/infra)633★
AdamPlatin123/awesome-dsh-plugins自动扫描雷达索引(测试合格移入精选)1080★
bruc3van/awesome-dsh-plugin脚本每日抓取 dsh-plugin 标签仓库185★
bradeGithub/DSH-Plugins-Marketplace / Sanqi-normal/dsh-webui-market-plugin / mishibeikejie/zat-dsh-engine一键安装市场99 / 66 / 64★

含义:① 生态早期的采用由"被收录、被市场一键安装、被全家桶捆绑"驱动——功能再深,索引里找不到就等于不存在;② dsh-web-ui 已经占据了"在 DSH Web GUI 里看变更"的用户心智(git 图谱 + SCM 面板),本插件的面板是浮层式的"快照时间线 + 行级 diff",粒度(工具调用级快照 vs commit)与数据源(非 git 也可)不同,可互补,但也可能被吸收;③ 官方插件脚手架 RFC(#1629)落地后打包/分发形态会被标准化,早适配有先发优势。

1.2 直接竞品(快照 / diff / 回滚窄带 · 复核)

工具快照粒度行级 diff恢复/回滚与 AI 会话的关联状态(08-17)
dsh-checkpoint-diff(本插件)每次变更型工具调用前(消费 rewind 快照)✅ 任意两节点逐文件逐行(GUI / /diff / API;意图标签、目录树、变更块跳转)预览优先 → 应用;绝不删除;单次撤销;整节点或单文件会话内 + 跨会话项目级(fork 血缘、分支)0.4.2 已发布
dsh-checkpoint-rewind(上游生产者)每次变更前;0.5.0 起 + 每回合/定时/手动❌ 无工作区文件逐行 diff(设置页两两对比 = 文件变更集 + 配置行级 diff)/rewind 预览 → 恢复 → fork;0.5.0 起 seed-replay 会话回退单会话0.5.0 未再更新;4★;域 v2
dsh-snapshot(DfsyJian)每次 write/edit/删除前(目标文件内容)❌ 无行级 diff按"对话"整体撤回(可再撤回);/rollback 可搜索选择面板 + 风险确认条单会话(项目级配额)0.2.9(08-15):新增侧边栏快照时间线 + 设置卡片;3★
dsh-turn-rewind(Anionex)每条用户消息(turn 边界)Web 对话框:恢复文件 / 恢复并重启;rescue point + hash 校验单会话65★,pushed 08-16
dsh-undo-plugin(lire1131,npm dsh-undo-savepoint)配置 + 插件代码树(DSH 自身域,非用户工作区✅ 快照间差异(配置域)undo/redo/回退任意版本;一键安全模式与会话无关56★
dsh-checkpoint(dpskh)/ Kyl-s/dsh-checkpoint探索起点标记/上下文折叠❌(折叠上下文,非快照)会话内2★ / 0★
dsh-gitflow(lonelymoon87)每次人工 commit(git)✅ git diffgit 原生2★;相邻竞品
@vimalinx/dsh-timemachine插件树配置版本管理(非工作区快照✅ 配置差异配置回退无关0★;v1 归类修正

1.3 生态外(复核 · 工作流级)

工具快照粒度行级 diff恢复备注(08-17 复核)
Claude Code checkpointing + /rewind每对话回合(自动,git-tracked)❌ 无节点间 diff 视图;唯一 "diff" = VS Code 扩展以每文件首快照为会话 diff 基线/rewind 恢复文件官方文档复核;本模式的"标准答案"
OpenAI Codex无内置 checkpointissue #11626(open):请求 "/rewind 恢复聊天上下文 + 已应用的代码编辑"
Cursor / Windsurf / Trae会话内 checkpoint部分一键恢复IDE 内置;无节点 diff 视图
Aider每次自动 commitgit undogit 基底方案
git 基线(diff/restore + GitLens/delta 等)人工 commit✅ 生态成熟git restore无 AI 会话语义
IDE 本地历史 / 系统快照编辑级 / 小时级单文件修订级 / ❌单文件 / 目录级无会话语义

2. 生态位挤压评估(复核)

2.1 上游吸收 —— 未继续,但 v2 兼容债已到期

  • rewind 0.5.0(08-16T12:08Z)自带上设置页时间线 + 两两对比;08-17 复核:无 0.5.1+,无工作区文件逐行 diff 被吸收。本插件的核心能力仍是独占。
  • lib/domain.mjs 仍声明域 v1 + forkSeq(rewind 0.5.0 = 域 v2 + sessionBoundarykind/config 必填)。任何新部署装 rewind 0.5.0 后,血缘分支已实际静默降级(扁平合并、无分支下拉)。这是 P0 技术债,不是"将临风险"。

2.2 同类插件挤压 —— "一键回滚"心智被 dsh-snapshot 强化

  • dsh-snapshot 0.2.9 的侧边栏时间线 + /rollback 选择面板 + 风险确认条,把"自动快照 + 一键回滚"心智(Trae 式)做得很完整;turn-rewind 保持"消息锚定回退"心智(Claude Code 同款,用户最易理解)。
  • 本插件的"任意两节点逐行 diff + 意图标签 + 跨会话血缘"仍是少数派心智——既是弱点(不直观),也是空间(没有第二家做)

2.3 枢纽 / 主流 IDE 挤压 —— 判断修正

  • 修正 v1"DSH 生态窄众"的判断:窄的只是快照/diff 窄带(个位数 stars),生态本身已经爆发(~3000 仓库、5838★ 索引、多个市场)。
  • 真正的挤压来自枢纽:dsh-web-ui 全家桶把"Git 图谱 + 文件变更"做进了 DSH Web GUI 主流心智;若它下一步加"快照时间线"面板,浮层式面板会被边缘化。防线 = 粒度(工具调用级)与数据源(非 git 工作区)和可编程面(/diff + HTTP API)。
  • Claude Code / Codex / Cursor 的内置能力不变;Codex 的 /rewind 仍是 open issue——大厂组合拳尚未落地。

2.4 存储契约风险 —— 已解决(双版本消费,Unreleased)

0.4.x(本插件当前假设)0.5.0(已核实)影响
域 version12重声明需升 v2;version 变更即废弃整介质
forkSeq有(血缘依据)移除sessionBoundary血缘分支/⤷ fork 静默消失
新增必填kindconfig记录多字段可容忍
新增可选treenotesessionBoundary可忽略
git ref / copy 布局commit sha / $DSH_HOME/.../<uuid>/不变兼容 ✓

2.5 分发缺口(新增 · 生态早期最实际的短板)

  • awesome-dsh-plugin.com(600+ 条目):dsh-checkpoint-diff 0 命中,dsh-snapshot 也 0,turn-rewind 7、dsh-gitflow 7、dsh-web-ui 119。
  • 任何市场/索引/全家桶清单里都没有本插件 → 用户在 day-2 生态里根本发现不了它。
  • 行动:提交收录(awesome-dsh-plugin 与各市场仓库);确保 GitHub topic dsh-plugin(若未打立即补);盯官方脚手架 RFC(#1629)落地后按标准形态打包。

2.6 上游 bug 共生(新增 · 可转化为信任资产)

  • rewind 0.4.0/0.5.0 的 resolveSnapshotDir 在无 $DSH_HOME 的干净终端抛错(消费者插件在挂载时急切解析会拖垮整个插件树);草稿 issue 已备好(rewind-issue-draft.md,提交入口与复现步骤齐全)。
  • 本插件 0.4.2 已自行修复同路径(快照根回退 ~/.dsh,CHANGELOG Unreleased)——**"消费者比生产者更健壮"**是可信的故事,也应在 README 中写明,并把 issue 提给上游。

3. 用户视角:它解决的那一小部分需求

一句话:在 DSH 会话里精确回答"哪次工具调用、改动了哪个文件的哪几行,以及如何不冒风险地退回去"。

细分(都是现有工具没给全的):

  1. 可追究性:意图标签把快照与具体工具调用绑定("14:02 的 edit README.md")——rewind 设置页、turn-rewind、dsh-snapshot 都不提供;
  2. 任意两点行级 diff:不依赖 git 提交节奏,任意两个"变更前瞬间"都可对比;
  3. 非 git 工作区:copy provider 的行级 diff + 回滚(turn-rewind、Claude Code 仅 git 工作树/跟踪文件);
  4. 跨会话/项目视角:fork 血缘 + 分支,回答"这个项目这几轮对话到底动了什么";
  5. 零风险恢复:预览 → 绝不删除 → 单次撤销 → 只读 git 原语,不动会话、不 fork
  6. Headless/可编程/diff 命令 + HTTP API 供脚本、CI、其它 UI 消费(生态内唯一)。

4. 使用场景(深化:细分用户 × 频率 × 独特性)

#场景谁在用频率为什么只有本插件能答
1提交前审查 / 变更审计/diff <开始> latest → 变更清单 → 发现误改 → 单文件预览回滚开发者在长任务后、提交/PR 前意图标签 + 工具调用级粒度;rewind 设置页是辅助视图、dsh-snapshot 按"对话"分组过粗
2事故恢复:文件被覆盖/删除 → 时间线定位 → 预览 → 恢复 → 撤销所有用户中(发生时极高价值)预览先行 + 绝不删除 + 单次撤销;turn-rewind/rewind 恢复会 fork/重启会话
3长跑自主任务监督:agent 批量改代码时"从上一次到现在改了什么"跑长任务的用户中高变更块跳转 + (HEAD) 定位 + 任意两点;dsh-snapshot 只有对话级汇总
4多会话项目回顾:分支树里定位"哪个分支会话动了公共文件"重度 DSH 用户/团队低-中跨会话血缘分支是生态内唯一
5非 git 工作区追踪:文档、配置目录、脚本仓库外的目录文档/配置维护者copy provider 是生态内唯一(其余全部 git-only)
6交接与复盘:两节点 → Markdown 变更报告 → commit message/交接文档团队/个人意图标签 + 任意两节点 + headless 导出(方向 5.1)
7可编程审计/CI:"agent 是否碰了禁止文件"、"这轮改了几个文件"自动化/安全敏感用户低-中HTTP API + /diff//rollback 命令是生态内唯一 headless 面

优先级建议:场景 1(审计)与 2(事故恢复)是付费理由最强的入口,场景 3/4 是差异化展示面,场景 5/7 是独特卖点(写进 README 对比表)。

5. 差异化发展方向(按优先级重排)

P0 · 兼容性止血 + 分发(本周)

  • 5.0 v2 域适配已实现(Unreleased,随 0.5.0 发布)lib/domain.mjs 升 v2 主 spec + v1 回退 spec(schema 容错超集,见 lib/domain-schema.mjs),index.mjs 打开按 version-mismatch/malformed-medium 错误码双版本回退,rewind 在场时 get() 复用任意版本;project.mjs 血缘在 forkSeq 缺失时按子会话 createdAt 时间锚定;guard 检查点支持 v2 的 kind='guard'。集成测试三场景覆盖(v2 拥有者 / v1 介质回退 / 全新 v2 自开);rewind 0.5.0 运行时依赖 rc.6-only peers,本机 rc.5 profile 无法整体挂载,v2 记录由测试直接写入 v2 域验证(AGENTS.md 已记)。
  • 5.0b 分发:① 补 GitHub topic dsh-plugin 并核对仓库元数据;② 向 awesome-dsh-plugin(5838★,当前 0 命中)与 dsh-market / bradeGithub / Sanqi 市场提交收录;③ 把 rewind-issue-draft.md 提为 rewind 上游 issue——现含两条:snapshotDir 回退(0.4.0/0.5.0 均在),与 Windows 下 copy provider 捕获偶发缺失(快照目录重命名 EPERM + verifyByHash:false 时 size+mtime 去重误判,均有探针复现与日志)。

P1 · 审计/问答层(0.6.x · 低成本高差异化,rewind 抄不动)

  • diff 查询维度/diff --tool <name>--file <path>--since/--until--last-turn(自上次查看以来的变更——把 last-view 泛化为 what's-new);
  • 变更报告导出:两节点 → Markdown 报告(文件清单 + 意图标签 + 行级摘要),模型可读,直接贴 commit message / 交接文档;
  • 意图标签是第一查询维度:把"按工具调用审阅变更"做成招牌功能(rewind 0.5.0 与 dsh-snapshot 都没有 label 语义)。

P2 · 生产者独立(0.7.x · 护城河)

  • 轨迹 diff fallback(HANDOFF §16 探索 2)——已实现(0.5.0,见 decoupling-design.md:从 session.jsonl.zstd 重放 tool/call 内容型工具参数(write/edit 带完整内容),即使快照被配额逐出(50/512MiB)/被 git gc 回收(约 2 周)/rewind 缺席,也能回答"这次对话改了哪些文件";历史会话(装插件之前)同样可用——这是 dsh-snapshot/turn-rewind/rewind 全部没有的(它们都要"当时在场")。实现要点:sessionQuery.readSession 首选、zstd 帧直读兜底(Node ≥ 23.5);只重放成功调用(tool/result 过滤);bash 盲区与重放偏差以 notes 诚实报告。
  • 用户手动快照(探索 1):自建 user-snapshots 域 + 独立快照目录(copy 语义,算法同构),与 rewind 配额和 gc 隔离,作为时间线"锚点节点"——直接回应"历史不可靠"这一最痛的点(需按 AGENTS.md 扩展写路径边界并走设计评审)。未动

P3 · 模型入环与体验深化(远期)

  • 变更摘要:可选 LLM 生成两节点变更的自然语言摘要(需设计模型路由/权限——当前 permissions 为 network:none,需决策);
  • "文件最后一次在哪个节点变过"(blame 式反向索引);
  • 分支线可视化(Roadmap 已有)与 sessionProjections 索引化(宿主 checkpoint/* 事件词汇就绪后,解决 scope=project 全表扫描);
  • 与 dsh-web-ui 的 Git 图谱互补:其看 commit,本插件看工具调用级快照——考虑向枢纽投稿"快照时间线"子面板以获取分发,而非对抗。

6. 风险与注意事项(复核)

  • v2 域适配已实现(Unreleased,双版本打开 + 血缘时间锚定,见 §5.0);验证缺口:真实 rewind 0.5.0 整体挂载(需 rc.6 部署)与真实 0.5.0 捕获流,待 rc.6 环境或上游 CI 补验;
  • 上游继续吸收:若 rewind 把 /diff 命令/面板做了,命令面价值下降——重心放"分析/审计/导出"而非"展示";
  • 枢纽吸收:dsh-web-ui 若加"快照时间线",浮层面板被边缘化——靠粒度(工具调用级)、数据源(非 git)与 headless 面差异化,或主动投稿融入;
  • 生态早期波动:~3000 仓库、市场/索引每天在变,stars 无长期意义——事实复核周期缩短为"每次发布前"(§7 更新约定);
  • 兼容矩阵:目标 DSH rc.5/rc.6(npm latest 仍 0.1.0-rc.6),rewind 0.4.0(本机部署)与 0.5.0(npm 最新)并存期双兼容;
  • 安全边界:分发动作(市场收录)不引入任何代码依赖;P2 的手动快照需严格遵守现有写路径边界(AGENTS.md #1)。

7. 事实与来源(2026-08-17 复核记录)

  • npm registry(08-17 复核):dsh-checkpoint-rewind latest=0.5.0(time 2026-08-16T12:08:43Z,此后无更新);dsh-snapshot latest=0.2.9(08-15T09:10Z);@deepseek-ai/dsh latest=0.1.0-rc.6(无稳定版);@vimalinx/dsh-timemachine 0.2.0("Version control for a DSH profile's plugin-tree configuration"——非工作区竞品)。
  • GitHub API(08-17 复核):PerryLink/dsh-checkpoint-rewind 4★(pushed 08-16);Anionex/dsh-turn-rewind 65★(pushed 08-16);lire1131/dsh-undo-plugin 56★;DfsyJian/dsh-snapshot 3★(pushed 08-15);zhu1090093659/dsh-web-ui 3620★;awesome-dsh-plugin/awesome-dsh-plugin 5838★;dsh-market/dsh-market 638★;AdamPlatin123/awesome-dsh-plugins 1080★;ccch1mneyyy/dsh-TUI 1630★;lonelymoon87/dsh-gitflow 2★;dpskh/dsh-checkpoint 2★、dsh-rewind 2★;Kyl-s/dsh-checkpoint 0★;vimalinx/dsh-timemachine 0★。
  • GitHub 搜索 dsh plugin in:name,description2970 hits(08-17)。
  • Claude Code 文档checkpointing,08-17 复核):全文无 timeline/compare;唯一 diff 指 VS Code 扩展以每文件首快照为会话 diff 基线(单向下沉,非节点间)。
  • OpenAI Codexissue #11626("/rewind checkpoint restore that reverts both chat context and Codex-applied code edits")——open。
  • DeepSeek Harnessdiscussion #1629 官方插件脚手架 RFC(template repo + pnpm create dsh-plugin);docs/subsystems/session.zh.md 可读。
  • awesome-dsh-plugin.com(08-17 复核):600+ 条目;dsh-checkpoint-diff 0 命中、dsh-snapshot 0、turn-rewind 7、dsh-gitflow 7、dsh-web-ui 119。
  • 本插件侧(08-17):0.4.2 已发布(npm latest);lib/domain.mjs 仍 v1 + forkSeq(P0 债);rewind-issue-draft.md 草稿就绪(snapshotDir bug,0.4.0/0.5.0 均在,本插件 0.4.2 已自修同路径)。

更新约定:每次发布新版本前核对本节事实(尤其 rewind 的域 schema 与功能集、枢纽/市场名单、生态外大厂进展),保持对比表与"兼容性"声明不过期。生态早期,此周期建议 < 1 周。