Dokümantasyon

Dokümantasyon

Hermes Agent

Hermes Agent, hermes model komutu veya config.yaml dosyasına eklenen birkaç satırla her uç noktayı özel sağlayıcı olarak kullanabilir. Kendi başına çalışan bir ajan için bu satırlar işin kısa kısmıdır: bu sayfada ayrıca her bağlantı biçiminde önbellek kesme noktalarını hangi tarafın yerleştirdiği, zamanlanmış görevlerin ve ek işlerin günlük maliyete katkısı ve bir 402 yanıtının tura etkisi ele alınır.

~/.hermes/config.yaml içindeki adlandırılmış bir sağlayıcı — api https://api.kunavo.com, transport anthropic_messages, provider: custom:kunavo ile seçilir — Hermes Agent'ı Messages protokolü üzerinden Claude'a bağlar; Hermes Agent bu bağlantıda kendi önbellek işaretçilerini ve çıktı sınırını gönderir.

~/.hermes/config.yaml
# ~/.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:kunavo
Bu aktarımda api, köken adresidir: https://api.kunavo.com, /v1 yoktur. Hermes'in bu taşıma yöntemi için kullandığı Anthropic SDK'sı /v1/messages'yi kendisi ekler. Hermes'in belgelerine göre Hermes, URL'yi bu SDK'ya iletmeden önce sondaki /v1'i kaldırır; dolayısıyla her iki durumda da doğru biçim köken adresidir. Aşağıdaki OpenAI uyumlu aktarımda ise sonek korunur.
transport: anthropic_messages değerini elle yazmak iyi olur. Hermes, aktarım biçimini URL'den algılayabilir; ancak belgelerinde açıkça belirtilen tek kural, yolun /anthropic ile bitmesidir; bu temel URL'de böyle bir yol yoktur.
prompt_caching: true, bu girişteki model için önbellek işaretçilerini açıkça belirtir; context_length ise katalogdaki pencereyi tanımlar — Claude Sonnet 5 üzerinde sabit ücretle 1.000.000 token. Hermes varsayılan olarak pencerenin yarısına gelindiğinde sıkıştırma yapar; bu büyüklükte bir pencerede bu oldukça geç kalır. Aşağıdaki maliyet bölümünde, sıkıştırmayı daha erken başlatan ayar gösteriliyor.
Henüz anahtarınız yok mu? Bir Kunavo hesabı oluşturun, bir anahtar oluşturun ( sk-kn- ile başlar) ve $10'dan kredi ekleyin — çağrılar bu bakiyeden ödenir ve başarısız çağrılar ücretlendirilmez. Ardından kontrol paneli Hermes Agent kurulumunda açılır.

Adım adım

  1. /app/keys adresinde bir anahtar oluşturup kopyalayın — anahtar yalnızca bir kez gösterilir.
  2. Anahtarı, Hermes'in gizli bilgileri sakladığı yere kaydedin: hermes config set KUNAVO_API_KEY sk-kn-... komutu anahtarı ~/.hermes/.env dosyasına yazar. Bloktaki key_env satırı bu değişkeni belirtir; anahtarın kendisi hiçbir zaman config.yaml dosyasına girmez.
  3. Bloğu ~/.hermes/config.yaml dosyasına ekleyin; dosyayı açmak için hermes config edit komutunu kullanın. Zaten bir model: bölümü varsa default ve provider değerlerini değiştirip geri kalanını bırakın.
  4. İsterseniz yapılandırmayı sihirbaza yazdırın: sohbet oturumunun dışında bir terminalde hermes model komutunu çalıştırın, Custom endpoint (self-hosted / VLLM / etc.) seçeneğini belirleyin ve istemlere yanıt verin: API temel URL'si, anahtar, model adı, API modu ve bağlam uzunluğu.
  5. hermes uygulamasını başlatın ve başlık bilgisini okuyun: model ve bağlam penceresi burada gösterilir; ikisi de bloktaki değerlerle eşleşmelidir.
  6. İki mesaj gönderin ve turların kullandığı değerleri görmek için /usage öğesini açın. Bir oturum içinde modeli değiştirmek için /model custom:kunavo:claude-opus-5-5 kullanın.

Hermes Agent'ın yapay zekâ sağlayıcıları sayfası ile 5 Ekim 2026 tarihinde kontrol edilmiştir. Üçüncü taraf ayarları değişebilir; buradaki alan adı gördüğünüzle artık eşleşmiyorsa yetkili kaynak bu sayfa değil, ilgili sayfadır.

İstemcide hata ayıklamadan önce doğrulayın

Tek bir istek, hatanın uç noktadan mı, anahtardan mı yoksa yapılandırma dosyasından mı kaynaklandığını kesinleştirir. Bu JSON döndürürse aynı temel URL ve anahtar Hermes Agent içinde çalışır.

# 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"}]}'

Alana hangi model kimliği yazılmalı

Her metin modeline model kimliğiyle erişilebilir — güncel liste GET /v1/models, fiyatları içeren katalog ise modeller sayfasında. Ücretler 1 milyon token başına USD cinsindendir; giriş / çıkış.

Model kimliğiKunavo giriş / çıkışHermes Agent içinde kullanım alanı
claude-sonnet-5$1.40 / $7.00ana model — sohbetler, araç döngüleri ve devredilen işler
claude-opus-5-5$2.80 / $14.00uzun veya zor görevler için üst seviye model; models altına ekleyin ve /model ile geçiş yapın
claude-haiku-4-5$0.70 / $3.50yardımcı görevler ve zamanlanmış işler — sıkıştırma, başlıklar, cron.model
claude-fable-5$7.00 / $35.00en üst seviye — ajanı bu modelde bırakmadan önce aşağıdaki tabloyu kullanarak bir günlük maliyeti hesaplayın
Faturalandırma aylık ücret olmadan, ön ödemeli bakiyeden token başına yapılır — faturalandırmaya bakın. Tekrarlanan bağlamda — bir düzenleyicinin veya sohbet istemcisinin gönderdiği içeriğin çoğu budur — istem önbellekleme, faturayı model seçiminden daha fazla değiştirir.

OpenAI uyumlu bağlantı biçimi

Aynı anahtar, /v1/chat/completions üzerinden diğer tüm model ailelerine de erişir. Hermes belgelerinde belirtilen en kısa biçim bunun için yeterlidir — provider: custom ve base_url içeren bir model: bloğu; hermes model komutunun istediği de budur:

~/.hermes/config.yaml
# ~/.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: 1050000

Temel URL'de burada /v1 bulunur; bu, Hermes belgelerinin yerel sunucu örneklerinde kullandığı biçimdir. context_length ise pencere uzunluğunu sabitleyerek Hermes'in bunu algılamasına gerek bırakmaz. Her iki aktarım biçimini aynı anda yapılandırılmış tutmak için bu aktarım biçimine kendine ait adlandırılmış bir giriş verin — transport: chat_completions — ve /model custom:<name>:<model> ile geçiş yapın.

Claude için Anthropic aktarım biçimini tercih edin. Hermes belgelerine göre özel bir OpenAI uyumlu uç noktada Hermes çıktı sınırı uygulamaz; dolayısıyla sunucunun varsayılanı geçerli olur. /v1/chat/completions üzerinde Kunavo, herhangi bir sınır belirtilmeyen bir Claude isteğine 4.096 çıktı token'ı tanır; bu da uzun bir yanıtı veya büyük bir araç çağrısını yarıda keser. Anthropic aktarım biçiminde Hermes, max_tokens değerini kendisi sağlar. Claude'u burada çalıştıracaksanız, adlandırılmış bir girişin extra_body alanı, her sohbet tamamlama isteğine max_tokens gibi bir alan eklemenin belgelenmiş yoludur. Bu aktarım biçiminde Claude için düşünme denetimleri de iletilmez.

Her bağlantı biçiminde istem önbelleğe alma

Anthropic aktarım biçiminde Hermes, önbellek işaretçilerini kendisi ekler. Özel bir sağlayıcı için modelleri yapılandırma sayfasında, yukarıdaki blokta kullanılan ayar belgelenmiştir — modele ait prompt_caching: true — ve yerleşimin aktarım biçimine göre değiştiği belirtilir: anthropic_messages üzerinde protokole özgü bloklar, OpenAI uyumlu aktarım biçiminde ise zarf yerleşimi. Kunavo'nun /v1/messages uç noktası istek gövdesini gönderildiği gibi iletir ve kendisi herhangi bir kesme noktası eklemez; bu aktarım biçiminde dolayısıyla işaretçileri Hermes ekler ya da hiç işaretçi olmaz.

Hermes belgelerinin özel bir uç nokta için açık bırakmış olduğu konu, önbellek girdisinin ömrüdür. prompt_caching.cache_ttl — 5m, 1h veya auto — Anthropic'in kendi API'si, OpenRouter ve Nous Portal üzerinden Claude için belgelenmiştir; diğer uç noktalar hakkında bilgi verilmez. Kunavo, gelen işaretçiyi iletir ve yazma işlemini aynı ücret üzerinden faturalandırır. Bu nedenle sonucu kendi kullanım verilerinizden kontrol edin: on dakikalık aradan sonra gelen bir turda hâlâ önbellek okuması görünüyorsa, bir saatlik girdi tutulmuştur.

OpenAI uyumlu aktarım biçiminde, istem önbelleğe alınacak kadar uzunsa Kunavo Claude modelleri için kesme noktalarını kendisi yerleştirir: sistem istemine, araç tanımlarına ve konuşmanın sonuna. İstemci bir işaretçi gönderse de göndermese de bu uygulanır. GPT modelleri ise sağlayıcıları tarafından örtük olarak önbelleğe alınır.

Kesme noktalarını hangi taraf yerleştirirse yerleştirsin, fatura aynıdır. Claude Sonnet 5 için önbellekten okuma, 1 milyon token başına $0.14; yeni girdi için ücret ise $1.40 tutarındadır. Önbelleğe yazma ücreti $1.75 tutarındadır: Claude'un girdiye uyguladığı yazma farkı. Girdi bir saatlik ömür istese de aynı ücret alınır. Her girdi beş dakika sürer ve her okuma süresini yeniler; bu nedenle bir ajanın ödeyeceği tutar modelden çok, bir sonraki isteğinin bu süre içinde gelip gelmemesine bağlıdır. Her modelin önbellek ücretleri istem önbelleğe alma sayfasında yer alır.

Hermes'te herhangi bir ücret tarifesinden daha yüksek maliyete yol açan bir davranış var: belgelerine göre oturum ortasında model değiştirmek, otomatik olarak bir yedek seçeneğe geçmek veya kimlik bilgilerini yenilemek istem önbelleğini sıfırlar. Böylece sonraki mesaj, konuşmanın tamamını tam giriş fiyatıyla yeniden okur. Uzun bir oturuma başlamadan önce modeli seçin.

Sürekli çalışan bir ajanın günlük maliyeti

Hermes'te kimse yazmıyorken ücretlendirilenler, zamanladığınız işler ile her konuşmanın başlattığı yan görevlerdir. Hermes'in cron belgelerine göre zamanlanmış her çalıştırma yeni bir oturum başlatır; bu nedenle her çalıştırmada istemin tamamı — talimatlar, araç şemaları ve ekli beceriler — için ücret alınır. İstemin boyutu kurulumunuza bağlıdır; bu nedenle tabloda varsayım açıkça belirtilmiştir: her çalıştırmada 20.000 token ve her 30 dakikada bir çalıştırma, yani günde 48 çalıştırma. Her iki değeri de kendi verilerinizle değiştirin.

İş için kullanılan model1 milyon token başına girdi tarifesiGünde 48 çalıştırma
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

Bu tutarı değiştiren üç ayar da Hermes'in kendi belgelerinde yer alır. Zamanlanmış bir iş, işe özel modelini; bu ayarlanmamışsa cron.model modelini; o da ayarlanmamışsa ana modeli kullanır. Dolayısıyla hermes config set cron.model claude-haiku-4-5, modele sabitlenmemiş tüm işleri pahalı katmandan alır. İş betiğinin {"wakeAgent": false} yazdırması, o çalıştırmada modelin kullanılmasını önler; ajansız bir iş de model çağırmaz. Sıkıştırma, başlıklar ve görsel işleme gibi yan görevler ise auxiliary bunları başka bir yere yönlendirmediği sürece ana modeli kullanır:

~/.hermes/config.yaml
# ~/.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-5

Büyük bir pencere söz konusu olduğunda önemli olan ayar threshold_tokens'dır. Sıkıştırma varsayılan olarak bağlam uzunluğunun yarısında başlar; Hermes belgelerine göre bu ayar, tek bir çağrının maliyetine sabit bir üst sınır koymanın yoludur.

Aracının gerçekten çalıştığı saatler faturanın diğer yarısını oluşturur; bu noktada belirleyici olan önbellektir. Her biri 100.000 tokenlık bağlamı yeniden gönderen, buna 2.000 yeni token ekleyen ve 800 çıktı tokenı döndüren 100 ardışık isteği ele alalım. Claude Sonnet 5 için bağlam önbellekten okunurken maliyet yaklaşık $2.31, her istek bağlamı yeni girdi olarak ücretlendirdiğinde ise yaklaşık $14.84 olur. İş aynı, model aynı: fark, kesme noktalarının bulunup bulunmamasına ve isteklerin arasında beş dakikadan az süre geçmesine bağlıdır.

Ölçeği tahminle değil, ölçümle görelim: sürekli çalışan bir aracı bulunan Kunavo hesaplarında, etkin bir günün medyan maliyeti $12.67, 90. yüzdelik dilimdeki bir günün maliyeti ise yaklaşık $163 düzeyindedir. Bunlar, her gün geçerli olan ücretler üzerinden 5 Ekim 2026 tarihine kadar faturalandırılan tutarlardır. Grup küçük olduğundan, bunu aracınız için bir tahmin olarak değil, aralığın genişliğini gösteren bir ölçüm olarak değerlendirin.

Bakiye bittiğinde

Kunavo ön ödemelidir: her çağrı cüzdandaki bakiyeden ödenir ve siz uyurken çalışan bir aracı da siz uyurken bu bakiyeyi tüketir. Cüzdanın karşılayamayacağı bir istek, her iki aktarım biçiminde de HTTP 402 ve insufficient_balance koduyla reddedilir; bu istek için ücret alınmaz. Ret, cüzdan bakiyesi sıfıra inmeden gerçekleşir: her istek için önce en yüksek olası maliyet, yani istem ve üretmesine izin verilen en uzun yanıt rezerve edilir. Bu nedenle aracının istediği çıktı sınırı ne kadar yüksekse çağrıları da o kadar erken reddedilmeye başlar. Hata, ne kadar eksik bakiye olduğunu balance_usd ve needed_usd alanlarında belirtir.

Hermes Agent, sağlayıcı başarısız olduğunda yedek sağlayıcı zincirini kullanır: config.yaml içindeki fallback_providers, hermes fallback ile yönetilir ve her turda denenir. Belgelerinde ana model için hız sınırları, sunucu hataları, kimlik doğrulama hataları ve 404'ler tetikleyici olarak sıralanır; yan görevlerin zincirinde alt sıradaki sağlayıcıya geçişi tetikleyen kapasite hataları arasında HTTP 402 de sayılır. Belgeler, yedek sağlayıcı yapılandırılmadığında bir turun HTTP 402 ile ne yaptığını belirtmez. Sade yorumu esas alın: tur ve onunla birlikte zamanlanmış iş başarısız olur. Yedek sağlayıcıya geçen bir turun boş bir istem önbelleğiyle başladığını da unutmayın.

Denetimsiz çalışan bir ajanın bu duruma düşmesini iki ayar önler; bu ayarlar farklı işlevler görür:

  • Otomatik yükleme, Faturalandırma bölümünde. Kartı bir kez kaydedin ve üç değer belirleyin: bakiye hangi tutarın altına düştüğünde yükleme yapılacağı, her seferinde eklenecek tutar ve aylık üst sınır. Cüzdan, bakiyeyi eşik tutarın altına düşüren bir çağrıdan saniyeler sonra yenilenir. Cüzdan bakiyesi hâlâ yetersizken gelen bir istek, ücretlendirmenin tamamlanmasını bekler ve ardından reddedilmek yerine işleme alınır. Ücret alınamadığında (kartın reddedilmesi veya aylık üst sınıra ulaşılması) ya da tek bir isteğin ayırdığı tutar, yükleme sonrasında cüzdandaki bakiyeyi aştığında 402 yine döner. Otomatik ücretlendirme için kart veya Link gerekir; Alipay, WeChat Pay, Pix ve diğer yerel ödeme yöntemlerinden otomatik olarak ücret alınamaz.
  • API anahtarına aylık bir harcama sınırı, API anahtarları bölümünde. Aracıya kendi API anahtarını verin ve bu anahtarın bir takvim ayında harcayabileceği en yüksek tutarı belirleyin. Bu tutar aşıldığında, diğer anahtarlarınız çalışmaya devam ederken aracının çağrıları 402 ile reddedilir ve ücret alınmaz. Kontrolden çıkan bir döngüye karşı gereken üst sınır budur; cüzdan bunu sağlayamaz, çünkü tüm anahtarlar aynı cüzdandan harcama yapar.

Yükleme eşiğini tek bir isteğin rezerve ettiği tutarın üstünde belirleyin; yüklenecek tutarı da asgari miktara göre değil, ajanınızın bir günlük kullanımına göre ayarlayın: en küçük yükleme tutarı $10, yukarıdaki sürekli çalışan ajanların medyan günlük maliyeti ise $12.67. Otomatik bakiye yüklemenin sınırları faturalandırma sayfasında, hata yanıtının tamamı ise hatalar sayfasında açıklanmıştır.

Sık sorulan sorular

Hermes Agent'a özel uç noktayı nasıl eklerim?

hermes model komutunu herhangi bir sohbet oturumunun dışında, terminalden çalıştırın ve "Custom endpoint (self-hosted / VLLM / etc.)" seçeneğini belirleyin: önce API temel URL'sini, API anahtarını ve model adını, ardından API modunu ve bağlam uzunluğunu sorar; sonucu ~/.hermes/config.yaml dosyasına kaydeder. İsterseniz bunu elle de yazabilirsiniz: provider: custom ve base_url içeren bağımsız bir model: bölümü ya da api, key_env ve transport alanlarını içeren providers: altındaki adlandırılmış bir girdi kullanıp provider: custom:<name> ile seçebilirsiniz. Bir oturum içindeki /model komutu yalnızca önceden tanımlı sağlayıcılar arasında geçiş yapar.

Hermes Agent'ın temel URL'sinde /v1 bulunmalı mı?

Taşıma yöntemine bağlıdır. OpenAI uyumlu bir uç nokta için (chat_completions taşıma yöntemi) temel URL'deki sonek korunur; bu, Hermes'in sağlayıcılar sayfasında yerel sunucu örnekleri için kullandığı biçimdir — Kunavo için https://api.kunavo.com/v1. Anthropic uyumlu bir uç nokta için (anthropic_messages taşıma yöntemi) köken adresini yazın — https://api.kunavo.com — çünkü Anthropic SDK'sı /v1/messages yolunu kendisi ekler. Hermes'in Microsoft Foundry kılavuzuna göre Hermes, URL'yi bu SDK'ya iletmeden önce sondaki /v1'i kaldırır; dolayısıyla bu kaldırma işlemi yapılsa da yapılmasa da köken adresi doğru biçimdir.

Hermes Agent'ta özel bir uç nokta üzerinden istem önbelleğe alma çalışır mı?

Evet. Hermes, özel sağlayıcı girdileri için model başına prompt_caching: true ayarını belgeler ve işaretçi düzeninin yapılandırılan bağlantı biçimini izlediğini belirtir: anthropic_messages üzerinde protokole özgü bloklar, OpenAI uyumlu bağlantı biçiminde kapsayıcı düzen. Her Claude kimliği için bu ayarı tanımlamak, davranışı algılamaya bırakmak yerine açık hale getirir. Kunavo'nun OpenAI uyumlu uç noktasında ağ geçidi de Claude modelleri için kesme noktalarını kendisi yerleştirir; bu nedenle istemci hiç işaretçi göndermese bile chat completions yapılandırması önbelleğe alır.

Hermes Agent'ta context_length ne işe yarar?

Bu, Hermes'in model için varsaydığı toplam bağlam penceresidir — girdi ve çıktı birlikte — ve Hermes bunu geçmişi ne zaman sıkıştıracağına karar vermek için kullanır. model: altında ayarlanırsa Hermes'in başka yollarla algılayacağı tüm değerlerin önüne geçen sabit bir değer olur; providers.<name>.models.<id> altında ayarlanırsa o sağlayıcıdaki söz konusu model için geçerli olur. Penceresi çok büyük bir model için maliyet üzerinde etkili ayar farklıdır: compression.threshold_tokens, sıkıştırmanın pencerenin yarısında değil mutlak bir token sayısına ulaşıldığında başlamasını sağlar.

Hermes Agent'ı gün boyunca çalıştırmanın maliyeti ne kadar?

Üç şeyi hesaba katın. Zamanlanmış işler: Her cron çalıştırması yeni bir oturum başlatır ve isteminin tamamı için ücretlendirilir. Günde 48 çalıştırmanın her birinde 20.000 token kullanıldığı varsayılırsa, Kunavo'nun girdi ücretine göre Claude Sonnet 5 modelinde günlük maliyet yaklaşık $1.34, Claude Haiku 4.5 modelinde ise yaklaşık $0.67 olur. Yardımcı görevler: Sıkıştırma, başlıklar ve görsel işleme, yardımcı ayarlar bunları başka bir modele yönlendirmediği sürece ana modeli kullanır. Bir de konuşmanın kendisi vardır: Turlar arasında beş dakikadan az süre olduğunda çoğunlukla önbellek okumaları yapılır; daha uzun bir aradan, model değişikliğinden veya yedek modele geçişten sonra ise bağlamın tamamı yeniden okunur.

API bakiyesi tükendiğinde Hermes Agent'a ne olur?

Kunavo, isteği HTTP 402 ile reddeder ve bu istek için ücret almaz. Hermes, başarısız olan bir sağlayıcıya fallback_providers içindeki yedek sağlayıcı zinciriyle yanıt verir; bu sağlayıcılar config.yaml dosyasında tanımlanır ve her turda sırayla denenir. Yedeğe geçen bir tur, diğer sağlayıcıda soğuk bir istem önbelleğiyle başlar. Yedek sağlayıcı yapılandırılmamışsa turun veya zamanlanmış işin başarısız olacağını varsayın. Kunavo tarafındaki iki ayar, aracının bu duruma gelmesini önler: otomatik bakiye yükleme, cüzdan azaldığında kayıtlı karttan ücret alır; böylece reddedilecek bir istek işleme alınır. Aracının kendi anahtarına uygulanan aylık limit ise kontrolsüz bir döngünün harcayabileceği tutarı sınırlar.