From 403985e2cde41b32ec2401496cb22dbcfc9cd4cd Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Wed, 8 Apr 2026 11:23:26 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=AC=B8=EC=84=9C=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=20=EC=8B=9C=20=EB=A9=94=EB=AA=A8=20=EC=B0=B8=EC=A1=B0=20?= =?UTF-8?q?=EB=88=84=EB=9D=BD=20+=20documents=20=EB=B0=B0=EC=97=B4=20undef?= =?UTF-8?q?ined=20=EB=B0=A9=EC=96=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit generateDocument 프롬프트에 참석자 메모(📝) 포함. MeetingDetailTabs에서 documents ?? [] 폴백 추가. --- src/main/services/MeetingModeService.ts | 15 ++++++++++++++- .../components/meeting/MeetingDetailTabs.tsx | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/services/MeetingModeService.ts b/src/main/services/MeetingModeService.ts index b57391f..c128b46 100644 --- a/src/main/services/MeetingModeService.ts +++ b/src/main/services/MeetingModeService.ts @@ -538,6 +538,16 @@ class MeetingModeService extends EventEmitter { } const transcript = row.editedTranscript ?? row.rawTranscript ?? '' + + // 메모도 함께 참조 + const memoRows = db.select().from(meetingMemos) + .where(eq(meetingMemos.sessionId, params.sessionId)) + .orderBy(meetingMemos.timestampMs) + .all() + const formattedMemos = memoRows.length > 0 + ? memoRows.map((m) => `[${formatTime(m.timestampMs)}] 📝 ${m.content}`).join('\n') + : '' + const systemPrompt = params.customPrompt ?? template.systemPrompt const docTitle = params.customTitle ?? `${template.name} — ${row.title ?? '무제 회의'}` @@ -559,8 +569,11 @@ class MeetingModeService extends EventEmitter { sendProgress(30) const llmStart = Date.now() + const memoSection = formattedMemos + ? `\n\n## 참석자 메모 (📝 표시)\n${formattedMemos}` + : '' const result = await llmService.generate( - `다음 회의 전사록을 분석하여 문서를 작성해주세요:\n\n${transcript}`, + `다음 회의 전사록과 참석자 메모를 분석하여 문서를 작성해주세요:\n\n## 전사록\n${transcript}${memoSection}`, { systemPrompt, temperature: 0.3, diff --git a/src/renderer/components/meeting/MeetingDetailTabs.tsx b/src/renderer/components/meeting/MeetingDetailTabs.tsx index 5f16fcb..7664b1e 100644 --- a/src/renderer/components/meeting/MeetingDetailTabs.tsx +++ b/src/renderer/components/meeting/MeetingDetailTabs.tsx @@ -78,7 +78,7 @@ export function MeetingDetailTabs({ }: MeetingDetailTabsProps): React.ReactElement { const { t } = useI18n() const [detail, setDetail] = useState(initialDetail) - const [documents, setDocuments] = useState(initialDetail.documents) + const [documents, setDocuments] = useState(initialDetail.documents ?? []) const [templates, setTemplates] = useState([]) const [tabIndex, setTabIndex] = useState(0) const [dialogOpen, setDialogOpen] = useState(false)