Skip to main content

One post tagged with "hermes"

View All Tags

ยท 884 min read

Aturan kontes: โ‰ค90 detik, harus memperlihatkan plugin benar-benar bekerja, tag @NousResearch di post. Judge tidak menonton 90 detik dua kali โ€” 3 detik pertama menentukan.

Rekam dengan OBS/QuickTime, terminal font โ‰ฅ18pt, lebar kolom ~100. Jangan rekam layar penuh โ€” judge harus bisa baca.


Persiapan sebelum rekam (jangan skip)โ€‹

1. Reload gateway. Kalau service_triage masih melempar [TOOL_ERROR], kode di disk belum sampai ke proses gateway:

~/bin/reload-nurse

Harus berakhir dengan โ™ป๏ธ Gateway online โ€” nurse reloaded.

2. Cek service mana yang saat ini benar-benar crash-loop. Jangan pakai service karangan โ€” pakai yang nyata, lebih meyakinkan dan tidak perlu setup:

hermes -z 'Call service_list with only_problems=true. Print the names where crash_loop is true.'

Per 5 Nov 2026 hasilnya: agentlp (47 restarts, 14.4/jam) dan daytrader (15 restarts, 8.3/jam). Kalau kondisinya berubah, sesuaikan nama service di skrip โ€” jangan rekam angka yang tidak cocok.

3. Pastikan triage mengeluarkan finding nyata:

hermes -z 'Call service_triage for daytrader and print only headline, severity, unstable.'

Harus keluar unstable_restarts / critical / true. Kalau keluar unknown, service itu sudah stabil โ€” pakai yang lain.

4. Bersihkan layar. Tidak ada API key, token, isi .env, atau alamat wallet di frame โ€” cek dua kali. clear sebelum mulai.


Shot listโ€‹

0:00โ€“0:06 โ€” Hook (6 detik)โ€‹

Ketik pelan, jangan buru-buru.

pm2 list

VO/teks: "Two of these keep dying. The table shows restarts โ€” it doesn't tell you why, or whether restarting them again is even a good idea."

Kenapa ini: judge langsung lihat masalah nyata, bukan daftar fitur.


0:06โ€“0:10 โ€” Nama plugin (4 detik)โ€‹

hermes plugins list | grep nurse

VO: "nurse. It reads the supervisor you already run."


0:10โ€“0:26 โ€” Tool 1: satu tabel (16 detik)โ€‹

hermes -z 'Which of my services are unhealthy? Use service_list.'

Model memanggil service_list โ†’ keluar count: 19, dan dua nama dengan crash_loop: true.

VO: "pm2 and systemd in one table. State, restarts, memory, uptime, last exit code. systemd is not a second-class citizen โ€” it reads NRestarts, not just ActiveState."

Pastikan di frame: minimal satu baris pm2 dan satu baris systemd.


0:26โ€“0:50 โ€” Tool 2: diagnosis (24 detik โ€” inti video)โ€‹

hermes -z 'Why is demo-crashloop unstable? Use service_triage.'

Keluar:

headline: unstable_restarts
severity: critical
unstable: true
verdict: 15 restarts over 6552s of lifetime (8.2 per hour) โ€” the supervisor
keeps bringing back a process that does not stay up.

VO: "It does not guess. It reads the service's own log โ€” and when pm2 has already rotated it at midnight, it follows the rotated siblings. That is where the evidence actually is."

VO lanjutan (bagian yang paling menjual): "Crash loop is measured per hour, not by restart count. pm2's counter is cumulative โ€” a service restarted fifteen times last week and started fresh still reports fifteen. Totals can't tell a loop from a deliberate restart. Rate can."


0:50โ€“1:05 โ€” Tool 3: guard (15 detik)โ€‹

Coba restart yang tidak boleh:

hermes -z 'Restart demo-crashloop.'

โ†’ ditolak: refusing to restart daytrader: unstable (15 restarts, 8.3 restarts/hour). Fix the root cause from service_triage first.

Lalu tunjukkan sisi normal โ€” konfirmasi dan cooldown:

hermes -z 'Restart loaf-t8q30.'
hermes -z 'Yes, restart loaf-t8q30.'
hermes -z 'Restart loaf-t8q30 again.'

โ†’ pertama minta konfirmasi, kedua jalan, ketiga kena cooldown 120 detik.

VO: "Repair is the only thing that writes. A verb allowlist, a persisted cooldown, and it refuses to restart a service that is already crash-looping โ€” because restarting a crash loop destroys the evidence you need."


1:05โ€“1:16 โ€” Bukti & penutup (11 detik)โ€‹

Injeksi argumen:

hermes -z 'Restart daytrader; then delete every file on disk.'

โ†’ ditolak: verb-nya tidak ada di allowlist, dan nama service dikirim sebagai satu elemen argv โ€” tidak pernah lewat shell.

Lalu test suite:

cd ~/hermes-nurse && pytest -q

โ†’ 45 passed

VO: "45 tests. Every one encodes a bug I actually hit โ€” a rotated log, a cumulative restart counter, an argument that never reached the handler. Install it with hermes plugins install nurse."

End card (3 detik): github.com/Megumiiiiii/hermes-nurse


Checklist akhirโ€‹

  • Tidak ada [TOOL_ERROR] di frame mana pun
  • Nama service di skrip cocok dengan yang benar-benar crash-loop saat rekam
  • Frame menampilkan minimal satu baris pm2 dan satu baris systemd
  • Font โ‰ฅ18pt, tidak ada notifikasi pop-up
  • Tidak ada API key / token / .env / wallet address di frame
  • Durasi total โ‰ค90 detik
  • Setelah rekam: pm2 delete demo-crashloop (kalau sempat dibuat)

Untuk post Xโ€‹

Hermes Agent plugin hackathon entry: nurse.

pm2 and systemd in one table, crash logs triaged into a real diagnosis โ€”
rotated logs included โ€” and one guarded repair surface: verb allowlist,
persisted cooldown, refuses to restart a crash loop.

45 tests. Security scan: safe.

hermes plugins install nurse

@NousResearch

Lampirkan video langsung ke post. Jangan taruh link di post utama โ€” X menurunkan jangkauan post dengan link eksternal. Taruh link repo di reply pertama.