AskaEth
08687bb13d
fix: 跨端消息同步 — 用户消息广播 + 会话隔离 + 去重
...
后端: handleChatMessage 将用户消息通过 broadcastToUser 广播给同用户所有设备
协议: ClientMessage 新增 ClientMsgID 字段用于跨端去重
前端: 发送消息时携带 client_msg_id,收到回显时跳过本地已添加的消息
前端: handleServerMessage 新增 session_id 过滤,防止不同会话消息串扰
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 13:06:44 +08:00
AskaEth
2574f60823
feat: 后端统一消息类型分类 + 更新 API 文档
...
msg_type 现在由后端在所有消息路径上自动填充,前端无需解析内容猜测类型。
- chat_handler: SendSystemMessage → system_info, parseMultiMessage 返回 proactiveSegment{msgType}
- protocol: MultiMessageItem 增加 MsgType 字段
- useWebSocket: 所有 handler 直接读取 msg_type,移除前端类型推断
- docs/api/gateway-api.md: 文档化 msg_type 分类机制,移除已删除的每日简报章节
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-26 12:35:13 +08:00
AskaEth
6f4056eefb
feat: DevTools 仪表盘新增自重启功能
...
- 新增 POST /api/devtools/restart 端点(spawn 新进程 + exit 旧进程)
- 仪表盘服务状态卡片新增「🔁 重启 DevTools」按钮
- 重启流程:确认 → API 调用 → 2s 后自动刷新页面
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 21:42:09 +08:00
AskaEth
8587bdfee5
fix: DevTools 工具调用面板字段映射修复 + 清理 TOOL_ENGINE_URL 残留
...
- 移除 config.js 中已无引用的 TOOL_ENGINE_URL 导出
- 修复工具调用记录时间字段:call.created_at → call.timestamp
- 修复行展开 ID:call.id → call.call_id
- 错误提示从"启动 Tool-Engine"改为"启动 AI-Core"
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 21:33:39 +08:00
AskaEth
d1b8f8e3b2
fix: 移除早间简报功能 + 修复多处"人机感"用语
...
- 删除 briefing_handler.go / briefing_store.go 及所有相关路由与配置
- 移除 Gateway Config 中 ToolEngineURL / BriefingTime 字段
- 移除 DevTools 中 gateway 的 TOOL_ENGINE_URL 环境变量
- webhook 错误提示从"AI 服务异常/暂不可用"改为昔涟自然口吻
- markdown 导出中昔涟头像从 🤖 改为 💫
- 后台思考提示词"系统会误解析"改为"我会误解析"
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 21:00:15 +08:00
AskaEth
673ff752c5
feat: 插件-工具合并 — 创建 pkg/plugins 共享模块并移除 tool-engine
...
- 新增 backend/pkg/plugins/ 共享模块:SDK 接口、PluginManager、ToolRegistry(含环形缓冲区调用日志)
- 13 个通用插件从 plugin-manager 迁移至共享模块(import 路径统一)
- ai-core 切换至共享 ToolRegistry,进程内执行(零网络开销),包装 6 个专属工具
- plugin-manager 迁移至共享模块,保留管理 REST API
- 新增 DevTools 插件管理面板(侧边栏 → 🔌 插件管理)
- 移除 tool-engine 服务(从 go.work、DevTools 配置、编译系统)
- 工具调用记录 API 从 Tool-Engine 迁至 AI-Core(/api/v1/tools/calls)
- ai-core ContextStore 启动时从 PostgreSQL 恢复会话历史
- 清理所有过时引用和备份文件
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-25 20:52:39 +08:00
AskaEth
5325eaca3f
fix: 后台思考使用深度思考模型 + 主动消息推送冷却优化
...
- thinker.go: Round 0 优先调用 llmAdapter(deepseek-v4-pro),失败回退 toolAdapter
- thinker.go: RecordUserMessage 重置 lastProactiveMsgTime,活跃对话中允许推送
- proactive_decision.go: MinGap low 30→15min, medium 10→5min, high 2→1min; 小时上限 3→5
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 17:10:28 +08:00
AskaEth
79af5c15c3
fix: 侧边栏展开超出屏幕时支持滚动 + 增大导航项点击高度
...
- .sidebar-nav 添加 overflow-y: auto + 细滚动条样式
- .nav-item padding 10px → 12px,summary padding 增大
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 16:51:15 +08:00
AskaEth
8fda174752
feat: DevTools 侧边栏分类折叠 — 5 个可折叠分组 + 高度自适应展开
...
- 仪表盘独立在外,其余 14 个面板分为 AI 认知/系统运维/工具插件/通信平台/模型 5 组
- 屏幕高度 >= 900px 自动展开,< 900px 折叠
- 侧边栏折叠模式强制展开分组以保持 icon-only 可用
- 使用原生 details/summary 元素,零依赖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 16:48:20 +08:00
AskaEth
271a3a048d
fix: DevTools 仪表盘平均请求延迟显示进程运行时间而非实际请求耗时
...
- performance.js: 新增 recordLatency/getAverageLatency, 用 HTTP 请求环缓冲区替换 pidusage elapsed
- index.js: 新增 Express 中间件追踪每个请求耗时
- index.html: 移除前端 elapsed-based fallback 计算
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 16:37:25 +08:00
AskaEth
189f7b999b
feat: VisionTool 集成多模态 LLM 直接调用 — OCR/视觉分析
...
- VisionTool 改为接受可选 llm.LLMProvider,有模型时直接调用视觉模型分析,
无模型时回退 base64 data URL 模式,不影响基本功能
- ModelSelector 新增 PurposeVision 路由用途
- main.go 按 vision routing 自动发现并注入视觉模型 provider
- 支持 models.json 中 qwen3.6-flash / qwen-vl-ocr-latest fallback 链
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 16:25:56 +08:00
AskaEth
47f9de2409
feat: LLM 调用日志 + ModelSelector 优化 + devtools.bat 编码修复
...
- 新增 call_log.go: 全局环形缓冲区记录每次 LLM 调用(模型/Token/耗时/错误)
- OpenAIProvider.doChat/ChatStreamWithTools 自动记录调用日志
- ai-core 暴露 GET /api/v1/llm-calls 端点, DevTools 代理 + UI 面板
- ModelSelector.envProvider 改为单例缓存, 避免重复创建 HTTP Client
- 新增 PurposeToolCalling 适配器, 后台思考工具调用走专用路由
- envFallback 超时 120s→180s, 显式设置 MaxRetries
- devtools.bat 全英文, 解决 Windows CMD GBK 编码乱码问题
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 15:44:53 +08:00
AskaEth
7eb5e984c2
refactor: 认证系统重构 + DevTools CLI 重写 + 文档全面更新
...
- auth: Login 简化为管理员始终通过 .env 验证,GetProfile 修正 admin DB 查询
- devtools: .sh/.bat 同步重写为完整 CLI (start/stop/status/logs/build/db:*)
- docs: 新增 devtools.md,重写 Deploy.md (三种方式+Windows说明),更新 README/gateway-api
- voice-service: DashScope 实时流式 STT 支持
- gateway: Phase 6 多模型配置 + 多端客户端管理 + WebSocket 增强
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 14:55:47 +08:00
AskaEth
83e94d9e97
feat: 新增 GET /api/v1/profile 用户信息查询接口,支持前端凭据查询当前用户
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 14:00:35 +08:00
AskaEth
aab8e47d3e
chore: 同步 .env.example — 新增 DashScope STT、微服务地址、离线思考间隔等缺失配置
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 12:53:11 +08:00
AskaEth
3c2bf9206f
fix: 修复后台思考离线时被拉长到30分钟的问题
...
离线最小思考间隔从硬编码30分钟改为可配置环境变量 THINK_OFFLINE_GAP_SEC (默认10分钟)。
新增服务启动后首次思考触发,确保即使无客户端连接也能立即开始后台思考。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 12:52:00 +08:00
AskaEth
70f8b30d04
docs: 添加完整 API 文档 — Gateway 统一文档 + 后端服务文档
...
新增 docs/api/gateway-api.md:面向客户端开发的网关 API 统一文档,覆盖全部 16 个模块。
新增 docs/api/backend-services/:后端服务详细文档 (ai-core, memory-service, voice-service, iot-debug, tool-engine)。
更新 .gitignore:docs/api/ 例外允许推送,其他 docs/ 内容仍忽略。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 12:39:55 +08:00
AskaEth
9c29459fb6
fix: 修复 DevTools 前端 JS 语法错误 — 路由表单字符串拼接异常
...
目的路由 select 选项中缩进空格被错误拆分为独立字符串字面量,
缺少 + 连接符导致 SyntaxError,连锁导致 connectWS 未定义。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 08:06:32 +08:00
AskaEth
a7fb35dd45
chore: 移除 ROADMAP.md,不推送到仓库
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 07:51:51 +08:00
AskaEth
63a8f95de1
test: Phase 6 全功能测试 — 19个测试全部通过 + 开发路线文档
...
- host: 沙箱执行/命令拦截/超时/文件读写/系统信息/路径验证 (6 tests)
- rag: 文本分块/余弦相似度/关键词匹配/文档索引+搜索 (4 tests)
- tools: host_exec/host_file/host_system/knowledge_search/knowledge_ingest (5 tests)
- vision: 图片编码/错误处理/定义验证/执行流程 (4 tests)
- Embedder 重构为接口,支持 API 和 Simple 两种实现
- 添加 ROADMAP.md 未来开发路线
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-24 07:51:07 +08:00
AskaEth
edc20170b9
fix: 修复 calculator_tool.go 中 import path 误入 switch case 的 bug
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:34:29 +08:00
AskaEth
cd83eec39e
feat: Phase 6.6 知识库 RAG 增强 — 文档索引 + 语义检索 + KnowledgeProvider
...
- rag.Embedder: LLM API 文本向量化 (OpenAI-compatible)
- rag.KnowledgeStore: 文档分块 + 重叠窗口 + 余弦相似度搜索
- rag.Retriever: 高级知识检索 + 格式化摘要
- KnowledgeProvider: 子会话提供者,整合入编排管线
- knowledge_search / knowledge_ingest 工具
- EnrichmentData 管线全线支持 KnowledgeInfo
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:33:26 +08:00
AskaEth
9a8fb8d0ce
feat: Phase 6.3 视觉理解 — 多模态图片输入 + OCR/Vision 工具 + 图片编码管线
...
- LLMMessage 新增 Images 字段支持多模态 content array
- OpenAIProvider 支持 image_url content parts
- VisionTool: 图片读取 + base64 编码 + OCR/场景描述/综合分析
- 对话管道全线支持 images 参数传递 (Gateway->Orchestrator->Synthesizer->LLM)
- 自动根据图片有无构建 text-only 或 multimodal content
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:28:42 +08:00
AskaEth
38b36fc5ad
feat: Phase 6.2 宿主机安全操控 — 沙箱执行 + 文件系统隔离 + 进程管理
...
- host.Sandbox: 命令白名单 + 目录限制 + 超时控制 + 环境变量过滤
- host.Manager: 文件读写列表 + 系统信息查询 + 路径验证
- 3个新工具: host_exec (沙箱命令执行), host_file (文件操作), host_system (系统信息)
- 后台思考器自主工具策略已更新,允许安全使用主机工具
- host_exec 标记为高风险工具,受频率限制
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:23:45 +08:00
AskaEth
313f41633a
feat: Phase 6.1 收尾 — 目的路由接入所有AI组件
...
- Orchestrator 现在接受独立的 chatAdapter 和 intentAdapter
- BackgroundThinker 使用 deep_thinking purpose 适配器
- MemoryExtractor 使用 memory_extraction purpose 适配器
- Synthesizer 使用 chat purpose 适配器
- .env 回退时所有适配器共享同一 provider,完全向后兼容
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:19:57 +08:00
AskaEth
b1e89c606e
feat: Phase 5 STT — DashScope Gummy 实时语音识别 + 本地 Whisper 回退
...
- DashScope WebSocket STT 客户端 (gummy-chat-v1)
- 双引擎架构: DashScope 优先, Whisper 本地回退
- 实时流式 STT WebSocket 端点
- DevTools 模型搜索框焦点修复
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 22:15:43 +08:00
AskaEth
0717928496
fix: Phase 6联调 — 插件管理器端口修正 + 多模型配置系统整合 + 历史消息刷新修复
...
## 调试日志
### 1. 插件管理器启动失败
- **症状**: DevTools 显示插件管理器一直"已停止",手动启动正常
- **排查**: 对比 process-manager.js 传入的环境变量 vs plugin-manager config.go 读取的变量
- **根因**: config.js 传入 PLUGIN_MANAGER_PORT=8094,但 config.go 读取 os.Getenv("PORT"),env 名不匹配。且 process.env 中 PORT 泄露时被误读为 9090,与 DevTools 端口冲突
- **修复**: config.js 将 PLUGIN_MANAGER_PORT → PORT,使 env 名与代码一致 (c3055f4)
### 2. 历史消息刷新后消失
- **症状**: 浏览器刷新后聊天历史清空
- **排查**: WebSocket history_response handler 中 if (msg.messages) 对空数组 [] 为 truthy
- **根因**: 后端返回空的 history_response (缓存为空) 时,空数组覆盖了 HTTP 已加载的消息
- **修复**: useWebSocket.ts 改为 if (msg.messages && msg.messages.length > 0),空数组走 else-if 分支仅打日志,不覆盖已有消息
### 3. Phase 6 多模型配置系统
- Gateway: ModelsConfigStore (JSON文件持久化) + Admin CRUD API (providers/models/routing)
- ai-core: ModelSelector 支持按 purpose 选择 + fallback_chain,无配置时回退 .env
- DevTools: 模型配置管理面板 (Providers/Models/Routing 三Tab)、在线模型查询代理、路由表单 checkbox 多选、关键词搜索过滤
- .gitignore: models.json + platform_configs.json
### 4. 多端客户端追踪
- Hub 新增 knownClients 映射 (clientID → KnownClient),在线/离线状态追踪
- 客户端备注持久化到 PostgreSQL
- DevTools 客户端管理面板
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 21:23:10 +08:00
AskaEth
965cce7192
feat: Phase 4 多平台接入 — Platform Bridge + 6平台适配器 + 身份权限系统 (22文件, 2129行)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 16:19:57 +08:00
AskaEth
717ad65b05
feat: Phase 3 插件与工具系统 — Plugin SDK + Plugin Manager + 13内置插件 (40文件, 3293行)
...
- Plugin SDK: Plugin/Tool/ComplexTool/HostAPI 标准化接口
- Plugin Manager: 插件生命周期管理 (Install/Enable/Disable/Uninstall/Reload)
- Tool Registry: 聚合工具注册表 (Register/Execute/Dispatch)
- 13 个内置插件: 将原有硬编码工具迁移为标准插件格式
- REST API: 11 个端点 (net/http, 零外部依赖)
- ai-core 集成: PluginManagerClient 替代本地工具调用
- plugin.json 元数据: 每个插件含完整 author/version/category/permissions
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 15:50:19 +08:00
AskaEth
87214b9441
feat: Phase 1+2 架构进化 — 连续思考链/主动消息决策/情感状态机/离线自主思考 (86文件)
...
Phase 1 (基础设施):
- ThinkChain 思考链连续性 + 差异化思考提示词 (persistent)
- AutonomousToolPolicy 工具安全策略 (safe/unsafe/conditional)
- MessageScheduler 自适应消息节奏 (Idle/Available/Busy)
- SessionEnrichmentStore 渐进式上下文丰富 (5层)
- ConversationBus 事件总线 + ResponseCache (dedup)
- pkg/logger 统一日志 + 所有 handler 替换 fmt.Printf
- NPE 守卫/链路优化/数据库表修复/Go workspace
Phase 2 (人格交互):
- EmotionState/EmotionTracker 情感状态机 (5种心情, 情绪衰减)
- ProactiveGuard 主动消息多维决策 (静默时段/紧急度/频率/校验)
- Gateway↔ai-core 在线状态感知链路 (presence notification)
- 离线思考频率控制 + 重连问候 + 离线消息排队
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 15:25:12 +08:00
AskaEth
b123a36aae
fix: 第四轮调试 — 回复去重/消息时序/UI布局/自主思考深度优化 + 文档重整
...
后端修复:
- main.go: 恢复 /api/v1/chat 路由中丢失的 handleChat 调用 (空响应回归)
- orchestrator.go: splitChatByLines 改为双换行分割, 避免单换行误拆
- chat_handler.go: multi_message 增加 !hasReview 守卫, 消息延迟 200→800ms
- thinker.go: RecordUserMessage 追踪活跃会话ID, 推送主动消息到正确会话
- thinker.go: 增强思考提示词 — 禁止在用户休息/离开时发送主动消息
前端修复:
- useWebSocket.ts: stream_segments 不再创建消息气泡, 消除重复回复
- MessageBubble.tsx: 动作消息居左对齐无头像, 时间戳移至气泡外侧 hover 显示
- ChatInput.tsx: 昔涟输入提示移至输入框上方, 波点动画效果
- MessageList/TypingIndicator/ChatContainer: 清理冗余 isTyping 传递
- MemoryPanel.tsx: 新增记忆面板组件
文档重整:
- docs/debug/ → docs/debug_log/ 重命名统一
- 新增 debug_log/README.md 索引
- .gitignore: 新增 android/ 排除规则
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 13:09:18 +08:00
AskaEth
0c1bbff7b4
fix: 修复历史消息重复和[review]标记残留
...
- 移除 fullText 中的 "[review]" 调试标记
- 有审查消息时不再重复保存完整文本到数据库
- 清理已有脏数据
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 10:59:09 +08:00
AskaEth
31be1b71eb
fix: 前端消息拆分+动作消息样式+DevTools自主思考状态保持+记忆表名修复
...
- 侧边栏底部 "昔涟 AI" 改为 "昔涟"
- 暂时禁用消息朗读按钮
- 修复前端 response 处理器:支持 gateway 发送的 content+role+msg_type 字段,
使动作消息(括号内容)正确拆分为独立的 ActionMessageBubble 显示
- 修复 DevTools 自主思考面板:5秒自动刷新后展开的思考日志不再自动折叠
- 修复 memory-service 表名不一致:memory_entries → memories,
解决 DevTools 记忆管理页面查不到 admin 用户记忆的问题
- 修复 sessionStore 解析历史消息时 msgType 未定义引用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-23 10:50:42 +08:00
AskaEth
26a5c69aba
docs: Round 5-6最终汇总报告 + E2E测试脚本补充
...
- 新增第5-6轮修复最终汇总报告 (全系统E2E验证 + 性能数据)
- 新增多设备IoT E2E测试脚本 (test_multi_device.mjs)
- 新增综合E2E测试脚本 (test_final_e2e.mjs)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 23:08:38 +08:00
AskaEth
498bf0d4fa
fix: IoT快速通道补充关掉/关上 + 多设备上下文窗口扩展至30字节
...
- intent_analyzer: isStrongIoTCommand controlWords新增"关掉""关上"
- iot_provider: 操作检测上下文窗口±15→±30字节,新增全文回退逻辑
- 修复多设备命令中远处关键词无法匹配导致操作误判为query
E2E: "关掉"快速通道2.57s✅ 多设备同时开关✅ 8设备查询✅
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 23:01:45 +08:00
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
773f19f009
fix: DevTools 读取 .env 管理员凭据 + 统一 main.go 密码 fallback
...
两个问题导致用户无法用 .env 中的管理员账户登录:
1. DevTools 未读取 backend/.env,始终传 admin/cyrene-dev-admin 给 gateway
2. gateway main.go 中创建管理员时独立读取 os.Getenv 并以 "admin123"
为 fallback,与 config.go 的 cfg.AdminPassword 不一致
修复:
- config.js: 启动时加载 backend/.env 到 process.env (不覆盖已有环境变量)
- main.go: 移除独立的 os.Getenv 读取,统一使用 cfg.AdminPassword
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 22:01:30 +08:00
AskaEth
7c3b428257
fix: 前端 API 调用改为相对路径,通过 Vite 代理避免 CORS
...
前端 5 个文件中硬编码了 http://localhost:8080 绝对路径,
浏览器从 127.0.0.1:5173 访问时触发 CORS 预检失败。
改为相对路径 /api/v1/... 通过 Vite 代理转发,
WebSocket URL 改为动态构造(基于当前页面 host)。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 21:51:56 +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
ccd59db5b8
fix: DevTools auto npm install for frontend on Windows
...
Two-part fix for frontend startup failure:
1. Check .package-lock.json as install-complete marker instead of
just node_modules directory existence, and delete corrupt
node_modules before reinstalling
2. Bypass npm.cmd batch file on Windows — use node with full path
to npm-cli.js to avoid module resolution conflicts when cwd
contains a node_modules directory
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 21:18:08 +08:00
AskaEth
e4d2eab9ad
fix: DevTools Windows兼容性修复 + 日志UI重构 (7服务并排显示)
...
- process-manager: 移除ESM中的require(), 跨平台spawn(.exe/.cmd), path.dirname修复
- config: 自动检测Go二进制路径, Windows构建产物使用.exe后缀
- index: 移除SSH隧道代码, 改用Docker容器检查数据库状态
- index.html: 日志默认并排网格布局, 7个服务横向滚动, 数据库面板改用Docker控制
- docs: 更新Migration.md启动顺序(7服务+DevTools自动编译), README添加Windows用法
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 21:05:07 +08:00
AskaEth
697ed72db4
feat: 新增 devtools.bat Windows 启动脚本
...
与 devtools.sh 功能对等,纯 ASCII 编写避免编码问题。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 20:18:24 +08:00
AskaEth
e06456954c
docs: 修正 README 许可证为 Apache-2.0
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 20:07:48 +08:00
AskaEth
2f0267d639
docs: 优化 README 标题和描述措辞
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 20:05:38 +08:00
AskaEth
8c19b79a02
docs: 新增 README + 更新 Deploy.md + 整理 .gitignore
...
- 新增 README.md 完整项目概览(架构、功能、快速开始)
- 更新 Deploy.md 修正过时的服务状态和端口信息
- 整理 .gitignore 补充缺失规则并移除无效项
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-22 19:59:47 +08:00
AskaEth
e83f28d646
docs: add Linux to Windows migration guide and packaging script
2026-05-22 12:32:55 +08:00
AskaEth
9e7ada1ec3
docs: 最终汇总报告 - Cyrene系统修复完成 (三轮修复共47文件, E2E 24/24全绿)
2026-05-22 12:19:14 +08:00
AskaEth
e78d0b2fef
fix: 第三轮调试 - CDP E2E v5 24/24全绿 + 测试脚本完善
...
- 新增CDP E2E v5测试脚本(24项测试覆盖聊天/IoT/记忆/消息持久化)
- 修复IoT API字段兼容(status/state双字段支持)
- 消息持久化验证改为WS路径(架构确认AI-Core直连SSE不走Gateway存储)
- 日志文件路径修正为devtools/logs/
- 测试结果JSON和截图保存到debug/logs/chromium/
2026-05-22 12:12:58 +08:00
AskaEth
b15e1c9541
fix: 第二轮深度调试修复 - useSpeechSynthesis守卫+NPE防护+E2E测试完善
...
- P0: useSpeechSynthesis.ts cancel()增加isSupported守卫
- P0: iot_provider.go 添加loader nil检查防止NPE panic
- 新增CDP E2E v4测试脚本 14项全绿通过
- 生成第二轮修复报告 docs/debug/2026-05-21-round2-fixes.md
2026-05-22 00:10:37 +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