Phase 15 구현: Auto Polish + AI 채팅 + 마인드맵 + 공유

- Auto Polish: LLM으로 전사 다듬기 (필러 제거, 문장 교정)
- AI 채팅: 회의 전사 기반 Q&A (LocalLLMService.chatStream 활용, 스트리밍)
- 마인드맵: 빌트인 템플릿 추가 (마크다운 계층 트리)
- 공유: 클립보드 복사 메뉴 추가
- MeetingChatPanel UI (접기/펼치기, 스트리밍 인디케이터)
- TranscriptTab에 AI 다듬기 버튼 추가
- 12개 locale i18n 키 추가
This commit is contained in:
Yun Chan 2026-04-08 10:18:42 +09:00
parent d4928ffa60
commit 2b17bf47b7
26 changed files with 980 additions and 26 deletions

View file

@ -162,6 +162,9 @@ import type {
CreateMeetingDocTemplateParams,
UpdateMeetingDocTemplateParams,
DeleteMeetingDocTemplateParams,
MeetingChatMessage,
MeetingChatSendParams,
MeetingChatDelta,
} from '@shared/types'
import { Feature } from '@shared/types'
import type { IPCResult } from '@shared/errors'
@ -635,6 +638,25 @@ const electronAPI = {
invoke<void>(IPC_CHANNELS.MEETING_MODE.EDIT_SEGMENT, params),
onDocGeneratingProgress: (cb: (e: MeetingDocGeneratingProgress) => void): Unsubscribe =>
on(IPC_CHANNELS.MEETING_MODE.DOC_GENERATING_PROGRESS, cb),
// Phase 15
polishTranscript: (params: { sessionId: string }) =>
invoke<string>(IPC_CHANNELS.MEETING_MODE.POLISH_TRANSCRIPT, params),
},
// ── Meeting Chat (Phase 15) ───────────────────────────
meetingChat: {
send: (params: MeetingChatSendParams) =>
invoke<void>(IPC_CHANNELS.MEETING_CHAT.SEND, params),
cancel: () =>
invoke<void>(IPC_CHANNELS.MEETING_CHAT.CANCEL),
clear: () =>
invoke<void>(IPC_CHANNELS.MEETING_CHAT.CLEAR),
onDelta: (cb: (e: MeetingChatDelta) => void): Unsubscribe =>
on(IPC_CHANNELS.MEETING_CHAT.DELTA, cb),
onMessage: (cb: (e: MeetingChatMessage) => void): Unsubscribe =>
on(IPC_CHANNELS.MEETING_CHAT.MESSAGE, cb),
onError: (cb: (e: { message: string }) => void): Unsubscribe =>
on(IPC_CHANNELS.MEETING_CHAT.ERROR, cb),
},
// ── Meeting Doc Templates (Phase 14.5) ───────────────