tanstack-ai-migration
GitHub指导将应用从 Vercel AI SDK 迁移至 TanStack AI,或处理 TanStack AI 内部版本升级。涵盖 API 映射、Codemod 自动化转换及类型检查验证,解决废弃 API 和破坏性变更问题。
Trigger Scenarios
Install
npx skills add TanStack/ai --skill tanstack-ai-migration -g -y
SKILL.md
Frontmatter
{
"name": "tanstack-ai-migration",
"description": "Move an app to TanStack AI from the Vercel AI SDK or raw provider SDKs, or move it off a deprecated TanStack AI API. Use when someone asks whether to switch AI libraries, when code mixes streamText, generateText, generateObject, createOpenAI, or @ai-sdk\/* with TanStack AI, when an upgrade breaks, or when someone hits a renamed option, a deprecated -ui package, or an old adapter shape. Triggers on \"migrate\", \"switch from Vercel AI SDK\", \"ai-sdk\", \"streamText\", \"upgrade TanStack AI\", \"deprecated\", \"breaking change\", \"codemod\"."
}
Migrating to TanStack AI
Two different jobs. Pick the one that matches the code in front of you.
Coming from another SDK
The name-by-name mapping lives in the docs, and it is longer than any summary that fits here:
https://tanstack.com/ai/latest/docs/migration/migration-from-vercel-ai
The shape of the change:
streamTextandgenerateTextbecome onechat()call with a streaming option.createOpenAI(...)becomes a tree-shakeable adapter, such asopenaiText()from@tanstack/ai-openai.onFinishand friends become middleware hooks.- Manual SSE wiring becomes the built-in response helpers.
generateObjectbecomes structured outputs onchat().
Read the guide, then load the target API's own skill with
npx @tanstack/intent@latest load @tanstack/ai#ai-core. Do not port from memory: a half-remembered mapping produces
code that type-checks in neither SDK.
Upgrading TanStack AI itself
Start with the version the app has, and the current release:
node -p "require('@tanstack/ai/package.json').version"
npm view @tanstack/ai version
Then read the guides for what changed:
- https://tanstack.com/ai/latest/docs/migration/migration
- https://tanstack.com/ai/latest/docs/migration/ag-ui-compliance
- https://tanstack.com/ai/latest/docs/migration/sampling-options-to-model-options
- https://tanstack.com/ai/latest/docs/migration/create-ui
Deprecated APIs keep working, so upgrade in steps rather than rewriting everything at once.
Codemods
Some renames have a jscodeshift transform. Run it straight from the repo, and
preview first with --dry --print:
npx jscodeshift \
-t https://raw.githubusercontent.com/TanStack/ai/main/codemods/ag-ui-compliance/transform.ts \
--dry --print src/
Each guide names the codemod that covers it, and what the codemod cannot reach. Server-side rewrites are usually manual.
After the port
Run the project's type checker. Most errors after a migration come from an API
that was remembered rather than read, so check the failing name against
node_modules/@tanstack/ai/src/ before changing it again.
Version History
- 645757a Current 2026-09-22 03:44


