#!/bin/bash # CutThenThink 纯云端版本打包脚本 # 无需任何本地 ML 库 set -e echo "===================================" echo "CutThenThink 纯云端版本构建" echo "===================================" echo "" echo "特点:" echo "- OCR 使用云端 API" echo "- AI 使用 API (OpenAI/Anthropic)" echo "- 无需任何本地 ML 库" echo "===================================" # 使用系统Python和pip PYTHON="python3" PIP="python3 -m pip" echo "" echo "[1/4] 安装打包工具..." $PIP install --user pyinstaller 2>/dev/null || echo " PyInstaller可能已安装" echo "" echo "[2/4] 安装核心依赖..." $PIP install --user "PyQt6>=6.7.0" 2>/dev/null || echo " PyQt6可能已安装" $PIP install --user "SQLAlchemy>=2.0.36" 2>/dev/null || echo " SQLAlchemy可能已安装" $PIP install --user openai anthropic 2>/dev/null || echo " AI库可能已安装" $PIP install --user requests pyyaml pillow pyperclip 2>/dev/null || echo " 工具库可能已安装" echo "" echo "[3/4] 清理旧的构建..." rm -rf build dist echo "" echo "[4/4] 开始构建..." $PYTHON -m PyInstaller \ --name "CutThenThink" \ --windowed \ --onefile \ --add-data "src:src" \ --hidden-import=PyQt6.QtCore \ --hidden-import=PyQt6.QtGui \ --hidden-import=PyQt6.QtWidgets \ --hidden-import=sqlalchemy \ --hidden-import=sqlalchemy.orm \ --hidden-import=PIL \ --hidden-import=PIL.Image \ --hidden-import=pyperclip \ --hidden-import=yaml \ --hidden-import=requests \ --hidden-import=openai \ --hidden-import=anthropic \ --collect-all pyqt6 \ src/main.py echo "" echo "===================================" echo "构建完成!" echo "可执行文件: dist/CutThenThink" echo "===================================" echo "" echo "首次运行请配置:" echo "- AI API Key (OpenAI/Anthropic)" echo "- 云端 OCR API" echo "" # 测试运行提示 echo "" read -p "是否测试运行?(y/n) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "启动测试..." ./dist/CutThenThink fi