Чек-лист
кодовое словоБезлимит

Codex и OpenCode на бесплатном Gemini: ставим Gemini Web2API

Здесь всё, чтобы запустить Gemini Web2API у себя и подключить его к агенту для кода: что понадобится, запуск сервера, проверка, готовые настройки для Codex и OpenCode, какие модели выбрать и что делать, если Gemini не открывается или отвечает пусто.

Содержание8 глав
  1. 01Что это
  2. 02Что понадобится
  3. 03Шаг 1. Скачай и запусти сервер
  4. 04Шаг 2. Проверь, что сервер отвечает
  5. 05Шаг 3. Подключи Codex
  6. 06Шаг 4. Подключи OpenCode
  7. 07Шаг 5. Если что-то не работает
  8. 08Шаг 6. Закрой сервер от чужих и береги данные

Что это

Gemini Web2API - открытый инструмент под лицензией MIT, репозиторий: https://github.com/Sophomoresty/gemini-web2api

Это один файл на Python. Он поднимает у тебя на компьютере маленький сервер: сервер принимает запросы в формате OpenAI и передаёт их в веб-версию Gemini. Ключ Google API не нужен, вход в аккаунт тоже: модели работают в анонимном режиме. Агенту для кода остаётся только адрес этого сервера. Запросы идут в твой сервер, а не в OpenAI, поэтому сообщения из лимита тарифа Codex на них не тратятся.

Что понадобится

  • Python версии 3.8 или новее. Скачать: https://www.python.org/downloads/ . Проверить в терминале: python3 --version (в Windows python --version).
  • Агент для кода на выбор: Codex (https://github.com/openai/codex) или OpenCode (https://opencode.ai/docs/providers).
  • Доступ к Gemini (https://gemini.google.com). Веб-версия работает не во всех странах, России в официальном списке нет: https://support.google.com/gemini/answer/13575153 . Если сайт у тебя не открывается, серверу понадобится прокси - это шаг 5.
  • Git - по желанию. Без него скачай архив на странице репозитория: зелёная кнопка Code, затем Download ZIP.

Шаг 1. Скачай и запусти сервер

  1. Скачай репозиторий: git clone https://github.com/Sophomoresty/gemini-web2api.git и перейди в папку: cd gemini-web2api
  2. Поставь единственную зависимость для потоковых ответов: pip install httpx (на macOS и Linux может называться pip3 install httpx).
  3. Запусти сервер: python gemini_web2api.py (или python3 gemini_web2api.py).
  4. В терминале появится блок с версией. Найди строку Base URL - это адрес сервера, он заканчивается на localhost:8081/v1. Скопируй его целиком, вместе с приставкой http в начале: дальше он называется «адрес из шага 1». Строка Cookie: none (anonymous) значит, что работает анонимный режим без аккаунта.
  5. Окно терминала не закрывай: пока оно открыто, сервер работает.

Шаг 2. Проверь, что сервер отвечает

Открой второе окно терминала и выполни curl localhost:8081/v1/models. В ответ придёт список моделей. Какие брать:

МодельКогда брать
gemini-3.6-flashосновная модель для агента, ответ примерно до 12 тысяч символов
gemini-3.7-flashновая версия Flash, если она есть в списке
gemini-3.5-flash-thinkingсложная задача, долгое размышление и самый длинный ответ, примерно до 20 тысяч символов
gemini-flash-liteсамые быстрые ответы на простые вопросы

gemini-3.1-pro без cookie от платной подписки Gemini отвечает той же моделью Flash, поэтому для начала бери gemini-3.6-flash.

Шаг 3. Подключи Codex

  1. Поставь Codex, если его ещё нет: npm install -g @openai/codex, или brew install --cask codex, или curl -fsSL https://chatgpt.com/codex/install.sh | sh
  2. Открой файл ~/.codex/config.toml в папке пользователя (нет файла - создай) и добавь в конец три строки:
  • [model_providers.gemini_web]
  • name = "Gemini Web2API"
  • base_url = "адрес из шага 1" - между кавычками вставь скопированный адрес вместо этих слов
  1. Настройки провайдера кладутся именно в этот файл. Файл .codex/config.toml внутри проекта Codex для провайдеров не читает.
  2. Запусти Codex на Gemini: codex -c model_provider=gemini_web -m gemini-3.6-flash
  3. Проверь связку первым запросом: «Прочитай структуру этого проекта и коротко опиши, что он делает. Ничего не меняй.» Если ответ пришёл, а в окне сервера появилась строка с POST /v1/responses, всё подключено.
  4. Чтобы Codex всегда стартовал на Gemini без флагов, добавь в самое начало того же файла, до строк в квадратных скобках, две строки: model_provider = "gemini_web" и model = "gemini-3.6-flash". Вернуться к обычному Codex - удали эти две строки.

Файлы, правки и команды выполняет сам Codex у тебя на компьютере, сервер только передаёт ответы Gemini.

Шаг 4. Подключи OpenCode

  1. Поставь OpenCode: curl -fsSL https://opencode.ai/install | bash или npm i -g opencode-ai@latest
  2. В папке проекта создай файл opencode.json и вставь в него:

{"$schema": "https://opencode.ai/config.json", "provider": {"gemini-web": {"npm": "@ai-sdk/openai-compatible", "name": "Gemini Web2API", "options": {"baseURL": "адрес из шага 1"}, "models": {"gemini-3.6-flash": {"name": "Gemini 3.6 Flash"}, "gemini-3.5-flash-thinking": {"name": "Gemini 3.5 Flash Thinking"}}}}}

Вместо слов «адрес из шага 1» вставь скопированный адрес.

  1. Запусти opencode в этой папке. Набери /connect, пролистай вниз до пункта Other, введи id gemini-web и любой ключ, например sk-local: сервер без настроенных ключей принимает любой.
  2. Набери /models и выбери Gemini 3.6 Flash из группы Gemini Web2API.
  3. Первый запрос для проверки: «Опиши структуру проекта и предложи 3 улучшения. Код пока не меняй.»

Шаг 5. Если что-то не работает

  • Ошибка соединения или timeout в окне сервера - Gemini не открывается из твоей сети. Запусти сервер через прокси: python gemini_web2api.py --proxy и через пробел адрес своего HTTP-прокси с портом. Второй способ - перед запуском задать переменную окружения HTTPS_PROXY с тем же адресом.
  • HTTP 429 Too Many Requests - Google притормаживает слишком частые запросы. Сервер сам повторяет запрос 3 раза. Не запускай много агентов одновременно и сделай паузу.
  • Пустой ответ или HTTP 400 - обнови репозиторий командой git pull и перезапусти сервер: при запуске он сам подтягивает свежую версию веб-протокола Gemini.
  • invalid api key - в config.json заданы ключи, а агент шлёт другой. Впиши тот же ключ в агент или очисти список ключей.
  • Агент пишет, что не видит модель - проверь, что имя модели в настройках совпадает с одним из имён из шага 2 буква в букву.
  • Codex показывает пустые ответы - обнови и сервер (git pull), и Codex. Не помогло - подключи тот же адрес в OpenCode по шагу 4.

Шаг 6. Закрой сервер от чужих и береги данные

  1. По умолчанию сервер слушает все сетевые адреса компьютера, и к нему могут подключиться из твоей сети. Создай рядом с gemini_web2api.py файл config.json с одной строкой: {"host": "127.0.0.1", "api_keys": ["sk-придумай-свой-ключ"]} и перезапусти сервер.
  2. Для Codex добавь в раздел [model_providers.gemini_web] строку env_key = "GEMINI_WEB_ACCESS" и перед запуском задай переменную: export GEMINI_WEB_ACCESS=sk-придумай-свой-ключ (в Windows PowerShell $env:GEMINI_WEB_ACCESS="sk-придумай-свой-ключ").
  3. Для OpenCode введи этот же ключ в /connect вместо sk-local.
  4. Не отправляй через сервер пароли, токены и закрытый код клиентов: запросы уходят в веб-версию Gemini.
  5. Cookie для работы не нужен. Если захочешь Pro-модель через cookie платной подписки, бери отдельный Google-аккаунт, а не основной: это неофициальный доступ к веб-версии, и условия использования Google запрещают автоматический доступ к сервисам в обход правил сайта. Условия: https://policies.google.com/terms
  6. Не раздавай свой сервер другим людям и не гоняй через него десятки запросов в секунду: автор инструмента советует держать его для личной работы.