mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-10-16 15:34:08 +08:00
✨ 新功能 - 新增 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
44 lines
1.8 KiB
Rust
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"));
|
|
}
|
|
}
|