메인 콘텐츠로 건너뛰기

Elevated Mode

에이전트가 샌드박스 안에서 실행될 때 exec 명령은 샌드박스 환경 안으로 제한됩니다. Elevated mode를 사용하면 에이전트가 샌드박스를 벗어나 대신 샌드박스 밖에서 명령을 실행할 수 있으며, 승인 게이트를 구성할 수 있습니다.
Elevated mode는 에이전트가 샌드박스된 경우에만 동작을 변경합니다. 샌드박스되지 않은 에이전트에서는 exec가 이미 호스트에서 실행됩니다.

지시어

슬래시 명령으로 세션별 Elevated mode를 제어합니다:
Directive동작
/elevated on구성된 호스트 경로에서 샌드박스 밖으로 실행하고, 승인은 유지
/elevated askon과 동일(별칭)
/elevated full구성된 호스트 경로에서 샌드박스 밖으로 실행하고 승인 건너뜀
/elevated off샌드박스 내부 실행으로 복귀
/elev on|off|ask|full로도 사용할 수 있습니다. 현재 수준을 보려면 인자 없이 /elevated를 보내세요.

동작 방식

1

사용 가능 여부 확인

config에서 Elevated가 활성화되어 있어야 하고 발신자가 허용 목록에 있어야 합니다:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

수준 설정

지시어만 있는 메시지를 보내 세션 기본값을 설정합니다:
/elevated full
또는 인라인으로 사용할 수 있습니다(해당 메시지에만 적용):
/elevated on run the deployment script
3

명령은 샌드박스 밖에서 실행됨

Elevated가 활성화되면 exec 호출은 샌드박스를 벗어납니다. 실효 호스트는 기본적으로 gateway이며, 구성되었거나 세션의 exec 대상이 node일 때는 node가 됩니다. full 모드에서는 exec 승인이 건너뛰어집니다. on/ask 모드에서는 구성된 승인 규칙이 계속 적용됩니다.

해석 순서

  1. 메시지의 인라인 지시어(해당 메시지에만 적용)
  2. 세션 재정의(지시어만 있는 메시지를 보내 설정)
  3. 전역 기본값(config의 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을 폴백으로 사용
  • 모든 게이트를 통과해야 하며, 그렇지 않으면 elevated는 사용할 수 없는 것으로 처리됩니다
허용 목록 항목 형식:
Prefix일치 대상
(없음)발신자 ID, E.164 또는 From 필드
name:발신자 표시 이름
username:발신자 사용자 이름
tag:발신자 태그
id:, from:, e164:명시적 신원 대상 지정

elevated가 제어하지 않는 것

  • 도구 정책: 도구 정책에 의해 exec가 거부되면 elevated로도 이를 재정의할 수 없습니다
  • 호스트 선택 정책: elevated는 auto를 자유로운 교차 호스트 재정의로 바꾸지 않습니다. 구성되었거나 세션의 exec 대상 규칙을 사용하며, 대상이 이미 node일 때만 node를 선택합니다.
  • /exec와는 별개: /exec 지시어는 권한 있는 발신자를 위한 세션별 exec 기본값을 조정하며 elevated mode를 요구하지 않습니다

관련 문서