opencode-gemini-business
v2.1.0
Published
OpenCode plugin for multi-account Gemini Business pool with automatic rotation
Downloads
830
Maintainers
Readme
🔄 opencode-gemini-business
Мульти-аккаунтный пул Gemini Business с интеллектуальной ротацией для OpenCode
🇷🇺 Русский | 🇬🇧 English
Auth-плагин для OpenCode — пул из нескольких аккаунтов Gemini Business с автоматической ротацией, фейловером и балансировкой нагрузки.
📖 Обзор
opencode-gemini-business — плагин для OpenCode, который обеспечивает ротацию между несколькими аккаунтами Gemini Business API (business.gemini.google), предоставляя автоматическое переключение при ошибках и балансировку нагрузки.
Важно: Плагин использует Gemini Business / Enterprise API, НЕ Google AI Studio.
✨ Возможности
| Возможность | Описание |
|-------------|----------|
| 🔄 Ротация аккаунтов | Автоматическое переключение между несколькими аккаунтами Gemini Business |
| 🛡️ Автоматический фейловер | Повторные запросы с другим аккаунтом при ошибках |
| 🔐 JWT-аутентификация | Встроенное получение XSRF-токена и подписание JWT (HS256) |
| 📡 Поддержка стриминга | Полная поддержка SSE, JSON-lines и fallback-парсинга |
| ⚙️ Гибкие стратегии | Round-robin, least-used или случайный выбор |
| 🔑 Автонастройка auth | add-account автоматически создаёт auth-запись OpenCode |
🤖 Поддерживаемые модели
| Модель | Internal API ID | Для чего |
|--------|:---------------:|----------|
| gemini-2.5-flash | gemini-2.5-flash | Повседневные задачи, быстрые ответы |
| gemini-2.5-pro | gemini-2.5-pro | Сложные рассуждения |
| gemini-3-flash | gemini-3-flash-preview | Новое поколение, быстрая |
| gemini-3-pro | gemini-3-pro-preview | Новое поколение, рассуждения |
🚀 Быстрый старт
Шаг 1: Настроить OpenCode
Добавьте в ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gemini-business@latest"],
"provider": {
"gemini-business": {
"name": "Gemini Business",
"options": {
"baseURL": "https://business.gemini.google/v1",
"apiKey": "unused"
},
"models": {
"gemini-2.5-flash": { "name": "Gemini 2.5 Flash" },
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
"gemini-3-flash": { "name": "Gemini 3 Flash" },
"gemini-3-pro": { "name": "Gemini 3 Pro" }
}
}
}
}Шаг 2: Добавить аккаунт Gemini Business
Установите CLI-инструмент:
npm install -g opencode-gemini-businessДобавьте аккаунт:
opencode-gemini-business add-account \
"Мой аккаунт" \
"e1f353e7-0291-44cf-9085-e0b6efd20e41" \
"CSE.AXUaAj_MKeqeFLr_..." \
"COS.AfQtEyCcW1aLwKb3..." \
"1370433092"Аргументы:
| # | Аргумент | Описание |
|:-:|----------|----------|
| 1 | Имя аккаунта | Отображаемое имя аккаунта |
| 2 | team_id | UUID из URL /cid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ |
| 3 | __Secure-C_SES | Значение cookie (начинается с CSE.) |
| 4 | __Host-C_OSES | Значение cookie (начинается с COS.) |
| 5 | csesidx | Число из URL ?csesidx=... |
Или через переменные окружения:
export GEMINI_ACCOUNT_NAME="Мой аккаунт"
export GEMINI_TEAM_ID="e1f353e7-0291-44cf-9085-e0b6efd20e41"
export GEMINI_SECURE_C_SES="CSE.AXUaAj_MKeqeFLr_..."
export GEMINI_HOST_C_OSES="COS.AfQtEyCcW1aLwKb3..."
export GEMINI_CSESIDX="1370433092"
opencode-gemini-business add-accountПримечание:
add-accountавтоматически создаёт auth-запись в~/.local/share/opencode/auth.json, поэтому запускатьopencode auth loginне нужно.
Шаг 3: Использовать
# Flash (быстрая)
opencode run --model=gemini-business/gemini-2.5-flash "Исправь баг"
# Pro (лучшее качество)
opencode run --model=gemini-business/gemini-2.5-pro "Спроектируй архитектуру"
# Модели нового поколения
opencode run --model=gemini-business/gemini-3-flash "Быстрая задача"
opencode run --model=gemini-business/gemini-3-pro "Сложное рассуждение"Установить модель по умолчанию в opencode.json:
{
"model": "gemini-business/gemini-2.5-flash"
}🔍 Извлечение учётных данных
Где найти каждое значение
Войдите в business.gemini.google и посмотрите URL:
https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/r/session/123?csesidx=1370433092
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
team_id (UUID после /cid/) csesidxCookies
Способ 1: Расширение браузера (рекомендуется)
- Установите Get cookies.txt LOCALLY
- Откройте
business.gemini.googleи экспортируйте cookies - Найдите
__Secure-C_SES(начинается сCSE.) и__Host-C_OSES(начинается сCOS.)
Способ 2: DevTools
- Откройте DevTools (F12) → Application → Cookies →
https://business.gemini.google - Скопируйте значения
__Secure-C_SESи__Host-C_OSES
🔧 Управление аккаунтами
# Список аккаунтов
opencode-gemini-business list-accounts
# Тест подключения
opencode-gemini-business test-account <account_id>
# Удалить аккаунт
opencode-gemini-business remove-account <account_id>
# Помощь
opencode-gemini-business help⚙️ Стратегии ротации
| Стратегия | Поведение |
|-----------|-----------|
| round-robin (по умолчанию) | Циклический обход аккаунтов по порядку |
| least-used | Выбор наименее недавно использованного |
| random | Случайный выбор |
Настраивается в ~/.config/opencode/gemini-business-accounts.json (создаётся автоматически при первом add-account).
🛠️ Как это работает
- Плагин регистрируется как auth-провайдер
gemini-businessв OpenCode - При запросе
loader()возвращает кастомную функциюfetch() - Кастомный
fetch()перехватывает запрос от@ai-sdk/openai-compatible - Вместо вызова
baseURL/chat/completionsон:- Выбирает аккаунт по стратегии ротации
- Получает XSRF-токен и создаёт JWT (HS256)
- Создаёт сессию через
widgetCreateSession - Отправляет запрос на
widgetStreamAssist - Конвертирует ответ в OpenAI-совместимый формат
- Поддерживает стриминг (SSE) и обычные ответы
❓ FAQ
Посмотрите URL в браузере: https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/...
UUID после /cid/ — это ваш team_id.
Нет. Команда add-account автоматически создаёт auth-запись в ~/.local/share/opencode/auth.json. Если по какой-то причине запись не создалась, запустите opencode auth login, выберите gemini-business и введите любой ключ (например unused).
Плагин автоматически обновляет сессии (кешируются на 50 минут). Если ошибки не проходят — cookies могли истечь, извлеките их заново из браузера.
Плагин использует Gemini Business API (business.gemini.google) — корпоративные аккаунты с высокими лимитами. НЕ Google AI Studio (aistudio.google.com).
🔒 Безопасность
- Учётные данные хранятся локально в
~/.config/opencode/gemini-business-accounts.json - Не коммитьте credentials в git
- Регулярно обновляйте cookies
- Плагин не отправляет данные третьим сторонам
📄 Лицензия
MIT © opencode-gemini-business contributors
