READMESource: main@b99f9c81
dsh-session-helix
功能
分支树
- 一条分支一列,一轮一行:分叉边从父轮的切点连到子分支的第一个自有轮次;没有产生自有轮次的空分叉画成虚线节点。
- 轮次节点:显示提问摘要、状态、耗时、工具数与
seq;悬停浮层显示完整问答,点开在右侧详情栏看全文。 - 分叉:对已结束的轮次点
⑂,从该轮之后创建子会话并自动打开。同一时间只允许一个分叉进行;同一切点已有未归档的空分叉时先确认,确认框只列这些空分叉。 - 归档 / 恢复:归档只影响侧栏可见性,节点仍留在树上并标「已归档」,可随时恢复;归档中的会话不能分叉。
- 过滤:只看当前分支 / 显示全部分支;不显示空分支;归档会话以暗色显示,不会消失。
- 导航:左侧目录按根会话定位;拖动画布平移;
Ctrl+ 滚轮或捏合缩放(0.7–1.4×,围绕指针);方向键在节点间移动;双击分隔条复位。 - 密度:紧凑 / 标准 / 宽松三档;目录宽度、详情栏宽度、缩放与密度都会记住。
草稿板
- 工作区级、多组并存:组可新建、重命名、删除(至少保留一组),用搜索式下拉切换;每组有独立的卡片、勾选和手改内容。
- 卡片来源:把树上的一轮(提问 + 回答)收进当前组,或在详情栏里选中一段文字点「摘录」。
- 卡片操作:勾选后才参与拼装;可拖拽排序、就地编辑、移出;
已改与预览角标标明状态。 - 拼装:以
## 参考片段开头,每张卡带【标题 · T7】与正文。未改动的卡片以原生引用 chip 进入输入框,改过的卡片以>纯文本进入,两者对模型可见的文本逐字一致。 - 填入当前会话:把拼装结果追加到当前输入框,保留已有 chip 与草稿;不新建会话、不替换草稿、不跨会话。失败时会说明是无输入框、输入框正忙、内容为空还是会话不属于工作区。
- 手改与复制:可直接改拼装区(标记「已手改」),也可以「重新拼装」回到自动结果或复制全文;清空组会先确认。
入口
| 入口 | 位置 |
|---|---|
| 分支树 | 会话视图页签(Chat / Trajectory 旁) |
| 分支树 | 工作区主面板(侧栏面板列表里的树形图标) |
| 草稿板 | 右侧栏页签,或分支树画布右侧的抽屉 |
安装
要求 DeepSeek Harness >=0.2.2-alpha.2 <0.3.0(当前只在 0.2.2-alpha.2 上验证过)。
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
数据与隐私
- 插件不发起网络请求,不上传任何内容。
- 草稿板把卡片的提问 / 回答正文保存在浏览器
localStorage(dsh-dst.drafts.v1);布局、目录宽度与视图开关也保存在本地。清除站点数据会丢失草稿板。 - 会话本身仍由 DSH 保存;插件只读取投影与事件,不写会话日志。
- 归档不是删除。DSH 没有删除会话的 API,本插件也不提供删除。
兼容性与限制
- 依赖
sessionProjections、conversation.view、conversation.input.overlay、sidebarRightTabs等公开接口。 - 界面目前只有中文。
- 分叉会复制父会话的继承前缀(大会话可达数 MB),所以同一时间只允许一个分叉;大分支上会有短暂等待。
- 空分支开关、草稿板内容与分叉确认都是本机浏览器 / 工作区范围,不跨设备同步。
开发
没有构建步骤,源码即产物:
node --check index.js
node --check client.js
License
MIT
No comments yet. Be the first to write one.