Fix AI stream by returning stream.value directly from Server Actions.

createStreamableValue must be created and returned in the action itself; wrapping in { data } or a helper return caused production RSC serialization errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-10 22:24:57 +08:00
parent 3933905d66
commit 0f3bc2c50a
7 changed files with 102 additions and 109 deletions
+6 -2
View File
@@ -1,6 +1,7 @@
"use server";
import { streamAIResponse } from "@/lib/ai/stream";
import { createStreamableValue } from "ai/rsc";
import { pumpAIStream } from "@/lib/ai/stream";
import {
formatLiuyaoTimingForPrompt,
getTimingInfoWithLongitude,
@@ -51,7 +52,9 @@ export async function getLiuyaoAnswer(input: LiuyaoInput) {
guaDetailText = "";
}
return streamAIResponse(
const stream = createStreamableValue<string>();
pumpAIStream(
stream,
LIUYAO_SYSTEM_PROMPT,
`${timingText}
@@ -63,4 +66,5 @@ ${input.question}
${guaDetailText}`,
);
return stream.value;
}