opencode-gemini-business 2.1.0 → 2.3.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/CHANGELOG.md +26 -0
- package/README.en.md +278 -0
- package/README.md +116 -102
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +69 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -36
- package/dist/index.js.map +1 -1
- package/dist/opencode-gemini-business-2.3.0.tgz +0 -0
- package/dist/src/account-manager.d.ts +5 -7
- package/dist/src/account-manager.d.ts.map +1 -1
- package/dist/src/account-manager.js +31 -24
- package/dist/src/account-manager.js.map +1 -1
- package/dist/src/browser-auth.d.ts +35 -0
- package/dist/src/browser-auth.d.ts.map +1 -0
- package/dist/src/browser-auth.js +212 -0
- package/dist/src/browser-auth.js.map +1 -0
- package/dist/src/gemini-business-api.d.ts +1 -0
- package/dist/src/gemini-business-api.d.ts.map +1 -1
- package/dist/src/gemini-business-api.js +25 -16
- package/dist/src/gemini-business-api.js.map +1 -1
- package/dist/src/types.d.ts +23 -0
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +4 -2
- package/README.ru.md +0 -264
- package/dist/opencode-gemini-business-2.1.0.tgz +0 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# 🔄 opencode-gemini-business
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Мульти-аккаунтный пул Gemini Business с интеллектуальной ротацией для OpenCode**
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/opencode-gemini-business)
|
|
8
8
|
[](https://www.npmjs.com/package/opencode-gemini-business)
|
|
@@ -11,53 +11,54 @@
|
|
|
11
11
|
[](https://www.typescriptlang.org/)
|
|
12
12
|
[](https://nodejs.org/)
|
|
13
13
|
|
|
14
|
-
[
|
|
14
|
+
**🇷🇺 Русский** | [🇬🇧 English](README.en.md)
|
|
15
15
|
|
|
16
16
|
<br />
|
|
17
17
|
|
|
18
|
-
*Auth
|
|
18
|
+
*Auth-плагин для [OpenCode](https://github.com/anomalyco/opencode) — пул из нескольких аккаунтов Gemini Business с автоматической ротацией, фейловером и балансировкой нагрузки.*
|
|
19
19
|
|
|
20
20
|
</div>
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
## 📖
|
|
24
|
+
## 📖 Обзор
|
|
25
25
|
|
|
26
|
-
**opencode-gemini-business**
|
|
26
|
+
**opencode-gemini-business** — плагин для OpenCode, который обеспечивает ротацию между несколькими аккаунтами **Gemini Business API** (`business.gemini.google`), предоставляя автоматическое переключение при ошибках и балансировку нагрузки.
|
|
27
27
|
|
|
28
|
-
>
|
|
28
|
+
> **Важно**: Плагин использует **Gemini Business / Enterprise API**, НЕ Google AI Studio.
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
## ✨
|
|
32
|
+
## ✨ Возможности
|
|
33
33
|
|
|
34
|
-
|
|
|
35
|
-
|
|
36
|
-
| 🔄
|
|
37
|
-
| 🛡️
|
|
38
|
-
| 🔐 **JWT
|
|
39
|
-
| 📡
|
|
40
|
-
| ⚙️
|
|
41
|
-
| 🔑
|
|
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 |
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
45
|
-
## 🤖
|
|
45
|
+
## 🤖 Поддерживаемые модели
|
|
46
46
|
|
|
47
|
-
|
|
|
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` |
|
|
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.1-pro` | `gemini-3.1-pro-preview` | Продвинутые рассуждения (preview) |
|
|
53
|
+
| `auto` | *(пусто)* | Gemini автоматически выберет лучшую модель |
|
|
53
54
|
|
|
54
55
|
---
|
|
55
56
|
|
|
56
|
-
## 🚀
|
|
57
|
+
## 🚀 Быстрый старт
|
|
57
58
|
|
|
58
|
-
###
|
|
59
|
+
### Шаг 1: Настроить OpenCode
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
Добавьте в `~/.config/opencode/opencode.json`:
|
|
61
62
|
|
|
62
63
|
```json
|
|
63
64
|
{
|
|
@@ -74,71 +75,84 @@ Add to `~/.config/opencode/opencode.json`:
|
|
|
74
75
|
"gemini-2.5-flash": { "name": "Gemini 2.5 Flash" },
|
|
75
76
|
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
|
|
76
77
|
"gemini-3-flash": { "name": "Gemini 3 Flash" },
|
|
77
|
-
"gemini-3-pro": { "name": "Gemini 3 Pro" }
|
|
78
|
+
"gemini-3.1-pro": { "name": "Gemini 3.1 Pro" },
|
|
79
|
+
"auto": { "name": "Авто-выбор" }
|
|
78
80
|
}
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
```
|
|
83
85
|
|
|
84
|
-
###
|
|
86
|
+
### Шаг 2: Добавить аккаунт Gemini Business
|
|
85
87
|
|
|
86
|
-
|
|
88
|
+
Установите CLI-инструмент:
|
|
87
89
|
|
|
88
90
|
```bash
|
|
89
91
|
npm install -g opencode-gemini-business
|
|
90
92
|
```
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
Добавьте аккаунт (нужен Google Chrome или Chromium):
|
|
93
95
|
|
|
94
96
|
```bash
|
|
95
|
-
opencode-gemini-business add-account
|
|
96
|
-
|
|
97
|
+
opencode-gemini-business add-account
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Откроется окно Chrome — войдите в аккаунт Gemini Business и отправьте любое сообщение в чат. Куки и учётные данные будут захвачены автоматически. Готово!
|
|
101
|
+
|
|
102
|
+
> **Примечание:** `add-account` автоматически создаёт auth-запись в `~/.local/share/opencode/auth.json`, поэтому запускать `opencode auth login` не нужно.
|
|
103
|
+
|
|
104
|
+
<details>
|
|
105
|
+
<summary>Ручной режим (для продвинутых)</summary>
|
|
106
|
+
|
|
107
|
+
Если хотите указать данные вручную или Chrome не установлен:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
opencode-gemini-business add-account --manual \
|
|
111
|
+
"Мой аккаунт" \
|
|
97
112
|
"e1f353e7-0291-44cf-9085-e0b6efd20e41" \
|
|
98
113
|
"CSE.AXUaAj_MKeqeFLr_..." \
|
|
99
114
|
"COS.AfQtEyCcW1aLwKb3..." \
|
|
100
115
|
"1370433092"
|
|
101
116
|
```
|
|
102
117
|
|
|
103
|
-
|
|
118
|
+
| # | Аргумент | Описание |
|
|
119
|
+
|:-:|----------|----------|
|
|
120
|
+
| 1 | Имя аккаунта | Отображаемое имя аккаунта |
|
|
121
|
+
| 2 | `team_id` | UUID из URL `/cid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/` |
|
|
122
|
+
| 3 | `__Secure-C_SES` | Значение cookie (начинается с `CSE.`) |
|
|
123
|
+
| 4 | `__Host-C_OSES` | Значение cookie (начинается с `COS.`) |
|
|
124
|
+
| 5 | `csesidx` | Число из URL `?csesidx=...` |
|
|
104
125
|
|
|
105
|
-
|
|
106
|
-
|:-:|----------|-------------|
|
|
107
|
-
| 1 | Account name | Display name for the account |
|
|
108
|
-
| 2 | `team_id` | UUID from URL `/cid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/` |
|
|
109
|
-
| 3 | `__Secure-C_SES` | Cookie value (starts with `CSE.`) |
|
|
110
|
-
| 4 | `__Host-C_OSES` | Cookie value (starts with `COS.`) |
|
|
111
|
-
| 5 | `csesidx` | Number from URL `?csesidx=...` |
|
|
112
|
-
|
|
113
|
-
Or use environment variables:
|
|
126
|
+
Или через переменные окружения:
|
|
114
127
|
|
|
115
128
|
```bash
|
|
116
|
-
export GEMINI_ACCOUNT_NAME="
|
|
129
|
+
export GEMINI_ACCOUNT_NAME="Мой аккаунт"
|
|
117
130
|
export GEMINI_TEAM_ID="e1f353e7-0291-44cf-9085-e0b6efd20e41"
|
|
118
131
|
export GEMINI_SECURE_C_SES="CSE.AXUaAj_MKeqeFLr_..."
|
|
119
132
|
export GEMINI_HOST_C_OSES="COS.AfQtEyCcW1aLwKb3..."
|
|
120
133
|
export GEMINI_CSESIDX="1370433092"
|
|
121
134
|
|
|
122
|
-
opencode-gemini-business add-account
|
|
135
|
+
opencode-gemini-business add-account --manual
|
|
123
136
|
```
|
|
124
137
|
|
|
125
|
-
>
|
|
138
|
+
</details>
|
|
126
139
|
|
|
127
|
-
###
|
|
140
|
+
### Шаг 3: Использовать
|
|
128
141
|
|
|
129
142
|
```bash
|
|
130
|
-
# Flash
|
|
131
|
-
opencode run --model=gemini-business/gemini-2.5-flash "
|
|
143
|
+
# Flash (быстрая)
|
|
144
|
+
opencode run --model=gemini-business/gemini-2.5-flash "Исправь баг"
|
|
132
145
|
|
|
133
|
-
# Pro
|
|
134
|
-
opencode run --model=gemini-business/gemini-2.5-pro "
|
|
146
|
+
# Pro (лучшее качество)
|
|
147
|
+
opencode run --model=gemini-business/gemini-2.5-pro "Спроектируй архитектуру"
|
|
135
148
|
|
|
136
|
-
#
|
|
137
|
-
opencode run --model=gemini-business/gemini-3-flash "
|
|
138
|
-
opencode run --model=gemini-business/gemini-3-pro "
|
|
149
|
+
# Модели нового поколения
|
|
150
|
+
opencode run --model=gemini-business/gemini-3-flash "Быстрая задача"
|
|
151
|
+
opencode run --model=gemini-business/gemini-3.1-pro "Продвинутые рассуждения"
|
|
152
|
+
opencode run --model=gemini-business/auto "Gemini выберет сам"
|
|
139
153
|
```
|
|
140
154
|
|
|
141
|
-
|
|
155
|
+
Установить модель по умолчанию в `opencode.json`:
|
|
142
156
|
|
|
143
157
|
```json
|
|
144
158
|
{
|
|
@@ -148,117 +162,117 @@ Set as default model in `opencode.json`:
|
|
|
148
162
|
|
|
149
163
|
---
|
|
150
164
|
|
|
151
|
-
## 🔍
|
|
165
|
+
## 🔍 Извлечение учётных данных
|
|
152
166
|
|
|
153
|
-
###
|
|
167
|
+
### Где найти каждое значение
|
|
154
168
|
|
|
155
|
-
|
|
169
|
+
Войдите в [business.gemini.google](https://business.gemini.google) и посмотрите URL:
|
|
156
170
|
|
|
157
171
|
```
|
|
158
172
|
https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/r/session/123?csesidx=1370433092
|
|
159
173
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^
|
|
160
|
-
team_id (UUID
|
|
174
|
+
team_id (UUID после /cid/) csesidx
|
|
161
175
|
```
|
|
162
176
|
|
|
163
177
|
### Cookies
|
|
164
178
|
|
|
165
|
-
|
|
179
|
+
**Способ 1: Расширение браузера (рекомендуется)**
|
|
166
180
|
|
|
167
|
-
1.
|
|
168
|
-
2.
|
|
169
|
-
3.
|
|
181
|
+
1. Установите [Get cookies.txt LOCALLY](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
|
|
182
|
+
2. Откройте `business.gemini.google` и экспортируйте cookies
|
|
183
|
+
3. Найдите `__Secure-C_SES` (начинается с `CSE.`) и `__Host-C_OSES` (начинается с `COS.`)
|
|
170
184
|
|
|
171
|
-
|
|
185
|
+
**Способ 2: DevTools**
|
|
172
186
|
|
|
173
|
-
1.
|
|
174
|
-
2.
|
|
187
|
+
1. Откройте DevTools (F12) → **Application** → **Cookies** → `https://business.gemini.google`
|
|
188
|
+
2. Скопируйте значения `__Secure-C_SES` и `__Host-C_OSES`
|
|
175
189
|
|
|
176
190
|
---
|
|
177
191
|
|
|
178
|
-
## 🔧
|
|
192
|
+
## 🔧 Управление аккаунтами
|
|
179
193
|
|
|
180
194
|
```bash
|
|
181
|
-
#
|
|
195
|
+
# Список аккаунтов
|
|
182
196
|
opencode-gemini-business list-accounts
|
|
183
197
|
|
|
184
|
-
#
|
|
198
|
+
# Тест подключения
|
|
185
199
|
opencode-gemini-business test-account <account_id>
|
|
186
200
|
|
|
187
|
-
#
|
|
201
|
+
# Удалить аккаунт
|
|
188
202
|
opencode-gemini-business remove-account <account_id>
|
|
189
203
|
|
|
190
|
-
#
|
|
204
|
+
# Помощь
|
|
191
205
|
opencode-gemini-business help
|
|
192
206
|
```
|
|
193
207
|
|
|
194
208
|
---
|
|
195
209
|
|
|
196
|
-
## ⚙️
|
|
210
|
+
## ⚙️ Стратегии ротации
|
|
197
211
|
|
|
198
|
-
|
|
|
199
|
-
|
|
200
|
-
| `round-robin` (
|
|
201
|
-
| `least-used` |
|
|
202
|
-
| `random` |
|
|
212
|
+
| Стратегия | Поведение |
|
|
213
|
+
|-----------|-----------|
|
|
214
|
+
| `round-robin` (по умолчанию) | Циклический обход аккаунтов по порядку |
|
|
215
|
+
| `least-used` | Выбор наименее недавно использованного |
|
|
216
|
+
| `random` | Случайный выбор |
|
|
203
217
|
|
|
204
|
-
|
|
218
|
+
Настраивается в `~/.config/opencode/gemini-business-accounts.json` (создаётся автоматически при первом `add-account`).
|
|
205
219
|
|
|
206
220
|
---
|
|
207
221
|
|
|
208
|
-
## 🛠️
|
|
222
|
+
## 🛠️ Как это работает
|
|
209
223
|
|
|
210
|
-
1.
|
|
211
|
-
2.
|
|
212
|
-
3.
|
|
213
|
-
4.
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
5.
|
|
224
|
+
1. Плагин регистрируется как auth-провайдер `gemini-business` в OpenCode
|
|
225
|
+
2. При запросе `loader()` возвращает кастомную функцию `fetch()`
|
|
226
|
+
3. Кастомный `fetch()` перехватывает запрос от `@ai-sdk/openai-compatible`
|
|
227
|
+
4. Вместо вызова `baseURL/chat/completions` он:
|
|
228
|
+
- Выбирает аккаунт по стратегии ротации
|
|
229
|
+
- Получает XSRF-токен и создаёт JWT (HS256)
|
|
230
|
+
- Создаёт сессию через `widgetCreateSession`
|
|
231
|
+
- Отправляет запрос на `widgetStreamAssist`
|
|
232
|
+
- Конвертирует ответ в OpenAI-совместимый формат
|
|
233
|
+
5. Поддерживает стриминг (SSE) и обычные ответы
|
|
220
234
|
|
|
221
235
|
---
|
|
222
236
|
|
|
223
237
|
## ❓ FAQ
|
|
224
238
|
|
|
225
239
|
<details>
|
|
226
|
-
<summary><b
|
|
240
|
+
<summary><b>В: Где найти team_id?</b></summary>
|
|
227
241
|
|
|
228
|
-
|
|
242
|
+
Посмотрите URL в браузере: `https://business.gemini.google/home/cid/e1f353e7-0291-44cf-9085-e0b6efd20e41/...`
|
|
229
243
|
|
|
230
|
-
|
|
244
|
+
UUID после `/cid/` — это ваш `team_id`.
|
|
231
245
|
</details>
|
|
232
246
|
|
|
233
247
|
<details>
|
|
234
|
-
<summary><b
|
|
248
|
+
<summary><b>В: Нужно ли запускать `opencode auth login`?</b></summary>
|
|
235
249
|
|
|
236
|
-
|
|
250
|
+
Нет. Команда `add-account` автоматически создаёт auth-запись в `~/.local/share/opencode/auth.json`. Если по какой-то причине запись не создалась, запустите `opencode auth login`, выберите **gemini-business** и введите любой ключ (например `unused`).
|
|
237
251
|
</details>
|
|
238
252
|
|
|
239
253
|
<details>
|
|
240
|
-
<summary><b
|
|
254
|
+
<summary><b>В: Ошибки истечения сессии?</b></summary>
|
|
241
255
|
|
|
242
|
-
|
|
256
|
+
Плагин автоматически обновляет сессии (кешируются на 50 минут). Если ошибки не проходят — cookies могли истечь, извлеките их заново из браузера.
|
|
243
257
|
</details>
|
|
244
258
|
|
|
245
259
|
<details>
|
|
246
|
-
<summary><b
|
|
260
|
+
<summary><b>В: Чем отличается от Google AI Studio?</b></summary>
|
|
247
261
|
|
|
248
|
-
|
|
262
|
+
Плагин использует **Gemini Business API** (`business.gemini.google`) — корпоративные аккаунты с высокими лимитами. НЕ Google AI Studio (`aistudio.google.com`).
|
|
249
263
|
</details>
|
|
250
264
|
|
|
251
265
|
---
|
|
252
266
|
|
|
253
|
-
## 🔒
|
|
267
|
+
## 🔒 Безопасность
|
|
254
268
|
|
|
255
|
-
-
|
|
256
|
-
-
|
|
257
|
-
-
|
|
258
|
-
-
|
|
269
|
+
- Учётные данные хранятся локально в `~/.config/opencode/gemini-business-accounts.json`
|
|
270
|
+
- Не коммитьте credentials в git
|
|
271
|
+
- Регулярно обновляйте cookies
|
|
272
|
+
- Плагин не отправляет данные третьим сторонам
|
|
259
273
|
|
|
260
274
|
---
|
|
261
275
|
|
|
262
|
-
## 📄
|
|
276
|
+
## 📄 Лицензия
|
|
263
277
|
|
|
264
278
|
[MIT](LICENSE) © opencode-gemini-business contributors
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAUA;;GAEG;AACH,wBAAsB,GAAG,kBAwCxB"}
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,7 @@ import { homedir } from 'os';
|
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { AccountManager } from './src/account-manager.js';
|
|
6
6
|
import { GeminiBusinessAPI } from './src/gemini-business-api.js';
|
|
7
|
+
import { BrowserAuth } from './src/browser-auth.js';
|
|
7
8
|
/**
|
|
8
9
|
* CLI entry point - handles account management commands.
|
|
9
10
|
*/
|
|
@@ -30,6 +31,11 @@ export async function cli() {
|
|
|
30
31
|
case 'test-account':
|
|
31
32
|
await testAccountCommand(accountManager, args[1]);
|
|
32
33
|
break;
|
|
34
|
+
case 'version':
|
|
35
|
+
case '--version':
|
|
36
|
+
case '-v':
|
|
37
|
+
await printVersion();
|
|
38
|
+
break;
|
|
33
39
|
case 'help':
|
|
34
40
|
default:
|
|
35
41
|
printHelp();
|
|
@@ -37,8 +43,48 @@ export async function cli() {
|
|
|
37
43
|
}
|
|
38
44
|
}
|
|
39
45
|
async function addAccountCommand(manager, args) {
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
const isManual = args.includes('--manual');
|
|
47
|
+
const filteredArgs = args.filter(a => a !== '--manual');
|
|
48
|
+
if (isManual) {
|
|
49
|
+
await addAccountManual(manager, filteredArgs);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
await addAccountBrowser(manager, filteredArgs[0]);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function addAccountBrowser(manager, name) {
|
|
56
|
+
console.log('Add Gemini Business Account (Browser Flow)');
|
|
57
|
+
console.log('--------------------------------------------');
|
|
58
|
+
console.log('A Chrome window will open. Sign in to your Gemini Business account.\n');
|
|
59
|
+
const auth = new BrowserAuth({
|
|
60
|
+
name: name || `account-${Date.now()}`,
|
|
61
|
+
});
|
|
62
|
+
try {
|
|
63
|
+
const credentials = await auth.captureCredentials((message) => {
|
|
64
|
+
console.log(message);
|
|
65
|
+
});
|
|
66
|
+
const account = {
|
|
67
|
+
name: name || `account-${Date.now()}`,
|
|
68
|
+
team_id: credentials.team_id,
|
|
69
|
+
cookies: credentials.cookies,
|
|
70
|
+
csesidx: credentials.csesidx,
|
|
71
|
+
user_agent: credentials.user_agent,
|
|
72
|
+
enabled: true,
|
|
73
|
+
};
|
|
74
|
+
const id = await manager.addAccount(account);
|
|
75
|
+
console.log(`\n✅ Account added successfully! ID: ${id}`);
|
|
76
|
+
console.log(` Name: ${account.name}`);
|
|
77
|
+
console.log(` Team ID: ${account.team_id}`);
|
|
78
|
+
await ensureAuthRecord();
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.error(`\n${error instanceof Error ? error.message : error}`);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async function addAccountManual(manager, args) {
|
|
86
|
+
console.log('Add Gemini Business Account (Manual)');
|
|
87
|
+
console.log('-------------------------------------');
|
|
42
88
|
const account = {
|
|
43
89
|
name: args[0] || process.env.GEMINI_ACCOUNT_NAME || `account-${Date.now()}`,
|
|
44
90
|
team_id: args[1] || process.env.GEMINI_TEAM_ID || '',
|
|
@@ -56,7 +102,7 @@ async function addAccountCommand(manager, args) {
|
|
|
56
102
|
!account.csesidx) {
|
|
57
103
|
console.error('Error: Missing required fields!');
|
|
58
104
|
console.error('\nUsage:');
|
|
59
|
-
console.error(' opencode-gemini-business add-account <name> <team_id> <secure_c_ses> <host_c_oses> <csesidx> [user_agent]');
|
|
105
|
+
console.error(' opencode-gemini-business add-account --manual <name> <team_id> <secure_c_ses> <host_c_oses> <csesidx> [user_agent]');
|
|
60
106
|
console.error('\nOr set environment variables:');
|
|
61
107
|
console.error(' GEMINI_ACCOUNT_NAME, GEMINI_TEAM_ID, GEMINI_SECURE_C_SES, GEMINI_HOST_C_OSES, GEMINI_CSESIDX, GEMINI_USER_AGENT');
|
|
62
108
|
process.exit(1);
|
|
@@ -65,7 +111,6 @@ async function addAccountCommand(manager, args) {
|
|
|
65
111
|
console.log(`✅ Account added successfully! ID: ${id}`);
|
|
66
112
|
console.log(` Name: ${account.name}`);
|
|
67
113
|
console.log(` Team ID: ${account.team_id}`);
|
|
68
|
-
// Auto-create auth record so user doesn't need to run `opencode auth login`
|
|
69
114
|
await ensureAuthRecord();
|
|
70
115
|
}
|
|
71
116
|
/**
|
|
@@ -163,13 +208,28 @@ async function testAccountCommand(manager, accountId) {
|
|
|
163
208
|
process.exit(1);
|
|
164
209
|
}
|
|
165
210
|
}
|
|
211
|
+
async function printVersion() {
|
|
212
|
+
try {
|
|
213
|
+
const pkgPath = new URL('./package.json', import.meta.url).pathname;
|
|
214
|
+
const pkg = JSON.parse(await readFile(pkgPath, 'utf-8'));
|
|
215
|
+
console.log(`opencode-gemini-business v${pkg.version}`);
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
console.log('opencode-gemini-business (version unknown)');
|
|
219
|
+
}
|
|
220
|
+
}
|
|
166
221
|
function printHelp() {
|
|
167
222
|
console.log('OpenCode Gemini Business Plugin');
|
|
168
223
|
console.log('================================\n');
|
|
169
224
|
console.log('Multi-account Gemini Business pool with automatic rotation\n');
|
|
170
225
|
console.log('Commands:');
|
|
171
|
-
console.log(' add-account
|
|
172
|
-
console.log(' Add
|
|
226
|
+
console.log(' add-account [name]');
|
|
227
|
+
console.log(' Add account via browser login (default). Opens Chrome, you sign in,');
|
|
228
|
+
console.log(' credentials are captured automatically. Requires Chrome/Chromium.\n');
|
|
229
|
+
console.log(' add-account --manual <name> <team_id> <secure_c_ses> <host_c_oses> <csesidx> [user_agent]');
|
|
230
|
+
console.log(' Add account manually by providing credentials as arguments.\n');
|
|
231
|
+
console.log(' ⚠️ Warning: Passing credentials as arguments exposes them in shell history.');
|
|
232
|
+
console.log(' Prefer environment variables or browser-based login.\n');
|
|
173
233
|
console.log(' list-accounts');
|
|
174
234
|
console.log(' List all configured accounts\n');
|
|
175
235
|
console.log(' remove-account <account_id>');
|
|
@@ -178,7 +238,9 @@ function printHelp() {
|
|
|
178
238
|
console.log(' Test account credentials\n');
|
|
179
239
|
console.log(' help');
|
|
180
240
|
console.log(' Show this help message\n');
|
|
181
|
-
console.log('
|
|
241
|
+
console.log(' version (or --version, -v)');
|
|
242
|
+
console.log(' Show installed version\n');
|
|
243
|
+
console.log('Environment Variables (for --manual mode):');
|
|
182
244
|
console.log(' GEMINI_ACCOUNT_NAME - Account name');
|
|
183
245
|
console.log(' GEMINI_TEAM_ID - Team ID');
|
|
184
246
|
console.log(' GEMINI_SECURE_C_SES - __Secure-c_ses cookie');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmCH,eAAO,MAAM,oBAAoB,GAAU,MAAM,GAAG;;;yBAOvB,GAAG,aAAa,GAAG;;;;;0BAuBlB,GAAG,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;;;;;;;EAgF1D,CAAC"}
|