Cara akses ejen Hermes dari telefon pintar anda
Ketahui cara menyambungkan ejen Hermes pada VPS ke telefon anda melalui rangkaian mesh peribadi atau HTTPS. Panduan ini merangkumi langkah keselamatan untuk v0.20.0.
Tiga cara untuk mencapai ejen Hermes anda daripada telefon
Untuk mencapai ejen Hermes daripada telefon, anda menggunakan papan pemuka webnya, dan keputusan sebenar ialah apa yang diletakkan di hadapan papan pemuka tersebut. Pilihan pertama ialah rangkaian mesh peribadi, di mana papan pemuka hanya mendengar pada alamat Tailscale dan tiada port yang menghadap ke internet. Pilihan kedua ialah titik tamat awam di sebalik reverse proxy dengan TLS (transport layer security) dan log masuk, di mana log masuk tersebut merupakan satu-satunya perlindungan bagi terminal ke pelayan anda. Pilihan ketiga ialah SSH (secure shell) daripada aplikasi terminal, yang memerlukan penyediaan paling sedikit dan memberikan akses paling banyak.
Panduan ini bermula di tempat menjalankan ejen Hermes pada VPS anda sendiri berakhir. Ejen tersebut telah dipasang, ia menjawab pada baris perintah, dan anda kini mahukannya dalam poket anda.
Perintah di bawah ditulis berdasarkan tag v2026.8.3, diterbitkan pada 3 Ogos 2026 dan dilabelkan v0.20.0 dalam nota keluaran. Hermes kerap mengeluarkan versi baharu, jadi tetapkan mesin anda pada tag dan bukannya mengikuti main. Pemasang menerima commit:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit 3c27eb6234bf
hermes versionhermes version mencetak apa yang sebenarnya dipasang. Bandingkan dengan tag tersebut sebelum anda mempercayai sebarang flag pada halaman ini.
Apa yang dibekalkan oleh repositori, dan apa yang tidak
Tiada aplikasi iOS atau Android dalam repositori Hermes. Pelanggan natifnya ialah hermes desktop (alias hermes gui), iaitu aplikasi Electron untuk macOS, Windows dan Linux. Ia boleh disambungkan kepada ejen jauh dan bukannya ejen tempatan: tetapkan URL jauh kepada http://<server-address>:9119 dalam Settings di bawah Gateway, atau eksport HERMES_DESKTOP_REMOTE_URL=http://<server-address>:9119 sebelum melancarkannya. Ini menyelesaikan masalah komputer riba kedua. Ia tidak berfungsi untuk telefon.
Antara muka yang anda gunakan daripada telefon ialah hermes dashboard, iaitu antara muka pelayar. Ia menguruskan konfigurasi, sesi, cron job, kemahiran, log dan platform pemesejan, serta membenamkan terminal: pelayan akan menjana hermes --tui di sebalik PTY (pseudo-terminal) dan menstrim output ke dalam halaman tersebut. Pada skrin yang sempit, penukar sesi akan melipat masuk ke dalam panel sisi, jadi susun atur tersebut boleh digunakan pada telefon.
Secara lalai, papan pemuka mendengar pada 127.0.0.1:9119 dan membuka tab pelayar pada pelayan itu sendiri, yang tidak berguna pada VPS (virtual private server) tanpa kepala. Mulakannya tanpa pelayar dan lihat pada soket:
hermes dashboard --no-open
ss -lntp | grep 9119Pendengar pada 127.0.0.1:9119 hanya boleh dicapai daripada pelayan tersebut. Pendengar pada 0.0.0.0:9119 boleh dicapai daripada setiap rangkaian yang disambungkan dengan mesin tersebut, termasuk rangkaian awam. Baris tunggal itu menentukan tahap pendedahan anda, jadi bacalah ia dan jangan hanya membuat andaian.
Pilihan 1: mesh peribadi dengan Tailscale
Pilih kaedah ini melainkan anda mempunyai sebab untuk tidak berbuat demikian. Tailscale ialah VPN (virtual private network) mesh yang dibina berasaskan WireGuard. Setiap peranti yang anda daftarkan mendapat alamat yang stabil dan berhubung terus dengan peranti lain. Telefon anda menyertai mesh yang sama, jadi papan pemuka tidak memerlukan port awam sama sekali.
Pada pelayan:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4Pasang aplikasi Tailscale pada telefon dan daftar masuk dengan akaun yang sama. tailscale status pada pelayan kemudian akan menyenaraikan telefon tersebut mengikut nama. Sekarang, ikat (bind) papan pemuka kepada alamat yang dicetak oleh tailscale ip -4:
hermes dashboard --host 100.101.102.103 --port 9119 --no-openMengikat kepada alamat mesh, dan bukannya kepada 0.0.0.0, bermakna soket pendengar hanya wujud pada antara muka Tailscale. Imbasan port pada alamat IP awam anda tidak akan menemui apa-apa pada 9119 kerana tiada apa yang mendengar di situ, jadi firewall anda bukan lagi satu-satunya perlindungan. Sahkan perkara ini dengan ss -lntp | grep 9119 sekali lagi.
Alamat ikat juga menentukan pengesahan, dan ini adalah bahagian yang sering terlepas pandang. Pada 127.0.0.1, papan pemuka tidak mempunyai log masuk. Pada mana-mana alamat lain, pintu masuk pengesahan adalah wajib, dan tanpa penyedia yang dikonfigurasikan, pelayan enggan bermula. Projek ini memanggilnya sebagai "failing closed". Jalankan ia secara interaktif pada kali pertama dan ia akan menawarkan untuk menetapkan nama pengguna dan kata laluan serta-merta. Hasilnya ditulis ke ~/.hermes/.env:
HERMES_DASHBOARD_BASIC_AUTH_USERNAME=you
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD_HASH=scrypt$16384$8$1$...
HERMES_DASHBOARD_BASIC_AUTH_SECRET=a-long-random-stringJana rahsia tersebut dengan openssl rand -hex 32 dan kemudian jangan ubahnya. Ia menandatangani kuki sesi, jadi menukarnya akan mengeluarkan semua peranti daripada sesi. Fail yang sama menyimpan kunci API model anda, jadi pastikan ia peribadi dengan chmod 600 ~/.hermes/.env.
Periksa pintu masuk daripada mesin lain dalam mesh sebelum anda mempercayainya:
curl -s http://100.101.102.103:9119/api/status | jq '.auth_required, .auth_providers'true diikuti oleh ["basic"] bermakna pintu masuk diaktifkan dan penyedia kata laluan adalah pihak yang menjawab. Dokumentasi projek itu sendiri berterus-terang tentang penyedia tersebut: ia bertujuan untuk rangkaian yang dipercayai atau VPN, dan ia tidak sesuai untuk papan pemuka yang menghadap internet awam. Dalam mesh, itulah situasi sebenar anda.
Untuk HTTPS di dalam tailnet, serahkan port kepada Tailscale:
sudo tailscale serve --bg localhost:9119
sudo tailscale serve statusTailscale menamatkan TLS dengan sijil yang dikeluarkan untuk nama MagicDNS mesin tersebut, jadi pelayar berhenti memberi amaran dan kuki sesi mendapat flag Secure. Aktifkan MagicDNS dan HTTPS Certificates pada halaman DNS dalam konsol pentadbir Tailscale terlebih dahulu, dan baca pengakuan semasa anda berada di sana: nama mesin dan nama DNS tailnet anda diterbitkan ke dalam lejar ketelusan sijil awam, yang boleh dibaca oleh sesiapa sahaja.
Kos jujur di sini ialah pelayan penyelarasan (coordination server). Trafik antara telefon anda dan VPS anda disulitkan dari hujung ke hujung dan tidak melalui Tailscale, tetapi akaun yang menentukan peranti mana yang tergolong dalam mesh tidak berada pada perkakasan anda. Jika perkara itu penting, jalankan control plane sendiri dengan Headscale, pelayan kawalan Tailscale yang dihoskan sendiri, dan halakan klien kepadanya menggunakan tailscale up --login-server https://headscale.example.com. Jika anda lebih suka membuang mesh dan mengkonfigurasi peer secara manual, perbandingan antara WireGuard biasa dan Tailscale merangkumi perkara yang anda lepaskan.
Pilihan 2: titik akhir HTTPS awam, dan perangkap di dalamnya
Kadangkala mesh tidak tersedia. Telefon kerja mungkin tidak membenarkan anda memasang klien VPN. Dalam keadaan ini, papan pemuka diletakkan di sebalik reverse proxy. Pastikan papan pemuka kekal pada loopback dan biarkan Caddy menguruskan sijil:
hermes.example.com {
reverse_proxy 127.0.0.1:9119
}Caddy mengambil dan memperbaharui sijil secara automatik, dan reverse_proxy miliknya melalukan naik taraf WebSocket tanpa arahan tambahan, yang diperlukan oleh terminal terbenam papan pemuka tersebut. Pada nginx, anda perlu menambah header Upgrade dan Connection sendiri, dan mengeluarkan sijil Let's Encrypt dengan Certbot pada nginx merangkumi bahagian TLS bagi tugas tersebut. Beritahu Hermes nama awamnya supaya panggil balik (callback) log masuk menghala ke hos yang betul:
dashboard:
public_url: "https://hermes.example.com"Sekarang, perangkapnya. Gerbang pengesahan (auth gate) berfungsi berdasarkan bind address, bukan berdasarkan alamat asal permintaan. Papan pemuka yang diikat pada 127.0.0.1 di sebalik proksi melihat alamat loopback, memutuskan bahawa tiada log masuk diperlukan, dan melayani sesiapa sahaja yang dibenarkan masuk oleh proksi. Semak perkara yang sebenarnya anda terbitkan:
curl -s https://hermes.example.com/api/status | jq '.auth_required'Jika arahan tersebut mencetak false, internet hanya dipisahkan oleh satu URL daripada terminal pada pelayan anda. Tiada eksploitasi yang terlibat dan tiada apa-apa dalam log yang akan menunjukkan ralat. Terdapat dua penyelesaian dan anda memerlukan sekurang-kurangnya salah satu daripadanya. Sama ada letakkan pengesahan dalam proksi, dengan Authentik sebagai penyedia single sign-on yang dihoskan sendiri di hadapannya melalui forward auth, atau konfigurasikan penyedia OIDC (OpenID Connect) papan pemuka itu sendiri:
HERMES_DASHBOARD_OIDC_ISSUER=https://auth.example.com/application/o/hermes/
HERMES_DASHBOARD_OIDC_CLIENT_ID=hermes-dashboard
HERMES_DASHBOARD_OIDC_SCOPES="openid profile email"Walaupun dilakukan dengan betul, pilihan ini mempunyai tahap risiko minimum yang tidak boleh dikurangkan. Halaman log masuk awam ialah halaman yang boleh dicapai dan diserang oleh sesiapa sahaja, dan di sebaliknya terdapat shell pada VPS anda. Nama pengguna dan kata laluan adalah perlindungan yang lemah untuk perkara tersebut, itulah sebabnya dokumentasi mengesyorkan OAuth atau OIDC untuk bind awam. Hadkan kadar (rate limit) log masuk, pastikan ufw ditutup kepada semua kecuali port proksi dan SSH, dan baca log akses dari semasa ke semasa.
Pilihan 3: SSH dan mosh daripada terminal mudah alih
Laluan paling mudah: pasang aplikasi terminal pada telefon, muatkan kunci SSH ke dalamnya, dan gunakan antara muka teks ejen itu sendiri.
ssh you@vps.example.com
tmux new -A -s phone
hermes --tuitmux new -A -s phone bersambung ke sesi yang dipanggil phone, atau menciptanya jika sesi tersebut tiada, supaya ejen terus berjalan apabila sambungan terputus dan anda kembali ke tempat yang sama pada masa akan datang. Pola ini adalah sama dengan yang digunakan untuk mengendalikan Claude Code daripada telefon.
SSH biasa melalui rangkaian mudah alih adalah kurang selesa, kerana sambungan akan mati setiap kali telefon menukar alamat atau masuk ke mod tidur. Mosh menyelesaikan masalah ini. Ia berjalan melalui UDP (user datagram protocol) dan menyelaraskan status terminal dan bukannya aliran bait, jadi sesi akan kekal aktif walaupun anda beralih daripada wifi ke rangkaian selular:
sudo apt install -y mosh
sudo ufw allow 60000:61000/udpDaripada telefon, jalankan mosh you@vps.example.com. Mosh memulakan mosh-server melalui log masuk SSH sedia ada anda dan kemudian memindahkan sesi tersebut ke UDP dalam julat 60000 hingga 61000, itulah sebabnya julat tersebut perlu dibuka.
Kos keselamatannya adalah seperti biasa. Sesi SSH ialah shell, dan shell adalah segala-galanya yang boleh dilakukan oleh akaun tersebut. Gesaan kelulusan ejen kemudiannya menjadi benteng terakhir antara telefon yang dicuri dan tidak berkunci dengan fail anda. Gunakan akaun bukan root yang khusus untuk tujuan ini, hanya gunakan kunci, dan lakukan pengukuhan SSH pada VPS sebelum anda meletakkan kunci pada peranti yang anda bawa ke mana-mana.
Perkara yang tergendala pada rangkaian mudah alih
Terdapat empat perkara, dan tiada satu pun daripadanya merupakan pepijat yang boleh diselesaikan melalui konfigurasi.
Papan pemuka melog keluar anda semasa anda tidak melihatnya. Token akses mempunyai TTL (masa untuk hidup) selama 15 minit dan kontrak API semasa tidak mempunyai token penyegaran. Apabila token tamat tempoh, halaman tersebut melihat respons 401 dan menavigasi semula ke /login. Buka papan pemuka, simpan telefon di dalam poket selama dua puluh minit, dan anda akan kembali ke skrin log masuk dengan apa sahaja yang anda sedang taip telah hilang. Tiada apa-apa yang rosak. Log masuk semula.
Terminal terbenam tidak bertahan jika tab berada di latar belakang. Pelayan menjana TUI (antara muka pengguna teks) di sebalik PTY dan menutupnya dengan bersih apabila tab ditutup, dan membukanya semula akan menjana terminal baharu. Pelayar mudah alih membuang tab latar belakang untuk menuntut semula memori, jadi bertukar kepada aplikasi lain untuk tempoh yang lama akan menamatkan terminal tersebut. Sejarah sembang anda selamat, kerana sesi disimpan pada pelayan dan hermes sessions list masih memaparkannya. Terminal itu sendiri bukanlah sesuatu yang boleh anda sambungkan semula. Jika anda memerlukan sesi yang bertahan, gunakan tmux melalui SSH.
Sambungan melahu mati secara senyap. Pembawa mudah alih menggugurkan sambungan TCP yang melahu untuk menuntut semula entri jadual NAT (terjemahan alamat rangkaian), dan telefon berhenti menyelenggara rangkaian hampir sepenuhnya sebaik sahaja skrin dimatikan. WebSocket yang telah senyap untuk seketika biasanya sudah mati apabila anda menyahkunci, dan halaman tersebut menyambung semula hanya selepas anda menyentuhnya. Inilah sebabnya mosh terasa lebih baik daripada SSH pada telefon: ia tidak pernah mempunyai sambungan untuk hilang.
Tiada apa-apa yang menolak pemberitahuan. Sama ada papan pemuka mahupun sesi SSH tidak boleh mengejutkan telefon anda. Tiada aplikasi Hermes pada peranti tersebut, jadi tiada laluan ke perkhidmatan tolak platform. Larian ejen yang panjang selesai, dan anda akan mengetahuinya pada kali seterusnya anda melihatnya.
Pemberitahuan tiba melalui gateway pemesejan
Penyelesaian untuk isu terakhir itu ialah gateway, iaitu cara yang berbeza sama sekali untuk mencapai ejen. hermes gateway menghubungkan ejen kepada platform pemesejan termasuk Telegram, Discord, Slack, WhatsApp, Signal dan e-mel. Anda kemudian berinteraksi dengan ejen anda di dalam aplikasi yang sudah memiliki saluran tolak (push channel) pada telefon anda, sudah mengendalikan penghantaran latar belakang, dan sudah mampu menangani gangguan rangkaian.
hermes gateway setup
hermes gateway install
hermes gateway statushermes gateway install mendaftarkan gateway sebagai servis systemd, supaya ia kembali berjalan selepas but semula. Pemasang Hermes tidak mencipta sebarang unit servis untuk anda, jadi hermes dashboard tidak akan kembali dengan sendirinya selepas dimulakan semula. Tulis unit untuk mana-mana bahagian yang anda perlukan, dan menulis servis dan pemasa systemd pada VPS merangkumi fail tersebut.
Tugasan berjadual boleh menolak hasil dengan cara yang sama, tanpa melibatkan perbualan:
hermes send -t telegram -s "Backup report" -f /home/you/report.txtKebenaran di sini adalah tolak secara lalai (deny by default). Tanpa senarai kebenaran (allowlist) ditetapkan dan GATEWAY_ALLOW_ALL_USERS tidak ditetapkan, setiap pengguna akan ditolak, yang merupakan titik permulaan yang betul. Namakan akaun yang anda mahukan dalam ~/.hermes/.env:
TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789Atau aktifkan gandingan berasaskan kod (code-based pairing) sebagai ganti menampal ID angka, dengan menetapkan unauthorized_dm_behavior: pair dalam ~/.hermes/config.yaml. Akaun tidak dikenali yang menghantar mesej kepada ejen akan menerima kod lapan aksara, dan tiada apa-apa lagi yang berlaku sehingga anda meluluskannya:
hermes pairing list
hermes pairing approve telegram ABC12DEF
hermes pairing revoke telegram 123456789Kod akan tamat tempoh selepas satu jam, pengguna boleh meminta kod baharu setiap sepuluh minit, dan lima percubaan gagal akan menyekat akaun tersebut.
Mengehadkan radius impak telefon yang dicuri
Telefon yang boleh mencapai ejen anda ialah telefon yang boleh menjalankan arahan pada pelayan anda, dan telefon boleh hilang. Tentukan sekarang apa yang boleh dilakukan oleh orang yang memegangnya.
Pastikan kelulusan dihidupkan. approvals.mode secara lalai ditetapkan kepada smart, yang meminta model bantuan untuk menilai risiko dan meluluskan secara automatik hanya arahan berisiko rendah. Menetapkannya kepada off adalah sama seperti menjalankan segala-galanya dengan --yolo, dan HERMES_YOLO_MODE=1 melakukannya melalui persekitaran. Jangan bawa telefon yang berhubung dengan ejen dalam keadaan tersebut. Tetapkan approvals.cron_mode: deny supaya tugasan berjadual tidak boleh meluluskan diri sendiri semasa anda tidur.
approvals:
mode: smart
cron_mode: denyBerikan ejen dunia yang lebih kecil untuk dirosakkan. terminal.backend: docker menjalankan arahan di dalam bekas yang menggugurkan semua keupayaan Linux kecuali senarai pendek, menetapkan no-new-privileges, dan mengehadkan kiraan proses, supaya bekas tersebut menjadi sempadan dan bukannya prompt. terminal.cwd menetapkan direktori kerja. HERMES_WRITE_SAFE_ROOT mengehadkan write_file dan patch kepada direktori yang anda namakan, dan penulisan di luar direktori tersebut disekat tanpa kelulusan yang tersedia untuk mengatasi sekatan itu.
export HERMES_WRITE_SAFE_ROOT=/home/you/projects:/home/you/.hermesHermes sudah menyekat penulisan ke ~/.ssh, ~/.aws, ~/.kube dan /etc/sudoers, enggan menulis fail .env di mana-mana pada cakera, dan menolak senarai arahan destruktif yang tegas walau apa pun tetapan kelulusan anda. Anggap itu sebagai tahap minimum, bukan sebagai pelan anda. Jalankan ejen sebagai pengguna biasa, jangan sekali-kali sebagai root. Penaakulan yang sama terpakai kepada mana-mana ejen pengekodan yang dibiarkan berjalan tanpa pengawasan, dan menjalankan Claude Code dengan selamat pada VPS membincangkannya dengan lebih terperinci.
Kemudian tulis langkah-langkah pembatalan sebelum anda memerlukannya. Mengeluarkan peranti dalam konsol pentadbir Tailscale memotong akses mesh serta-merta. Menukar HERMES_DASHBOARD_BASIC_AUTH_SECRET dan memulakan semula membatalkan setiap sesi papan pemuka pada setiap peranti, kerana nilai tersebut menandatangani kuki sesi. Memadamkan kunci awam telefon daripada ~/.ssh/authorized_keys menamatkan SSH. hermes pairing revoke telegram <user-id> membuang akaun pemesejan. Jika peranti menyimpan apa-apa yang boleh membaca kunci pembekal anda, gugurkannya dengan hermes auth logout <provider> dan keluarkan kunci baharu di peringkat upstream.
Semak keputusan dan bukannya membuat andaian. Ini adalah arahan untuk dijalankan pada kotak anda sendiri, dan apa yang dicetaknya bergantung pada persediaan anda:
tailscale status
hermes pairing list
hermes logs gateway -n 100
hermes status --deepLog disimpan di bawah ~/.hermes/logs/. Baca log tersebut selepas sesuatu insiden, dan bacanya sekali-sekala apabila tiada insiden berlaku.
FAQ
Adakah terdapat aplikasi mudah alih Hermes rasmi untuk iOS atau Android?
Tidak. Repositori Hermes mengeluarkan antara muka baris perintah, papan pemuka web, dan klien desktop Electron untuk macOS, Windows dan Linux. Tiada binaan iOS atau Android pihak pertama. Dari telefon, anda perlu menggunakan papan pemuka web dalam pelayar, klien SSH, atau platform pemesejan yang disambungkan melalui hermes gateway. Klien mudah alih pihak ketiga memang wujud, dan ia merupakan kod pihak ketiga yang memegang kelayakan ke ejen anda, jadi baca kod sumber sebelum anda memasang mana-mana daripadanya.
Mengapakah papan pemuka Hermes melog keluar saya pada telefon?
Token akses mempunyai TTL selama 15 minit dan kontrak API semasa tidak mempunyai token penyegaran. Apabila token tamat tempoh, halaman menerima 401 dan menavigasi ke /login. Meletakkan pelayar di latar belakang pada telefon menjadikan perkara ini ketara, kerana dua puluh minit dalam aplikasi lain sudah cukup untuk mencapainya. Tetapkan HERMES_DASHBOARD_BASIC_AUTH_SECRET kepada nilai rawak yang stabil supaya kunci penandatangan sesi kekal sama merentas but semula, yang menghapuskan punca kedua untuk dilog keluar.
Bolehkah saya meletakkan papan pemuka Hermes pada internet awam dengan selamat?
Hanya dengan pengesahan yang telah anda sahkan sendiri. Gerbang pengesahan dihidupkan berdasarkan alamat ikat (bind address), jadi papan pemuka yang diikat pada 127.0.0.1 di sebalik reverse proxy tidak akan meminta log masuk daripada internet. Jalankan curl -s https://your-host/api/status | jq '.auth_required' dan baca hasil yang dikembalikan. Gunakan OAuth atau OIDC berbanding nama pengguna dan kata laluan, kerana dokumentasi projek menyatakan pembekal kata laluan adalah untuk rangkaian dipercayai dan VPN. Mesh peribadi mengelakkan soalan ini sepenuhnya, itulah sebabnya ia merupakan lalai yang lebih baik.
Adakah saya memerlukan akaun Tailscale, atau bolehkah saya mengurus sendiri control plane?
Anda boleh mengurusnya sendiri. Headscale ialah implementasi terbuka bagi pelayan penyelarasan Tailscale, dan klien Tailscale rasmi boleh bersambung kepadanya dengan tailscale up --login-server https://headscale.example.com. Anda kemudian memiliki senarai peranti yang dibenarkan masuk ke dalam mesh. Kosnya ialah anda kini perlu menjalankan dan menyandarkan pelayan tersebut, dan semasa ia tidak berfungsi, anda tidak boleh mendaftarkan atau mengesahkan semula peranti.
Bagaimanakah saya mendapatkan pemberitahuan pada telefon apabila ejen menyelesaikan tugasan?
Gunakan gateway pemesejan. Papan pemuka dan SSH tidak mempunyai cara untuk mengejutkan telefon, kerana tiada aplikasi Hermes pada peranti untuk menerima push. Sambungkan ejen ke Telegram, Signal, Discord atau platform lain yang disokong dengan hermes gateway setup, kemudian biarkan aplikasi platform tersebut yang menghantarnya. Tugasan cron juga boleh menghantar satu mesej dengan hermes send -t telegram -s "Job done" -f /path/to/report.txt, yang dihantar tanpa memanggil model.