# @aihubmix/ai-sdk-provider 中文文档

规范地址：https://npmcn.com/package/%40aihubmix/ai-sdk-provider/

版本：2\.2\.1
npm 元数据更新时间：2026-06-11T15:12:54.903Z
中文译文更新时间：2026-11-05T18:00:06.285Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：160 kB，11 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：6 个
- peer 依赖：zod ^3\.25\.0 \|\| ^4\.0\.0
- 首次发布：2025-07-22T12:59:10.138Z
- 最新版本发布：2026-06-11T15:12:54.751Z
- 近 30 天下载量：112449（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 13 个）

## 中文简介

[🇺🇸 English](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.md) | [🇨🇳 中文](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.zh.md) | [🇯🇵 日本語](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.ja.md)

## 安装

```sh
npm install @aihubmix/ai-sdk-provider
```

也可以使用：`pnpm add @aihubmix/ai-sdk-provider`、`yarn add @aihubmix/ai-sdk-provider`、`bun add @aihubmix/ai-sdk-provider`

## README

# AI SDK - Aihubmix Provider

[🇺🇸 English](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.md) | [🇨🇳 中文](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.zh.md) | [🇯🇵 日本語](https://npmcn.com/package/%40aihubmix/ai-sdk-provider/README.ja.md)

> **🎉 10% 折扣！** 已内置app-code，使用此方式请求所有模型可享受 10% 折扣。

**[Aihubmix 官方网站](https://aihubmix.com/)** | **[模型广场](https://aihubmix.com/models)**

**[Aihubmix provider](https://sdk.vercel.ai/providers/community-providers/aihubmix)** 适用于 [AI SDK](https://ai-sdk.dev/docs) 一个网关，无限模型；一站式请求：OpenAI、Claude、Gemini、DeepSeek、Qwen 以及超过 500 个 AI 模型。

## 安装 AI SDK v6 版本

```bash
npm i @aihubmix/ai-sdk-provider
```

### （旧版）安装 AI SDK v5 版本

```bash
npm i @aihubmix/ai-sdk-provider@0.0.6
```

## 支持的功能

Aihubmix provider 支持以下 AI 功能：

-   **文本生成**：使用各种模型进行聊天完成
-   **流式文本**：实时文本流式传输
-   **图像生成**：从文本提示创建图像
-   **嵌入**：单个和批量文本嵌入
-   **对象生成**：使用模式的结构化数据生成
-   **流式对象**：实时结构化数据流式传输
-   **语音合成**：文本转语音转换
-   **转录**：语音转文本转换
-   **工具**：网络搜索和其他工具

## Provider 实例

您可以从 `@aihubmix/ai-sdk-provider` 导入默认的 provider 实例 `aihubmix`：

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
```

## 配置

将您的 Aihubmix API 密钥设置为环境变量：

```bash
export AIHUBMIX_API_KEY="your-api-key-here"
```

或直接传递给 provider：

```ts
import { createAihubmix } from '@aihubmix/ai-sdk-provider';

const aihubmix = createAihubmix({
  apiKey: 'your-api-key-here',
});
```

### `appCode`（可选）

每个请求都会携带 `APP-Code` 请求头。默认使用本包内置的值，因此**通常无需设置**。如果你有自己的 app code，可传入 `appCode` 覆盖默认值：

```ts
import { createAihubmix } from '@aihubmix/ai-sdk-provider';

const aihubmix = createAihubmix({
  apiKey: 'your-api-key-here',
  appCode: 'YOUR-APP-CODE', // 可选；不传时回退到内置默认值
});
```

### `baseURL`（可选）

默认所有请求发往 `https://aihubmix.com`。若要走自建网关或代理，可传入 `baseURL`（末尾斜杠会自动去除）。`/v1`、`/gemini/v1beta` 等路径会自动拼接：

```ts
import { createAihubmix } from '@aihubmix/ai-sdk-provider';

const aihubmix = createAihubmix({
  apiKey: 'your-api-key-here',
  baseURL: 'https://your-gateway.example.com', // 可选；默认 https://aihubmix.com
});
```

### 自定义 `fetch`

可传入自定义 `fetch` 实现（用于代理、日志或测试）。它会透传给所有模型 —— OpenAI 兼容、Claude、Gemini、Responses、转录与语音：

```ts
const aihubmix = createAihubmix({
  apiKey: 'your-api-key-here',
  fetch: myCustomFetch,
});
```

## 使用

首先，导入必要的函数：

```ts
import { createAihubmix } from '@aihubmix/ai-sdk-provider';
import { 
  generateText, 
  streamText, 
  experimental_generateImage as generateImage, 
  embed, 
  embedMany, 
  generateObject, 
  streamObject, 
  experimental_generateSpeech as generateSpeech, 
  experimental_transcribe as transcribe 
} from 'ai';
import { z } from 'zod';
```

> **注意**：`generateImage`、`generateSpeech` 和 `transcribe` 等 API 在 AI SDK v6 中仍为实验性功能。

### 生成文本

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: aihubmix('o4-mini'),
  prompt: '为4个人写一个素食千层面食谱。',
});
```

### Claude 模型

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: aihubmix('claude-3-7-sonnet-20250219'),
  prompt: '用简单的术语解释量子计算。',
});
```

### Gemini 模型

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: aihubmix('gemini-2.5-flash'),
  prompt: '创建一个Python脚本来对数字列表进行排序。',
});
```

### 图像生成

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateImage } from 'ai';

const { image } = await generateImage({
  model: aihubmix.image('gpt-image-1'),
  prompt: '山间美丽的日落',
});
```

### 嵌入

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { embed } from 'ai';

const { embedding } = await embed({
  model: aihubmix.embedding('text-embedding-ada-002'),
  value: '你好，世界！',
});
```

### 转录

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { transcribe } from 'ai';

const { text } = await transcribe({
  model: aihubmix.transcription('whisper-1'),
  audio: audioFile,
});
```

### 流式文本

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: aihubmix('gpt-3.5-turbo'),
  prompt: '写一个关于机器人学习绘画的短故事。',
  maxOutputTokens: 256,
  temperature: 0.3,
  maxRetries: 3,
});

let fullText = '';
for await (const textPart of result.textStream) {
  fullText += textPart;
  process.stdout.write(textPart);
}

console.log('\n使用情况:', await result.usage);
console.log('完成原因:', await result.finishReason);
```

### 生成对象

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateObject } from 'ai';
import { z } from 'zod';

const result = await generateObject({
  model: aihubmix('gpt-4o-mini'),
  schema: z.object({
    recipe: z.object({
      name: z.string(),
      ingredients: z.array(
        z.object({
          name: z.string(),
          amount: z.string(),
        }),
      ),
      steps: z.array(z.string()),
    }),
  }),
  prompt: '生成一个千层面食谱。',
});

console.log(JSON.stringify(result.object.recipe, null, 2));
console.log('Token使用情况:', result.usage);
console.log('完成原因:', result.finishReason);
```

### 流式对象

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { streamObject } from 'ai';
import { z } from 'zod';

const result = await streamObject({
  model: aihubmix('gpt-4o-mini'),
  schema: z.object({
    recipe: z.object({
      name: z.string(),
      ingredients: z.array(
        z.object({
          name: z.string(),
          amount: z.string(),
        }),
      ),
      steps: z.array(z.string()),
    }),
  }),
  prompt: '生成一个千层面食谱。',
});

for await (const objectPart of result.partialObjectStream) {
  console.log(objectPart);
}

console.log('Token使用情况:', result.usage);
console.log('最终对象:', result.object);
```

### 批量嵌入

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { embedMany } from 'ai';

const { embeddings, usage } = await embedMany({
  model: aihubmix.embedding('text-embedding-3-small'),
  values: [
    '海滩上的晴天',
    '城市里的雨天下午',
    '山间的雪夜',
  ],
});

console.log('嵌入向量:', embeddings);
console.log('使用情况:', usage);
```

### 语音合成

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateSpeech } from 'ai';

const { audio } = await generateSpeech({
  model: aihubmix.speech('tts-1'),
  text: '你好，这是语音合成的测试。',
});

// 保存音频文件
await saveAudioFile(audio);
console.log('音频生成成功:', audio);
```

### 工具

Aihubmix provider 支持各种工具，包括网络搜索：

```ts
import { aihubmix } from '@aihubmix/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: aihubmix('gpt-4'),
  prompt: 'AI的最新发展是什么？',
  tools: {
    webSearchPreview: aihubmix.tools.webSearchPreview({
      searchContextSize: 'high',
    }),
  },
});
```

## 附加资源

-   [Aihubmix Provider 仓库](https://github.com/AIhubmix/ai-sdk-provider)
-   [Aihubmix 文档](https://docs.aihubmix.com/en)
-   [Aihubmix 控制台](https://aihubmix.com/)
-   [Aihubmix 商务合作](mailto:business@aihubmix.com)

## 常见问题

### @aihubmix/ai-sdk-provider 是什么？

🇺🇸 English \| 🇨🇳 中文 \| 🇯🇵 日本語

### 如何安装 @aihubmix/ai-sdk-provider？

在项目目录运行 npm install @aihubmix/ai-sdk-provider，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^3\.25\.0 \|\| ^4\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aihubmix/ai-sdk-provider 支持 TypeScript 吗？

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

### @aihubmix/ai-sdk-provider 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @aihubmix/ai-sdk-provider 需要什么版本的 Node\.js？

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

### @aihubmix/ai-sdk-provider 可以商用吗？

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

### @aihubmix/ai-sdk-provider 的下载量有多少？

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

### @aihubmix/ai-sdk-provider 还在维护吗？

最新版本 2\.2\.1 发布于 2026/06/11（4 个月前）；至今共发布 19 个版本，其中过去 12 个月发布了 13 个；首次发布于 2025/07/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

