# Windows 构建指南 ## 构建说明 **重要提示**: 强烈建议在 **Windows 系统上直接构建** Windows 版本。 --- ## 方法一:在 Windows 上构建(推荐) ### 1. 环境准备 ```powershell # 安装 Node.js 20+ # 从 https://nodejs.org 下载安装 # 克隆项目 git clone https://gitea.impressionyang.top/impressionyang/impress_asr_input.git cd impress-asr-input ``` ### 2. 安装依赖 ```powershell # 安装依赖 npm install ``` ### 3. 放入模型文件(可选) 将 ONNX 模型放入 `models/` 目录: - `sensevoice.onnx` - `whisper.onnx` - `paraformer.onnx` ### 4. 构建 **使用脚本构建**(推荐): ```powershell # 双击运行或命令行执行 scripts\build-win.bat ``` **或手动构建**: ```powershell # 构建 ZIP 包(无需签名) npm run build:win:zip # 构建 NSIS 安装程序 npm run build:win # 构建解压目录版本(用于测试) npm run build:win:dir ``` 输出目录:`release/` --- ## 方法二:在 Linux/macOS 上手动打包 ### 步骤 1: 编译 TypeScript ```bash npm run build ``` ### 步骤 2: 下载 Electron 从镜像下载 Electron: ```bash curl -L -o /tmp/electron-win.zip \ https://npmmirror.com/mirrors/electron/28.3.3/electron-v28.3.3-win32-x64.zip ``` ### 步骤 3: 打包 ```bash # 创建发布目录 mkdir -p release/impress-asr-input-win-x64 # 解压 Electron unzip /tmp/electron-win.zip -d release/impress-asr-input-win-x64/ # 复制应用文件 cp -r dist/* release/impress-asr-input-win-x64/resources/app/ # 复制 node_modules mkdir -p release/impress-asr-input-win-x64/resources/app/node_modules cp -r node_modules/onnxruntime-web release/impress-asr-input-win-x64/resources/app/node_modules/ cp -r node_modules/clipboardy release/impress-asr-input-win-x64/resources/app/node_modules/ cp -r node_modules/commander release/impress-asr-input-win-x64/resources/app/node_modules/ # 压缩 cd release/ zip -r Impress_ASR_Input-0.1.0-win-x64.zip impress-asr-input-win-x64/ ``` --- ## 构建输出 ``` release/ ├── Impress_ASR_Input-0.1.0-win-x64.zip # ZIP 压缩包 ├── win-unpacked/ # 未打包版本(用于测试) │ ├── Impress ASR Input.exe │ └── resources/ └── Impress ASR Input-0.1.0-win-x64-setup.exe # NSIS 安装程序 ``` --- ## 快速打包脚本 项目提供了自动打包脚本: | 系统 | 脚本 | 使用方式 | |------|------|----------| | Windows | `scripts/build-win.bat` | 双击运行 | | Linux/macOS | `scripts/build-win.sh` | `bash scripts/build-win.sh` | --- ## 常见问题 ### 1. Electron 下载失败 ```bash # 使用国内镜像 export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" export npm_config_electron_mirror="https://npmmirror.com/mirrors/electron/" # 或使用代理 export http_proxy="http://127.0.0.1:7897" export https_proxy="http://127.0.0.1:7897" ``` ### 2. winCodeSign 下载失败 / 签名错误 electron-builder 默认会尝试下载代码签名工具。 解决方案: 1. 在 Windows 上构建(推荐) 2. 使用手动打包方式(见方法二) ### 3. 缺少 Wine ```bash # Ubuntu/Debian 安装 Wine sudo apt-get install wine64 ``` 但 Wine 配置复杂,仍建议在 Windows 上构建。 ### 4. 图标文件缺失 构建时会使用默认图标,如需自定义: 1. 准备 `icon.ico` (256x256) 2. 放入 `build/` 目录 3. 在 `package.json` 的 `build.win` 中添加 `"icon": "build/icon.ico"` --- ## 运行应用 解压后双击运行: ``` Impress ASR Input.exe ``` 或命令行模式: ``` node dist/main.js start ``` --- ## 无模型启动 应用支持无模型启动,用于配置和测试: ```bash npm start -- start ``` 会显示模型下载指引和配置说明。