English
Agent Float

Agent Float. macOS를 위한 작은 작업 허브.

작업은 계속.
확인은 한곳에서.

어느 에이전트가 일하고 있는지,
어느 세션이 내 답을 기다리는지.
작은 플로팅 하나로 확인하고 이어 가세요.

ClaudeCodex상태 확인 · 터미널 이동 · 질문 답장

로컬에서 실행하는 macOS 앱입니다.
이 문서는 2026.10.30 구현 기준입니다. 지원 범위는 아래에서 확인하세요.

화면 구석에서, 필요한 순간에.
2 ASK11
내 응답 대기 2
결제 화면 개선
Claude>_sample-app · 질문 대기
2분
세션 탐지 기능 추가
Codex>_agent-float · 질문 대기
1분
진행 중 1
API 응답 처리
Codex>_workspace-api
7분
완료 1
회귀 테스트 보완 NEW
Claude>_agent-float
3분

기능 설명용 가상 세션과 화면 구성 예시

01 / 본다

주황·파랑·초록 점으로 대기·진행·완료를 확인합니다.

02 / 간다

확인할 세션을 누르면 해당 터미널로 이동합니다.

03 / 답한다

지원되는 질문에는 플로팅에서 바로 답합니다.

필요한 순간만, 간결하게.

확인에서 답장까지,
문맥을 이어서.

아래 항목을 누르면 기능별 예시가 바뀝니다. 모든 조작은 이 문서 안의 데모이며 실제 세션에 연결하지 않습니다.

가상 데이터 데모 · 실제 이동·전송 없음

주황 · 내 응답 대기

질문이나 승인에 대한 응답을 기다립니다. 실제 대기가 풀리면 ASK도 꺼집니다.

파랑 · 진행 중

에이전트가 작업 중입니다. Claude의 예약 작업처럼 스스로 이어질 작업도 포함할 수 있습니다.

초록 · 완료 / 유휴

턴이 끝나고 다음 입력을 받을 수 있습니다. 작업의 성공 자체를 보장하는 표시는 아닙니다.

회색 · 상태 확인 불가

모르는 상태이거나 오래 응답이 없습니다. Codex 연결 확인에 실패한 기존 항목도 이 상태로 바뀝니다.

NEW가 꺼지는 조건: 목록에서 그 세션을 누르거나, Ghostty·Terminal.app·iTerm2에서 해당 탭을 직접 고르거나, 세션이 다시 일을 시작하면 꺼집니다. 목록을 펼치기만 해서는 꺼지지 않습니다. Orca의 직접 탭 전환과 tmux pane 전환은 감지하지 못해 NEW가 남을 수 있습니다.

Claude와 Codex, 함께.

누가, 어디에서
일하고 있는지도.

새로 적용한 이름 배지는 에이전트 종류를 표시합니다. 기존 터미널 아이콘은 실행 위치를 뜻합니다. 제목 공간을 지키기 위해 두 번째 줄에 함께 배치했습니다.

Claude와 Codex 이름 배지가 세션 목록의 두 번째 줄과 답장 헤더, 옆 카드에 표시된 실제 SwiftUI 렌더링
현재 SwiftUI 구성 요소로 렌더링한 가상 세션 예시입니다. 목록은 280px, 답장 화면은 320px 기준입니다. 유리 효과와 배경은 실제 실행 환경에 따라 달라집니다.

이름으로 구분

Claude와 Codex를 글자로 읽을 수 있습니다. 색을 구별하기 어려워도 에이전트 종류를 알 수 있습니다.

상태 색은 그대로

대기·진행·완료 점은 기존 의미를 유지합니다. 에이전트 종류 때문에 상태별 목록을 나누지 않습니다.

답장할 때도 같은 이름

패널 전환, 줄 안에서 펼침, 옆 카드 모두 에이전트 이름을 표시해 어느 세션에 답하는지 이어서 보여 줍니다.

확인하고 보내는 답장.

보냈다는 말은,
기록을 확인한 다음에.

답변이 달라지거나 질문 창을 확인할 수 없으면 전송을 멈춥니다. 진행 상황과 실패 이유를 플로팅에 표시합니다.

전송 전후, 네 번의 확인.

한 번에 키를 쏟아 넣지 않습니다.

같은 질문을 기다리는지 확인하고, 터미널 화면을 읽고, 입력에 따라 화면이 바뀌는지 확인합니다. 마지막에는 실제 저장된 답과 사용자가 고른 답을 대조합니다. 다른 답이 기록되거나 확인 시간이 지나면 성공으로 표시하지 않습니다.

01같은 질문 확인
02터미널 화면 확인
03단계별로 입력
04기록된 답 대조

쓰던 글이 있으면 멈춤

터미널 입력 칸에 다른 글이 있으면 섞어 보내지 않습니다. Ghostty는 첫 글자 하나로 확인하고, 쓰던 글이 있으면 그 글자를 지웁니다.

승인은 터미널에서

권한 승인 대기는 내용을 보여 줍니다. 플로팅이 사용자를 대신해 승인하지 않습니다.

실패는 확인할 때까지

전송 도중 멈추거나 기록이 다르면 FAIL과 확인 필요 항목이 남습니다. 사용자가 확인하고 닫거나 터미널을 열 수 있습니다.

쓰던 답과 질문의 문맥을 유지합니다. 같은 질문이 대기 중이면 목록으로 돌아갔다 다시 열어도 작성 중인 답이 남습니다. 앱을 종료하거나 질문이 바뀌거나 대기를 벗어나면 사라집니다. 질문이 여럿이면 전송 전에 답을 모아 확인하고 질문별로 수정할 수 있습니다. 긴 마지막 답변은 전체 보기로 펼칠 수 있습니다.

전송하지 못했다면 이유부터 확인하세요. 질문이 그대로라면 쓴 답을 유지하고 다시 확인하거나 터미널에서 열기로 이어 갑니다. 손쉬운 사용 권한이 필요하면 설정 열기가 나타납니다. 전송 성공·이미 답함·세션 종료는 잠시 뒤 목록으로 돌아가며, 전송 도중 실패한 항목은 직접 확인할 때까지 남습니다.
답장 동작 녹화 보기 · 배지가 적용된 현재 앱
여러 질문을 차례로 고른 뒤 확인하고 보내는 동작
질문 여러 개에 차례로 답하기
마지막 본문 질문에 답장을 입력하는 동작
답변 끝의 질문에 직접 써서 답하기
기록이 일치하지 않아 실패 표시가 남는 동작
기록이 다르면 성공 대신 확인 필요 표시

동작 줄이기 설정에 따라 움직이는 녹화를 숨겼습니다.

녹화는 맥북 내장 디스플레이에서 현재 앱을 가상 세션·가상 전송 결과로 촬영했습니다. 실제 터미널 전송을 녹화한 자료가 아닙니다.

작업 환경에 맞추는 설정.

놓을 자리도,
답할 방식도.

메뉴바 아이콘에서 설정을 엽니다. Dock 아이콘을 사용한다면 우클릭으로도 같은 메뉴를 열 수 있습니다.

답장 화면

세 가지 배치 중에서.

패널 전환 기본값
패널 내용이 선택한 세션의 답장 화면으로 바뀝니다.
줄 안에서 펼침
목록에서 누른 줄이 길어지며 답장 내용이 나타납니다.
옆에 카드
목록을 그대로 두고 패널 옆에 답장 카드를 띄웁니다.
가장자리 대비

배경에 묻히지 않게.

윤곽선 기본값
유리 가장자리에 반대 톤의 얇은 선을 두릅니다.
뒤 화면과 반대
유리가 고른 톤과 반대되는 밝기의 면을 칠합니다.
유리 그대로
추가 채움이나 윤곽선 없이 시스템 유리 효과를 사용합니다.
아이콘 위치

메뉴바에도, Dock에도.

메뉴바에서 보기가 기본값입니다. Dock에서 보기 또는 둘 다 보기로 바꿀 수 있습니다.

Dock에 두면 ⌘Tab으로도 찾을 수 있습니다. 메뉴바 아이콘을 숨겼을 때는 Dock 아이콘의 우클릭 메뉴에서 설정을 엽니다.

위치와 데스크톱

작업 옆, 익숙한 자리에.

플로팅을 드래그해 옮기면 위치를 저장합니다. 메뉴의 위치 초기화로 기본 자리로 되돌릴 수 있습니다.

다른 앱 위와 여러 데스크톱에서 표시됩니다. 목록이 길어지면 높이를 제한하고 스크롤할 수 있습니다. 데스크톱 전환 애니메이션 동안에는 잠시 함께 움직일 수 있습니다.

로그인 시 실행 · 종료

로그인하면 함께 시작.

메뉴의 로그인 시 실행으로 자동 실행을 설정합니다. macOS가 승인을 요구하면 로그인 항목 설정에서 승인합니다.

등록할 때의 앱 위치를 사용하므로 설치한 앱에서 설정하세요. 앱을 끝내려면 메뉴의 Agent Float 종료 또는 Dock의 종료를 사용합니다.

포커스와 동작 줄이기

필요할 때만 입력을.

목록을 보는 동안 작업 앱의 포커스를 유지합니다. 답장 화면이 열려 있을 때 입력을 받고, 닫으면 이전 앱으로 돌아가 이어서 쓸 수 있습니다.

macOS의 동작 줄이기 설정을 반영합니다. 펼침·접힘 전환과 주의를 끄는 테두리 효과를 줄입니다.

이 문서 상단의 라이트·다크 전환은 소개 화면을 비교하기 위한 기능입니다. 앱의 유리·글자·상태 표시는 시스템 설정과 뒤 화면의 밝기에 따라 달라집니다.

Herdr 데스크톱 앱은 herdr-core의 로컬 터미널 소속과 앱 배치를 확인한 뒤 이동합니다. 구형 herdr CLI는 대상이 아니며, 직접 답하기는 보기만 지원합니다.

현재 지원하는 기능.

같은 화면,
서로 다른 탐지 범위.

현재 지원하는 범위입니다. 모든 실행 방식이나 터미널이 같은 수준으로 지원되는 것은 아닙니다.

기능ClaudeCodex
세션 탐지세션 파일과 프로세스 생존 확인로컬 공유 서버와 살아 있는 TUI·실제 터미널 대조
직접 열지 않은 자동화살아 있는 세션 파일이 있으면 포함TUI·터미널이 없는 자동화와 서버 내부 임시 세션은 제외
질문 답장선택지·직접 쓰기·여러 개 고르기·질문 여러 개·본문 질문선택지 하나 고르기·notes 직접 입력·질문 여러 개·본문 질문
승인 대기내용 보기내용 보기
에이전트 이름 배지목록·답장 헤더·옆 카드목록·답장 헤더·옆 카드

Codex는 0.165.0에서 검증했습니다. --no-daemon, 별도·원격 서버, 공유 서버를 사용하지 않는 IDE·데스크톱 세션은 제외합니다. 제목을 임의로 바꾸거나 중복 제목으로 위치를 확정할 수 없으면 탐지에서 빠질 수 있습니다.

실행 위치이동답장
Ghostty확인한 탭으로 이동선택된 비분할 탭에서 전송. 손쉬운 사용 권한 필요
Orca확인한 터미널로 이동전송
tmuxpane으로 전환한 뒤 바깥 터미널 활성화. 붙은 클라이언트가 없으면 Ghostty 새 탭에서 연결전송
Terminal.app · iTerm2tty가 일치하는 탭으로 이동보기만
Claude 백그라운드claude --bg 작업을 Ghostty 새 탭의 claude attach로 열기플로팅에서는 보기만
Cursor·Warp 등Claude 세션의 부모 앱을 찾을 수 있으면 앱을 앞으로. 정확한 탭 선택은 지원하지 않음보기만
이동 위치 확인 불가위치 정보가 없으면 이동용 hover·클릭 비활성화. 이동 시 대상 앱·탭을 못 찾으면 경고음지원되는 화면을 확인할 수 없으면 전송하지 않음
직접 실행 / 자동화 분류는 아직 없습니다. 숫자로 시작하는 임시 작업 이름도 Claude 자동화 도구가 붙인 실제 세션 이름일 수 있습니다. 이름 배지는 Claude·Codex 구분을 뜻하며, 자동화 여부를 의미하지 않습니다.

긴 글의 접힘과 자동 완성 때문에, 답장은 800자(UTF-16 단위) 이내의 한 줄로 제한합니다. /·!·#로 시작하거나 @가 든 본문 답은 터미널에서 직접 보내세요. 실행 위치와 화면 모양에 대한 자세한 제약은 README의 알려진 한계에 있습니다.

시작하기.

로컬에서 빌드하고,
작업 옆에 띄워 두세요.

처음 한 번 로컬 서명 인증서를 만들면 재빌드 후에도 자동화·손쉬운 사용 권한을 유지하는 데 도움이 됩니다.

준비할 것

  • macOS 26 이상
  • Swift 6 도구 모음 / Xcode 또는 Command Line Tools
  • 탐지할 Claude Code 또는 로컬 공유 서버를 사용하는 Codex CLI
  • Orca 이동을 사용한다면 Orca CLI

Ghostty·Terminal.app·iTerm2를 처음 제어할 때 자동화 승인이 필요합니다. Ghostty 답장에는 화면을 읽는 손쉬운 사용 권한도 필요합니다.

TERMINAL / 최초 설치
git clone https://github.com/Enjoywater/agent-float.git
cd agent-float
scripts/create-signing-identity.sh
make install
목록 펼치기플로팅에 마우스 올리기
질문을 건너뛰고 터미널 이동⌘ + 클릭
답장 화면에서 선택지 고르기1 – 9
답장 보내기 / 한글 조합 확정⏎
답장 입력 칸 이동Tab
입력 칸에서 나가기 / 목록으로esc
입력 칸에서 복사·붙여넣기·모두 선택⌘C · ⌘V · ⌘A
입력 칸에서 오려두기·실행 취소·복귀⌘X · ⌘Z · ⇧⌘Z

메뉴에서 답장 화면 배치(패널 전환·줄 안·옆 카드), 가장자리 대비, 메뉴바·Dock 아이콘, 로그인 시 실행을 바꿀 수 있습니다. 위 명령은 로컬 서명 후 /Applications에 설치하고 앱을 실행합니다.

궁금한 점, 미리 확인하세요.

자주 헷갈리는 점.

내가 사용하지 않은 세션도 왜 보이나요?

Claude는 봇이나 스케줄러가 실행한 세션도 포함합니다. 사용자가 직접 터미널을 열지 않았더라도 살아 있는 프로세스와 세션 파일이 있으면 나타날 수 있습니다. 대화의 AI 제목이 없으면 숫자나 draft 같은 임시 작업 이름이 표시될 수 있습니다. 직접 실행과 자동화를 나누는 필터는 아직 없습니다.

Codex가 실행 중인데 목록에 없을 수 있나요?

현재는 로컬 공유 app-server를 사용하는 Codex TUI와 확인 가능한 터미널을 함께 탐지합니다. 별도 서버나 원격 세션, 자동 제목을 꺼 두었거나 중복 제목으로 위치가 모호한 세션은 제외될 수 있습니다. 서버 메모리에 남은 예전 세션을 그대로 표시하지는 않습니다.

초록색이면 작업이 성공했다는 뜻인가요?

턴이 끝나고 입력을 받을 수 있는 완료·유휴 상태를 뜻합니다. 중단 후 유휴 상태도 포함할 수 있으므로 작업 결과의 성공 여부는 대화 내용을 함께 확인하세요.

답장을 보낼 수 없을 때는 어떻게 하나요?

같은 질문인지 확인할 수 없거나 터미널에 쓰던 글이 있으면 보내지 않습니다. 전송 도중 멈추면 일부 입력이 들어갔을 수 있으므로 실패 이유를 확인하고 터미널에서 이어 가세요. 가려진 Ghostty 탭과 분할 탭은 보기만 지원합니다.

흩어진 작업을, 작은 표면 하나에.

에이전트 이름을 확인하고, 필요한 작업으로 이어 가세요.