Files
Meeting_Assistant/TDD.md
egg 8b6184ecc5 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>
2025-12-10 20:17:44 +08:00

46 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

1. 單元測試 (Middleware)
Test-DB-Connect:
嘗試連線至 mysql.theaken.com:33306。
驗證 meeting_ 前綴表是否存在,若不存在則執行 CREATE TABLE 初始化腳本。
驗證 ymirliu@panjit.com.tw 是否能被識別為管理員。
Test-Dify-Proxy:
發送 Mock 文字至 /api/ai/summarize。
驗證 Server 能否正確解析 Dify 回傳的 JSON並處理 Dify 可能的 Timeout 或 500 錯誤。
2. 整合測試 (Client-Server)
Test-Auth-Flow:
Client 輸入帳密 -> Middleware -> Vercel Auth API。
驗證 Token 取得後Client 能否成功存取 /api/meetings。
重要: 驗證 Token 過期模擬(手動失效 TokenClient 攔截器是否觸發重試。
Test-Full-Cycle:
建立: 填寫表單(主席、地點...)。
錄音: 模擬 1 分鐘語音輸入。
摘要: 點擊「AI 摘要」,確認 Dify 回傳資料填入右側欄位。
補填: 手動修改「負責人」欄位。
存檔: 檢查 MySQL 資料庫是否正確寫入 meeting_action_items 且 status 預設為 'Open'。
匯出: 下載 Excel檢查所有欄位包含手動補填的負責人是否正確顯示。
3. 部署檢核表 (Deployment Checklist)
[ ] Middleware Server 的 requirements.txt 包含 mysql-connector-python, fastapi, requests, openpyxl。
[ ] Middleware Server 的環境變數 (.env) 已設定且保密。
[ ] Client 端 electron-builder 設定 target: portable。
[ ] Client 端 Python Sidecar 已包含 faster-whisper, opencc 並完成 PyInstaller 打包。