# OpenAI Node SDK 接入指南

https://omnimodel.me/apps/openai-node?lang=zh

> 官方 Node SDK，同样只需要改 baseURL 与 apiKey。

## 适用场景

适合在 Node.js 服务端调用模型：官方 SDK 只需要改 baseURL 和 apiKey。不要在浏览器里直接使用，否则密钥会暴露给访问者。

## 使用建议

密钥只放在服务端的环境变量里读取，不要写进代码仓库或打包进前端。

## 连不通时检查

1. API 地址填 `https://omnimodel.me/v1`，不要多写 `/chat/completions`。
2. 密钥以 `key_` 开头且没有被暂停或撤销，错误码 `auth.invalid_key` 表示密钥不可用。
3. 模型 ID 与[模型目录](/catalog)一致，并且在这把密钥的可用模型里。
4. 余额不足会返回 `billing.insufficient_credit`，更多错误见[常见错误](/docs/errors)。

## 配置步骤

1. 安装依赖：npm install openai。
2. 把 baseURL 指向下面的 API 地址，apiKey 用你自己的密钥。
3. 浏览器端不要直接暴露密钥，请走你自己的后端转发。

## 配置参数

- API 地址：`https://omnimodel.me/v1`
- API 密钥：`YOUR_API_KEY`
- 模型：`MODEL_ID`

```javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://omnimodel.me/v1",
});

const resp = await client.chat.completions.create({
  model: "MODEL_ID",
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);
```

## 常见问题

### 可以在浏览器里用吗？

不建议。浏览器里的代码会把密钥暴露给访问者，应在自己的服务端调用，再把结果返回给前端。

### 支持流式输出吗？

支持。创建请求时传 stream: true，按 SDK 的方式迭代返回的分块即可。

