3.9 KiB
3.9 KiB
MiroFish Windows 打包使用说明
本文档说明如何将 MiroFish 项目打包成 Windows 可执行安装程序。
环境要求
| 工具 | 版本要求 | 用途 | 下载地址 |
|---|---|---|---|
| Python | 3.11+ | 后端打包 | https://python.org |
| Node.js | 18+ | 前端构建 | https://nodejs.org |
| uv | 最新版 | Python 包管理 | pip install uv |
| Inno Setup | 6.x | 创建安装程序 | https://jrsoftware.org/isinfo.php |
快速开始
方式一:一键打包(推荐)
使用嵌入式 Python 模式打包(体积较小,适合大多数情况):
.\installer\build.ps1
方式二:PyInstaller 打包
使用 PyInstaller 完全打包(体积大,但完全独立):
.\installer\build.ps1 -PyInstaller
⚠️ 注意:PyInstaller 模式打包时间长,输出文件可能超过 1GB
方式三:分步执行
如果只需要部分步骤,可以使用参数跳过:
# 跳过前端构建(如果前端没有修改)
.\installer\build.ps1 -SkipFrontend
# 跳过后端处理(如果后端没有修改)
.\installer\build.ps1 -SkipBackend
# 跳过安装程序创建(只生成可执行文件)
.\installer\build.ps1 -SkipInstaller
# 清理旧构建后重新开始
.\installer\build.ps1 -Clean
输出文件
打包完成后,会生成以下文件(嵌入式 Python 模式):
MiroFish_exe/
├── dist/
│ └── MiroFish/ # 可直接运行的目录
│ ├── MiroFish.exe # 主启动器(双击运行)
│ ├── python/ # 嵌入式 Python 运行时
│ │ ├── python.exe
│ │ ├── Lib/
│ │ └── ...
│ ├── backend/ # 后端源代码
│ │ ├── run.py
│ │ ├── app/
│ │ └── .env # 安装时生成的配置
│ └── frontend/
│ └── dist/ # 静态文件
│
└── installer/
└── output/
└── MiroFish_Setup_0.1.0.exe # 安装程序
安装程序功能
生成的安装程序 MiroFish_Setup_0.1.0.exe 包含:
- 欢迎页面:显示应用信息
- 许可协议:AGPL-3.0 许可证
- 安装目录选择:用户可自定义安装位置
- API 配置页面:
- LLM API Key(必填)
- LLM Base URL(默认:阿里百炼)
- LLM Model Name(默认:qwen-plus)
- ZEP API Key(必填)
- 安装进度:显示文件复制进度
- 完成页面:可选立即启动
常见问题
Inno Setup 未找到
如果看到警告"未找到 Inno Setup",请:
- 下载安装 Inno Setup 6
- 确保安装到默认位置或将路径添加到环境变量
- 重新运行打包脚本
后端打包失败
检查以下几点:
- 确保 Python 3.11+ 已安装
- 确保 uv 包管理器已安装:
pip install uv - 确保后端依赖已安装:
cd backend && uv sync
前端构建失败
检查以下几点:
- 确保 Node.js 18+ 已安装
- 确保前端依赖已安装:
cd frontend && npm install
运行时缺少 DLL
PyInstaller 已自动包含大部分依赖,如果仍有问题:
- 在干净的 Windows 环境测试
- 安装 Visual C++ Redistributable
修改配置页面
如需修改安装程序的配置页面,编辑 installer/setup.iss 文件:
- 添加/删除配置项:修改
InitializeWizard过程 - 修改默认值:修改对应的
Edit.Text属性 - 修改验证逻辑:修改
NextButtonClick函数 - 修改 .env 生成:修改
CurStepChanged过程
版本更新
更新版本号时,修改以下位置:
installer/setup.iss第 7 行:#define MyAppVersion "x.x.x"package.json中的version字段backend/pyproject.toml中的version字段