diff --git a/Cargo.lock b/Cargo.lock index 6c3a883..16dd399 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1728,7 +1728,7 @@ dependencies = [ [[package]] name = "picobot" -version = "0.4.1" +version = "0.4.2" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index b539080..dfedd2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "picobot" -version = "0.4.1" +version = "0.4.2" edition = "2024" [lints.rust] diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index cf15d26..54b4062 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,6 +2,45 @@ 本文件记录 Picobot 各版本的显著变更,遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 风格。 +## [0.4.2] - 2026-08-17 + +较 [0.4.1] 的 8 个 commit 迭代,聚焦 **安全漏洞修复**、**全链路性能优化** 与 **前端健壮性** 三大方向。 + +### 新增功能 + +#### 部署安全加固 +- 前端生产构建产物与配置文件中,输出/展示时排除所有 token 相关敏感字段(`api_key`/`auth_token`/`access_token` 等),防止误写入日志或静态文件泄露凭据。 + +### 性能优化 + +#### 前端流式渲染性能(子代理场景 P0) +- 子代理 `stream_delta` 用 `requestAnimationFrame` 批处理 delta 合并,避免每 token 一次 setState 触发子树重渲染。 +- 消息槽(MessageBubble / SubagentCard)用 `React.memo` 包裹,流式期间跳过未变更项的 diff。 +- base64 附件解码改为分块处理,大文件解码时不阻塞主线程。 + +#### Bash 输出增量匹配与 HTTP 工具性能 +- Bash 增量匹配:每一次增量输出原先用 O(n²) 算法寻找已有匹配段,改为基于游标增量扫描,长 stdout 场景 CPU 占用显著下降。 +- Bash 缓冲上限:新增流式缓冲大小限制(默认 2MB),超出时按行截断,防止异常大输出撑爆内存。 +- `http_request` 复用 `reqwest::Client`(之前每次调用新建),建立连接池;响应体保持流式分块读取并累加限长。 + +#### 数据库热路径优化 +- 热路径同步 SQLite 操作(`get_topic_message_count`、`load_messages_for_topic_full` 等)改 `tokio::task::spawn_blocking`,解除 tokio worker 线程阻塞,多 topic 并行场景吞吐提升。 +- 定向查询优化:只查询需要的列(不加载 tool_calls_json / content 等大字段),减少 DB → 内存拷贝。 + +### 修复 + +#### 安全漏洞 +- 升级 `quinn-proto` 0.11.14 → 0.11.16,修复 **RUSTSEC-2026-0185** 远程内存耗尽漏洞(QUIC 握手畸形数据包导致的无界内存分配)。 +- `npm audit fix` 修复前端 4 个高危依赖漏洞:`vite` / `postcss` / `undici` / `nanoid`。 + +#### 子代理运行中状态丢失 +- 历史加载时对账 task running 占位:刷新页面或切换话题后,子代理卡片不再因 running 占位缺失而永远显示「运行中」。 + +### 重构 +- 清理 clippy 存量告警:替换不必要的 `unwrap()` 为 match/`?`,去除多余 `.clone()`,删除冗余分支与死代码。 + +--- + ## [0.4.1] - 2026-08-14 较 [0.4.0] 的 17 个 commit 迭代,聚焦 **前端视觉重构**、**话题级模型选择**、**定时任务可靠性**、**缓存占比统计** 与 **调度器并发** 五大方向。 @@ -595,6 +634,7 @@ - 前端静态文件嵌入二进制。 - React Web UI 前端界面。 +[0.4.2]: https://github.com/picobot/picobot/compare/v0.4.1...v0.4.2 [0.4.1]: https://github.com/picobot/picobot/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/picobot/picobot/compare/v0.3.5...v0.4.0 [0.3.5]: https://github.com/picobot/picobot/compare/v0.3.4...v0.3.5