Hệ thống tự động hóa trình duyệt dùng Browserbase (remote Chrome) + 5sim (SMS OTP) + 2Captcha (giải captcha) + OpenAI (AI agent).
Rendering mermaid diagram...
bb_agent/
├── main.ts ← HTTP entrypoint, Dashboard, API routes
├── browser.ts ← BrowserManager (kết nối Browserbase qua CDP)
├── tasks/
│ └── register.ts ← Task đăng ký tài khoản (Google skeleton)
├── services/
│ ├── sms.ts ← 5sim.net API (mua số, chờ OTP)
│ └── captcha.ts ← 2Captcha API (reCAPTCHA v2/v3, Turnstile, image)
└── storage/
├── db.ts ← SQLite schema + queries
└── csv.ts ← Đọc/ghi CSV qua SQLite
| Key | Mô tả | Trạng thái |
|---|---|---|
BROWSERBASE_API_KEY | API key Browserbase | ✅ Đã set |
BROWSERBASE_PROJECT_ID | Project ID Browserbase | ✅ Đã set |
FIVESIM_API_KEY | JWT token 5sim.net | ⚠️ Cần kiểm tra (xem bên dưới) |
TWOCAPTCHA_API_KEY | 32-char key từ 2captcha.com | ❌ Chưa set |
OPENAI_API_KEY | API key proxy simpleverse | ✅ Đã set |
5sim JWT token bị cắt ngắn khi copy. Lấy lại tại: https://5sim.net/settings/profile
→ Section "API KEY" → Copy toàn bộ JWT → Cập nhật env var FIVESIM_API_KEY
Lấy API key tại: https://2captcha.com/setting
→ Cập nhật env var TWOCAPTCHA_API_KEY (dạng 32 ký tự, ví dụ: abc123def456...)
https://minhnguyen00--08404dd62b7f11f18d7a42dde27851f2.web.val.run
Kiểm tra tất cả service connections:
curl https://minhnguyen00--08404dd62b7f11f18d7a42dde27851f2.web.val.run/health
Test kết nối Browserbase (mở Google, lấy title):
curl -X POST https://.../task/browser-test
Response:
{ "success": true, "title": "Google", "sessionId": "...", "replayUrl": "https://browserbase.com/sessions/..." }
Đăng ký tài khoản mới:
curl -X POST https://.../task/register \ -H "Content-Type: application/json" \ -d '{ "platform": "google", "country": "any", "operator": "any" }'
Platforms hỗ trợ hiện tại: google (skeleton)
TODO thêm: shopee, facebook, tiktok, instagram, lazada...
Upload file CSV:
curl -X POST https://.../csv/upload \ -F "file=@accounts.csv" \ -F "name=accounts" \ -F "separator=,"
curl https://.../csv/list
Download CSV:
curl https://.../csv/accounts -o accounts.csv
curl "https://.../accounts?platform=google&status=active"
curl "https://.../logs?limit=50"
/task/browser-test end-to-endtasks/warmup.ts — nuôi tài khoản (duyệt web, like, scroll)tasks/listing.ts — đăng sản phẩm| Giới hạn | Giá trị | Giải pháp |
|---|---|---|
| HTTP timeout | 30 giây | Dùng Interval val cho task dài |
| Không có filesystem | - | Dùng SQLite/Blob thay file |
| Cold start | ~100ms | Warm instance sau request đầu |
| Browserbase session timeout | Theo plan | keepAlive option |