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.
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 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.
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.
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.
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.
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.
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 reuseTOTP (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"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.
~/.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.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.
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.
Tidak terpengaruh anti-bot. Tidak perlu handle 2FA. Session bertahan berminggu-minggu. Mencakup semua operasi termasuk write, DM, dan media upload.
Perlu login manual satu kali untuk export cookies. Jika cookies expired, perlu re-login manual lagi.
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.
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.
Rentan kena anti-bot (Cloudflare 403). Password bisa berubah dan perlu di-update di credential file. Backup code terbatas jumlahnya.
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.
~/.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.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.
Password saja tidak cukup. Agent harus bisa handle 2FA (TOTP, backup codes), CAPTCHA (browser anti-detect), dan session persistence (cookies).
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.
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.
Hermes SOUL Guide — membuat agent pintar itu proses, bukan prompt instan.