Spaces:
Paused
Paused
|
Download README.md from WACATW/windowgame: direct link, hf CLI and curl.
- Browser
- Download file 4.06 kB
-
https://huggingface.co/spaces/WACATW/windowgame/resolve/main/README.md
- Command line
-
hf download hf://spaces/WACATW/windowgame/README.md
-
curl -L -o README.md https://huggingface.co/spaces/WACATW/windowgame/resolve/main/README.md
4.06 kB
metadata
title: 云浏览器 - Cloud Browser
emoji: 🌐
colorFrom: indigo
colorTo: purple
sdk: docker
app_file: app.py
pinned: false
云浏览器 - Cloud Browser
一个基于 Hugging Face Spaces 的云浏览器应用,在服务器端运行浏览器,用户本地只需要看画面和操作,就像云电脑一样。
✨ 功能特性
- 🌐 云端浏览器:所有网页都在服务器端加载和渲染
- 🖱️ 点击操作:直接在画面上点击,就像操作真实浏览器
- ⌨️ 键盘输入:点击画面后直接打字,文字输入到云端浏览器
- 📜 滚动页面:使用鼠标滚轮在画面上滚动
- 🎮 玩网页游戏:输入游戏网址,在云端运行,本地不占资源
- 🎨 科技感界面:深色主题,渐变设计,现代化 UI
- 📊 实时状态:显示当前网址、页面标题、延迟等信息
🚀 部署到 Hugging Face Spaces
方法:Docker 部署
- 在 Hugging Face 创建一个新的 Space,选择 Docker 作为 SDK
- 将本项目的所有文件上传到 Space 仓库
- 等待部署完成(首次部署会比较慢,需要下载浏览器)
- 访问你的 Space 即可使用
注意事项
- 首次启动需要下载 Chromium 浏览器,可能需要 1-2 分钟
- 建议使用至少 2GB 内存的 Space 配置
- 浏览器是单实例的,所有用户共享同一个浏览器会话
💻 本地运行
# 安装依赖
pip install -r requirements.txt
# 安装浏览器
playwright install chromium
playwright install-deps chromium
# 运行
python app.py
访问 http://localhost:7860 即可使用。
⚙️ 环境变量配置
| 变量名 | 说明 | 默认值 |
|---|---|---|
PORT |
服务端口 | 7860 |
VIEWPORT_WIDTH |
浏览器视口宽度 | 1280 |
VIEWPORT_HEIGHT |
浏览器视口高度 | 800 |
DEFAULT_URL |
默认打开的网址 | https://www.google.com |
🎯 使用说明
访问网页
- 在地址栏输入网址(例如 google.com)
- 按回车或点击前往按钮
- 等待页面加载完成
点击操作
- 直接在浏览器画面上点击
- 点击位置会精确映射到云端浏览器
键盘输入
- 点击浏览器画面获得焦点
- 直接打字,文字会输入到云端浏览器
- 支持 Enter、Backspace、方向键等特殊按键
滚动页面
- 使用鼠标滚轮在画面上滚动
- 滚动会同步到云端浏览器
浏览器控制
- 后退按钮:返回上一页
- 前进按钮:前进到下一页
- 刷新按钮:重新加载当前页面
🏗️ 技术栈
- 后端:Flask + Playwright (Python)
- 前端:HTML + CSS + JavaScript
- 浏览器引擎:Chromium (Playwright 驱动)
- 部署:Docker + Hugging Face Spaces
⚠️ 注意事项
延迟问题
- 每次操作都需要发送请求到服务器并等待截图返回
- 会有一定的延迟(通常 100-500ms)
- 不适合需要快速反应的游戏
资源消耗
- 浏览器运行会占用较多内存
- Hugging Face Spaces 免费版可能会有限制
安全性
- 用户可以访问任意网站
- 所有用户共享同一个浏览器实例
- 不建议在公共 Space 中登录重要账号
音频问题
- 当前版本不支持音频传输
- 网页视频和游戏没有声音
🔧 工作原理
用户操作 → 发送到服务器 → Playwright 执行 → 截图 → 返回给用户显示
- 服务器端运行无头 Chromium 浏览器
- 用户在前端点击/输入/滚动
- 操作通过 HTTP 请求发送到后端
- Playwright 在浏览器中模拟执行操作
- 截取当前页面截图
- 将截图返回给前端显示
📝 改进方向
- 使用 WebSocket 替代 HTTP,降低延迟
- 支持多用户隔离(每个用户独立浏览器)
- 添加音频传输支持
- 优化截图传输(增量更新、视频流等)
- 添加书签/历史记录功能
- 支持调整视口大小
- 添加密码保护
- 支持文件上传下载
📄 License
MIT License