Show HN: Let your AI agents paint big arrows, boxes and text on your screen
AI 에이전트가 화면에 화살표와 안내 문구를 그리게 하는 macOS 도구
bigarrow는 AI 에이전트가 사람의 확인이나 조작이 필요한 순간에 화면 위로 화살표와 안내 문구를 띄우는 macOS 명령줄 도구입니다. 클릭이나 키보드 포커스를 가로채지 않고, 사용자가 허용 버튼을 직접 누르거나 복잡한 GUI 절차를 따라가도록 안내합니다.
- 주제
AI 요약
bigarrow는 macOS 화면에 화살표, 테두리 상자, 안내 문구를 그리는 Swift 기반 명령줄 도구입니다. Claude Code와 Codex용 Agent Skill도 제공합니다. 에이전트가 권한 승인이나 2단계 인증처럼 직접 처리하지 않거나 사람이 판단해야 하는 단계에 도달하면, 대상 UI를 찾아 표시하고 사용자가 조작하도록 안내합니다. 도구는 화면을 캡처하거나 클릭·입력하지 않습니다. 안내 표시만 담당합니다.
대상 지정과 화면 표시
대상은 UI 요소의 이름과 앱 이름으로 찾거나, 좌표·사각형·마우스 위치·창 이름으로 지정합니다. Peekaboo의 대상 ID도 지원합니다. 앱이나 창, Chrome·Safari 탭을 앞으로 가져온 뒤 화살표를 표시할 수 있고, 다른 창이 대상 위를 덮으면 화살표를 숨깁니다. 여러 디스플레이와 Spaces를 지원하며, 디스플레이 분리 시 표시도 정리합니다.
화살표는 항상 위에 표시되지만 포커스를 가져오지 않습니다. 화살표와 안내 문구를 클릭하면 표시가 사라지고, 대상이나 화살촉 주변을 누르면 클릭이 원래 앱으로 전달됩니다. 표시 시간 제한, 명령으로 종료, 에이전트 프로세스가 끝날 때 자동 종료, Claude Code의 사용자 입력 훅으로 세션 표시를 지우는 기능도 제공합니다. 사용자가 직접 닫는 버튼이나, 클릭하면 끝나는 옵션도 있습니다.
설치와 꾸미기
Homebrew로 설치하거나 Xcode 16 이상에서 소스를 빌드합니다. macOS 14 이상을 요구하며 MIT 라이선스입니다. Claude Code와 Codex에 Skill을 설치하면 에이전트가 언제 어떤 방식으로 안내를 띄울지 배웁니다. 화살표 모양은 직선·꺾은선·지그재그·나선형 중 고르고, 화살표·고리·상자 스타일과 크기, 색상, 테두리를 설정합니다. 안내 문구에 {{값}}을 넣으면 값을 복사하는 버튼이 됩니다. 문구를 소리 내 읽는 --say 옵션도 지원합니다.
권한과 검증
그리기 자체에는 macOS 권한이 필요하지 않습니다. 접근성 권한은 UI 요소 검색, 클릭 완료 감지, 앱과 탭 선택 등에 필요합니다. macOS 26에서 창 제목을 읽는 방식은 화면 기록 권한도 요구합니다. 권한은 bigarrow가 아니라 실행한 터미널이나 앱에 부여합니다. 개발자는 도구가 앱 포커스를 바꾸지 않도록 별도로 이벤트 처리를 구현했으며, 자동 테스트가 클릭 전달과 포커스 유지 등을 검사한다고 설명합니다.
프로젝트에는 기하 계산과 배치, 복사 버튼, 실제 윈도 서버 동작 등을 다루는 자동 테스트 104개가 있습니다. 별도의 동작 검사 18개는 창 올리기, 표시 추적과 숨김, Chrome 탭 선택, 전체 화면, 다중 디스플레이, CPU 사용량 등을 확인합니다. 작성자는 CI에서 CPU 사용량이 1.4%였다고 밝힙니다. 다만 Chrome 웹페이지의 UI 요소 검색에는 Chrome의 접근성 렌더링 설정이나 VoiceOver가 필요할 수 있으며, 그 외에는 좌표를 지정하는 방법을 안내합니다.
활용과 한계
권한 창에서 사용자가 허용 여부를 판단하도록 돕거나, Blender·Keynote처럼 복잡한 앱의 사용법을 단계별로 안내하는 용도를 제시합니다. 원격으로 가족을 돕거나 문서와 데모에서 특정 UI를 가리킬 때도 쓸 수 있습니다. 반면 화살표가 클릭 위치를 알려줄 뿐, 그 행동의 결과가 적절한지 판단해 주지는 않습니다. 댓글에서도 권한 승인 때는 버튼만 가리키지 말고 클릭의 의미를 설명해야 한다는 의견이 나왔습니다.
Hacker News 반응
- @ForHackernews — 에이전트가 사람만 할 수 있는 단계에서 계속 막힌다는 말이 섬뜩합니다. 봇 대신 sudo 버튼을 눌러주는 상황이라면 그냥 root 권한을 주는 편이 낫습니다.
- @franze — Claude는 sudo로 실행하는 Yolo 모드에서도 비밀번호 입력, 보안 설정 변경, 외부 서비스 계정 생성 같은 작업을 거부합니다. 직접 별도 Mac에서 시험했습니다.
- @gwerbin — 위험을 감수한다면 사용자 지정 auto-mode 분류 규칙을 추가하고 기본 규칙을 끌 수도 있습니다.
- @franze — 위 사례에서 막는 것은 권한 설정이 아니라 시스템 프롬프트나 모델 자체입니다.
- @satyanash — 어떤 터미널이나 에이전트 작업에서 사용자가 누르거나 거절해야 하는 대화상자가 뜨나요? 대화상자가 터미널에 묶여 포커스를 받지 못하는 문제라면, 포커스를 받지 않는 bigarrow가 무슨 도움이 되나요?
- @inanutshellus — 제게는 사용법을 가르치는 사례가 가장 가능성 있어 보입니다. 실행형 에이전트보다 안내형 에이전트에 가깝습니다.
- @ravila4 — 예전에 Blender에서 메시의 모든 정점 노멀을 표시하는 방법을 LLM에 물었을 때 이런 도구가 있었다면 유용했을 겁니다. 모델이 말한 버튼이 무엇인지 찾느라 시간을 많이 썼습니다.
- @FinnLobsien — 문서화에 유용할 것 같습니다. 스크린샷과 “X를 클릭하세요”라는 설명만으로는 화면에서 X를 다시 찾아야 합니다.
- @tilemarch — 화면의 화살표는 “어디를 눌러야 하나”는 해결하지만 “눌러도 되는가”는 해결하지 않습니다. 사용자가 결과를 읽고 이해한 뒤 동의하거나 취소해야 합니다. 에이전트가 클릭을 대신하지 않는 이유가 있습니다.
- @LoneRanger1024 — 튜토리얼에는 잘 맞아 보입니다. 하지만 권한 요청에서는 버튼을 가리키는 데 그치지 말고, 누르면 어떤 일이 생기는지 설명해야 사용자가 직접 판단할 수 있습니다.
- @m-s-y — 왜 Skill이 필요한가요? Claude에 스크린샷의 동작을 번호가 붙은 화살표로 표시하라고 하면 되지 않나요?
- @ballofrubber1 — Skill이 있으면 사용자가 매번 따로 지시하지 않아도 Claude가 언제 도구를 쓸지 알 수 있습니다.
- @IanCal — Skill 설명은 약 1,400 토큰입니다. 스크린샷 주석이 아니라 실제 화면에 표시하는 도구가 무엇인지도 따져야 합니다.
- @arshxyz — 부모님께 전화로 문서 다운로드와 인쇄 방법을 설명할 때 얼마나 도움이 될지 먼저 떠올랐습니다.
- @ghm2180 — 부모님께 전화로 같은 설명을 몇 번이나 반복했는지 셀 수 없습니다. 창이나 탭을 지정하고, “다른 톱니바퀴 아이콘” 대신 직접 가리킬 수 있습니다.
- @isoprophlex — 무지개 화살표와 불꽃 효과, 최대 음량으로 재생하는 에어혼이 필요합니다.
- @thih9 — 저장소의 목표는 유용한 도구를 만드는 것이지 에이전트에게
<blink>태그 권한을 주는 게 아닙니다. - @franze — PR은 병합하지 않았지만 좋은 PR입니다.
- @thih9 — 저장소의 목표는 유용한 도구를 만드는 것이지 에이전트에게
- @alansaber — 우스꽝스러울 수도 있지만, 사이드바를 읽거나 모달을 여는 방식 말고 시각적으로 에이전트와 상호작용할 여지가 있음을 보여줍니다.
원문: Hacker News / 번역·요약: Trawling