- Add sidecar management to backend (sidecar_manager.py) - Add sidecar API router for browser mode (/api/sidecar/*) - Add browser-api.js polyfill for running in Chrome/Edge - Add "Open in Browser" button when audio access fails - Update build scripts with new sidecar modules - Add start-browser.sh for development browser mode Browser mode allows users to open the app in their system browser when Electron's audio access is blocked by security software. The backend manages the sidecar process in browser mode (BROWSER_MODE=true). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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:
# 一鍵設置並啟動
./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:
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:
# 完整建置 (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:
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/
注意事項
-
跨平台打包限制
- Windows exe 必須在 Windows 環境打包
- macOS dmg 必須在 macOS 環境打包
- Linux AppImage 可在 Linux 或 WSL 打包
-
首次打包時間
- Sidecar 首次打包需下載 Whisper 模型
- 根據網路速度可能需要 10-30 分鐘
-
磁碟空間
- 完整打包需要約 2-3GB 空間
- 建議預留 5GB 以上
生產環境部署
使用 deploy-backend.sh 在 Linux 伺服器上部署:
# 安裝後端服務
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
自訂配置
# 指定安裝目錄和端口
sudo ./scripts/deploy-backend.sh install --dir /opt/my-meeting --port 8080 --user meeting
部署後會建立 systemd 服務 meeting-assistant-backend,可使用標準 systemctl 命令管理。
疑難排解
Python 版本問題
確保使用 Python 3.10 或更高版本:
python3 --version
虛擬環境問題
如果虛擬環境損壞,可刪除後重建:
rm -rf backend/venv sidecar/venv
./scripts/setup-backend.sh setup
Electron 打包失敗
確保已安裝 node_modules:
cd client
npm install
Sidecar 打包失敗
確保 PyInstaller 已安裝:
cd sidecar
source venv/bin/activate # Linux/macOS
pip install pyinstaller