Gunakan Hermes sebagai Library Python
Gunakan Hermes sebagai Library Python — panduan mudah dipahami berdasarkan dokumentasi resmi
Bayangkan Hermes sebagai asisten robot yang ramah, yang bisa kamu suruh-suruh dengan kode Python biasa — tanpa perlu belajar bahasa baru atau mengklik-klik dashboard yang rumit.
Apa Maksudnya “Digunakan sebagai Library”?
Biasanya, kamu berkomunikasi dengan Hermes melalui jendela obrolan. Tetapi ketika kamu menggunakannya sebagai library Python, kamu menulis skrip Python yang memberi tahu Hermes apa yang harus dilakukan. Ini sangat cocok untuk mengotomatiskan tugas-tugas berulang seperti memperbaiki kode, menjalankan tes, atau membersihkan file.
Perintah Pertamamu: Mencari dan Menambal
Katakanlah kamu punya proyek besar dengan panggilan API lama yang perlu diperbarui. Alih-alih membuka setiap file secara manual, kamu bisa menulis skrip yang menemukan dan memperbaikinya sekaligus:
# Temukan semua file Python yang menggunakan API usang dan perbaiki
matches = search_files("old_api_call", path="src/", file_glob="*.py")
fixed = 0
for match in matches.get("matches", []):
result = patch(
path=match["path"],
old_string="old_api_call(",
new_string="new_api_call(",
replace_all=True
)
if "error" not in str(result):
fixed += 1
print(f"Fixed {fixed} files out of {len(matches.get('matches', []))} matches")
Begini yang terjadi: Hermes mencari setiap file .py di src/, menemukan old_api_call(, dan menggantinya dengan new_api_call(. Kamu baru saja menghemat waktu berjam-jam kerja manual.
Menjalankan Tes dan Mendapatkan Laporan
Mau tahu apakah kode kamu benar-benar berfungsi? Kamu bisa menjalankan rangkaian tes dan mendapatkan ringkasan yang rapi:
from hermes_tools import terminal, read_file
import json
# Jalankan tes, parse hasilnya, dan buat laporan
result = terminal("cd /project && python -m pytest --tb=short -q 2>&1", timeout=120)
output = result.get("output", "")
# Parse output tes
passed = output.count(" passed")
failed = output.count(" failed")
errors = output.count(" error")
report = {
"passed": passed,
"failed": failed,
"errors": errors,
"exit_code": result.get("exit_code", -1),
"summary": output[-500:] if len(output) > 500 else output
}
print(json.dumps(report, indent=2))
Skrip ini menjalankan tes kamu, menghitung berapa yang lulus atau gagal, dan mencetak laporan JSON yang rapi. Kamu bahkan bisa mengirim laporan ini ke timmu secara otomatis melalui email.
Dua Cara untuk Menjalankan Kode-mu
Hermes memberimu dua “mode” untuk menjalankan skrip:
-
Mode Proyek (default): Skrip kamu berjalan di folder proyekmu, menggunakan lingkungan Python yang sudah kamu miliki. Ini paling baik untuk pekerjaan sehari-hari — kamu bisa
import pandasatau membaca file dengan path relatif seperti biasa. -
Mode Ketat: Skrip kamu berjalan di folder terpisah dan terisolasi dengan Python milik Hermes sendiri. Gunakan ini saat kamu menginginkan reproduktifitas maksimal — seperti saat kamu berbagi skrip dengan orang lain dan ingin memastikan skrip itu berjalan sama di mana pun.
Kamu bisa mengganti mode di file konfigurasi:
# ~/.hermes/config.yaml
code_execution:
mode: project # atau "strict"
Keamanan Tetap Utama (Bahkan Saat Coding)
Jangan khawatir tentang keamanan — Hermes sangat berhati-hati. Di kedua mode, dia akan:
- Menghapus API key dan kata sandi dari lingkungan skrip kamu
- Memblokir skrip agar tidak memanggil alat Hermes lain secara rekursif
- Membatasi berapa lama skrip bisa berjalan (maksimal 5 menit) dan berapa banyak output yang bisa dicetak
Kesimpulan dan Tips Pro
Menggunakan Hermes sebagai library Python mengubah tugas-tugas membosankan menjadi skrip satu baris. Mulailah dari yang kecil: pilih satu tugas berulang (seperti mengganti nama variabel atau menjalankan tes) dan otomatiskan.
Tips praktis: Selalu uji skrip kamu pada salinan proyekmu terlebih dahulu, bukan yang asli. Dengan begitu, jika ada yang salah, kamu tidak merusak apa pun. Setelah kamu yakin, jalankan pada proyek yang sebenarnya. Selamat mengotomatisasi!
📖 Dokumentasi resmi
この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › developer-guide/programmatic-integration