前言¶
在 DeepSeek Harness(DSH)里做长会话时,常见做法是在同一条对话里不断追加提问,或在 DSH 自带能力里从某一轮之后开子会话。前者很难一眼看清「从哪一轮岔出去、各分支走到哪」;后者若缺少按轮次组织的视图,回溯和对比多条探索路径仍偏费劲。若还需要把多轮问答或片段拼成下一次输入,往往要在编辑器与聊天窗口之间来回复制。
下面介绍社区插件 dsh-session-helix(维护者 Analyzer3739,分类:工作流)。它在 Web 端提供按轮次排列的分支树,以及工作区级的草稿板,面向 DSH 会话分叉(session fork)场景,不替代 DSH 存会话,只读投影与事件并在本地保存草稿板数据。
这是什么¶
插件仓库:Analyzer3739/dsh-session-helix。目录页:skillhub.cn 条目。
一句话定位(与 package.json 描述一致):Turn-level branch tree and draft board for DeepSeek Harness session forks——即「轮次级分支树 + 草稿板」,服务 DSH 会话分叉。
当前版本 0.1.0,许可证 MIT。GitHub 星标为 0(以目录页信息为准)。插件不发起网络请求,不上传内容;界面目前只有中文。
分支树¶
分支树把分叉关系画成「一条分支一列、一轮一行」:
- 分叉边从父轮的切点连到子分支的第一个自有轮次;没有产生自有轮次的空分叉显示为虚线节点。
- 轮次节点展示提问摘要、状态、耗时、工具数与
seq;悬停可看完整问答摘要,点开右侧详情栏看全文。 - 分叉:对已结束的轮次点
⑂,从该轮之后创建子会话并自动打开。同一时间只允许一个分叉进行;同一切点若已有未归档的空分叉,会先确认,确认框只列出这些空分叉。 - 归档 / 恢复:归档只影响侧栏可见性,树上节点仍保留并标「已归档」,可恢复;归档中的会话不能分叉。
- 过滤:可只看当前分支或显示全部分支;可隐藏空分支;归档会话以暗色显示,不会从树上消失。
- 导航:左侧目录按根会话定位;拖动画布平移;
Ctrl+ 滚轮或捏合缩放(0.7–1.4×,围绕指针);方向键在节点间移动;双击分隔条复位。 - 密度:紧凑 / 标准 / 宽松三档;目录宽度、详情栏宽度、缩放与密度会本地记住。
入口有两处:会话视图页签(Chat / Trajectory 旁),以及工作区主面板侧栏面板列表中的树形图标。
草稿板¶
草稿板与工作区绑定,多组卡片可并存:
- 组可新建、重命名、删除(至少保留一组),用搜索式下拉切换;每组有独立的卡片、勾选和手改内容。
- 卡片来源:把树上的一轮(提问 + 回答)收进当前组,或在详情栏选中一段文字点「摘录」。
- 卡片操作:勾选后才参与拼装;可拖拽排序、就地编辑、移出;「已改」与「预览」角标标明状态。
- 拼装:以
## 参考片段开头,每张卡带【标题 · T7】与正文。未改动的卡片以原生引用 chip 进入输入框,改过的卡片以>纯文本进入;两者对模型可见的文本逐字一致。 - 填入当前会话:把拼装结果追加到当前输入框,保留已有 chip 与草稿;不新建会话、不替换草稿、不跨会话。失败时会说明是无输入框、输入框正忙、内容为空还是会话不属于工作区。
- 手改与复制:可直接改拼装区(标记「已手改」),也可以「重新拼装」回到自动结果或复制全文;清空组会先确认。
入口:右侧栏页签,或分支树画布右侧的抽屉。
草稿板中卡片的提问 / 回答正文保存在浏览器 localStorage(键名 dsh-dst.drafts.v1);布局、目录宽度与视图开关也在本地。清除站点数据会丢失草稿板。会话本身仍由 DSH 保存;插件不写会话日志。归档不是删除——DSH 没有删除会话的 API,本插件也不提供删除。
安装与启用¶
要求 DeepSeek Harness >=0.2.2-alpha.2 <0.3.0(README 写明当前只在 0.2.2-alpha.2 上验证过)。Node 引擎要求 >=22.19.0(见 package.json)。
在 Web profile 下安装并启动:
dsh plugin --profile web add github:Analyzer3739/dsh-session-helix
dsh web
安装后需重启该 profile;若只改前端,刷新页面即可。本地开发可 link 到源码目录:
dsh plugin --profile web add link:/absolute/path/to/dsh-session-helix
插件以当前 DSH 进程及 Web 前端权限运行;安装前建议在 GitHub 阅读源码与 MIT 许可证,确认符合你的环境策略。
典型用法¶
- 打开分支树页签或侧栏树形面板,按根会话浏览各列分支;用「当前分支 / 全部分支」与「不显示空分支」控制信息量。
- 在某轮已结束后点
⑂分叉;若同切点有空分叉,按确认框处理后再继续。 - 需要引用历史轮次时,把一轮收进草稿板当前组,或从详情栏摘录片段;勾选卡片后拼装,再点「填入当前会话」追加到输入框。
- 长会话探索完成后,对不再常看的分支做归档(侧栏隐藏,树上仍可恢复),避免侧栏 clutter。
依赖 DSH 公开接口如 sessionProjections、conversation.view、conversation.input.overlay、sidebarRightTabs 等;DSH 小版本升级若改动这些接口,插件可能需要跟随更新。
适用场景与注意¶
适合:在同一工作区内频繁从某一轮分叉、对比多条 agent 轨迹;需要把多轮问答或摘录片段拼成带引用 chip 的下一次输入的 DSH Web 用户。
限制(来自 README):
- 分叉会复制父会话的继承前缀(大会话可达数 MB),故同一时间只允许一个分叉;大分支上会有短暂等待。
- 空分支开关、草稿板内容与分叉确认均为本机浏览器 / 工作区范围,不跨设备同步。
- 社区目录站点与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件是社区工作流类扩展之一。
源码无构建步骤,可用下列命令做语法检查:
node --check index.js
node --check client.js
结尾¶
dsh-session-helix 把 DSH 会话分叉做成可导航的分支树,并用草稿板把轮次与摘录拼装进当前输入框,且网络侧零上传。若你的 Web 工作流已用到 0.2.2-alpha.2 一带的 DSH,可按上文命令安装试用。