Tasdiqlash darvozalari
Baʼzi vosita chaqiruvlari inson roziligisiz sodir boʻlmasligi kerak — pochta yuborish, kanalga eʼlon qilish, real oqibatlarga olib keladigan oʻzgartirishlar kiritish. AiHummer’ning tasdiqlash darvozalari bunday vositalar ishga tushishidan oldin jarayonga insonni qoʻshadi va idempotent yon taʼsirlar bilan juftlashadi, shunda tiklangan navbatni tasdiqlash hech qachon bir xil amalni ikki marta ishga tushirmaydi.
Darvoza qanday ishlaydi
Qaysi vositalar tasdiqlash talab qilishini AIHUMMER_APPROVAL_TOOLS sozlamasi
bilan — vosita nomlari roʻyxati orqali — eʼlon qilasiz. Agent shu vositalardan
birini chaqirishga qaror qilganda, bajarilish toʻxtaydi va inson koʻrib chiqishi
uchun tasdiqlash soʻrovi koʻtariladi.
# /home/.aihummer/etc/gateway.env
# Comma-separated list of tools that require approval before execution
AIHUMMER_APPROVAL_TOOLS=mail,http_request
Kutilayotgan soʻrov admin UI va admin API (/v1/admin/approvals) da paydo
boʻladi, u yerda koʻrib chiquvchi vositani, uning argumentlarini va kontekstni
koʻradi, soʻngra uni tasdiqlaydi yoki rad etadi.
Tasdiqlash — ishga tushirish, rad etish — ishga tushirmaslik
Darvoza bir maʼnoli:
- Tasdiqlash — vosita aynan koʻrib chiqilgan argumentlar bilan bajariladi.
- Rad etish — vosita bajarilmaydi. Qisman yoki kechiktirilgan bajarilish yoʻq; rad etilgan chaqiruv shunchaki sodir boʻlmaydi va navbat shu yon taʼsirsiz davom etadi.
[!NOTE] Rad etish shu aniq chaqiruv uchun qatʼiy toʻxtashdir. Agent koʻrib chiquvchi bilmagan holda rad etilgan amalni jimgina qayta urinmaydi.
Nima uchun bu tiklash ostida xavfsiz
Tasdiqlash darvozalari AiHummer’ning idempotent yon taʼsirlari bilan juftlashadi. Navbat uzilishi (qayta ishga tushish, qulash) va keyin tiklanishi mumkin. Himoyasiz holda tiklangan navbat allaqachon sodir boʻlgan amalni qayta chiqarishi mumkin — bir xil elektron pochtani ikki marta yuborish, bir xil xabarni qayta eʼlon qilish.
AiHummer buni tiklashga barqaror jurnal kaliti va yon taʼsir toʻsigʻi bilan oldini oladi: har bir yon taʼsir barqaror kalit ostida qayd etiladi va toʻsiq jurnal allaqachon bajarilgan deb koʻrsatgan taʼsirni qayta ishga tushirishdan bosh tortadi.
[!TIP] Amaliy foydasi: tiklangan navbatni tasdiqlash pochta yoki kanalga yuborishni ikki marta ishga tushirmaydi. Toʻsiq navbat tiklangan-tiklanmaganidan qatʼi nazar taʼsir aynan bir marta sodir boʻlishini taʼminlaydi.
Jurnal va yon taʼsir toʻsigʻining toʻliq mexanikasi uchun Koʻp ijarachilik va idempotentlik ga qarang.
Qaysi vositalarni darvozalash kerakligini tanlash
Taʼsiri tashqaridan koʻrinadigan yoki bekor qilish qiyin boʻlgan vositalarni darvozalang. Yaxshi nomzodlar:
mail— chiquvchi elektron pochta.- Kanalga yuborish / mijozlar yoki xodimlarga chiquvchi yetkazib berish.
http_requestva tashqi tizimlarni oʻzgartira oladigan boshqa vositalar.- Umumiy xostlardagi
code_exec(u yerda standart holda ham oʻchirilgan).
Faqat oʻqish uchun moʻljallangan vositalar (qidiruv, bilim qidirish, vaqt) odatda darvozaga muhtoj emas. Ommaviy internetga yetib boradigan vositalar uchun tasdiqlash darvozalarini havodan uzilgan rejim va chiqish nazoratlari bilan birlashtiring.
Keyingisi qayerda
- Koʻp ijarachilik va idempotentlik — aniq bir marta taʼsirlar ortidagi jurnal va yon taʼsir toʻsigʻi.
- Himoya devorlari va prompt-injection himoyasi — modelni darvozalangan vositani zararli tarzda chaqirishga yoʻnaltirishdan saqlang.
- Tarmoq, audit va havodan uzilgan — vositalar nimaga yeta olishini cheklang.