impress_asr_input/docs/BUILD_WINDOWS.md
impressionyang fc3ea6fa4e docs: 完善 Windows 构建指南和脚本
新增:
- scripts/build-win.bat: Windows 构建脚本
- scripts/build-win.sh: Linux/macOS 构建脚本

更新:
- BUILD_WINDOWS.md: 完善构建说明
  - 添加脚本使用说明
  - 简化手动打包步骤
  - 整理常见问题解答

注意:
- Windows ZIP 包较大 (132MB),建议在各平台自行构建
- 推荐使用提供的脚本进行构建

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-20 16:29:15 +08:00

3.7 KiB

Windows 构建指南

构建说明

重要提示: 强烈建议在 Windows 系统上直接构建 Windows 版本。


方法一:在 Windows 上构建(推荐)

1. 环境准备

# 安装 Node.js 20+
# 从 https://nodejs.org 下载安装

# 克隆项目
git clone https://gitea.impressionyang.top/impressionyang/impress_asr_input.git
cd impress-asr-input

2. 安装依赖

# 安装依赖
npm install

3. 放入模型文件(可选)

将 ONNX 模型放入 models/ 目录:

  • sensevoice.onnx
  • whisper.onnx
  • paraformer.onnx

4. 构建

使用脚本构建(推荐):

# 双击运行或命令行执行
scripts\build-win.bat

或手动构建:

# 构建 ZIP 包(无需签名)
npm run build:win:zip

# 构建 NSIS 安装程序
npm run build:win

# 构建解压目录版本(用于测试)
npm run build:win:dir

输出目录:release/


方法二:在 Linux/macOS 上手动打包

步骤 1: 编译 TypeScript

npm run build

步骤 2: 下载 Electron

从镜像下载 Electron:

curl -L -o /tmp/electron-win.zip \
  https://npmmirror.com/mirrors/electron/28.3.3/electron-v28.3.3-win32-x64.zip

步骤 3: 打包

# 创建发布目录
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 下载失败

# 使用国内镜像
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

# Ubuntu/Debian 安装 Wine
sudo apt-get install wine64

但 Wine 配置复杂,仍建议在 Windows 上构建。

4. 图标文件缺失

构建时会使用默认图标,如需自定义:

  1. 准备 icon.ico (256x256)
  2. 放入 build/ 目录
  3. package.jsonbuild.win 中添加 "icon": "build/icon.ico"

运行应用

解压后双击运行:

Impress ASR Input.exe

或命令行模式:

node dist/main.js start

无模型启动

应用支持无模型启动,用于配置和测试:

npm start -- start

会显示模型下载指引和配置说明。