opencode-account-manager 0.6.4 → 0.6.5
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.md +235 -216
- package/README_VI.md +235 -216
- package/dist/cli.js +83 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/config-store.d.ts +12 -0
- package/dist/core/config-store.d.ts.map +1 -1
- package/dist/core/config-store.js +98 -0
- package/dist/core/config-store.js.map +1 -1
- package/dist/core/health-log.d.ts +9 -0
- package/dist/core/health-log.d.ts.map +1 -0
- package/dist/core/health-log.js +154 -0
- package/dist/core/health-log.js.map +1 -0
- package/dist/core/health-oauth.d.ts +5 -0
- package/dist/core/health-oauth.d.ts.map +1 -0
- package/dist/core/health-oauth.js +147 -0
- package/dist/core/health-oauth.js.map +1 -0
- package/dist/core/health-orchestrator.d.ts +32 -0
- package/dist/core/health-orchestrator.d.ts.map +1 -0
- package/dist/core/health-orchestrator.js +148 -0
- package/dist/core/health-orchestrator.js.map +1 -0
- package/dist/core/health-utils.d.ts +15 -0
- package/dist/core/health-utils.d.ts.map +1 -0
- package/dist/core/health-utils.js +60 -0
- package/dist/core/health-utils.js.map +1 -0
- package/dist/core/paths.d.ts +1 -0
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +4 -0
- package/dist/core/paths.js.map +1 -1
- package/dist/core/types.d.ts +26 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/tui/Dashboard.d.ts.map +1 -1
- package/dist/tui/Dashboard.js +69 -2
- package/dist/tui/Dashboard.js.map +1 -1
- package/dist/tui/components/AccountList.d.ts +5 -3
- package/dist/tui/components/AccountList.d.ts.map +1 -1
- package/dist/tui/components/AccountList.js +9 -3
- package/dist/tui/components/AccountList.js.map +1 -1
- package/dist/tui/components/DashboardView.d.ts +3 -2
- package/dist/tui/components/DashboardView.d.ts.map +1 -1
- package/dist/tui/components/DashboardView.js +50 -4
- package/dist/tui/components/DashboardView.js.map +1 -1
- package/dist/tui/components/HealthBadge.d.ts +9 -0
- package/dist/tui/components/HealthBadge.d.ts.map +1 -0
- package/dist/tui/components/HealthBadge.js +56 -0
- package/dist/tui/components/HealthBadge.js.map +1 -0
- package/dist/tui/components/StatusBadge.d.ts +2 -1
- package/dist/tui/components/StatusBadge.d.ts.map +1 -1
- package/dist/tui/components/StatusBadge.js +30 -2
- package/dist/tui/components/StatusBadge.js.map +1 -1
- package/dist/tui/components/index.d.ts +1 -0
- package/dist/tui/components/index.d.ts.map +1 -1
- package/dist/tui/components/index.js +3 -1
- package/dist/tui/components/index.js.map +1 -1
- package/docs/BLUEPRINT.md +476 -476
- package/docs/ROADMAP.md +125 -107
- package/package.json +36 -36
- package/src/cli.ts +139 -38
- package/src/core/config-store.ts +278 -171
- package/src/core/crypto.ts +162 -162
- package/src/core/health-log.ts +173 -0
- package/src/core/health-oauth.ts +190 -0
- package/src/core/health-orchestrator.ts +224 -0
- package/src/core/importers/amExport.ts +177 -177
- package/src/core/opencode-config.ts +217 -217
- package/src/core/paths.ts +10 -6
- package/src/core/types.ts +193 -147
- package/src/tui/Dashboard.tsx +557 -478
- package/src/tui/components/AccountList.tsx +122 -104
- package/src/tui/components/ActionPalette.tsx +117 -117
- package/src/tui/components/Box.tsx +7 -7
- package/src/tui/components/DashboardView.tsx +285 -230
- package/src/tui/components/ExportModal.tsx +255 -255
- package/src/tui/components/FileBrowser.tsx +393 -393
- package/src/tui/components/Header.tsx +26 -26
- package/src/tui/components/HealthBadge.tsx +64 -0
- package/src/tui/components/ImportModal.tsx +334 -334
- package/src/tui/components/McpServerList.tsx +67 -67
- package/src/tui/components/Menu.tsx +61 -61
- package/src/tui/components/PasswordInput.tsx +159 -159
- package/src/tui/components/ProviderList.tsx +59 -59
- package/src/tui/components/SectionBox.tsx +35 -35
- package/src/tui/components/StatsRow.tsx +33 -33
- package/src/tui/components/StatusBadge.tsx +36 -3
- package/src/tui/components/index.ts +15 -14
- package/test-minimal.js +26 -26
- package/test-with-accounts.js +58 -58
package/README_VI.md
CHANGED
|
@@ -1,232 +1,251 @@
|
|
|
1
|
-
# OpenCode Account Manager (OCAM)
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
<h3>TUI Dashboard quản lý tài khoản OpenCode</h3>
|
|
5
|
-
<p>Quản lý providers, MCP servers, và plugin accounts trong một giao diện.</p>
|
|
6
|
-
|
|
7
|
-
<p>
|
|
8
|
-
<a href="https://www.npmjs.com/package/opencode-account-manager">
|
|
9
|
-
<img src="https://img.shields.io/npm/v/opencode-account-manager.svg" alt="npm version">
|
|
10
|
-
</a>
|
|
11
|
-
<a href="https://www.npmjs.com/package/opencode-account-manager">
|
|
12
|
-
<img src="https://img.shields.io/npm/dw/opencode-account-manager.svg" alt="npm downloads">
|
|
13
|
-
</a>
|
|
14
|
-
<a href="https://github.com/d-init-d/opencode-account-manager/blob/main/LICENSE">
|
|
15
|
-
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
|
|
16
|
-
</a>
|
|
17
|
-
</p>
|
|
18
|
-
|
|
19
|
-
<p>
|
|
20
|
-
<a href="./README.md">English</a> |
|
|
21
|
-
<strong>Tiếng Việt</strong>
|
|
22
|
-
</p>
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Tính năng
|
|
28
|
-
|
|
29
|
-
- **Xem Providers**: Hiển thị tất cả AI providers (Google, Ollama, Anthropic, etc.) với số lượng models
|
|
1
|
+
# OpenCode Account Manager (OCAM)
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
<h3>TUI Dashboard quản lý tài khoản OpenCode</h3>
|
|
5
|
+
<p>Quản lý providers, MCP servers, và plugin accounts trong một giao diện.</p>
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://www.npmjs.com/package/opencode-account-manager">
|
|
9
|
+
<img src="https://img.shields.io/npm/v/opencode-account-manager.svg" alt="npm version">
|
|
10
|
+
</a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/opencode-account-manager">
|
|
12
|
+
<img src="https://img.shields.io/npm/dw/opencode-account-manager.svg" alt="npm downloads">
|
|
13
|
+
</a>
|
|
14
|
+
<a href="https://github.com/d-init-d/opencode-account-manager/blob/main/LICENSE">
|
|
15
|
+
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License">
|
|
16
|
+
</a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<p>
|
|
20
|
+
<a href="./README.md">English</a> |
|
|
21
|
+
<strong>Tiếng Việt</strong>
|
|
22
|
+
</p>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Tính năng
|
|
28
|
+
|
|
29
|
+
- **Xem Providers**: Hiển thị tất cả AI providers (Google, Ollama, Anthropic, etc.) với số lượng models
|
|
30
30
|
- **MCP Servers**: Xem trạng thái bật/tắt của các MCP servers
|
|
31
31
|
- **Quản lý Accounts**: Quản lý các tài khoản Google đang kết nối với OpenCode
|
|
32
32
|
- Trạng thái rate limit theo từng model (claude, gemini)
|
|
33
33
|
- Bật/Tắt/Xóa accounts
|
|
34
|
+
- **Health Check**: Kiểm tra refresh token và báo tài khoản cần xác minh
|
|
34
35
|
- **Export mã hóa**: Mã hóa AES-256-GCM với mật khẩu bảo vệ
|
|
35
36
|
- **Import đa định dạng**: Hỗ trợ file `.ocam` mã hóa, JSON thuần, và file export từ Antigravity Manager
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Cài đặt
|
|
40
|
-
|
|
41
|
-
### Cách A: Nhờ AI cài giúp
|
|
42
|
-
|
|
43
|
-
Paste đoạn này vào bất kỳ AI agent nào (Claude Code, OpenCode, Cursor, etc.):
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
Cài đặt opencode-account-manager từ npm, sau đó chạy "ocam" để kiểm tra.
|
|
47
|
-
Repository: https://github.com/d-init-d/opencode-account-manager
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Cách B: Cài từ npm
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npm install -g opencode-account-manager
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Cách C: Cài từ GitHub
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
npm install -g github:d-init-d/opencode-account-manager
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Kiểm tra cài đặt
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
ocam --version
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Dành cho AI Agents
|
|
71
|
-
|
|
72
|
-
### Hướng dẫn từng bước
|
|
73
|
-
|
|
74
|
-
1. Chạy `npm install -g opencode-account-manager` để cài global
|
|
75
|
-
2. Chạy `ocam` để mở TUI dashboard
|
|
76
|
-
3. Dashboard sẽ tự động đọc config OpenCode tại `~/.config/opencode/opencode.json`
|
|
77
|
-
|
|
78
|
-
### Xác minh
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
ocam --version
|
|
82
|
-
# Kết quả mong đợi: 0.4.2
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Sử dụng
|
|
88
|
-
|
|
89
|
-
### Mở Dashboard
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
ocam
|
|
93
|
-
# hoặc
|
|
94
|
-
opencode-account-manager
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Các lệnh CLI
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
# Liệt kê accounts
|
|
101
|
-
ocam list
|
|
102
|
-
|
|
103
|
-
# Export accounts
|
|
104
|
-
ocam export -o backup.json
|
|
105
|
-
|
|
106
|
-
# Import accounts
|
|
107
|
-
ocam import backup.json
|
|
108
|
-
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Cài đặt
|
|
41
|
+
|
|
42
|
+
### Cách A: Nhờ AI cài giúp
|
|
43
|
+
|
|
44
|
+
Paste đoạn này vào bất kỳ AI agent nào (Claude Code, OpenCode, Cursor, etc.):
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Cài đặt opencode-account-manager từ npm, sau đó chạy "ocam" để kiểm tra.
|
|
48
|
+
Repository: https://github.com/d-init-d/opencode-account-manager
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Cách B: Cài từ npm
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install -g opencode-account-manager
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Cách C: Cài từ GitHub
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install -g github:d-init-d/opencode-account-manager
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Kiểm tra cài đặt
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ocam --version
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Dành cho AI Agents
|
|
72
|
+
|
|
73
|
+
### Hướng dẫn từng bước
|
|
74
|
+
|
|
75
|
+
1. Chạy `npm install -g opencode-account-manager` để cài global
|
|
76
|
+
2. Chạy `ocam` để mở TUI dashboard
|
|
77
|
+
3. Dashboard sẽ tự động đọc config OpenCode tại `~/.config/opencode/opencode.json`
|
|
78
|
+
|
|
79
|
+
### Xác minh
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
ocam --version
|
|
83
|
+
# Kết quả mong đợi: 0.4.2
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Sử dụng
|
|
89
|
+
|
|
90
|
+
### Mở Dashboard
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ocam
|
|
94
|
+
# hoặc
|
|
95
|
+
opencode-account-manager
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Các lệnh CLI
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Liệt kê accounts
|
|
102
|
+
ocam list
|
|
103
|
+
|
|
104
|
+
# Export accounts
|
|
105
|
+
ocam export -o backup.json
|
|
106
|
+
|
|
107
|
+
# Import accounts
|
|
108
|
+
ocam import backup.json
|
|
109
|
+
|
|
109
110
|
# Import từ thư mục Antigravity Manager
|
|
110
111
|
ocam import-am
|
|
111
112
|
|
|
112
|
-
#
|
|
113
|
-
ocam
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
## Phím tắt
|
|
119
|
-
|
|
120
|
-
### Dashboard chính
|
|
121
|
-
|
|
122
|
-
| Phím | Chức năng |
|
|
123
|
-
|------|-----------|
|
|
124
|
-
| `Tab` | Chuyển section (Providers → Accounts → MCP) |
|
|
125
|
-
| `R` | Làm mới dữ liệu |
|
|
126
|
-
| `E` | Export accounts |
|
|
127
|
-
| `I` | Import accounts |
|
|
128
|
-
| `A` | Import từ Antigravity Manager |
|
|
129
|
-
| `S` | Vào chế độ chọn |
|
|
130
|
-
| `Q` | Thoát |
|
|
131
|
-
|
|
132
|
-
### Chế độ chọn (Accounts)
|
|
133
|
-
|
|
134
|
-
| Phím | Chức năng |
|
|
135
|
-
|------|-----------|
|
|
136
|
-
| `↑/↓` | Di chuyển |
|
|
137
|
-
| `Space` | Chọn/bỏ chọn |
|
|
138
|
-
| `A` | Chọn tất cả |
|
|
139
|
-
| `N` | Bỏ chọn tất cả |
|
|
140
|
-
| `E` | Bật các account đã chọn |
|
|
141
|
-
| `D` | Tắt các account đã chọn |
|
|
142
|
-
| `X` | Export các account đã chọn |
|
|
143
|
-
| `DEL` | Xóa các account đã chọn |
|
|
144
|
-
| `Esc` | Thoát chế độ chọn |
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Định dạng Import được hỗ trợ
|
|
149
|
-
|
|
150
|
-
| Định dạng | Đuôi file | Mô tả |
|
|
151
|
-
|-----------|-----------|-------|
|
|
152
|
-
| Mã hóa | `.ocam` | Mã hóa AES-256-GCM, cần mật khẩu |
|
|
153
|
-
| Portable | `.json` | Export thuần từ OpenCode Account Manager |
|
|
154
|
-
| AM Export | `.json` | Export từ app Antigravity Manager `[{email, refresh_token}]` |
|
|
155
|
-
| Plugin Native | `.json` | Định dạng `antigravity-accounts.json` |
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Đường dẫn cấu hình
|
|
160
|
-
|
|
161
|
-
| File | Windows | Linux/Mac |
|
|
162
|
-
|------|---------|-----------|
|
|
163
|
-
| Config OpenCode | `~/.config/opencode/opencode.json` | `~/.config/opencode/opencode.json` |
|
|
164
|
-
| Plugin accounts | `%APPDATA%/opencode/antigravity-accounts.json` | `~/.config/opencode/antigravity-accounts.json` |
|
|
165
|
-
| Cài đặt OCAM | `%APPDATA%/opencode/ocam-config.json` | `~/.config/opencode/ocam-config.json` |
|
|
166
|
-
|
|
167
|
-
> **Lưu ý**: `~` trên Windows là thư mục home của user (ví dụ: `C:\Users\TenBan`)
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Yêu cầu hệ thống
|
|
172
|
-
|
|
173
|
-
- **Node.js**: >= 16.x
|
|
174
|
-
- **OpenCode**: Đã cài đặt và cấu hình
|
|
175
|
-
- **Terminal**: Hỗ trợ Unicode và 256 màu (Windows Terminal, iTerm2, etc.)
|
|
176
|
-
|
|
177
|
-
---
|
|
113
|
+
# Health check
|
|
114
|
+
ocam check
|
|
178
115
|
|
|
179
|
-
|
|
116
|
+
# Health check (chỉ định email)
|
|
117
|
+
ocam check --emails user1@example.com,user2@example.com
|
|
180
118
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
119
|
+
# Health check (bỏ qua cache)
|
|
120
|
+
ocam check --force
|
|
121
|
+
|
|
122
|
+
# Trợ giúp
|
|
123
|
+
ocam --help
|
|
185
124
|
```
|
|
186
125
|
|
|
187
|
-
|
|
126
|
+
**Cấu hình OAuth cho Health Check**
|
|
127
|
+
Thiết lập credentials qua biến môi trường:
|
|
188
128
|
|
|
189
|
-
Đăng nhập ít nhất một tài khoản trước:
|
|
190
|
-
|
|
191
|
-
```bash
|
|
192
|
-
opencode auth login
|
|
193
129
|
```
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
Cài lại package:
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
npm uninstall -g opencode-account-manager
|
|
201
|
-
npm install -g opencode-account-manager
|
|
130
|
+
OCAM_OAUTH_CLIENT_ID=...
|
|
131
|
+
OCAM_OAUTH_CLIENT_SECRET=...
|
|
132
|
+
OCAM_OAUTH_TOKEN_ENDPOINT=https://oauth2.googleapis.com/token
|
|
202
133
|
```
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
##
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Phím tắt
|
|
138
|
+
|
|
139
|
+
### Dashboard chính
|
|
140
|
+
|
|
141
|
+
| Phím | Chức năng |
|
|
142
|
+
|------|-----------|
|
|
143
|
+
| `Tab` | Chuyển section (Providers → Accounts → MCP) |
|
|
144
|
+
| `R` | Làm mới dữ liệu |
|
|
145
|
+
| `E` | Export accounts |
|
|
146
|
+
| `I` | Import accounts |
|
|
147
|
+
| `A` | Import từ Antigravity Manager |
|
|
148
|
+
| `S` | Vào chế độ chọn |
|
|
149
|
+
| `Q` | Thoát |
|
|
150
|
+
|
|
151
|
+
### Chế độ chọn (Accounts)
|
|
152
|
+
|
|
153
|
+
| Phím | Chức năng |
|
|
154
|
+
|------|-----------|
|
|
155
|
+
| `↑/↓` | Di chuyển |
|
|
156
|
+
| `Space` | Chọn/bỏ chọn |
|
|
157
|
+
| `A` | Chọn tất cả |
|
|
158
|
+
| `N` | Bỏ chọn tất cả |
|
|
159
|
+
| `E` | Bật các account đã chọn |
|
|
160
|
+
| `D` | Tắt các account đã chọn |
|
|
161
|
+
| `X` | Export các account đã chọn |
|
|
162
|
+
| `DEL` | Xóa các account đã chọn |
|
|
163
|
+
| `Esc` | Thoát chế độ chọn |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Định dạng Import được hỗ trợ
|
|
168
|
+
|
|
169
|
+
| Định dạng | Đuôi file | Mô tả |
|
|
170
|
+
|-----------|-----------|-------|
|
|
171
|
+
| Mã hóa | `.ocam` | Mã hóa AES-256-GCM, cần mật khẩu |
|
|
172
|
+
| Portable | `.json` | Export thuần từ OpenCode Account Manager |
|
|
173
|
+
| AM Export | `.json` | Export từ app Antigravity Manager `[{email, refresh_token}]` |
|
|
174
|
+
| Plugin Native | `.json` | Định dạng `antigravity-accounts.json` |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Đường dẫn cấu hình
|
|
179
|
+
|
|
180
|
+
| File | Windows | Linux/Mac |
|
|
181
|
+
|------|---------|-----------|
|
|
182
|
+
| Config OpenCode | `~/.config/opencode/opencode.json` | `~/.config/opencode/opencode.json` |
|
|
183
|
+
| Plugin accounts | `%APPDATA%/opencode/antigravity-accounts.json` | `~/.config/opencode/antigravity-accounts.json` |
|
|
184
|
+
| Cài đặt OCAM | `%APPDATA%/opencode/ocam-config.json` | `~/.config/opencode/ocam-config.json` |
|
|
185
|
+
|
|
186
|
+
> **Lưu ý**: `~` trên Windows là thư mục home của user (ví dụ: `C:\Users\TenBan`)
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Yêu cầu hệ thống
|
|
191
|
+
|
|
192
|
+
- **Node.js**: >= 16.x
|
|
193
|
+
- **OpenCode**: Đã cài đặt và cấu hình
|
|
194
|
+
- **Terminal**: Hỗ trợ Unicode và 256 màu (Windows Terminal, iTerm2, etc.)
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Xử lý lỗi
|
|
199
|
+
|
|
200
|
+
### "command not found: ocam"
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
npm install -g opencode-account-manager
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### "Plugin accounts file not found"
|
|
207
|
+
|
|
208
|
+
Đăng nhập ít nhất một tài khoản trước:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
opencode auth login
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### "Cannot find module"
|
|
215
|
+
|
|
216
|
+
Cài lại package:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm uninstall -g opencode-account-manager
|
|
220
|
+
npm install -g opencode-account-manager
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Tài liệu
|
|
226
|
+
|
|
227
|
+
- [ROADMAP.md](./docs/ROADMAP.md) - Lịch sử phiên bản và kế hoạch
|
|
228
|
+
- [BLUEPRINT.md](./docs/BLUEPRINT.md) - Kiến trúc kỹ thuật
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Đóng góp
|
|
233
|
+
|
|
234
|
+
1. Fork repo
|
|
235
|
+
2. Tạo branch: `git checkout -b feature/ten-tinh-nang`
|
|
236
|
+
3. Commit: `git commit -m "feat: mo-ta"`
|
|
237
|
+
4. Push: `git push origin feature/ten-tinh-nang`
|
|
238
|
+
5. Tạo Pull Request
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Giấy phép
|
|
243
|
+
|
|
244
|
+
MIT License. Xem [LICENSE](./LICENSE) để biết chi tiết.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Credits
|
|
249
|
+
|
|
250
|
+
- [OpenCode](https://opencode.ai) - AI coding assistant mà công cụ này được xây dựng cho
|
|
251
|
+
- [opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) - Plugin tùy chọn để xác thực Google OAuth
|
package/dist/cli.js
CHANGED
|
@@ -12,11 +12,58 @@ const paths_1 = require("./core/paths");
|
|
|
12
12
|
const amJson_1 = require("./core/importers/amJson");
|
|
13
13
|
const utils_1 = require("./core/utils");
|
|
14
14
|
const tui_1 = require("./tui");
|
|
15
|
+
const health_orchestrator_1 = require("./core/health-orchestrator");
|
|
15
16
|
function formatTimestamp(timestamp) {
|
|
16
17
|
if (!timestamp)
|
|
17
18
|
return "-";
|
|
18
19
|
return new Date(timestamp).toLocaleString();
|
|
19
20
|
}
|
|
21
|
+
function getStatusLabel(status) {
|
|
22
|
+
switch (status) {
|
|
23
|
+
case "verification_required":
|
|
24
|
+
return chalk_1.default.bgYellow.black(" VERIFY ");
|
|
25
|
+
case "revoked":
|
|
26
|
+
return chalk_1.default.bgRed.white(" REVOKED ");
|
|
27
|
+
case "disabled":
|
|
28
|
+
return chalk_1.default.bgRed.white(" DISABLED ");
|
|
29
|
+
case "deleted":
|
|
30
|
+
return chalk_1.default.bgRed.white(" DELETED ");
|
|
31
|
+
case "password_changed":
|
|
32
|
+
return chalk_1.default.bgYellow.black(" PASSWD ");
|
|
33
|
+
case "network_error":
|
|
34
|
+
return chalk_1.default.bgBlue.white(" NETWORK ");
|
|
35
|
+
case "unknown_error":
|
|
36
|
+
return chalk_1.default.bgRed.white(" ERROR ");
|
|
37
|
+
case "not_configured":
|
|
38
|
+
return chalk_1.default.bgGray.white(" CONFIG ");
|
|
39
|
+
default:
|
|
40
|
+
return chalk_1.default.bgGray.white(` ${status.toUpperCase()} `);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function printHealthCheckResult(result) {
|
|
44
|
+
const { counts, timing, items } = result;
|
|
45
|
+
const issues = counts.total -
|
|
46
|
+
counts.byStatus.ok -
|
|
47
|
+
(counts.byStatus.not_checked || 0);
|
|
48
|
+
console.log(chalk_1.default.bold("\n=== Health Check Summary ==="));
|
|
49
|
+
console.log(`Total: ${counts.total} | ` +
|
|
50
|
+
`${chalk_1.default.green("OK: " + counts.byStatus.ok)} | ` +
|
|
51
|
+
`${issues > 0 ? chalk_1.default.red("Issues: " + issues) : chalk_1.default.gray("Issues: 0")} | ` +
|
|
52
|
+
`Time: ${(timing.durationMs / 1000).toFixed(1)}s\n`);
|
|
53
|
+
const warnings = items.filter((item) => item.result.status !== "ok" && item.result.status !== "not_checked");
|
|
54
|
+
if (warnings.length > 0) {
|
|
55
|
+
console.log(chalk_1.default.bold("Warnings:"));
|
|
56
|
+
for (const item of warnings) {
|
|
57
|
+
const label = getStatusLabel(item.result.status);
|
|
58
|
+
const msg = item.result.message || item.result.status;
|
|
59
|
+
console.log(`${label} ${item.email} ${chalk_1.default.gray(`(${msg})`)}`);
|
|
60
|
+
}
|
|
61
|
+
console.log("");
|
|
62
|
+
}
|
|
63
|
+
else if (counts.total > 0) {
|
|
64
|
+
console.log(chalk_1.default.green("All accounts are healthy.\n"));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
20
67
|
function isLimited(rateLimitResetTimes) {
|
|
21
68
|
if (!rateLimitResetTimes)
|
|
22
69
|
return false;
|
|
@@ -31,6 +78,15 @@ function safeReadPluginFile(pluginPath) {
|
|
|
31
78
|
return (0, accounts_1.createEmptyPluginAccountsFile)();
|
|
32
79
|
}
|
|
33
80
|
}
|
|
81
|
+
function parseEmailList(input) {
|
|
82
|
+
if (!input)
|
|
83
|
+
return undefined;
|
|
84
|
+
const items = input
|
|
85
|
+
.split(",")
|
|
86
|
+
.map((value) => value.trim())
|
|
87
|
+
.filter((value) => value.length > 0);
|
|
88
|
+
return items.length > 0 ? items : undefined;
|
|
89
|
+
}
|
|
34
90
|
const program = new commander_1.Command();
|
|
35
91
|
program
|
|
36
92
|
.name("ocam")
|
|
@@ -71,6 +127,33 @@ program
|
|
|
71
127
|
}
|
|
72
128
|
}
|
|
73
129
|
});
|
|
130
|
+
program
|
|
131
|
+
.command("check")
|
|
132
|
+
.description("Check account health status")
|
|
133
|
+
.option("--plugin-path <path>", "Path to plugin accounts file")
|
|
134
|
+
.option("--emails <emails>", "Comma-separated list of emails to check")
|
|
135
|
+
.option("--force", "Bypass cache and cooldown checks", false)
|
|
136
|
+
.action(async (options) => {
|
|
137
|
+
const pluginPath = (0, paths_1.getPluginAccountsPath)(options.pluginPath);
|
|
138
|
+
const file = safeReadPluginFile(pluginPath);
|
|
139
|
+
const emails = parseEmailList(options.emails);
|
|
140
|
+
if (file.accounts.length === 0) {
|
|
141
|
+
console.log(chalk_1.default.yellow("No accounts to check."));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const result = await (0, health_orchestrator_1.checkAccountsHealth)(file.accounts, {
|
|
145
|
+
emails,
|
|
146
|
+
force: options.force === true,
|
|
147
|
+
includeLogs: true,
|
|
148
|
+
onProgress: (current, total, message) => {
|
|
149
|
+
if (total > 0) {
|
|
150
|
+
process.stdout.write(`\r${chalk_1.default.gray(`[${current}/${total}]`)} ${message} `);
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
process.stdout.write("\n");
|
|
155
|
+
printHealthCheckResult(result);
|
|
156
|
+
});
|
|
74
157
|
program
|
|
75
158
|
.command("export")
|
|
76
159
|
.description("Export accounts to a portable JSON file")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { AccountHealthResult, HealthConfig, HealthOAuthConfig, HealthSettings } from "./types";
|
|
1
2
|
export interface AppConfig {
|
|
2
3
|
lastExportFolder?: string;
|
|
3
4
|
lastImportFolder?: string;
|
|
4
5
|
defaultExportFormat?: "encrypted" | "plain";
|
|
5
6
|
recentFolders?: string[];
|
|
7
|
+
health?: HealthConfig;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Get the full path to config file
|
|
@@ -36,6 +38,16 @@ export declare function getLastExportFolder(): string;
|
|
|
36
38
|
* Get last import folder or default
|
|
37
39
|
*/
|
|
38
40
|
export declare function getLastImportFolder(): string;
|
|
41
|
+
export declare function normalizeHealthKey(email: string): string;
|
|
42
|
+
export declare function getHealthSettings(): Required<HealthSettings>;
|
|
43
|
+
export declare function updateHealthSettings(partial: HealthSettings): void;
|
|
44
|
+
export declare function getHealthOAuthConfig(): HealthOAuthConfig | undefined;
|
|
45
|
+
export declare function updateHealthOAuthConfig(partial: HealthOAuthConfig): void;
|
|
46
|
+
export declare function getHealthCache(): Record<string, AccountHealthResult>;
|
|
47
|
+
export declare function getCachedHealth(email: string, ttlMs?: number): AccountHealthResult | undefined;
|
|
48
|
+
export declare function setHealthCacheEntry(email: string, result: AccountHealthResult): void;
|
|
49
|
+
export declare function removeHealthCacheEntry(email: string): void;
|
|
50
|
+
export declare function clearHealthCache(): void;
|
|
39
51
|
export interface QuickLocation {
|
|
40
52
|
label: string;
|
|
41
53
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/core/config-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/core/config-store.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,SAAS;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AA2BD;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAMD;;GAEG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAatC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAWnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAG3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,cAAc,CAAC,CAQ5D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQlE;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,SAAS,CAGpE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAQxE;AAED,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAGpE;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,mBAAmB,GAAG,SAAS,CAQjC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAUpF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAY1D;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC;AA2BD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAmDnD"}
|