Enhance workflow engine and frontend components with transition speech support

- Introduce edge transition speech functionality in the WorkflowEngine to provide optional speech during node transitions.
- Update pipeline execution to utilize the new transition speech feature, enhancing user experience by masking delays during transitions.
- Modify frontend components to support transition speech in edge specifications, allowing users to define and edit transition speech for edges.
- Refactor edge handling logic in the WorkflowEditor to accommodate the new transition speech field, improving workflow management capabilities.
This commit is contained in:
Xin Wang
2026-06-15 15:57:05 +08:00
parent 09a5ffbdbc
commit c2ef76620e
4 changed files with 76 additions and 10 deletions

View File

@@ -50,6 +50,18 @@ class WorkflowEngine:
def edge_condition(self, edge: dict) -> str:
return (edge.get("data") or {}).get("condition") or ""
def edge_transition_speech(self, edge: dict | None) -> str:
"""命中该边、切换节点瞬间播报的过渡语(可选,掩盖延迟,不写入上下文)。"""
if not edge:
return ""
return (edge.get("data") or {}).get("transition_speech") or ""
def find_edge(self, source: str | None, target: str | None) -> dict | None:
for edge in self.edges:
if edge.get("source") == source and edge.get("target") == target:
return edge
return None
def edge_description(self, edge: dict) -> str:
"""作为转移函数的 description 交给 LLM:满足该条件时模型应调用此函数。"""
cond = self.edge_condition(edge)