opencode-gemini-business 2.0.4 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ru.md CHANGED
@@ -1,100 +1,63 @@
1
+ <div align="center">
2
+
1
3
  # 🔄 opencode-gemini-business
2
4
 
3
- [🇬🇧 English](README.md) | [🇷🇺 **Русский**](README.ru.md)
5
+ **Мульти-аккаунтный пул Gemini Business с интеллектуальной ротацией для OpenCode**
4
6
 
5
- > Мульти-аккаунтный пул Gemini Business с интеллектуальной ротацией для OpenCode
7
+ [![npm version](https://img.shields.io/npm/v/opencode-gemini-business.svg?style=flat&colorA=18181B&colorB=28CF8D)](https://www.npmjs.com/package/opencode-gemini-business)
8
+ [![npm downloads](https://img.shields.io/npm/dm/opencode-gemini-business.svg?style=flat&colorA=18181B&colorB=28CF8D)](https://www.npmjs.com/package/opencode-gemini-business)
9
+ [![GitHub release](https://img.shields.io/github/v/release/izzzzzi/opencode-gemini-business?style=flat&colorA=18181B&colorB=28CF8D)](https://github.com/izzzzzi/opencode-gemini-business/releases)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat&colorA=18181B&colorB=28CF8D)](LICENSE)
11
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?style=flat&colorA=18181B&colorB=3178C6)](https://www.typescriptlang.org/)
12
+ [![Node.js](https://img.shields.io/badge/Node.js-ESM-green?style=flat&colorA=18181B&colorB=339933)](https://nodejs.org/)
6
13
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
- [![npm version](https://img.shields.io/npm/v/opencode-gemini-business.svg)](https://www.npmjs.com/package/opencode-gemini-business)
9
- [![Node.js](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg)](https://nodejs.org/)
14
+ **🇷🇺 Русский** | [🇬🇧 English](README.md)
10
15
 
11
- ---
16
+ <br />
12
17
 
13
- ## 📖 Обзор
18
+ *Auth-плагин для [OpenCode](https://github.com/anomalyco/opencode) — пул из нескольких аккаунтов Gemini Business с автоматической ротацией, фейловером и балансировкой нагрузки.*
14
19
 
15
- **opencode-gemini-business** — это плагин для OpenCode, который обеспечивает ротацию между несколькими аккаунтами **Gemini Business API**, предоставляя автоматическое переключение при ошибках и балансировку нагрузки.
20
+ </div>
16
21
 
17
- **⚠️ Важно**: Этот плагин использует **официальный Gemini Business API** (`business.gemini.google`), НЕ Google AI Studio.
22
+ ---
18
23
 
19
- ## Ключевые возможности
24
+ ## 📖 Обзор
20
25
 
21
- | Функция | Описание |
22
- |---------|----------|
23
- | 🔄 **Мульти-аккаунт ротация** | Автоматическое переключение между аккаунтами |
24
- | 🛡️ **Автоматический Failover** | Повтор неудачных запросов с другими аккаунтами |
25
- | 🔐 **Управление сессиями** | Встроенное управление XSRF токенами и сессиями |
26
- | ⚙️ **Гибкие стратегии** | Round-robin, least-used или случайная ротация |
27
- | 📊 **Мониторинг здоровья** | Отслеживание статистики и ошибок по аккаунтам |
28
- | 🚀 **Совместимость с OpenCode** | Бесшовная работа с системой провайдеров OpenCode |
29
- | 💾 **Постоянная конфигурация** | Безопасное хранение в `~/.config/opencode/gemini-business-accounts.json` |
26
+ **opencode-gemini-business** плагин для OpenCode, который обеспечивает ротацию между несколькими аккаунтами **Gemini Business API** (`business.gemini.google`), предоставляя автоматическое переключение при ошибках и балансировку нагрузки.
30
27
 
31
- ## 🤖 Поддерживаемые модели
28
+ > **Важно**: Плагин использует **Gemini Business / Enterprise API**, НЕ Google AI Studio.
32
29
 
33
- | Модель | Контекст | Макс. вывод | Лучше всего для |
34
- |--------|----------|-------------|-----------------|
35
- | `gemini-2.5-pro` | 1M токенов | 32K токенов | Сложные рассуждения, длинные документы |
36
- | `gemini-2.5-flash` | 1M токенов | 8K токенов | Быстрые ответы, простые задачи |
37
- | `gemini-2.0-pro` | 2M токенов | 32K токенов | Массивный контекст, глубокий анализ |
38
- | `gemini-1.5-pro` | 2M токенов | 8K токенов | Производственные нагрузки |
39
- | `gemini-1.5-flash` | 1M токенов | 8K токенов | Экономичная разработка |
30
+ ---
40
31
 
41
- ## 🔧 Установка и настройка
32
+ ## Возможности
42
33
 
43
- ### 📦 Установите плагин
34
+ | Возможность | Описание |
35
+ |-------------|----------|
36
+ | 🔄 **Ротация аккаунтов** | Автоматическое переключение между несколькими аккаунтами Gemini Business |
37
+ | 🛡️ **Автоматический фейловер** | Повторные запросы с другим аккаунтом при ошибках |
38
+ | 🔐 **JWT-аутентификация** | Встроенное получение XSRF-токена и подписание JWT (HS256) |
39
+ | 📡 **Поддержка стриминга** | Полная поддержка SSE, JSON-lines и fallback-парсинга |
40
+ | ⚙️ **Гибкие стратегии** | Round-robin, least-used или случайный выбор |
41
+ | 🔑 **Автонастройка auth** | `add-account` автоматически создаёт auth-запись OpenCode |
44
42
 
45
- ```bash
46
- npm install -g opencode-gemini-business
47
- ```
43
+ ---
48
44
 
49
- Или используйте с npx:
45
+ ## 🤖 Поддерживаемые модели
50
46
 
51
- ```bash
52
- npx opencode-gemini-business@latest
53
- ```
47
+ | Модель | Internal API ID | Для чего |
48
+ |--------|:---------------:|----------|
49
+ | `gemini-2.5-flash` | `gemini-2.5-flash` | Повседневные задачи, быстрые ответы |
50
+ | `gemini-2.5-pro` | `gemini-2.5-pro` | Сложные рассуждения |
51
+ | `gemini-3-flash` | `gemini-3-flash-preview` | Новое поколение, быстрая |
52
+ | `gemini-3-pro` | `gemini-3-pro-preview` | Новое поколение, рассуждения |
54
53
 
55
- ### ⚙️ Настройте OpenCode
54
+ ---
56
55
 
57
- Добавьте в `~/.config/opencode/opencode.json`:
56
+ ## 🚀 Быстрый старт
58
57
 
59
- ```json
60
- {
61
- "$schema": "https://opencode.ai/config.json",
62
- "plugin": ["opencode-gemini-business@latest"],
63
- "provider": {
64
- "gemini-business": {
65
- "models": {
66
- "gemini-2.5-pro": {
67
- "name": "Gemini 2.5 Pro (Business)",
68
- "limit": { "context": 1048576, "output": 32768 },
69
- "modalities": { "input": ["text"], "output": ["text"] }
70
- },
71
- "gemini-2.5-flash": {
72
- "name": "Gemini 2.5 Flash (Business)",
73
- "limit": { "context": 1048576, "output": 8192 },
74
- "modalities": { "input": ["text"], "output": ["text"] }
75
- },
76
- "gemini-2.0-pro": {
77
- "name": "Gemini 2.0 Pro (Business)",
78
- "limit": { "context": 2097152, "output": 32768 },
79
- "modalities": { "input": ["text"], "output": ["text"] }
80
- },
81
- "gemini-1.5-pro": {
82
- "name": "Gemini 1.5 Pro (Business)",
83
- "limit": { "context": 2097152, "output": 8192 },
84
- "modalities": { "input": ["text"], "output": ["text"] }
85
- },
86
- "gemini-1.5-flash": {
87
- "name": "Gemini 1.5 Flash (Business)",
88
- "limit": { "context": 1048576, "output": 8192 },
89
- "modalities": { "input": ["text"], "output": ["text"] }
90
- }
91
- }
92
- }
93
- }
94
- }
95
- ```
58
+ ### Шаг 1: Настроить OpenCode
96
59
 
97
- **Или используйте короткие алиасы:**
60
+ Добавьте в `~/.config/opencode/opencode.json`:
98
61
 
99
62
  ```json
100
63
  {
@@ -102,91 +65,55 @@ npx opencode-gemini-business@latest
102
65
  "plugin": ["opencode-gemini-business@latest"],
103
66
  "provider": {
104
67
  "gemini-business": {
68
+ "name": "Gemini Business",
69
+ "options": {
70
+ "baseURL": "https://business.gemini.google/v1",
71
+ "apiKey": "unused"
72
+ },
105
73
  "models": {
106
- "gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
107
74
  "gemini-2.5-flash": { "name": "Gemini 2.5 Flash" },
108
- "gemini-2.0-pro": { "name": "Gemini 2.0 Pro" },
109
- "gemini-1.5-pro": { "name": "Gemini 1.5 Pro" },
110
- "gemini-1.5-flash": { "name": "Gemini 1.5 Flash" }
75
+ "gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
76
+ "gemini-3-flash": { "name": "Gemini 3 Flash" },
77
+ "gemini-3-pro": { "name": "Gemini 3 Pro" }
111
78
  }
112
79
  }
113
80
  }
114
81
  }
115
82
  ```
116
83
 
117
- ### 🔑 Извлечение учетных данных
118
-
119
- #### Метод 1: Использование расширения браузера (РЕКОМЕНДУЕТСЯ) ⚡
120
-
121
- **Используйте расширение "Get cookies.txt LOCALLY"** для экспорта cookies, включая HttpOnly:
122
-
123
- 1. **Установите расширение**:
124
- - [Chrome Web Store: Get cookies.txt LOCALLY](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
125
- - Это расширение может экспортировать **все cookies**, включая HttpOnly (которые недоступны JavaScript)
126
-
127
- 2. **Войдите** в [Gemini Business](https://business.gemini.google)
128
-
129
- 3. **Нажмите на иконку расширения** → Экспортируйте cookies для `business.gemini.google`
130
-
131
- 4. **Найдите в экспортированном файле**:
132
- - `__Secure-C_SES`: `CSE.xxx...`
133
- - `__Host-C_OSES`: `COS.xxx...`
134
-
135
- 5. **Получите csesidx из URL**:
136
- - Посмотрите на URL в браузере: `?csesidx=1370433092`
137
- - Скопируйте число после `csesidx=`
138
-
139
- 6. **Получите team_id из URL**:
140
- - Посмотрите на URL в браузере: `/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/`
141
- - Скопируйте UUID после `/cid/` - это ваш `team_id`
142
- - Формат: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
143
-
144
- 7. **Добавьте аккаунт** (см. ниже)
145
-
146
- #### Метод 2: Ручное извлечение через DevTools
147
-
148
- 1. **Войдите** в [Gemini Business](https://business.gemini.google)
84
+ ### Шаг 2: Добавить аккаунт Gemini Business
149
85
 
150
- 2. **Получите team_id из URL**:
151
- - Посмотрите на URL в браузере: `/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/`
152
- - Скопируйте UUID после `/cid/` - это ваш `team_id`
153
-
154
- 3. **Получите csesidx из URL**:
155
- - Посмотрите на URL в браузере: `?csesidx=1370433092`
156
- - Скопируйте число после `csesidx=`
157
-
158
- 4. **Откройте DevTools** (F12) → вкладка **Application** → **Cookies** → `https://business.gemini.google`
159
-
160
- 5. **Скопируйте cookies**:
161
- - Найдите `__Secure-C_SES` → скопируйте значение
162
- - Найдите `__Host-C_OSES` → скопируйте значение
163
-
164
- 6. **Добавьте аккаунт**:
86
+ Установите CLI-инструмент:
165
87
 
166
88
  ```bash
167
- opencode-gemini-business add-account \
168
- "Основной аккаунт" \
169
- "e1f353e7-0291-44cf-9085-e0b6efd20e41" \
170
- "CSE.AXUaAj_MKeqeFLr_..." \
171
- "COS.AfQtEyCcW1aLwKb3..." \
172
- "1370433092"
89
+ npm install -g opencode-gemini-business
173
90
  ```
174
91
 
175
- ### 📝 Добавление аккаунта
92
+ Добавьте аккаунт:
176
93
 
177
94
  ```bash
178
95
  opencode-gemini-business add-account \
179
- "Основной аккаунт" \
96
+ "Мой аккаунт" \
180
97
  "e1f353e7-0291-44cf-9085-e0b6efd20e41" \
181
98
  "CSE.AXUaAj_MKeqeFLr_..." \
182
99
  "COS.AfQtEyCcW1aLwKb3..." \
183
100
  "1370433092"
184
101
  ```
185
102
 
186
- **Или через переменные окружения**:
103
+ Аргументы:
104
+
105
+ | # | Аргумент | Описание |
106
+ |:-:|----------|----------|
107
+ | 1 | Имя аккаунта | Отображаемое имя аккаунта |
108
+ | 2 | `team_id` | UUID из URL `/cid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/` |
109
+ | 3 | `__Secure-C_SES` | Значение cookie (начинается с `CSE.`) |
110
+ | 4 | `__Host-C_OSES` | Значение cookie (начинается с `COS.`) |
111
+ | 5 | `csesidx` | Число из URL `?csesidx=...` |
112
+
113
+ Или через переменные окружения:
187
114
 
188
115
  ```bash
189
- export GEMINI_ACCOUNT_NAME="Основной аккаунт"
116
+ export GEMINI_ACCOUNT_NAME="Мой аккаунт"
190
117
  export GEMINI_TEAM_ID="e1f353e7-0291-44cf-9085-e0b6efd20e41"
191
118
  export GEMINI_SECURE_C_SES="CSE.AXUaAj_MKeqeFLr_..."
192
119
  export GEMINI_HOST_C_OSES="COS.AfQtEyCcW1aLwKb3..."
@@ -195,55 +122,66 @@ export GEMINI_CSESIDX="1370433092"
195
122
  opencode-gemini-business add-account
196
123
  ```
197
124
 
198
- ## 🚀 Использование
125
+ > **Примечание:** `add-account` автоматически создаёт auth-запись в `~/.local/share/opencode/auth.json`, поэтому запускать `opencode auth login` не нужно.
199
126
 
200
- ### Базовое использование
127
+ ### Шаг 3: Использовать
201
128
 
202
129
  ```bash
203
- # Используй Pro (лучшее качество)
204
- opencode run "Проанализируй архитектуру проекта" --model=gemini-pro
130
+ # Flash (быстрая)
131
+ opencode run --model=gemini-business/gemini-2.5-flash "Исправь баг"
205
132
 
206
- # Используй Flash (самая быстрая)
207
- opencode run "Исправь синтаксическую ошибку" --model=gemini-flash
133
+ # Pro (лучшее качество)
134
+ opencode run --model=gemini-business/gemini-2.5-pro "Спроектируй архитектуру"
208
135
 
209
- # Используй 2.0 Pro (огромный контекст - 2M токенов)
210
- opencode run "Суммируй эти 100 файлов" --model=gemini-2-pro
136
+ # Модели нового поколения
137
+ opencode run --model=gemini-business/gemini-3-flash "Быстрая задача"
138
+ opencode run --model=gemini-business/gemini-3-pro "Сложное рассуждение"
211
139
  ```
212
140
 
213
- ### Использование конкретных моделей
141
+ Установить модель по умолчанию в `opencode.json`:
214
142
 
215
- ```bash
216
- # Сложные задачи → gemini-2.5-pro
217
- opencode run "Спроектируй микросервисную архитектуру" --model=gemini-pro
143
+ ```json
144
+ {
145
+ "model": "gemini-business/gemini-2.5-flash"
146
+ }
147
+ ```
218
148
 
219
- # Быстрые простые задачи → gemini-2.5-flash
220
- opencode run "Напиши hello world" --model=gemini-flash
149
+ ---
221
150
 
222
- # Массивный контекст gemini-2.0-pro (2M токенов)
223
- opencode run "Проанализируй весь codebase" --model=gemini-2-pro
151
+ ## 🔍 Извлечение учётных данных
224
152
 
225
- # Производственные нагрузки gemini-1.5-pro
226
- opencode run "Ревью этого PR" --model=gemini-1.5-pro
153
+ ### Где найти каждое значение
227
154
 
228
- # Экономичная gemini-1.5-flash
229
- opencode run "Сгенерируй тесты" --model=gemini-1.5-flash
155
+ Войдите в [business.gemini.google](https://business.gemini.google) и посмотрите URL:
156
+
157
+ ```
158
+ https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/r/session/123?csesidx=1370433092
159
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
160
+ team_id (UUID после /cid/) csesidx
230
161
  ```
231
162
 
232
- ### Установить модель по умолчанию
163
+ ### Cookies
233
164
 
234
- ```bash
235
- # Установи предпочитаемую модель по умолчанию
236
- export OPENCODE_MODEL=gemini-pro
237
- opencode run "Твоя задача здесь"
238
- ```
165
+ **Способ 1: Расширение браузера (рекомендуется)**
166
+
167
+ 1. Установите [Get cookies.txt LOCALLY](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
168
+ 2. Откройте `business.gemini.google` и экспортируйте cookies
169
+ 3. Найдите `__Secure-C_SES` (начинается с `CSE.`) и `__Host-C_OSES` (начинается с `COS.`)
239
170
 
240
- ### 🛠️ Управление аккаунтами
171
+ **Способ 2: DevTools**
172
+
173
+ 1. Откройте DevTools (F12) → **Application** → **Cookies** → `https://business.gemini.google`
174
+ 2. Скопируйте значения `__Secure-C_SES` и `__Host-C_OSES`
175
+
176
+ ---
177
+
178
+ ## 🔧 Управление аккаунтами
241
179
 
242
180
  ```bash
243
- # Список всех аккаунтов
181
+ # Список аккаунтов
244
182
  opencode-gemini-business list-accounts
245
183
 
246
- # Тест конкретного аккаунта
184
+ # Тест подключения
247
185
  opencode-gemini-business test-account <account_id>
248
186
 
249
187
  # Удалить аккаунт
@@ -253,145 +191,74 @@ opencode-gemini-business remove-account <account_id>
253
191
  opencode-gemini-business help
254
192
  ```
255
193
 
256
- ## 🔄 Стратегии ротации
257
-
258
- | Стратегия | Поведение | Применение |
259
- |-----------|-----------|------------|
260
- | `round-robin` | Циклическое переключение по порядку | Сбалансированное использование всех аккаунтов |
261
- | `least-used` | Выбор аккаунта с самой старой меткой last_used | Минимизация использования отдельных аккаунтов |
262
- | `random` | Случайный вероятностный выбор | Непредсказуемое распределение нагрузки |
263
-
264
- **Настройка стратегии** в конфиге OpenCode:
265
-
266
- ```json
267
- {
268
- "$schema": "https://opencode.ai/config.json",
269
- "plugin": ["opencode-gemini-business@latest"],
270
- "provider": {
271
- "gemini-business": {
272
- "rotation_strategy": "least-used", // ← Измените здесь
273
- "models": {
274
- "gemini-2.5-pro": {
275
- "name": "Gemini 2.5 Pro (Business)",
276
- "limit": { "context": 1048576, "output": 32768 },
277
- "modalities": { "input": ["text"], "output": ["text"] }
278
- }
279
- }
280
- }
281
- }
282
- }
283
- ```
194
+ ---
284
195
 
196
+ ## ⚙️ Стратегии ротации
285
197
 
286
- ## Часто задаваемые вопросы
198
+ | Стратегия | Поведение |
199
+ |-----------|-----------|
200
+ | `round-robin` (по умолчанию) | Циклический обход аккаунтов по порядку |
201
+ | `least-used` | Выбор наименее недавно использованного |
202
+ | `random` | Случайный выбор |
287
203
 
288
- <details>
289
- <summary><b>В: Как обработать истечение сессии?</b></summary>
204
+ Настраивается в `~/.config/opencode/gemini-business-accounts.json` (создаётся автоматически при первом `add-account`).
290
205
 
291
- Плагин автоматически обновляет сессии. Сессии кешируются на 50 минут и обновляются автоматически при необходимости. Если видите ошибки "Session has expired", плагин создаст новую сессию автоматически.
206
+ ---
292
207
 
293
- </details>
208
+ ## 🛠️ Как это работает
294
209
 
295
- <details>
296
- <summary><b>В: Какую модель использовать?</b></summary>
210
+ 1. Плагин регистрируется как auth-провайдер `gemini-business` в OpenCode
211
+ 2. При запросе `loader()` возвращает кастомную функцию `fetch()`
212
+ 3. Кастомный `fetch()` перехватывает запрос от `@ai-sdk/openai-compatible`
213
+ 4. Вместо вызова `baseURL/chat/completions` он:
214
+ - Выбирает аккаунт по стратегии ротации
215
+ - Получает XSRF-токен и создаёт JWT (HS256)
216
+ - Создаёт сессию через `widgetCreateSession`
217
+ - Отправляет запрос на `widgetStreamAssist`
218
+ - Конвертирует ответ в OpenAI-совместимый формат
219
+ 5. Поддерживает стриминг (SSE) и обычные ответы
297
220
 
298
- - **Сложные задачи**: `gemini-2.5-pro` или `gemini-2.0-pro` для лучших рассуждений
299
- - **Быстрые задачи**: `gemini-2.5-flash` или `gemini-1.5-flash` для скорости
300
- - **Большой контекст**: `gemini-2.0-pro` поддерживает до 2M токенов
221
+ ---
301
222
 
302
- </details>
223
+ ## ❓ FAQ
303
224
 
304
225
  <details>
305
- <summary><b>В: Сколько аккаунтов добавлять?</b></summary>
226
+ <summary><b>В: Где найти team_id?</b></summary>
306
227
 
307
- Рекомендуется: 2-5 аккаунтов для оптимального резервирования и распределения нагрузки. Больше аккаунтов обеспечивает лучшую избыточность, но усложняет конфигурацию.
228
+ Посмотрите URL в браузере: `https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/...`
308
229
 
230
+ UUID после `/cid/` — это ваш `team_id`.
309
231
  </details>
310
232
 
311
233
  <details>
312
- <summary><b>В: Где найти team_id?</b></summary>
313
-
314
- **Простой способ:** Посмотрите на URL в браузере, когда вы вошли в Gemini Business:
315
- ```
316
- https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/...
317
- ```
318
-
319
- UUID после `/cid/` - это ваш `team_id`. Формат: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
320
-
321
- Этот ID идентифицирует вашу организацию/команду в Google Workspace и требуется для всех API запросов.
234
+ <summary><b>В: Нужно ли запускать `opencode auth login`?</b></summary>
322
235
 
236
+ Нет. Команда `add-account` автоматически создаёт auth-запись в `~/.local/share/opencode/auth.json`. Если по какой-то причине запись не создалась, запустите `opencode auth login`, выберите **gemini-business** и введите любой ключ (например `unused`).
323
237
  </details>
324
238
 
325
239
  <details>
326
- <summary><b>В: Безопасен ли скрипт извлечения credentials?</b></summary>
327
-
328
- **ДА, 100% безопасен!** Скрипт:
329
- - ✅ Работает ТОЛЬКО в вашем браузере (локально)
330
- - ✅ НЕ отправляет данные на внешние серверы
331
- - ✅ Только читает cookies с business.gemini.google
332
- - ✅ Открытый исходный код - можете проверить
333
-
334
- **Никогда** не запускайте скрипты из ненадежных источников. Используйте только из официального репозитория.
240
+ <summary><b>В: Ошибки истечения сессии?</b></summary>
335
241
 
242
+ Плагин автоматически обновляет сессии (кешируются на 50 минут). Если ошибки не проходят — cookies могли истечь, извлеките их заново из браузера.
336
243
  </details>
337
244
 
338
245
  <details>
339
- <summary><b>В: В чём разница от Google AI Studio?</b></summary>
340
-
341
- Этот плагин использует **Gemini Business API** (`business.gemini.google`):
342
- - ✅ Корпоративные/бизнес аккаунты
343
- - ✅ Более высокие лимиты
344
- - ✅ Бизнес-функции
345
-
346
- **НЕ** Google AI Studio (`aistudio.google.com`):
347
- - ❌ Бесплатный/разработческий уровень
348
- - ❌ Более низкие лимиты
349
- - ❌ Другие эндпоинты API
246
+ <summary><b>В: Чем отличается от Google AI Studio?</b></summary>
350
247
 
248
+ Плагин использует **Gemini Business API** (`business.gemini.google`) — корпоративные аккаунты с высокими лимитами. НЕ Google AI Studio (`aistudio.google.com`).
351
249
  </details>
352
250
 
353
- ## 🔒 Лучшие практики безопасности
251
+ ---
354
252
 
355
- ### Безопасность учетных данных
253
+ ## 🔒 Безопасность
356
254
 
357
- ```
358
- ⚠️ КРИТИЧНО: Держите учетные данные в СЕКРЕТЕ!
359
-
360
- ДЕЛАЙТЕ:
361
- - Храните credentials только в ~/.config/opencode/gemini-business-accounts.json
362
- - Используйте переменные окружения для временного доступа
363
- - Регулярно меняйте учетные данные
364
- - Добавьте *.json в .gitignore
365
-
366
- ❌ НЕ ДЕЛАЙТЕ:
367
- - Не коммитьте credentials в git репозитории
368
- - Не передавайте credentials другим
369
- - Не храните credentials в открытых текстовых файлах
370
- - Не используйте credentials в публичных окружениях
371
- ```
255
+ - Учётные данные хранятся локально в `~/.config/opencode/gemini-business-accounts.json`
256
+ - Не коммитьте credentials в git
257
+ - Регулярно обновляйте cookies
258
+ - Плагин не отправляет данные третьим сторонам
372
259
 
373
- ### Безопасность скрипта извлечения cookies
374
-
375
- ```
376
- ✅ Скрипт БЕЗОПАСЕН, потому что:
377
- - Работает 100% локально в вашем браузере
378
- - НЕ делает внешних сетевых запросов
379
- - НЕ передает данные на серверы
380
- - Открытый исходный код и проверяемый
381
-
382
- ⚠️ Советы по безопасности:
383
- - Используйте только из официального репозитория
384
- - Проверьте код перед запуском (он короткий!)
385
- - Никогда не вставляйте модифицированные скрипты
386
- - Проверяйте консоль браузера на предупреждения
387
- ```
260
+ ---
388
261
 
389
262
  ## 📄 Лицензия
390
263
 
391
- Лицензия MIT - используйте плагин свободно!
392
-
393
- ## 💬 Нужна помощь?
394
-
395
- - Проверьте [FAQ](#-часто-задаваемые-вопросы) для частых вопросов
396
- - Тестируйте аккаунты: `opencode-gemini-business test-account <account_id>`
397
- - Сообщайте о проблемах: [GitHub Issues](https://github.com/izzzzzi/opencode-gemini-business/issues)
264
+ [MIT](LICENSE) © opencode-gemini-business contributors
package/bin/cli.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * CLI entry point for opencode-gemini-business
5
5
  */
6
6
 
7
- import('../dist/index.js')
7
+ import('../dist/cli.js')
8
8
  .then(module => {
9
9
  if (module.cli) {
10
10
  return module.cli();
package/dist/cli.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entry point - handles account management commands.
4
+ */
5
+ export declare function cli(): Promise<void>;
6
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AASA;;GAEG;AACH,wBAAsB,GAAG,kBAkCxB"}