@coder/ai-sdk-provider

中文文档
0.4.54发布于 2026/11/01Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 5033

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

中文使用文档
文档目录9 节
  1. 安装
  2. 命名提供者和两条线协议
  3. 自定义提供者
  4. 嵌入尚未支持
  5. 认证
  6. 配置
  7. 企业治理和安全
  8. 实例
  9. 许可证

@coder/ai-sdk- 提供者

CI npm License

一个 Vercel AI SDK 供应商,通过您的编码器部署传送请求 AI 网关 (原"AI桥"). 使用任何模型,你的部署代理, 就像你使用的方式 打开路透社 或任何 其他提供者.

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、......)和审计使用情况 每个用户。 在带入自有密钥模式中,开发者提供自己的上游密钥 相反(见 认证) (中文(简体) ). 部署决定 哪些模型和提供者可供使用.

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

安装

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, (中文(简体) ), vercelopenai
符合人体条件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协议上的副驾驶型提供商:

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 实例可以针对任何数量的提供者。 选一个符合 提供者的电线协议 :

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 访问者 :

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。 。 。 .

认证

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

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

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

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

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

配置

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

企业治理和安全

安全审查员的全部参考资料载于 docs/security.md: 数据流,证书隔离, 审计记录,需要许可,以及安全FAQ.

要点:

  • 客户端对网关. 这包装在电线上的东西是可验证的 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/; 见其 读取 为设置.

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

许可证

阿帕奇 - 2.0 • 编码技术公司.

版本与发布记录

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

版本发布日期距今
0.4.54latest2026/11/019 天前
0.4.532026/11/019 天前
0.4.522026/10/3110 天前
0.4.512026/10/3011 天前
0.4.502026/10/3011 天前
0.4.492026/10/2912 天前

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

@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 和提交记录判断。