v2.9.30 - 参数配置、引擎兼容与下载恢复完善
本次更新
参数配置与引擎兼容性
- 参数配置恢复简洁托管逻辑:仅发射程序必需参数和用户明确调整的参数,未修改项继续交由 llama.cpp 使用自身默认值,启动命令更短、更便于人工调优和排查。
- 新增旧引擎手动命令模式,可直接维护完整启动参数,同时继续使用程序的进程管理、日志采集、健康检查和性能监测能力。
- 建立 llama.cpp 引擎能力探测、版本识别、启动前兼容性验证和未知引擎保守降级机制;参数基线已与官方稳定版 b10068 对齐。
- 参数页面现在分别展示“本次改动”和“启动参数”,支持定位、撤销、恢复引擎默认值和真实发射结果核对;修复参数搜索按 Enter 无法跳转的问题。
- 优化参数分组、开关、输入框和状态标记的对齐方式,明确每个“将发射”标记所属参数,减少复杂配置页面中的视觉歧义。
- 修复缺失引擎时生成命令无响应、保存预检竞态和默认值被意外显式发射等问题;用户自定义参数仍按配置原样进入启动命令。
模型与多模态配置
- 多模态投影器重新支持从模型仓库手动选择;切换主模型时会尝试安全匹配同来源 projector,也可由用户覆盖自动选择结果。
- 改进 GGUF 元数据、模型家族、仓库来源和 projector 类型的匹配逻辑,区分确认匹配、目录弱匹配、来源未知和来源冲突,减少视觉模型的误报提醒。
- 加固 GGUF 元数据解析,对标签数量、单项大小、累计内存和文件越界实施限制,避免损坏或恶意模型文件造成异常资源消耗。
- 完善向量模型、Embedding、Reranker、推测解码及多模态参数的互斥和启动规范化,避免不适用参数进入最终命令。
下载管理与状态恢复
- 修复取消下载后任务仅从前端消失、重启程序又重新出现的问题,取消操作现在会同步清理运行队列、持久化队列和下载产物状态。
- 统一正常退出、异常退出和旧版状态文件的恢复逻辑:手动策略恢复为“已暂停”,自动恢复策略会刷新运行标识并重新排队,重试耗尽任务不会被误启动。
- 加固暂停、继续、批量取消、断点续传、任务版本和延迟事件隔离,避免旧运行事件覆盖新任务或产生重复下载。
- 完善下载路径、远程目录、绝对保存目录和清理边界校验,保留断点文件的同时防止任务状态与实际文件错位。
性能监测、实例与跨平台稳定性
- 统一性能监测和大屏模式的实时吞吐、空闲归零、任务完成、向量并发速率及历史会话统计口径,减少轮询延迟造成的旧数据残留。
- 修复实例生成命令、配置保存、运行状态交接和引擎删除后的降级处理,避免按钮无响应或配置被异步结果覆盖。
- 加固代理鉴权与敏感请求头过滤、集群发现身份、远程命令、开机启动和跨平台路径处理。
- 补齐 Windows、macOS、Linux x64 与 Linux ARM64 的条件编译检查,修复仅在非 Windows 平台暴露的 Clippy 问题。
自动化与质量保障
- 新增隔离于正式构建的模拟 Tauri 浏览器后端,并将 Playwright Chromium 回归纳入发布门禁。
- 浏览器自动化覆盖参数搜索定位、改动与发射状态、配置保存、
--models-autoload关闭态、多模态来源匹配/冲突及后端命令生成失败。 - 增加 llama.cpp 上游参数漂移监测,稳定版变化会阻断兼容性门禁,master 分支变化作为 canary 提醒。
- 扩充下载恢复、配置保存、引擎能力、多模态元数据、向量策略、实时吞吐、推测解码和跨平台回归测试。
验证结果
npm run check:release、TypeScript 类型检查、ESLint 和前端生产构建全部通过。- Chromium 浏览器自动化 4 项全部通过,正式构建通过 Mock 隔离检查。
- Rust 常规测试 199 项通过;真实模型目录 GGUF 全语料解析测试单独执行通过。
- Clippy 在
-D warnings下通过,npm 官方漏洞库检查为 0 个漏洞,RustSec 无未批准安全公告。 - GitHub Actions 的质量检查、Windows、macOS、Linux x64 和 Linux ARM64 构建与资产上传全部通过。
安装包说明
- Windows:提供明确标注的 unsigned EXE 与 MSI;系统可能显示未知发布者提示。
- macOS Apple Silicon:提供 ad-hoc 签名 DMG;未配置 Apple Developer 年费证书时不阻断发布。
- Linux:提供 x64 与 ARM64 的 AppImage 和 DEB。
完整变更:v2.9.29...v2.9.30