@ai-sdk/codemod

中文文档
4.0.4发布于 2026/11/05Apache-2.0构建来源已验证近 30 天下载 1.7万
中文使用文档
文档目录21 节
  1. 快速启动
  2. 运行全部代码( 建议)
  3. 运行版本特定代码
  4. 运行单个代码
  5. 可用的代码
  6. v4 代码 (v3 → v4 迁移)
  7. v5 代码 (v4 → v5 迁移)
  8. v6 代码 (v5)- v6 迁移)
  9. CLI 选项
  10. 图标
  11. 全球选项
  12. 实例
  13. 最佳做法
  14. 在运行代码前
  15. 运行代码后
  16. 解决问题
  17. 捐款
  18. 添加新代码
  19. 测试代码
  20. 支助
  21. 版本兼容性

AI SDK 代码

AI SDK提供自动化代码转换(codemods),在功能被贬值,去掉,或版本间被更改时帮助更新您的代码库.

代码是程序上运行在您的代码库上的变换,允许您轻松应用许多修改而无需手动编辑每个文件.

快速启动

运行所有代码:

npx @ai-sdk/codemod upgrade

这将自动检测和改变您项目中所有应用的代码模式 .

运行版本特定代码

要运行特定版本的代码:

npx @ai-sdk/codemod v4

npx @ai-sdk/codemod v5

npx @ai-sdk/codemod v6

npx @ai-sdk/codemod upgrade

运行单个代码

要运行一个特定的代码:

npx @ai-sdk/codemod <codemod-name> <path>

实例:

# Transform a specific file
npx @ai-sdk/codemod v4/remove-experimental-ai-fn-exports src/app/api/chat/route.ts

# Transform a directory
npx @ai-sdk/codemod v4/replace-baseurl src/lib/

# Transform entire project
npx @ai-sdk/codemod v5/rename-format-stream-part .

可用的代码

v4 代码 (v3 → v4 迁移)

代码说明
v4/remove-ai-stream-methods-from-stream-text-result从流文本结果转换 v4/ remove ai 流方法
v4/remove-anthropic-facade变形 v4/remove 人类外观
v4/remove-await-streamobject变形 v4/ remove 等待流对象
v4/remove-await-streamtext变形 v4/ remove 等待流文本
v4/remove-deprecated-provider-registry-exports变换 v4/remove 已贬值的供应商登记册出口
v4/remove-experimental-ai-fn-exports变形 v4/ remove 实验 ai fn 输出
v4/remove-experimental-message-types转换 v4/ 移动实验消息类型
v4/remove-experimental-streamdata变形 v4/ 移动实验流数据
v4/remove-experimental-tool变形 v4/ 移动实验工具
v4/remove-experimental-useassistant变换 v4/ 移走实验用途
v4/remove-google-facade变形 v4/ remove google 外观
v4/remove-isxxxerror变换 v4/ remove 是xxxror
v4/remove-metadata-with-headers有信头的变形 v4/ 移动元数据
v4/remove-mistral-facade变形 v4/remove 雾化外观
v4/remove-openai-facade变形 v4/ remove openai 外观
v4/rename-format-stream-part变形 v4/ rename 格式流部分
v4/rename-parse-stream-part变形 v4/ rename 剖析流部分
v4/replace-baseurl变形 v4/ 替换基底图
v4/replace-continuation-steps变换 v4/ 替换继续步骤
v4/replace-langchain-toaistream变换 v4/ 替换朗链 toaistream
v4/replace-nanoid变形 v4/ 替换纳米
v4/replace-roundtrips-with-maxsteps变换 v4/ 以最大步取代圆形
v4/replace-token-usage-types变换 v4/ 替换符号使用类型
v4/rewrite-framework-imports转换 v4/ 重写框架导入

v5 代码 (v4 → v5 迁移)

代码说明
v5/flatten-streamtext-file-properties变形 v5/平面流文本文件属性
v5/import-LanguageModelV2-from-provider-package从提供者软件包中转换 v5/ 导入语言模型V2
v5/migrate-to-data-stream-protocol-v2转换 v5/ miglate 为数据流协议 v2
v5/move-image-model-maxImagesPerCall变形 v5/ 移动图像模型最大图像
v5/move-langchain-adapter变形 v5/ 移动朗链适配器
v5/move-maxsteps-to-stopwhen变形 v5/ 移动最大步以停止
v5/move-provider-options变换 v5/ 移动提供者选项
v5/move-react-to-ai-sdk变形 v5/ 移动对 ai sdk 反应
v5/move-ui-utils-to-ai变形 v5/ 移动 ui utils 到 ai
v5/remove-experimental-wrap-language-model变形 v5/ 重新移动实验性包装语言模型
v5/remove-get-ui-text变形 v5/ remove 获取 ui 文本
v5/remove-openai-compatibility变换 v5/ remove openai 兼容性
v5/remove-sendExtraMessageFields变形 v5/ remove 发送ExtraMessage 字段
v5/rename-IDGenerator-to-IdGenerator变换 v5/ 重命名 IDGenerator 到 IdGenerator
v5/rename-addtoolresult-to-addtooloutput转换 v5/ rename 添加工具结果以添加工具输出
v5/rename-converttocoremessages-to-converttomodelmessages转换 v5/ 重名转换为分数消息以转换为模式消息
v5/rename-core-message-to-model-message转换 v5/ 重命名核心消息到模式消息
v5/rename-datastream-methods-to-uimessage转换 v5/ 重命名数据流方法为 uimessage
v5/rename-datastream-transform-stream变换 v5/ 重命名数据流变换流
v5/rename-languagemodelv1providermetadata变形 v5/ 重命名语言模型v1 professormetadata
v5/rename-max-tokens-to-max-output-tokens将 v5/ 重命名最大符号转换为最大输出符号
v5/rename-message-to-ui-message变换 v5/ 重命名消息到 ui 消息
v5/rename-mime-type-to-media-type将 v5/ rename mime 类型转换为媒体类型
v5/rename-pipedatastreamtoresponse-to-pipeuimessagestreamtoresponse变形 v5/ 重命名 管道数据流响应 管道信息流响应
v5/rename-reasoning-properties变形 v5/ rename 推理属性
v5/rename-reasoning-to-reasoningText变换 v5/ 重命名推理为推理 文本
v5/rename-request-options变形 v5/ rename 请求选项
v5/rename-todatastreamresponse-to-touimessagestreamresponse变换 v5/ 重命名为数据流响应 toimesagestream 响应
v5/rename-tool-parameters-to-inputschema转换 v5/ 重命名工具参数到输入计
v5/replace-bedrock-snake-case变形 v5/取代地基蛇案
v5/replace-content-with-parts转换 v5/ 替换部分内容
v5/replace-datastream-to-uimessagestream变换 v5/ 重置数据流到 uimessage 流
v5/replace-experimental-provider-metadata变换 v5/ 替换实验提供者元数据
v5/replace-fal-snake-case变形 v5/ 替换叶蛇案
v5/replace-image-type-with-file-type转换 v5/ 用文件类型替换图像类型
v5/replace-llamaindex-adapter变换 v5/ 替换 lamaindex 适配器
v5/replace-oncompletion-with-onfinal完成时变换 v5/ 替换为 Final
v5/replace-provider-metadata-with-provider-options变换 v5/ 替换有提供者选项的提供者元数据
v5/replace-rawresponse-with-response变换 v5/ 替换原始响应与响应
v5/replace-redacted-reasoning-type变换 v5/ 替换已编辑的推理类型
v5/replace-simulate-streaming变形 v5/ 替换模拟流线
v5/replace-textdelta-with-text变换 v5/ 替换文本delta
v5/replace-usage-token-properties变形 v5/ 替换使用符属性
v5/replace-usechat-api-with-transport变换 v5/ 替换带传送功能的 usechat api
v5/replace-usechat-input-with-state变换 v5/ 替换使用聊天输入状态
v5/replace-zod-import-with-v3转换 v5/ 替换以 v3 导入的 zod
v5/require-createIdGenerator-size-argument变形 v5/ 需要创建 IdGenerator 大小参数
v5/restructure-file-stream-parts变换 v5/ 结构文件流部件
v5/restructure-source-stream-parts变换 v5/ 结构源流部件
v5/rsc-package变形 v5/rsc 软件包

v6 代码 (v5)- v6 迁移)

代码说明
v6/add-await-converttomodelmessages变换 v6/ 添加等待转换到模式
v6/rename-converttocoremessages-to-converttomodelmessages转换 v6/ 重名转换为调制模式
v6/rename-core-message-to-model-message变换 v6/ 重命名核心消息到模式消息
v6/rename-mock-v2-to-v3变形 v6/ rename 模拟 v2 到 v3
v6/rename-text-embedding-to-embedding转换 v6/ 重命名文本嵌入到嵌入
v6/rename-tool-call-options-to-tool-execution-options变换 v6/ rename 工具调用选项到工具执行选项
v6/rename-vertex-provider-metadata-key变形 v6/ 重命名顶点提供者元数据密钥
v6/wrap-tomodeloutput-parameter转换 v6/ wrap 模式输出参数

CLI 选项

图标

npx @ai-sdk/codemod@beta <command> [options]

可用命令 :

  • upgrade - 应用所有编码(v4 + v5 + v6)
  • v4 - 应用 v4 代码(v3 – v4 迁移)
  • v5 - 应用 v5 代码(v4)- v5 迁移)
  • v6 - 应用 v6 代码(v5)- v6 迁移)
  • <codemod-name> <path> - 应用特定的代码

全球选项

  • --dry - 不应用而预览更改
  • --print - 打印转换的代码到 stdout
  • --verbose - 显示详细的转换日志

实例

# Preview all changes without applying
npx @ai-sdk/codemod@beta --dry upgrade

# Preview v4 changes only
npx @ai-sdk/codemod@beta --dry v4

# Preview v5 changes only
npx @ai-sdk/codemod@beta --dry v5

# Preview v6 changes only
npx @ai-sdk/codemod@beta --dry v6

# Show verbose output for specific codemod
npx @ai-sdk/codemod@beta --verbose v4/remove-experimental-ai-fn-exports src/

# Print transformed code for specific codemod
npx @ai-sdk/codemod@beta --print v4/replace-baseurl src/config.ts

最佳做法

在运行代码前

  1. 备份您的代码 - 将所有更改提交版本控制
  2. 审查当前贬值警告 - 先解决任何明显的问题
  3. 更新依赖关系 - 确保你进入目标AI SDK版本

运行代码后

  1. 审查变化 - 检查diff 了解什么被改变
  2. 测试您的应用程序 - 确保一切如所料
  3. 处理边缘大小写 - 一些复杂的模式可能需要人工修正
  4. 运行类型检查 - 纠正任何仍然存在的类型脚本错误

解决问题

如果一个代码没有改变一些代码:

  1. 检查文件扩展名 - 代码在工作 .ts, (中文(简体) ), .tsx, (中文(简体) ), .js, (中文(简体) ), .jsx 文件
  2. 审查模式 - 复杂或不寻常的代码模式可能需要人工更新
  3. 运行特定的代码 - 尝试运行个人代码以进行目标修正
  4. 检查文档 - 有些修改可能没有自动编码器

捐款

添加新代码

  1. 在 src/codemods/
  2. 在 src/test/__testfixtures__/
  3. 创建测试在 src/test/
  4. 更新捆绑 src/lib/upgrade.ts

测试代码

首先,导航到编码器目录:

cd packages/codemod

然后进行测试:

# Run all tests
pnpm test

# Run specific codemod tests
pnpm test <codemod-name>

# Test in development
pnpm test:watch

支助

版本兼容性

  • AI SDK 6.0: 此软件包中的所有代码
  • AI SDK 5.0: 使用 v4 + v5 编码器
  • AI SDK 4.x 软件: 使用 @ai-sdk/[email protected]
  • 大赦国际 SDK 3.x需要人工迁移

更详细的移徙信息见:

版本与发布记录

@ai-sdk/codemod 共发布 74 个版本,首次发布于 2024/11/12;过去 12 个月发布了 37 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.0.4latest2026/11/051 天前
4.0.32026/09/301 个月前
4.0.22026/09/241 个月前
2.0.17ai-v52026/08/272 个月前
3.0.8ai-v62026/08/272 个月前
4.0.12026/08/252 个月前

其他发布通道:alpha → 2.0.0-alpha.0,snapshot → 0.0.0-bf6e4b15-20260402200305,canary → 4.0.0-canary.6,beta → 4.0.0-beta.8,ai-v6 → 3.0.8,ai-v5 → 2.0.17。

关于 @ai-sdk/codemod 的常见问题

如何安装 @ai-sdk/codemod?

在项目目录运行 npm install @ai-sdk/codemod,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 codemod,可以用 npx codemod 直接运行。

@ai-sdk/codemod 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/ai-sdk__codemod 是否存在。

@ai-sdk/codemod 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@ai-sdk/codemod 可以商用吗?

@ai-sdk/codemod 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@ai-sdk/codemod 的下载量有多少?

根据 npm 官方下载统计,@ai-sdk/codemod 在 2026/10/05 – 2026/11/03 这 30 天内被下载 16,660 次,日均约 555 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ai-sdk/codemod 还在维护吗?

最新版本 4.0.4 发布于 2026/11/05(1 天前);至今共发布 74 个版本,其中过去 12 个月发布了 37 个;首次发布于 2024/11/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。