
Codex и OpenCode на бесплатном Gemini: ставим Gemini Web2API
Здесь всё, чтобы запустить Gemini Web2API у себя и подключить его к агенту для кода: что понадобится, запуск сервера, проверка, готовые настройки для Codex и OpenCode, какие модели выбрать и что делать, если Gemini не открывается или отвечает пусто.
Содержание8 глав
Что это
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(в Windowspython --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. Скачай и запусти сервер
- Скачай репозиторий:
git clone https://github.com/Sophomoresty/gemini-web2api.gitи перейди в папку:cd gemini-web2api - Поставь единственную зависимость для потоковых ответов:
pip install httpx(на macOS и Linux может называтьсяpip3 install httpx). - Запусти сервер:
python gemini_web2api.py(илиpython3 gemini_web2api.py). - В терминале появится блок с версией. Найди строку Base URL - это адрес сервера, он заканчивается на
localhost:8081/v1. Скопируй его целиком, вместе с приставкой http в начале: дальше он называется «адрес из шага 1». Строка Cookie: none (anonymous) значит, что работает анонимный режим без аккаунта. - Окно терминала не закрывай: пока оно открыто, сервер работает.
Шаг 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
- Поставь Codex, если его ещё нет:
npm install -g @openai/codex, илиbrew install --cask codex, илиcurl -fsSL https://chatgpt.com/codex/install.sh | sh - Открой файл
~/.codex/config.tomlв папке пользователя (нет файла - создай) и добавь в конец три строки:
[model_providers.gemini_web]name = "Gemini Web2API"base_url = "адрес из шага 1"- между кавычками вставь скопированный адрес вместо этих слов
- Настройки провайдера кладутся именно в этот файл. Файл
.codex/config.tomlвнутри проекта Codex для провайдеров не читает. - Запусти Codex на Gemini:
codex -c model_provider=gemini_web -m gemini-3.6-flash - Проверь связку первым запросом: «Прочитай структуру этого проекта и коротко опиши, что он делает. Ничего не меняй.» Если ответ пришёл, а в окне сервера появилась строка с
POST /v1/responses, всё подключено. - Чтобы Codex всегда стартовал на Gemini без флагов, добавь в самое начало того же файла, до строк в квадратных скобках, две строки:
model_provider = "gemini_web"иmodel = "gemini-3.6-flash". Вернуться к обычному Codex - удали эти две строки.
Файлы, правки и команды выполняет сам Codex у тебя на компьютере, сервер только передаёт ответы Gemini.
Шаг 4. Подключи OpenCode
- Поставь OpenCode:
curl -fsSL https://opencode.ai/install | bashилиnpm i -g opencode-ai@latest - В папке проекта создай файл
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» вставь скопированный адрес.
- Запусти
opencodeв этой папке. Набери/connect, пролистай вниз до пункта Other, введи idgemini-webи любой ключ, напримерsk-local: сервер без настроенных ключей принимает любой. - Набери
/modelsи выбери Gemini 3.6 Flash из группы Gemini Web2API. - Первый запрос для проверки: «Опиши структуру проекта и предложи 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. Закрой сервер от чужих и береги данные
- По умолчанию сервер слушает все сетевые адреса компьютера, и к нему могут подключиться из твоей сети. Создай рядом с
gemini_web2api.pyфайлconfig.jsonс одной строкой:{"host": "127.0.0.1", "api_keys": ["sk-придумай-свой-ключ"]}и перезапусти сервер. - Для Codex добавь в раздел
[model_providers.gemini_web]строкуenv_key = "GEMINI_WEB_ACCESS"и перед запуском задай переменную:export GEMINI_WEB_ACCESS=sk-придумай-свой-ключ(в Windows PowerShell$env:GEMINI_WEB_ACCESS="sk-придумай-свой-ключ"). - Для OpenCode введи этот же ключ в
/connectвместоsk-local. - Не отправляй через сервер пароли, токены и закрытый код клиентов: запросы уходят в веб-версию Gemini.
- Cookie для работы не нужен. Если захочешь Pro-модель через cookie платной подписки, бери отдельный Google-аккаунт, а не основной: это неофициальный доступ к веб-версии, и условия использования Google запрещают автоматический доступ к сервисам в обход правил сайта. Условия: https://policies.google.com/terms
- Не раздавай свой сервер другим людям и не гоняй через него десятки запросов в секунду: автор инструмента советует держать его для личной работы.


