Hubris
Фреймворки

OpenAI SDK для Node.js

Использовать официальный openai пакет с Hubris — поменяйте baseURL и apiKey.

OpenAI SDK для Node.js

Официальный пакет openai от OpenAI работает с Hubris как drop-in replacement.

Установка

npm install openai
# или
pnpm add openai
# или
yarn add openai

Подключение

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.hubris.pw/v1",
  apiKey: process.env.HUBRIS_API_KEY,
});

Базовый запрос

const response = await client.chat.completions.create({
  model: "anthropic/claude-haiku-4.5",
  messages: [{ role: "user", content: "Привет" }],
});

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

Стриминг

const stream = await client.chat.completions.create({
  model: "anthropic/claude-haiku-4.5",
  messages: [{ role: "user", content: "Расскажи историю" }],
  stream: true,
});

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

Tool calling

const tools = [{
  type: "function" as const,
  function: {
    name: "get_weather",
    description: "Текущая погода в городе",
    parameters: {
      type: "object",
      properties: { city: { type: "string" } },
      required: ["city"],
    },
  },
}];

const response = await client.chat.completions.create({
  model: "anthropic/claude-haiku-4.5",
  messages: [{ role: "user", content: "Какая погода в Москве?" }],
  tools,
});
console.log(response.choices[0].message.tool_calls);

Что не работает

client.embeddings.create(), client.images.generate(), client.audio.*, client.files.*, client.batches.* — соответствующих эндпоинтов нет, появятся в ближайших обновлениях.

Что дальше