diff --git a/.gitignore b/.gitignore index 4c77b4c..4bb1e75 100644 --- a/.gitignore +++ b/.gitignore @@ -22,8 +22,5 @@ Thumbs.db # ---- Playwright MCP ---- .playwright-mcp/ -# ---- 截图 ---- -*.png - # ---- Obsidian ---- .obsidian/ diff --git a/README.md b/README.md index f391ec9..dd9d270 100644 --- a/README.md +++ b/README.md @@ -2,20 +2,48 @@ 多模态实时 AI 视觉对话助手。用户通过摄像头和麦克风与 AI 交互,AI 理解视觉场景和语音输入后,以文字和语音形式给出自然回应。 -- 路演视频 [哔哩哔哩视频](https://www.bilibili.com/video/BV1dDJK6cE5S/) +- **路演视频**:[哔哩哔哩弹幕网——七牛云第四批议题1](https://www.bilibili.com/video/BV1dDJK6cE5S/) +- **线上体验**:http://8.161.227.145:9000 + +> ⚠️ **注意**:由于线上地址使用 HTTP 协议,浏览器默认禁止在非 HTTPS 环境下调用摄像头和麦克风。需要按以下步骤配置 Chrome 浏览器: +> +> 1. 在浏览器地址栏中输入 `chrome://flags/#unsafely-treat-insecure-origin-as-secure`,回车 +> 2. 将 **Insecure origins treated as secure** 选项设置为 **Enabled**(已启用) +> 3. 在输入框中输入 `http://8.161.227.145:9000` 地址 +> 4. 点击右下角弹出的 **Relaunch** 按钮,自动重启浏览器 +> +> 重启后即可在该 HTTP 地址下正常调用摄像头和麦克风。 + +![](docs/pictures/1.png) ## 架构 三层系统,前端做轻量预处理,后端做智能编排,云端 AI 服务按需调用: -``` -浏览器客户端 Go 网关 :8080 云端 AI 服务 -┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ -│ 媒体采集 │ │ WebSocket Handler│ │ STT(语音识别) │ -│ VAD 语音检测 │ WebSocket│ Session Manager │ HTTP │ LLM(多模态推理) │ -│ 关键帧检测 │ ◄──────► │ AI Orchestrator │ ◄──────► │ TTS(语音合成) │ -│ UI 渲染 │ │ REST API │ │ │ -└─────────────────┘ └─────────────────┘ └─────────────────┘ +```mermaid +graph TB + subgraph client[浏览器客户端] + A1[媒体采集] + A2[VAD 语音检测] + A3[关键帧检测] + A4[UI 渲染] + end + + subgraph gateway[Go 网关 :8080] + B1[WebSocket Handler] + B2[Session Manager] + B3[AI Orchestrator] + B4[REST API] + end + + subgraph cloud[云端 AI 服务] + C1[STT 语音识别] + C2[LLM 多模态推理] + C3[TTS 语音合成] + end + + client <-->|WebSocket| gateway + gateway <-->|HTTP| cloud ``` **关键模式**:LLM 文本流和 TTS 音频流并行推送,用户先看到文字、紧接着听到语音,感知延迟 < 0.5 秒。 diff --git a/docs/pictures/1.png b/docs/pictures/1.png new file mode 100644 index 0000000..091c616 Binary files /dev/null and b/docs/pictures/1.png differ