🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话树分叉 robiteame/dsh-session-tree-extension

DeepSeek Harness
robiteame11 天前有提交已提供中文文档扫描:无法判定

dsh-session-tree-extension 给 DeepSeek-Harness 加上只追加、多分支的对话树——PI-Agent 风格的 SessionTree。智能体的历史变成一棵不可变节点树,任意历史节点都能分叉…

41.4/100
综合分
20
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add robiteame/dsh-session-tree-extension
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-session-tree-extension(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 15:49:24

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

3 张 · 点击查看大图

功能亮点

  • 只追加多分支对话树
  • 任意历史节点分叉
  • 带版本JSON快照
展开完整介绍(168 字)↓

dsh-session-tree-extension 给 DeepSeek-Harness 加上只追加、多分支的对话树——PI-Agent 风格的 SessionTree。智能体的历史变成一棵不可变节点树,任意历史节点都能分叉,支持标准 LLM 消息重建、带版本的 JSON 快照,还有嵌进现有聊天输入框的 WebUI 树面板(无需单独

README

由 DeepSeek 最新模型翻译生成
dsh-session-tree 为 DeepSeek-Harness 提供只追加、多分支的对话树——从任意历史节点分叉,把分支克隆成新会话,再把整条血缘当成一张合并的 WebUI 图来浏览。旧历史永远不会被编辑或删除。 三条命令: | 命令 | 作用 | | /tree | 打开合并的血缘图:所有非子代理会话与节点,可点击、可绑定 | | /fork | 从任意历史节点分叉——分叉会出现在图里,也会以行内菜单的形式挂在来源会话下方 | | /clone | 把当前对话复制成一个独立的新会话,归入同一项目 | 截图 树面板(浅色与深色),以及侧边栏里的行内分叉分支菜单: 会话树面板,浅色主题 会话树面板,深色主题 来源会话下方的行内 /fork 分支菜单: 行内分叉分支菜单 以四个 npm 包发布,统一在 @robiteame 作用域下: | 包 | 职责 | | @robiteame/dsh-session-tree | 载体 Bundle:装一次,就能通过它的组合层挂载下面所有内容 | | @robiteame/dsh-pi-agent-session-tree | 宿主领域服务:SessionTree/SessionTreeStore 领域模型,以及 sessionTree Remote |
展开完整文档(README 剩余 1 节)
dsh-session-tree

为 DeepSeek-Harness 提供只追加、多分支的对话树——从任意历史节点分叉,把分支克隆成新会话,再把整条血缘当成一张合并的 WebUI 图来浏览。旧历史永远不会被编辑或删除。

三条命令:

| 命令 | 作用 |
| /tree | 打开合并的血缘图:所有非子代理会话与节点,可点击、可绑定 |
| /fork | 从任意历史节点分叉——分叉会出现在图里,也会以行内菜单的形式挂在来源会话下方 |
| /clone | 把当前对话复制成一个独立的新会话,归入同一项目 |

截图

树面板(浅色与深色),以及侧边栏里的行内分叉分支菜单:

会话树面板,浅色主题

会话树面板,深色主题

来源会话下方的行内 /fork 分支菜单:

行内分叉分支菜单

以四个 npm 包发布,统一在 @robiteame 作用域下:

| 包 | 职责 |
| @robiteame/dsh-session-tree | 载体 Bundle:装一次,就能通过它的组合层挂载下面所有内容 |
| @robiteame/dsh-pi-agent-session-tree | 宿主领域服务:SessionTree/SessionTreeStore 领域模型,以及 sessionTree Remote |
| @robiteame/dsh-tool-session-tree | 命令入口:/tree /fork /clone 三条命令 |
| @robiteame/dsh-client-ui-session-tree | WebUI 树面板:Harness 0.2 右侧边栏里的原生标签页,对旧版官方构建另提供叠加式浮层兜底 |

安装(用户)

DeepSeek Harness Desktop

打开 Settings → Plugins → Market,搜索 @robiteame/dsh-session-tree,安装后重启桌面应用。桌面插件管理器会激活载体 bundle,下次启动时就会组合出三行(pi-agent-session-tree、tool-session-tree、ui-session-tree),分别加载宿主服务、命令和浏览器面板。

桌面应用目前内置 0.2.1-rc.2 版命令行,它的 dsh plugin 命令只会转发给 pnpm,不会激活新装好的 bundle。请改用应用内市场;重启之后,/tree 就能打开面板。

命令行(0.2.1-rc.3 及更新版本)

如果命令行自带 0.2.1-rc.3 插件管理器,一条命令就能安装并激活这个包:

dsh plugin --profile <profile> add @robiteame/dsh-session-tree

预构建的 tarball 安装方式相同,不需要构建脚本:

dsh plugin --profile <profile> add robiteame-dsh-session-tree-0.7.0.tgz

安装完成后重启配置档。验证组合后的层:

dsh --profile <profile> --dump-config # should list the three session-tree rows

需要 DeepSeek-Harness 0.2.1-rc.2 到 0.2.1-rc.3(最新发布的 next 是 0.2.1-rc.3;当前桌面版是 0.2.1-rc.2)以及 Cordis ~4.0.5;目标安装会提供这些同级依赖。不会运行安装脚本——tarball 自带预构建的 lib/ 产物。

三条命令

/tree —— 打开树面板

/tree 打开右侧面板,把当前会话的血缘关系显示为一张合并图:祖先、分叉和克隆出现在同一个 git 风格视图里,用户消息、助手回复、工具调用和模型切换显示为相连的节点。共享的复制前缀会去重,分叉点带会话徽标,当前会话的路径保持高亮。点击节点即可绑定;点击属于其他会话的节点会先打开那个会话。可以折叠单个子树或整个会话分支,以便聚焦图表。

/fork —— 从任意历史节点分叉

/fork 选一条更早的用户提示词,从那里长出新分支:对话沿新路径继续,原路径保持完整。分叉通过官方原生 fork API 创建,因此会出现在会话列表里,并带有真实的父子关联。插件把新分支加入合并图,还会在源会话那一行正下方,把它渲染成内联的可折叠菜单。两个视图都跟随官方响应式会话列表,所以新分支无需刷新就会出现。

/clone —— 复制成新会话

/clone 把当前对话——沿其根路径——复制成同一项目下的一个独立会话。源历史保持只读;克隆归你,可以单独继续。

分支切换与优雅降级

插件从不修改 Harness 核心文件。它在运行时探测可选的分支选择引擎 API 是否存在:

- 原生模式 —— 在带有 dev/session-branch-surface.patch
(Session.selectMessageSurface())的检出上,跳转/分叉会直接切换模型可见的历史:下一轮真正从新分支开始。
- 原版模式 —— 在未修改的官方 Harness 上,插件通过官方追加 API(一个空的 replace surface 事件)模拟切换,并在 $DSH_HOME/storages/session-tree/ 下放一个插件自有的 sidecar,用来持久保存分支状态。日志保持可恢复。
- 投影模式 —— 如果连模拟都不可用,导航会移动只保留树投影和面板,下一轮仍使用规范历史。

每种模式都如实说明自身状态:会话以非原生模式运行时,Host 日志会打印一次性提示。把原始 session.jsonl.zstd 连同匹配的 sidecar 文件一起在机器之间移动。

工作原理

- 只追加 —— 每个节点都不可变;分支和跳转只移动游标。旧分支从不编辑或删除。
- 每个条目都是节点 —— 消息、工具调用、模型切换、压缩记录、分支摘要都变成带类型的节点;每个节点有唯一的 nodeId 和 parentId(根为 null)。一个节点可以有多个子节点 —— 这就是分叉。
- 游标导航 —— 跳转把活动叶子移到历史节点;下一次追加从那里长出新分支。兄弟分支保持完整。
- LLM 上下文 —— 模型始终只收到根→游标路径的标准 messages 数组。

开发(贡献者)

仓库是 pnpm workspace,独立构建三个实现包(无需 Harness checkout):

pnpm install
pnpm verify # build + typecheck (host & client) + pack dry-run + vitest
pnpm pack:all # produce the four tarballs

测试针对已发布的 Harness 包(0.2.1-rc.3)运行 —— 即 stock 模式路径 —— 从仓库根目录用 vitest 执行。同一套测试对 0.2.1-rc.2 也通过,那是当前桌面构建捆绑的版本。packages/client/ui-session-tree 中的浏览器测试在独立套件里同时覆盖 0.2 原生右侧边栏注册和旧的 overlay 回退。

针对 Harness checkout 的源码集成

针对 0.2.1 Harness 源码 checkout 调试(原生分支切换和源码集成):

dev/install.sh /path/to/deepseek-harness # applies both dev patches + copies packages
cd /path/to/deepseek-harness && pnpm install && pnpm run build

每个补丁做什么,见 dev/README.md。此流程仅面向贡献者 —— 用户安装从不触碰 Harness checkout。

许可证

MIT。
预览分享卡片长什么样 ↓robiteame/dsh-session-tree-extension
分享 · DeepSeek Harness Hub
robiteame/dsh-session-tree-extension

dsh-session-tree-extension 给 DeepSeek-Harness 加上只追加、多分支的对话树——PI-Agent 风格的 SessionTree。智能体的历史变成一棵不可变节点树,任意历史节点都能分叉…

这是你的仓库?认领条目

回到顶部