- 更新限流文档:limiter 内部使用 trace.FromContext 自动记录日志 - 更新鉴权文档:Redis 降级策略使用 trace-aware 日志 - 引用 13-日志追踪.md 作为详细说明 - 移除过时的手动 logger.Log 调用示例
CamTalk 设计文档
CamTalk 是一款多模态实时 AI 视觉对话助手。用户通过摄像头和麦克风与 AI 交互,AI 理解视觉场景和语音输入后,以文字和语音形式给出自然回应。
文档索引
| 文档 | 说明 |
|---|---|
| 01-架构设计 | 系统架构、技术栈、模块设计、数据库、部署架构(含 Mermaid 图) |
| 02-接口文档 | WebSocket 协议、REST API、AI 服务层、Eino 编排器、Session Manager、配置管理、数据模型、错误码 |
| 03-技术选型 | 各技术的选型对比与决策理由(含 Eino 框架选型、关键技术术语) |
| 04-用户故事 | P0/P1/P2 用户故事、验收标准 |
| 05-语音交互 | VAD → STT → LLM → TTS 全链路、延迟优化 |
| 06-视觉理解 | 帧采样策略、图像编码、多模态 LLM 输入机制 |
| 07-成本控制 | 智能采样、端云协同、模型分级、缓存复用 |
| 08-Eino框架与编排设计 | Eino 框架核心概念、Graph 设计、节点实现、测试策略 |
| 09-情景切换 | 多情景 AI 角色扮演系统(面试官、英语老师、辩论对手、翻译员、自由对话) |
| 10-鉴权体系 | JWT 双 token 轮转认证、bcrypt 密码哈希、Refresh Token Rotation、安全机制 |
| 11-令牌桶限流 | 令牌桶限流算法、内存/Redis 双实现、Gin 中间件、WebSocket query 限流 |
| 12-自定义情景 | 用户自定义情景的完整设计 |
| 13-日志追踪 | 全链路日志追踪系统(trace ID、敏感内容保护、日志规范) |
推荐阅读顺序
- 01-架构设计 — 理解三层架构、技术栈和模块全貌
- 02-接口文档 — 前后端通信契约,实现时的最高依据
- 03-技术选型 — 了解为什么选这些技术(含 Eino 框架、关键技术术语)
- 04-用户故事 — 明确功能优先级
- 05~07 — 各技术领域的详细设计
- 08-Eino框架与编排设计 — Eino 框架核心概念、Graph 编排、节点实现
- 09-情景切换 — 多情景 AI 角色扮演系统
- 10-鉴权体系 — 认证授权机制详细设计
- 11-令牌桶限流 — 速率限制设计
- 12-自定义情景 — 用户自定义情景
- 13-日志追踪 — 全链路日志追踪(trace ID、敏感内容保护、开发参考)
功能扩展方向
以下是未来可能的功能创意和扩展方向:
- 视频录制 — 支持录制对话过程中的视频画面
- 对话翻译 — 实时多语言翻译能力
- 对话总结 — 自动生成对话摘要和关键点
- 手动对话功能 — 支持用户手动触发对话而非自动 VAD
- 视频框自定义 — 视频框大小可调整,支持最小化和拖动