langflow终端报错组件
代码from lfx.custom.custom_component.component import Component from lfx.inputs.inputs import MessageTextInput from lfx.io import Output from lfx.schema.message import Message # 改用 Message class TerminalErrorExtractor(Component): display_name Terminal Error Extractor description Extract error messages from terminal tool output icon alert-circle inputs [ MessageTextInput( nametool_output, display_nameTool Output, infoInput the JSON/string output from terminal tool, ), ] outputs [ # 关键修改type_Message Output( display_nameError, nameerror, type_Message, methodextract_error, ), ] def extract_error(self) - Message: raw self.tool_output.strip() # 简单解析兼容字符串/JSON try: import json data json.loads(raw) except: # 如果不是 JSON直接返回错误 Message return Message(contentfERROR: {raw}) # 优先取 error 字段 if error in data and data[error]: return Message(contentfERROR: {data[error]}) # 再看 stderr if stderr in data and data[stderr]: return Message(contentfERROR: {data[stderr]}) # 再看返回码 if code in data and data[code] ! 0: return Message(contentfERROR: Exit code {data[code]}) # 没错误 → 返回正常输出 return Message(contentdata.get(stdout, Command executed successfully)) def build(self): return self.extract_error