Skip to content

v0.10.0 - 升级 llama.cpp 9809 + SSE Replay Buffer + 性能优化 + 安全加固

Choose a tag to compare

@zifeiyu2025 zifeiyu2025 released this 26 Jun 12:53

主要更新

引擎升级

  • 升级至 llama.cpp 9809 (c16c35b81, tag b9804)
  • 禁用 llama-server 自带 Web UI (--no-webui),减少不必要的 HTTP 路由和资源占用

SSE Replay Buffer 断线重连(核心新功能)

  • 新增 StreamChatWithConvID 方法,通过 X-Conversation-Id header 启用服务端 SSE 字节缓冲
  • 新增 DeleteStream 方法,调用 DELETE /v1/stream/:conv_id 优雅停止生成
  • tool call 每轮使用独立 convID,规避一个 conv_id 最多一个活跃会话的约束
  • StopGeneration 优先调用 DELETE 端点优雅停止(5秒超时),context cancel 兜底

性能优化(Token 速度提升)

  • 合并 token_speed + generation_speed 双重冗余事件为单一事件,IPC 次数减半
  • token_speed 降频 500ms 发射(100 t/s 时 IPC 开销降低 98%)
  • prompt_progress 降频 200ms 发射
  • 生成期间暂停 router 模型状态轮询,避免 HTTP 连接争用
  • 显式启用 cache-prompt,多轮对话复用前缀 KV 缓存降低首 token 延迟
  • 优化效果:100 t/s 时 IPC 频率从 300 次/秒降至 102 次/秒(降低 66%)

安全加固

  • SSRF 防护:更新检查仅允许 HTTPS + GitHub 域名,拒绝内网 IP
  • PowerShell 注入防护:转义特殊字符
  • API Key 改用环境变量传递(LLAMA_API_KEY),避免命令行参数暴露
  • DOMPurify 降级时返回空串而非弱正则净化
  • SVG 文件强制下载,防止 XSS
  • 路径校验增强(HasPrefix 检查修复)
  • 链接补 rel="noopener noreferrer"

启动错误增强

  • DLL 缺失检测:将 Windows DLL 缺失错误翻译为中文提示
  • 引擎程序文件不存在检测
  • 前端错误分类弹窗(DLL缺失/引擎缺失/模型缺失三类)

其他

  • 版本号迭代至 0.10.0
  • 发布包 data 和 models 目录仅含提示文件,不含实际模型/数据文件