Skip to content

ADR-008: 连线类型兼容性采用软提示 + 生成时处理

Status

Accepted

Date

2026-03-25

Context

不同节点类型之间的连线存在兼容性问题(如视频输出不一定能作为图片生成的输入),且不同 AI 模型的输入能力不同。需要决定在什么时机、以什么方式处理类型不兼容。

Options Considered

方案 A:连线时阻止

画布系统维护类型兼容矩阵,不兼容的连线直接不让创建。

  • 优点:用户不会构建无效工作流
  • 缺点:AI 模型能力在变,矩阵需要频繁更新;连线时还没选模型,无法准确判断;画布系统耦合 AI 业务逻辑

方案 B:生成时处理

允许任意连线,生成时忽略不兼容的上游输入或报错。

  • 优点:灵活,画布简单
  • 缺点:用户搭完工作流才发现不兼容,体验差

方案 C:连线时软提示 + 生成时处理

允许任意连线,但不兼容的连线显示视觉提示(虚线/警告色)。生成时忽略不兼容输入并提示用户。

  • 优点:不阻断用户操作,同时给出即时反馈;兼容性规则可随模型能力动态变化
  • 缺点:需要额外的视觉状态和提示逻辑

Decision

选择 方案 C:软提示 + 生成时处理

  • 连线时不阻止,不兼容的连线用视觉提示(虚线、警告色)标记
  • 生成时忽略不兼容的上游输入,toast 提示用户
  • 兼容性规则的 source of truth 在 AI Service 层(模型知道自己能接受什么输入),不硬编码在画布

Consequences

正面影响:

  • 用户可以自由搭建工作流,不被连线规则打断
  • 视觉提示给予即时反馈,不需要等到生成才发现问题
  • 模型能力变化时只需更新 AI Service 层,画布和连线规则不用改

负面影响:

  • 需要设计连线的警告态视觉样式
  • 画布需要从 AI Service 读取兼容性信息来渲染提示

替代此决策的条件

若用户反馈"不兼容的连线太容易误建",可考虑改为方案 A 阻止。