# TauriLingua **Repository Path**: helei01/tauri-lingua ## Basic Information - **Project Name**: TauriLingua - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-12 - **Last Updated**: 2026-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TauriLingua Windows 打包完整指南 ## 一、环境准备 ### 1. 安装 Rust(必须) ```powershell # 下载并安装 rustup winget install Rustlang.Rustup # 安装完成后重启终端,验证 rustc --version cargo --version ``` ### 2. 安装 Tauri CLI ```powershell cargo install tauri-cli --version "^2" ``` ### 3. 安装 Python 依赖 ```bash pip install pyinstaller fastapi uvicorn openai pydantic ``` ### 4. 安装 Node 依赖 ```bash npm install ``` --- ## 二、Python Sidecar 打包 在项目根目录运行: ```bash cd src-python pyinstaller --onefile --name server --distpath ../src-tauri/sidecar-windows --clean main.py cd .. ``` 打包完成后,会在 `src-tauri/sidecar-windows/` 下生成 `server.exe`。 ### Tauri Sidecar 命名规则 Tauri 查找 sidecar 的规则是: ``` externalBin: ["sidecar-windows/server"] ``` 即:`目录名/可执行文件名` Tauri 会自动拼接 `-{target-triple}.exe` 后缀,所以配置中不需要带后缀。 --- ## 三、生成应用图标 使用 Tauri 内置工具从 PNG 生成所有尺寸的图标: ```bash # 准备一张 1024x1024 的 PNG 图标放在 src-tauri/icons/icon.png # 然后运行: npx @tauri-apps/cli icon src-tauri/icons/icon.png ``` 如果没有自定义图标,可暂时用默认占位(Tauri build 会使用内置默认图标)。 --- ## 四、开发调试 ### 同时启动前端 + Python 后端 终端 1 - 启动 Python 后端: ```bash cd src-python python main.py --port 19820 ``` 终端 2 - 启动 Tauri 开发模式: ```bash npm run tauri dev ``` --- ## 五、生产构建 ### 完整构建流程 ```bash # 1. 安装所有依赖 npm install pip install -r src-python/requirements.txt pyinstaller # 2. 构建 Python Sidecar cd src-python pyinstaller --onefile --name server --distpath ../src-tauri/sidecar-windows --clean main.py cd .. # 3. 重命名 sidecar 为 Tauri 要求的格式 copy src-tauri\sidecar-windows\server.exe src-tauri\sidecar-windows\server-x86_64-pc-windows-msvc.exe # 4. 构建 Tauri 应用(会自动执行 npm run build) cargo tauri build ``` ### 输出位置 构建完成后,安装包会自动复制到项目根目录的 `release/` 文件夹: ``` release/ ├── TauriLingua_1.0.0_x64-setup.exe # NSIS 安装程序 └── TauriLingua_1.0.0_x64_en-US.msi # MSI 安装程序 ``` --- ## 六、架构说明 ``` TauriLingua/ ├── src/ # Vue 3 前端 │ ├── main.ts # 入口 │ ├── App.vue # 根组件 │ ├── assets/main.css # Tailwind 样式 │ └── components/ │ ├── Translation.vue # 翻译主界面 │ └── Settings.vue # 设置面板 │ ├── src-tauri/ # Tauri (Rust) 壳 │ ├── tauri.conf.json # Tauri 配置 │ ├── Cargo.toml # Rust 依赖 │ ├── build.rs # 构建脚本 │ ├── src/ │ │ ├── main.rs # 程序入口 │ │ └── lib.rs # Sidecar 管理逻辑 │ └── sidecar-windows/ # Python 打包产物 │ └── server-x86_64-pc-windows-msvc.exe │ ├── src-python/ # Python 后端 │ ├── main.py # FastAPI + SSE 流式翻译 │ └── requirements.txt # Python 依赖 │ ├── release/ # 打包输出(安装程序) │ ├── TauriLingua_1.0.0_x64-setup.exe │ └── TauriLingua_1.0.0_x64_en-US.msi │ └── BUILD.md # 本文件 ``` ### 通信流程 ``` 用户输入 → Vue 前端 → POST /translate (SSE) → Python FastAPI (127.0.0.1:19820) ↓ OpenAI API (流式) ↓ SSE 流式返回 → 前端打字机效果 ``` ### 进程管理 - **启动**: Tauri `setup` 钩子异步拉起 Python Sidecar - **销毁**: 窗口 `Destroyed` 事件中通过 `child.kill()` 优雅杀进程(无 CMD 窗口闪烁) - **端口**: 默认 `19820`,可通过 `--port` 参数指定 --- ## 七、注意事项 1. **API Key 安全**: API Key 仅存储在前端 localStorage,不上传到任何服务器。本地 Python 服务仅监听 `127.0.0.1`,不对外暴露。 2. **CSP 安全策略**: `tauri.conf.json` 已配置 CSP,仅允许连接本地服务端口。 3. **兼容性**: 支持所有 OpenAI 格式 API(DeepSeek、Ollama、Moonshot 等),只需在设置中修改 Base URL 和 Model。 4. **Python 版本**: 需要 Python 3.11+,建议使用 Python 3.12。 5. **PyInstaller 兼容性**: 生成的 sidecar 是平台相关的。Windows 上需要 `.exe`,Linux 上需要无后缀,macOS 上需要无后缀。`tauri.conf.json` 中的 `externalBin` 配置需要对应修改。