ai-tools hermes-agent

Automasi Kerja dengan AI: Bina Workflow

Anda pernah rasa macam tugasan harian anda terjebak dalam lingkaran yang sama? Bayangkan jika ada pembantu AI yang boleh belajar, ingat, dan lakukan tugasan berulang secara automatik—tanpa perlu anda pantau setiap langkah. Hermes Agent, AI agent open-source dengan lesen MIT, bukan sekadar chatbot biasa. Ia dilengkapi persistent memory, automated skill creation, dan multi-platform execution, menjadikannya alat ideal untuk mengautomasi workflow anda. Dalam artikel ini, kita akan pecahkan tugasan kompleks kepada langkah-langkah praktikal, kemudian bina automasi pertama anda menggunakan Hermes Agent. Tiada teori berlebihan—hanya panduan step-by-step untuk anda praktikkan sekarang. 🚀

1. Kenal Pasti Tugas Berulang yang Boleh Diotomatisasi

Sebelum menulis sebarang kod, audit workflow harian anda. Tugas yang sesuai untuk automasi biasanya:

Contoh tugasan: Anda seorang pentadbir sistem yang perlu setiap pagi:

  1. Semak log server untuk ralat dalam 24 jam terakhir.
  2. Jika ada ralat, ambil screenshot halaman dashboard.
  3. Hantar notifikasi ke channel Discord dengan fail log + screenshot.

Tugas ini mengambil masa 15-20 minit setiap hari. Dengan Hermes Agent, ia boleh dijalankan secara automatik pada pukul 8 pagi tanpa campur tangan anda.

2. Sediakan Persekitaran Hermes Agent

Pasang Hermes Agent di mesin lokal anda (Linux/macOS disyorkan). Langkah asas:

# Clone repo dan masuk ke direktori
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

# Pasang dependencies (Python 3.10+ diperlukan)
pip install -r requirements.txt

# Inisialisasi direktori konfigurasi
./hermes init

Hermes akan cipta folder ~/.hermes/ untuk simpan persistent memory (ingatan merentasi sesi) dan konfigurasi. Pastikan anda:

Tip: Gunakan ./hermes config untuk tetapkan pembolehubah persekitaran seperti DISCORD_WEBHOOK atau TELEGRAM_TOKEN.

3. Pecahkan Tugas kepada Langkah-Langkah Atomik

Hermes Agent menggunakan konsep skills (kebolehan) yang boleh digabungkan. Untuk tugasan log server tadi, pecahkan kepada:

Langkah Skill Hermes Yang Digunakan Contoh Command
1. Cari fail log terbaru file_search (cari fail dalam direktori) file_search /var/log/ --pattern "*.log" --modified "24h"
2. Semak ralat dalam log grep (cari teks dalam fail) grep "ERROR" /var/log/app.log
3. Ambil screenshot dashboard browser_control (navigasi + screenshot) browser_control --url "http://dashboard.internal" --action screenshot --output "dashboard.png"
4. Hantar notifikasi ke Discord discord_send (hantar mesej + fail) discord_send --webhook $DISCORD_WEBHOOK --message "Log ralat dikesan!" --file "app.log" --file "dashboard.png"

Nota: Hermes boleh cipta skill baru secara automatik jika skill sedia ada tidak mencukupi. Contohnya, jika anda perlu parse log dalam format JSON, Hermes akan generate skill json_parse_log selepas anda berikan contoh output yang diingini.

4. Tulis Automasi Menggunakan YAML Workflow

Hermes menggunakan fail YAML untuk definisi workflow. Buat fail baru di ~/.hermes/workflows/server_log_check.yaml:

name: Server Log Check
description: Semak log server harian dan hantar notifikasi jika ada ralat
schedule: "0 8 * * *"  # Setiap hari pukul 8 pagi (cron syntax)
steps:
  - name: Cari fail log terbaru
    skill: file_search
    args:
      path: /var/log/
      pattern: "*.log"
      modified: "24h"

  - name: Semak ralat dalam log
    skill: grep
    args:
      pattern: "ERROR"
      file: "{{ steps[0].output[0] }}"  # Output dari langkah 1
    on_success:
      - name: Ambil screenshot dashboard
        skill: browser_control
        args:
          url: "http://dashboard.internal"
          action: screenshot
          output: "dashboard.png"
    on_failure: exit  # Berhenti jika tiada ralat

  - name: Hantar notifikasi ke Discord
    skill: discord_send
    args:
      webhook: "{{ env.DISCORD_WEBHOOK }}"
      message: "Log ralat dikesan dalam 24 jam terakhir!"
      file:
        - "{{ steps[0].output[0] }}"  # Fail log
        - "dashboard.png"             # Screenshot

Penjelasan sintaks:

Tip: Uji workflow secara manual dahulu dengan ./hermes run server_log_check sebelum tetapkan jadual.

5. Uji dan Debug Automasi

Sebelum jadualkan, uji workflow dengan:

# Uji langkah demi langkah
./hermes run server_log_check --dry-run

# Jalankan sepenuhnya (tanpa hantar notifikasi sebenar)
./hermes run server_log_check --no-notify

# Debug dengan log terperinci
./hermes run server_log_check --verbose

Masalah biasa dan penyelesaian:

Masalah Penyelesaian
Skill browser_control gagal ambil screenshot Pastikan URL boleh diakses dari mesin Hermes. Gunakan curl -I http://dashboard.internal untuk semak.
Fail log tidak dijumpai Semak path dengan ls /var/log/. Kemas kini pattern dalam YAML jika perlu.
Notifikasi Discord tidak dihantar Semak pembolehubah DISCORD_WEBHOOK dengan echo $DISCORD_WEBHOOK.

Nota: Hermes akan simpan log automasi di ~/.hermes/logs/. Gunakan tail -f ~/.hermes/logs/server_log_check.log untuk pantau secara real-time.

6. Jadualkan dan Pantau Automasi

Setelah uji berjaya, aktifkan jadual automasi:

# Aktifkan workflow
./hermes schedule add server_log_check

# Semak workflow yang dijadualkan
./hermes schedule list

# Pantau log automasi
./hermes monitor server_log_check

Hermes akan jalankan workflow pada masa yang ditetapkan, walaupun anda tidak log masuk. Untuk tugasan kritikal, anda boleh:

Contoh penambahbaikan: Jika anda perlu semak log di 3 server, ubah YAML untuk gunakan parallel:

steps:
  - name: Semak log di semua server
    parallel:
      - name: Server 1
        skill: ssh_exec
        args:
          host: server1.internal
          command: "grep 'ERROR' /var/log/app.log"
      - name: Server 2
        skill: ssh_exec
        args:
          host: server2.internal
          command: "grep 'ERROR' /var/log/app.log"

7. Skala Automasi dengan Skill Baharu

Hermes boleh cipta skill baru secara automatik berdasarkan contoh. Katakan anda perlu:

Langkah untuk cipta skill baharu:

  1. Beri contoh input/output kepada Hermes:
    # Contoh input (fail log)
    [2023-10-01 10:00:00] ERROR: Database connection failed
    [2023-10-01 10:05:00] INFO: User logged in
    
    # Contoh output yang diingini
    {
      "timestamp": "2023-10-01 10:00:00",
      "level": "ERROR",
      "message": "Database connection failed"
    }
  2. Jalankan arahan untuk cipta skill:
    ./hermes skill create parse_custom_log --example-input "log_sample.txt" --example-output "parsed_log.json"
  3. Hermes akan generate skill parse_custom_log dan simpan di ~/.hermes/skills/. Anda kini boleh guna skill ini dalam workflow:
    steps:
          - name: Parse log tersuai
            skill: parse_custom_log
            args:
              file: "{{ steps[0].output[0] }}"
          - name: Hantar notifikasi jika CRITICAL
            skill: telegram_send
            args:
              token: "{{ env.TELEGRAM_TOKEN }}"
              chat_id: "{{ env.TELEGRAM_CHAT_ID }}"
              message: "⚠️ Ralat kritikal: {{ steps[1].output.message }}"
            condition: "{{ 'CRITICAL' in steps[1].output.level }}"
    

Nota: Skill baharu ini akan disimpan secara persistent dan boleh diguna semula dalam workflow lain.

8. Amalan Terbaik untuk Automasi Hermes

Untuk memastikan automasi anda stabil dan selamat, ikuti panduan ini:

Penutup: Dari Automasi Sederhana ke Sistem Kompleks

Dengan Hermes Agent, anda bukan sekadar mengautomasi tugasan—anda membina sistem yang belajar dan berkembang. Workflow yang kita bina hari ini (semak log → notifikasi) hanyalah permulaan. Bayangkan potensi jika anda:

Langkah seterusnya? Pilih satu tugasan berulang dalam workflow anda dan automatikannya minggu ini. Mulakan dengan sesuatu yang mudah, kemudian skala secara beransur-ansur. Hermes Agent direka untuk berkembang bersama keperluan anda—tanpa vendor lock-in, tanpa telemetri, dan dengan privasi penuh.

Cuba Hermes Agent hari ini dan mulakan perjalanan automasi anda: https://hermes-agent.org

Hermes Agent — open-source, MIT license, percuma untuk kegunaan peribadi dan komersial.

#ai-agent #automasi #hermes #intermediate #open-source
Dasar Privasi  ·  Terma Perkhidmatan  ·  Pendedahan Affiliate  ·  Tentang Kami  ·  Hubungi Kami