Elevated 모드 (/elevated 지시어)

기능

  • /elevated on은 게이트웨이 호스트에서 실행되고 exec 승인을 유지합니다(/elevated ask와 동일).
  • /elevated full은 게이트웨이 호스트에서 실행되고 exec를 자동 승인합니다(exec 승인 건너뛰기).
  • /elevated ask는 게이트웨이 호스트에서 실행되지만 exec 승인을 유지합니다(/elevated on과 동일).
  • on/askexec.security=full을 강제하지 않습니다. 구성된 보안/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가 필요하지 않습니다.

해결 순서

  1. 메시지의 인라인 지시어(해당 메시지에만 적용).
  2. 세션 오버라이드(지시어 전용 메시지를 보내서 설정).
  3. 글로벌 기본값(구성의 agents.defaults.elevatedDefault).

세션 기본값 설정

  • 지시어 포함하는 메시지를 보냅니다(공백 허용). 예: /elevated full.
  • 확인 응답이 전송됩니다(Elevated mode set to full... / Elevated mode disabled.).
  • Elevated 액세스가 비활성화되어 있거나 발신자가 승인된 허용 목록에 없는 경우 지시어는 실행 가능한 오류로 응답하고 세션 상태를 변경하지 않습니다.
  • 인수 없이 /elevated(또는 /elevated:)를 보내서 현재 elevated 레벨을 확인하십시오.

가용성 + 허용 목록

  • 기능 게이트: tools.elevated.enabled(코드가 지원하더라도 구성을 통해 기본적으로 꺼질 수 있음).
  • 발신자 허용 목록: tools.elevated.allowFrom(예: discord, whatsapp 등 프로바이더별 허용 목록).
  • 에이전트별 게이트: agents.list[].tools.elevated.enabled(선택 사항, 추가로만 제한 가능).
  • 에이전트별 허용 목록: agents.list[].tools.elevated.allowFrom(선택 사항, 설정 시 발신자는 글로벌 + 에이전트별 허용 목록 모두와 일치해야 함).
  • Discord 폴백: tools.elevated.allowFrom.discord가 생략되면 channels.discord.dm.allowFrom 목록이 폴백으로 사용됩니다. 오버라이드하려면 tools.elevated.allowFrom.discord를 설정하십시오(심지어 []도 가능). 에이전트별 허용 목록은 폴백을 사용하지 않습니다.
  • 모든 게이트를 통과해야 합니다. 그렇지 않으면 elevated가 사용 불가능한 것으로 처리됩니다.

로깅 + 상태

  • Elevated exec 호출은 정보 수준에서 로그됩니다.
  • 세션 상태에는 elevated 모드가 포함됩니다(예: elevated=ask, elevated=full).