Files
proxycast/src-tauri/build.rs
T
coso 90bd63908f feat: release v0.83.0 with full pending changes
✨ 新功能
- 新增 OpenClaw 服务集成和相关命令支持
- 新增 Windows 启动诊断命令和故障排查文档
- 新增样式库管理面板 (StyleLibraryPanel)
- 新增 A2UI 任务卡片组件和完整测试覆盖
- 新增输入栏多个子组件:提示路由弹窗、执行策略选择、模型扩展配置等
- 新增工作台创建入口主页和右侧面板扩展视图
- 新增运行时样式控制栏组件
- 新增样式运行时工具模块和测试
- 新增内容审查面板测试
- 新增多个工作台右侧面板能力:音频任务、视频任务、画外音任务、图片任务等
- 新增 Windows 支持包收集脚本
- 新增开发桥健康检查脚本

🐛 修复
- 修复 TypeScript 编译错误
- 修复崩溃诊断逻辑
- 修复 Tauri mock 核心模块
- 修复开发桥 HTTP 客户端
- 修复 webview API 调用
- 修复 Provider 模型列表组件
- 修复多个 Rust clippy 警告

🔧 优化与重构
- 重构输入栏组件架构,拆分为多个独立 hooks 和子组件
- 重构工作台右侧面板,拆分为多个独立模块和配置文件
- 优化 A2UI 组件渲染器和布局系统
- 优化内容创建器文档画布和工具栏
- 优化记忆层指标计算和测试
- 优化项目提示工具
- 优化主题工作台侧边栏
- 优化样式指南面板
- 优化工作台导航和面板渲染 hooks
- 优化确认策略创建工具
- 优化主题模块(novel、video)和共享面板渲染器
- 优化 Agent 事件转换器和会话存储
- 优化数据库 DAO 层
- 优化模型注册服务和技能服务
- 优化日志命令和应用运行器
- 优化开发桥调度器
- 更新 Windows 平台 Tauri 配置
- 更新 CI release workflow

📦 其他
- 新增 Windows 启动问题故障排查文档
- 更新 Playwright E2E 测试文档
- 更新构建和运维文档
- 更新常见问题文档
- 更新 README
2026-03-10 07:57:13 +08:00

44 lines
1.8 KiB
Rust

fn main() {
configure_windows_stack_size();
// tauri::generate_context! 在编译期会校验 `frontendDist` 路径是否存在。
// 开发/CI 场景下可能只跑 `cargo check/test` 而未先构建前端,从而导致宏 panic。
// 这里提前创建配置中的 `../dist` 目录,避免无关的编译阻塞。
if let Ok(manifest_dir) = std::env::var("CARGO_MANIFEST_DIR") {
let manifest_path = std::path::PathBuf::from(&manifest_dir);
let dist_dir = manifest_path.join("../dist");
let _ = std::fs::create_dir_all(dist_dir);
// 检查 models 资源是否存在
check_models_resources(&manifest_path);
}
tauri_build::build()
}
fn configure_windows_stack_size() {
#[cfg(target_os = "windows")]
match std::env::var("CARGO_CFG_TARGET_ENV").as_deref() {
Ok("msvc") => println!("cargo:rustc-link-arg=/STACK:8388608"),
Ok("gnu") => println!("cargo:rustc-link-arg=-Wl,--stack,8388608"),
_ => {}
}
}
/// 检查 models 资源目录是否存在
/// 如果不存在,输出警告提示用户运行下载脚本
fn check_models_resources(manifest_dir: &std::path::Path) {
let models_dir = manifest_dir.join("resources/models");
let index_file = models_dir.join("index.json");
if !index_file.exists() {
println!("cargo:warning=======================================================");
println!("cargo:warning=Models 资源不存在!请运行以下命令下载:");
println!("cargo:warning= ./scripts/download-models.sh");
println!("cargo:warning=======================================================");
// 创建空目录结构,避免 Tauri 构建失败
let _ = std::fs::create_dir_all(models_dir.join("providers"));
let _ = std::fs::create_dir_all(models_dir.join("aliases"));
}
}