콘텐츠로 이동

Menu Bar Status Logic 이해하기

백그라운드에서 돌아가는 에이전트가 지금 정확히 무엇을 하고 있는지 궁금할 때가 많죠. 로그를 일일이 확인하지 않고도 작업 상태를 한눈에 파악할 수 있다면 개발 흐름을 유지하기가 훨씬 쉬워집니다.

메뉴 바의 아이콘과 상태 줄을 통해 에이전트의 현재 작업 정보를 실시간으로 확인하는 방법을 알아보겠습니다.

  • ControlChannel.handleAgentEvent를 통한 에이전트 이벤트 데이터
  • Swift 환경의 IconState Enum
  • node.list를 통해 페어링된 디바이스 목록

에이전트 상태 로직은 우선순위에 따라 메뉴 바에 정보를 표시합니다. 5분 안에 핵심 동작 원리를 파악해 보세요.

상태 표시의 핵심은 main 세션입니다. main 세션이 활성화되면 그 상태가 즉시 표시됩니다. 만약 main이 유휴(idle) 상태라면, 가장 최근에 활동했던 다른 세션의 상태를 보여줍니다. 작업 중간에 화면이 자꾸 바뀌는 것을 방지하기 위해, 현재 세션이 idle이 되거나 main 세션이 다시 활성화될 때만 화면을 전환합니다.

작업 종류에 따라 메뉴 바 아이콘 옆에 표시되는 글리프(glyph)가 달라집니다.

  • exec: 💻
  • read: 📄
  • write: ✍️
  • edit: 📝
  • attach: 📎
  • 기본값: 🛠️

작업 상태에 따라 아이콘의 애니메이션과 색상이 바뀝니다. workingMain 상태일 때는 아이콘에 색상이 가득 차고 다리가 움직이는 “working” 애니메이션이 나타납니다. 반면 workingOther 상태는 색상이 뮤트(muted) 처리되며 애니메이션이 작동하지 않습니다.

메뉴 바를 클릭하면 더 자세한 정보를 볼 수 있습니다.

  • 상태 줄: 작업 중일 때는 <Session role> · <activity label> 형식으로 표시됩니다. (예: Main · exec: pnpm test)
  • Nodes 블록: node.list를 통해 연결된 디바이스 목록만 나열합니다.
  • Usage 섹션: Context 아래에서 공급자 사용량 스냅샷을 확인할 수 있습니다.
  • 작업 중인데 Health 상태가 보이지 않나요?: 정상입니다. 작업이 활성화된 동안 Health 상태는 숨겨지며, 모든 세션이 idle 상태로 돌아오면 다시 나타납니다.
  • 도구 실행 시 배지가 깜빡거리나요?: 도구 결과(tool results)에는 TTL 유예 기간이 적용되어 있습니다. 짧은 간격으로 도구가 실행되어도 배지가 안정적으로 유지되는지 확인하세요.
  • 특정 아이콘을 강제로 표시하고 싶나요?: Settings ▸ Debug ▸ Icon override에서 Idle이나 Working: main 등으로 아이콘 상태를 고정할 수 있습니다. 이는 @AppStorage("iconOverride")에 저장됩니다.

AI Setup Assistant

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.