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

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

版本：0\.4\.54
npm 元数据更新时间：2026-11-01T04:19:16.531Z
中文译文更新时间：2026-11-10T07:36:42.738Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：57.2 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：3 个
- peer 依赖：ai ^7\.0\.0，zod ^3\.25\.76 \|\| ^4\.1\.8
- 首次发布：2026-06-18T14:29:47.482Z
- 最新版本发布：2026-11-01T04:19:16.209Z
- 近 30 天下载量：5033（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：63（近 12 个月 63 个）

## 中文简介

Vercel AI SDK 代码 AI Gateway的提供商. 将 AI SDK 指向您的编码器部署, 并使用代码 API 令牌, 并使用任何模式您的部署代理 —— 横跨 AI Gateway 的 OpenAI 和 Anthropic 的相容表面 .

## 安装

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

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

## README

# @coder/ai-sdk- 提供者

[![CI](https://github.com/coder/ai-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/coder/ai-sdk/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/@coder/ai-sdk-provider.svg)](https://www.npmjs.com/package/@coder/ai-sdk-provider) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://npmcn.com/package/%40coder/ai-sdk-provider/LICENSE)

一个 Vercel AI SDK 供应商,通过您的编码器部署传送请求 [AI 网关](https://coder.com/docs/ai-coder/ai-gateway) (原"AI桥"). 使用任何模型,你的部署代理, 就像你使用的方式 [打开路透社](https://ai-sdk.dev/providers/community-providers/openrouter) 或任何 其他提供者.

```ts
import { generateText } from "ai";
import { createCoder } from "@coder/ai-sdk-provider";

const coder = createCoder({
  baseURL: "https://coder.example.com",
  apiKey: process.env.CODER_API_TOKEN!,
});

const { text } = await generateText({
  model: coder("claude-sonnet-4-6"),
  prompt: "What is Coder?",
});
```

**为什么:** 在集中模式(默认)中,开发者用其 代码符牌,绝不处理原始提供者密钥. AI 网关分别认证 以编码器身份为对象,为 上游供应商(Anthropic、OpenAI、Bedrock、Copilot、......)和审计使用情况 每个用户。 在带入自有密钥模式中,开发者提供自己的上游密钥 相反(见 [认证](https://npmcn.com/package/%40coder/ai-sdk-provider/#readme-authentication)) (中文(简体) ). 部署决定 哪些模型和提供者可供使用.

> \[TIP\] 这个包是给 **普通模式调用**数字 : `generateText`, (中文(简体) ), `streamText`,以及 `generateObject` (schema-约束结构化输出). 对于代码 **服务器侧代理** (多步工具环路,内置工具,MCP服务器, 工作空间文件/ shell 工具, 使用 [`@coder/ai-sdk-agent`](https://github.com/coder/ai-sdk/tree/main/packages/agent)他们 作曲:纯文本/JSON步骤的提供方,工具驱动步骤的代理.

## 安装

```bash
pnpm add @coder/ai-sdk-provider ai zod
```

所需经费:

-   22和22号节点 `ai` v.
-   编码器部署 **启用 AI 网关**: 自编码器以来保持稳定 **页:1**, (中文(简体) ), GA in v2.30,默认在v2.34中. 需要 AI 治理 Add-On.

## 命名提供者和两条线协议

代码管理员定义 AI 网关 **供应商**: 部署时标明的路线 (单位:千美元)`/api/v2/aibridge/<name>/v1/…`) (中文(简体) ). 每个都讲两个电线协议中的一个, 按其管理配置类型设置 :

| 电线协议 | 背后的供应商类型 | 默认名称 |
| --- | --- | --- |
| **OpenAI 兼容** | `openai`, (中文(简体) ), `azure`, (中文(简体) ), `google`, (中文(简体) ), `copilot`, (中文(简体) ), `openai-compat`, (中文(简体) ), `openrouter`, (中文(简体) ), `vercel` | `openai` |
| **符合人体条件** | `anthropic` (原始内容存档于2013-10-12) (英语). Claude, `bedrock` (贝德洛克主持克洛德) | `anthropic` |

运行是 **通过 URL 路径,而不是模型 id**: URL中提供者名称 决定哪个上游处理请求.

`createCoder` 默认值前置 `openai` 编号 : `anthropic` 双人 赤裸裸的呼唤 `coder(modelId)` 由 heuristic 选择一个 : `claude` 或者说 `anthropic` 去Anthropic-protocol供应商, 其他一切到 OpenAI - Protocol 1 (英语). 明确的接入者覆盖了热度,例如达到 Claude通过OpenAI协议上的副驾驶型提供商:

```ts
coder("gpt-4o"); // → `openai` provider
coder("claude-sonnet-4-6"); // → `anthropic` provider (heuristic)
coder.openai("claude-sonnet-4"); // → `openai` provider (e.g. Copilot)
coder.anthropic("claude-opus-4-5"); // → `anthropic` provider (explicit)
```

模具标识通过 **不变** 向上游提供者(无) `vendor/model` 名称间隔)。 使用您部署的提供方的 ID 接受 .

### 自定义提供者

提供者的名字是管理员选择和匹配的 `^[a-z0-9]+(-[a-z0-9]+)*$`A级 部署可能暴露,比如说, 一个Azure支持 `azure-openai` 旁边 贝德洛克背后 `anthropic-bedrock`有两种方式可以达到它们.

**次供养入者.** `openaiProvider(name)` 编号 : `anthropicProvider(name)` 返回绑定在该网关提供者的完整子提供者, 所以一个 `createCoder` 实例可以针对任何数量的提供者。 选一个符合 提供者的电线协议 :

```ts
const azure = coder.openaiProvider("azure-openai"); // OpenAI-compatible type
const bedrock = coder.anthropicProvider("anthropic-bedrock"); // Anthropic-compatible type

await generateText({ model: azure("gpt-4o"), prompt: "Hi" });
await generateText({ model: bedrock("claude-sonnet-4-6"), prompt: "Hi" });
```

| 名称 | 失败者 |
| --- | --- |
| 门外的语法 | AI SDK 软件 `InvalidArgumentError` 访问者时间 |
| 配置良好但部署时未配置 | 网关在请求时间404 |

语法以外的一个名字永远不能注册,因此它早早失效.

**复指诸缺.** 如果你的部署只是命名它的一个 OpenAI/Anthropic 配对不同,将名称覆盖一次,并继续使用 赤裸裸的呼唤和 `openai` 编号 : `anthropic` 访问者 :

```ts
const renamed = createCoder({
  baseURL: "https://coder.example.com",
  apiKey: process.env.CODER_API_TOKEN!,
  providers: { openai: "azure-openai", anthropic: "anthropic-bedrock" },
});
```

**询问您的代码管理员提供商名称 .** 发现只是管理 服务器侧 : `GET /api/v2/ai/providers` 返回时 `403` 供经常用户使用,以及 模型端点并不将模型归属于提供者.

### 嵌入尚未支持

`coder.textEmbeddingModel(id)` 和嵌入存取器 `coder.openai` 抛出AI SDK的 `NoSuchModelError` 马上.

为什么嵌入抛出而不是发送请求

AI 网关不截取 `/v1/embeddings`,所以一个请求会被拒绝 与一出404号. 抛出前地能避免出出出. 接线员留下来 一旦网关添加了嵌入器,可以点亮而无需中断更改 路线。 见 [代码/ai-sdk#69](https://github.com/coder/ai-sdk/issues/69)。 。 。 .

## 认证

| 模式 | 设定 | 上游提供者密钥 |
| --- | --- | --- |
| **集中化** (默认) | `apiKey`: 您的代码 API 令牌 | 由AI Gateway持有,负责代理电话 |
| **带上你的钥匙** | `coderToken`: 编码符; `apiKey`: 您的上键 | 你的,转往上游 |

集中模式是应用程序最需要的:

```ts
createCoder({ baseURL: "https://coder.example.com", apiKey: coderToken });
```

BYOK发送 `coderToken` 输入 `X-Coder-AI-Governance-Token` 页眉到 认证您到网关,然后向前 `apiKey` 到上游:

```ts
createCoder({
  baseURL: "https://coder.example.com",
  coderToken, // authenticates you to AI Gateway
  apiKey: upstreamKey, // your own OpenAI/Anthropic key
});
```

## 配置

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `baseURL` | `string` | ——(需要) | 您的编码器部署 URL, 例如 . `https://coder.example.com`。AI Gateway 路径为您提供了附件. |
| `apiKey` | `string` | —— 说 | 代码 API 令牌 (集中) 或 上游键 (BYOK). |
| `coderToken` | `string` | —— 说 | 启用 BYOK 模式; 发送到 `X-Coder-AI-Governance-Token`。 。 。 . |
| `headers` | `Record<string,string>` | —— 说 | 额外的信头合并到每个请求中. |
| `aiGatewayPath` | `string` | `/api/v2/aibridge` | 如果您的部署使用了不同的挂载路径, 请覆盖 。 使用峡谷 `/api/v2/ai-gateway` 与代码v2.35.0+. |
| `providers` | `{ openai?, anthropic? }` | `openai` 编号 : `anthropic` | 将默认对重新指向不同名称的提供者 . |
| `fetch` | `typeof fetch` | 全球 `fetch` | 自定义获取( 测试/ 中间软件) . |

## 企业治理和安全

安全审查员的全部参考资料载于 [`docs/security.md`](https://npmcn.com/package/%40coder/ai-sdk-provider/docs/security.md): 数据流,证书隔离, 审计记录,需要许可,以及安全FAQ.

要点:

-   **客户端对网关.** 这包装在电线上的东西是可验证的 [`src/provider.ts`](https://github.com/coder/ai-sdk/blob/main/packages/provider/src/provider.ts)关键保管、审计记录和 保留由您的编码器部署执行服务器侧.
-   **一个目的地.** 软件包只向您启动请求 `baseURL`。 。 。 . 它从不直接接触上游供应商,不增加遥测.
-   **在信任的本地环境外使用 HTTPS .** 客户没有 执行 `https://`; 一个 `http://` URL 发送令牌、密钥和提示 简文.
-   **重定向后为默认.** 跨源重定向将重新发送 迅速的身体和没有`Authorization` 页眉( BYOK 模式, 包括 `x-api-key` 和治理标志),指向重定向目标. 过 `fetch: (url, init) => fetch(url, { ...init, redirect: "error" })` 禁止 这个.
-   **编码器的符号并非仅限AI.** 一个符号赋予用户完整的代码 API 权限。 将泄漏视为代码账户妥协( 撤销 ) 并且更喜欢短命,专为AI工作量而设的标志.
-   **审计.** 每一个请求都归于认证的编码器用户. 这个 网关存储最后一个用户提示,工具调用(名称和参数), 逻辑内容当存在,符号使用和元数据。 答复案文是 丢弃。 留置默认为60天并可配置.

## 实例

可运行的脚本 [`examples/`](https://github.com/coder/ai-sdk/tree/main/packages/provider/examples); 见其 [读取](https://github.com/coder/ai-sdk/blob/main/packages/provider/examples/README.md) 为设置.

```bash
pnpm example:generate    # non-streaming generateText
pnpm example:stream      # streaming streamText
pnpm example:anthropic   # the Anthropic surface (native Claude)
```

## 许可证

[阿帕奇 - 2.0](https://npmcn.com/package/%40coder/ai-sdk-provider/LICENSE) • 编码技术公司.

## 常见问题

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

Vercel AI SDK 代码 AI Gateway的提供商\. 将 AI SDK 指向您的编码器部署, 并使用代码 API 令牌, 并使用任何模式您的部署代理 —— 横跨 AI Gateway 的 OpenAI 和 Anthropic 的相容表面 \.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

