DSH Study Tree:用真实会话分叉做学习导航

前言

在 DeepSeek Harness(DSH)里顺着一条对话追问下去,常见情况是:回答里冒出你不熟的概念,想单独开一条线问清楚,又不想丢掉当前会话里的上下文和阅读位置。单独新建会话可以,但上下文要你自己复述;在同一会话里连发问题,主线和支线容易搅在一起。

DSH Study Tree 是社区维护的客户端插件:从已完成回答里划词 fork 出继承上下文的新会话,用树状导航把这些会话串成学习路径。下面按安装、用法和数据归属说明如何落地。

这是什么

插件名称为 dsh-study-tree,维护者为 duroey,分类为 客户端(platform: web),通过 Cordis patch 注入 DSH Web 的布局与会话 UI。它是独立的 DeepSeek Harness 社区插件,不隶属于 DeepSeek。

一句话定位:一个节点对应一个真实的 DSH session;聊天仍是原生 Agent 界面,树只负责导航与分叉关系。简介原文为:Learn through real DeepSeek Harness session forks, a tree navigator, and native Agent chat(学习导航:一个节点,一个真实会话)。

当前资料中的包版本为 0.1.6,许可证 MIT。engines 声明 DSH 宿主范围为 >=0.1.1-rc.2 <1.0.0,Node.js >=22.19.0;README 建议宿主侧使用 Node.js 24,安装与配置 DSH 请参考官方说明。

核心功能

以下能力均来自仓库 README,且与「真实 session fork」模型一致。

划词 fork:在一段已完成的回答中选中文字,用新问题创建分支,新会话继承到该回答所属已完成轮次为止的上下文。

递归深入:在子会话里正常聊天,也可以再次划词,创建下一层学习分支。

返回主线:通过树节点切换会话;「回到原文」尝试定位当初展开的段落;「回到来源会话」按保存的来源信息返回分叉点。

新开对话:不必先划词,可从当前会话提出新问题。首次发送前仅为临时草稿,取消、离开或刷新会丢弃;发送后才会真正创建分支,标题由首条问题自动生成(沿用 DSH 配置的模型,可能多一次辅助模型调用,失败时保留临时标题)。

同级排序:整行可拖动,同一父节点下的分支可调整顺序,子树一起移动;不同父节点之间不能拖动。拖动排序不会改变任何会话的上下文,仅影响导航索引。

专注学习:学习导航覆盖原有会话列表,收起后恢复原列表;对话继续使用 DSH 原生界面。

示例结构(每个节点都是可持续对话的会话,不是拆碎的一问一答):

声音采集
└─ 采样
   └─ 频率
      ├─ 采样率与声音频率的区别
      └─ 一个声波周期有多少个采样点?

安装与启用

需要 DeepSeek Harness Web。使用非 web 的 profile 时,将下面命令里的 web 换成你的 profile。

推荐从 npm 安装固定版本:

dsh plugin --profile web add dsh-study-tree@0.1.6
dsh web

也可使用固定版本的 Git 入口:

dsh plugin --profile web add github:duroey/dsh-study-tree#v0.1.6

或从 Releases v0.1.6 下载 dsh-study-tree-0.1.6.tgz 后本地安装:

dsh plugin --profile web add ./dsh-study-tree-0.1.6.tgz

仓库与 Release 已包含构建产物,使用者无需自行构建。更新已加载版本后,应重启 DSH 并刷新页面,确保 Host 与浏览器加载同一版本。

卸载:

dsh plugin --profile web remove dsh-study-tree

卸载不会删除原生 DSH 会话;导航数据仍保留在本地,可先自行备份。

典型用法

  1. 打开一个正常会话,在会话顶栏点「学习」,以当前会话作为学习主题根节点。
  2. 在已完成的回答中选中文字,点「深入了解」,填写要继续问的问题。
  3. 进入新分支后,在正常聊天框里继续对话;需要再深入时再次划词。
  4. 用左侧树切换会话;需要时用「回到原文」或「回到来源会话」返回分叉来源。
  5. 遇到无法划词的新问题时,点「新开对话」,输入并发送后才会创建分支。

划词分支使用你填写的名称或所选引用;「新开对话」分支在首条问题发送后自动命名。当前学习交互主要使用中文,插件管理器提供中英文名称与说明。

管理菜单中的「关联已有会话」只把已有会话加入索引,不产生新的继承关系;管理窗口里显式调整「导航位置」也只改索引,不会改写 fork 来源。

适用场景与注意

适合谁:在 DSH Web 里做概念递进学习、需要保留父会话讨论与阅读位置、又希望支线用独立 session 承载上下文的用户。

数据与权限:插件在已安装的 DSH 进程与浏览器环境中运行,树结构与分叉元数据写在本地;完整聊天与 Agent 执行仍由 DSH 管理。安装前应阅读源码与 MIT 许可,并知悉选区捕获与原文定位参考改编自 DSH Inline Study,第三方说明见仓库 THIRD_PARTY_NOTICES。

树文件路径:$DSH_HOME/community/dsh-study-tree/tree.json;未设置 DSH_HOME 时使用 ~/.dsh。同一 DSH_HOME 下各 profile 共用该导航文件。树内保存会话 ID、导航父节点、标题快照、分叉轮次、选中引用及前后文;阅读位置、面板开关与未完成操作的恢复回执保存在当前浏览器,未发送的草稿仅在内存中。

兼容性:截至 README 记载的 2026-11-08,核对到的 npm latest 为 DSH 0.2.2-rc.1,在该版本上 README 列出了递归 fork、多轮聊天、父会话隔离、返回来源、刷新恢复、临时草稿、自动标题、同级拖动等实机验证项;更完整的版本矩阵与边界见仓库 ARCHITECTURE.md 与 verification.json。公开 CI 通过接口契约检查,不等于全部 UI 交互已在每个宿主版本上验收。

结尾

DSH Study Tree 把「划词 → 继承上下文的新 session → 树导航」收成一条可复用的学习路径,主线与子线会话互不覆盖,排序只动导航不动上下文。社区目录页:duroey/dsh-study-tree;源码与文档:github.com/duroey/dsh-study-tree。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜