Skip to content

叙述线

叙述线(原 Story Network)是 NarraFork 的项目全局视图。它以交互式有向图的形式,展示项目中所有章节及其关系,让你一眼看清项目的演进脉络。

节点与边

叙述线 由两个基本元素构成:

节点 —— 每个章节对应一个节点,展示章节的关键信息:

  • 标题、状态、角色
  • 所在分支、commit 数量
  • 叙述者数量、容器状态
  • 用户自定义的颜色标记

—— 章节之间的关系连线,共有四种类型:

边类型含义产生方式
Fork分叉关系,从父章节到子章节fork 操作时自动创建
Merge合并关系,从源章节到目标章节merge 操作时自动创建
Dependency显式依赖关系,表示下游依赖上游的代码用户手动连接
Cherry-pick选择性合并,从源章节挑选特定 commitcherry-pick 操作时创建

Fork 边决定了图的纵向层级 —— 父章节在上,子章节在下,形成自然的分叉树结构。Merge 边则横向连接,展示代码的汇聚方向。

布局

叙述线 采用自动布局与手动定位结合的方式:

  • 自动布局:基于 Dagre 算法,按 fork 关系自上而下排列,自动计算节点位置
  • 手动定位:拖拽节点到你想要的位置,位置会被记住。手动定位的节点不受自动布局影响

这样既能在章节较多时保持整洁的默认布局,也允许你按自己的理解调整关键节点的位置。

交互操作

在 叙述线 上,你可以进行以下操作:

  • 单击节点:打开侧边面板,查看和编辑章节详情(标题、描述、角色、颜色等)
  • 双击节点:进入章节详情页面,开始编码和 AI 对话
  • 右键菜单:对章节执行操作 —— fork、merge、休眠、唤醒、修改角色、删除等
  • 拖拽连线:从一个节点拖拽到另一个节点,创建 dependency 依赖关系
  • 拖拽节点:手动调整节点位置
  • 套索选择:框选多个节点进行批量操作
  • 缩放和平移:滚轮缩放,拖拽背景平移

实时更新

叙述线 会自动保持最新状态:

  • 每 30 秒自动刷新一次数据
  • 当有章节被创建、合并、休眠等操作时,通过 WebSocket 实时推送更新
  • 节点的 commit 数、叙述者数等信息会随操作同步变化

依赖追踪

当你在两个章节之间建立 dependency 关系后,叙述线 会追踪上游的变更。如果上游章节有了新的 commit,下游节点会显示提示标记,提醒你同步最新代码。

探索组

多个探索角色的章节可以组织为一个探索组,在 叙述线 上显示为可折叠的分组框。这方便你在对比多种技术方案时,将相关的探索分支放在一起,最终选定一个方案合并回主线。