feat: Meeting Assistant MVP - Complete implementation
Enterprise Meeting Knowledge Management System with: Backend (FastAPI): - Authentication proxy with JWT (pj-auth-api integration) - MySQL database with 4 tables (users, meetings, conclusions, actions) - Meeting CRUD with system code generation (C-YYYYMMDD-XX, A-YYYYMMDD-XX) - Dify LLM integration for AI summarization - Excel export with openpyxl - 20 unit tests (all passing) Client (Electron): - Login page with company auth - Meeting list with create/delete - Meeting detail with real-time transcription - Editable transcript textarea (single block, easy editing) - AI summarization with conclusions/action items - 5-second segment recording (efficient for long meetings) Sidecar (Python): - faster-whisper medium model with int8 quantization - ONNX Runtime VAD (lightweight, ~20MB vs PyTorch ~2GB) - Chinese punctuation processing - OpenCC for Traditional Chinese conversion - Anti-hallucination parameters - Auto-cleanup of temp audio files OpenSpec: - add-meeting-assistant-mvp (47 tasks, archived) - add-realtime-transcription (29 tasks, archived) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
61
PRD.md
Normal file
61
PRD.md
Normal file
@@ -0,0 +1,61 @@
|
||||
1. 產品概述
|
||||
本系統為企業級會議知識管理解決方案。前端採用 Electron 進行邊緣運算(離線語音轉寫),後端整合公司現有 Auth API、MySQL 資料庫與 Dify LLM 服務。旨在解決會議記錄耗時問題,並透過結構化資料進行後續追蹤。
|
||||
|
||||
2. 功能需求 (Functional Requirements)
|
||||
2.1 身份驗證 (Authentication)
|
||||
FR-Auth-01 登入機制:
|
||||
|
||||
使用公司 API (https://pj-auth-api.vercel.app/api/auth/login) 進行驗證。
|
||||
|
||||
支援短效 Token 機制,Client 端需實作自動續簽 (Auto-Refresh) 邏輯以維持長時間會議連線。
|
||||
|
||||
FR-Auth-02 權限管理:
|
||||
|
||||
預設管理員帳號:ymirliu@panjit.com.tw (擁有所有會議檢視與 Excel 模板管理權限)。
|
||||
|
||||
2.2 會議建立與中繼資料 (Metadata Input)
|
||||
FR-Meta-01 必填欄位:
|
||||
|
||||
由於 AI 無法憑空得知部分資訊,系統需在「建立會議」或「會議資訊」頁面提供以下手動輸入欄位:
|
||||
|
||||
會議主題 (Subject)
|
||||
|
||||
會議時間 (Date/Time)
|
||||
|
||||
會議主席 (Chairperson)
|
||||
|
||||
會議地點 (Location)
|
||||
|
||||
會議記錄人 (Recorder) - 預設帶入登入者
|
||||
|
||||
會議參與人員 (Attendees)
|
||||
|
||||
2.3 核心轉寫與編輯 (Core Transcription)
|
||||
FR-Core-01 邊緣轉寫: 使用 i5/8G 筆電本地跑 faster-whisper (int8) 模型,並加上 OpenCC 強制繁體化。
|
||||
|
||||
FR-Core-02 即時修正: 支援雙欄介面,左側顯示 AI 逐字稿,右側為結構化筆記區。
|
||||
|
||||
2.4 AI 智慧摘要 (LLM Integration)
|
||||
FR-LLM-01 Dify 整合:
|
||||
|
||||
串接 https://dify.theaken.com/v1。
|
||||
|
||||
將逐字稿送往 Dify,並要求回傳包含以下資訊的結構化資料:
|
||||
|
||||
會議結論 (Conclusions)
|
||||
|
||||
待辦事項 (Action Items):需解析出 內容、負責人、預計完成日。
|
||||
|
||||
FR-LLM-02 資料補全: 若 AI 無法識別負責人或日期,UI 需提供介面讓使用者手動補填。
|
||||
|
||||
2.5 資料庫與追蹤 (Database & Tracking)
|
||||
FR-DB-01 資料隔離: 所有資料表必須加上 meeting_ 前綴。
|
||||
|
||||
FR-DB-02 事項編號: 系統需自動為每一條「會議結論」與「待辦事項」產生唯一編號 (ID),以便後續追蹤執行現況。
|
||||
|
||||
2.6 報表輸出 (Export)
|
||||
FR-Export-01 Excel 生成:
|
||||
|
||||
後端根據 Template 生成 Excel。
|
||||
|
||||
需包含所有 FR-Meta-01 及 FR-LLM-01 定義之欄位。
|
||||
Reference in New Issue
Block a user