Gemini CLI
Настройка и использование AGTCloud в Gemini CLI.
Gemini CLI — открытый терминальный агент от Google, который помогает понимать проекты, анализировать файлы и после разрешения использовать команды и инструменты. Настроив адрес Gemini API, ключ API и ID модели, вы можете использовать совместимую точку входа Gemini Generate Content платформы AGTCloud.
В этом руководстве рассматриваются только базовое подключение Gemini CLI и безопасная проверка. Изменение файлов, команды Shell, вызов функций и другие возможности агента зависят от целевой модели и её фактической поддержки структур Gemini Parts, Function Call и других элементов протокола.
Сначала проверьте обычный диалог, затем инструменты
Успешный текстовый ответ подтверждает только базовую генерацию, а не доступность редактирования файлов, выполнения команд и всех встроенных инструментов. При первом тесте оставьте ручное подтверждение; не включайте автоматическое одобрение.
Подготовка
Перед началом убедитесь, что вы:
- Установили Node.js версии
20или выше; - Подготовили терминал Bash, Zsh или PowerShell;
- Создали ключ API AGTCloud на странице API Keys;
- Скопировали из каталога моделей ID модели, доступной текущему ключу и поддерживающей Gemini Generate Content;
- Подготовили тестовый каталог без конфиденциального кода и производственных учётных данных.
MODEL_ID — заполнитель для замены, а не настоящее название модели. Используйте ID модели, доступной текущему ключу API и поддерживающей Gemini Generate Content.
Установка Gemini CLI
Рекомендуется установить актуальную стабильную версию. Разные способы установки предоставляют одну и ту же команду gemini.
Глобальная установка через npm:
npm install -g @google/gemini-cliПодходит для macOS, Linux, WSL и Windows с установленным Node.js 20+.
После установки проверьте версию:
gemini --versionЕсли команда не найдена, откройте терминал заново и убедитесь, что каталог глобальных команд npm добавлен в PATH.
Настройка AGTCloud
Gemini CLI нужны четыре переменные окружения: ключ API, ID модели, пользовательский адрес Gemini API и способ аутентификации Bearer.
Временные настройки в текущем терминале:
export GEMINI_API_KEY="your-api-key"
export GEMINI_MODEL="MODEL_ID"
export GOOGLE_GEMINI_BASE_URL="https://api.agtcloud.cn"
export GEMINI_API_KEY_AUTH_MECHANISM="bearer"Эти переменные действуют только в текущем сеансе терминала; после закрытия их нужно задать заново.
Назначение параметров
| Переменная окружения | Назначение |
|---|---|
GEMINI_API_KEY | Ключ API AGTCloud, созданный на странице API Keys |
GEMINI_MODEL | ID модели, доступной текущему ключу и поддерживающей Gemini Generate Content |
GOOGLE_GEMINI_BASE_URL | Адрес Gemini API: используйте https://api.agtcloud.cn |
GEMINI_API_KEY_AUTH_MECHANISM | Установите bearer, чтобы передавать ключ API AGTCloud через Header Authorization |
Не добавляйте /v1 к Base URL
В GOOGLE_GEMINI_BASE_URL укажите только https://api.agtcloud.cn. Gemini SDK добавляет /v1beta/models/{model}:generateContent; при указании https://api.agtcloud.cn/v1 итоговый путь может ошибочно стать /v1/v1beta/....
В этом руководстве GOOGLE_GENAI_API_VERSION не задаётся, поэтому Gemini CLI использует версию Gemini API по умолчанию — v1beta. Также не записывайте полный путь запроса generateContent в Base URL.
Сохранение пользовательской конфигурации
После проверки временных настроек можно записать переменные в пользовательский файл .env Gemini CLI. Он может содержать настоящий ключ API; не добавляйте его в репозиторий кода.
Путь пользовательского файла:
~/.gemini/.envСодержимое файла:
GEMINI_API_KEY=your-api-key
GEMINI_MODEL=MODEL_ID
GOOGLE_GEMINI_BASE_URL=https://api.agtcloud.cn
GEMINI_API_KEY_AUTH_MECHANISM=bearerGemini CLI ищет файлы окружения в текущем рабочем каталоге и родительских каталогах. Более близкий проектный .env или .gemini/.env может иметь приоритет над пользовательской конфигурацией. Если настройки не применяются, сначала проверьте эти файлы.
Фиксация аутентификации ключом API
Gemini CLI поддерживает несколько способов аутентификации Google. При использовании AGTCloud выбирайте Gemini API Key, а не вход Google или Vertex AI.
Добавьте следующую конфигурацию в пользовательский settings.json, не перезаписывая существующие настройки темы, прав и другие параметры:
{
"security": {
"auth": {
"selectedType": "gemini-api-key"
}
}
}Расположение конфигурационного файла:
| Система | Путь |
|---|---|
| macOS / Linux / WSL | ~/.gemini/settings.json |
| Windows | %USERPROFILE%\.gemini\settings.json |
После сохранения полностью закройте Gemini CLI и запустите заново. selectedType выбирает процесс аутентификации ключом API, а GEMINI_API_KEY_AUTH_MECHANISM=bearer формирует Bearer Header по требованиям AGTCloud. Эти параметры не заменяют друг друга.
Выбор модели
Модель по умолчанию определяется GEMINI_MODEL. Чтобы временно задать модель для одного сеанса, выполните:
gemini --model MODEL_IDКоманда /model в интерактивном сеансе служит дополнительным способом выбора, но её список не обязательно содержит все модели текущего ключа API AGTCloud. Если модель отсутствует или недоступна, скопируйте полный ID из каталога моделей заново и предпочтительно задайте его через GEMINI_MODEL или --model.
Проверка подключения
Минимальный тест генерации
В каталоге без конфиденциальных файлов выполните:
gemini -p "Ответьте только: подключение к AGTCloud установлено." --output-format jsonЕсли возвращается JSON с содержимым ответа, базовое подключение Base URL, ключа API, аутентификации Bearer и ID модели установлено.
Тест чтения файла
Перейдите в безопасный тестовый проект с README.md:
gemini -p "@README.md В трёх пунктах опишите назначение проекта. Не изменяйте никакие файлы." --output-format jsonЕсли файл прочитан и описан нормально без изменений, базовый процесс анализа файлов работает.
Запуск интерактивного сеанса
После успешных базовых тестов выполните:
geminiПри первом использовании оставьте ручное подтверждение по умолчанию. Проверяйте каждую операцию с файлами и каждую команду Gemini CLI; не включайте сразу режим автоматического одобрения.
Частые вопросы
| Симптом | Что проверить сначала | Решение |
|---|---|---|
Команда gemini не найдена | Версию Node.js, установку и PATH | Убедитесь, что используется Node.js 20+, откройте терминал заново и выполните gemini --version |
| По-прежнему требуется вход Google | security.auth.selectedType | Добавьте настройку gemini-api-key, закройте Gemini CLI и запустите заново |
| Переменные окружения не применяются | Файлы окружения текущего, родительских и пользовательского каталогов | Проверьте более приоритетные .env или .gemini/.env; не выводите полный ключ API |
Ответ 401 | Ключ API и переменную Bearer | Используйте действующий ключ API и проверьте GEMINI_API_KEY_AUTH_MECHANISM=bearer |
Ответ 403 | Права ключа и доступные модели | Убедитесь, что ключ имеет доступ к выбранной модели, и проверьте состояние аккаунта |
Ответ 404 | Base URL, версию API и ID модели | Используйте https://api.agtcloud.cn без /v1, /v1beta или полного Endpoint |
| Запрос направляется в Vertex AI / Google | Конфликтующие переменные окружения Google | Удалите или отключите не относящиеся к этому руководству настройки GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA, GOOGLE_API_KEY |
| Модель недоступна | GEMINI_MODEL или --model | Скопируйте полный ID модели с поддержкой Gemini Generate Content из каталога моделей заново |
| Текст работает, но инструменты не работают | Возможности модели и совместимость Gemini Function Call | Временно ограничьтесь обычным диалогом и анализом только для чтения, затем проверьте вызов инструментов по фактической ошибке |
| Настройка Bearer недоступна | Версию Gemini CLI | Обновите до актуальной стабильной версии; не изменяйте установленный исходный код и не вписывайте ключ вручную в пользовательский Header |
Если причину найти не удаётся, запишите время запроса, API Base URL, ID модели, версию Gemini CLI, HTTP-статус и обезличенную ошибку, затем обратитесь к разделу ошибок и диагностики. Не отправляйте полный ключ API или .env с учётными данными.
Рекомендации по безопасности
- Не записывайте настоящий ключ API в репозиторий, общие скрипты, скриншоты, журналы или переписку;
- Сначала рекомендуется проверить временные переменные, а после успеха сохранить пользовательскую конфигурацию;
- Установите подходящие права локального доступа к
.envи не синхронизируйте его с общедоступным облачным хранилищем; - При первом использовании инструментов оставьте ручное подтверждение и проверяйте их в непроизводственном проекте;
- Перед передачей диагностики удалите полный ключ, имена пользователей, локальные пути и исходный код приложения.