Architecture
LVIS system at a glance
LVIS is structured around four layers — the Electron host, the plugin runtime, local storage (~/.lvis), and servers — all operating on the same user signals. Every domain feature is split out into plugins, and the host never imports domain-specific code (enforced at the CI stage).
6 active plugins
static manifest
no fallback
Desktop Host
Electron host
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 · Agent Hub · external
Marketplace (FastAPI · plugin/agent/mcp/skill catalog)Agent Hub (FastAPI + asyncpg + alembic)MCP servers (external)ms-graph · LGE EP · LGenie (external APIs)
↑ decision · approval flow · ↓ signal · data flow — every layer is separated by an explicit permission boundary.
Data flow — one user message turn
- 01
User input
User input →ChatView. - 02
Skill matching
The host evaluates candidate keywords registered viaregisterKeywords. - 03
Tool call decision
Looks up the Tool Registry by the matched Skill's toolName. - 04
Reviewer evaluation
Decides auto / card / dialog from the grid of tool RiskLevel × Category × the user's grant. - 05
Execution
On approval, the plugin handler runs (cross-plugin calls possible viacallTool). - 06
Response streaming
Tool results + thinking tokens → LLM context → streamed into the chat body. - 07
Audit logging
Every step is appended to~/.lvis/audit/<YYYY-MM-DD>.jsonl.
6 active plugins (2026-05-20)
ms-graph (v0.3.28) · local-indexer (v0.4.11) · meeting (v0.4.18) · work-assistant (v0.7.0) · agent-hub (v0.8.1) · lge-api (v0.12.9). Archived: lvis-plugin-email (2026-04-28), lvis-plugin-calendar (2026-04-30) — both consolidated into ms-graph.
Architecture doc consistency
Every implementation is rooted in
lvis-app/docs/architecture/architecture.md (v4 Final), and no pattern, structure, or approach that contradicts the document is introduced — LVIS Project CLAUDE.md rule.