AiHummer
Беларуская
Увайсці
v1.0.x
{ }Swagger

Шлюзы зацвярджэння

v1.0.x · абноўлена 2026-06-26

Некаторыя выклікі інструментаў не павінны адбывацца без таго, каб чалавек сказаў “так” — адпраўка пошты, публікацыя ў канал, унясенне зменаў з рэальнымі наступствамі. Шлюзы зацвярджэння AiHummer ставяць чалавека ў цыкл перад запускам такіх інструментаў і спалучаюцца з ідэмпатэнтнымі пабочнымі эфектамі, так што зацвярджэнне адноўленага ходу ніколі не запускае адно і тое ж дзеянне двойчы.

Як працуе шлюз

Вы аб’яўляеце, якім інструментам патрэбна зацвярджэнне, з дапамогай налады AIHUMMER_APPROVAL_TOOLS — спіс імёнаў інструментаў. Калі агент вырашае выклікаць адзін з гэтых інструментаў, выкананне прыпыняецца і ствараецца запыт на зацвярджэнне для разгляду чалавекам.

# /home/.aihummer/etc/gateway.env
# Спіс інструментаў праз коску, якім патрэбна зацвярджэнне перад выкананнем
AIHUMMER_APPROVAL_TOOLS=mail,http_request

Чакаючы запыт з’яўляецца ў адміністрацыйным UI і адміністрацыйным API (/v1/admin/approvals), дзе рэцэнзент бачыць інструмент, яго аргументы і кантэкст, а потым зацвярджае або адхіляе яго.

Зацвердзіць азначае запусціць, адхіліць азначае не запускаць

Шлюз адназначны:

  • Зацвердзіць — інструмент выконваецца роўна з тымі аргументамі, якія былі разгледжаны.
  • Адхіліць — інструмент не выконваецца. Няма частковага або адкладзенага выканання; адхілены выклік проста не адбываецца, і ход працягваецца без гэтага пабочнага эфекту.

[!NOTE] Адхіленне — гэта жорсткі прыпынак для гэтага канкрэтнага выкліку. Агент не паўтарае ціха адхіленае дзеянне за спінай рэцэнзента.

Чаму гэта бяспечна пры аднаўленні

Шлюзы зацвярджэння спалучаюцца з ідэмпатэнтнымі пабочнымі эфектамі AiHummer. Ход можа быць перарваны (перазапуск, збой), а потым адноўлены. Без абароны адноўлены ход мог бы паўторна выдаць дзеянне, якое ўжо адбылося — адправіць адзін і той жа email двойчы, апублікаваць адно і тое ж паведамленне зноў.

AiHummer прадухіляе гэта з дапамогай стабільнага пры аднаўленні ключа рэестра і бар’еру пабочных эфектаў: кожны пабочны эфект запісваецца пад стабільным ключом, і бар’ер адмаўляецца паўторна выконваць эфект, які рэестр паказвае як ужо выкананы.

[!TIP] Практычная выгада: зацвярджэнне адноўленага ходу не запускае двойчы адпраўку пошты або адпраўку ў канал. Бар’ер гарантуе, што эфект адбываецца роўна адзін раз, незалежна ад таго, быў ход адноўлены ці не.

Глядзіце Шматарандатарнасць і ідэмпатэнтнасць для поўнай механікі рэестра і бар’еру пабочных эфектаў.

Выбар, якія інструменты ставіць за шлюз

Ставіце за шлюз інструменты, эфекты якіх бачныя звонку або якія цяжка адмяніць. Добрыя кандыдаты:

  • mail — выходны email.
  • Адпраўка ў канал / выходная дастаўка кліентам або супрацоўнікам.
  • http_request і іншыя інструменты, якія могуць змяняць знешнія сістэмы.
  • code_exec на агульных хастах (там таксама адключаны па змаўчанні).

Толькі-чытальныя інструменты (пошук, пошук па ведах, час) звычайна не патрабуюць шлюза. Спалучайце шлюзы зацвярджэння з рэжымам ізаляцыі ад сеткі і кантролем выходнага трафіку для інструментаў, якія дасягаюць публічнага інтэрнэту.

Куды далей