Open lcolok opened 1 month ago
在使用BizyAir插件与ComfyUI配合时,我们发现当涉及Group Node(节点组)时,当前的节点ID处理方式会导致错误。具体来说,ComfyUI在处理Group Node时会使用带冒号的节点ID格式(如"155:0"),而BizyAir目前似乎只支持整数类型的节点ID。
ComfyUI的节点ID不再仅限于整数类型。对于Group Node中的子节点,ID格式变为 "主ID:子ID"(例如 "155:0")。
当前BizyAir(特别是BizyAirNodeIO类)的实现假设节点ID始终为可转换为整数的字符串。
这导致在处理Group Node时出现类似以下的错误:
ValueError: invalid literal for int() with base 10: '155:0'
这个问题影响了Group Node的复制和使用,可能会严重限制用户在复杂工作流中使用BizyAir插件的能力。
在没有使用Group Node的情况: 使用Group Node后,大大简化节点表示:
重新设计节点ID的处理方式,使其能够兼容带冒号的ID格式。
考虑创建一个专门的NodeID类来处理各种可能的ID格式,例如:
class NodeID: def __init__(self, id_string): parts = id_string.split(':') self.base_id = parts[0] self.sub_id = ':'.join(parts[1:]) if len(parts) > 1 else None
更新BizyAirNodeIO和相关类中的节点ID验证和处理逻辑,以适应新的ID格式。
确保在整个BizyAir项目中统一使用新的节点ID处理方式,包括但不限于:
添加向后兼容性支持,以确保现有的工作流和配置不会因此更改而破坏。
我们理解这可能是一个重大的改动,但我们相信这将大大提高BizyAir插件的可用性和与ComfyUI的兼容性,越早修改这个问题,后面遇到的问题可能会更少一些。当然,这个问题主要是跟ComfyUI的生态相关的,对于ComfyUI这个工具来说,Group Node也不是最主流,最多人使用的features,所以有待观望和讨论这个改进所带来的投入产出是否平衡。
感谢您对这个问题的关注和处理。
BizyAir对ComfyUI节点ID处理的改进建议
问题描述
在使用BizyAir插件与ComfyUI配合时,我们发现当涉及Group Node(节点组)时,当前的节点ID处理方式会导致错误。具体来说,ComfyUI在处理Group Node时会使用带冒号的节点ID格式(如"155:0"),而BizyAir目前似乎只支持整数类型的节点ID。
问题细节
ComfyUI的节点ID不再仅限于整数类型。对于Group Node中的子节点,ID格式变为 "主ID:子ID"(例如 "155:0")。
当前BizyAir(特别是BizyAirNodeIO类)的实现假设节点ID始终为可转换为整数的字符串。
这导致在处理Group Node时出现类似以下的错误:
这个问题影响了Group Node的复制和使用,可能会严重限制用户在复杂工作流中使用BizyAir插件的能力。
影响
在没有使用Group Node的情况: 使用Group Node后,大大简化节点表示:
建议的解决方向
重新设计节点ID的处理方式,使其能够兼容带冒号的ID格式。
考虑创建一个专门的NodeID类来处理各种可能的ID格式,例如:
更新BizyAirNodeIO和相关类中的节点ID验证和处理逻辑,以适应新的ID格式。
确保在整个BizyAir项目中统一使用新的节点ID处理方式,包括但不限于:
添加向后兼容性支持,以确保现有的工作流和配置不会因此更改而破坏。
额外考虑
我们理解这可能是一个重大的改动,但我们相信这将大大提高BizyAir插件的可用性和与ComfyUI的兼容性,越早修改这个问题,后面遇到的问题可能会更少一些。当然,这个问题主要是跟ComfyUI的生态相关的,对于ComfyUI这个工具来说,Group Node也不是最主流,最多人使用的features,所以有待观望和讨论这个改进所带来的投入产出是否平衡。
复现步骤
感谢您对这个问题的关注和处理。