oneshim-web
로컬 웹 대시보드 — 브라우저 기반 모니터링 및 설정 관리
크레이트 유형
라이브러리 크레이트 (lib) — oneshim-app에 통합되어 실행됨
개요
oneshim-web은 데스크톱 에이전트의 로컬 웹 대시보드를 제공합니다. Rust 백엔드와 React 프론트엔드를 결합하여 브라우저에서 에이전트 상태를 모니터링하고 설정을 관리할 수 있습니다.
주요 특징
| 기능 | 설명 |
|---|---|
| REST API | 메트릭, 프레임, 이벤트, 태그, 검색, 리포트, 자동화 등 |
| 실시간 SSE | Server-Sent Events로 실시간 메트릭 스트리밍 |
| React 프론트엔드 | 9개 페이지, 다국어 지원 |
| 정적 파일 임베드 | 빌드 결과를 바이너리에 포함 |
| 다국어 지원 | 한국어/영어 자동 감지 (i18n) |
| 자동화 대시보드 | 자동화 상태, 감사 로그, 워크플로우 프리셋 |
| E2E 테스트 | Playwright 기반 테스트 |
프론트엔드 페이지
| 페이지 | 기능 |
|---|---|
| Dashboard | 실시간 메트릭, CPU/Memory 차트, 앱 사용량, 히트맵, 집중도 |
| Timeline | 스크린샷 그리드/리스트, 필터링, 태그, 라이트박스 |
| Search | 통합 검색, 태그 필터, 결과 하이라이팅 |
| Reports | 주간/월간 리포트, 생산성 점수, 차트 |
| Focus Analytics | 집중도 분석, 작업 세션, 인터럽션 |
| Automation | 자동화 대시보드, 감사 로그, 프리셋 관리 |
| Settings | 전체 설정 (모니터링, 자동화, 샌드박스, AI) |
| Privacy | 개인정보 관리, 백업/복원, 데이터 삭제 |
디자인 시스템
코드 기반 디자인 시스템으로 TypeScript 타입 안전성을 통해 UI 일관성을 보장합니다.
- 디자인 토큰 (색상, 간격, 타이포그래피)
- 재사용 가능한 UI 컴포넌트 (Button, Card, Input, Badge 등)
- 다크/라이트 테마 지원
설정
| 옵션 | 설명 | 기본값 |
|---|---|---|
enabled | 웹 서버 활성화 | true |
port | 포트 번호 | 9090 |
allow_external | 외부 접속 허용 | false |
포트 충돌 시 다음 포트를 자동으로 시도합니다.
관련 문서:
- oneshim-storage — SQLite 저장소
- oneshim-core — 설정 및 모델
- oneshim-automation — 자동화 제어
- oneshim-app — 앱 통합