Commit Graph

122 Commits

Author SHA1 Message Date
hhs
314554ded7 feat: Phase 5.2 - 实现 query 处理逻辑
- 创建可取消的 context 并存储 cancel func
- 获取对话历史并传递给 orchestrator
- 启动 orchestrator.ProcessQuery goroutine 处理查询
- 请求完成后自动清理 cancel func 和活跃请求标记
2026-06-13 16:14:20 +08:00
hhs
19535e6a37 feat: Phase 5.1 - Client 扩展,添加 orchestrator 依赖
- 扩展 Client 结构体,添加 sessionManager、orchestrator、cancelFuncs 字段
- 创建 WSClient 适配器实现 orchestrator.Sender 接口
- 更新 ServeWS 函数签名,接收 orchestrator 参数
- 在 main.go 中初始化 AI 服务和 Orchestrator
2026-06-13 16:13:22 +08:00
hhs
c9c697fe64 feat: 实现 AI Orchestrator(核心编排)
- 实现 Orchestrator 接口(4.1)
- 实现 Sender 接口(4.2)
- 实现 STT → LLM → TTS 流式并行管道(4.3)
- 实现句子切分器(4.4)
- 实现错误降级处理(4.5)
- 实现 Interrupt 支持(4.6)
- 编写完整的单元测试(4.7)
2026-06-13 16:05:18 +08:00
hhs
29e186c062 test: 编写 TTS 测试(mock HTTP,覆盖成功/API 错误/超时/空文本/取消/部分失败/自定义 voice) 2026-06-13 15:48:55 +08:00
hhs
acc7dfce43 feat: 实现 OpenAI TTS 服务(逐句合成 + 5s 超时 + 静默跳过失败) 2026-06-13 15:47:43 +08:00
hhs
450c2c66c3 feat: 定义 TTS Service 接口(SynthesizeStream + Options/Chunk) 2026-06-13 15:46:48 +08:00
hhs
90f4b907a7 test: 编写 LLM 测试(mock SSE 流,覆盖成功/图片/历史/API 错误/超时/Usage) 2026-06-13 15:45:51 +08:00
hhs
96b4c4899a feat: 实现 OpenAI LLM 服务(SSE 流式解析 + 多模态消息构建)及 System Prompt 定义 2026-06-13 15:44:23 +08:00
hhs
078cfe6278 feat: 定义 LLM Service 接口(ChatStream + Request/Chunk/TokenUsage) 2026-06-13 15:42:14 +08:00
hhs
8f9b0b881e feat: 实现 Deepgram STT 服务及测试(WebSocket mock,覆盖成功/超时/空音频/多轮 final) 2026-06-13 15:41:44 +08:00
hhs
6fcbf023b4 feat: 实现 Deepgram STT 服务(WebSocket 连接 + 音频发送 + 结果接收) 2026-06-13 15:39:39 +08:00
hhs
22784bf421 feat: 定义 STT Service 接口(Recognize + Options) 2026-06-13 15:38:59 +08:00
hhs
fe4dedec71 feat: WS handler 接入 SessionManager,main.go 注入依赖 + 健康检查获取活跃会话数
Some checks failed
Backend CI / ci (pull_request) Failing after 15s
Frontend CI / ci (pull_request) Has been cancelled
2026-06-13 15:31:15 +08:00
hhs
26f87ce35a test: 编写 Session Manager 内存实现测试(覆盖 Create/Get/Expire/Destroy/History 上限等) 2026-06-13 15:29:13 +08:00
hhs
ba6d565c0f feat: 实现 Redis 版 SessionManager(Hash + List,TTL 自动刷新) 2026-06-13 15:27:41 +08:00
hhs
f172e6c468 feat: 实现内存版 SessionManager(TTL 30 分钟,历史上限 20 条) 2026-06-13 15:25:23 +08:00
hhs
6b8bd3c554 feat: 定义 SessionManager 接口 + SessionConfigPatch 模型 2026-06-13 15:24:07 +08:00
hhs
da87ec776b feat: main.go 接入配置 + graceful shutdown + logger 迁移
- main.go: 接入 config.Load() 替换硬编码 :8080
- main.go: 添加 signal.NotifyContext + http.Server.Shutdown(10s drain)
- main.go: 初始化 Zap 日志,prod 环境切换 Gin release 模式
- ws/handler.go: 所有 log.Printf 替换为 logger.Log 结构化日志
- 修复 .gitignore 排除规则(/server 仅匹配根目录二进制)
- 新增 zap、viper 依赖
2026-06-13 15:18:03 +08:00
hhs
c523f53724 feat: 实现配置管理(Viper)
- 新增 internal/config/config.go,定义完整配置结构体
- 支持 YAML 文件 + 环境变量覆盖(CAMTALK_ 前缀)
- 新增 config.yaml 默认配置文件
2026-06-13 15:17:37 +08:00
hhs
bce3b73480 feat: 实现错误码常量 + WS 错误发送工具
- 新增 internal/errors/codes.go
- 定义 10 个错误码常量(与接口文档一致)
- 提供 SendWSError 工具函数
2026-06-13 15:17:31 +08:00
hhs
d5d584c93b feat: 实现 Zap 日志封装
- 新增 internal/logger/logger.go
- 提供 Init(level, format) 初始化全局 SugaredLogger
- 支持 json/console 两种格式
- 提供 Sync() 刷新缓冲区
2026-06-13 15:17:26 +08:00
hhs
9f876df816 feat: 初始化 Go 后端项目骨架
- 使用 Gin 框架替代原始 net/http,方便调试
- 实现 WebSocket 端点 (/ws),支持 ping/query/config/interrupt 消息
- 实现健康检查 REST 接口 (/api/health)
- 定义协议数据结构 (models)
- 心跳检测(60 秒超时断开)
2026-06-12 17:34:43 +08:00