Как подключить Gemini 4 Hydrogen к Cline и OpenCode
Настройте Hydrogen в Cline CLI и OpenCode V2, разделите ключи Google и Ofox, проверьте чтение файла через инструмент и устраните ошибки версии или провайдера.
Для Hydrogen через Ofox выберите OpenAI-совместимого провайдера, задайте Base URL https://api.ofox.io/v1 и передавайте ID модели google/gemini-4-hydrogen. В Cline CLI провайдер настраивается напрямую. В OpenCode V2 сначала нужно объявить собственного провайдера и модель, а затем выбрать их. Текстовый ответ — только первая проверка: клиент для программирования также должен получить вызов инструмента, прочитать файл и вернуть результат модели.
Инструкция рассчитана на Cline CLI 3.0.74 и OpenCode V2 2.3.0; сведения проверены 13 ноября 2026 года. Мы разделим учетные данные Google и Ofox и выполним небольшую проверку чтения файла до подключения настоящего репозитория. Расширение Cline для редактора имеет отдельную версию и интерфейс: эти команды CLI не являются инструкцией для всех выпусков расширения.
Статью публикует Ofox. Мы запускали выпущенные версии клиентов с локальным сервером, который возвращал синтетические потоковые ответы. Оба клиента действительно прочитали тестовый файл и вернули его содержимое. Мы не выполняли платный запрос к Hydrogen, не проверяли аккаунт клиента и не измеряли качество или скорость модели. Описанную ниже проверку реального сервиса нужно выполнить в своей учетной записи, чтобы подтвердить работоспособность выбранного маршрута от начала до конца. Документация OpenCode, Cline и Google по внешним ссылкам доступна на английском.
Выберите провайдера, ключ и модель как единую конфигурацию
Не смешивайте имя модели Google с провайдером Ofox и не вставляйте ключ Ofox в провайдера Google. Локальный псевдоним модели тоже отличается от ID, который отправляется по сети.
| Параметр | Нативный маршрут Google | Маршрут Ofox из этой статьи |
|---|---|---|
| Владелец учетных данных | Ваш проект Google | Ваш аккаунт Ofox |
| Провайдер Cline | gemini | openai в команде авторизации CLI; сохраняется как OpenAI-совместимый |
| Модель в запросе к сервису | gemini-4-hydrogen | google/gemini-4-hydrogen |
| Собственный Base URL | Оставьте значение нативного провайдера | https://api.ofox.io/v1 |
| Формат запроса | Реализация провайдера Google в клиенте | OpenAI-совместимый Chat Completions |
| Выбор модели в OpenCode ниже | Здесь не настраивается | ofox-hydrogen/hydrogen, локальный псевдоним провайдера и модели |
| Где учитывается расход | Квоты и биллинг проекта Google | Использование и баланс аккаунта Ofox |
Рекомендация Google использовать Interactions для новых интеграций не означает, что провайдер Google в существующем клиенте автоматически использует этот API. Не вставляйте адрес Interactions в поле Base URL OpenAI-совместимого провайдера. Различия форматов запросов и ответов разобраны в инструкции по Hydrogen API.
Проверенный для статьи каталог Ofox указывает поддержку протоколов OpenAI и Gemini для Hydrogen и эндпоинт Chat Completions. Наличие записи определяет маршрут интеграции, но само по себе не доказывает работу всех функций клиента, инструментов на стороне поставщика или доступность квоты конкретного аккаунта. Для ключа Ofox используйте инструкцию по аутентификации API, а поля сообщений, потоковых ответов и инструментов сверяйте с документацией Chat Completions.
Установите нужную версию и подготовьте небольшой проект
У OpenCode важно название пакета. Текущая официальная инструкция установки использует @opencode/cli для V2. Старый пакет opencode-ai относится к V1. Оба предоставляют команду opencode, поэтому по одному имени команды нельзя определить нужный синтаксис конфигурации.
Чтобы установить именно проверенные здесь выпуски:
npm install -g cline@3.0.74
npm install -g @opencode/cli@2.3.0
cline --version
opencode --version
Сверьте требования установки для своей ОС с официальной документацией. Версии зафиксированы для воспроизводимости, а не как обещание, что они навсегда останутся последними. Если вы уже используете OpenCode V1, перед изменением глобальной установки прочитайте руководство по переходу с V1 на V2. V2 может заменить команду, которую использует текущий рабочий процесс.

Официальная документация OpenCode на английском, снимок от 13 ноября 2026 года. Он показывает различие версий, а не результат теста Hydrogen. Исходная страница миграции.
Создайте отдельный каталог для первой проверки инструмента. Собственный корень Git также явно задает границу проекта, когда клиент ищет его конфигурацию.
mkdir hydrogen-client-check
cd hydrogen-client-check
git init
printf 'Local test marker: HYDROGEN_CLIENT_CHECK_20261113\n' > fixture.txt
Сначала оставьте в проекте только этот тестовый файл. Ваша задача — увидеть одно чтение файла, а не проверять большой репозиторий или одобрять длинную цепочку правок. Не помещайте ключ в opencode.json и систему контроля версий: пример OpenCode получает его из OFOX_API_KEY. Задайте переменную привычным способом управления локальными секретами. Не коммитьте файл окружения с заполненным ключом.
Настройте Hydrogen в Cline CLI
Справочник Cline CLI описывает авторизацию провайдеров и выбор собственной модели. Для Ofox настройте OpenAI-совместимого провайдера с точным Base URL и ID модели:
cline auth -p openai \
-b https://api.ofox.io/v1 \
-m google/gemini-4-hydrogen \
-k "$OFOX_API_KEY" \
--data-dir "$PWD/.cline-hydrogen"
openai — аргумент провайдера CLI, использованный в нашей проверке. Сохраненное значение нормализовалось в openai-compatible. Отдельный каталог данных изолирует состояние этого теста Cline от обычного состояния CLI. Считайте каталог приватной локальной конфигурацией и исключите его из контроля версий. Команда передает учетные данные клиенту; не копируйте аргументы с уже раскрытыми переменными в логи или скриншоты. Если удобнее для вашей среды, Cline также поддерживает интерактивную авторизацию.
Base URL заканчивается на /v1. Не дописывайте /chat/completions: путь формирует провайдер. В перехваченных локальных запросах он добавлял /chat/completions и отправлял точную строку модели из настройки.
Для нативного маршрута Google вместо этого используйте ключ Google и нативный ID модели в другом каталоге данных:
cline auth -p gemini \
-m gemini-4-hydrogen \
-k "$GEMINI_API_KEY" \
--data-dir "$PWD/.cline-google-hydrogen"
Не добавляйте к этой команде Base URL Ofox. При проверке конфигурации Cline CLI 3.0.74 отклонил собственный Base URL для gemini. Сохранение нативной конфигурации с фиктивным ключом прошло успешно, но это доказывает лишь принятие настроек CLI, а не действительность ключа или доступ проекта к Hydrogen. Если первый нативный запрос не проходит, проверьте квоту и требования верификации проекта Google по руководству доступа к Hydrogen.
Теперь запустите проверку Ofox из каталога с тестовым файлом:
cline --data-dir "$PWD/.cline-hydrogen" \
--auto-approve false \
"Read fixture.txt using a file tool. Return its exact marker. Do not modify files or run shell commands."
Когда клиент запросит разрешение, проверьте и одобрите ожидаемое чтение файла. Мы явно указываем --auto-approve false, поскольку в этой версии CLI автоматическое одобрение включено по умолчанию. Это интерактивная проверка, а не задача без участия человека. Для последующей автоматизации права следует определить отдельно.
Если Hydrogen отсутствует в списке моделей провайдера, отделяйте список от самого сервиса. В проверенном нами каталоге исходного кода Cline Hydrogen не было, но CLI принял собственный ID Hydrogen. Ни одно из этих наблюдений не подтверждает доступность реальной модели. Задайте точный ID, проверьте сохраненного провайдера и изучите первый реальный ответ, вместо того чтобы выбирать старую модель с похожим названием. Дополнительный контекст по расширению есть в инструкции настройки API в Cline.
Добавьте собственного провайдера Hydrogen в OpenCode V2
Создайте opencode.json в тестовом проекте с полной конфигурацией V2 ниже. Она использует актуальную структуру провайдеров и моделей:
{
"$schema": "https://opencode.ai/config.json",
"model": "ofox-hydrogen/hydrogen",
"providers": {
"ofox-hydrogen": {
"name": "Ofox Hydrogen",
"env": ["OFOX_API_KEY"],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://api.ofox.io/v1"
},
"models": {
"hydrogen": {
"modelID": "google/gemini-4-hydrogen",
"name": "Gemini 4 Hydrogen",
"limit": {
"context": 1048576,
"output": 65536
},
"capabilities": {
"tools": true,
"temperature": false
}
}
},
"compatibility": {
"maxTokensField": "max_tokens"
}
}
},
"permissions": [
{ "action": "*", "resource": "*", "effect": "deny" },
{ "action": "read", "resource": "*fixture.txt", "effect": "allow" }
]
}
Различайте три имени:
ofox-hydrogen— локальный ключ провайдера. Отдельное имя помогает не спутать конфигурацию со встроенным провайдером или существующей настройкой.hydrogen— локальный ключ модели. Вместе они образуют строку выбораofox-hydrogen/hydrogen.google/gemini-4-hydrogen— значениеmodelID, которое совместимый провайдер отправляет в Ofox.
Значения контекста и вывода описывают ограничения модели для клиента. Они не выдают квоту и не гарантируют, что любой запрос сможет использовать максимум. Окно Hydrogen в 1 048 576 токенов совместно используется входом, размышлениями и выводом; бюджет вывода 65 536 токенов включает размышления, а не только видимый текст. Это не независимые максимальные объемы. Лимит вывода также не является целевой длиной ответа. Начните с небольшой задачи и проверьте использование, которое фактически сообщает ваш маршрут.
Обратите внимание на две настройки совместимости. temperature: false запрещает клиенту отправлять этот параметр сэмплирования. maxTokensField: max_tokens соответствует полю выходных токенов в документации Ofox. Без переопределения перехваченный запрос OpenCode V2 использовал max_completion_tokens, а после него основные запросы использовали max_tokens. Проверено изменение поля на стороне клиента, а не утверждение, будто Ofox отклоняет все остальные псевдонимы.
Правила разрешений запрещают другие действия и разрешают чтение пути с указанным суффиксом тестового файла. Они намеренно узкие для проекта с одним таким файлом, но шаблон может совпасть и с другими путями, заканчивающимися на fixture.txt. Это не песочница операционной системы. Перед адаптацией к настоящему репозиторию, редактированию или командам оболочки прочитайте документацию разрешений OpenCode.
Запустите проверку с явно заданным путем конфигурации:
OPENCODE_CONFIG="$PWD/opencode.json" \
opencode run --standalone --format json \
--model ofox-hydrogen/hydrogen \
"Read fixture.txt using a file tool. Return its exact marker. Do not modify files or run shell commands."
--standalone поддерживается проверенной версией V2 CLI. Явные путь и выбор модели помогают обнаружить унаследованную конфигурацию или непреднамеренную модель по умолчанию. Сохраните JSON-события для проверки, удалив учетные данные и приватные пути перед передачей другим людям.
Общая инструкция по API OpenCode дает более широкий контекст провайдеров. Для текущего примера последовательно используйте конфигурацию V2 выше: не вставляйте поля providers и permissions во множественном числе в старый пример V1.
Проверьте полный цикл вызова файлового инструмента
Ожидаемый ответ содержит HYDROGEN_CLIENT_CHECK_20261113, но одного текста недостаточно. Модель может повторить значение из истории разговора, не читая файл. В событиях инструментов клиента подтвердите следующую последовательность:
- Запрос использует нужного провайдера и точный ID модели.
- Модель запрашивает инструмент чтения для
fixture.txt. - Клиент выполняет инструмент, и его результат содержит маркер из файла.
- Клиент возвращает результат инструмента в следующем запросе к модели.
- Модель формирует окончательный ответ на основе возвращенного результата, без незавершенного вызова инструмента или ошибки клиента.
Для более строгой проверки измените маркер в файле и начните новую задачу, не указывая новое значение в промпте. Возвращаемый маркер тоже должен измениться. Убедитесь, что файл не редактировался и вы не разрешили неожиданные действия. Это небольшая проверка корректности, а не оценка способности Hydrogen реализовать функцию в вашем коде.
Проверки перед публикацией установили только следующие результаты:
| Выпущенный клиент | Реальный локальный результат | Что было синтетическим или не проверялось |
|---|---|---|
| Cline CLI 3.0.74 | Два потоковых запроса Chat Completions; реальный запуск read_files; маркер возвращен серверу | Ответы модели синтетические; без инференса Ofox или Google |
| OpenCode V2 2.3.0 | Реальный цикл чтения файла; правильный ID модели в запросе; наблюдалось переопределение на max_tokens | Ответы синтетические; доступ аккаунта и обработка подписей поставщиком не проверены |
| OpenCode V1 1.19.5 | Отдельная конфигурация старой версии завершила локальный цикл чтения | Не подтверждает работу данной конфигурации V2 в V1 |
OpenCode также выполнил вспомогательный запрос. Не считайте, что одна видимая пользовательская задача равна ровно одному оплачиваемому запросу к модели. После подключения реального сервиса проверьте фактическое использование аккаунта. Мы не использовали время локального теста или синтетические счетчики токенов как доказательство производительности либо стоимости.
Перехваченные запросы Cline с собственной моделью не содержали явных полей max_tokens и temperature. Не предполагайте, что сохраненное имя модели задает тот же лимит вывода, что и пример OpenCode. До крупных задач проверьте поддерживаемые клиентом параметры и реальное содержимое запросов.
Разберите ошибки версии, авторизации и истории инструментов
Меняйте по одному параметру. Сначала установите, где возникает сбой: при загрузке конфигурации, авторизации, генерации текста или возврате результата инструмента.
| Симптом | Какую границу проверить | Следующее действие |
|---|---|---|
V2 permissions are not supported by OpenCode V1 | Исполняемый файл или пакет не подходит к конфигурации | Проверьте opencode --version; используйте V2 либо переведите всю конфигурацию на V1 |
| Модель не найдена или неизвестная локальная модель | Псевдоним и сетевой ID, выбор провайдера, устаревший каталог | Проверьте ofox-hydrogen/hydrogen локально и google/gemini-4-hydrogen в запросе |
401 или неверный ключ | Ключ другого сервиса либо его отсутствие | Проверьте провайдера и формат аутентификации Ofox, не ограничиваясь заменой имени модели |
404 или неожиданный эндпоинт | Путь добавлен дважды либо выбран другой протокол | Оставьте Base URL до /v1, сравните с эндпоинтом Chat Completions |
403 на нативном Google | Доступ проекта, верификация, политика | Прочитайте точную ошибку и проверьте право нужного проекта Google на доступ |
429 или исчерпанная квота | Квоты, лимиты частоты, баланс | До повтора прочитайте детали ограничения и руководство обработки ошибок Ofox |
| Текст работает, чтение запрещено | Политика разрешений клиента | Сверьте инструмент и путь с реальным правилом; не открывайте все инструменты ради одного чтения |
| Вызов инструмента появился, следующий запрос упал | ID результата, история сообщений, подпись размышлений | Сохраните полный ответ провайдера и связь с инструментом; изучите второй запрос |
Первую ошибку версии мы воспроизвели, передав V2-массив разрешений клиенту V1. Обновление пакета и миграция политики разрешений — разные операции. Выбор подходящего исполняемого файла автоматически не доказывает сохранение смысла политики существующего проекта.
Документация Gemini по вызову функций и подписям размышлений объясняет, почему многошаговый обмен требует не только текстовой истории. Если клиент или адаптер удаляет необходимое состояние модели, первый ход может пройти, а второй — завершиться ошибкой. См. диагностику отсутствующей подписи размышлений при вызове инструмента Gemini. Она описывает тип сбоя, но не доказывает наличие этого дефекта у данных клиентов с Hydrogen.
Руководство по ошибкам Gemini API помогает разделить проблемы авторизации, квоты и некорректного запроса. Оно написано для Argon, поэтому сопоставляйте сведения с фактическим ответом Hydrogen, не перенося автоматически детали конкретной модели. Не исправляйте ошибку подписи выдуманной подписью или незаметным удалением неудачного результата инструмента.
Сохраните рабочую базовую конфигурацию перед реальной задачей
Запишите пакет и версию клиента, провайдера, сетевой ID модели, Base URL, настройки, разрешения и успешную трассу файлового инструмента. Не включайте ключи. Укажите, был ли это локальный синтетический тест или проверка реального сервиса и какой аккаунт предоставлял квоту.
После успешной проверки файла на реальном сервисе перейдите к небольшому репозиторию и попросите объяснить одну функцию без изменений. Затем разрешите одну проверяемую правку и выполните соответствующую проверку проекта. Такой порядок отделяет транспорт и маршрутизацию инструментов от суждений модели о коде. Успешное чтение не доказывает безопасность команд оболочки, надежность правок или совместимость со всеми плагинами.
При смене клиента, провайдера или версии модели сначала повторяйте небольшую проверку. Для изучения сырых запросов используйте руководство Hydrogen API, а для выбора модели — сравнение Carbon, Hydrogen и Argon. Решение о модели и способность конкретного клиента завершить обмен с инструментом следует оценивать отдельно.


