# 变更日志 ## 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` 中显示当前时区配置 ### 修复 - 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` — 讨论记录整理 --- ## 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 覆盖