Все статьи
OpenAIPythonSDKГайд

OpenAI SDK через Omni Router: не только Codex CLI

Omni Router

OpenAI SDK через Omni Router

Не только Codex CLI

Вы зарегистрировали Codex-провайдер через бота, получили omni_ токен и запустили codex -m gpt-5.3-codex. Работает. Но тот же токен работает и с обычным OpenAI Python SDK, и с Node.js клиентом, и с OpenCode, и с OpenClaw — с любым клиентом, который умеет в OpenAI Responses API.

Omni Router проксирует эндпоинт /v1/responses — стандартный OpenAI Responses API. Codex CLI — просто один из клиентов, который его использует.

Python SDK

Установите openai и укажите base_url на Omni Router:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.omnirouter.ru/v1",
    api_key="omni_xxx",
)

response = client.responses.create(
    model="gpt-5.3-codex",
    instructions="You are a helpful assistant.",
    input="Объясни разницу между async и threading в Python",
    store=False,
)

print(response.output_text)

Стриминг тоже работает:

stream = client.responses.create(
    model="gpt-5.2",
    instructions="You are a helpful assistant.",
    input="Напиши функцию для парсинга CSV",
    store=False,
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)

Доступные модели: gpt-5.3-codex, gpt-5.2, o3.

Node.js SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.omnirouter.ru/v1",
  apiKey: "omni_xxx",
});

const response = await client.responses.create({
  model: "gpt-5.3-codex",
  instructions: "You are a helpful assistant.",
  input: "Напиши Express middleware для rate limiting",
  store: false,
});

console.log(response.output_text);

curl

curl -N \
  -H "Authorization: Bearer omni_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.3-codex",
    "store": false,
    "stream": true,
    "instructions": "You are a helpful assistant.",
    "input": [
      {
        "type": "message",
        "role": "user",
        "content": [{"type": "input_text", "text": "Hi"}]
      }
    ]
  }' \
  https://api.omnirouter.ru/v1/responses

OpenCode и OpenClaw

Оба терминальных агента поддерживают подключение через кастомный base URL и могут работать с подпиской ChatGPT через Omni Router.

OpenCode — терминальный AI-агент на Go, поддерживает 75+ провайдеров. Добавьте в ~/.config/opencode/opencode.json:

{
  "provider": {
    "openai": {
      "options": {
        "baseURL": "https://api.omnirouter.ru/v1"
      }
    }
  }
}
export OPENAI_API_KEY="omni_xxx"
opencode

OpenClaw — персональный AI-агент с интеграцией в мессенджеры. Укажите base URL в конфигурации OpenAI-провайдера и задайте omni_ токен как API-ключ.

В обоих случаях вы используете ту же подписку ChatGPT, что и для Codex CLI — через один omni_ токен.

Готча: обязательные поля

Upstream OpenAI требует два поля, без которых запрос вернёт 400:

ПолеЗначениеБез него
instructionsЛюбая строка (системный промпт)400: Instructions are required
storefalse400: Store must be set to false

Codex CLI проставляет их автоматически. При использовании SDK или curl — добавляйте вручную.

Когда это полезно

CI/CD и скрипты. Вместо Codex CLI в интерактивном режиме — SDK-вызов в пайплайне. Авто-ревью кода, генерация тестов, линтинг через GPT-5.3.

Свой агент. Строите собственного AI-агента? Responses API через SDK — стандартный способ. Один omni_ токен вместо прямого API-ключа OpenAI.

Выбор клиента. Codex CLI не подходит? Используйте OpenCode, OpenClaw или просто Python-скрипт — тот же эндпоинт, та же подписка.

Два провайдера, один прокси. Claude Code работает через /v1/messages, OpenAI — через /v1/responses. Разные omni_ токены, один Omni Router, ноль VPN.


Подключить OpenAI через Omni Router: @omnirouter_bot