fix: 第一轮修复 - 记忆管理/IoT操控/历史消息持久化/动作消息/链路优化/安全配置

- 修复记忆管理数据库连接不可用 (ai-core重编译+Unicode修复)
- 修复IoT子会话工具调用链路日志缺失
- 新增最终审查子会话(review_provider) 支持消息格式解析拆分
- 实现历史消息持久化(后端存储+前端分页加载)
- 前端新增动作消息(ActionMessage)类型和渲染
- 优化对话链路速度(非阻塞子会话+快速问候通道)
- JWT密钥环境变量化(无默认值启动panic)
- Token自动刷新机制(401拦截器+refresh接口)
- WebSocket指数退避重连(jitter+最大10次)
- localStorage清理一致性(cyrene_前缀+版本检查)
- IoT环境变量统一为IOT_SERVICE_URL
This commit is contained in:
2026-05-21 23:10:07 +08:00
parent 8b7d4ec19a
commit a058b0ab8e
53 changed files with 5535 additions and 241 deletions
+1
View File
@@ -0,0 +1 @@
31823
+121
View File
@@ -0,0 +1,121 @@
{
"viewport": {
"w": 1440,
"h": 813
},
"chatInputVisible": {
"rect": {
"t": 763,
"b": 801,
"l": 577,
"r": 1140,
"w": 563,
"h": 38
},
"display": "block",
"visibility": "visible",
"opacity": "1",
"isInViewport": true,
"isBelowFold": false,
"isAboveFold": false,
"hasSize": true
},
"iotStatusBarVisible": {
"rect": {
"t": 0,
"b": 813,
"h": 813
},
"display": "block",
"visibility": "visible",
"opacity": "1",
"isInViewport": true,
"isBelowFold": false
},
"parentHeights": [
{
"depth": 0,
"tag": "DIV",
"cls": "",
"clientH": 813,
"scrollH": 813,
"csHeight": "813px",
"csOverflow": "hidden",
"csDisplay": "block"
},
{
"depth": 1,
"tag": "DIV",
"cls": "flex h-screen bg-[#FFFAF5] dark:bg-[#1a1a2e]",
"clientH": 813,
"scrollH": 813,
"csHeight": "813px",
"csOverflow": "visible",
"csDisplay": "flex"
},
{
"depth": 2,
"tag": "DIV",
"cls": "\n fixed lg:static inset-y-0 left-0 z-30 w-64 transform transition-transform duration-300 ease-in-out\n -translate-x-full lg:t",
"clientH": 813,
"scrollH": 813,
"csHeight": "813px",
"csOverflow": "visible",
"csDisplay": "block"
},
{
"depth": 3,
"tag": "ASIDE",
"cls": "h-full bg-white/70 dark:bg-gray-900/70 backdrop-blur-md border-r border-pink-100 dark:border-pink-900 flex flex-col",
"clientH": 813,
"scrollH": 813,
"csHeight": "813px",
"csOverflow": "visible",
"csDisplay": "flex"
},
{
"depth": 4,
"tag": "DIV",
"cls": "p-4 border-b border-pink-100 dark:border-pink-900",
"clientH": 72,
"scrollH": 72,
"csHeight": "73px",
"csOverflow": "visible",
"csDisplay": "block"
},
{
"depth": 5,
"tag": "BUTTON",
"cls": "w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-pink-400 hover:bg-pink-500 text-white rounded-xl text-sm font-medium transition-colors",
"clientH": 40,
"scrollH": 40,
"csHeight": "40px",
"csOverflow": "visible",
"csDisplay": "flex"
},
{
"depth": 6,
"tag": "SPAN",
"cls": "",
"clientH": 20,
"scrollH": 20,
"csHeight": "20px",
"csOverflow": "visible",
"csDisplay": "block"
}
],
"mainInfo": {
"clientH": 756,
"scrollH": 756,
"csHeight": "756px",
"csOverflow": "hidden",
"childCount": 1,
"childTags": [
{
"tag": "DIV",
"cls": "flex flex-col h-full overflow-hidden",
"clientH": 756
}
]
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 794 KiB