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>
3.2 KiB
3.2 KiB
1. Middleware Server Foundation
- 1.1 Initialize Python project with FastAPI, uvicorn, python-dotenv
- 1.2 Create .env.example with all required environment variables
- 1.3 Implement database connection pool with mysql-connector-python
- 1.4 Create table initialization script (meeting_users, meeting_records, meeting_conclusions, meeting_action_items)
- 1.5 Configure CORS middleware for Electron client
- 1.6 Add health check endpoint GET /api/health
2. Authentication
- 2.1 Implement POST /api/login proxy to PJ-Auth API
- 2.2 Add admin role detection for ymirliu@panjit.com.tw
- 2.3 Create JWT validation middleware for protected routes
- 2.4 Handle token expiration with appropriate error codes
3. Meeting CRUD
- 3.1 Implement POST /api/meetings (create meeting)
- 3.2 Implement GET /api/meetings (list meetings with user filtering)
- 3.3 Implement GET /api/meetings/:id (get meeting with conclusions and action items)
- 3.4 Implement PUT /api/meetings/:id (update meeting)
- 3.5 Implement DELETE /api/meetings/:id (delete meeting cascade)
- 3.6 Implement system code generation (C-YYYYMMDD-XX, A-YYYYMMDD-XX)
4. AI Summarization
- 4.1 Implement POST /api/ai/summarize endpoint
- 4.2 Configure Dify API client with timeout and retry
- 4.3 Parse Dify response into conclusions and action_items structure
- 4.4 Handle partial data (empty owner/due_date)
5. Excel Export
- 5.1 Create Excel template with placeholders
- 5.2 Implement GET /api/meetings/:id/export endpoint
- 5.3 Implement placeholder replacement ({{subject}}, {{time}}, etc.)
- 5.4 Implement dynamic row insertion for conclusions and action items
6. Electron Client - Core
- 6.1 Initialize Electron project with electron-builder
- 6.2 Create main window and basic navigation
- 6.3 Implement login page with auth API integration
- 6.4 Implement token storage and auto-refresh interceptor
7. Electron Client - Meeting UI
- 7.1 Create meeting list page
- 7.2 Create meeting creation form (metadata fields)
- 7.3 Create dual-panel meeting view (transcript left, notes right)
- 7.4 Implement conclusion/action item editing with manual completion UI
- 7.5 Add export button with download handling
8. Transcription Engine
- 8.1 Create Python sidecar project with faster-whisper and OpenCC
- 8.2 Implement audio input capture
- 8.3 Implement transcription with int8 model
- 8.4 Implement OpenCC Traditional Chinese conversion
- 8.5 Set up IPC communication between Electron and sidecar
- 8.6 Package sidecar with PyInstaller
9. Testing
- 9.1 Unit tests: DB connection, table creation
- 9.2 Unit tests: Dify proxy with mock responses
- 9.3 Unit tests: Admin role detection
- 9.4 Integration test: Auth flow with token refresh
- 9.5 Integration test: Full meeting cycle (create → transcribe → summarize → save → export)
10. Deployment Preparation
- 10.1 Create requirements.txt with all dependencies
- 10.2 Create deployment documentation
- 10.3 Configure electron-builder for portable target
- 10.4 Verify faster-whisper performance on i5/8GB hardware