Hermes Agent’a Telegram Botu Ekleme

Hermes Agent, Nous Research tarafından geliştirilen açık kaynaklı bir yapay zeka ajanı. Terminalde, masaüstü uygulamasında ve web panelinde çalışıyor; ama bence en kullanışlı hali, onu bir Telegram botuna bağlayıp telefondan konuşabilmek. Sunucunuzda çalışan ajana nerede olursanız olun mesaj atabiliyor, sesli not gönderebiliyor, dosya alıp verebiliyor ve zamanlanmış görevlerin sonuçlarını doğrudan Telegram’a alabiliyorsunuz.
Bu yazıda Hermes Agent’a Telegram botunu adım adım nasıl ekleyeceğinizi anlatıyorum. Ben kendi Ubuntu sunucumda bu kurulumu kullanıyorum; anlattığım her şey resmi dokümantasyona ve gerçek kullanıma dayanıyor.
Gereksinimler
- Kurulu ve çalışan bir Hermes Agent (Linux, macOS, Windows veya WSL)
- Bir model sağlayıcısı (Anthropic, OpenRouter, Nous Portal vb.) ile yapılmış temel kurulum
- Bir Telegram hesabı
Hermes henüz kurulu değilse tek satırla kurabilirsiniz:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
hermes setup
Hızlı yol: QR kod ile kurulum
Hermes’in web paneli (hermes dashboard) veya masaüstü uygulamasında Messaging → Telegram sayfasında bir Create with QR butonu var. QR kodu Telegram ile okuttuğunuzda Hermes botu sizin için oluşturuyor, Telegram kullanıcı ID’nizi algılıyor, gerekli ayarları .env dosyasına yazıyor ve gateway’i yeniden başlatıyor. Arayüze erişiminiz varsa en kolay yol bu. Ben aşağıda, her şeyin ne işe yaradığını görmek için manuel kurulumu anlatacağım.
1. Adım: BotFather ile bot oluşturun
Her Telegram botu, Telegram’ın resmi bot yönetim aracı @BotFather tarafından verilen bir API anahtarına (token) ihtiyaç duyar.
- Telegram’da @BotFather‘ı aratın veya t.me/BotFather adresine gidin.
/newbotkomutunu gönderin.- Bota bir görünen ad verin (örneğin “Hermes Asistan”). Bu istediğiniz herhangi bir şey olabilir.
- Bir kullanıcı adı seçin. Benzersiz olmalı ve
botile bitmeli (örneğinhakan_hermes_bot). - BotFather size şuna benzer bir token verecek:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
Önemli: Bu token’ı kimseyle paylaşmayın. Token’a sahip olan herkes botunuzu kontrol edebilir. Sızdığını düşünüyorsanız BotFather’da /revoke ile hemen iptal edin.
İsteğe bağlı: Botu kişiselleştirin
BotFather’da şu komutlarla botunuzu daha kullanışlı hale getirebilirsiniz:
/setdescription: Sohbet başlamadan önce görünen “Bu bot ne yapar?” metni/setabouttext: Bot profilindeki kısa açıklama/setuserpic: Bot için profil resmi/setcommands: Sohbetteki/menüsü (Hermes bunu gateway açılırken zaten otomatik dolduruyor)
2. Adım: Telegram kullanıcı ID’nizi öğrenin
Hermes, bota kimlerin erişebileceğini sayısal Telegram kullanıcı ID’leriyle kontrol eder. Kullanıcı ID’niz kullanıcı adınız değildir; 123456789 gibi bir sayıdır.
Öğrenmenin en kolay yolu Telegram’da @userinfobot‘a mesaj atmak. Size anında ID’nizi söyler. Bu numarayı bir kenara not edin.
3. Adım: Hermes’i yapılandırın
Seçenek A: Etkileşimli kurulum (önerilen)
hermes gateway setup
Listeden Telegram‘ı seçin. Sihirbaz sizden bot token’ını ve izin verilen kullanıcı ID’lerini ister, ardından ayarları sizin yerinize yazar.
Seçenek B: Manuel yapılandırma
~/.hermes/.env dosyasına şu satırları ekleyin:
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789
Birden fazla kişiye izin vermek isterseniz ID’leri virgülle ayırın: TELEGRAM_ALLOWED_USERS=111111111,222222222
Güvenlik notu: TELEGRAM_ALLOWED_USERS değerini mutlaka ayarlayın. Hermes, bu liste boşsa güvenlik gereği herkesi reddeder. Bu önemli, çünkü bota erişen kişi sunucunuzda komut çalıştırabilen bir ajana erişmiş olur.
Kullanıcı ID’leriyle uğraşmak istemiyorsanız eşleştirme (pairing) yöntemi de var: Tanınmayan bir kullanıcı bota yazdığında tek kullanımlık bir kod alır, siz de sunucuda bu kodu onaylarsınız:
hermes pairing approve telegram XKGH5N7P
hermes pairing list
hermes pairing revoke telegram 123456789
4. Adım: Gateway’i başlatın
Hızlıca denemek için gateway’i ön planda başlatabilirsiniz:
hermes gateway
Bot birkaç saniye içinde çevrimiçi olur. Telegram’dan bota bir mesaj atarak test edin.
Sunucuda kalıcı olarak çalıştırmak (systemd)
Terminali kapattığınızda botun kapanmaması için gateway’i servis olarak kurun:
hermes gateway install # kullanıcı servisi olarak kurar
hermes gateway start
hermes gateway status
# Oturumu kapattıktan sonra da çalışmaya devam etsin:
sudo loginctl enable-linger $USER
VPS veya ekransız (headless) bir sunucuda, açılışta otomatik başlayan bir sistem servisi daha uygundur:
sudo hermes gateway install --system
sudo hermes gateway start --system
Ayarları değiştirdikten sonra hermes gateway restart komutunu kullanın. Bu komut, devam eden işleri bitirip gateway’i düzgünce yeniden başlatır.
5. Adım: Ana kanalı (home channel) ayarlayın
Hermes’in zamanlanmış görevleri (cron) sonuçlarını bir “ana kanala” gönderir. Bunu ayarlamak için bot ile olan sohbetinizde şunu yazmanız yeterli:
/sethome
Artık örneğin “her sabah 9’da sunucu durumunu özetle” gibi bir görev oluşturduğunuzda, sonuç doğrudan Telegram’a gelir.
Günlük kullanımda işe yarayan komutlar
/new: Yeni ve temiz bir sohbet başlatır./model: Butonlu bir menüyle model ve sağlayıcı değiştirmenizi sağlar./model <ad> --globalile seçim kalıcı olur./status: Oturumun durumunu gösterir./help: Tüm komutları listeler.
Ayrıca sesli mesaj gönderdiğinizde Hermes bunu otomatik olarak yazıya çevirir (yerel faster-whisper, Groq veya OpenAI ile). Ajan bir dosya ürettiğinde de bu dosya Telegram’a doğrudan ek olarak gelir.
Grup sohbetlerinde kullanım
Botu bir gruba eklemek istiyorsanız bilmeniz gereken en önemli şey Telegram’ın gizlilik modudur. Varsayılan olarak açıktır ve bot, grupta yalnızca / ile başlayan komutları ve kendisine verilen yanıtları görür.
Tüm mesajları görmesi gerekiyorsa:
- @BotFather’a
/mybotsyazın ve botunuzu seçin. - Bot Settings → Group Privacy → Turn off yolunu izleyin.
- Botu gruptan çıkarıp yeniden ekleyin. Telegram bu ayarı bot gruba katıldığı anda önbelleğe alır.
Alternatif olarak botu grupta yönetici yapabilirsiniz; yönetici botlar her mesajı görür.
Botun grupta her mesaja cevap vermesini istemiyorsanız ~/.hermes/config.yaml dosyasına şunu ekleyin:
telegram:
require_mention: true
Böylece bot yalnızca @botadi ile etiketlendiğinde veya mesajlarına yanıt verildiğinde konuşur.
Sorun giderme
- Bot hiç cevap vermiyor:
TELEGRAM_BOT_TOKENdeğerini kontrol edin ve~/.hermes/logs/gateway.logdosyasındaki hatalara bakın. - Bot “unauthorized” diyor: Kullanıcı ID’niz
TELEGRAM_ALLOWED_USERSlistesinde değil. @userinfobot ile tekrar kontrol edin. - Bot grup mesajlarını görmüyor: Gizlilik modu açık olabilir. Kapatın ve botu gruptan çıkarıp yeniden ekleyin.
- Loglarda “polling conflict” uyarısı ve gecikmeli cevaplar: Aynı bot token’ı ile aynı anda iki gateway çalışıyor demektir. Bu genelde yeniden başlatma sırasında eski oturum açık kaldığında olur ve kısa sürede kendiliğinden düzelir. Kalıcıysa çalışan Hermes süreçlerini kontrol edin ve her token’ı yalnızca tek bir gateway’de kullanın.
- Sesli mesajlar yazıya çevrilmiyor: Yerel çeviri için
faster-whisperkurun ya da.envdosyasınaGROQ_API_KEYekleyin. - Sesli yanıtlar dosya olarak geliyor:
ffmpegkurun (sudo apt install ffmpeg).
Sonuç
Hepsi bu kadar: BotFather’dan bir token alıyorsunuz, kullanıcı ID’nizi öğreniyorsunuz, hermes gateway setup ile ayarları giriyorsunuz ve gateway’i servis olarak başlatıyorsunuz. On dakikadan kısa sürede, sunucunuzda çalışan yapay zeka ajanınızla telefonunuzdan konuşmaya başlayabilirsiniz.
Daha fazla ayrıntı için resmi dokümantasyona göz atabilirsiniz: Hermes Agent Telegram dokümantasyonu.