Appearance
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 阻止。