# 变更日志 ## 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 连接成功后自动从 `pool.ntp.org` 同步系统时间 - 新增 `time_sync` 模块(`main/time_sync/`) - `timezone_show` 命令增加 SNTP 同步状态显示 - **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` 添加 `` - `proxy/http_proxy.c` 添加 `` - `gateway/ws_server.c` 添加 `` - 验证 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 覆盖