背景
目前 spec/service-ai 层定义了若干自研 AI Chat 协议/类型(如 AIMessage/AiChatRequestSchema/AiChatResponseSchema/AIStreamEvent),主要用于后端与 objectui 前端的对接。但 objectui 前端已全量采用 Vercel AI SDK(@ai-sdk/react/useChat),其消息、SSE协议、ToolCall协议均直接依赖 Vercel 官方包,并且前端不会消费自定义的 Zod schema 或 TypeScript 类型。
对齐 Vercel,要把协议演进/维护责任交给上游,减少冗余和潜在兼容成本。
需完成的工作
1. 移除重复协议/类型定义
2. 服务端Handler与SSE协议对齐
3. 仅保留/适配 spec 独有内容
4. 生态兼容性&风险管控
预期效果
- 让 objectui <-> service-ai 代码零自定义协议桥接,全部统一到 Vercel/ai SDK 及其类型
- 明显减少二次维护成本和升级出错风险
- 不破坏 NLQ/元数据独有协议与扩展能力
背景
目前 spec/service-ai 层定义了若干自研 AI Chat 协议/类型(如 AIMessage/AiChatRequestSchema/AiChatResponseSchema/AIStreamEvent),主要用于后端与 objectui 前端的对接。但 objectui 前端已全量采用 Vercel AI SDK(@ai-sdk/react/useChat),其消息、SSE协议、ToolCall协议均直接依赖 Vercel 官方包,并且前端不会消费自定义的 Zod schema 或 TypeScript 类型。
对齐 Vercel,要把协议演进/维护责任交给上游,减少冗余和潜在兼容成本。
需完成的工作
1. 移除重复协议/类型定义
AIMessage、AIToolCall、AIStreamEvent、AiChatRequestSchema、AiChatResponseSchema等 TypeScript 和 Zod 定义,转为直接 re-export Vercel/ai 的类型:import type { CoreMessage, ToolCall, DataStreamPart } from 'ai'IAIService/IAIConversationService的依赖,但接口方法参数改为 Vercel 类型2. 服务端Handler与SSE协议对齐
3. 仅保留/适配 spec 独有内容
IAIService/IAIConversationService继续作为依赖倒置合约,但推荐方法签名参数引入 Vercel aiSDK 类型4. 生态兼容性&风险管控
预期效果