На Mastodon кто-то спросил, можно ли подключить Google Gemini к бете Xcode 26 в macOS 26. Можно! Но… с помощью небольших хитростей и прокси-скриптов.

Google представила совместимый с OpenAI API для Gemini, но его URL-структура отличается от того, что ожидает Xcode. В настройках поставщика языковых моделей поле URL должно содержать базовый адрес API, например, https://api.openai.com/. Xcode уже сам добавляет v1/models и другие пути.

У Gemini же базовый адрес выглядит так: https://generativelanguage.googleapis.com/v1beta/openai/, а не https://generativelanguage.googleapis.com/v1/. Из-за этого возникает конфликт. Ниже в статье о том, как настроить Xcode и прокси, чтобы всё работало.

Шаг 1. Настраиваем Gemini в Xcode

Откройте SettingsIntelligenceAdd a Model Provider и заполните форму:

  • Type: Internet Hosted

  • URL: https://generativelanguage.googleapis.com/

  • API Key: Bearer $apiKey (ваш настоящий API-ключ)

  • API Key Header: Authorization

  • Description: любое описание, я использовал «Gemini»

Нажмите Save и закройте Xcode.

Шаг 2. Переписываем запросы через Proxyman

Нам будет нужен локальный прокси, который будет переписывать запросы на лету. Я для этого использую отличный инструмент Proxyman. Скачайте и установите его. Я не буду вдаваться в детали установки, так как всё достаточно подробно описано в инструкции на официальном сайте.

Proxyman бесплатный для того, что мы делаем в этой статье. Его возможности намного шире, но за доступ к ним надо будет доплатить. Для переписывания запросов на лету можно использовать и Proxygen. Я выбрал Proxyman только потому, что привык к нему.

После запуска я настроил его так, чтобы он проксировал все запросы Xcode на уровне приложения, а после включил и настроил поддержку скриптов в Proxyman, чтобы моментально переписывать их.

Конфигурация скрипта Proxyman

URL: https://generativelanguage.googleapis.com/v1/. Обрабатываем все HTP-методы и подпути для этого URL. Сам скрипт:

function onRequest(context, url, request) {
  request.path = request.path.replace("/v1/", "/v1beta/openai/");
  request.color = 'yellow';
  return request;
}

Скрипт меняет все обращения к /v1/… на правильный путь Google API.

Шаг 3. Проверяем список моделей Gemini

Снова откройте Xcode и перейдите в SettingsIntelligenceGemini. Теперь должен появиться список доступных моделей.

Шаг 4. Используем Gemini в Xcode

Для тестов я создал новое Swift-приложение, открыл ContentView.swift, попросил модель Gemini 2.5 Flash перевести интерфейс на немецкий и добавить две кнопки: «Much AI», «So Gemini». Языковая модель справилась!

Предостережения

  • Proxyman должен быть запущен параллельно с Xcode, иначе схема не сработает.

  • Возможно, в будущих бета-версиях Xcode добавят более гибкие настройки провайдеров LLM. Скрестим пальцы!

Комментарии (0)