OpenAI Node.js SDK

使用 OpenAI Node.js SDK 在 TypeScript 或 JavaScript 中调用 Sublyx。

安装

pnpm add openai

基础调用

src/sublyx.ts
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.SUBLYX_API_KEY ?? 'sk-sublyx-example',
  baseURL: 'https://api.sublyx.org/v1',
});

const response = await client.chat.completions.create({
  model: 'gpt-5.6-terra',
  messages: [
    { role: 'system', content: '你是一个严谨的中文技术助手。' },
    { role: 'user', content: '解释 HTTP 429,并给出重试建议。' },
  ],
});

console.log(response.choices[0].message.content);

流式调用

src/stream.ts
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.SUBLYX_API_KEY ?? 'sk-sublyx-example',
  baseURL: 'https://api.sublyx.org/v1',
  timeout: 60_000,
  maxRetries: 2,
});

const stream = await client.chat.completions.create({
  model: 'gpt-5.6-terra',
  messages: [{ role: 'user', content: '生成一份三项检查清单。' }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}

在服务端使用

在 Next.js、Node.js 服务或 Serverless Function 中从服务端环境变量读取 Key。不要在带有 'use client' 的模块或 NEXT_PUBLIC_* 变量中暴露 Key。

app/api/chat/route.ts
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.SUBLYX_API_KEY,
  baseURL: 'https://api.sublyx.org/v1',
});

export async function POST(request: Request) {
  const { prompt } = (await request.json()) as { prompt: string };
  const response = await client.chat.completions.create({
    model: 'gpt-5.6-terra',
    messages: [{ role: 'user', content: prompt }],
  });

  return Response.json({
    text: response.choices[0].message.content,
  });
}

本页目录