Files
meeting_recorder/mac-app/scripts/build_backend.sh
T
freedakgmail 2752ea4e54 feat: 添加 Tauri Mac 原生应用支持
- 新增 mac-app/ 目录:Tauri 项目结构(Rust 外壳 + sidecar 进程管理)
- 前端添加 Tauri 环境检测,API 调用和 WebSocket 自动适配
- 后端支持 MEETING_DATA_DIR 环境变量指定数据目录
- 新增 /api/meetings/{id}/retranscribe 接口用于重新转录
- 修复轮询超时:2分钟→30分钟,适配长音频
- 添加 .gitignore 排除构建产物
2026-07-10 00:04:27 +08:00

57 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# 构建后端 sidecar 二进制文件 (PyInstaller)
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
BUILD_DIR="$SCRIPT_DIR/../dist"
echo "=== 构建后端 sidecar (PyInstaller) ==="
echo "项目根目录: $PROJECT_ROOT"
echo "构建输出: $BUILD_DIR"
# 清理旧构建
rm -rf "$BUILD_DIR/backend"
mkdir -p "$BUILD_DIR/backend"
# 获取当前平台 target triple
TARGET_TRIPLE=$(rustc -vV 2>/dev/null | grep host | awk '{print $2}')
if [ -z "$TARGET_TRIPLE" ]; then
# 默认 Apple Silicon
TARGET_TRIPLE="aarch64-apple-darwin"
fi
echo "目标平台: $TARGET_TRIPLE"
# 使用 PyInstaller 打包
cd "$PROJECT_ROOT"
pyinstaller \
--onefile \
--name "meeting-backend" \
--distpath "$BUILD_DIR/backend" \
--workpath "$BUILD_DIR/backend/build" \
--specpath "$BUILD_DIR/backend" \
--add-data "database.py:." \
--add-data "processor.py:." \
--add-data "audio_utils.py:." \
--hidden-import funasr \
--hidden-import funasr.auto \
--hidden-import soundfile \
--hidden-import pydub \
--hidden-import sqlalchemy \
--hidden-import openai \
--collect-all funasr \
--collect-all torch \
--collect-all torchaudio \
--noconfirm \
main.py
# 复制到 Tauri sidecar 目录,加上 target triple 后缀
SIDECAR_DIR="$SCRIPT_DIR/../src-tauri/binaries"
mkdir -p "$SIDECAR_DIR"
cp "$BUILD_DIR/backend/meeting-backend" "$SIDECAR_DIR/meeting-backend-$TARGET_TRIPLE"
chmod +x "$SIDECAR_DIR/meeting-backend-$TARGET_TRIPLE"
echo "=== 后端构建完成 ==="
echo "Sidecar 二进制: $SIDECAR_DIR/meeting-backend-$TARGET_TRIPLE"