Elevated 모드 (/elevated 지시문)
기능
/elevated on은 게이트웨이 호스트에서 실행하며 exec 승인을 유지합니다 (/elevated ask와 동일)./elevated full은 게이트웨이 호스트에서 실행하며 exec 승인을 자동 통과합니다 (exec 승인 건너뜀)./elevated ask는 게이트웨이 호스트에서 실행하지만 exec 승인을 유지합니다 (/elevated on과 동일).on/ask는exec.security=full을 강제하지 않습니다. 구성된 security/ask 정책이 여전히 적용됩니다.- 에이전트가 샌드박스 상태일 때만 동작이 변경됩니다 (그렇지 않으면 exec가 이미 호스트에서 실행).
- 지시문 형식:
/elevated on|off|ask|full,/elev on|off|ask|full. on|off|ask|full만 허용됩니다. 그 외의 값은 힌트를 반환하고 상태를 변경하지 않습니다.
제어 대상 (및 비제어 대상)
- 가용성 게이트:
tools.elevated가 전역 기준선입니다.agents.list[].tools.elevated가 에이전트별로 elevated를 추가로 제한할 수 있습니다 (둘 다 허용해야 함). - 세션별 상태:
/elevated on|off|ask|full이 현재 세션 키의 elevated 레벨을 설정합니다. - 인라인 지시문: 메시지 내
/elevated on|ask|full은 해당 메시지에만 적용됩니다. - 그룹: 그룹 채팅에서 elevated 지시문은 에이전트가 멘션되었을 때만 적용됩니다. 멘션 요구 사항을 우회하는 명령 전용 메시지는 멘션된 것으로 취급됩니다.
- 호스트 실행: elevated는
exec를 게이트웨이 호스트로 강제합니다.full은security=full도 설정합니다. - 승인:
full은 exec 승인을 건너뜁니다.on/ask는 허용 목록/ask 규칙이 필요한 경우 승인을 적용합니다. - 비샌드박스 에이전트: 위치에 대해서는 no-op. 게이팅, 로깅, 상태에만 영향.
- 도구 정책은 여전히 적용:
exec가 도구 정책에 의해 거부되면 elevated를 사용할 수 없습니다. /exec와 별개:/exec는 인가된 발신자의 세션별 기본값을 조정하며 elevated가 필요하지 않습니다.
해석 순서
- 메시지의 인라인 지시문 (해당 메시지에만 적용).
- 세션 오버라이드 (지시문 전용 메시지 전송으로 설정).
- 전역 기본값 (설정의
agents.defaults.elevatedDefault).
세션 기본값 설정
- 지시문만 포함된 메시지를 전송합니다 (공백 허용), 예:
/elevated full. - 확인 응답이 전송됩니다 (
Elevated mode set to full.../Elevated mode disabled.). - elevated 접근이 비활성화되었거나 발신자가 승인된 허용 목록에 없으면, 지시문은 실행 가능한 오류로 응답하고 세션 상태를 변경하지 않습니다.
/elevated(또는/elevated:)를 인수 없이 보내면 현재 elevated 레벨을 확인할 수 있습니다.
가용성 + 허용 목록
- 기능 게이트:
tools.elevated.enabled(설정을 통해 코드가 지원하더라도 기본값이 off일 수 있음). - 발신자 허용 목록:
tools.elevated.allowFrom에 프로바이더별 허용 목록 (예:discord,whatsapp). - 접두사 없는 허용 목록 항목은 발신자 범위 식별 값(
SenderId,SenderE164,From)만 매칭합니다. 수신자 라우팅 필드는 elevated 인가에 사용되지 않습니다. - 변경 가능한 발신자 메타데이터에는 명시적 접두사가 필요합니다:
name:<value>는SenderName매칭username:<value>는SenderUsername매칭tag:<value>는SenderTag매칭id:<value>,from:<value>,e164:<value>는 명시적 식별 대상으로 사용 가능
- 에이전트별 게이트:
agents.list[].tools.elevated.enabled(선택적, 추가 제한만 가능). - 에이전트별 허용 목록:
agents.list[].tools.elevated.allowFrom(선택적, 설정 시 발신자가 전역 + 에이전트별 허용 목록 모두에 매칭해야 함). - Discord 폴백:
tools.elevated.allowFrom.discord가 생략되면,channels.discord.allowFrom목록이 폴백으로 사용됩니다 (레거시:channels.discord.dm.allowFrom). 오버라이드하려면tools.elevated.allowFrom.discord를 설정하세요 ([]도 가능). 에이전트별 허용 목록은 폴백을 사용하지 않습니다. - 모든 게이트를 통과해야 합니다. 그렇지 않으면 elevated는 사용 불가로 처리됩니다.
로깅 + 상태
- Elevated exec 호출은 info 레벨로 로깅됩니다.
- 세션 상태에 elevated 모드가 포함됩니다 (예:
elevated=ask,elevated=full).