dsh-session-fork:为 DSH 会话增加类 git 的分支管理

前言

在 DSH 智能体开发里,会话通常是上下文边界。会话变长后,继续聊容易把无关内容越堆越多;换一个新会话又可能丢掉已经建立的上下文。dsh-session-fork 把会话 fork 变成类 git 的 branch refs:fork 出来的会话成为可管理的分支,分支上的新增 turns 也可以再合并回主线。

这是什么

dsh-session-fork 是一个 DeepSeek Harness(dsh)插件,描述为:

dsh plugin: git-like conversation forking (branch refs on sessions)

它不能独立运行,需要安装到 dsh 中使用。已核实资料给出的仓库地址为:

https://github.com/Jason-skd/dsh-session-fork

许可证为 MIT。当前资料未额外给出作者字段;仓库地址中的账号为 Jason-skd

核心功能

下面介绍三类已核实能力:

  • 接管原生 fork:官方 dsh fork action 被接管,因此每次 fork 都会成为 managed branch。
  • 分支间操作:可以把某个分支独有的 turns 和 conclusions squash 回 main 分支或其他分支。
  • 分支可视化:使用 vendored VS Code Source Control Graph,提供类似 VS Code 的分支查看体验。

安装与启用

安装要求一个基于 web-app 的 dsh profile。命令如下:

dsh plugin --profile web add dsh-session-fork

安装后,可以在任意 session 中使用分支命令,也可以切到 branch tab,通过图形界面执行相同操作。

package.json 中列出了若干 peerDependencies,并标记为 optional。启用前可以结合 dsh profile 环境确认这些可选依赖是否已经存在。

典型用法

下面的示例来自已提供的用法示例:

  1. 先把当前 session 命名为 main 分支:
/branch adopt main          # name the current session as branch 'main'
  1. 在最后一个已完成 turn 处 fork 出 review 分支:
/branch review              # fork a 'review' branch at the last completed turn
  1. review 分支上,把新增 turns 压缩回 main
/squash into main           # (on 'review') compress the new turns back into main

执行完上面几步后,也可以切到 branch tab,用图形界面查看分支并做同类操作。

适用场景与注意

适合在 DSH 中做长会话管理、希望把一条会话拆成多个分支、并在保留主线上下文的同时把分支结论合并回来的使用者。

使用前注意:

  • 这是 DSH 插件,不能脱离 dsh 独立运行。
  • 安装命令要求 web-app-based dsh profile。
  • 插件会随当前 dsh 进程运行,安装前应检查源码、许可证,以及 package.json 中的可选 peerDependencies。
  • 当前已核实资料未给出 star 数、分类等字段;目录页是社区插件目录,不应写成官方应用商店。

相关链接

目录页:

https://www.skillhub.cn/plugins/Jason-skd/dsh-session-fork

GitHub:

https://github.com/Jason-skd/dsh-session-fork
羽毛球分组比赛记分
小程序二维码

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

Xiaoye