# @assistant-ui/next 中文文档

规范地址：https://npmcn.com/package/%40assistant-ui/next/

版本：0\.0\.25
npm 元数据更新时间：2026-10-09T14:30:23.045Z
中文译文更新时间：2026-11-07T00:29:07.179Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40assistant-ui/next
原文对照：https://npmcn.com/package/%40assistant-ui/next/?lang=original
项目主页：https://www.assistant-ui.com/
源码仓库：https://github.com/assistant-ui/assistant-ui

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：53.6 kB，30 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-05-31T02:19:51.264Z
- 最新版本发布：2026-10-09T14:30:22.660Z
- 近 30 天下载量：35484（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 23 个）

## 中文简介

Next.js 助理-ui的集成:与Aui () 配置包和"使用基因"指令编译器,将一个工具的策略,只执行服务器,并且只执行客户端在一文件中渲染.

## 安装

```sh
npm install @assistant-ui/next
```

也可以使用：`pnpm add @assistant-ui/next`、`yarn add @assistant-ui/next`、`bun add @assistant-ui/next`

## README

# @ assistant- ui/ ext

Next.js 助教的整合: `withAui()` 配置包装和 用于编辑器 `"use generative"` 指令。 粘合一个工具 **计划**, (中文(简体) ), **仅限服务器 `execute`**,以及 **只有客户端 `render`** 在一个文件中; 编译器 每个建构目标都发出不同的模块,所以每一边只加载它所需要的.

见 [SPEC.md 高频](https://npmcn.com/package/%40assistant-ui/next/SPEC.md) 完全设计.

## 为什么

`"use client"` 整个模块,所以它不能保持一个工具的 zod schema 可读 在保留服务器时 `render` 在客户端。 还有后端 `execute` 持有不可到达浏览器捆绑的密件( DB 手柄, API 密钥) . `"use generative"` 将每个财产都引导到正确的地方.

每个工具 **必须** 声明 `execute`,然后将默认导出包入 `defineToolkit({ ... })` (两者都强制执行——否则编译器出错). 你个 不要声明工具的种类: 编译器 **推断** 它从 `execute` 财务报告和审定财务报表 写入 `type` 字段返回输出.

| 你如何写作 `execute` | 类型 | 运行在哪里 |
| --- | --- | --- |
| `execute` 带有 `"use client"` 指令 | `frontend` | 客户端 |
| `execute` (陈述) | `backend` | 服务器( e)`server-only` 警卫) |
| `execute: humanTool()` | `human` | \- (UI提供结果) |

一个平地 `execute` 默认情况下只为服务器 —— 您只能在浏览器中运行一个 选择与 `"use client"`所以秘密不能因为疏忽而泄露.

## 撰写

```tsx
"use generative";
import { z } from "zod";
import { defineToolkit } from "@assistant-ui/react";
import { db } from "@/db"; // server-only
import { Chart } from "@/ui/chart"; // client-only

export default defineToolkit({
  weather: {
    description: "Show the weather for a city.",
    parameters: z.object({ city: z.string() }),
    execute: async ({ city }) => db.weather.get(city), // backend → stays on the server
    render: (props) => <Chart data={props} />, // stays on the client
  },
});
```

服务器构建保存 `parameters` + 键 `execute` (警卫员) `import "server-only"`标记 `type: "backend"`)和下降数 `render` 财务报告和审定财务报表 `@/ui/chart`。 。 。 . 客户端构建保留 `parameters` + 键 `render` (单位:千美元) `"use client"`)和下降数 `execute` 财务报告和审定财务报表 `@/db`A级 `frontend` 工具标记其 `execute` 与 `"use client"`数字 :

```tsx
execute: async ({ city }) => {
  "use client";
  return navigator.geolocation /* … runs in the browser, kept client-side */;
},
```

## 连接到 Next.js

包装你的配置。 探测器由 `"use generative"` 指令 - 有 **没有 文件名公约**;没有指令的模块通过未触及.

```ts
// next.config.ts
import { withAui } from "@assistant-ui/next";

export default withAui({
  /* your Next config */
});
```

`withAui` 将装载器应用到您的 TS/ TSX 。 限制文件数量 扫描,缩小光圈: `withAui(config, { rules: ["*.generative.tsx"] })`。 。 。 .

导入模块 **赤线** 从两边开始——装填器将其重写为外表 解决每层右建置( 没有查询, 没有每个文件配置) :

```tsx
// a client component → resolves to the client build (schema + render)
import toolkit from "@/lib/chat.generative";

// a route handler (react-server layer) → resolves to the server build (schema + execute)
import toolkit from "@/lib/chat.generative";
```

使用 AI SDK 将服务器构建转换为 a `ToolSet` (见 `AISDKToolkit` 内 `@assistant-ui/ai-sdk`) (中文(简体) ).

> **验证于下16.2.6 (Turbopack).** Turbopack 向装载器致敬 `"use client"`,但每个资源路径编译一个输出——因此服务器构建 由它自己选择 `?generative-env=server` 查询而不是构建层. 清除 `.next` 在修改加载器后(Turbopacks缓存加载器输出).

## 许可证

麻省理工学院

## 常见问题

### @assistant-ui/next 是什么？

Next\.js 助理-ui的集成:与Aui \(\) 配置包和"使用基因"指令编译器,将一个工具的策略,只执行服务器,并且只执行客户端在一文件中渲染\.

### 如何安装 @assistant-ui/next？

在项目目录运行 npm install @assistant-ui/next，或使用 pnpm add / yarn add / bun add。

### @assistant-ui/next 支持 TypeScript 吗？

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

### @assistant-ui/next 支持 ESM 还是 CommonJS？

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

### @assistant-ui/next 可以商用吗？

@assistant-ui/next 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @assistant-ui/next 的下载量有多少？

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

### @assistant-ui/next 还在维护吗？

最新版本 0\.0\.25 发布于 2026/10/09（29 天前）；至今共发布 23 个版本，其中过去 12 个月发布了 23 个；首次发布于 2026/05/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

