Skip to content

Node.js

平台兼容 OpenAI 接口,直接用官方 openai npm 包,改 baseURL 即可。

OpenAI SDK

bash
npm install openai
js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-你的key",
  baseURL: "https://gateway.mindproxy.ai/v1",
});

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

流式

js
const stream = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "写一首短诗" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

图像生成

js
const img = await client.images.generate({
  model: "gpt-image-1",
  prompt: "夜晚的城市",
  n: 1,
  size: "1024x1024",
});
console.log(img.data[0].url);

Claude(Anthropic SDK)

bash
npm install @anthropic-ai/sdk
js
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: "sk-你的key",
  baseURL: "https://gateway.mindproxy.ai", // SDK 自动拼 /v1/messages
});

const msg = await client.messages.create({
  model: "claude-3-5-sonnet",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }],
});
console.log(msg.content[0].text);

附加请求头

js
const resp = await client.chat.completions.create(
  {
    model: "gpt-4o-mini",
    messages: [{ role: "user", content: "你好" }],
  },
  {
    headers: {
      "Idempotency-Key": "my-unique-key-001",
      // "X-TT-Dry-Run": "true",
    },
  },
);

排障

  • 404baseURL 结尾的 /v1 多了或少了。
  • 401:Key 错误或被禁用。
  • 错误结构与状态码见 错误码与限流

线上网关:gateway.mindproxy.ai · 基于 VitePress 构建