初识 TanStack AI
在前端应用中构建 AI 驱动的功能时,开发者往往需要在类型安全和灵活性之间做出选择。要么锁定特定提供商的 SDK 而失去可移植性,要么编写自定义抽象层而牺牲 TypeScript 的编译时保证。TanStack AI 提供了一种不同的方法:一个供应商中立的 AI SDK,在不强制你使用特定框架或提供商的前提下优先考虑类型安全。
本文介绍 TanStack AI 的核心概念,并解释为什么前端开发者应该关注这个早期阶段的工具包。
核心要点
- TanStack AI 是一个框架无关、供应商中立的 AI 工具包,具有强大的 TypeScript 支持,目前处于 alpha 阶段。
- 其基于适配器的架构提供了按模型的类型推断、流式优先设计以及保持包体积小巧的模块化导入。
- 同构工具让你可以定义一次工具,然后在服务器或客户端运行,并在两个环境中都具有完整的类型安全。
- 虽然尚未达到生产就绪状态,但 TanStack AI 解决了现有 AI SDK 未能解决的关于供应商锁定和类型安全的实际痛点。
什么是 TanStack AI?
TanStack AI 是一个框架无关的 AI 工具包,来自 TanStack Query 和 TanStack Table 背后的团队。它提供了一个统一的接口来使用多个 AI 提供商——OpenAI、Anthropic、Gemini、Ollama 等——同时在整个过程中保持强大的 TypeScript 支持。
该库目前处于 alpha 阶段。API 变化迅速,团队自初始发布以来已经进行了多次架构大修。这还不是生产就绪的基础设施,而是一个值得理解的新兴模式。
类型安全 AI SDK 背后的核心理念
基于 Schema 的类型安全
TanStack AI 将类型安全视为首要关注点。当你在适配器中指定模型时,TypeScript 立即知道有哪些选项可用:
import { openaiText } from '@tanstack/ai-openai'
chat({
adapter: openaiText('gpt-4'),
temperature: 0.6,
})
模型存在于适配器调用内部,这意味着自动完成可以立即工作。你可以获得针对特定提供商选项的按模型类型,无需手动类型注解。
工具和函数定义使用 Zod schemas(或 JSON Schema),确保输入和输出在编译时和运行时都得到验证。
流式优先架构
流式处理是 TanStack AI 设计的核心。该 SDK 围绕流式处理构建,而不是将其作为事后考虑。这对于聊天界面、实时转录以及任何用户期望即时反馈的应用都很重要。
模块化适配器架构
最近的版本将单体提供商适配器拆分为按模态的特定导入:
import { openaiText, openaiImage, openaiVideo } from '@tanstack/ai-openai'
这种方法保持了包体积的小巧。只导入你需要的内容。该架构还使团队更容易添加新的模态——图像生成、转录、文本转语音——而无需同时更新每个提供商。
TanStack AI React 和框架支持
虽然 TanStack AI 可以与原生 JavaScript 和 Solid 配合使用,TanStack AI React 提供了 React 开发者熟悉的 hooks 和模式。该库遵循与 TanStack Query 相同的框架无关理念:核心逻辑与框架绑定保持分离。
当前的客户端库包括:
- 原生 JavaScript
- Preact
- React
- Solid
计划支持更多框架。
Discover how at OpenReplay.com.
同构工具:服务器和客户端执行
一个独特的功能是同构工具系统。你使用 toolDefinition() 定义一次工具,然后通过 .server() 或 .client() 方法提供特定环境的实现。这在整个应用中提供了类型安全,同时让工具在适当的上下文中执行。
当某些操作需要服务器端 API 密钥而其他操作可以完全在浏览器中运行时,这种模式特别有用。
与现有 AI SDK 模式的比较
TanStack AI 将自己定位为 Vercel AI SDK 的供应商中立替代方案。主要区别包括:
- 框架无关:适用于任何 JavaScript 框架,不仅仅是 Next.js
- 无服务层:直接连接到提供商,无需中介
- 模块化包:只导入你需要的模态
- 开放协议:纯开源,无平台依赖
权衡之处在于成熟度。Vercel 的 SDK 有更多的生产经验和文档。TanStack AI 发展迅速,这意味着更多的灵活性但更少的稳定性。
路线图规划
团队已经概述了几个即将推出的功能:
- Standard Schema 支持(移除 Zod 依赖)
- 中间件模式
- 用于 AI 界面的无头 UI 组件
- 额外的提供商适配器(AWS Bedrock、OpenRouter)
- 开发工具和使用情况报告
结论
TanStack AI 还没有为需要稳定 API 的生产应用做好准备。但如果你正在探索 AI SDK 模式、构建原型或评估未来项目的选项,值得尝试一下。
强大的 TypeScript 支持、框架灵活性和模块化架构的组合解决了当前 AI 工具中的实际痛点。随着库的成熟,这些基础可能使其成为希望控制其 AI 技术栈而不牺牲开发者体验的团队的有力选择。
从官方文档开始,并预期会有变化。
常见问题
TanStack AI 目前处于 alpha 阶段,其 API 变化频繁。团队自发布以来已经进行了多次破坏性架构更改。它最适合用于原型设计、实验和评估未来工具选项,而不是需要稳定、文档完善的接口的生产工作负载。
TanStack AI 是框架无关的,无需服务层即可直接连接到 AI 提供商。它提供按模态的模块化导入,没有平台依赖。Vercel AI SDK 更成熟,文档更广泛,但与 Next.js 生态系统的耦合更紧密。
TanStack AI 目前通过其适配器系统支持 OpenAI、Anthropic、Gemini、Ollama 等。路线图包括 AWS Bedrock 和 OpenRouter 等额外提供商。每个提供商适配器都是模块化的,因此你只需导入应用中实际使用的模态。
目前,TanStack AI 使用 Zod schemas 来定义工具的输入和输出,提供编译时和运行时验证。但是,团队的路线图中包含 Standard Schema 支持,这将允许使用替代 schema 库,并在未来版本中移除对 Zod 的硬依赖。
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers. Check our GitHub repo and join the thousands of developers in our community.