# Meeting Assistant 建置腳本 本目錄包含後端設置與前端打包的自動化腳本。 ## 腳本清單 | 腳本 | 平台 | 說明 | |------|------|------| | `setup-backend.sh` | Linux/macOS/WSL | 後端一鍵設置與啟動 | | `setup-backend.bat` | Windows | 後端一鍵設置與啟動 | | `build-client.sh` | Linux/macOS/WSL | 前端打包腳本 | | `build-client.bat` | Windows | 前端打包腳本 | | `deploy-backend.sh` | Linux | 生產環境部署腳本 | --- ## 後端設置腳本 ### 功能 - 自動檢查 Python 環境 (需要 3.10+) - 自動建立虛擬環境 - 自動安裝依賴 - 自動設置環境變數檔案 - 啟動後端服務 ### 使用方式 **Linux/macOS/WSL:** ```bash # 一鍵設置並啟動 ./scripts/setup-backend.sh start # 僅設置環境 ./scripts/setup-backend.sh setup # 背景執行 ./scripts/setup-backend.sh start-bg # 停止背景服務 ./scripts/setup-backend.sh stop # 使用自訂端口 ./scripts/setup-backend.sh start --port 8080 # 不安裝 Sidecar 依賴 ./scripts/setup-backend.sh setup --no-sidecar ``` **Windows:** ```batch REM 一鍵設置並啟動 scripts\setup-backend.bat start REM 僅設置環境 scripts\setup-backend.bat setup REM 使用自訂端口 scripts\setup-backend.bat start --port 8080 ``` ### 環境變數 啟動後請編輯 `backend/.env` 設定: - 資料庫連線 - API 密鑰 - 服務配置 --- ## 前端打包腳本 ### 功能 - 將 Python Sidecar 打包成獨立執行檔 (PyInstaller) - 將 Electron 應用打包成免安裝 exe - 整合 Sidecar 到最終輸出 ### 系統需求 - Node.js 18+ - Python 3.10+ - 磁碟空間 5GB+ (Whisper 模型) ### 使用方式 **Linux/macOS/WSL:** ```bash # 完整建置 (Sidecar + Electron) ./scripts/build-client.sh build # 僅打包 Sidecar ./scripts/build-client.sh sidecar # 僅打包 Electron (需先打包 Sidecar) ./scripts/build-client.sh electron # 建置前清理 ./scripts/build-client.sh build --clean # 指定目標平台 ./scripts/build-client.sh build --platform linux ./scripts/build-client.sh build --platform mac ./scripts/build-client.sh build --platform win ``` **Windows:** ```batch REM 完整建置 scripts\build-client.bat build REM 僅打包 Sidecar scripts\build-client.bat sidecar REM 僅打包 Electron scripts\build-client.bat electron REM 建置前清理 scripts\build-client.bat build --clean ``` ### 輸出目錄 - Sidecar: `sidecar/dist/transcriber/` - Electron: `client/dist/` - 最終輸出: `build/` ### 注意事項 1. **跨平台打包限制** - Windows exe 必須在 Windows 環境打包 - macOS dmg 必須在 macOS 環境打包 - Linux AppImage 可在 Linux 或 WSL 打包 2. **首次打包時間** - Sidecar 首次打包需下載 Whisper 模型 - 根據網路速度可能需要 10-30 分鐘 3. **磁碟空間** - 完整打包需要約 2-3GB 空間 - 建議預留 5GB 以上 --- ## 生產環境部署 使用 `deploy-backend.sh` 在 Linux 伺服器上部署: ```bash # 安裝後端服務 sudo ./scripts/deploy-backend.sh install # 更新後端服務 sudo ./scripts/deploy-backend.sh update # 查看狀態 ./scripts/deploy-backend.sh status # 查看日誌 ./scripts/deploy-backend.sh logs # 移除服務 sudo ./scripts/deploy-backend.sh uninstall ``` ### 自訂配置 ```bash # 指定安裝目錄和端口 sudo ./scripts/deploy-backend.sh install --dir /opt/my-meeting --port 8080 --user meeting ``` 部署後會建立 systemd 服務 `meeting-assistant-backend`,可使用標準 systemctl 命令管理。 --- ## 疑難排解 ### Python 版本問題 確保使用 Python 3.10 或更高版本: ```bash python3 --version ``` ### 虛擬環境問題 如果虛擬環境損壞,可刪除後重建: ```bash rm -rf backend/venv sidecar/venv ./scripts/setup-backend.sh setup ``` ### Electron 打包失敗 確保已安裝 node_modules: ```bash cd client npm install ``` ### Sidecar 打包失敗 確保 PyInstaller 已安裝: ```bash cd sidecar source venv/bin/activate # Linux/macOS pip install pyinstaller ```