feat: 添加时区设置功能,默认时区改为 CST-8
- 新增 set_timezone LLM 工具,支持通过对话设置时区 - 新增 set_timezone / timezone_show CLI 命令 - 默认时区从 PST 改为 CST-8(中国标准时间 UTC+8) - 支持 POSIX 格式和 18 个城市名映射(Asia/Shanghai 等) - 时区通过 NVS 持久化存储(system_config namespace) - config_show 中显示当前时区配置 - 更新 changelog.md 和 taolun.md 文档
This commit is contained in:
44
taolun.md
44
taolun.md
@@ -80,3 +80,47 @@ idf.py -p COMx flash monitor
|
||||
1. 认证方式差异确认
|
||||
2. 模型名称规范
|
||||
3. 工具调用格式兼容性验证
|
||||
|
||||
---
|
||||
|
||||
## 讨论:时区设置功能
|
||||
|
||||
**日期**:2026-04-01
|
||||
**目标**:为 MimiClaw 添加可配置的时区支持,默认改为中国时区
|
||||
|
||||
### 背景
|
||||
- 原默认时区为 `PST8PDT,M3.2.0,M11.1.0`(太平洋时间)
|
||||
- 需要支持用户自定义时区,特别是中国用户(UTC+8)
|
||||
- 交互方式从 Telegram 改为飞书
|
||||
|
||||
### 实现方案
|
||||
|
||||
#### 存储方式
|
||||
- **NVS 存储**:使用 `system_config` namespace,key 为 `timezone`
|
||||
- **Build-time 默认值**:`MIMI_TIMEZONE` 改为 `"CST-8"`
|
||||
- **优先级**:NVS 值 > Build-time 值
|
||||
|
||||
#### CLI 命令
|
||||
```
|
||||
set_timezone <TZ> # 例如: set_timezone CST-8 或 set_timezone Asia/Shanghai
|
||||
timezone_show # 显示当前时区配置和本地时间
|
||||
```
|
||||
|
||||
#### LLM 工具
|
||||
- 新增 `set_timezone` 工具,LLM 可通过对话设置时区
|
||||
- 支持 POSIX 格式(`CST-8`)和城市名(`Asia/Shanghai`)
|
||||
- 内置 18 个城市名映射表
|
||||
|
||||
### 改动文件
|
||||
| 文件 | 操作 |
|
||||
|------|------|
|
||||
| `main/mimi_config.h` | 默认时区改为 `CST-8`,添加 `MIMI_NVS_KEY_TIMEZONE` |
|
||||
| `main/tools/tool_set_timezone.h` | **新建** |
|
||||
| `main/tools/tool_set_timezone.c` | **新建** |
|
||||
| `main/tools/tool_registry.c` | include 新头文件 + 注册工具 |
|
||||
| `main/cli/serial_cli.c` | 添加 `set_timezone` / `timezone_show` 命令 |
|
||||
| `main/CMakeLists.txt` | 添加 `tool_set_timezone.c` 到 SRCS |
|
||||
|
||||
### 支持的时区格式
|
||||
- POSIX: `CST-8`, `JST-9`, `EST5EDT,M3.2.0,M11.1.0`, `UTC0`
|
||||
- 城市名: Asia/Shanghai, Asia/Tokyo, America/New_York 等 18 个预设
|
||||
|
||||
Reference in New Issue
Block a user