本地构建
本地构建
前置依赖
- Node.js 20+
- Rust (stable)
- Tauri 2 开发环境
开发命令
# 安装前端依赖npm install
# 启动开发环境(前端 + Tauri 桌面窗口)npm run tauri dev
# 仅启动前端开发服务器npm run dev
# 类型检查npm run typecheck
# 构建桌面便携版npm run build:portable
# 构建 GitHub 发布版(含签名与 latest.json)npm run build:github-release构建产物
| 命令 | 产物 | 用途 |
|---|---|---|
npm run build:portable | release-portable/niko-buddy.exe | 便携版(单文件),免安装 |
npm run build:github-release | release-github/ 下全套资产 | GitHub Release 上传 |
GitHub Release 产物包含:
niko-buddy_<version>_windows_X64.exe— NSIS 安装包niko-buddy_<version>_windows_X64.exe.sig— 更新签名niko-buddy_<version>_windows_X64_portable.exe— 便携版(单文件)latest.json— Tauri Updater 更新清单
(资产命名以 RELEASING.md 的「资产命名(唯一规范)」为准,禁止 QMaiWrite_* / Niko.Buddy_* 前缀。)
签名密钥
GitHub 发布版构建需要 Tauri 签名私钥,默认路径 ~/.tauri/qmai-updater.key(唯一回退定义在 scripts/prepare-github-release.mjs,P2-3 起双写清偿)。也可通过环境变量 TAURI_SIGNING_PRIVATE_KEY_PATH 与 TAURI_SIGNING_PRIVATE_KEY_PASSWORD 指定。
构建脚本 build:portable / build:github-release 由 scripts/build-release-env.mjs 编排(P2-3:原 package.json 内联 PowerShell 块已下沉 Node 侧,退出码经 spawnSync 传播)。
代码规范
- 前端代码使用 TypeScript 严格模式
- Commit Message 遵循 Conventional Commits 规范
- 新功能在
src/lib/novel/中集中实现,避免散落到无关模块 - Rust 代码遵循
cargo fmt和cargo clippy标准
项目结构
Niko Buddy/├── src/ # 前端源码(components / lib / stores / i18n / commands)├── src-tauri/ # Rust 后端├── skills/ # 角色 SKILL 数据(运行时资源)├── extension/ # 浏览器剪藏扩展├── scripts/ # 构建与发布脚本├── docs-site/ # 本文档站源码(Astro + Starlight)├── .github/workflows/ # CI/CD 工作流├── package.json└── vite.config.ts