添加qiming-rcoder模块

This commit is contained in:
Codex
2026-06-01 13:54:52 +08:00
parent 8092c4b1f8
commit 4b1a580132
539 changed files with 151650 additions and 0 deletions

View File

@@ -0,0 +1,233 @@
# 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+
## 反馈与建议
如果您在使用过程中有任何问题或建议,欢迎反馈!
---
**提示**: 首次使用建议按照"使用指南"的步骤逐步操作,熟悉各个功能后再进行综合测试。
人民大团结