竞品与生态位再评估(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)
- 生态判断修正——这是本次再评估最重要的变化:DeepSeek Harness 开源仅 2–3 天(首日 28k★),插件生态已涌现 ~3000 个仓库(GitHub 搜索
dsh plugin in:name,description2970 命中),并快速形成枢纽级玩家: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 占据,分发渠道已被市场/索引接管。 - 上游吸收没有继续,且本插件 0.5.0 起可脱离生产者独立工作:rewind 仍停在 0.5.0(2026-08-16T12:08Z 发布,npm 复核无更新),无工作区文件逐行 diff 吸收;其"两两对比"仍是设置页辅助视图(文件变更集 + 配置行级 diff)。本插件的核心(任意两节点逐文件逐行 diff + 意图标签 + 跨会话血缘 + 安全回滚 + headless)未被吸收;并新增轨迹重放(Trace)——从会话日志重放 write/edit 内容做区间 diff,无需快照生产者(详见 decoupling-design.md,已实现)。
- 直接竞品的"一键回滚"心智在加强:dsh-snapshot 升到 0.2.9(08-15),新增侧边栏快照时间线 + 设置卡片 +
/rollback可搜索选择面板(按"对话"分组整体撤回);turn-rewind 65★ 维持。但都没有任意两节点的工作区文件行级 diff(dsh-snapshot 无行级 diff、粒度按"对话"分组;turn-rewind 按消息粒度、仅 git 工作树)。 - 生态外格局不变且有利:Claude Code checkpointing 文档复核——仍无节点间 diff 视图(页面中唯一的 "diff" 指 VS Code 扩展以每文件首个快照为会话 diff 基线,单向、非节点间);OpenAI Codex 的 "/rewind 恢复聊天上下文 + 已应用的代码编辑"仍是 open issue(#11626)。"会话上下文 + 代码变更双重回退 + 快照时间线"这一组合在大厂仍是空白。
- 最大的现实短板不是功能,是分发:本插件在 awesome-dsh-plugin 索引 0 命中、dsh-snapshot 也 0 命中,而 turn-rewind 7、dsh-web-ui 119。生态早期,被索引/被市场收录 = 增长。P0 动作除 v2 域兼容止血外,必须加上分发。
- 兼容性风险未解决,且从"将临"变成"已发生":本插件
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-ui | Web GUI 插件与皮肤全家桶:任务看板、Git 图谱(分支泳道+提交历史)、右侧 SCM/文件树面板、SSH、移动端… | 3620★;npm 聚合包 @linxin666/dsh-web-ui-all |
| ccch1mneyyy/dsh-TUI | 官方公众号收录的 TUI 补位插件 | 1630★ |
| dsh-market/dsh-market | DSH 内可视化插件市场(浏览/搜索/一键安装) | 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 diff | git 原生 | 无 | 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 | 无内置 checkpoint | — | — | issue #11626(open):请求 "/rewind 恢复聊天上下文 + 已应用的代码编辑" |
| Cursor / Windsurf / Trae | 会话内 checkpoint | 部分 | 一键恢复 | IDE 内置;无节点 diff 视图 |
| Aider | 每次自动 commit | ✅ | git undo | git 基底方案 |
| 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 +sessionBoundary,kind/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(已核实) | 影响 |
|---|---|---|---|
| 域 version | 1 | 2 | 重声明需升 v2;version 变更即废弃整介质 |
forkSeq | 有(血缘依据) | 移除 → sessionBoundary | 血缘分支/⤷ fork 静默消失 |
| 新增必填 | — | kind、config | 记录多字段可容忍 |
| 新增可选 | — | tree、note、sessionBoundary | 可忽略 |
| 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 会话里精确回答"哪次工具调用、改动了哪个文件的哪几行,以及如何不冒风险地退回去"。
细分(都是现有工具没给全的):
- 可追究性:意图标签把快照与具体工具调用绑定("14:02 的
edit README.md")——rewind 设置页、turn-rewind、dsh-snapshot 都不提供; - 任意两点行级 diff:不依赖 git 提交节奏,任意两个"变更前瞬间"都可对比;
- 非 git 工作区:copy provider 的行级 diff + 回滚(turn-rewind、Claude Code 仅 git 工作树/跟踪文件);
- 跨会话/项目视角:fork 血缘 + 分支,回答"这个项目这几轮对话到底动了什么";
- 零风险恢复:预览 → 绝不删除 → 单次撤销 → 只读 git 原语,不动会话、不 fork;
- 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-rewindlatest=0.5.0(time 2026-08-16T12:08:43Z,此后无更新);dsh-snapshotlatest=0.2.9(08-15T09:10Z);@deepseek-ai/dshlatest=0.1.0-rc.6(无稳定版);@vimalinx/dsh-timemachine0.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,description:2970 hits(08-17)。 - Claude Code 文档(checkpointing,08-17 复核):全文无 timeline/compare;唯一 diff 指 VS Code 扩展以每文件首快照为会话 diff 基线(单向下沉,非节点间)。
- OpenAI Codex:issue #11626("/rewind checkpoint restore that reverts both chat context and Codex-applied code edits")——open。
- DeepSeek Harness:discussion #1629 官方插件脚手架 RFC(template repo + pnpm create dsh-plugin);docs/subsystems/session.zh.md 可读。
- awesome-dsh-plugin.com(08-17 复核):600+ 条目;
dsh-checkpoint-diff0 命中、dsh-snapshot0、turn-rewind7、dsh-gitflow7、dsh-web-ui119。 - 本插件侧(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 周。