Skip to content

toDataStream + createHaloStream ​

SSE 协议转换和自定义流式输出的工具。

toDataStream(source) ​

包装 AsyncGenerator<TurnChunk> 为 SSE Response。兼容 Vercel AI SDK 的 useChat。

ts
import { toDataStream } from "@halo-ai/stream";

// 在 Next.js API 路由中
return toDataStream(agent.sdkStream(messages));

SSE 协议 ​

TurnChunkSSE 输出
text-delta0:"<delta>"
tool-call-delta9:[<chunk>]
doned:{"usage":{...}}

createHaloStream(fn) ​

不走 HaloAgent 的自定义流入口。

ts
import { createHaloStream } from "@halo-ai/stream";

const stream = createHaloStream(async (ctrl) => {
  ctrl.writeText("处理中... ");
  await someAsyncWork();
  ctrl.writeText("完成!");
  ctrl.close({ promptTokens: 10, completionTokens: 5 });
});

基于 MIT 许可证发布