Sparround

Webhook-lar və hadisə hook-ları

Cron vaxta görə işə düşür. Amma işlərin çoxu vaxta yox, hadisəyə bağlıdır: PR açıldı, ödəniş uğursuz oldu, monitorinq siqnal verdi. Bunun üçün iki fərqli mexanizm var və onları qarışdırmaq asandır:

  • Webhook — kənardan gələn HTTP sorğusu agenti işə salır (hermes webhook)
  • Hook — agentin öz həyat dövrünün müəyyən nöqtəsində sənin kodun işə düşür (hermes hooks)

Birincisi "nə vaxt işləsin" sualına, ikincisi "işləyərkən nə baş versin" sualına cavabdır.

MeyarWebhookHook
İstiqamətKənardan içəriDaxildə, icra zamanı
TetikləyənKənar sistemin HTTP sorğusuAgentin həyat dövrünün nöqtəsi
Tipik istifadəCI bitdi, ticket açıldı, alert gəldiLoglama, bildiriş, guardrail
Əsas təhlükəsizlik sualıBu endpoint-i kim çağıra bilər?Nəyi bloklaya bilir?

Hook-lar ən az tanınan, amma şirkət mühitində ən dəyərli mexanizmdir: onlar agentin həyat dövrünün nöqtələrinə sənin kodunu qoşur — loglama, xəbərdarlıq, xarici webhook çağırışı və guardrail üçün. Yəni "bu agent nə etdi?" sualına audit cavabını hook-larla qururlar.

Diqqət: hook agentin nəzarətindən kənar, sənin nəzarətindəki koddur. Bu, onu təhlükəsizlik siyasətini tətbiq etmək üçün doğru yer edir — model onu "danışıqla" keçə bilmir.

Webhook qurarkən birinci sual həmişə eynidir: bu endpoint-i kim çağıra bilər? Agenti işə salan hər hansı HTTP sorğusu, faktiki olaraq, agentə tapşırıq verməkdir. Yəni webhook-un girişi etibarsız məlumatdır — orada gələn mətn əmr kimi deyil, məlumat kimi qəbul edilməlidir və mümkün qədər dar toolset ilə işlənməlidir.

Praktika. Bir hook yaz ki, hər terminal əmri icra olunanda onu tarix, əmr və nəticə ilə birlikdə ayrıca audit faylına yazsın. Sonra bir neçə sessiya işlət və faylı oxu. Hazır sayılır: audit faylından agentin bir gündə hansı əmrləri işlətdiyini bərpa edə bilirsən.

📚 Mənbələr və sənədlər