AskaEth
|
a67b95cbc4
|
fix: IoT多设备支持 + Review Pipeline审查消息 + 意图分析快速通道优化
- IoT Provider: 重写Execute()支持多设备命令批量执行,修复persona路径
- Intent Analyzer: 新增isStrongIoTCommand快速通道,跳过LLM分析节省2-3s
- Orchestrator: parseReviewMessages()内联审查 + 快速通道扩展(chat/greeting跳过子会话)
- Gateway: SSE review_messages解析→WebSocket结构化消息转发(action/chat)
- Persona: 对话风格注入action格式指令(括号包裹动作描述)
- Frontend: sessionStore历史消息msgType映射
- 新增E2E测试脚本 + 调试标准文档 + 第4轮修复报告
E2E验证: IoT设备操控✅ Review消息拆分✅ 快速通道✅ 响应时间~3.4s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-22 22:51:27 +08:00 |
|
AskaEth
|
8bbde1c1d7
|
fix: 统一数据库默认密码 change_me → cyrene_pass
Docker Compose 和 .env 使用 cyrene_pass,但 5 个 Go 源码文件
和 DevTools config.js 中的 fallback 密码仍是 change_me,
导致 memory-service/tool-engine/gateway 启动后 DB 认证失败。
修复 7 个文件中的硬编码 fallback 密码,统一为 cyrene_pass。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-22 21:27:56 +08:00 |
|
AskaEth
|
a058b0ab8e
|
fix: 第一轮修复 - 记忆管理/IoT操控/历史消息持久化/动作消息/链路优化/安全配置
- 修复记忆管理数据库连接不可用 (ai-core重编译+Unicode修复)
- 修复IoT子会话工具调用链路日志缺失
- 新增最终审查子会话(review_provider) 支持消息格式解析拆分
- 实现历史消息持久化(后端存储+前端分页加载)
- 前端新增动作消息(ActionMessage)类型和渲染
- 优化对话链路速度(非阻塞子会话+快速问候通道)
- JWT密钥环境变量化(无默认值启动panic)
- Token自动刷新机制(401拦截器+refresh接口)
- WebSocket指数退避重连(jitter+最大10次)
- localStorage清理一致性(cyrene_前缀+版本检查)
- IoT环境变量统一为IOT_SERVICE_URL
|
2026-05-21 23:10:07 +08:00 |
|
AskaEth
|
1fc2b41d36
|
fix: 将管理员 user_id 从动态 admin_{username} 改为固定 admin
根因:admin user_id 由 admin_ + req.Username 动态拼接,
当 .env 中 ADMIN_USERNAME 更改时,新登录会生成不同的 user_id,
导致旧会话成为孤儿且消息历史不可见。
修复方案 (Plan A):
- auth_handler.go: Login 时 userID 固定为 admin
- auth.go: IsAdminKey 从 HasPrefix(admin_) 改为 == admin
- chat_handler.go: 主对话管理员检查改为 userID == admin
- memory_handler.go: 3处 admin_ 前缀检查改为 == admin
- briefing_handler.go: 3处 admin_ 前缀检查改为 != admin
- sessionStore.ts: isAdminUser 从 startsWith 改为 ===
- MessageBubble.tsx: UserAvatar 管理员判断改为 ===
- main.go: 添加旧管理员用户清理逻辑 (ListUsers+DeleteUser)
- user_store.go: 新增 ListUsers 和 DeleteUser 函数
- ai-core/main.go: adminUserID 从 admin_admin 改为 admin
- memory-service/store.go: 默认 user_id 改为 admin
- memory-service/memory_service.go: 默认 UserID 改为 admin
- devtools/src/index.js: URL 参数 user_id=admin
验证: Go build 通过 (gateway/ai-core/memory-service),
tsc --noEmit 通过, vite build 通过
|
2026-05-20 22:13:21 +08:00 |
|
AskaEth
|
25d6eff7c3
|
fix: 种子用户日志和密码配置化 + 第2轮调试文档
|
2026-05-20 14:02:09 +08:00 |
|
AskaEth
|
26a61cb57c
|
feat: 第四轮大版本更新 — 修复4个严重Bug、2个UI Bug,实现自主思考重构与主-子会话架构
## 🐛 Bug 修复
- 修复前端对话无响应:消除 ChatContainer 中的双重 WebSocket 连接,优化 sendMessage 失败提示
- 修复 Memory-Service 数据库迁移失败:ai-core 和 memory-service 均添加 ALTER TABLE ADD COLUMN IF NOT EXISTS 模式演化
- 修复语音/STT 不可用:添加 MediaRecorder API 降级方案,修复 whisper-cli 输出文件名错误
- 修复仪表盘数据库按钮失效:补充按钮 ID 属性,重写 controlDB() 控制逻辑
## 🎨 UI 修复
- 修正用户消息头像位置:从 flex-row-reverse 改为 justify-end
- 移除空聊天列表的 emoji 占位图标
## ✨ 新功能
- devtools 新增 STT 处理日志面板(环形缓冲区 + WebSocket 广播 + 可视化表格)
- 新增 ADMIN_NICKNAME 环境变量,支持自定义管理员昵称
## 🔧 改进
- 注册流程增加昵称必填字段(前后端同步)
## 🏗️ 架构重构
- 重构自主思考逻辑:从定时器轮询改为事件驱动(对话后触发 + 静默检测),优化提示词使其更自然人性化
- 实现主-子会话架构:新增 4 种子会话类型(general/memory/iot/knowledge),意图分析 → 并行分发 → 结果合成流程
## 📄 新增文档
- docs/architecture/main-session-sub-session-design.md — 子会话架构设计文档
|
2026-05-19 21:09:48 +08:00 |
|
AskaEth
|
78e3f450c2
|
feat: Round 5 - Memory Service, Tool Engine, Call Records, Thinking Logs
- Fix: Session history flash (race condition + WS guard)
- Fix: Chat background overlay + sidebar transparency
- Fix: IoT device control (Chinese action names, status field)
- Feat: Independent memory-service (port 8091, 13 endpoints)
- Feat: Independent tool-engine service (port 8092, 13 tools)
- Feat: Tool call logs with paginated DevTools panel
- Feat: Thinking log records with DevTools panel
- Feat: Future development roadmap document
- Chore: Updated .gitignore, go.work, DevTools config
- Chore: 5-service health check, project review docs
|
2026-05-18 20:05:14 +08:00 |
|
AskaEth
|
b6ec36886c
|
feat: 第四轮功能增强 - LLM 思维记忆优化、DevTools 记忆UI、9个新工具、5分钟自我思考
- 优化 LLM 思维方式和记忆方法(类别/重要性/关键词/相似度合并/衰减)
- DevTools 记忆查询 UI 重新设计(类别筛选/排序/星标/搜索)
- 新增 9 个 LLM 工具:calculator, datetime, file_ops, http_request, json_ops, text, random, crypto, markdown
- 管理员主对话 5 分钟自我思考增强(工具调用/记忆提取/记忆维护)
|
2026-05-18 12:13:49 +08:00 |
|
AskaEth
|
e7b7eff0d8
|
fix: 第二轮修复 — 数据库启动检查、会话持久化、URL路由、设备排序等
1. DevTools 启动前检查数据库状态,失败时自动尝试启动
2. ai-core 添加数据库断线重连机制 (30秒间隔)
3. Dashboard 添加数据库状态卡片 (启动/停止/重启)
4. Gateway 会话空闲超时管理 (30分钟标记空闲)
5. 会话/消息 PostgreSQL 持久化 (SessionStore + REST API)
6. 前端服务端会话持久化 + URL hash 路由 + 侧边栏管理
7. 管理员回到主对话按钮
8. IoT 设备卡片固定排序
9. 更新相关文档
|
2026-05-17 17:18:02 +08:00 |
|
AskaEth
|
a80bfd12eb
|
fix: 修复6个bug + IoT设备控制增强 + DevTools IoT面板
问题1: 刷新后主对话历史不显示,侧边栏子对话列表为空
- sessionStore: 修复 setCurrentSessionId 用 Map 去重消息
- AppLayout: 修复 autoLoadNewSession 逻辑
- useWebSocket: 修复 setMessages 调用时机
问题2: 切换到次级对话后无法切换回主对话
- Sidebar: 为删除按钮添加 e.stopPropagation()
问题3&4: IoT设备列表展开导致输入栏消失 + 聊天消息无法滚动
- IoTStatusBar: 从fixed定位改为inline布局
- ChatContainer: 重构flex布局,MessageList自动撑满
问题5: AI核心无法操作IoT设备 + 无法设置温度等属性
- 新增 IoTControlTool (iot_control_tool.go)
- IoTClient: 新增 ToggleDevice/SetProperty/GetHistory
- 支持 set_temperature/set_brightness/set_position/set_mode/set_color
问题6: DevTools启动时Gateway代理登录异常
- devtools: 登录失败时静默降级,不阻塞启动
额外修复:
- iot_tools.go: 修复fmt.Sprintf参数缺失
- iot-debug-service: 修复并发死锁问题
- DevTools: 新增IoT设备控制面板(API代理+前端UI)
|
2026-05-17 14:37:44 +08:00 |
|
AskaEth
|
5d0bb96abe
|
feat: DevTools 数据库监看面板 + 隧道控制 + 多项 Bug 修复
**DevTools 新增功能 (Tasks 13-14):**
- 首页仪表盘添加数据库实时监看卡片 (5端口状态 + 记忆数)
- 侧边栏新增数据库面板,支持自动 5 秒刷新
- 数据库面板显示 PostgreSQL/Redis/Qdrant/MinIO/NATS 端口状态
- 隧道控制按钮 (启动/停止/重启/查看状态)
- 新增 API 端点: GET /api/database/status, POST /api/tunnel/:action
- 更新 docs/api-reference/ API 文档
**Bug 修复 (Task 15):**
- 修复 pgrep -f 自匹配导致隧道状态误判 (添加 ^ssh 锚点)
- devtools/src/index.js (dashboard + database/status)
- scripts/tunnel.sh (is_tunnel_running + show_status)
- 修复数据库面板缺少自动刷新定时器
- 修复侧边栏数据库徽章永远 display:none
- 修复僵尸进程场景下按钮死锁问题
**其他改进:**
- .gitignore 添加 backend/cmd, backend/iot-debug-service/main
- 前端多项改进 (登录/注册/会话/流式动画等)
|
2026-05-17 11:42:42 +08:00 |
|
AskaEth
|
1f5c2508d6
|
feat: 昔涟工具扩展 — OpenAI Function Calling 集成 (网络搜索/网页抓取/IoT设备查询)
|
2026-05-16 23:12:39 +08:00 |
|
AskaEth
|
7f2961e63e
|
feat: IoT 知识库 + 设备查询控制方式改造
- cyrene_persona.yaml: 新增 smart_home 配置段,定义全屋智能家居知识库、设备能力、房间布局和控制规则
- loader.go: 新增 SmartHomeConfig/RoomConfig/DeviceConfig 结构体解析 YAML
- injector.go: BuildSystemPrompt 自动注入智能家居知识库和控制规则
- 新增 buildSmartHomeKB() 和 buildControlRules() 方法
- 新增 joinStrings() 辅助函数
- main.go: 移除 shouldQueryIoT 关键词门控,始终注入 IoT 设备状态到上下文
- 移除未使用的 strings 导入
- IoTStatusBar.tsx: 对所有用户开放 IoT 状态面板(而非仅 dev 模式)
|
2026-05-16 22:23:12 +08:00 |
|
AskaEth
|
186513f381
|
feat: 多功能升级 — 流式逐字渲染、对话缓存、会话组织优化、记忆管理修复、性能仪表盘
- 前端消息流式逐字渲染 (AI-Core ChatStream → SSE → Gateway → WebSocket stream_chunk → fadeInUp + cursorBlink)
- 后端对话缓存 (conversationCache sync.Map, GET /sessions/:id/messages)
- 前端侧边栏历史多轮对话显示
- DevTools 性能监控图标移至首页仪表盘
- DevTools 用户记忆查询/删减功能修复 (补全 DELETE 数据链路)
- 后端和 DevTools 按用户分类组织实时活动会话 (map[userID]map[sessionID]*Client)
- 新增 docs/api-reference/ 路由参考文档
- 新增 docs/message-flow-architecture.md 消息链路架构文档
|
2026-05-16 17:44:03 +08:00 |
|
AskaEth
|
d15acf587c
|
feat: DevTools综合升级 — 记忆查询 + 会话监看 + WebUI侧边栏重构
- docs: 17个文件重命名为 YYYY-MM-DD.HH-mm-SS-内容.md 格式
- config: 管理员凭据移至 backend/.env (ADMIN_USERNAME/PASSWORD)
- gateway: 新增 SessionState 会话追踪 + GET /api/v1/admin/sessions
- devtools: 新增7个代理端点 (dashboard/sessions/memory)
- devtools: WebUI重构为侧边栏 + 5面板 (仪表盘/记忆/会话/服务/性能)
|
2026-05-16 15:02:44 +08:00 |
|
AskaEth
|
cd60b01cf3
|
feat: DevTools调试工具 + 前端样式修复 + 管理员登录系统
DevTools (新增):
- 进程管理器: 启动/停止/重启/编译 + 端口自动释放
- 服务接管 (tryAdopt): 检测已运行服务,健康检查通过则直接接管
- 一键启动 (startAllSequential): 按 ai-core→gateway→frontend 顺序启动
- 日志布局切换: 标签页模式 ↔ 三栏并列模式
- 性能监控: CPU/内存采样 + SVG 折线图
- Web UI + WebSocket 实时推送
前端修复:
- tailwind.config.ts: 修复空配置导致 CSS 不加载 (增加 content/colors/fontFamily)
- postcss.config.js: 新建缺失的 PostCSS 配置
- App.tsx: 移除注册功能,仅保留管理员登录 (admin / cyrene-dev-admin)
后端新增:
- config.go: AdminUsername/AdminPassword/RegistrationEnabled 环境变量
- auth_handler.go: 管理员登录 + 注册邮箱验证码 + 注册开关控制
- 管理员凭据: admin / cyrene-dev-admin (默认)
其他:
- .gitignore: 新增 devtools/node_modules/ devtools/logs/ devtools/package-lock.json
- devtools.sh: DevTools 一键启动脚本
|
2026-05-16 10:49:43 +08:00 |
|
AskaEth
|
eb4129176c
|
dev 分支暂存
|
2026-05-16 08:26:56 +08:00 |
|
AskaEth
|
6bde87f807
|
init: 昔涟项目骨架
|
2026-05-15 20:10:35 +08:00 |
|