chore: 升级版本号至 0.3.2 并更新 CHANGELOG

Cargo.toml: 0.3.1 → 0.3.2
CHANGELOG: 新增 0.3.2 条目,涵盖 7 个 commit 的变更:
- 压缩算法关键参数暴露到设置页面
- HTTP API 认证与 CORS 防护
- 上下文压缩重构为两阶段+双阈值+三段保留
- 迁移 parking_lot 锁并优化阻塞 IO
- 修复子智能体任务状态卡死、飞书消息丢失、防御性错误处理
This commit is contained in:
oudecheng 2026-08-06 17:51:15 +08:00
parent 7b459b8ca1
commit 3abd22ddf4
2 changed files with 51 additions and 1 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "picobot"
version = "0.3.1"
version = "0.3.2"
edition = "2024"
[lints.rust]

View File

@ -2,6 +2,56 @@
本文件记录 Picobot 各版本的显著变更,遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 风格。
## [0.3.2] - 2026-08-06
较 [0.3.1] 的 7 个 commit 迭代,聚焦 **上下文压缩可配置化**、**网关安全加固**、**并发模型优化** 与 **错误防御性提升** 四大方向。
### 新增功能
#### 压缩算法关键参数暴露到设置页面
- 将 4 个上下文压缩参数从硬编码提取到 `config.json` 顶层 `compaction` 节:
- `threshold_ratio`0.7):工程化压缩触发阈值,占 `context_window` 的比例
- `llm_compaction_threshold_ratio`0.5LLM 压缩触发阈值
- `truncate_max_tokens`100工程化压缩时 tool 结果截断到的 token 数
- `preserve_count`5LLM 三段压缩保留最旧/最新的 unit 数
- 前端新增"上下文压缩"设置标签页Archive 图标4 个 number input 分两组展示。
- `ContextCompressor` 内聚所有压缩参数,新增 `with_compaction_config()` 构造函数和 `truncate_tool_results()` 方法。
- `AgentLoop` 通过调用 `compressor.truncate_tool_results()` 实现零参数耦合,压缩参数变更仅影响 `ContextCompressor`
#### HTTP API 认证与 CORS 防护
- 新增 HTTP API 认证机制,未授权请求直接返回 401。
- CORS 防护:明确指定允许的 origin阻止跨域未授权访问。
- 修复密钥泄露风险:敏感信息不再出现在错误响应中。
### 改进
#### 上下文压缩重构为两阶段+双阈值+三段保留
- **两阶段压缩**:工具调用完成后触发压缩流程,先用 `prompt_tokens` 判断 70% 阈值。
- **阶段 1工程化压缩**:截断非子代理 tool 结果到约 100 token仅改内存数据。
- **阶段 2LLM 压缩)**:工程化压缩后若估算 token 仍超 50% 阈值,才调用 LLM 压缩。
- **三段保留**:保留最旧 5 个 unit + 中间段 LLM 摘要 + 最新 5 个 unit通过 `HistoryUnit` 原子单元保证 `ToolRound` 不被拆分。
- LLM 压缩失败时降级为仅工程化压缩,不中断 agent loop。
#### 迁移 parking_lot 锁并优化阻塞 IO 与内存管理
- 将 `std::sync` 锁替换为 `parking_lot` 实现,减少锁竞争开销。
- 优化阻塞 IO 路径,避免热路径无谓阻塞。
- 内存管理改进:减少不必要的克隆与分配。
### 修复
#### 子智能体任务状态卡死
- 修复已完成子智能体任务卡在"子智能体正在执行..."状态,前端无法正确展示结果。
#### 飞书 channel 消息丢失
- 修正飞书 reaction 语义,与飞书 API 规范对齐。
- 增容 message bus 队列,避免高频消息场景下队列满导致最后一条消息丢失。
#### 防御性错误处理
- 替换 `unreachable!()` 宏调用为防御性错误返回,避免运行时 panic。
- agent/gateway 关键路径改用 `Result` 传播错误,提升系统鲁棒性。
---
## [0.3.1] - 2026-08-05
较 [0.3.0] 的 19 个 commit 迭代,聚焦 **历史压缩可追溯性**、**token 统计准确性**、**前端渲染稳定性**、**工具执行可靠性** 与 **网关吞吐优化** 五大方向。