234 lines
5.9 KiB
Markdown
234 lines
5.9 KiB
Markdown
# VNC + 音频 + 输入法 集成测试
|
||
|
||
这是一个用于测试 RCoder Computer Agent 功能的集成测试页面,支持:
|
||
- 🖥️ **VNC 远程桌面** - 可视化访问容器桌面环境
|
||
- 🎵 **音频流播放** - 实时播放容器内的音频输出
|
||
- ⌨️ **输入法透传** - 使用本地输入法(如中文)输入到远程桌面
|
||
|
||
## 快速开始
|
||
|
||
### 1. 启动测试服务
|
||
|
||
```bash
|
||
# 进入测试目录
|
||
cd test-page
|
||
|
||
# 启动 HTTP 服务器(Python 3)
|
||
python3 -m http.server 8000
|
||
```
|
||
|
||
### 2. 访问测试页面
|
||
|
||
在浏览器中打开:
|
||
```
|
||
http://127.0.0.1:8000/vnc-test.html
|
||
```
|
||
|
||
### 3. 测试前准备
|
||
|
||
确保 RCoder 服务正在运行:
|
||
```bash
|
||
# 检查服务状态(默认端口 8087)
|
||
curl http://127.0.0.1:8087/health
|
||
```
|
||
|
||
如果服务未运行,请先启动 RCoder:
|
||
```bash
|
||
make dev-up
|
||
```
|
||
|
||
## 使用指南
|
||
|
||
### 第一步:创建测试容器
|
||
|
||
在测试页面的聊天输入框中输入任意消息(如 "hello"),点击"发送聊天消息"。
|
||
|
||
这会自动创建一个 Computer Agent 容器,包含完整的桌面环境。
|
||
|
||
### 第二步:测试 VNC 远程桌面
|
||
|
||
1. 点击页面上的 **"打开 VNC 桌面"** 按钮
|
||
2. 在新打开的标签页中,可以看到远程桌面界面
|
||
3. 使用鼠标和键盘与远程桌面交互
|
||
|
||
### 第三步:测试音频流
|
||
|
||
1. 确保浏览器控制台显示:`[Audio] ✅ OpusDecoder 加载成功`
|
||
2. 点击 **"启动音频流"** 按钮
|
||
3. 在容器内播放音频(如播放 YouTube 视频)
|
||
4. 应该能在本地听到音频输出
|
||
|
||
### 第四步:测试输入法透传
|
||
|
||
1. 点击 **"连接 IME 服务"** 按钮
|
||
2. 等待连接成功提示:`[IME] WebSocket 已连接`
|
||
3. 在输入框中切换到中文输入法(或其他输入法)
|
||
4. 输入中文文本
|
||
5. 点击 **"发送文本"**
|
||
6. 在 VNC 桌面中打开文本编辑器,应该能看到输入的中文
|
||
|
||
## 界面说明
|
||
|
||
### 连接配置
|
||
|
||
**RCoder 代理模式**(推荐使用):
|
||
- **RCoder 服务地址**: 默认 `http://127.0.0.1:8087`
|
||
- **User ID**: 测试用户名,如 `user_123`
|
||
- **Project ID**: 可选,留空则自动生成
|
||
|
||
**直接端口模式**(仅开发调试):
|
||
- 需要手动配置容器端口映射
|
||
- 一般用户不需要使用此模式
|
||
|
||
### 控制按钮
|
||
|
||
| 按钮 | 功能 |
|
||
|------|------|
|
||
| 打开 VNC 桌面 | 在新标签页打开远程桌面 |
|
||
| 启动音频流 | 开始接收和播放容器音频 |
|
||
| 停止音频流 | 停止音频播放 |
|
||
| 连接 IME 服务 | 建立输入法透传连接 |
|
||
| 断开 IME 服务 | 断开输入法连接 |
|
||
| 发送聊天消息 | 创建容器或与 Agent 对话 |
|
||
|
||
## 常见问题
|
||
|
||
### Q: 提示 "OpusDecoder 加载失败"
|
||
|
||
**A**: 这是浏览器加载音频解码库失败,不影响 VNC 和输入法功能。
|
||
|
||
如果需要测试音频功能,请确保:
|
||
1. `opus-decoder.min.js` 文件与 `vnc-test.html` 在同一目录
|
||
2. 使用 HTTP 服务器访问,不要直接双击 HTML 文件
|
||
|
||
### Q: IME 连接失败
|
||
|
||
**A**: 可能的原因:
|
||
1. **容器未创建** - 先发送聊天消息创建容器
|
||
2. **Project ID 错误** - 确保使用正确的 Project ID
|
||
3. **服务未启动** - 检查 RCoder 服务是否正常运行
|
||
|
||
解决方法:
|
||
```bash
|
||
# 查看容器列表(Computer Agent 容器前缀为 computer-agent-runner-)
|
||
docker ps | grep computer-agent-runner
|
||
|
||
# 查看服务日志
|
||
make dev-logs
|
||
```
|
||
|
||
### Q: VNC 桌面显示空白或连接失败
|
||
|
||
**A**: 可能的原因:
|
||
1. 容器正在启动中 - 等待 10-20 秒后重试
|
||
2. User ID 或 Project ID 不匹配 - 检查配置是否正确
|
||
3. VNC 服务未启动 - 查看容器日志确认服务状态
|
||
|
||
解决方法:
|
||
```bash
|
||
# 查看容器日志
|
||
docker logs <container_id>
|
||
|
||
# 重启容器
|
||
docker restart <container_id>
|
||
```
|
||
|
||
### Q: 音频有延迟或卡顿
|
||
|
||
**A**: 这是正常现象,原因:
|
||
1. 音频需要编码传输(容器 → 浏览器)
|
||
2. 网络延迟影响播放实时性
|
||
3. Opus 编解码需要时间
|
||
|
||
正常延迟在 1-3 秒范围内是可接受的。
|
||
|
||
### Q: 输入法输入的文本显示乱码
|
||
|
||
**A**: 可能的原因:
|
||
1. 字符编码问题 - 确保使用 UTF-8 编码
|
||
2. 容器内字体缺失 - 容器默认包含中文字体
|
||
|
||
## 技术支持
|
||
|
||
如果遇到其他问题:
|
||
|
||
1. **查看浏览器控制台** (F12)
|
||
- 查看错误信息和警告
|
||
- 截图错误信息便于定位问题
|
||
|
||
2. **查看容器状态**
|
||
```bash
|
||
docker ps -a | grep computer-agent-runner
|
||
docker logs <container_id>
|
||
```
|
||
|
||
3. **查看服务日志**
|
||
```bash
|
||
make dev-logs
|
||
```
|
||
|
||
4. **联系开发团队**
|
||
- 提供详细的错误信息和操作步骤
|
||
- 附上浏览器控制台截图
|
||
- 说明使用的操作系统和浏览器版本
|
||
|
||
## 系统要求
|
||
|
||
### 浏览器要求
|
||
|
||
| 浏览器 | 最低版本 | 说明 |
|
||
|--------|---------|------|
|
||
| Chrome | 90+ | 推荐使用 |
|
||
| Firefox | 88+ | 完全支持 |
|
||
| Safari | 14+ | macOS / iOS |
|
||
| Edge | 90+ | 完全支持 |
|
||
|
||
**注意**: 不支持 Internet Explorer
|
||
|
||
### 网络要求
|
||
|
||
- 浏览器能访问 `http://127.0.0.1:8087`
|
||
- WebSocket 连接正常(防火墙不阻止)
|
||
- 建议使用有线网络或稳定的 Wi-Fi
|
||
|
||
## 功能演示
|
||
|
||
### 演示 1:远程桌面操作
|
||
|
||
1. 创建容器
|
||
2. 打开 VNC 桌面
|
||
3. 在远程桌面中打开文件管理器、浏览器等应用
|
||
4. 观察操作是否流畅
|
||
|
||
### 演示 2:音频播放
|
||
|
||
1. 创建容器并打开 VNC 桌面
|
||
2. 在远程桌面中打开 YouTube
|
||
3. 播放一段视频
|
||
4. 启动音频流
|
||
5. 验证是否能听到音频
|
||
|
||
### 演示 3:中文输入
|
||
|
||
1. 创建容器并打开 VNC 桌面
|
||
2. 在远程桌面中打开文本编辑器(如 gedit)
|
||
3. 连接 IME 服务
|
||
4. 使用本地中文输入法输入一段文字
|
||
5. 发送到远程桌面
|
||
6. 验证文字是否正确显示
|
||
|
||
## 版本信息
|
||
|
||
- **测试页面版本**: v1.0
|
||
- **最后更新**: 2026-01-17
|
||
- **支持的 RCoder 版本**: v1.0.0+
|
||
|
||
## 反馈与建议
|
||
|
||
如果您在使用过程中有任何问题或建议,欢迎反馈!
|
||
|
||
---
|
||
|
||
**提示**: 首次使用建议按照"使用指南"的步骤逐步操作,熟悉各个功能后再进行综合测试。
|
||
人民大团结
|