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 . Нажмите «Выпустить ключ», задайте имя (например, название этого клиента) и лимит трат, скопируйте ключ. Баланс пополняется там же. Подробнее о кабинете и ключах . Установка
bashnpm i @anthropic-ai/sdk
# или
npm i openai
# pnpm / yarn / bun тоже подходят:
# pnpm add @anthropic-ai/sdk
# bun add @anthropic-ai/sdk TypeScript
tsimport 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-совместимый
tsimport 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-итератор
tsconst 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, доступный в обоих рантаймах.
// 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