Files
Meeting_Assistant/scripts
egg 56cf0c072c fix: Batch script syntax error in build-client.bat
- Replace nested if statements with goto for target validation
- Remove parentheses from echo statements that conflict with if blocks

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 08:29:10 +08:00
..

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/

注意事項

  1. 跨平台打包限制

    • Windows exe 必須在 Windows 環境打包
    • macOS dmg 必須在 macOS 環境打包
    • Linux AppImage 可在 Linux 或 WSL 打包
  2. 首次打包時間

    • Sidecar 首次打包需下載 Whisper 模型
    • 根據網路速度可能需要 10-30 分鐘
  3. 磁碟空間

    • 完整打包需要約 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