vercel ai sdk 官方不支持直接接入 jevapi,因其未在 @ai-sdk/* 生态注册、无公开文档且接口规范(鉴权、sse格式等)与openai不兼容;需手写流式代理或封装自定义languagemodel。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

目前 Vercel AI SDK 官方不支持直接接入 JevAPI(无公开文档、未在 @ai-sdk/* 生态中注册 provider,也未出现在 SDK 支持的模型列表中)。
为什么不能直接用 openai(...) 或 anthropic(...) 调用 JevAPI
JevAPI 是第三方自建或私有大模型服务接口,其请求格式、鉴权方式、流式响应结构(如 event: message / data: {...} 分块规则)、错误码体系通常与 OpenAI 兼容 API 不完全一致。Vercel AI SDK 的 openai() 等函数仅适配标准 OpenAI v1 REST 接口规范,无法自动处理 JevAPI 的定制字段、header 要求或非标准 SSE 格式。
可行的替代接入方案
若你已部署 JevAPI 并希望在 Next.js 或 Express 中与其流式交互,推荐以下两种务实路径:
-
方案一:绕过 SDK Core,手写流式代理路由
在app/api/chat/route.ts中直接使用fetch请求 JevAPI,手动解析其 SSE 响应,并用StreamingTextResponse或Response.stream()转发。需自行处理:
– Authorization header(如Bearer xxx或自定义 token)
– 消息体格式转换(例如将 JevAPI 的data: {"text":"a"}提取为纯文本流)
– 中断信号透传(req.signal)和超时控制 -
方案二:封装为自定义 LanguageModel(高级但可控)
利用 SDK 的createLanguageModel和streamText底层能力,实现一个兼容LanguageModelV3接口的 JevAPI 模型包装器。关键步骤包括:
– 实现doStream方法,内部调用 JevAPI 并映射到AsyncIterable<textstreampart></textstreampart>
– 正确处理abortSignal和重试逻辑
– 注册为jev('model-name'),后续可像官方模型一样使用
注意事项与调试建议
无论选哪种方式,务必验证以下三点:
- JevAPI 是否真实支持 Server-Sent Events(SSE)流式返回 —— 可用
curl -N直接测试,观察是否持续输出带data:前缀的块 - 响应 Content-Type 必须为
text/event-stream,否则浏览器或 SDK 流处理器会中断 - Vercel 边缘函数默认超时为 30 秒(Pro 计划可延长),若 JevAPI 响应慢,需在路由中显式设置
maxDuration = 60
不复杂但容易忽略
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











