본문으로 건너뛰기
LVIS AI

Plugin · Work Assistant

Work Assistant — Proactive 디텍터 + Daily Briefing

v0.7.0 (구 work-proactive 리네임, plugin id 는 work-assistant). 이메일·캘린더·회의·Agent Hub 신호를 관찰해 L1 deterministic + L2 LLM 분류기로 평가한 뒤 hostApi.triggerConversation 으로 proactive 대화를 띄웁니다. 한 번/일 KST 데일리 브리핑도 자체 emit.

v0.7.0
id: work-assistant
10 detectors
no keywords

검출 → 카드 시퀀스

일정 겹침 감지 — 카드형 알림
겹친 일정 정리 — 사용자 선택지

구현: src/decision/calendar-conflict-detector.ts. ms-graph 의 calendar.event.conflict.detected 구독.

전체 디텍터 10종

Detector idSignal source필요 plugin
mail-approvalemail.newms-graph
mail-meetingemail.newms-graph
mail-actionemail.newms-graph
mail-replyemail.newms-graph
calendar-event-prepcalendar.event.upcomingms-graph
calendar-conflict-prepcalendar.event.conflict.detectedms-graph
work-item-due-soonagent_hub.work_item.due_soonagent-hub
meeting-summarymeeting.summary.createdmeeting
meeting-room-suggestcalendar.event.addedms-graph, lge-api
webex-link-missingcalendar.event.addedms-graph, lge-api

소스: src/decision/detector.ts:81-159 DEFAULT_DETECTORS.

제공 도구 — 3개

  • work_assistant_generate_daily_briefing — LLM 으로 mail/calendar/meeting ring buffer 요약 (한국어 3-5문장, fallback 평문 리스트).
  • work_assistant_list_detectors — UI-callable, read.
  • work_assistant_set_detector_enabled — UI-callable, write.

이벤트

  • Emitted (7): work_assistant.alert.{mail-action, mail-approval, mail-meeting, mail-reply, meeting-summary, calendar-event-prep, work-item-due-soon}
  • Subscribed: email.new, meeting.summary.created, meeting.ended, calendar.event.upcoming, calendar.event.added, calendar.event.conflict.detected, agent_hub.work_item.due_soon, ms-graph.auth.changed
  • Skill 키워드: 없음. (registerKeywords 호출 X — 명시적 호출 도구 + 자동 트리거만 사용)

데일리 브리핑

start() 에서 KST 기준 1일 1회 자동 발사. 중복 방지: ~/.lvis/plugins/work-assistant/last-briefing.json 에 마지막 실행 날짜 기록 (src/hostPlugin.ts:720-813).

No-fallback 룰 — config 외부화 검증
과거 (구 work-proactive 시기) PR #17 의 outlook.com hardcode → PR #19 revert + configSchema.meetingDetectorAllowedSenderDomains 외부화. 현재: 기본값 빈 배열 (fail-closed), 사용자/환경변수 LVIS_MEETING_ALLOWED_DOMAINS 또는 config 가 우선 (meeting-detector.ts:141, 155-170).