클립보드에 복사한 YouTube URL을 감지해서, 해당 영상 자막을 다시 클립보드에 넣어주는 데스크톱 앱입니다.
URL 복사 한 번으로 자막 텍스트를 바로 붙여넣을 수 있어, 요약/번역/메모 작업 시간을 줄이는 것이 목적입니다.
- YouTube URL 자동 감지: 클립보드 변경을 감시해 YouTube 링크를 찾습니다.
- 자막 자동 추출 후 복사: 영상 ID를 파싱한 뒤 자막을 가져와 클립보드에 복사합니다.
- 언어 선택 지원: 한국어/영어/일본어/중국어 등과
영상 기본 언어,Auto (any)를 지원합니다. - 타임스탬프 옵션:
[00:00]형식으로 시간 정보를 포함할 수 있습니다. - 중복 처리 방지: 이미 처리한 영상은 LRU 캐시로 재처리를 줄입니다.
- 최근 처리 내역 표시: GUI에서 최근 성공/실패 결과를 확인할 수 있습니다.
uv sync --group dev
uv run python -m copyscript- 앱을 실행하면 macOS에서는 메뉴바, Windows/Linux에서는 트레이에
CC아이콘이 나타납니다. - 설정 화면이 필요하면 해당 아이콘 메뉴에서
설정 열기를 누릅니다. - 모니터링을 시작합니다.
- YouTube 영상 URL을 복사합니다.
- 잠시 후 자막이 클립보드로 교체됩니다.
- 원하는 곳에 붙여넣기 합니다.
예시: 메모장에 링크를 복사했다가, 바로 Cmd+V 하면 자막 본문이 붙습니다.
Windows/Linux에서는 실행 중 창을 닫아도 앱이 종료되지 않고 트레이로 숨겨집니다. 트레이 메뉴에서 설정 열기, 모니터링 시작/정지, 종료를 제어할 수 있습니다.
./scripts/build/build.sh./scripts/build/build.sh.\scripts\build\build.ps1./scripts/install/install.sh
./scripts/install/uninstall.sh./scripts/install/install.sh
./scripts/install/uninstall.sh.\scripts\install\install.ps1
.\scripts\install\uninstall.ps1Windows 설치는 현재 사용자 기준으로 %LOCALAPPDATA%\Programs\CopyScript에 앱을 복사하고, 로그인 후 짧은 지연 뒤 --hidden 모드로 자동 실행되도록 Startup 스크립트를 등록합니다. 이 지연은 재부팅 직후 Explorer/트레이 초기화 타이밍 때문에 아이콘이 누락되는 문제를 줄이기 위한 것입니다.
Linux 설치는 현재 사용자 기준으로 ~/.local/lib/CopyScript에 앱을 복사하고, ~/.config/autostart/CopyScript.desktop으로 로그인 자동 실행을 등록합니다.
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest이번 리팩터링부터 런타임 코드는 copyscript/ 패키지 아래로 정리됩니다.
copyscript/
app/ # 설정 저장, 런타임 상태, 모니터링 lifecycle
config/ # 언어 목록, 공용 상수, 데이터 모델
core/ # URL 파싱, 자막 추출, 캐시, 클립보드 처리 파이프라인
platform/ # 경로, 알림, 클립보드 watcher, macOS menubar, Windows/Linux tray
ui/ # Tkinter window, 패널, theme
scripts/
build/ # 빌드 스크립트
install/ # 설치/제거 스크립트
packaging/
pyinstaller/ # PyInstaller spec
- 새 기능 추가는 가능한 한
copyscript/내부에서만 진행하는 것을 권장합니다. - 테스트 가능한 로직은
copyscript/core/,copyscript/app/,copyscript/platform/에 두고,copyscript/ui/는 화면 조립과 이벤트 연결에 집중합니다.
- Python 3.10+
- macOS, Windows 또는 Linux
- Linux에서는
xclip,xsel,wl-clipboard중 하나 - 인터넷 연결 (자막 조회 시 필요)