# 变更日志 ## 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 ` 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` 添加 `` - `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 覆盖