97 lines
4.5 KiB
Markdown
97 lines
4.5 KiB
Markdown
# 变更日志
|
||
|
||
## v1.2.0(计划中)
|
||
|
||
### 新增
|
||
|
||
- **编译时模块开关**
|
||
- 通过 `sdkconfig.defaults` 配置选择启用/禁用模块
|
||
- 支持的模块开关:
|
||
- `CONFIG_MIMI_CHAN_TELEGRAM` — Telegram 机器人(默认禁用)
|
||
- `CONFIG_MIMI_CHAN_FEISHU` — 飞书机器人(默认启用)
|
||
- `CONFIG_MIMI_TOOL_WEB_SEARCH` — 网络搜索工具
|
||
- `CONFIG_MIMI_TOOL_GPIO` — GPIO 控制工具(默认禁用)
|
||
- `CONFIG_MIMI_WS_SERVER` — WebSocket 网关
|
||
- `CONFIG_MIMI_WIFI_ONBOARD` — WiFi 配置门户
|
||
- `CONFIG_MIMI_OTA` — OTA 升级(默认禁用)
|
||
- 禁用模块不参与编译,节省 Flash 和 RAM
|
||
- 头文件使用 static inline stub,调用方无需修改
|
||
- CLI 命令和工具注册也支持条件编译
|
||
|
||
### 修复
|
||
|
||
- 消除 Telegram 未配置时的 5 秒轮询警告日志
|
||
|
||
---
|
||
|
||
## v1.1.0
|
||
|
||
### 新增
|
||
- 国内大模型厂商接入支持(硅基流动、火山方舟)
|
||
- **时区设置功能**
|
||
- 默认时区改为 `CST-8`(中国标准时间 UTC+8)
|
||
- 新增 `set_timezone` CLI 命令(支持 POSIX 格式和城市名)
|
||
- 新增 `timezone_show` CLI 命令
|
||
- 新增 `set_timezone` LLM 工具(可通过对话设置时区)
|
||
- 时区通过 NVS 持久化存储(`system_config` namespace)
|
||
- 支持城市名映射(Asia/Shanghai → CST-8 等 18 个预设城市)
|
||
- `config_show` 中显示当前时区配置
|
||
- **SNTP 自动时间同步**(新增)
|
||
- WiFi 连接成功后自动从 NTP 服务器同步系统时间
|
||
- 新增 `time_sync` 模块(`main/time_sync/`)
|
||
- 新增 `ntp_status` CLI 命令(查看时区、本地时间、同步状态、NTP 服务器、上次同步时间)
|
||
- 新增 `ntp_sync` CLI 命令(手动触发时间同步)
|
||
- 新增 `ntp_set <server>` CLI 命令(自定义 NTP 服务器,NVS 持久化)
|
||
- 默认 NTP 服务器:`ntp.ntsc.ac.cn`(中国科学院国家授时中心)
|
||
- 同步状态:`synced`(已同步)、`syncing`(同步中)、`not_synced`(未同步)
|
||
- `set_timezone` 工具在设置时区后自动检测时间有效性,必要时触发 HTTP 时间同步
|
||
- 记录上次同步时间戳,`ntp_status` 可查看
|
||
- **NVS 配置安全机制**(新增)
|
||
- 启动时自动校验关键 NVS 命名空间完整性
|
||
- 检测并修复损坏的 NVS 条目
|
||
- 启用 ESP32-S3 Brownout Detection 防止供电不足导致 Flash 写入中断
|
||
|
||
### 修复
|
||
- **LLM Provider 初始化 Bug** — 修复 `llm_provider_init()` 中 provider-specific API key 和 Base URL 无法从 NVS 加载的问题(`llm_provider_get_api_key` 对当前 provider 直接返回内存缓存值,导致 NVS 数据永远不会被读取)
|
||
- **换 USB 口后配置失效** — 启用 Brownout Detection 防止供电不足时 NVS 写入中断,添加启动时 NVS 完整性校验
|
||
- ESP-IDF v6.0 编译适配
|
||
- 修复 flash 大小配置(2MB → 16MB)
|
||
- 修复 WiFi 断开原因码未定义问题(添加 `#ifdef` 保护)
|
||
- 修复 CMakeLists.txt 缺少 `ota/ota_manager.c`
|
||
- 修复 16 处头文件缺失问题:
|
||
- `cli/serial_cli.c` 添加 `llm/llm_provider.h`
|
||
- `llm/llm_provider.c` 添加 `esp_http_client.h`
|
||
- `bus/message_bus.c` 添加 `freertos/FreeRTOS.h`, `freertos/queue.h`
|
||
- `wifi/wifi_manager.c` 添加 `esp_event.h`, `freertos/FreeRTOS.h`, `freertos/task.h`, `freertos/event_groups.h`
|
||
- `ota/ota_manager.c` 添加 `esp_system.h`
|
||
- `channels/telegram/telegram_bot.c` 添加 `freertos/FreeRTOS.h`, `freertos/task.h`
|
||
- `tools/tool_registry.c` 添加 `<stdlib.h>`
|
||
- `proxy/http_proxy.c` 添加 `<sys/time.h>`
|
||
- `gateway/ws_server.c` 添加 `<stdint.h>`
|
||
- 验证 ESP-IDF v6.0 API 兼容性(esp_spiffs_info、esp_websocket_client_send_bin、esp_tls、console REPL 等均存在)
|
||
|
||
### 文档
|
||
- 新增 `docs/ESP-IDF-V6-MIGRATION.md` — ESP-IDF v6.0 迁移适配记录
|
||
- 更新 `taolun.md` — 讨论记录整理,新增时间同步和 NVS 配置稳定性问题讨论
|
||
|
||
---
|
||
|
||
## v1.0.0
|
||
|
||
### 功能
|
||
- Telegram 机器人长轮询
|
||
- Agent Loop(ReAct 工具调用,最多 10 轮迭代)
|
||
- Claude API(Anthropic Messages API)
|
||
- OpenAI API 支持
|
||
- 工具注册 + web_search(Brave Search API)
|
||
- 上下文构建器(系统提示 + 引导文件 + 记忆 + 工具指导)
|
||
- 记忆存储(MEMORY.md + 每日笔记)
|
||
- 会话管理(JSONL per chat_id,环形缓冲区历史)
|
||
- WebSocket 网关(端口 18789,JSON 协议)
|
||
- 串口 CLI(esp_console,调试/维护命令)
|
||
- HTTP CONNECT 代理支持
|
||
- OTA 更新
|
||
- WiFi 管理器(构建时凭证,指数退避)
|
||
- SPIFFS 存储
|
||
- 构建时配置(`mimi_secrets.h`)+ 运行时 NVS 覆盖
|