본문으로 건너뛰기
LVIS AI

Architecture

LVIS 시스템 한 눈에 보기

LVIS는 네 개의 레이어 — Electron 호스트, 플러그인 런타임, 로컬 스토리지(~/.lvis), 서버 — 가 같은 사용자 신호 위에서 움직이는 구조입니다. 모든 도메인 기능은 플러그인으로 분리되고, 호스트는 도메인 specific 코드를 import 하지 않습니다 (CI 단계 차단).

6 active plugins
static manifest
no fallback
LVIS Stack — high-level (소스 검증)

Desktop Host (Electron)

App.tsx · MainToolbar · ChatViewMessageQueuePanel · SessionTodoPanelReviewer (risk-classifier)Tool Registry · ConversationLoopRoutineEngineV2 (shutdown · schedule)

Plugin Runtime — boot/steps/plugin-runtime.ts

ms-graph (mail+calendar)local-indexer (kiwi · pymupdf4llm · LanceDB · FTS5)meeting (Whisper STT)work-assistant (proactive · detectors)agent-hub (sidebar · 43 tools)lge-api (EP · 24 tools)

Storage — ~/.lvis/ (0o700 / 0o600)

sessions/routine/audit/<YYYY-MM-DD>.jsonlplugins/<id>/secrets/permissions.jsonsettings.jsonmemories/MEMORY.md

Servers

Marketplace (FastAPI · plugin/agent/mcp/skill 카탈로그)Agent Hub (FastAPI + asyncpg + alembic)MCP servers (외부)ms-graph · LGE EP · LGenie (외부 API)

데이터 흐름 — 사용자 메시지 한 턴

  1. 사용자 입력 → ChatView.
  2. Skill 매칭: 호스트가 registerKeywords 로 등록된 키워드 후보 평가.
  3. 도구 호출 결정: 매칭된 Skill 의 toolName 으로 Tool Registry 조회.
  4. Reviewer 평가: 도구 RiskLevel × Category × 사용자 grant 격자에서 자동/카드/다이얼로그 결정.
  5. 승인 시 plugin handler 실행 (callTool 통한 cross-plugin 호출 가능).
  6. 도구 결과 + thinking 토큰 → LLM 컨텍스트 → 채팅 본문 stream.
  7. 모든 단계 → ~/.lvis/audit/<YYYY-MM-DD>.jsonl append.
6개 active 플러그인 (2026-05-20)
ms-graph (v0.3.28) · local-indexer (v0.4.11) · meeting (v0.4.18) · work-assistant (v0.7.0, 구 work-proactive) · agent-hub (v0.8.1) · lge-api (v0.12.9). archived: lvis-plugin-email (2026-04-28), lvis-plugin-calendar (2026-04-30) — 둘 다 ms-graph 로 통합됨.
아키텍처 문서 정합성
모든 구현은 lvis-app/docs/architecture/architecture.md (v4 Final) 에 뿌리를 두며, 문서와 모순되는 패턴 / 구조 / 접근법은 도입하지 않습니다. — LVIS Project CLAUDE.md 룰