콘텐츠로 이동

채팅 UI(네이티브 채팅)

지원되는 에이전트 세션 위에 선택적으로 제공되는 채팅 인터페이스로, 구조화된 대화 기록, 스킬, 모델 선택기 및 인라인 시각화를 지원합니다.

Chat UI(채팅 UI)는 지원되는 에이전트 세션 위에 계층으로 제공되는 실험적 보기입니다. 이 기능을 켜면 지원되는 새 에이전트가 Orca의 구조화 네이티브 채팅으로 열립니다. 대화 기록과 작성기는 세션 상태를 Orca에 유지하므로 앱을 다시 시작한 뒤에도 탭과 대화를 복원할 수 있습니다. 구조화 채팅은 Claude, Codex, Grok, OpenCode(2.x 포함), Pi, OMP 및 Antigravity를 지원합니다. 구조화 구현이 없는 에이전트와 WSL 또는 SSH 세션은 대신 터미널 기반 Chat UI(채팅 UI)를 사용합니다.

  1. **Settings → Experimental → Chat UI(설정 → 실험적 기능 → 채팅 UI)**를 엽니다.
  2. **Chat UI(채팅 UI)**를 켭니다.

지원되는 새 에이전트 탭은 구조화 채팅으로 열립니다. Settings → Chat → Providers(설정 → 채팅 → 제공자)에서 새 세션을 터미널로 열고 싶은 개별 제공자를 끕니다. 제공자를 변경하지 않으면 일반적인 Chat UI(채팅 UI) 동작이 유지됩니다. 이 환경설정은 CLI, 오케스트레이션 및 휴대전화에서 중계된 시작을 포함하여 해당 데스크톱에서 에이전트를 시작하는 모든 곳에 적용됩니다. 탭의 마우스 오른쪽 버튼 메뉴(Resume in New CLI(새 CLI에서 재개) / Resume in New Native Chat(새 네이티브 채팅에서 재개)) 또는 에이전트 세션 기록에서 대화를 채팅과 터미널 사이로 이동할 수 있습니다.

새 로컬 Claude, Codex, Grok, OpenCode, Pi, OMP 또는 Antigravity 세션은 상태를 Orca에 유지하는 구조화 채팅 탭으로 열리므로 앱을 다시 시작한 뒤에도 탭과 대화를 복원할 수 있습니다.

구조화 채팅은 로컬 macOS, Linux 및 네이티브 Windows의 지원되는 세션과 해당 워크스페이스를 소유한 페어링된 Orca 서버의 워크스페이스에서 사용할 수 있습니다. WSL 및 SSH 세션은 계속 터미널 기반 Chat UI(채팅 UI)를 사용하며, 구조화 구현이 없는 에이전트도 터미널에 유지됩니다. 기존 터미널 세션은 계속 터미널 세션으로 유지됩니다.

Settings → Experimental → Chat UI(설정 → 실험적 기능 → 채팅 UI) 아래의 Use your shell environment(셸 환경 사용) 설정은 새로 시작하거나 재개한 구조화 채팅에 전달할 변수를 제어합니다. 기본적으로 켜져 있으므로 로그인 셸에서 내보낸 변수를 받습니다. 이 설정을 끄면 PATH, 로캘 및 SSH_AUTH_SOCK 같은 기본 셸 변수에 더해 선택한 이름의 변수만 허용합니다. 터미널 기반 채팅은 계속 해당 터미널 셸을 사용합니다.

구조화 채팅은 Settings → Agents(설정 → 에이전트)에서 해당 에이전트에 저장한 Command(명령) 및 **Arguments(인수)**로 에이전트를 시작합니다. Settings → Chat(설정 → 채팅)에서 구조화 채팅의 텍스트 크기, 코드 크기, 너비 및 대비를 설정하거나 **Match terminal interface(터미널 인터페이스와 일치)**를 켜서 이후 테마 변경을 포함한 터미널 글꼴과 색상을 따르게 합니다. 이 창의 **Inline visuals(인라인 시각화)**를 사용하면 에이전트가 데스크톱과 휴대폰의 응답 안에 차트, 다이어그램 및 목업을 그릴 수 있습니다. 더 넓은 공간이 필요하면 시각화를 자체 탭에서 열 수 있으며, Mermaid 다이어그램은 다크 모드에서 채팅 테마를 따릅니다. **Settings → Agents(설정 → 에이전트)**에서 새 Claude 및 Codex 터미널과 구조화 채팅 세션에 사용할 Manual(수동), Auto(자동) 또는 **Yolo(욜로)**를 선택합니다. **Auto(자동)**를 사용하면 지원되는 에이전트가 일상적인 작업을 자체 승인할 수 있습니다. Auto를 지원하지 않는 에이전트에는 **Other agents(기타 에이전트)**에서 Manual 또는 Yolo를 선택합니다. 기본값을 변경하거나 모델을 전환해도 기존 채팅은 자체 모드를 유지합니다.

Antigravity 채팅은 자체 채팅 서버를 사용합니다. 채팅을 실행할 호스트에 서버가 설치되어 있지 않으면 해당 Providers(제공자) 행이나 채팅의 설치 카드에서 **Install(설치)**을 선택한 다음, 그 서버의 Google 흐름으로 로그인합니다. 런타임은 Install(설치)을 선택한 후에만 다운로드됩니다. 설치된 Providers(제공자) 행에서 **Remove(제거)**를 선택하면 다운로드한 런타임을 제거합니다. 이 경우 해당 호스트에서 실행 중인 Antigravity 채팅은 중지되지만 채팅 기록은 유지됩니다.

앱 재시작으로 구조화 채팅이 중단된 경우 다시 연결하면 Orca가 재개 여부를 묻습니다. 이 대화 상자를 닫아도 나중에 상태 표시줄의 chats to resume(재개할 채팅) 항목에서 다시 열 수 있습니다. 재개할 수 있는 채팅이 더 이상 없으면 이 항목은 사라집니다. 닫은 채팅 탭은 오른쪽에 다시 나타나지 않고 닫힌 상태로 유지됩니다.

  • 메시지를 입력해 전송하거나 진행 중인 턴을 중지합니다. 호스트가 지원하면 files/images를 첨부합니다. 파일 트리나 데스크톱의 파일을 작성기 또는 채팅 창의 아무 곳에나 끌어다 놓아 에이전트가 읽을 수 있는 경로로 추가할 수 있습니다. 업데이트된 로컬 Codex 채팅에서는 앱 메뉴나 클립보드의 이미지를 붙여 넣습니다. 전송 대기 중인 이미지는 제거 가능한 썸네일로 표시되며 더 큰 미리보기를 열 수 있습니다. 첨부한 파일은 작성기에 파일 이름 필로 표시됩니다. 호스트에서 복원할 수 있으면 전송하지 않은 초안과 첨부 파일은 disconnect/reconnect 후에도 해당 창에 유지됩니다. 동일한 세션이 다시 연결될 때 완료된 대화 기록도 새 로드가 끝날 때까지 화면에 계속 표시됩니다(데스크톱과 모바일에서 동일하게 유지됩니다).
  • 초안에 @ 문자를 입력하면 작업 공간 파일을 선택해 에이전트가 읽을 수 있는 경로로 삽입합니다. 같은 제안 팝오버가 데스크톱과 모바일 Chat UI(채팅 UI)에 표시됩니다.
  • 채팅에서 텍스트를 찾으려면 macOS에서 Cmd+F, Windows/Linux에서 Ctrl+F을 누릅니다. 에이전트 응답의 일부를 선택하고 **Add to chat(채팅에 추가)**을 선택하면 작성기에 인용할 수 있으며, 빈 초안에서 Up/Down을 누르면 전송했던 모든 프롬프트를 불러옵니다.
  • 에이전트가 작업 중일 때 전송한 메시지는 작성기 위에 카드로 대기합니다. **Steer(진행 중인 턴에 반영)**를 선택하거나 메시지를 편집 또는 삭제할 수 있으며, 별도 작업을 하지 않으면 턴이 끝난 뒤 전송됩니다. 에이전트가 사용자에게 질문하는 동안에도 대기 메시지를 그 자리에서 편집할 수 있습니다. 같은 카드는 모바일 작성기 위에도 표시됩니다.
  • **Stop(중지)**은 턴을 종료합니다. Claude에서는 백그라운드 명령과 하위 에이전트를 포함한 프로세스를 종료합니다. Codex가 중지 요청을 거부하거나 응답하지 않으면 Orca가 프로세스도 종료합니다. 전송되지 않았다고 표시된 메시지는 **Retry(재시도)**를 선택할 때까지 미전송 상태로 유지되며, 진행 중인 턴에 반영한 메시지는 다시 전송되지 않습니다. 보내는 메시지는 호스트가 확인할 때까지 **Sending…(전송 중…)**으로 표시되고, 전달에 실패하면 사유와 함께 **Not sent(전송되지 않음)**로 표시됩니다. Orca 충돌 또는 종료로 응답이 중단되면 설명 하나가 포함된 완료된 턴으로 표시됩니다. Orca가 응답을 중단해야 했던 경우 그 이유를 표시하고 **Continue(계속)**을 제공하며, 먼저 마지막 단계가 완료되었는지 확인하도록 에이전트에 요청합니다.
  • 보낸 메시지의 Rewind to here(여기로 되돌리기)(마우스를 올리면 나타나는 작업 표시줄의 실행 취소 동작)를 사용하면 대화를 해당 시점으로 되돌릴 수 있습니다. 메시지는 작성기로 돌아가 편집 후 다시 보낼 수 있습니다. 되돌리려면 에이전트가 유휴 상태이고 사용자 응답을 기다리는 항목이 없어야 하며, Codex는 전체 턴을 되돌립니다.
  • 업데이트된 구조화 Codex 채팅에서는 실행 중인 도구 호출의 진행 상황을 실시간으로 표시합니다. 도구 실행이 끝나면 활동이 간결한 행으로 정리되며, 이 행을 펼쳐 명령 또는 결과 출력을 확인할 수 있습니다.
  • 도구 행에는 내부 작업 이름 대신 MCP 및 웹 검색을 포함해 수행한 동작이 표시됩니다. 세션의 다른 작업은 중지하지 않고 해당 행에서 실행 중인 개별 작업만 중지할 수 있습니다.
  • 긴 전송 메시지는 토글 뒤로 접히며, 응답 사이에 이어지는 생각과 도구 호출은 펼칠 수 있는 하나의 행으로 접혀 복잡한 대화 기록도 읽기 쉽게 유지됩니다.
  • 에이전트가 번호가 매겨진 선택지로 질문하면 숫자 키를 눌러 답합니다. Orca는 다음 질문으로 이동합니다.
  • 창 동작을 사용하면 동일한 세션을 유지하면서 Chat UI(채팅 UI)를 분할하거나 다른 창으로 이동할 수 있습니다.
  • 에이전트가 편집한 파일은 인라인 diff 카드로 표시됩니다. 대화 기록의 파일 경로와 링크를 클릭하면 Orca에서 열립니다.
  • 구조화 채팅에서 /clear 명령은 같은 창에서 새 대화를 시작하고 이전 대화는 기록에 유지합니다. /compact 명령은 작업을 계속할 수 있도록 현재 대화 컨텍스트를 축약하도록 에이전트에 요청하며, Claude, Codex, Grok, OpenCode 및 OMP가 이를 지원합니다. 에이전트가 작업 중일 때 전송한 /compact 명령은 거부되지 않고 대기열에 들어갑니다.
  • 메시지를 보내는 동안 Orca 또는 에이전트가 재시작되면 Orca는 제공자 대화 기록을 확인하고 메시지가 도착했음을 입증할 수 있을 때 전송을 완료 처리합니다. 도착하지 않았음을 입증할 수 있으면 **Retry(재시도)**를 사용할 수 있습니다. 결과를 구분할 수 없으면 Orca는 중복 전송 위험을 피하기 위해 미확인 상태로 둡니다.
  • Orca가 이름을 생성할 수 있으면 새 채팅은 첫 메시지를 바탕으로 이름이 지정되며, 그렇지 않으면 Claude Chat 또는 Codex Chat으로 유지됩니다. **Settings → Chat → Chat names(설정 → 채팅 → 채팅 이름)**에서 이름을 생성할 에이전트와 명령을 선택하며, 탭 동작에서 구조화 채팅 탭의 이름을 바꿀 수 있습니다.
  • 초안 시작 부분이나 공백 뒤에 / 문자를 입력하면 슬래시 명령과 검색된 스킬을 하나로 묶은 목록이 열립니다. 선택기는 에이전트가 기대하는 토큰을 삽입합니다(/skill은 Claude용이고 $skill은 Codex용입니다). $ 기호는 더 이상 별도의 선택기를 열지 않습니다. 문장 중간에서 명령을 선택하면 주변 초안을 전송하지 않고 토큰만 완성합니다. 명령 및 스킬 카탈로그는 에이전트별로 구성되며 모바일 Chat UI(채팅 UI)와 공유됩니다. 데스크톱에서는 가능한 경우 Claude 명령 행에 설치된 CLI가 보고한 설명과 인수 힌트를 사용합니다.
  • 에이전트 소유 명령은 채팅 화면에서 거부하지 않고 에이전트로 전달합니다. 여기에는 Claude의 /init, /review, /help와 Codex의 /goal <objective>가 포함됩니다. Orca는 계속 /clear, /compact 같은 자체 대화 명령을 처리합니다.
  • 에이전트가 제공하는 model(모델) 및 옵션 선택 필(thought level(사고 수준), Fast mode(고속 모드) 및 기타 에이전트별 세션 옵션)을 사용합니다. 공급자가 많은 모델을 제공하면 Search models…(모델 검색…) 필드로 선택기를 필터링합니다. 고속 모드는 공급자와 모델을 인식하는 토글입니다. Orca는 활성 에이전트가 지원할 때만 이를 표시하고 공급자가 지원하는 라우팅을 유지합니다. Claude 모델 선택지는 하드코딩된 목록이 아니라 해당 호스트에 설치된 Claude CLI에서 가져오므로 CLI를 업데이트하면 새 모델이 표시됩니다. Codex는 선택 필에서 직접 모델을 선택할 수 있으며(/model <id> 전송), 인수 없는 /model은 계속 에이전트 선택기를 열고, 속도 선택지로 **Ultrafast(초고속)**를 제공합니다. Grok은 model(모델)(시작 시 -m, 세션 중 /model)과 reasoning effort(추론 노력)(시작 시 --reasoning-effort, 세션 중 /effort)을 제공합니다. 모델 목록은 로그인된 Grok CLI(grok models)에서 조회하므로 사용 중단된 ID는 선택기에서 사라집니다. 노력 수준 선택지는 선택한 모델에 따라 달라집니다. Grok 4.6에는 **Extra high(매우 높음)**이 포함되지만 Grok 4.5는 **High(높음)**까지만 지원합니다. 모델 선택기는 더 이상 에이전트 시작을 기다리지 않습니다. 에이전트 프로세스가 시작되기 전에도 작성기에 해당 에이전트의 모델 및 노력 수준 선택지가 표시되며 첫 시작에 적용됩니다. 세션이 활성화된 뒤에는 실행 중인 턴에만 영향을 주는 선택 필이 세션 준비가 끝날 때까지 비활성화되거나 레이블만 표시됩니다. 실시간 값은 해당 탭의 CLI로 전달됩니다.
  • 업데이트된 구조화 Claude 채팅에서는 모델 및 노력 수준 컨트롤 옆의 링에 대화가 컨텍스트 창을 얼마나 사용하고 있는지 표시됩니다. 링을 열면 토큰 수와 메시지, 도구, 메모리 파일 및 기타 컨텍스트가 차지하는 공간을 확인할 수 있습니다. 이 정보는 턴이 진행되는 동안 업데이트되며 채팅을 다시 열어도 계속 사용할 수 있습니다.
  • Codex, Pi 및 OMP는 전송 전에 로그아웃 상태임을 알리되 **Send(전송)**를 비활성화하지 않으므로 실패한 턴을 기다리는 대신 로그인 문제를 해결할 수 있습니다.

긴 구조화 대화에서는 대화 기록 가장자리에 사용자 프롬프트마다 하나의 마커가 있는 메시지 레일이 표시됩니다. 마우스를 올리거나 포커스하면 프롬프트를 미리 볼 수 있으며, 하나를 선택하면 해당 턴으로 돌아갑니다. 긴 기록은 레일을 간결하게 유지하도록 샘플링됩니다.

위로 스크롤해 이전 메시지를 읽습니다. 채팅 UI는 맨 위에 도달하기 전에 더 이전 기록을 불러옵니다. 페이지를 불러오지 못하면 그 위치의 retry(재시도) 버튼을 사용합니다. 데스크톱에서는 전송한 텍스트 메시지 위에 마우스를 올린 뒤 타임스탬프 옆 버튼으로 메시지를 복사합니다.

채팅의 코드 펜스 블록과 셸 명령은 구문 강조되며, 각 코드 펜스 블록에는 Copy code(코드 복사) 버튼이 있습니다. 이 버튼은 주변 메시지가 아니라 코드 조각만 복사합니다.

구조화 채팅은 기본 턴이 진행되는 동안과 완료된 후에도 위임된 작업과 백그라운드 작업을 계속 표시합니다.

  • 작업이 진행 중인 동안 백그라운드 작업 표시줄이 계속 표시됩니다. 요약에는 에이전트, 셸, 모니터, 워크플로 및 기타 작업 수가 표시됩니다. 이를 펼치면 이름, 상태 점, 경과 시간이 포함된 그룹별 행을 볼 수 있습니다. Claude 또는 Codex 하위 항목은 각각의 작업이 끝날 때까지 유지되며 펼친 보기에 작업과 결과가 표시됩니다. 에이전트 하위 항목은 사이드바의 세션 아래에도 들여쓰기된 행으로 나타납니다. Codex 채팅은 세션의 나머지 작업을 중지하지 않고 해당 행에서 백그라운드 명령이나 하위 에이전트를 중지할 수 있으며, Grok 채팅은 백그라운드에 남겨 둔 명령을 나열하고 중지할 수 있습니다. Grok도 하위 에이전트를 하위 에이전트 행으로 표시합니다.
  • Claude 하위 에이전트가 권한 프롬프트를 기다리는 동안 하위 행에는 대기 중으로 표시되고, 상위 세션에는 **waiting(대기 중)**이 표시됩니다. 이는 CLI에서 승인을 요청하는 하위 에이전트를 **blocked(차단됨)**가 아니라 대기 중으로 보고하는 방식과 같습니다.
  • 구조화 채팅이 승인 또는 입력을 요청하기 위해 턴 도중 중지되면 Orca는 다른 대기 중 에이전트와 마찬가지로 알림을 보내므로 대화 기록을 계속 지켜볼 필요가 없습니다.
  • Claude TodoWrite와 Codex update_plan 업데이트는 인라인 체크리스트로 렌더링됩니다. 최신 계획은 작성기 위의 접을 수 있는 진행 상황 패널에도 표시됩니다.
  • 활성 Codex 목표는 작성기 위에 현재 상태와 함께 표시됩니다. 해당 위치의 목표 컨트롤을 사용해 목표를 일시 중지, 재개, 지우거나 펼칠 수 있습니다. /goal을 입력하면 다음 초안을 목표로 전송합니다.
  • 실행 중인 턴에는 대화 기록 끝에 하나의 활동 행이 있습니다. **Thinking(생각 중)**은 현재 턴에서 추론을 생성하고 있음을 의미합니다. 명령 실행 같은 공급자 활동이 있으면 해당 활동이 우선 표시됩니다. 완료되거나 중단된 턴의 소요 시간은 다시 로드하거나 앱을 재시작해도 유지됩니다. Orca가 턴 종료를 관찰하지 못한 경우 시간을 추정하지 않고 생략합니다.
  • Codex 목표를 설정, 일시 중지, 차단, 완료, 중단 또는 지우면 변경 사항이 대화 기록 행으로 표시됩니다. 반복적인 집계 업데이트는 중복 행을 추가하지 않습니다.
  • 턴이 끝나면 헤더에 변경된 고유 파일과 해당 additions/deletions가 요약될 수 있습니다. 헤더를 펼치면 기존 diff 카드가 나타납니다. 응답이 완료된 승인 및 질문 카드는 선택한 답변을 보여 주는 기록으로 유지됩니다.
  • 완료된 턴은 답변으로 접힙니다. 에이전트가 턴 실패를 보고하면 실행 중인 상태로 계속 표시되지 않고 턴이 종료됩니다.

구조화 채팅이 백그라운드에서 정상적으로 완료되면 Orca는 해당 탭과 워크스페이스를 읽지 않음으로 표시합니다. 이 동작은 데스크톱 알림이나 소리를 발생시키지 않습니다. 다른 주의 알림 컨트롤은 알림 및 수신함을 참조합니다.

슬래시 명령 선택기에서 스킬을 선택하면 초안에 필 형태로 계속 표시됩니다. 직접 입력하거나 붙여 넣은 스킬 이름은 일반 텍스트로 유지됩니다. 설치 및 업데이트 방법은 Orca 스킬을 참조합니다.

Claude가 AskUserQuestion(사용자에게 질문) 또는 이와 유사한 구조화된 permission/question 카드를 표시하면, Chat UI(채팅 UI)는 이를 접힌 도구 호출로 취급하지 않고 대화 기록에 질문 카드를 렌더링하여 작성기에서 답변할 수 있게 해야 합니다. 카드의 **Submit(제출)**으로 확인합니다. 이는 로컬 창뿐 아니라 페어링된 원격 Orca 서버 또는 헤드리스 호스트에서 실행되는 에이전트에도 적용됩니다.

채팅과 터미널 사이에서 대화 이동

섹션 제목: “채팅과 터미널 사이에서 대화 이동”

탭의 마우스 오른쪽 버튼 메뉴 또는 에이전트 세션 기록 행에서 대화를 구조화 채팅과 터미널 사이로 이동할 수 있습니다. **Resume in New Native Chat(새 네이티브 채팅에서 재개)**은 이전 대화를 구조화 채팅으로 열고, **Resume in New CLI(새 CLI에서 재개)**는 대화를 터미널로 분기합니다. 원래 대화는 그대로 유지됩니다. 대화가 구조화 채팅용으로 예약된 뒤에는 해당 세션에서 터미널 Resume(재개) 대신 채팅을 사용합니다.

Chat UI(채팅 UI)는 지원되는 로컬 및 원격(페어링된 서버) 에이전트 세션용으로 데스크톱에서 제공됩니다. 모바일 컴패니언은 동일하게 페어링된 세션에 채팅 형식의 대화 기록 패턴을 재사용합니다.

실험적 기능

대화 기록의 충실도, 스트리밍 및 터미널과의 기능 일치는 계속 조정 중입니다. OSC/status의 모든 세부 정보가 필요하면 원시 TUI를 사용하는 것이 좋습니다.