AI-ассистенты

AI Proxy

Кратко

AI Proxy: отдельный сервис tuk-tuk.online, через который бэкенд отправляет запросы к OpenAI, Anthropic, Gemini, Mistral и DeepSeek. Авторизация по заголовку x-proxy-secret; без AI_PROXY_URL бэкенд ходит к провайдерам напрямую.

  • Маршруты: /openai, /anthropic, /gemini, /mistral, /deepseek.
  • Переменные прокси: PORT (по умолчанию 3100), PROXY_SECRET.
  • Переменные бэкенда: AI_PROXY_URL, AI_PROXY_SECRET (равен PROXY_SECRET).
  • Прокси удаляет заголовок x-proxy-secret перед запросом во внешний API.
  • Проверка: GET /health на прокси; 403 означает несовпадение секретов.
На этой странице

AI Proxy: отдельный сервис, который принимает запросы бэкенда и проксирует их к AI-провайдерам. Все AI-запросы выходят из одной точки, авторизация между бэкендом и прокси идёт по общему секрету.

#Когда это нужно

  • Единый egress для всех AI-запросов.
  • Централизованная защита по заголовку x-proxy-secret.
  • Стабильная маршрутизация к разным провайдерам из одной конфигурации бэкенда.

Если AI_PROXY_URL не задан, бэкенд отправляет запросы напрямую провайдерам.

#Маршруты

ПрефиксПровайдерЦелевой API
/openaiOpenAIhttps://api.openai.com
/anthropicAnthropichttps://api.anthropic.com
/geminiGoogle Geminihttps://generativelanguage.googleapis.com
/mistralMistralhttps://api.mistral.ai
/deepseekDeepSeekhttps://api.deepseek.com

Перед отправкой во внешний API прокси удаляет внутренний заголовок x-proxy-secret.

#Переменные окружения

#apps/ai-proxy

ПеременнаяНазначение
PORTПорт сервиса, по умолчанию 3100
PROXY_SECRETОбщий секрет для авторизации запросов от бэкенда

#apps/backend

ПеременнаяНазначение
AI_PROXY_URLБазовый URL прокси, например https://your-ai-proxy.up.railway.app
AI_PROXY_SECRETТот же секрет, что и PROXY_SECRET

#Проверить, что работает

  1. Откройте health-эндпоинт прокси: GET /health должен ответить успешно.
  2. Сверьте AI_PROXY_SECRET бэкенда и PROXY_SECRET прокси: значения совпадают.
  3. Выполните тестовый AI-запрос через ассистента: в логах нет 403 Forbidden от прокси.

#Частые проблемы

СимптомПричинаРешение
403 от проксиНе совпадают AI_PROXY_SECRET и PROXY_SECRETСинхронизируйте секреты в бэкенде и ai-proxy
Запросы идут мимо проксиНе задан AI_PROXY_URLУкажите URL в env бэкенда
Нет ответа провайдераОшибка API-ключа у выбранного провайдераПроверьте ключ в провайдерах AI