用途:TanStack AI 是供应商无关、类型安全的 LLM 聊天 SDK,用于构建流式聊天 API 与前端界面,可在 OpenAI、Anthropic、Gemini、Ollama 之间切换适配器而不重写业务代码。核心包与框架无关,React/Solid 绑定只是对无头客户端的封装。
主要能力:通过适配器抽象各供应商差异;支持流式响应(HTTP 分块或 SSE);支持工具定义与调用,工具可区分服务端实现与客户端实现,并可用 needsApproval 要求用户批准敏感操作;用 Zod 定义工具输入输出 schema 保持类型安全;可用 maxIterations 限制智能体工具递归次数;适配器提供按模型的选项类型,减少无效参数。
使用方式:安装核心与一个适配器,例如 pnpm add @tanstack/ai @tanstack/ai-react @tanstack/ai-openai,并按需替换为 @tanstack/ai-anthropic、@tanstack/ai-gemini 或 @tanstack/ai-ollama,另建议安装 zod。服务端用 chat() 创建流并返回 toStreamResponse(stream),工具定义需传入服务端;客户端用 useChat 配合 fetchServerSentEvents('/api/chat') 接收流,并通过 clientTools 注册客户端工具实现。需配置对应 API key(OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY 或 OLLAMA_HOST)。
适用场景:需要流式聊天、跨供应商切换模型、带工具调用与审批流程的 React/Solid 应用,以及 Next.js 或 TanStack Start 的 API 路由。
限制:当前为 alpha;依赖 Node.js 20+、TypeScript 5+,React 需 19+,Solid 需 1.8+;devtools 仍在开发中;单次请求不要混用多个供应商适配器;工具应返回结构化对象而非抛出原始错误;客户端工具实现不应发送到服务端。具体收费与价格暂未提供。