oneshim-app
바이너리 진입점 크레이트. DI 와이어링, 스케줄러, 라이프사이클, 자동 업데이트를 담당합니다.
주요 기능
컴포넌트 조립 (DI 와이어링)
모든 크레이트의 컴포넌트를 생성하고 의존성을 주입하여 애플리케이션을 조립합니다.
스케줄러
주기적으로 실행되는 8개의 태스크 루프를 관리합니다.
| 루프 | 역할 |
|---|---|
| Monitor | 메트릭/창 수집, 캡처 결정 |
| Metrics | 시스템 메트릭 저장 |
| Process | 프로세스 스냅샷 |
| Sync | 서버 배치 업로드 |
| Heartbeat | 서버 연결 확인 |
| Aggregation | 메트릭 집계 |
| Notification | 유휴/장시간 작업 알림 |
| Focus | Edge Intelligence 집중도 분석 |
Edge Intelligence (집중도 분석)
로컬에서 사용자의 집중도를 분석하고 AI 제안을 생성합니다.
| 제안 | 조건 |
|---|---|
| 휴식 권장 | 장시간 연속 작업 |
| 집중 시간 필요 | 소통 비율 과다 |
| 컨텍스트 복원 | 인터럽션 후 미복귀 |
| 소통 과다 알림 | 평균 대비 과도한 소통 |
라이프사이클 관리
시그널 처리(Ctrl+C, SIGTERM) 및 Graceful Shutdown을 수행합니다.
자동 업데이트
GitHub Releases 기반으로 자동 업데이트를 확인하고 설치합니다.
자동 시작
각 플랫폼의 네이티브 방식으로 로그인 시 자동 시작을 설정합니다.
실행 흐름
빌드 및 실행
# 개발 빌드
cargo build -p oneshim-app
# 릴리즈 빌드
cargo build --release -p oneshim-app
# 실행
cargo run -p oneshim-app
환경 변수
| 변수 | 필수 | 설명 |
|---|---|---|
ONESHIM_EMAIL | ✅ | 로그인 이메일 |
ONESHIM_PASSWORD | ✅ | 로그인 비밀번호 |
RUST_LOG | ❌ | 로그 레벨 (기본: info) |
ONESHIM_CONFIG | ❌ | 설정 파일 경로 |
관련 문서:
- 클라이언트 개요
- oneshim-core - 설정 및 포트
- oneshim-network - 네트워크 컴포넌트