Claude Overlay
<p align="center">
<a href="https://docs.claude.com/en/docs/claude-code"><img src="https://img.shields.io/badge/powered%20by-Claude%20Code-D97757" alt="Powered by Claude Code"></a>
<img src="https://img.shields.io/badge/platform-Windows%2010%20%7C%2011-0078D6" alt="Platform: Windows 10 | 11">
<img src="https://img.shields.io/badge/python-3.10%2B-3776AB" alt="Python 3.10+">
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-3DA639" alt="License: MIT"></a>
<a href="https://github.com/shengyanlin/claude-overlay/stargazers"><img src="https://img.shields.io/github/stars/shengyanlin/claude-overlay?style=social" alt="GitHub stars"></a>
<a href="https://github.com/hesreallyhim/awesome-claude-code"><img src="https://awesome.re/mentioned-badge-flat.svg" alt="Mentioned in Awesome Claude Code"></a>
</p>
앱을 벗어날 필요 없이 Claude Code와 대화하고, 심지어 사용자의 화면을 실제로 볼 수 있게 합니다.
<p align="center"><sub><b>Windows 10 / 11</b> 전용 (현재) · 기존 Claude 구독으로 실행 — API 키 불필요</sub></p>
Claude Overlay는 사용자가 하는 모든 활동 위에 떠다니는 프레임리스(frameless), 항상 최상단에 표시되는 채팅 창입니다. 질문을 하면, Claude가 실제 화면—모든 모니터—을 보고 답변합니다. 복사-붙여넣기 오류 메시지나, 무엇을 보고 있는지 설명할 필요도 없고, 브라우저로 alt-tab 할 필요도 없습니다. 그리고 내부적으로 전체 Claude Code 에이전트를 구동하기 때문에, 단순히 채팅만 하는 것이 아니라 사용자를 위해 읽고, 편집하고, 실행할 수 있습니다. 열려 있는 슬라이드 덱, 문서 또는 스프레드시트를 가리키면 현재 보고 있는 파일을 변경할 수 있으며—파일의 위치를 알려주거나 alt-tab 할 필요가 없습니다.
무엇보다도, 추가 비용이 전혀 들지 않습니다: 사용자의 자체 claude CLI 로그인으로 구동되므로, 기존 Claude 구독을 사용하며 — API 키나 측정 청구(metered billing)가 없습니다.
⭐ 작업 화면 위에 떠다니는 화면 인식 Claude가 유용하게 느껴진다면, 이 저장소에 별표를 눌러주세요 — 다른 사람들이 이것을 찾도록 돕습니다.
✨ 왜 필요할까요
- 👁️ 당신이 보는 것을 봅니다. 모든 메시지에서 각 모니터를 자동으로 캡처하고 주(primary)와 보조(secondary)를 레이블링합니다. 단순히 "여기서 뭐가 문제인가요?"라고 물어보면 살펴봅니다.
- 🪟 흐름을 끊지 않습니다. 항상 최상단에 떠 있고 테두리가 없습니다. 사용하지 않을 때는 작은 드래그 가능한 구체(orb)로 축소되며 (실제 Windows 작업 표시줄 버튼이 있어 클릭하여 다시 열 수 있습니다), 숨겨져 있는 동안 답변이 완료되면 이 구체에 ✓를 표시하여 확장하지 않아도 작업이 끝났음을 알 수 있습니다.
- 🏷️ 각 오버레이에 이름을 지정하고 여러 개를 동시에 실행합니다. 제목을 클릭하여 해당 작업을 위한 오버레이의 이름을 지정할 수 있습니다. 이름은 축소된 상태에서 구체 아래에 나타나므로, 일련의 구체(작업당 하나)가 한눈에 구분되어 보입니다.
- 🧠 단순한 챗봇이 아닌 실제로 행동하는 에이전트입니다. 전체 Claude Code (Opus 4.8)를 사용합니다 — 파일 편집, 명령어 실행은 물론 화면의 앱 내부까지 접근할 수 있습니다 (예: 열려 있는 슬라이드의 문구를 수정하거나, 열려 있는 Excel에 모델을 구축하는 등), 단순히 질문에 답만 하는 것이 아닙니다.
- 🔁 대화가 재시작에도 살아남습니다. 오버레이를 다시 실행하면 (예: 업데이트 후) 원클릭으로 마지막 대화 재개 기능을 제공합니다 — 그리고 세션 도중에 CLI 연결이 끊어져도 컨텍스트를 잃는 대신 같은 대화로 다시 연결됩니다.
- 💸 API 키가 필요 없고 추가 비용이 없습니다. 기존 Claude 구독을 사용하여 실행됩니다.
- 🖼️ 스크린샷, 붙여넣은 이미지 및 파일. 모든 메시지에서 화면을 자동으로 가져오거나, Ctrl+V를 사용하여 이미지를 붙여 넣어 질문할 수 있습니다. **⚙ → 파일을 첨부…**를 선택하여 이 장치에서 PDF, Word 또는 PowerPoint 파일을 보낼 수 있습니다 — PDF는 페이지 전체가 온전히 전송되며, Word와 PowerPoint의 경우 텍스트만 로컬에서 추출되어 단어는 도착하지만 차트나 레이아웃은 그렇지 않습니다.
화면이 이전 메시지 이후로 변경되지 않았다면, 중복 내용은 다시 전송되지 않습니다 (Claude는 이미 가지고 있는 것을 계속 사용하도록 지시받음) — 후속 질문에 대한 답변은 측정 가능하게 더 빠르게 제공됩니다.
- ⚡ 실시간으로 다듬어진 UI. 응답이 깨끗한 도구 호출(tool-call) 칩, 인플레이스 모델 스위처, 그리고 컨텍스트 사용량 미터와 함께 토큰 단위로 스트리밍됩니다.
- 🎨 어디서든 멋지게 보입니다. Claude 데스크톱 앱을 스타일링했으며, HiDPI 디스플레이에서 DPI를 인식하고, 모든 가장자리에서 크기 조절이 가능하며, 실시간 Ctrl +/– 확대/축소가 지원됩니다.
- 🔒 로컬 및 개인 정보 보호. 사용자의 로그인 정보를 사용하여 기기 자체에서 완전히 실행됩니다.
플로팅 오버레이가 빛을 발하는 곳
CLI와 데스크톱 앱은 이미 터미널이나 채팅 창에 있을 때 완벽합니다. 이 오버레이는 사용자가 무엇을 하든, 그것을 보고, 그리고 그것에 행동함으로써 그 자리를 확보합니다 — 따라서 기존 도구들이 할 수 없는 바로 그 지점에서 빛을 발합니다:
- ✍️ 눈앞의 내용을 편집하세요. 열려 있는 문서 에 대해 질문하는 것에 그치지 말고, 그것에게 변경하도록 요청하십시오. 현재 슬라이드의 오타를 수정하거나, 초안의 단락을 다듬거나, 셀을 채우거나, 제목을 다시 작성할 수 있습니다. 쉘(shell)이 장착된 완전한 Claude Code 에이전트이기 때문에, 이미 열려 있는 앱(예: PowerShell/COM 자동화 이용)을 구동하여 보고 있는 파일을 편집할 수 있습니다 — 파일 경로가 필요 없습니다. 이는 내장 통합 기능에서 오는 것이 아니라 실행 시간에 작동하기 때문에 완벽하지는 않습니다. 중요한 문서는 먼저 검토하십시오 (이 README의 끝 부분 근처에 있는 보안 참고 사항 참조).
<p align="center">
<img src="https://raw.githubusercontent.com/shengyanlin/claude-overlay/HEAD/docs/demo-edit.gif" alt="PowerPoint 덱이 열려 있을 때, 오버레이를 불러와 제목의 오타를 수정하고 부제목을 줄여달라고 요청합니다 — 열린 프레젠테이션에 대해 PowerShell을 실행하여 슬라이드 텍스트가 제자리에서 변경됩니다." width="660">
<br><em>열려 있는 슬라이드를 수정하도록 요청하세요 — 파일 경로를 지정하지 않고도 이미 열려 있는 덱을 편집합니다.</em>
</p>
- 📊 단순 편집을 넘어 구축까지. 스프레드시트를 요청하면 실제 Excel 파일에 이를 구축합니다. 출처가 명시된 가정(assumptions), 라이브 수식, 상향식 계산(top-down calculation)은 물론, 저/기준/고 민감도 분석(low/base/high sensitivity)까지 은행권 모델처럼 정리해 줍니다. 오버레이에서 한 문장만 입력하면 시트에는 작동하는 모델이 완성됩니다.
<p align="center">
<img src="https://raw.githubusercontent.com/shengyanlin/claude-overlay/HEAD/docs/excel-demo.gif" alt="오버레이에 요청을 입력합니다 — '대만의 주류 음료 시장 규모를 상향식으로 분석해줘'와 같이 입력하면, COM을 통해 Excel을 구동하여 투자은행 스타일의 시장 규모 모델을 구축합니다: 출처 열이 있는 가정 블록, 상향식 계산 깔때기(funnel), 기준 사례 추정치, 그리고 저/기준/고 민감도 테이블" width="660">
<br><em>오버레이에 질문하세요. Excel이 모델을 구축하도록 구동합니다 — 가정, 수식, 그리고 민감도 분석까지.</em>
</p>
- 🖥️ 발표 중. 전체 화면 슬라이드쇼 상태를 유지할 수 있습니다. 오버레이를 불러와 숫자를 사실 확인하거나(fact-check), 용어를 번역하거나, 현장에서 청중의 질문에 답할 수 있으며 — 이 모든 것을 프레젠테이션을 벗어나지 않고 처리할 수 있습니다.
- 🌐 다른 언어 읽기. 외국어 페이지, PDF 또는 슬라이드에서 화면에 보이는 내용을 번역하거나 설명해 달라고 요청하면, 별도의 번역기 탭에 복사/붙여넣기 할 필요 없이 제자리에 처리됩니다.
- 📄 긴 내용 빠르게 훑어보기.
<p align="center">
<img src="https://raw.githubusercontent.com/shengyanlin/claude-overlay/HEAD/docs/ui-demo.gif" alt="오버레이를 작은 구체로 축소하고 클릭하여 다시 확장하는 모습" width="280"><br><em>사용하지 않을 때는 떠다니는 구체 형태로 축소되어 공간을 비우며 — 클릭하면 다시 가져올 수 있습니다.</em>
</p>
작동 방식 (How it works)
Overlay (Tkinter UI) → claude-agent-sdk → `claude` CLI 실행 → Anthropic
▲ 스크린샷 (Pillow ImageGrab, 모니터당 이미지 1개)
- UI — Tkinter (Python에 포함되어 있어 추가 GUI 런타임 필요 없음).
- 두뇌 (Brain) —
claude-agent-sdk가 설치된 claude CLI를 서브프로세스로 실행하여 상호 작용합니다. 이는 직접적인 API 클라이언트가 아니므로, CLI가 필수입니다.
- 눈 (Eyes) — Pillow의
ImageGrab이 각 모니터를 개별적으로 스냅샷 촬영하며, 프롬프트는 어느 화면이 주(primary) 화면인지 보조(secondary) 화면인지를 표시하고, Claude는 이 정보를 그 자체의 Read 도구로 읽습니다. 캡처 중에는 창이 스스로 숨겨집니다.
전제 조건 (Prerequisites)
세 가지가 필요합니다. 포함된 **setup.cmd**가 #2와 #3을 자동으로 처리해줍니다 — 누락된 경우 Claude Code CLI를 자동 설치하고 Python 패키지를 설치합니다.
1. Windows 10 / 11
이 앱은 Win32 API(DPI 인식, 둥근 모서리, 다중 모니터 캡처)를 사용하므로, 현재 Windows에서만 실행됩니다.
2. Claude Code CLI — 설치 및 로그인 완료
오버레이 자체의 두뇌가 있는 것이 아니라, claude 명령줄을 구동합니다.
가장 쉬운 방법: 아래의 **setup.cmd**를 실행하기만 하면 됩니다 — 이미 가지고 있지 않다면 공식 네이티브 설치 프로그램으로 CLI를 자동으로 설치해줍니다. 직접 설치하려면:
- 네이티브 설치 프로그램 — 권장, Node.js 불필요 (PowerShell):
irm https://claude.ai/install.ps1 | iex
(또는 winget install Anthropic.ClaudeCode). 스스로 자동 업데이트됩니다.
- npm (Node.js 18+ 필요):
npm install -g @anthropic-ai/claude-code
자신의 Claude 계정으로 로그인합니다 (Pro/Max 구독 - API 키 불필요):
claude auth login을 실행합니다 (PowerShell 또는 CMD에서 — Git Bash에서는 안 됨) 그리고 브라우저 프롬프트를 한 번 따릅니다.
확인: — 이 명령은 버전 번호를 출력해야 합니다:
"command not found"가 표시되면, CLI가 설치되지 않았거나 PATH에 설정되지 않은 것입니다.
3. Python 3.10 이상
https://www.python.org/downloads/에서 설치하고 설치 프로그램에서 **"python.exe를 PATH에 추가(Add python.exe to PATH)"**를 체크합니다.
확인:
설치 (Install)
원하는 것을 선택하세요 — 세 가지 방법 모두 오버레이가 실행될 준비가 된 상태로 끝납니다.
🖱️ 더블 클릭 한 번으로 — setup.cmd (권장)
저장소(repo)를 받은 다음, **setup.cmd**를 더블 클릭합니다. 이 파일은 Python을 확인하고,
claude CLI가 누락된 경우 자동으로 설치하며 (그리고 로그인할지 여부를 제안하고),
Python 패키지를 설치해 줍니다 — 따라서 새 컴퓨터라도 단 한 번의 더블 클릭만으로 준비가 완료됩니다.
git clone https://github.com/shengyanlin/claude-overlay.git
(또는 녹색 Code 버튼에서 ZIP을 다운로드하여 압축을 해제합니다.)
⚡ Claude에게 설치를 맡기기 (이미 CLI가 있는 경우)
이것은 에이전트(agent)이므로 스스로 설정할 수 있습니다. claude CLI가 이미 설치되어 있다면
(Prerequisites 참조), 원하는 위치에서 다음을 실행합니다:
claude "Set up Claude Overlay for me: clone https://github.com/shengyanlin/claude-overlay, make sure Python 3.10+ is installed (install it if missing), ensure pip is present (python -m ensurepip --upgrade), then run python -m pip install -r requirements.txt, then launch it with pythonw. Tell me when it's running."
Claude는 각 단계 전에 질문할 것입니다.
🛠️ 수동으로 진행하기
git clone https://github.com/shengyanlin/claude-overlay.git
cd claude-overlay
python -m ensurepip --upgrade # pip가 누락된 경우에만 필요하며, 그렇지 않으면 무해합니다.
...
이것은 Python 패키지(claude-agent-sdk, pillow, keyboard)만 설치합니다. 여전히 claude CLI가 설치되어 있고 로그인해야 합니다(사전 준비 사항 참조). python -m pip을 사용하세요(단순히 pip을 사용하지 마세요): Python의 Scripts\ 폴더가 PATH에 없더라도 작동하며, ensurepip은 Python 설치 시 pip이 포함되지 않은 경우 이를 부트스트랩합니다.
업데이트
오버레이는 하단 상태 표시줄에 버전을 보여주고(예: v1.7.2), 시작 시 GitHub에서 새 릴리스가 있는지 확인합니다. 새 버전이 있는 경우, 알림 종 모양 아이콘(🔔)과 버전 옆의 위쪽 화살표(⬆)를 볼 수 있습니다. 업그레이드하려면:
🖱️ 원클릭 — 채팅창의 버튼 (권장)
git clone으로 설치한 경우, 🔔 알림과 함께 ⬆ vX.Y.Z로 오버레이 업데이트 버튼이 제공됩니다. 이를 클릭하면 콘솔 창에서 update.cmd가 자동으로 실행되어 풀(pull) 과정, 패키지 새로고침, 그리고 새 코드가 여전히 시작되는지 확인하는 과정을 지켜볼 수 있습니다. 먼저 오버레이를 닫을 필요가 없으며, 이것이 마지막으로 해야 할 일입니다: 업데이트가 완료되면 콘솔이 스스로 닫히고 오버레이는 새로운 코드로 자체적으로 재시작됩니다 — 새로 열린 창은 이전에 진행하던 대화를 재개할지 제안합니다.