Skip to content

Latest commit

 

History

History
441 lines (327 loc) · 21.4 KB

File metadata and controls

441 lines (327 loc) · 21.4 KB

Справочник по API

🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino

Полный справочник по всем конечным точкам API OmniRoute.


Содержание


Завершения чата

POST /v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "cc/claude-opus-4-6",
  "messages": [
    {"role": "user", "content": "Write a function to..."}
  ],
  "stream": true
}

Пользовательские заголовки

Заголовок Направление Описание
X-OmniRoute-No-Cache Запрос Установите значение true для обхода кеша
X-OmniRoute-Progress Запрос Установите значение true для событий прогресса
Idempotency-Key Запрос Ключ дедупликации (окно 5s)
X-Request-Id Запрос Альтернативный ключ дедупликации
X-OmniRoute-Cache Ответ HIT или MISS (без потоковой передачи)
X-OmniRoute-Idempotent Ответ true при дедупликации
X-OmniRoute-Progress Ответ enabled, если отслеживание прогресса включено

Вложения

POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "nebius/Qwen/Qwen3-Embedding-8B",
  "input": "The food was delicious"
}

Доступные провайдеры: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.

# List all embedding models
GET /v1/embeddings

Генерация изображений

POST /v1/images/generations
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "openai/dall-e-3",
  "prompt": "A beautiful sunset over mountains",
  "size": "1024x1024"
}

Доступные провайдеры: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.

# List all image models
GET /v1/images/generations

Список моделей

GET /v1/models
Authorization: Bearer your-api-key

→ Returns all chat, embedding, and image models + combos in OpenAI format

Конечные точки совместимости

Метод Путь Формат
ПОСТ /v1/chat/completions ОпенАИ
ПОСТ /v1/messages Антропный
ПОСТ /v1/responses Ответы OpenAI
ПОСТ /v1/embeddings ОпенАИ
ПОСТ /v1/images/generations ОпенАИ
ПОЛУЧИТЬ /v1/models ОпенАИ
ПОСТ /v1/messages/count_tokens Антропный
ПОЛУЧИТЬ /v1beta/models Близнецы
ПОСТ /v1beta/models/{...path} Близнецы создают контент
ПОСТ /v1/api/chat Оллама

Маршруты выделенного провайдера

POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations

Префикс провайдера добавляется автоматически, если он отсутствует. Несовпадающие модели возвращают 400.


Семантический кеш

# Get cache stats
GET /api/cache

# Clear all caches
DELETE /api/cache

Пример ответа:

{
  "semanticCache": {
    "memorySize": 42,
    "memoryMaxSize": 500,
    "dbSize": 128,
    "hitRate": 0.65
  },
  "idempotency": {
    "activeKeys": 3,
    "windowMs": 5000
  }
}

Панель управления и управление

Аутентификация

Конечная точка Метод Описание
/api/auth/login ПОСТ Войти
/api/auth/logout ПОСТ Выйти
/api/settings/require-login ПОЛУЧИТЬ/ПОСТАВИТЬ Переключить требуется вход

Управление поставщиками

Конечная точка Метод Описание
/api/providers ПОЛУЧИТЬ/ОТПРАВИТЬ Список/создание поставщиков
/api/providers/[id] ПОЛУЧИТЬ/ПОСТАВИТЬ/УДАЛИТЬ Управление провайдером
/api/providers/[id]/test ПОСТ Проверка подключения к провайдеру
/api/providers/[id]/models ПОЛУЧИТЬ Список моделей поставщиков
/api/providers/validate ПОСТ Проверка конфигурации провайдера
/api/provider-nodes* Разное Управление узлами провайдера
/api/provider-models ПОЛУЧИТЬ/ОТПРАВИТЬ/УДАЛИТЬ Нестандартные модели

Потоки OAuth

Конечная точка Метод Описание
/api/oauth/[provider]/[action] Разное OAuth для конкретного поставщика

Маршрутизация и конфигурация

Конечная точка Метод Описание
/api/models/alias ПОЛУЧИТЬ/ОТПРАВИТЬ Псевдонимы моделей
/api/models/catalog ПОЛУЧИТЬ Все модели по поставщику + типу
/api/combos* Разное Комбинированное управление
/api/keys* Разное Управление ключами API
/api/pricing ПОЛУЧИТЬ Цены на модели

Использование и аналитика

Конечная точка Метод Описание
/api/usage/history ПОЛУЧИТЬ История использования
/api/usage/logs ПОЛУЧИТЬ Журналы использования
/api/usage/request-logs ПОЛУЧИТЬ Журналы уровня запроса
/api/usage/[connectionId] ПОЛУЧИТЬ Использование для каждого соединения

Настройки

Конечная точка Метод Описание
/api/settings ПОЛУЧИТЬ/ПОСТАВИТЬ Общие настройки
/api/settings/proxy ПОЛУЧИТЬ/ПОСТАВИТЬ Конфигурация сетевого прокси
/api/settings/proxy/test ПОСТ Проверить прокси-соединение
/api/settings/ip-filter ПОЛУЧИТЬ/ПОСТАВИТЬ Список разрешенных/блокированных IP-адресов
/api/settings/thinking-budget ПОЛУЧИТЬ/ПОСТАВИТЬ Обоснование бюджета жетона
/api/settings/system-prompt ПОЛУЧИТЬ/ПОСТАВИТЬ Глобальная системная подсказка

Мониторинг

Конечная точка Метод Описание
/api/sessions ПОЛУЧИТЬ Отслеживание активных сессий
/api/rate-limits ПОЛУЧИТЬ Ограничения ставок для каждого аккаунта
/api/monitoring/health ПОЛУЧИТЬ Проверка здоровья
/api/cache ПОЛУЧИТЬ/УДАЛИТЬ Статистика кэша / очистить

Резервное копирование и экспорт/импорт

Конечная точка Метод Описание
/api/db-backups ПОЛУЧИТЬ Список доступных резервных копий
/api/db-backups ПУТЬ Создайте резервную копию вручную
/api/db-backups ПОСТ Восстановление из определенной резервной копии
/api/db-backups/export ПОЛУЧИТЬ Загрузить базу данных в виде файла .sqlite
/api/db-backups/import ПОСТ Загрузите файл .sqlite для замены базы данных
/api/db-backups/exportAll ПОЛУЧИТЬ Загрузите полную резервную копию в виде архива .tar.gz

Облачная синхронизация

Конечная точка Метод Описание
/api/sync/cloud Разное Операции облачной синхронизации
/api/sync/initialize ПОСТ Инициализировать синхронизацию
/api/cloud/* Разное Облачное управление

Инструменты CLI

Конечная точка Метод Описание
/api/cli-tools/claude-settings ПОЛУЧИТЬ Статус Клода CLI
/api/cli-tools/codex-settings ПОЛУЧИТЬ Статус CLI Кодекса
/api/cli-tools/droid-settings ПОЛУЧИТЬ Статус Droid CLI
/api/cli-tools/openclaw-settings ПОЛУЧИТЬ Статус OpenClaw CLI
/api/cli-tools/runtime/[toolId] ПОЛУЧИТЬ Общая среда выполнения CLI

Ответы CLI включают: installed, runnable, command, commandPath, runtimeMode, reason.

Устойчивость и ограничения скорости

Конечная точка Метод Описание
/api/resilience ПОЛУЧИТЬ/ПОСТАВИТЬ Получить/обновить профили устойчивости
/api/resilience/reset ПОСТ Сброс автоматических выключателей
/api/rate-limits ПОЛУЧИТЬ Статус ограничения ставки для каждого аккаунта
/api/rate-limit ПОЛУЧИТЬ Конфигурация глобального ограничения скорости

Оценки

Конечная точка Метод Описание
/api/evals ПОЛУЧИТЬ/ОТПРАВИТЬ Получение списка пакетов оценки / запуск оценки

Политики

Конечная точка Метод Описание
/api/policies ПОЛУЧИТЬ/ОТПРАВИТЬ/УДАЛИТЬ Управление политиками маршрутизации

Соответствие

Конечная точка Метод Описание
/api/compliance/audit-log ПОЛУЧИТЬ Журнал аудита соответствия (последний N)

v1beta (совместимость с Близнецами)

Конечная точка Метод Описание
/v1beta/models ПОЛУЧИТЬ Список моделей в формате Gemini
/v1beta/models/{...path} ПОСТ Конечная точка Gemini generateContent

Эти конечные точки отражают формат API Gemini для клиентов, которым требуется встроенная совместимость с Gemini SDK.

Внутренние/системные API

Конечная точка Метод Описание
/api/init ПОЛУЧИТЬ Проверка инициализации приложения (используется при первом запуске)
/api/tags ПОЛУЧИТЬ Теги моделей, совместимые с Ollama (для клиентов Ollama)
/api/restart ПОСТ Запустить плавный перезапуск сервера
/api/shutdown ПОСТ Запустить корректное завершение работы сервера

Примечание. Эти конечные точки используются внутри системы или для совместимости с клиентом Ollama. Обычно они не вызываются конечными пользователями.


Аудио транскрипция

POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data

Транскрибируйте аудиофайлы с помощью Deepgram или AssemblyAI.

Запрос:

curl -X POST http://localhost:20128/v1/audio/transcriptions \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@recording.mp3" \
  -F "model=deepgram/nova-3"

Ответ:

{
  "text": "Hello, this is the transcribed audio content.",
  "task": "transcribe",
  "language": "en",
  "duration": 12.5
}

Поддерживаемые поставщики: deepgram/nova-3, assemblyai/best.

Поддерживаемые форматы: mp3, wav, m4a, flac, ogg, webm.


Совместимость с Олламой

Для клиентов, использующих формат API Ollama:

# Chat endpoint (Ollama format)
POST /v1/api/chat

# Model listing (Ollama format)
GET /api/tags

Запросы автоматически переводятся между Олламой и внутренними форматами.


Телеметрия

# Get latency telemetry summary (p50/p95/p99 per provider)
GET /api/telemetry/summary

Ответ:

{
  "providers": {
    "claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
    "github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
  }
}

Бюджет

# Get budget status for all API keys
GET /api/usage/budget

# Set or update a budget
POST /api/usage/budget
Content-Type: application/json

{
  "keyId": "key-123",
  "limit": 50.00,
  "period": "monthly"
}

Доступность модели

# Get real-time model availability across all providers
GET /api/models/availability

# Check availability for a specific model
POST /api/models/availability
Content-Type: application/json

{
  "model": "claude-sonnet-4-5-20250929"
}

Обработка запроса

  1. Клиент отправляет запрос на /v1/*.
  2. Обработчик маршрута вызывает handleChat, handleEmbedding, handleAudioTranscription или handleImageGeneration.
  3. Модель разрешена (прямой поставщик/модель или псевдоним/комбо)
  4. Учетные данные, выбранные из локальной базы данных с фильтрацией доступности учетной записи.
  5. Для чата: handleChatCore — определение формата, трансляция, проверка кеша, проверка идемпотентности
  6. Исполнитель провайдера отправляет восходящий запрос.
  7. Ответ переводится обратно в формат клиента (чат) или возвращается в исходном виде (встраивания/изображения/аудио).
  8. Запись использования/регистрации
  9. Резервный вариант применяется при ошибках в соответствии с правилами комбо.

Полная ссылка на архитектуру: link.


Аутентификация

  • Маршруты информационной панели (/dashboard/*) используют файл cookie auth_token.
  • Для входа используется сохраненный хеш пароля; возврат к INITIAL_PASSWORD
  • requireLogin переключается через /api/settings/require-login
  • Маршруты /v1/* дополнительно требуют ключ API носителя, когда REQUIRE_API_KEY=true