OneProvider
AI-клиенты и SDK

Node SDK

Используйте @anthropic-ai/sdk или npm-пакет openai с OneProvider через переопределение baseURL. TypeScript, стриминг через async-итератор и edge-среды.

@anthropic-ai/sdk — рекомендуемый клиент. Официальный пакет openai тоже работает через переопределение baseURL.

Все модели, характеристики и цены Индекс документации для AI-агентов: https://oneprovider.dev/docs/llms.txt Операционная система Перед началом: ключ из кабинета Откройте кабинет: Telegram-бот @oneprovider_robot (Личный кабинет) или app.oneprovider.dev . Нажмите «Выпустить ключ», задайте имя (например, название этого клиента) и лимит трат, скопируйте ключ. Баланс пополняется там же. Подробнее о кабинете и ключах .

Установка

bash
npm i @anthropic-ai/sdk
# или
npm i openai
# pnpm / yarn / bun тоже подходят:
# pnpm add @anthropic-ai/sdk
# bun add @anthropic-ai/sdk

TypeScript

ts
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev",
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Say hi." }],
});
if (msg.content[0].type === "text") {
console.log(msg.content[0].text);
}

OpenAI-совместимый

ts
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev/v1",
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Say hi." }],
});
console.log(resp.choices[0].message.content);

Стриминг через async-итератор

ts
const stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "stream me a poem" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}

Edge-рантаймы

Работает в Vercel Edge и Cloudflare Workers без настроек. SDK использует нативный fetch, доступный в обоих рантаймах.

ts
// Cloudflare Worker
export default {
async fetch(req: Request, env: Env) {
const client = new Anthropic({ apiKey: env.ONEPROVIDER_KEY, baseURL: "https://api.oneprovider.dev" });
const msg = await client.messages.create({
model: "claude-haiku-5-5",
max_tokens: 256,
messages: [{ role: "user", content: "ping" }],
});
return Response.json(msg);
},
};
Никогда не отдавайте ключ в браузер Даже из Worker маршрутизируйте запросы через ваш собственный бэкенд, если задействованы пользовательские данные — ключ OneProvider авторизует расход, а не только доступ.

Какую модель выбрать

Передавайте id в model. claude-sonnet-5-5 подходит большинству задач, claude-haiku-5-5 для быстрых массовых вызовов, claude-opus-5-5 для сложных рассуждений. С пакетом openai можно использовать и id GPT, например gpt-5.6-terra. SDK Anthropic принимает baseURL: "https://api.oneprovider.dev", SDK OpenAI принимает baseURL: "https://api.oneprovider.dev/v1". Id на странице моделей .

Частые ошибки и решения

404 NotFoundError

SDK Anthropic: baseURL: "https://api.oneprovider.dev" без /v1. SDK OpenAI: baseURL: "https://api.oneprovider.dev/v1" с /v1.

401 AuthenticationError

process.env.ONEPROVIDER_KEY в этом процессе не задана, например не загружен .env. Логируйте длину, но никогда не само значение.

429 RateLimitError

«Insufficient balance» значит пополнить кабинет (не повторять). Любой другой 429 это лимит частоты: сделайте паузу и учтите Retry-After.

Fetch failed или таймаут

Отключите VPN и прокси; для длинных ответов используйте stream, потому что не-стриминговый запрос должен начать отвечать за 6 минут.

400 про max_tokens

SDK Anthropic требует max_tokens в каждом запросе.

Вопросы и ответы

Работает ли в edge-окружениях?

Да, Vercel Edge и Cloudflare Workers работают, потому что SDK использует fetch.

Безопасно ли вызывать из браузера?

Нет. Ключ разрешает траты; вызывайте с вашего бэкенда.

Можно ли оставить официальные SDK?

Да, меняются только ключ и baseURL, см. миграция с Anthropic .

Быстрые ответы

Какой base URL использовать?

Claude Code и Anthropic SDK работают с https://api.oneprovider.dev. OpenAI SDK и OpenAI-совместимые клиенты работают с https://api.oneprovider.dev/v1. За обоими адресами один ключ; список моделей: странице моделей , ставки на странице тарифов .

Как авторизоваться?

Передайте сырой ключ sk-… в заголовке x-api-key или Authorization: Bearer: один из двух, не оба. Храните ключ в переменной окружения, а не в файле, который попадает в репозиторий. Подробнее об аутентификации .

Где взять ключ?

Откройте кабинет в Telegram-боте @oneprovider_robot или на app.oneprovider.dev, пополните баланс и нажмите «Выпустить ключ». У каждого ключа может быть свой лимит расхода. Кабинет и ключи .

Что значат ошибки 401, 404 и 429?

401: ключ не задан, написан с ошибкой или передан не в том заголовке; вставьте ключ целиком, без кавычек и пробелов. 404: обычно неверный base URL, например лишний или двойной /v1. 429 с текстом «Insufficient balance»: баланс кабинета или лимит ключа исчерпан, пополните его вместо повторов; любой другой 429 это лимит частоты, подождите Retry-After. Разбор: коды ошибок и решение проблем .

Почему обрывается стрим или сбрасывается соединение?

VPN и VLESS-прокси часто буферизуют SSE или ломают согласование HTTP/2. У OneProvider нет региональных ограничений, и стримы на нашей стороне не буферизуются: отключите прокси и повторите запрос.

Куда писать, если не помогло?

Напишите в Telegram @Oneproviderhelpbot или откройте «Поддержку» в веб-кабинете: приложите код статуса и точный текст ошибки. Как работает поддержка .

Последнее обновление: 2026-10-05 Нашли ошибку? @Oneproviderhelpbot