How choisunghwan/cenoffice works
CEN OFFICE is an internal AI-enabled workplace: users sign in, then use a natural-language home assistant or dedicated screens to manage calendars, meetings, documents, tools, and a multiplayer 3D office. The assistant interprets requests and requires confirmation for consequential actions; meeting records proceed through drafting, review, confirmation, and export. AI HUB adds tool registration, approval, execution, and external access. The graph combines sampled call/reference evidence with README-documented capabilities; unsampled implementation details are represented only at supported paths, and some documented links cite the README.
Main entry points: AssistantService.java Assistant orchestration · MinutesService.java Minutes lifecycle · CollaborationService.java Video meetings · App.tsx Application shell
Components 24
User experience
- Application shell
frontend/src/App.tsx - Workspace screens
frontend/src/workspace/Workspace.tsx - Login UI
frontend/src/common/LoginModal.tsx
Assistant workflow
- Home assistant UI
frontend/src/home/HomePage.tsx - Assistant API
backend/src/main/java/com/cenoffice/home/AssistantController.java - Assistant orchestration
backend/src/main/java/com/cenoffice/home/AssistantService.java - Chat sessions
backend/src/main/java/com/cenoffice/home/ChatSessionService.java
Meetings and scheduling
- Calendar service
backend/src/main/java/com/cenoffice/calendar/CalendarService.java - Room reservations
backend/src/main/java/com/cenoffice/office/ReservationService.java - Video meetings
backend/src/main/java/com/cenoffice/meeting/CollaborationService.java - Minutes lifecycle
backend/src/main/java/com/cenoffice/meeting/MinutesService.java - Notifications and mail
backend/src/main/java/com/cenoffice/common/notify/NotificationService.java
AI Hub and documents
- Form filling and export
backend/src/main/java/com/cenoffice/hub/form/TemplateService.java - Skill management
backend/src/main/java/com/cenoffice/hub/SkillService.java - Tool execution
backend/src/main/java/com/cenoffice/hub/ExecutionService.java - Runtime adapters
backend/src/main/java/com/cenoffice/hub/runtime/RuntimeRegistry.java
Identity and office
- Authentication
backend/src/main/java/com/cenoffice/common/api/AuthService.java - User accounts
backend/src/main/java/com/cenoffice/common/repo/UserRepository.java - Office chat
backend/src/main/java/com/cenoffice/office/chat/ChatService.java - Device control
backend/src/main/java/com/cenoffice/office/device/DeviceService.java - LLM providers
backend/src/main/java/com/cenoffice/common/llm/LlmProvider.java
Other components
- Employee
- LiveKit
- SMTP service
Connections 30
- Employee → Application shell: uses
- Application shell → Workspace screens: renders
frontend/src/App.tsx - Application shell → Login UI: opens
frontend/src/App.tsx - Employee → Home assistant UI: requests work
- Home assistant UI → Assistant API: sends requests
- Assistant API → Assistant orchestration: delegates to
- Assistant orchestration → Chat sessions: stores conversations
backend/src/main/java/com/cenoffice/home/AssistantService.java - Assistant orchestration → Calendar service: manages schedules
backend/src/main/java/com/cenoffice/home/AssistantService.java - Assistant orchestration → Room reservations: books rooms
- Assistant orchestration → Video meetings: starts meetings
backend/src/main/java/com/cenoffice/home/AssistantService.java - Assistant orchestration → Minutes lifecycle: requests minutes
backend/src/main/java/com/cenoffice/home/AssistantService.java - Assistant orchestration → Skill management: finds tools
backend/src/main/java/com/cenoffice/home/AssistantService.java - Assistant orchestration → LLM providers: interprets requests
backend/src/main/java/com/cenoffice/home/AssistantService.java - Employee → Video meetings: joins meetings
- Video meetings → LiveKit: exchanges media
- Video meetings → Minutes lifecycle: provides meeting context
- Employee → Minutes lifecycle: reviews and confirms
- Minutes lifecycle → Notifications and mail: notifies attendees
backend/src/main/java/com/cenoffice/meeting/MinutesService.java - Minutes lifecycle → Form filling and export: exports with forms
- Form filling and export → LLM providers: drafts missing fields
backend/src/main/java/com/cenoffice/hub/form/TemplateService.java - Employee → Skill management: registers tools
- Skill management → Tool execution: publishes approved tools
- Tool execution → Runtime adapters: selects runtime
- Runtime adapters → LLM providers: runs AI tools
backend/src/main/java/com/cenoffice/hub/runtime/RuntimeRegistry.java - Notifications and mail → SMTP service: sends optional mail
- Authentication → User accounts: reads and saves
backend/src/main/java/com/cenoffice/common/api/AuthService.java - Employee → Authentication: signs in
- Employee → Office chat: chats in office
- Employee → Device control: controls equipment
- Employee → Calendar service: manages calendar