CMDC.Provider.StreamBridge (cmdc v0.4.0)

Copy Markdown View Source

将 req_llm 的 StreamResponse 转为 gen_statem 消息的桥接进程。

在独立 Task 中遍历 req_llm 的 Stream,将每个 StreamChunk 转为 {:cmdc_stream_chunk, chunk} 消息发送给 Agent 进程。 流结束后发送 :cmdc_stream_done,出错则发送 {:cmdc_stream_error, reason}

消息格式

消息触发时机
{:cmdc_stream_chunk, %ReqLLM.StreamChunk{}}每个 chunk 到达
:cmdc_stream_done流正常结束
{:cmdc_stream_error, reason}流出错

Summary

Functions

启动 StreamBridge 进程,消费 StreamResponse 并将 chunk 转发给 Agent。

Functions

start(stream_response, agent_pid)

@spec start(ReqLLM.StreamResponse.t(), pid()) :: pid()

启动 StreamBridge 进程,消费 StreamResponse 并将 chunk 转发给 Agent。

返回桥接进程的 PID,Agent 可用于 stall 检测或强制终止。