Dokumentasi
Hermes Agent
Hermes Agent menerima endpoint apa pun sebagai penyedia khusus, melalui hermes model atau beberapa baris dalam config.yaml. Untuk agen yang berjalan sendiri, baris konfigurasi hanyalah bagian singkatnya: halaman ini juga membahas pihak yang menempatkan titik pemisah cache pada tiap protokol, tambahan biaya harian dari pekerjaan terjadwal dan tugas pendukung, serta dampak respons 402 terhadap suatu giliran.
Penyedia bernama di ~/.hermes/config.yaml — api https://api.kunavo.com, transport anthropic_messages, dipilih dengan provider: custom:kunavo — menghubungkan Hermes Agent ke Claude melalui protokol Messages, dengan penanda cache dan batas output yang dikirimnya sendiri.
# ~/.hermes/config.yaml
providers:
kunavo:
api: https://api.kunavo.com # origin — the Anthropic SDK adds /v1/messages
key_env: KUNAVO_API_KEY # the variable's NAME; the key goes in ~/.hermes/.env
transport: anthropic_messages
models:
claude-sonnet-5:
context_length: 1000000
prompt_caching: true
claude-haiku-4-5:
context_length: 200000
prompt_caching: true
model:
default: claude-sonnet-5
provider: custom:kunavoapi adalah origin — https://api.kunavo.com, tanpa /v1. SDK Anthropic yang digunakan Hermes untuk transport ini menambahkan /v1/messages sendiri, dan dokumentasi Hermes menyebutkan bahwa Hermes menghapus /v1 di akhir sebelum meneruskan URL ke SDK tersebut, jadi format origin tetap benar dalam kedua kasus. Jalur yang kompatibel dengan OpenAI, di bawah ini, adalah jalur yang tetap menyertakan sufiks.transport: anthropic_messages sebaiknya ditulis secara manual. Hermes dapat mendeteksi protokol dari URL, tetapi satu-satunya aturan yang dijelaskan dalam dokumentasinya adalah jalur yang diakhiri dengan /anthropic, yang tidak terdapat pada URL dasar ini.prompt_caching: true secara eksplisit mengaktifkan penanda cache untuk model tersebut pada entri ini, sedangkan context_length adalah jendela konteks dalam katalog — 1.000.000 token pada Claude Sonnet 5, dengan tarif tetap. Secara default, Hermes melakukan kompresi pada setengah ukuran jendela. Untuk jendela sebesar ini, waktunya terlalu lambat; bagian biaya di bawah menunjukkan pengaturan untuk memajukannya.sk-kn-) dan tambahkan kredit mulai dari $10 — panggilan dibayar dari saldo tersebut, dan panggilan yang gagal tidak ditagihkan. Dasbor kemudian terbuka pada penyiapan Hermes Agent.Langkah demi langkah
- Buat key di
/app/keysdan salin — key hanya ditampilkan sekali. - Simpan kunci di tempat Hermes menyimpan rahasia:
hermes config set KUNAVO_API_KEY sk-kn-...menuliskannya ke~/.hermes/.env. Bariskey_envdalam blok merujuk ke variabel itu; kuncinya sendiri tidak pernah dimasukkan keconfig.yaml. - Tambahkan blok ke
~/.hermes/config.yaml—hermes config editakan membukanya. Jika bagianmodel:sudah ada, ganti nilaidefaultdanprovider, lalu biarkan bagian lainnya. - Atau biarkan wizard menuliskannya: jalankan
hermes modeldi terminal, di luar sesi chat mana pun, pilih Custom endpoint (self-hosted / VLLM / etc.), lalu jawab pertanyaannya — base URL API, kunci, nama model, mode API, dan panjang konteks. - Jalankan
hermesdan baca banner: model beserta jendela konteksnya ditampilkan di sana, dan keduanya harus sesuai dengan blok. - Kirim dua pesan, lalu buka
/usageuntuk melihat penggunaan pada kedua giliran. Untuk mengganti model di dalam sesi, gunakan/model custom:kunavo:claude-opus-5-5.
Diperiksa terhadap Halaman penyedia AI Hermes Agent pada 5 Oktober 2026. Pengaturan pihak ketiga dapat berubah; jika nama bidang di sini tidak lagi sama dengan yang Anda lihat, halaman tersebut adalah acuan, bukan halaman ini.
Verifikasi sebelum men-debug klien
Satu permintaan menentukan apakah masalahnya ada pada endpoint, kunci, atau berkas konfigurasi. Jika ini mengembalikan JSON, base URL dan kunci yang sama berfungsi di Hermes Agent.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/messages \
-H "Authorization: Bearer sk-kn-..." \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'ID model yang harus dimasukkan ke bidang
Setiap model teks dapat diakses melalui ID model — daftar terkininya ada di GET /v1/models, dan katalog beserta harga ada di halaman model. Tarif dalam USD per 1 juta token, input / output.
| ID model | Kunavo masuk / keluar | Kegunaannya di Hermes Agent |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | model utama — percakapan, loop alat, dan pekerjaan yang didelegasikan |
claude-opus-5-5 | $2.80 / $14.00 | pilihan yang lebih kuat untuk tugas panjang atau sulit; tambahkan di bawah models dan beralih dengan /model |
claude-haiku-4-5 | $0.70 / $3.50 | tugas tambahan dan pekerjaan terjadwal — pemadatan, judul, cron.model |
claude-fable-5 | $7.00 / $35.00 | kelas teratas — hitung biaya sehari dengannya menggunakan tabel di bawah sebelum membiarkan agen terus berjalan dengannya |
Protokol yang kompatibel dengan OpenAI
Kunci yang sama dapat mengakses semua keluarga model lainnya melalui /v1/chat/completions, dan untuk itu, format terdokumentasi Hermes yang paling ringkas sudah cukup — blok model: dengan provider: custom dan base_url, yang juga diminta oleh hermes model:
# ~/.hermes/config.yaml — the bare form, for an OpenAI-compatible endpoint
model:
default: gpt-6-sol
provider: custom
base_url: https://api.kunavo.com/v1 # this wire keeps /v1
key_env: KUNAVO_API_KEY
context_length: 1050000URL dasar tetap menyertakan /v1 di sini, yaitu format yang digunakan dokumentasi Hermes untuk contoh server lokalnya, dan context_length menetapkan ukuran jendela agar Hermes tidak perlu mendeteksinya. Agar kedua koneksi dapat dikonfigurasi sekaligus, berikan entri bernama tersendiri untuk koneksi ini — transport: chat_completions — lalu beralih dengan /model custom:<name>:<model>.
/v1/chat/completions, Kunavo menetapkan batas output sebesar 4.096 token untuk permintaan Claude yang tidak menyebutkan batas, sehingga balasan panjang atau pemanggilan alat yang besar terpotong. Pada protokol Anthropic, Hermes menetapkan max_tokens sendiri. Jika Anda tetap menggunakan Claude di sini, extra_body pada entri bernama adalah cara yang didokumentasikan untuk menambahkan field seperti max_tokens ke setiap permintaan chat-completions. Kontrol pemikiran juga tidak diteruskan untuk Claude melalui protokol ini.Caching prompt pada tiap protokol
Pada koneksi Anthropic, Hermes memasang penanda cache sendiri. Untuk penyedia kustom, halaman konfigurasi model mendokumentasikan pengaturan yang digunakan pada blok di atas — prompt_caching: true pada model — dan menyebutkan bahwa tata letaknya mengikuti jenis koneksi: blok native pada anthropic_messages, tata letak envelope pada koneksi yang kompatibel dengan OpenAI. /v1/messages Kunavo meneruskan isi permintaan sebagaimana dikirim dan tidak menambahkan breakpoint sendiri, jadi pada koneksi ini penandanya berasal dari Hermes atau tidak ada.
Dokumentasi Hermes tidak menjelaskan masa berlaku untuk endpoint kustom. prompt_caching.cache_ttl — 5m, 1h atau auto — diuraikan untuk Claude melalui Anthropic API native, OpenRouter, dan Nous Portal, tetapi tidak ada keterangan tentang endpoint lain. Kunavo meneruskan penanda apa pun yang diterima dan menagihkan penulisan dengan tarif yang sama, jadi periksa penggunaan Anda sendiri untuk mengetahui jawabannya: jika giliran setelah jeda sepuluh menit masih menunjukkan pembacaan cache, berarti entri satu jam masih tersimpan.
Pada koneksi yang kompatibel dengan OpenAI, Kunavo sendiri menempatkan breakpoint untuk model Claude — pada prompt sistem, definisi alat, dan akhir percakapan — setelah prompt cukup panjang untuk di-cache, terlepas dari apakah klien mengirimkan penanda. Model GPT di-cache secara implisit oleh penyedianya.
Pihak mana pun yang menempatkan titik pemisah, tagihannya tetap sama. Pada Claude Sonnet 5, pembacaan cache dikenai biaya $0.14 per 1M token, dibandingkan $1.40 untuk input baru, dan penulisan cache dikenai biaya $1.75 — premi penulisan yang dikenakan Claude di atas input, dengan tarif yang sama saat entri meminta masa berlaku satu jam. Entri berlaku selama lima menit dan setiap pembacaan memperbarui masa berlakunya, jadi biaya yang dibayar agen lebih ditentukan oleh apakah permintaan berikutnya tiba dalam jangka waktu itu daripada oleh modelnya. Tarif cache setiap model tercantum di halaman caching prompt.
Satu perilaku Hermes dapat menimbulkan biaya yang lebih besar daripada perbedaan tarif apa pun: dokumentasinya menyebutkan bahwa pergantian model di tengah sesi, fallback otomatis, atau rotasi kredensial akan mengatur ulang cache prompt, sehingga pesan berikutnya membaca ulang seluruh percakapan dengan tarif input penuh. Pilih model sebelum memulai sesi yang panjang.
Biaya harian agen yang selalu aktif
Di Hermes, biaya saat tidak ada yang mengetik mencakup apa pun yang Anda jadwalkan, ditambah tugas sampingan yang dipicu oleh setiap percakapan. Menurut dokumentasi cron, setiap eksekusi terjadwal memulai sesi baru, sehingga seluruh prompt—instruksi, skema alat, dan skill terlampir—ditagihkan setiap kali dijalankan. Ukuran prompt bergantung pada konfigurasi Anda, jadi tabel ini menyatakan asumsi secara eksplisit: 20.000 token per eksekusi dan satu eksekusi setiap 30 menit, sebanyak 48 per hari. Ganti keduanya dengan angka Anda sendiri.
| Model untuk pekerjaan | Tarif input per 1 juta token | 48 eksekusi per hari |
|---|---|---|
claude-haiku-4-5 | $0.70 | $0.67 |
claude-sonnet-5 | $1.40 | $1.34 |
claude-opus-5-5 | $2.80 | $2.69 |
claude-fable-5 | $7.00 | $6.72 |
Tiga pengaturan dapat mengubah angka tersebut, semuanya berdasarkan dokumentasi Hermes sendiri. Pekerjaan terjadwal menggunakan model yang ditetapkan untuk pekerjaan itu; jika tidak ada, menggunakan cron.model; jika tidak ada juga, menggunakan model utama — jadi hermes config set cron.model claude-haiku-4-5 memindahkan setiap pekerjaan yang modelnya tidak ditetapkan secara eksplisit dari tingkat model yang mahal. Skrip pekerjaan yang mencetak {"wakeAgent": false} melewati model untuk eksekusi tersebut, dan pekerjaan tanpa agen tidak memanggil model. Tugas sampingan — kompresi, judul, dan pemrosesan visi — menggunakan model utama kecuali auxiliary mengarahkannya ke tempat lain:
# ~/.hermes/config.yaml — what decides the cost of an unattended day
compression:
threshold_tokens: 256000 # compact here, not at half of a 1M window
auxiliary:
compression:
provider: kunavo # the named entry above
model: claude-haiku-4-5 # summaries on the cheapest tier
title_generation:
provider: kunavo
model: claude-haiku-4-5threshold_tokens adalah pengaturan yang penting untuk jendela konteks besar. Secara default, pemadatan dimulai pada setengah panjang konteks, dan dokumentasi Hermes menyebutkan bahwa pengaturan ini menetapkan batas tetap untuk biaya setiap pemanggilan.
Jam-jam ketika agen benar-benar bekerja adalah separuh tagihan lainnya, dan di sinilah cache menentukan biayanya. Ambil 100 permintaan berurutan, masing-masing mengirim ulang konteks 100.000 token dengan tambahan 2.000 token baru, lalu menghasilkan 800 token keluaran. Dengan Claude Sonnet 5, biayanya sekitar $2.31 saat konteks dibaca dari cache, dan sekitar $14.84 ketika setiap permintaan menagihnya sebagai input baru. Pekerjaannya sama, modelnya sama: perbedaannya terletak pada ada tidaknya breakpoint dan jarak antarpermintaan yang kurang dari lima menit.
Sebagai gambaran skala, berdasarkan pengukuran, bukan asumsi: di antara akun Kunavo yang menjalankan agen selalu aktif, biaya hari aktif median adalah $12.67 dan biaya hari persentil ke-90 sekitar $163. Jumlah tersebut ditagihkan hingga 5 Oktober 2026, dengan tarif yang berlaku pada masing-masing hari. Jumlah sampelnya kecil, jadi pahami ini sebagai rentang, bukan prakiraan untuk agen Anda.
Saat saldo habis
Kunavo menggunakan sistem prabayar: setiap panggilan dibayar dari dompet, dan agen yang bekerja saat Anda tidur akan mengurasnya selama Anda tidur. Permintaan yang tidak dapat ditanggung oleh saldo dompet ditolak dengan HTTP 402 dan kode insufficient_balance, pada kedua protokol, dan tidak dikenai biaya. Penolakan terjadi sebelum saldo dompet mencapai nol: setiap permintaan terlebih dahulu mencadangkan biaya maksimum, yaitu prompt ditambah balasan terbesar yang diizinkan untuk dihasilkan. Karena itu, semakin besar batas keluaran yang diminta agen, semakin cepat panggilannya mulai ditolak. Error tersebut menyebutkan kekurangan saldo dalam balance_usd dan needed_usd.
Respons Hermes Agent terhadap kegagalan penyedia adalah rantai fallback: fallback_providers di config.yaml, dikelola dengan hermes fallback dan dicoba dari satu giliran ke giliran berikutnya. Dokumentasinya mencantumkan batas laju, kesalahan server, kegagalan autentikasi, dan 404 sebagai pemicu untuk model utama, serta menyebut HTTP 402 sebagai salah satu kesalahan kapasitas yang mengalihkan tugas sampingan ke penyedia berikutnya dalam rantainya; dokumentasi itu tidak menjelaskan apa yang terjadi pada giliran yang mengalami 402 jika tidak ada fallback yang dikonfigurasi. Anggap saja makna harfiahnya yang berlaku — giliran tersebut gagal, begitu pula pekerjaan terjadwal yang memuatnya — dan ingat bahwa giliran yang beralih ke fallback dimulai dengan cache prompt kosong.
Ada dua pengaturan yang mencegah agen tanpa pengawasan mengalami kondisi itu, dan fungsinya berbeda:
- Isi ulang otomatis, di bawah Tagihan. Simpan kartu sekali dan atur tiga angka: ambang saldo yang memicu isi ulang ketika saldo turun di bawahnya, jumlah yang ditambahkan setiap kali, dan batas bulanan. Setelah panggilan API membuat saldo turun di bawah ambang tersebut, saldo dompet akan terisi kembali dalam hitungan detik. Permintaan yang masuk saat saldo dompet masih kurang akan menunggu hingga tagihan tersebut diproses, lalu dilayani alih-alih ditolak.
402tetap dikembalikan jika tagihan tidak dapat diproses — kartu ditolak atau batas bulanan tercapai — maupun jika satu permintaan mencadangkan jumlah yang melebihi saldo dompet setelah isi ulang. Fitur ini memerlukan kartu atau Link — Alipay, WeChat Pay, Pix, dan metode pembayaran lokal lainnya tidak dapat ditagih secara otomatis. - Batas bulanan untuk kunci, di bawah Kunci API. Berikan kunci tersendiri kepada agen dan tetapkan jumlah maksimum yang dapat dibelanjakan oleh kunci tersebut dalam satu bulan kalender. Setelah melewati jumlah itu, panggilannya akan ditolak dengan
402dan tidak ada biaya yang dikenakan, sementara kunci Anda yang lain tetap berfungsi. Batas inilah yang diperlukan untuk menahan loop yang berjalan tanpa kendali, dan tidak dapat disediakan oleh dompet karena semua kunci menggunakan dompet yang sama.
Tetapkan ambang isi ulang di atas jumlah yang dicadangkan untuk satu permintaan, dan tentukan jumlah isi ulang berdasarkan kebutuhan agen selama sehari, bukan jumlah minimum: isi ulang terkecil adalah $10, sedangkan biaya harian median agen selalu aktif di atas adalah $12.67. Batas isi ulang otomatis dijelaskan di halaman penagihan, dan seluruh isi badan kesalahan tercantum di halaman kesalahan.
Panduan terkait
- API kustom Hermes Agent — alasan penyedia keluar bukan server API masuk, penjelasan tentang kolom transport, dan pemeriksaan yang perlu dilakukan pada panggilan pertama.
- Harga Hermes Agent — biaya menjalankannya di luar tarif token.
- Kompresi konteks Hermes mengalami timeout — arti kesalahan saat peringkas macet dan cara memulihkannya.
- Hermes vs OpenClaw — serta pengaturan yang sama untuk agen lainnya, di halaman OpenClaw.
Pertanyaan umum
Bagaimana cara menambahkan endpoint khusus ke Hermes Agent?
Jalankan hermes model dari terminal, di luar sesi obrolan apa pun, lalu pilih "Custom endpoint (self-hosted / VLLM / etc.)": Anda akan diminta memasukkan URL dasar API, kunci API, dan nama model, lalu mode API dan panjang konteks. Hasilnya disimpan ke ~/.hermes/config.yaml. Anda juga dapat menuliskannya secara manual—sebagai bagian model: tersendiri, dengan provider: custom dan base_url, atau sebagai entri bernama di bawah providers: dengan api, key_env, dan transport, yang dipilih menggunakan provider: custom:<name>. Perintah /model di dalam sesi hanya dapat beralih di antara penyedia yang sudah ada.
Apakah base URL Hermes Agent perlu menyertakan /v1?
Bergantung pada transport yang digunakan. Untuk endpoint yang kompatibel dengan OpenAI (transport chat_completions), URL dasar tetap menyertakan sufiks, sesuai format yang digunakan halaman penyedia Hermes untuk contoh server lokalnya — untuk Kunavo, https://api.kunavo.com/v1. Untuk endpoint yang kompatibel dengan Anthropic (transport anthropic_messages), tuliskan origin — https://api.kunavo.com — karena SDK Anthropic menambahkan /v1/messages sendiri. Panduan Microsoft Foundry Hermes menyebutkan bahwa Hermes menghapus /v1 di akhir sebelum meneruskan URL ke SDK tersebut, jadi format origin tetap benar dalam kedua kasus.
Apakah caching prompt berfungsi di Hermes Agent melalui endpoint khusus?
Ya. Hermes mendokumentasikan pengaturan prompt_caching: true per model untuk entri penyedia khusus, dan menyebutkan bahwa tata letak penanda mengikuti transport yang dikonfigurasi: blok native pada anthropic_messages, dan tata letak amplop pada protokol yang kompatibel dengan OpenAI. Mencantumkannya untuk setiap ID Claude akan memperjelas perilakunya, tanpa bergantung pada deteksi otomatis. Pada endpoint Kunavo yang kompatibel dengan OpenAI, gateway juga menempatkan titik pemisah untuk model Claude sendiri, sehingga konfigurasi chat-completions tetap menggunakan cache meskipun klien tidak mengirim penanda.
Apa fungsi context_length di Hermes Agent?
Ini adalah keseluruhan jendela konteks yang diasumsikan Hermes untuk model — gabungan input dan output — dan digunakan Hermes untuk menentukan kapan riwayat perlu dipadatkan. Jika ditetapkan di bawah model:, nilainya menjadi pengaturan tetap yang mengesampingkan semua deteksi otomatis Hermes. Jika ditetapkan di bawah providers.<name>.models.<id>, nilainya berlaku untuk model tersebut pada penyedia itu. Untuk model dengan jendela sangat besar, pengaturan untuk mengendalikan biaya tersedia secara terpisah: compression.threshold_tokens memulai pemadatan pada jumlah token absolut, bukan pada setengah ukuran jendela.
Berapa biaya untuk menjalankan Hermes Agent seharian?
Hitung tiga hal. Tugas terjadwal: setiap proses cron memulai sesi baru dan menagih seluruh prompt-nya — 48 proses per hari dengan asumsi masing-masing menggunakan 20.000 token biayanya sekitar $1.34 per hari pada Claude Sonnet 5 dengan tarif input Kunavo, dan sekitar $0.67 pada Claude Haiku 4.5. Tugas sampingan: kompresi, judul, dan visi menggunakan model utama kecuali pengaturan tambahan mengarahkannya ke model lain. Lalu percakapannya sendiri, yang sebagian besar berupa pembacaan cache saat jeda antar giliran kurang dari lima menit, dan pembacaan ulang penuh setelah jeda lebih lama, pergantian model, atau failover.
Apa yang terjadi pada Hermes Agent saat saldo API habis?
Kunavo menolak permintaan dengan HTTP 402 dan tidak mengenakan biaya. Hermes menangani penyedia yang gagal dengan rantai fallback—fallback_providers di config.yaml, yang dicoba bergiliran pada setiap giliran—dan giliran yang beralih ke penyedia lain akan memulai dengan cache prompt yang dingin di penyedia tersebut. Jika fallback tidak dikonfigurasi, bersiaplah menghadapi kegagalan pada giliran tersebut atau pada tugas terjadwal. Dua pengaturan di sisi Kunavo membantu mencegah agen sampai pada kondisi itu: isi ulang otomatis menagih kartu yang tersimpan saat saldo dompet menipis, sehingga permintaan yang seharusnya ditolak tetap dilayani; dan batas bulanan pada kunci milik agen membatasi pengeluaran akibat loop yang berjalan tanpa kendali.