08 / autonomous login

Login otonom: Google & X/Twitter.

Agent yang bisa login sendiri ke layanan tanpa bantuan user adalah agent yang benar-benar mandiri. Ini membutuhkan setup khusus: credential yang tepat, browser automation, dan penanganan 2FA.

Banyak layanan yang agent butuhkan — email, cloud, social media — memerlukan login. Kalau agent harus minta bantuan user setiap kali session expired, otonomi akan terputus. Kuncinya: setup credential dan browser automation agar agent bisa login dan maintain session sendiri.

Google Login

Google adalah salah satu login paling penting karena banyak layanan yang bergantung padanya: Gmail, Google Cloud, YouTube, Google Drive. Google punya beberapa lapisan autentikasi yang harus diatasi: password, 2FA (TOTP), dan recovery codes.

Yang perlu disiapkan

Email & Password

Simpan email dan password di file credential yang aman, misalnya ~/.agent/credentials/google-auth.txt. Jangan pernah tulis di SOUL.md atau file yang masuk ke context.

TOTP Secret Key

Saat mengaktifkan 2FA di Google, simpan TOTP secret key-nya (bukan hanya 6 digit code). Secret key ini bisa dipakai untuk generate code secara otonom menggunakan library seperti pyotp tanpa perlu Google Authenticator.

Backup Codes

Generate backup codes di pengaturan Google dan simpan di file terpisah. Ini cadangan kalau TOTP gagal. Backup codes bisa dipakai sekali pakai untuk bypass 2FA.

Browser Automation

Agent butuh browser anti-detect untuk login ke Google. Browser biasa akan kena anti-bot detection. Pilih browser yang support humanize mode dan fingerprint randomization.

Alur login Google

Agent harus mengikuti alur ini secara berurutan. Setiap langkah punya potensi gagal yang berbeda:

1. Buka browser → navigasi ke accounts.google.com
2. Masukkan email → klik Next
3. Masukkan password → klik Next
4. Jika diminta 2FA:
   a. Generate TOTP code dari secret key (pyotp)
   b. Masukkan 6 digit code → klik Next
   c. Jika TOTP gagal, pakai backup code
5. Verifikasi login berhasil (cek cookies/session)
6. Simpan session cookies untuk reuse

Generate TOTP secara otonom

TOTP (Time-based One-Time Password) bisa di-generate secara lokal tanpa Google Authenticator. Yang dibutuhkan hanya secret key yang didapat saat setup 2FA. Dengan Python dan pyotp, agent bisa generate code kapan saja:

import pyotp

# Secret key dari setup 2FA Google
secret = "JBSWY3DPEHPK3PXP"
totp = pyotp.TOTP(secret)

# Generate 6 digit code yang valid selama 30 detik
code = totp.now()  # misalnya: "483291"

Session persistence

Setelah login berhasil, simpan browser cookies. Cookies ini bisa dipakai ulang di session berikutnya tanpa perlu login lagi. Google session cookies biasanya bertahan beberapa minggu sampai bulan. Agent harus bisa mendeteksi ketika session expired (HTTP 401 atau redirect ke login page) dan melakukan re-login otomatis.

Benar
Credential Google tersimpan di ~/.agent/credentials/google-auth.txt (email, password, TOTP secret, backup codes). Agent login via browser automation, generate TOTP code secara lokal, dan simpan session cookies untuk reuse. Re-login otomatis kalau session expired.
Salah
Aku tidak bisa login ke Google karena diminta 2FA. Bisa bantu masukkan kode dari Google Authenticator?

X / Twitter Login

X/Twitter mendukung beberapa metode autentikasi yang bisa dipakai agent secara otonom. Setup yang baik menyediakan lebih dari satu metode agar agent punya fallback kalau metode utama gagal.

Metode 1: Cookie-based (paling stabil)

Login satu kali di browser biasa, export cookies, lalu agent pakai cookies itu untuk semua operasi. Ini metode paling stabil karena cookies bertahan lama dan tidak terpengaruh anti-bot detection.

Cookies disimpan di file JSON, misalnya ~/.agent/credentials/x-cookies.json. Dengan cookies yang valid, agent bisa melakukan semua operasi: posting, delete, reply, like, retweet, follow, unfollow, search, DM, bookmarks, polls, scheduled tweets, lists, media upload, dan banyak lagi. Ini metode utama karena mencakup hampir semua kebutuhan.

Kelebihan

Tidak terpengaruh anti-bot. Tidak perlu handle 2FA. Session bertahan berminggu-minggu. Mencakup semua operasi termasuk write, DM, dan media upload.

Kekurangan

Perlu login manual satu kali untuk export cookies. Jika cookies expired, perlu re-login manual lagi.

Metode 2: Username & password

Agent login langsung dengan username dan password. Credential disimpan di file terpisah, misalnya ~/.agent/credentials/x-auth.env yang berisi username, password, dan backup code untuk handle 2FA.

Backup code sangat penting untuk login otonom. Saat X meminta verification code (2FA), agent bisa memasukkan backup code tanpa perlu bantuan user. Tanpa backup code, agent akan terhenti di halaman 2FA dan harus menunggu user.

Kelebihan

Tidak perlu login manual sama sekali. Agent bisa login kapan saja selama credential valid. Backup code handle 2FA secara otonom. Cocok untuk fresh start atau re-login otomatis.

Kekurangan

Rentan kena anti-bot (Cloudflare 403). Password bisa berubah dan perlu di-update di credential file. Backup code terbatas jumlahnya.

Kapan pakai metode mana?

Gunakan cookie-based sebagai metode utama karena paling stabil dan mencakup semua operasi tanpa terpengaruh anti-bot. Simpan cookies setelah login manual pertama.

Gunakan username/password + backup code sebagai fallback: ketika cookies expired dan agent perlu re-login, atau ketika setup awal dilakukan secara remote tanpa akses browser manual. Pastikan backup code selalu tersimpan agar agent tidak terhenti di 2FA.

Benar
Credential X/Twitter: cookies di ~/.agent/credentials/x-cookies.json (metode utama), account credentials di ~/.agent/credentials/x-auth.env (username, password, backup code). Agent pakai cookie-based untuk operasi harian. Jika cookies expired, fallback ke username/password + backup code untuk handle 2FA. Semua operasi otonom penuh.
Salah
Cookies expired dan X minta verification code. Aku tidak punya backup code, jadi harus menunggu kamu masukkan code dari authenticator.

Prinsip umum login otonom

Simpan credential dengan aman

Semua credential (password, TOTP secret, cookies, API key) di file terpisah di direktori credential. Bukan di SOUL.md, bukan di code, bukan di environment variable yang bisa bocor ke log.

Handle semua jalur autentikasi

Password saja tidak cukup. Agent harus bisa handle 2FA (TOTP, backup codes), CAPTCHA (browser anti-detect), dan session persistence (cookies).

Deteksi dan recovery

Agent harus bisa mendeteksi ketika session expired atau login gagal, dan punya strategi recovery: coba ulang, pakai backup code, atau minta re-login manual sebagai fallback terakhir.

Jangan minta bantuan untuk hal yang bisa diotomasi

Kalau TOTP bisa di-generate dari secret key, jangan minta user masukkan code. Kalau cookies bisa di-load, jangan minta user login. Otonomi berarti agent solve problem sendiri.

Login otonom adalah salah satu investasi terbesar untuk otonomi agent. Sekali berhasil setup, agent bisa mengakses layanan kapan saja tanpa menunggu user. Google TOTP + browser anti-detect covers hampir semua kasus. X/Twitter cookie-based adalah yang paling stabil untuk social media automation.

Hermes SOUL Guide — membuat agent pintar itu proses, bukan prompt instan.