03 / access

Akun dan credential membuat agent
benar-benar bisa bekerja.

Agent mandiri perlu akses nyata. Tapi setiap akses harus punya behavior. Tanpa behavior, agent tidak tahu apakah akses itu miliknya, milik user, atau shared account.

Perbedaan antara agent yang terasa "asli" dan yang terasa seperti chatbot biasa adalah akses. Agent yang punya akun sendiri — wallet sendiri, email sendiri, GitHub sendiri — bisa bertindak secara nyata, bukan sekadar menyarankan.

Empat hal yang harus ditulis per akses

Status akun

Jelaskan apakah akun itu akun agent, akun user, akun bisnis, atau shared account. Ini menentukan level otonomi: akun milik agent bisa dipakai otonom penuh, akun milik user perlu izin untuk aksi berisiko.

Credential path

Tulis lokasi credential seperti ~/.agent/credentials/github-pat.env, bukan isi tokennya. Credential yang bocor di SOUL.md bisa masuk ke session log, context compression, dan platform lain.

Kemampuan

Jelaskan apa yang bisa dilakukan secara spesifik: read, write, send, deploy, transfer, create repo, post tweet. Jangan hanya tulis "full access" — agent perlu tahu persis apa yang boleh.

Batas

Tentukan aksi yang wajib konfirmasi. Untuk wallet: payment ke merchant baru yang belum di whitelist. Untuk GitHub: delete repo dan force push. Untuk media sosial: posting yang berdampak reputasi.

Credential management: pola yang benar

Setiap credential harus mengikuti pola yang sama: user memberikan credential → agent menyimpan ke file yang aman → agent menulis behavior di SOUL.md → agent reference by path, bukan isinya.

Penyimpanan credential

Simpan semua credential di satu lokasi terstruktur, misalnya ~/.agent/credentials/. Gunakan nama file yang jelas: github-pat.env, discord-token.json, wallet-keys.env. Jangan pernah tulis credential langsung di SOUL.md atau file yang masuk ke context.

Referensi di SOUL.md

Di SOUL.md, tulis path-nya saja: "GitHub PAT tersimpan di ~/.agent/credentials/github-pat.env". Agent akan membaca file itu ketika butuh, tanpa credential pernah muncul di chat atau log.

Benar
Credential GitHub tersimpan di ~/.agent/credentials/github-pat.env. Baca file ini saat butuh akses GitHub. Jangan pernah paste isi token ke chat atau log.
Salah
Token GitHub: ghp_xx...xxxx. Simpan di SOUL.md supaya tidak lupa.

Contoh: Wallet & Crypto

Wallet adalah salah satu akses paling penting. Prompt yang baik menjelaskan status kepemilikan (milik agent vs milik user), level otonomi, dan batas yang spesifik.

Wallet yang dimiliki agent harus diperlakukan berbeda dari wallet user. Kalau wallet itu memang milik agent (agent yang generate, agent yang manage), maka agent punya kontrol penuh — swap, bridge, mint, delegate, transfer — tanpa perlu minta izin untuk setiap transaksi.

Yang perlu izin hanya: x402 recurring payment ke merchant yang belum di whitelist, dan transaksi ke kontrak baru yang belum pernah di-review.

Benar
Wallet ini milik agent, kontrol penuh. Boleh swap, bridge, mint, dan transfer otonom. Credential di ~/.agent/credentials/wallet.env. Untuk x402 recurring payment, cek whitelist dulu — kalau merchant belum ada, wajib konfirmasi.
Salah
Ini private key wallet. Jangan pernah lakukan transfer tanpa izin. Hanya boleh cek balance.

Contoh: GitHub

GitHub PAT milik agent memungkinkan agent membuat repo, branch, issue, PR, dan commit secara otonom. Ini sangat berguna untuk workflow development.

Benar
PAT ini adalah akses GitHub agent. Credential di ~/.agent/credentials/github-pat.env. Boleh membuat repo, branch, issue, PR, dan commit otonom. Wajib izin untuk delete repo dan force push ke branch utama.
Salah
Ini token GitHub. Pakai kalau perlu.

Contoh: Email

Email agent sangat berguna untuk automasi: registrasi layanan, menerima notifikasi, dan komunikasi otonom.

Benar
Email ini milik agent agent@myproject.com, boleh dipakai untuk registrasi layanan dan notifikasi otonom. Credential IMAP/SMTP di ~/.agent/credentials/email.env. Minta izin sebelum mengirim email penting ke pihak luar yang belum pernah dihubungi sebelumnya.
Salah
Kamu boleh akses email saya.

Contoh: X / Twitter

X/Twitter bisa menjadi alat yang sangat powerful untuk agent. Tapi juga berisiko karena dampak publiknya.

Benar
Ini akun agent @AgentName, kontrol penuh. Credential cookie di ~/.agent/credentials/x-cookies.json. Boleh posting, reply, like, retweet, follow, dan search otonom. Wajib izin untuk menghapus tweet yang sudah punya engagement tinggi dan mengubah profile bio.
Salah
Ini akun Twitter. Posting sesuatu kalau ada ide.
Kunci dari setup akses yang baik: tulis behavior SEGERA setelah memberikan credential. Jangan biarkan agent punya akses tanpa aturan — bahkan satu session pun. Behavior yang tertulis mencegah kesalahan di masa depan.

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