@ai-sdk/code-mode

中文文档
1.0.121发布于 2026/11/07Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 35.6万

AI SDK 的快速JS后置代码模式工具

中文使用文档

AI SDK - 代码模式

@ai-sdk/code-mode 让模型写 JavaScript 或调用您的类型脚本 AI SDK工具. 代码在一个孤立的QuickJS 沙盒中运行并返回 a JSON的系列价值.

设置

npm i ai @ai-sdk/code-mode zod

使用量

import {
  DIRECT_TOOL_CALL,
  experimental_codeModeTool as codeModeTool,
} from '@ai-sdk/code-mode';
import { generateText, isStepCount, tool } from 'ai';
import { z } from 'zod';

const getInventory = tool({
  description: 'Get available inventory for a product.',
  inputSchema: z.object({ productId: z.string() }),
  outputSchema: z.object({
    productId: z.string(),
    availableUnits: z.number(),
  }),
  execute: async ({ productId }) => ({
    productId,
    availableUnits: 42,
  }),
});

const getDemand = tool({
  description: 'Get requested units for a product.',
  inputSchema: z.object({ productId: z.string() }),
  outputSchema: z.object({
    productId: z.string(),
    requestedUnits: z.number(),
  }),
  execute: async ({ productId }) => ({
    productId,
    requestedUnits: 31,
  }),
});

const tools = {
  code_mode: codeModeTool({
    executionPolicy: {
      timeoutMs: 30_000,
    },
  }),
  getInventory,
  getDemand,
} as const;

const result = await generateText({
  model,
  tools,
  experimental_toolCallers: {
    getInventory: ['code_mode', DIRECT_TOOL_CALL],
    getDemand: ['code_mode'],
  },
  stopWhen: isStepCount(10),
  prompt: 'Compare inventory and demand for product sku_123.',
});

见 代码模式文档 更多信息.

版本与发布记录

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

版本发布日期距今
1.0.121latest2026/11/071 天前
1.0.1202026/11/052 天前
1.0.1192026/11/034 天前
1.0.1182026/11/034 天前
1.0.1172026/11/035 天前
1.0.1162026/10/317 天前

其他发布通道:snapshot → 0.0.0-f1630544-20260811180950。

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

@ai-sdk/code-mode 是什么?

AI SDK 的快速JS后置代码模式工具

如何安装 @ai-sdk/code-mode?

在项目目录运行 npm install @ai-sdk/code-mode,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:ai(7.0.164)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ai-sdk/code-mode 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ai-sdk/code-mode 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

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

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

@ai-sdk/code-mode 可以商用吗?

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

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

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

@ai-sdk/code-mode 还在维护吗?

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