chore: Archive all pending OpenSpec proposals

Force archive the following proposals:
- add-audio-device-selector (complete)
- add-embedded-backend-packaging (19/26 tasks)
- add-flexible-deployment-options (20/21 tasks)

New specs created:
- audio-device-management (7 requirements)
- embedded-backend (8 requirements)

Updated specs:
- transcription (+2 requirements for model download progress)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
egg
2025-12-22 08:44:04 +08:00
parent c36f4167f2
commit e7a06e2b8f
19 changed files with 1551 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
# Change: Add Embedded Backend Packaging for All-in-One Deployment
## Why
Currently, deploying Meeting Assistant requires setting up both the Electron client and a separate backend server. For enterprise internal deployment, users want a simpler experience: **double-click the exe and it works** without needing to understand or configure backend services separately.
Additionally, when users first run the packaged application, the Whisper model download (~1.5GB) shows only "loading_model" status with no progress indication, causing confusion about whether the download is actually happening.
## What Changes
- **New capability: Embedded Backend** - Package FastAPI backend as a sidecar managed by Electron
- **Backend sidecar management** - Electron starts/stops backend process automatically
- **Health check mechanism** - Wait for backend readiness before loading frontend
- **Configuration unification** - All settings (DB, API keys, auth) in single `config.json`
- **Backward compatible** - Existing deployment method (separate backend) still works via `backend.embedded: false` flag
- **Model download progress** - Show real-time download percentage for Whisper model
## Impact
- Affected specs: `embedded-backend` (new), `transcription` (modified)
- Affected code:
- `backend/run_server.py` (new) - Backend entry point for packaging
- `backend/build.py` (new) - PyInstaller build script
- `backend/app/config.py` - Support frozen executable paths
- `client/src/main.js` - Backend sidecar management
- `client/src/preload.js` - Expose backend status API
- `client/config.json` - Extended configuration schema
- `client/package.json` - Build configuration for backend resources
- `sidecar/transcriber.py` - Model download progress reporting
- `scripts/build-client.bat` - Integrated build script
- `scripts/build-all.ps1` - PowerShell build script