Files
qiming/qiming-rcoder/docker/test-page/README.md
2026-06-01 13:54:52 +08:00

5.9 KiB
Raw Blame History

VNC + 音频 + 输入法 集成测试

这是一个用于测试 RCoder Computer Agent 功能的集成测试页面,支持:

  • 🖥️ VNC 远程桌面 - 可视化访问容器桌面环境
  • 🎵 音频流播放 - 实时播放容器内的音频输出
  • ⌨️ 输入法透传 - 使用本地输入法(如中文)输入到远程桌面

快速开始

1. 启动测试服务

# 进入测试目录
cd test-page

# 启动 HTTP 服务器Python 3
python3 -m http.server 8000

2. 访问测试页面

在浏览器中打开:

http://127.0.0.1:8000/vnc-test.html

3. 测试前准备

确保 RCoder 服务正在运行:

# 检查服务状态(默认端口 8087
curl http://127.0.0.1:8087/health

如果服务未运行,请先启动 RCoder

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 服务是否正常运行

解决方法:

# 查看容器列表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 服务未启动 - 查看容器日志确认服务状态

解决方法:

# 查看容器日志
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. 查看容器状态

    docker ps -a | grep computer-agent-runner
    docker logs <container_id>
    
  3. 查看服务日志

    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+

反馈与建议

如果您在使用过程中有任何问题或建议,欢迎反馈!


提示: 首次使用建议按照"使用指南"的步骤逐步操作,熟悉各个功能后再进行综合测试。 人民大团结