You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vercel AI-SDK在Capacitor打包的iOS应用中无法流式响应

问题:Nuxt.js/Vue + Vercel AI-SDK + Capacitor iOS打包后无法获取API响应
  • 技术栈:基于Nuxt.js/Vue开发应用,使用Vercel AI-SDK,通过Capacitor打包
  • 异常现象:Chrome/Safari/Firefox浏览器中聊天功能正常,打包为iOS应用后无法获取API响应
  • 已排查结论:问题出在传输层,CORS配置无问题,API采用HTTPS协议
  • 核心实现:前端组件使用Chat类,API端通过streamText及result.toUIMessageStreamResponse处理流式响应

API代码片段

const openai = createOpenAI({
    apiKey: useRuntimeConfig().openaiApiKey,
});

const { messages } = await readBody(event);

const result = streamText({
    model: openai("gpt-4o"),
    messages: convertToModelMessages(messages),
    stopWhen: stepCountIs(10), // multi-steps for server-side tools
});

return result.toUIMessageStreamResponse({
    headers: {
        "Content-Type": "text/event-stream; charset=utf-8",
        "Cache-Control": "no-cache, no-transform",
        Connection: "keep-alive",
        "X-Accel-Buffering": "no",
    },
});

前端组件代码片段

const askAI = async (question: string) => {
    chat.sendMessage({ text: question });
};

const chat = new Chat({
    onFinish: (data) => {
        console.log("onFinish", data);
    },
    onError: (error) => {
        console.error("onError:", error);
    },
    transport: new DefaultChatTransport({
        api: `${apiURL}/test-chat-stream`,
    }),
});
const messageList = computed(() => chat.messages);

有没有其他开发者遇到过相同的问题?


内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 05:38:13