【记录】构建ChatGPT-Next-Web桌面应用

ChatGPT-Next-Web 代码更新很快，但是提供的客户端一周才发布一次，想用上最新的功能就需要自己构建一下桌面客户端了，这里记录一下构建流程。
结论：不要交叉编译 Tauri 程序，否则会变得不幸。

准备工作

构建环境

中转加速

安装 rust

Copy
conda activate node
git clone --depth=1 -b main --single-branch https://github.com/Yidadaa/ChatGPT-Next-Web.git
cd ChatGPT-Next-Web
npm install -g yarn
npm install
# conda install -c conda-forge rust
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh

yarn tauri info

修改配置

Copy
# app/masks/cn.ts 中修改默认的面具
# app/constant.ts 中修改默认的模型
# app/store/config.ts 中修改默认的设置

构建应用

Copy
export PATH=$HOME/.cargo/bin:$PATH
rustc --print target-list | grep 'x86_64'| grep 'windows'
rustup target add x86_64-pc-windows-gnu
(容器外) sudo docker-compose exec code-server apt update
(容器外) sudo docker-compose exec code-server apt-get install gcc-mingw-w64-x86-64
yarn tauri build --target x86_64-pc-windows-gnu

Network Error: Error encountered in the status line: Connection reset by peer

Windows 上的解决方案

linux 上完全不知道 NSIS-ApplicationID 要安装到哪里，设置普通的代理没用，透明代理要改的地方太多了，放弃了。

好不容易下载完了，不知道为什么要在 linux 上运行makensis.exe