feat: 添加时区设置功能,默认时区改为 CST-8
Some checks failed
Build / idf-build (push) Has been cancelled
Build & Release / build (push) Has been cancelled

- 新增 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:
2026-04-01 00:50:41 +08:00
parent eedc6757d8
commit 7dc4122778
24 changed files with 645 additions and 52 deletions

View File

@@ -56,10 +56,14 @@ static const char ONBOARD_HTML[] =
"<label>Model</label>"
"<input id='model' placeholder='claude-opus-4-5' value='claude-opus-4-5'>"
"<label>Provider</label>"
"<select id='provider'>"
"<select id='provider' onchange='onProviderChange()'>"
"<option value='anthropic'>Anthropic</option>"
"<option value='openai'>OpenAI</option>"
"<option value='siliconflow'>SiliconFlow (硅基流动)</option>"
"<option value='volcengine'>Volcengine (火山引擎)</option>"
"</select>"
"<label>Base URL</label>"
"<input id='base_url' placeholder='https://api.example.com/v1'>"
"</div></div>"
/* Telegram section */
@@ -133,8 +137,15 @@ static const char ONBOARD_HTML[] =
"btn.textContent='Scan WiFi Networks';btn.disabled=false;"
"}).catch(()=>{btn.textContent='Scan WiFi Networks';btn.disabled=false})}"
"function onProviderChange(){"
"var p=document.getElementById('provider').value;"
"var u=document.getElementById('base_url');"
"if(p==='siliconflow'){u.value='https://api.siliconflow.cn/v1'}"
"else if(p==='volcengine'){u.value='https://ark.cn-beijing.volces.com/api/v3'}"
"else{u.value=''}}"
"function save(){"
"var fields=['ssid','password','api_key','model','provider','tg_token',"
"var fields=['ssid','password','api_key','model','provider','base_url','tg_token',"
"'feishu_app_id','feishu_app_secret','proxy_host','proxy_port','proxy_type','search_key','tavily_key'];"
"var data={};"
"fields.forEach(f=>{data[f]=document.getElementById(f).value.trim()});"