48 lines
3.0 KiB
Markdown
48 lines
3.0 KiB
Markdown
# 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 限流 |
|
||
| [12-自定义情景](12-自定义情景.md) | 用户自定义情景的完整设计 |
|
||
| [13-日志追踪](13-日志追踪.md) | 全链路日志追踪系统(trace ID、敏感内容保护、日志规范) |
|
||
|
||
|
||
## 推荐阅读顺序
|
||
|
||
1. **01-架构设计** — 理解三层架构、技术栈和模块全貌
|
||
2. **02-接口文档** — 前后端通信契约,实现时的最高依据
|
||
3. **03-技术选型** — 了解为什么选这些技术(含 Eino 框架、关键技术术语)
|
||
4. **04-用户故事** — 明确功能优先级
|
||
5. **05~07** — 各技术领域的详细设计
|
||
6. **08-Eino框架与编排设计** — Eino 框架核心概念、Graph 编排、节点实现
|
||
7. **09-情景切换** — 多情景 AI 角色扮演系统
|
||
8. **10-鉴权体系** — 认证授权机制详细设计
|
||
9. **11-令牌桶限流** — 速率限制设计
|
||
10. **12-自定义情景** — 用户自定义情景
|
||
11. **13-日志追踪** — 全链路日志追踪(trace ID、敏感内容保护、开发参考)
|
||
|
||
## 功能扩展方向
|
||
|
||
以下是未来可能的功能创意和扩展方向:
|
||
|
||
1. **视频录制** — 支持录制对话过程中的视频画面
|
||
2. **对话翻译** — 实时多语言翻译能力
|
||
3. **对话总结** — 自动生成对话摘要和关键点
|
||
4. **手动对话功能** — 支持用户手动触发对话而非自动 VAD
|
||
5. **视频框自定义** — 视频框大小可调整,支持最小化和拖动
|
||
|