6.5 KiB
6.5 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Режим elevated exec: виконання команд поза sandbox із sandboxed-агента | Режим elevated |
|
Коли агент працює всередині sandbox, його команди exec обмежені
середовищем sandbox. Elevated mode дає агенту змогу вийти за ці межі й виконувати команди
поза sandbox, із налаштовуваними approval gate-ами.
Директиви
Керуйте elevated mode для конкретної сесії за допомогою slash-команд:
| Директива | Що вона робить |
|---|---|
/elevated on |
Виконує поза sandbox на налаштованому шляху host, зберігаючи approvals |
/elevated ask |
Те саме, що on (alias) |
/elevated full |
Виконує поза sandbox на налаштованому шляху host і пропускає approvals |
/elevated off |
Повертає виконання в межах sandbox |
Також доступно як /elev on|off|ask|full.
Надішліть /elevated без аргументів, щоб побачити поточний рівень.
Як це працює
Elevated має бути увімкнено в config, а відправник має бути в allowlist:```json5
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}
```
Надішліть повідомлення лише з директивою, щоб встановити типове значення для сесії:
```
/elevated full
```
Або використовуйте inline (застосовується лише до цього повідомлення):
```
/elevated on run the deployment script
```
Коли elevated активний, виклики `exec` виходять за межі sandbox. Фактичним host за замовчуванням є
`gateway`, або `node`, коли налаштована/сесійна ціль exec — це
`node`. У режимі `full` approvals для exec пропускаються. У режимах `on`/`ask`
налаштовані правила approval усе ще застосовуються.
Порядок розв’язання
- Inline-директива в повідомленні (застосовується лише до цього повідомлення)
- Перевизначення для сесії (задається надсиланням повідомлення лише з директивою)
- Глобальне типове значення (
agents.defaults.elevatedDefaultу config)
Доступність і allowlist-и
- Глобальний gate:
tools.elevated.enabled(має бутиtrue) - Allowlist відправника:
tools.elevated.allowFromзі списками для кожного каналу - Gate для конкретного агента:
agents.list[].tools.elevated.enabled(може лише додатково обмежувати) - Allowlist для конкретного агента:
agents.list[].tools.elevated.allowFrom(відправник має відповідати і глобальному, і per-agent) - Discord fallback: якщо
tools.elevated.allowFrom.discordпропущено, як fallback використовуєтьсяchannels.discord.allowFrom - Усі gate-и мають пройти; інакше elevated вважається недоступним
Формати записів allowlist:
| Префікс | З чим виконується збіг |
|---|---|
| (без префікса) | ID відправника, E.164 або поле From |
name: |
Відображуване ім’я відправника |
username: |
Username відправника |
tag: |
Tag відправника |
id:, from:, e164: |
Явне націлювання на identity |
Чим elevated не керує
- Tool policy: якщо
execзаборонено tool policy, elevated не може це перевизначити - Policy вибору host: elevated не перетворює
autoна вільне перевизначення між host-ами. Він використовує правила цілі exec, задані в config/сесії, вибираючиnodeлише тоді, коли ціль уже єnode. - Окремо від
/exec: директива/execзмінює типові значення exec для сесії для авторизованих відправників і не потребує elevated mode
Пов’язане
- Exec tool — виконання shell-команд
- Exec approvals — система approvals і allowlist
- Sandboxing — конфігурація sandbox
- Sandbox vs Tool Policy vs Elevated