당신의 하루를 위한 git log – Dayflow

1 month ago 13

  • Dayflow는 Mac에서 하루의 활동 기록과 요약 타임라인을 자동으로 생성해주는 오픈소스 앱임
  • 1초에 1프레임씩 스크린을 녹화하고, 15분마다 AI로 분석하여 요약 카드와 집중 방해 요소를 시각화함
  • 사용자는 Gemini(클라우드) 또는 Ollama/LM Studio(로컬) 모델을 선택할 수 있고, 개인정보 보호와 데이터 소유권을 직접 관리하는 것이 강점임
  • 타임라인 생성을 위한 AI 프로세스가 클라우드와 로컬 모드에서 처리 구조가 다르고, 각각 장단점이 존재함
  • MIT 라이선스의 완전한 오픈소스로, 투명성과 신뢰성, 확장 가능성을 확보함

Dayflow 개요 및 의의

Dayflow는 macOS 환경에서 사용자의 스크린 활동을 분 단위로 자동 요약하여, 마치 git log처럼 명확한 활동 이력 타임라인을 생성함
직관적 사용성과 고도화된 개인정보 보호 설정이 가능한 것이 주요 차별점임

  • 앱 용량 25MB, 메모리 사용량 100MB 미만, CPU 점유율 1% 미만으로 매우 가벼운 동작을 구현함
  • 모든 데이터와 분석 과정의 소유권과 관리 권한을 사용자에게 위임함
  • Gemini API(클라우드) 또는 Ollama/LM Studio(로컬) 중에서 AI 프로바이더를 직접 선택할 수 있음

주요 기능

  • 자동 활동 타임라인: 하루 동안의 화면 활동을 요약 카드로 자동 기록
  • 1 FPS 녹화: 초당 1 프레임 녹화로 자원 소모 최소화
  • 15분 간격 분석: 15분마다 최신 녹화본을 AI로 분석하고 결과를 즉시 반영
  • 집중 방해 요소 하이라이트: 집중을 방해한 시점 및 상황을 추적 가능
  • 타임랩스 및 자동 정리: 타임랩스 시청, 3일 이후 녹화본 자동 삭제
  • SwiftUI 기반 네이티브 UX: 맥OS 생태계에 최적화된 UI/UX 제공
  • Sparkle 기반 자동 업데이트
  • (예정) 대시보드 커스터마이즈, 일일 저널 등 추가 기능 예고

동작 원리

  • 캡처: 1FPS로 15초 단위 비디오 청크 기록, 3일 간 저장
  • 분석: 15분마다, 최근 녹화분을 AI에 입력
  • 생성: AI가 활동 요약 및 카드 생성
  • 디스플레이: 시각적 타임라인 형태로 출력
  • 정리: 3일 이상 경과 데이터 자동 삭제

AI 처리 파이프라인

  • Gemini(클라우드) : 동영상 → 업로드·트랜스크립션(1회 LLM 호출) → 카드 생성(1회 LLM 호출) → 완료
    • 장점: 복잡한 순차 처리가 필요 없는 간결한 파이프라인
    • 효율성 높음, 네이티브 비디오 인식 활용
  • Local 모델(Ollama/LM Studio) : 동영상 → 프레임 30장 추출 → 설명 생성(30회 LLM 호출) → 병합 및 카드 생성(여러 차례 LLM 호출)
    • 장점: 개인정보 완전 로컬 유지
    • 처리 복잡성 높고, 분석 속도 더딤

설치 및 사용 조건

요구사항

  • macOS 13.0 이상
  • Xcode 15+ (개발 및 소스 빌드 시)
  • Gemini API 키(필요 시, 클라우드 분석용)
  • 화면 및 시스템 오디오 녹음 권한 필요

실행 방법

  • GitHub Release에서 Dayflow.dmg 다운로드 후, 응용 프로그램 폴더에 설치 및 권한 부여
  • 소스 빌드: 저장소 클론 후 Xcode에서 실행, Gemini 사용 시 환경 변수 Key 입력 필요

데이터 & 개인정보 보호

  • 녹화 데이터:
    • 저장 경로: ~/Library/Application Support/Dayflow/recordings/
    • SQLite DB: ~/Library/Application Support/Dayflow/chunks.sqlite
    • 1FPS 캡처, 15분당 분석, 3일간 보관
  • 전체 초기화: Dayflow 종료 후 위 폴더 전체 삭제, 재실행 시 초기화 가능

처리 방식 & 프로바이더별 차이

  • Gemini (클라우드)
    • Google에 배치 전송, 분석 진행
    • Cloud Billing 활성화 시 데이터가 모델 학습에 사용되지 않음
      • 유럽/영국/스위스는 기본적으로 Paid-Style 데이터 처리 적용
    • 여전히 남아있는 정책 준수 모니터링 및 로그 보관 존재
  • 로컬(Ollama / LM Studio)
    • 모든 프로세스가 사용자 로컬 머신에서만 이뤄짐, 완전 오프라인 가능
    • 요약 품질, 처리 지연 요소 존재
    • GPU 분석 시 배터리 소모 높을 수 있음(긴 기록 시 전원 연결 권장)
    • 향후 로컬 모델 미세조정 및 최적화 로드맵

macOS 권한 및 관리

  • 화면/시스템 오디오 녹음: 필수 권한, 시스템 설정 > 개인정보 보호에서 관리
  • 설정 변경: 앱 내에서 캡처 시작/정지, 디버그 모드에서 배치 내용 확인 가능

자동 업데이트

  • Sparkle(오픈소스 Updater) 내장: 매일 자동 체크 및 백그라운드 다운로드 지원
  • 앱 메뉴에서 직접 버전 확인 및 업데이트 체크 가능

프로젝트 구조

  • Dayflow/ – SwiftUI 소스, UI 및 분석 파이프라인
  • docs/ – 앱캐스트/문서/스크린샷/영상 등 자료
  • scripts/ – DMG 패키징, 코드사인, 자동화 스크립트 등 릴리스 관리

문제 해결 & 지원

  • 화면 캡처 오류: 개인정보 설정 내 권한 재확인
  • API 에러: Gemini API 키 및 네트워크 점검

개발 및 커뮤니티

  • Pull Request, 이슈 환영 / 커뮤니티 기반 확장 가능
  • MIT 라이선스 – 투명성 및 신뢰, 리스크 최소화

주요 참고자료

  • Ollama GPU 가속: Metal 지원 관련 문서
  • LM Studio 오프라인문서
  • Gemini API 약관 등 공식 문서 링크

핵심 가치

  • 활동 데이터에 대한 완전한 소유권투명한 개인정보 보호
  • 노이즈 없이 신뢰할 수 있는 업무/활동 이력을 제공하는 조용한 비서 역할
  • 대시보드 커스터마이즈, 일일 요약 등 확장성 확보
  • GitHub 1.4k star 달성 등 커뮤니티의 높은 관심

라이선스

  • MIT 라이선스 기반, 무보증 제공, 누구나 검증·참여 가능

Read Entire Article