feat: organize tools and enable qwen realtime calls

This commit is contained in:
Xin Wang
2026-08-14 00:15:00 +08:00
parent eb111a3890
commit 5be21f5ccc
71 changed files with 5771 additions and 2026 deletions
+3
View File
@@ -250,6 +250,7 @@ async def run_pipeline(
assistant_id: str | None = None,
channel: str = "webrtc",
protocol_adapter: PipelineProtocolAdapter | None = None,
client_tool_names: set[str] | None = None,
) -> None:
"""在给定 transport 上构建并运行管线,直到连接结束。
@@ -469,6 +470,7 @@ async def run_pipeline(
should_ignore_update=lambda: call_end.ending,
)
client_tools = ClientToolBroker()
client_tools.set_capabilities(client_tool_names)
# Confirmation nodes mute the user aggregator, which intentionally drops
# InterruptionFrame. Relay confirmation interruptions from the next
# processor instead so LLM, assistant aggregation, TTS, and output all see
@@ -1119,6 +1121,7 @@ async def run_realtime_pipeline(
on_state_change=queue_call_end_state,
)
client_tools = ClientToolBroker()
client_tools.set_capabilities(client_tool_names)
async def interrupt_for_client_tool_result() -> None:
"""Release confirmations after the realtime response is interrupted.