СВЕТ НЕ СТОЈИ У МЕСТУ.RSS
BIG CHANGE.

Markdown издање

AI-translated from English; not yet reviewed by a fluent editor.

# Како OpenRouter Armor проверава позиве алатима и када клијент мора да их заустави

> OpenRouter Armor разврстава предложене позиве алатима према правилима програмера. Responses и Chat Completions могу задржати означене позиве; компатибилност са Messages оставља одговорност клијенту.

By BIG CHANGE Editorial

Published: 2026-10-17T01:51:13.522Z
Updated: 2026-10-17T01:51:13.522Z
Canonical: https://bigchange.ai/blog/openrouter-armor-tool-call-screening-client-enforcement

![Conceptual charcoal illustration of a desktop monitor and idle keyboard; abstract code strokes and one orange pending-call shape appear on the unbranded screen.](https://bigchange.ai/api/media/file/openrouter-armor-call-screening-concept-v1.png)
AI-generated conceptual illustration by BIG CHANGE; no actual OpenRouter interface or tested security result is depicted.

OpenRouter-ова [бета верзија Armor-а](https://openrouter.ai/docs/guides/features/plugins/armor) поставља класификатор правила између позива алату који предлаже модел и апликације која би могла да га изврши. За програмера агената важно је где одлука заиста зауставља извршавање. У Chat Completions и Responses, Armor може задржати означен позив. У режиму компатибилности са Claude Code у Messages API-ју, означени `tool_use` остаје у одговору и клијент мора одбити да га покрене.

Садашња документација описује бета верзију доступну од октобра 2026. BIG CHANGE је 17. октобра прегледао документоване уговоре о захтевима и одговорима. Нисмо слали API захтев, покретали агента нити мерили његове безбедносне перформансе.

## Велика промена

- **Шта се променило:** Агент који користи OpenRouter може предложене позиве алатима послати класификатору који примењује правила програмера пре него што стигну до апликације. У подразумеваном путу спровођења правила означени позив се не извршава, а моделу се враћа разлог како би могао да настави.
- **Зашто је важно:** Програмери могу обичним текстом да изразе ограничења појединачних радњи, укључујући изузетке за уско дозвољене послове. Уговор о компатибилности за Messages ипак препушта клијенту одлучујући корак извршавања: клијент који занемари одлуку о означавању може свеједно извршити позив.
- **На шта обратити пажњу:** Тимови треба да ускладе клијент са изабраним излазним режимом API-ја, тестирају правила на сопственом саобраћају и одлуче како ће поступати при грешкама класификатора. Формати бета верзије могу се мењати. OpenRouter каже да класификатор може и блокирати прихватљиве позиве и пропустити неприхватљиве.

## Пратите позив од предлога до одлуке

OpenRouter наводи да сваки предложени позив алату задржава пре прослеђивања апликацији. Модел за одлучивање прима позив, правила и дотадашњи разговор, процењује подударање са сваким правилом и обједињује резултате у `flagged` или `not_flagged`. Неозначен позив се пропушта непромењен. У режиму спровођења правила означеном позиву се додаје ознака да се извршавање прескочи; модел добија разлог и може покушати позив ужег обима или објаснити одбијање. То је процена класификатора о предложеној радњи, а не доказ да су каснији алат или цео агент безбедни.

Нивои правила одговарају на различита питања. Подударање са `hard_deny` блокира без обзира на правило дозволе или корисников захтев. Подударање са `soft_deny` може се поништити подударањем са `allow` или ако корисник у разговору затражи баш ту операцију над баш тим циљем. Правило `allow` никада само по себи не блокира позив. OpenRouter документује и уграђену меку забрану за границу коју је корисник поставио, а није укинуо. Програмери наводе чињенице, попут поузданог репозиторијума или циља постављања, у `environment`; застареле чињенице могу умањити прецизност правила. Именовани објекти правила приказују ID и назив у одлукама. Опциони прагови подразумевано износе 0.6 за правила забране и 0.7 за правила дозволе.

Документовани [пример за Responses](https://openrouter.ai/docs/guides/features/plugins/armor#example) додељује алату `bash` правило тврде забране за `git push`. Уз `output_mode: "custom_item"`, означени push замењује се ставком `openrouter:armor_blocked` која садржи позив и разлог, а затим следи одговор модела. Пример показује шта документација наводи као одговор сервиса; то није тест који је спровео BIG CHANGE.

## Изаберите излазни уговор пре извршавања алата

За Chat Completions и Responses, подразумевани режим `text` уклања блокирани позив и ставља ознаку `<openrouter_armor_blocked>` у текст асистента. Responses API подржава и `custom_item`, који враћа типизирану блокирану ставку тамо где би се појавио `function_call`. Документација каже да ту ставку треба вратити непромењену у следећем Responses улазу, без прављења посебног `function_call_output` за њу. `safeguard_results` бележи одлуке према ID-ју позива.

Messages API има битно другачије подразумевано понашање када захтев садржи `safeguards`: `claude_code_compatibility` оставља означени `tool_use` у `content[]` и додаје његов резултат `flagged` у `safeguard_results`. **Апликација мора прочитати тај резултат и одбити извршавање позива.** OpenRouter изричито упозорава да ће Messages клијент који занемари одлуку извршити означену употребу алата. Програмер који не може да контролише клијент може у Messages затражити `output_mode: "text"` како би OpenRouter задржао позив. Тражење излазног режима који API не може да представи враћа одговор 400.

Аутоматски режим Claude Code кроз OpenRouter-ов Ori метахарнес користи Messages уговор без додатне ставке за Armor додатак. Документација наводи да Claude Code одбија означене позиве, уписује резултат грешке у транскрипт и допушта моделу да настави. Такође наводи да Anthropic endpoint који подржава сопствени класификатор може доставити одлуку која се само прослеђује; на другим endpoint-има процењује Armor. То је документовано понашање интеграције, а не тврдња да га сваки клијент треће стране исправно примењује.

## Подесите и проверите узак скуп правила

За прилагођеног агента, [водич за Armor](https://openrouter.ai/docs/guides/features/plugins/armor#example) поставља ставку `armor` у `plugins`, са верзионисаним `classifier_context` (`v: 1`), правилима `auto_mode` и опционим чињеницама о окружењу. Почните од радње и заштићеног ресурса које правило треба да препозна. Затим изаберите тврду забрану за забрану која треба да важи и уз пристанак корисника, или меку забрану када тачан пристанак или именована дозвола могу оправдано да је укину. Документација саветује описивање радње, уместо само једног начина писања команде, и одржавање чињеница о окружењу ажурним.

Подразумевани режим `enforce` поступа према одлукама. `audit` пријављује исте одлуке, али пропушта све позиве, укључујући означене. Служи за преглед стварног саобраћаја и подешавање правила пре спровођења, а није заштитни режим. Режим ревизије не може се комбиновати са `claude_code_compatibility`. У оба режима читајте `safeguard_results`: `not_flagged` значи да је дозвољено, `flagged` означава правило које се подударило, `unavailable` значи да процена није успела, а `skipped` означава непроцењен нативни алат пружаоца услуге. При стримовању објекат одлуке стиже на крају одговора, па клијент који користи Messages мора да га сачека пре него што поступи по употреби алата.

OpenRouter наводи `on_error: "block"` као подразумевану поставку када класификатор прекорачи време, пријави грешку или не може обрадити превелик захтев; `on_error: "log"` пропушта позив. У режиму компатибилности са Claude Code, позив са статусом `unavailable` пропушта се уз видљиву одлуку. Нативни серверски алати пружаоца услуге подразумевано се прескачу, осим ако их `evaluate_native_tools` не измести из нативног пута ради процене. Ове поставке и стварни пут алата треба укључити у проверу интеграције тима; сама ставка за Armor не показује да је сваки алат процењен.

## Трошкови, брзина и ограничења обухвата бета верзије

OpenRouter наводи да је процена додала **279 милисекунди на медијани и 334 милисекунде на 90. перцентилу** уз учитан скуп правила компатибилан са Claude Code. То су мерења која пријављује добављач под наведеним условом, а не упоредни тест одређеног агента или сваког скупа правила. Сваки позив процењује се једном пре пропуштања или блокирања. Процена се не наплаћује током бета фазе; OpenRouter каже да ће објавити цене пре опште доступности. Документација не утврђује будућу цену.

Модел за одлучивање може дати лажно позитивне резултате и пропустити проблематичне позиве јер упоређује правила у прози са аргументима у прози. Документација препоручује коришћење ревизионих одлука на стварном саобраћају и подешавање прагова појединачних правила. Armor процена још не подржава захтеве у контексту HIPAA, Zero Data Retention или ограничења региона података. Захтев са укљученим додатком у једном од тих контекста добија 403; Claude Code захтев, насупрот томе, пропушта позив као `unavailable`, а Claude Code прелази на локалну процену аутоматског режима. Упозорење за бета верзију обухвата и промене конфигурационих поља, `safeguard_results` и типа ставке `openrouter:armor_blocked`.

Armor проверава предложене позиве при предаји од модела апликацији. По томе се разликује од механизама као што су [Microsoft-ово MXC ограничавање команди](https://bigchange.ai/blog/mxc-agent-command-containment-guide) и [NVIDIA OpenShell и Sentry контроле током извршавања](https://bigchange.ai/blog/nvidia-open-agent-safety-platform-agent-controls), који спроводе ограничења око радног оптерећења или његовог приступа. За Armor, непосредна одлука при имплементацији јесте да ли изабрани формат одговора задржава означен позив или захтева да га клијент заустави.

## Извори и додатно читање

- [Документација за OpenRouter Armor](https://openrouter.ai/docs/guides/features/plugins/armor), приступљено 17. октобра 2026. Примарни извор за бета статус, ток класификатора, приоритет правила, уговоре о API одговорима, понашање при грешкама, изузете контексте приватности, пријављено кашњење и наплату током бета фазе. То су документоване тврдње OpenRouter-а; BIG CHANGE није покретао додатак.
- [BIG CHANGE о Microsoft MXC-у](https://bigchange.ai/blog/mxc-agent-command-containment-guide) објашњава ограничавање команди које генеришу агенти према правилима. Описује посебан слој спровођења ограничења, а не ранију фазу Armor-а.
- [BIG CHANGE о NVIDIA OpenShell-у и Sentry-ју](https://bigchange.ai/blog/nvidia-open-agent-safety-platform-agent-controls) описује софтверске контроле приступа и опциони пројекат хардверског надзора. То је повезан контекст, а не директан наставак ове OpenRouter функције.

## Sources

- [Документација за OpenRouter Armor](https://openrouter.ai/docs/guides/features/plugins/armor) — Примарна документација производа проверена 17. октобра 2026. Утврђује бета статус, понашање класификатора и правила, облике API одговора, грешке, ограничене контексте, пријављено кашњење и наплату у бета фази. Тврдње добављача, не независан тест.
- [BIG CHANGE: Како подесити MXC политику за команде које генеришу агенти](https://bigchange.ai/blog/mxc-agent-command-containment-guide) — Ранији текст о засебном механизму ограничавања команди; користи се само као контекст односа међу текстовима.
- [BIG CHANGE: NVIDIA платформа за безбедност агената](https://bigchange.ai/blog/nvidia-open-agent-safety-platform-agent-controls) — Ранији текст о засебним контролама приступа током извршавања и опционом пројекту надзора; користи се само као контекст односа међу текстовима.