본문으로 건너뛰기

ONESHIM Rust 데스크톱 클라이언트

AI 기반 자율 사무 업무 지원 에이전트의 Rust 네이티브 데스크톱 클라이언트입니다.

최신 버전

v0.3.0 - macOS, Windows, Linux 지원 | gRPC 클라이언트 추가 | GitHub Releases

사용자 가이드

실제 사용 흐름과 화면을 보려면 고객 여정 가이드 를 참조하세요.


주요 기능

기능설명
실시간 컨텍스트 모니터링활성 창, 시스템 리소스, 사용자 활동 추적
Edge 이미지 처리스크린샷 캡처, 델타 인코딩, 썸네일, OCR
Edge Intelligence로컬 집중도 분석, 작업 세션 추적, 스마트 제안 생성
로컬 웹 대시보드브라우저에서 실시간 모니터링 및 설정 (http://localhost:9090)
gRPC + REST 통신gRPC 우선, REST fallback 지원 (Server Streaming RPC)
서버 SSE 연결실시간 제안 수신 및 피드백 전송 (REST fallback)
자율 UI 자동화2-레이어 액션 모델, OCR/LLM 기반 UI 요소 탐색, 정책 기반 실행
OS 네이티브 샌드박스Linux seccomp, macOS sandbox-exec, Windows Job Objects
워크플로우 프리셋내장 10개 + 사용자 정의 워크플로우 자동화
시스템 트레이백그라운드 실행 및 빠른 접근
자동 업데이트GitHub Releases 기반 자동 업데이트
다국어 지원한국어/영어 자동 감지 (i18n)
크로스 플랫폼macOS, Windows, Linux 지원

아키텍처 개요

10개의 크레이트로 구성된 Cargo workspace이며, **Hexagonal Architecture (Ports & Adapters)**를 따릅니다.


Workspace 구조

client-rust/
├── Cargo.toml # Workspace 루트
├── .cargo/config.toml # 빌드 설정
└── crates/
├── oneshim-core/ # 도메인 모델 + 포트(11개) + 에러(23개) + 설정
├── oneshim-network/ # HTTP/SSE/WebSocket + 압축 + 인증 + AI OCR/LLM 클라이언트
├── oneshim-suggestion/ # 제안 수신 및 처리
├── oneshim-storage/ # SQLite 로컬 저장소
├── oneshim-monitor/ # 시스템 모니터링
├── oneshim-vision/ # 이미지 처리 (Edge) + Privacy Gateway
├── oneshim-ui/ # 데스크톱 UI + 자동화 토글
├── oneshim-web/ # 로컬 웹 대시보드 (Axum + React) + 자동화 API
├── oneshim-automation/ # 자동화 제어 (정책/감사/샌드박스/의도해석/프리셋)
└── oneshim-app/ # 바이너리 진입점

크레이트 상세 문서

크레이트역할문서
oneshim-core도메인 모델, 포트 인터페이스(11개), 에러(23개), 설정상세
oneshim-networkgRPC/HTTP/SSE/WebSocket, 압축, 인증, AI OCR/LLM 클라이언트상세
oneshim-vision캡처, 델타 인코딩, OCR, PII 필터, Privacy Gateway상세
oneshim-monitor시스템 메트릭, 활성 창, 유휴 감지, 입력 활동상세
oneshim-storageSQLite, 마이그레이션(V7), 보존 정책, Edge Intelligence상세
oneshim-suggestion제안 큐, 피드백, 이력상세
oneshim-ui시스템 트레이, 알림, 윈도우, 테마, 자동화 토글상세
oneshim-web로컬 웹 대시보드 (Axum REST API 60개+ + React 9페이지), E2E 테스트상세
oneshim-automation정책 기반 실행, 감사 로깅, OS 샌드박스, 의도 해석, 프리셋(10개)상세
oneshim-appDI, 9-루프 스케줄러, FocusAnalyzer, 자동 업데이트상세

빠른 시작

요구 사항

  • Rust 1.75 이상
  • macOS 10.15+ / Windows 10+ / Linux (X11/Wayland)

빌드 및 실행

# 개발 빌드
cargo build -p oneshim-app

# 릴리즈 빌드
cargo build --release -p oneshim-app

# 환경 변수 설정 후 실행
export ONESHIM_EMAIL="your@email.com"
export ONESHIM_PASSWORD="your-password"
cargo run -p oneshim-app

테스트

# Rust 테스트 (620개+)
cargo test --workspace

# E2E 테스트 (72개) - 웹 대시보드
cd crates/oneshim-web/frontend && pnpm test:e2e

# 린트
cargo clippy --workspace

# 포맷 검사
cargo fmt --check

설치

바이너리 다운로드

Releases 페이지에서 플랫폼에 맞는 바이너리를 다운로드하세요.

플랫폼파일
macOS Universaloneshim-macos-universal.tar.gz
macOS Apple Silicononeshim-macos-arm64.tar.gz
macOS Inteloneshim-macos-x64.tar.gz
Windows x64oneshim-windows-x64.zip
Linux x64oneshim-linux-x64.tar.gz

설정

환경 변수

변수설명기본값
ONESHIM_EMAIL로그인 이메일(필수)
ONESHIM_PASSWORD로그인 비밀번호(필수)
ONESHIM_TESSDATATesseract 데이터 경로(선택)
RUST_LOG로그 레벨info

설정 파일

~/.config/oneshim/config.toml (Linux/macOS) 또는 %APPDATA%\oneshim\config.toml (Windows):

[server]
base_url = "https://api.oneshim.com"
request_timeout_ms = 30000
sse_max_retry_secs = 30

[monitor]
poll_interval_ms = 1000
sync_interval_ms = 10000
heartbeat_interval_ms = 30000

[storage]
retention_days = 30
max_storage_mb = 500

[vision]
capture_throttle_ms = 5000
thumbnail_width = 480
thumbnail_height = 270
ocr_enabled = false

[update]
enabled = true
repo_owner = "anthropics"
repo_name = "oneshim-agent"
check_interval_hours = 24
include_prerelease = false

데이터 흐름

자동화 실행 흐름


테스트 현황

Rust 테스트 (620개)

크레이트테스트 수커버리지 영역
oneshim-core48모델/에러/동의/자동화 모델/AiProviderType
oneshim-network86HTTP/압축/gRPC/재시도/AI 클라이언트
oneshim-vision78델타/인코더/PII 필터/Privacy Gateway
oneshim-monitor39메트릭/입력활동/창레이아웃
oneshim-storage41CRUD/태그/마이그레이션/Edge Intelligence
oneshim-suggestion17큐/프레젠터
oneshim-ui37테마/차트/설정UI/자동화 토글
oneshim-web68API/핸들러/태그/리포트/자동화 DTO
oneshim-automation104정책/감사/샌드박스/리졸버/프리셋/의도해석
oneshim-app102통합/FocusAnalyzer/스케줄러
Rust Total620-

E2E 테스트 (72개)

파일테스트 수검증 영역
navigation.spec.ts9네비게이션, 키보드 단축키
dashboard.spec.ts8메트릭 카드, 차트, 연결 상태
timeline.spec.ts8필터링, 뷰 모드, 키보드
settings.spec.ts13설정 폼, 저장, 내보내기
privacy.spec.ts13데이터 삭제, 백업/복원
search.spec.ts10검색 폼, 태그 필터
reports.spec.ts11기간 선택, 차트, 통계
E2E Total72-

전체 테스트

유형테스트 수
Rust 단위/통합 테스트620
Playwright E2E 테스트72
총계692

관련 문서: