Elevated 모드 (/elevated 지시어)
기능
- /elevated on은 게이트웨이 호스트에서 실행되고 exec 승인을 유지합니다(/elevated ask와 동일).
- /elevated full은 게이트웨이 호스트에서 실행되고 exec를 자동 승인합니다(exec 승인 건너뛰기).
- /elevated ask는 게이트웨이 호스트에서 실행되지만 exec 승인을 유지합니다(/elevated on과 동일).
- on/ask는 exec.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가 필요하지 않습니다.
해결 순서
- 메시지의 인라인 지시어(해당 메시지에만 적용).
- 세션 오버라이드(지시어 전용 메시지를 보내서 설정).
- 글로벌 기본값(구성의 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).