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