UStackUStack
Cosmic-light icon

Cosmic-light

Cosmic-light는 Windows Dynamic Island 제어 센터로 미디어 제어, 실시간 날씨, 캘린더 알림, 로컬-first AI 채팅을 한 UI에 통합합니다.

Cosmic-light

Cosmic-light란?

Cosmic-light는 Windows “Dynamic Island” 제어 센터로 한눈에 확인 가능한 상태, 미디어 제어, 날씨 시각화, 캘린더 이벤트, AI 채팅 인터페이스를 단일 화면 UI에 통합합니다. 데스크톱에 위치한 “섬” 요소에서 확장되며, 필요할 때 관련 정보를 표시하도록 설계되었습니다.

프로젝트는 로컬 우선 애플리케이션으로 구축되었습니다: 대화 맥락은 로컬 저장소를 사용하며, AI 기능용 API 키는 암호화됩니다. 미디어 및 날씨 등의 데이터에 접근하기 위해 system-bridge Python 스크립트를 포함합니다.

주요 기능

  • Dynamic Island UI (하단 또는 중앙): 화면에 섬을 배치하고 상호작용 시 지능적으로 확장합니다.
  • 한눈에 홈 뷰: 시간, 날짜, 현재 활성 창 상태를 표시합니다.
  • 미디어 제어 및 Spotify/시스템 오디오 통합: 재생/일시정지/다음/이전 및 볼륨 제어를 제공하며, 실시간 오디오 비주얼라이저와 트랙 메타데이터(앨범 아트 및 진행 상황 포함)를 표시합니다.
  • 스마트 미디어 아이콘: 입력 소스(예: Spotify, YouTube, Chrome)와 출력 장치(예: 헤드폰, 스피커)를 감지합니다.
  • 실시간 날씨 시각화: 실시간 파티클 효과(비, 눈, 구름, 별)를 렌더링하고 온도, 바람, 습도, 강수 확률 등의 통계를 표시하며, 경고 스타일의 심각한 날씨 경보를 포함합니다.
  • 스마트 캘린더(Google Calendar 동기화): iCal 비밀 주소를 사용해 이벤트를 동기화하며, 이벤트 시작 5분 전에 섬을 자동 확장하고 대화형 월 뷰를 제공합니다.
  • AI 채팅(로컬 우선): 내장 채팅 인터페이스에 “Gemini Mode”(Google Gemini)와 “Perplexity Mode”(인용/출처 포함 웹 검색)를 포함합니다. 대화 기록은 로컬에 저장됩니다.
  • 암호화된 API 키: 설정에서 추가한 API 키를 암호화해 보안을 강화합니다.

Cosmic-light 사용 방법

  1. 필수 구성 요소 설치: **Node.js v20+**와 **Python v3.10+**를 사용합니다.
  2. 프로젝트 설정:
    • 저장소를 복제합니다.
    • npm install로 프론트엔드 종속성을 설치합니다.
    • pip install -r requirements.txt로 백엔드 종속성을 설치합니다.
  3. 로컬 실행: npm run dev로 앱을 시작합니다.
  4. 열기 및 설정:
    • Dynamic Island를 클릭해 확장합니다.
    • 설정(톱니바퀴 아이콘)을 사용해 AI API 키(Gemini 및/또는 Perplexity)와 Google Calendar 동기화를 구성합니다.
  5. (선택) 설치 프로그램 빌드: 독립 실행형 Windows .exe의 경우 npm run build를 실행합니다; 설치 프로그램은 release/ 디렉터리에 배치됩니다.

사용 사례

  • 미디어 중심 데스크톱 제어: 트랙 메타데이터와 실시간 오디오 비주얼라이저를 보면서 별도 미디어 창으로 전환 없이 섬에서 재생 및 볼륨을 제어합니다.
  • 멀티태스킹 중 한눈에 맥락 확인: 섬의 홈 뷰에서 시간/날짜와 현재 활성 애플리케이션을 빠르게 확인합니다.
  • 시각적 단서로 날씨 인식: 애니메이션 파티클로 변화하는 날씨 상태를 모니터링하고 바람, 습도 등의 주요 통계와 심각한 날씨 경보를 읽습니다.
  • 다가오는 회의 캘린더 알림: 앱의 iCal 비밀 주소를 통해 개인 Google Calendar를 동기화하고 이벤트 시작 5분 전에 섬이 자동 확장되도록 합니다.
  • 데스크톱 UI 내 답변/검색 지원: 섬에서 Gemini 또는 Perplexity 채팅 모드를 사용합니다; 설정에 API 키를 저장하고 대화 기록을 로컬에 유지합니다.

자주 묻는 질문

  • Cosmic-light 실행에 필요한 것은? 앱에는 Node.js v20 이상이 필요하며, 시스템 브리지 스크립트에는 Python v3.10 이상이 필요합니다.

  • AI 채팅 기능을 활성화하려면? 앱 설정을 열고 Gemini API Key 및/또는 Perplexity API Key를 추가합니다. 프로젝트는 최소 하나를 활성화해야 한다고 명시합니다.

  • Google Calendar 동기화는 어떻게 작동하나요? Google Calendar 설정에서 “iCal secret address”(iCal 형식)를 생성하거나 복사한 후 앱의 설정 > Google Calendar에 URL을 붙여넣습니다.

  • 데이터는 어디에 저장되나요? 프로젝트는 로컬 우선 접근 방식을 설명합니다: 대화 기록은 로컬에 저장되며, 설정에 추가한 API 키는 암호화됩니다.

  • 섬 위치를 다르게 배치할 수 있나요? 네. 설정에 화면 하단 또는 중앙 배치 옵션이 있으며, 섬이 나타날 모니터 선택을 지원합니다.

대안

  • OS 수준 위젯 프레임워크: Dynamic Island 스타일의 확장 UI 대신 데스크톱 위젯/런처 시스템을 사용해 화면에 위젯(날씨, 캘린더, 미디어)을 집계; 확장 동작과 “섬” 프레젠테이션이 내장되지 않아 워크플로가 다릅니다.
  • 미디어 컨트롤러 앱: 전용 미디어 제어 도구는 재생 및 볼륨 제어와 시각화를 제공할 수 있지만, 동일한 날씨/캘린더/AI 레이아웃을 포함하지 않을 수 있습니다.
  • 캘린더 + 날씨 데스크톱 통합: 독립형 캘린더와 날씨 통합은 해당 데이터 소스에 초점; 일반적으로 AI 채팅 인터페이스와 Dynamic Island 확장 패턴을 하나의 제어 센터에 번들링하지 않습니다.
  • 로컬 챗봇 애플리케이션: 일반 채팅 클라이언트나 로컬 AI 프론트엔드는 섬의 AI 패널을 대체할 수 있지만, 섬의 통합 캘린더/미디어/날씨 UI 컨텍스트를 잃게 됩니다.