# 🚨 连接失败 - 解决方案

## ✅ 当前服务状态

```
✅ HTTP Server:    端口 8899 (正常运行)
✅ Agent Worker:   PID 9944 (Worker ID: AW_dtgijiPDYFyW)
✅ LiveKit Server: Docker 运行中 (WebSocket 测试通过)
✅ FunASR STT:    待验证
```

## 🔑 最新 Token（复制以下完整内容）

```
Room:       voice-ai-meeting
Identity:   phone-user
Token:      eyJhbG...N0eo
Server:     ws://192.168.31.229:7880
```

## 📱 测试步骤

1. **打开手机浏览器** (Safari/Chrome)
2. **访问**: `http://192.168.31.229:8899/web-test-v2.html`
3. **粘贴 Token**: 使用上面生成的完整 Token
4. **点击"连接"**

## ⚠️ 如果仍然连接失败

### 检查项

| 问题 | 解决方法 |
|------|----------|
| 防火墙阻止 | 系统设置 → 网络 → 防火墙 → 关闭 |
| Token 过期 | 重新运行: `python3 gen_token.py` |
| 浏览器限制 | 使用 Chrome 而不是 Safari |
| 不在同一 WiFi | 检查手机网络设置 |

### 快速修复命令

```bash
# 重新生成 Token
source ~/s2s-env/bin/activate
python3 /Users/leo/.hermes/workspace/livekit-agents/gen_token.py voice-ai-meeting phone-user

# 临时关闭防火墙（测试用）
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
```

### 验证 WebSocket 连接

在 Mac 终端运行：
```bash
curl -i -H "Connection: Upgrade" -H "Upgrade: websocket" \
  -H "Sec-WebSocket-Version: 13" \
  -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \
  http://192.168.31.229:7880/
```

如果返回 `HTTP/1.1 101 Switching Protocols` 则 WebSocket 正常。

## 📞 获取帮助

如果以上方法都不行，请提供：
1. 浏览器控制台错误信息（F12 → Console）
2. 手机浏览器显示的完整错误消息
3. 运行 `docker logs livekit-server | tail -20` 的输出
