엘리베이티드 모드
에이전트가 샌드박스 내부에서 실행되면 exec 명령이 샌드박스 환경에 제한됩니다. 엘리베이티드 모드는 에이전트가 샌드박스를 벗어나 대신 구성 가능한 승인 게이트로 외부에서 명령을 실행할 수 있게 합니다.
INFO
엘리베이티드 모드는 에이전트가 샌드박스 처리된 경우에만 동작을 변경합니다. 샌드박스 처리되지 않은 에이전트의 경우 exec는 이미 호스트에서 실행됩니다.
지시어
슬래시 커맨드로 세션별 엘리베이티드 모드를 제어합니다:
| 지시어 | 수행 내용 |
|---|---|
/elevated on | 구성된 호스트 경로에서 샌드박스 외부에서 실행, 승인 유지 |
/elevated ask | on과 동일 (별칭) |
/elevated full | 구성된 호스트 경로에서 샌드박스 외부에서 실행 및 승인 건너뛰기 |
/elevated off | 샌드박스 제한 실행으로 복귀 |
/elev on|off|ask|full로도 사용 가능합니다.
인수 없이 /elevated를 보내면 현재 레벨을 확인합니다.
작동 방식
가용성 확인
엘리베이티드가 설정에서 활성화되어 있고 발신자가 허용 목록에 있어야 합니다:
```json5 { tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, }, } ```레벨 설정
지시어 전용 메시지를 보내 세션 기본값을 설정합니다:
```
/elevated full
```
또는 인라인으로 사용합니다 (해당 메시지에만 적용):
```
/elevated on run the deployment script
```
- 샌드박스 외부에서 명령 실행
엘리베이티드가 활성화되면 exec 호출이 샌드박스를 떠납니다. 기본적으로 유효 호스트는 gateway이고, 구성된/세션 exec 대상이 node인 경우 node입니다. full 모드에서는 exec 승인이 건너뛰어집니다. on/ask 모드에서는 구성된 승인 규칙이 여전히 적용됩니다.
해결 순서
- 인라인 지시어 메시지에서 (해당 메시지에만 적용)
- 세션 재정의 (지시어 전용 메시지를 보내 설정)
- 전역 기본값 (설정의
agents.defaults.elevatedDefault)
가용성 및 허용 목록
- 전역 게이트:
tools.elevated.enabled(반드시true여야 함) - 발신자 허용 목록: 채널별 목록이 있는
tools.elevated.allowFrom - 에이전트별 게이트:
agents.list[].tools.elevated.enabled(더 제한만 가능) - 에이전트별 허용 목록:
agents.list[].tools.elevated.allowFrom(발신자가 전역 + 에이전트별 모두 일치해야 함) - Discord 폴백:
tools.elevated.allowFrom.discord가 생략되면channels.discord.allowFrom이 폴백으로 사용됨 - 모든 게이트를 통과해야 합니다; 그렇지 않으면 엘리베이티드는 사용 불가로 처리됩니다
허용 목록 항목 형식:
| 접두사 | 매칭 대상 |
|---|---|
| (없음) | 발신자 ID, E.164, 또는 From 필드 |
name: | 발신자 표시 이름 |
username: | 발신자 사용자명 |
tag: | 발신자 태그 |
id:, from:, e164: | 명시적 신원 타겟팅 |
엘리베이티드가 제어하지 않는 것
- 도구 정책:
exec가 도구 정책에 의해 거부된 경우 엘리베이티드가 재정의할 수 없습니다 - 호스트 선택 정책: 엘리베이티드는
auto를 무료 크로스 호스트 재정의로 전환하지 않습니다. 구성된/세션 exec 대상 규칙을 사용하며 대상이 이미node인 경우에만node를 선택합니다. /exec와 별개:/exec지시어는 승인된 발신자를 위한 세션별 exec 기본값을 조정하며 엘리베이티드 모드가 필요하지 않습니다
관련 항목
- Exec 도구 — 셸 명령 실행
- Exec 승인 — 승인 및 허용 목록 시스템
- 샌드박싱 — 샌드박스 설정
- 샌드박스 vs 도구 정책 vs 엘리베이티드