Host · Chat
채팅 화면 구성
메인 화면은 App.tsx 가 CustomTitleBar + MainToolbar 를 두르고, 접이식 Sidebar 를 띄우고, 그 안의 메인 콘텐츠 영역이 PaneFrame 을 마운트하는 구조입니다. PaneFrame 은 대화 영역을 최대 네 개의 타일로 나누고, 타일마다 ChatGroupSession 이 자기 ChatContext 를 제공하며 ChatView 를 그립니다. SessionTasksPanel · MessageQueuePanel 은 그 타일의 컴포저 바로 위에 쌓입니다.
App + Sidebar + PaneFrame
ChatGroupSession → ChatView
MessageQueuePanel + SessionTasksPanel
① CustomTitleBar + MainToolbar
창 컨트롤 + 세션/플러그인/권한 toolbar.
src/ui/renderer/App.tsx 가 마운트.② PaneFrame 타일
대화 영역을 최대 네 개의 타일로 나눕니다 (
src/ui/renderer/components/PaneFrame.tsx). 타일마다 ChatGroupSession.tsx 가 자기 ChatContext 를 제공하고 ChatView.tsx 를 그립니다.③ Queue + Tasks 패널
외부 신호 큐 + 세션 Tasks. 컴포저 바로 위 (
src/ui/renderer/components/ChatComposerDock.tsx) 에 놓이고, 항목이 없으면 그려지지 않습니다.실제 화면
사이드 패널들
PluginGridButton.tsx— 플러그인 진입 버튼 그리드 (host UI plugin manifest의 ui[] 슬롯이 여기에 결합).RoutinePanel.tsx— RoutineEngine 의 등록 루틴 목록 + on/off.PermissionReviewStatusCard.tsx— Reviewer 모드/상태 카드.ApprovalDock.tsx·QuestionOverlay.tsx— 도구 승인과 질문 카드. 그 대화가 열린 타일 안에서 답하고, 답을 기다리는 동안PendingAnswerDot.tsx가 사이드바의 그 대화 줄에 노란 점을 붙입니다.
사이드바는 두 개가 따로 있습니다
채팅 메인에는 접이식 플로팅 Sidebar 가 있습니다 — 세션 · 프로젝트 · 플러그인 뷰가 여기에 들어가고, 접기와 폭 조절이 가능합니다.
src/ui/renderer/App.tsx 가 이것을 그립니다. 설정 화면은 그것과 별개로 자체 nav 컬럼 을 가집니다 (src/ui/renderer/SettingsContent.tsx).