diff --git a/api/app/core/workflow/adapters/dify/converter.py b/api/app/core/workflow/adapters/dify/converter.py index 2014b4c3..06c988d3 100644 --- a/api/app/core/workflow/adapters/dify/converter.py +++ b/api/app/core/workflow/adapters/dify/converter.py @@ -98,7 +98,7 @@ class DifyConverter(BaseConverter): if not var_selector: return "" selector = var_selector.split('.') - if len(selector) not in [2, 3]: + if len(selector) not in [2, 3] and var_selector != "context": raise Exception(f"invalid variable selector: {var_selector}") if len(selector) == 3: selector = selector[1:] @@ -332,7 +332,9 @@ class DifyConverter(BaseConverter): messages.append( MessageConfig( role="user", - content=self.trans_variable_format(node_data["memory"]["query_prompt_template"]) + content=self.trans_variable_format( + node_data["memory"].get("query_prompt_template", "{{#sys.query#}}") + ) ) ) vision = node_data["vision"]["enabled"] diff --git a/api/app/core/workflow/adapters/dify/dify_adapter.py b/api/app/core/workflow/adapters/dify/dify_adapter.py index dcd14c7f..6336b1f9 100644 --- a/api/app/core/workflow/adapters/dify/dify_adapter.py +++ b/api/app/core/workflow/adapters/dify/dify_adapter.py @@ -80,7 +80,7 @@ class DifyAdapter(BasePlatformAdapter, DifyConverter): return True def validate_config(self) -> bool: - require_fields = frozenset({'app', 'dependencies', 'kind', 'version', 'workflow'}) + require_fields = frozenset({'app', 'kind', 'version', 'workflow'}) if not all(field in self.config for field in require_fields): return False