Files

5.6 KiB
Raw Permalink Blame History

Framely

Framely

English

Framely 目前仍在快速迭代中,功能和界面可能随预览版本调整。安卓应用与游戏的兼容性取决于 Lepton 和应用本身。

Framely 为 Steam Frame 提供统一的空间启动台,以及可在头显内和 PC 浏览器中使用的管理面板。

  • 统一启动入口:启动 Lepton 中的安卓应用、Linux 桌面程序、Steam 本地游戏和 Steam 远程畅玩游戏。
  • APK 侧载与管理:安装、更新和卸载 APK,管理应用容器与数据;为支持手柄的安卓游戏提供手柄输入映射和振动反馈。
  • 插件安装与管理:安装和管理 Framely 插件,通过插件库发现并扩展功能。
  • PC 网页远程管理:在 PC 浏览器中访问 Frame 的管理面板,管理设备文件、APK 和插件,支持文件上传、下载、编辑及常见图片和视频预览。
  • 网页终端:通过管理面板操作 Frame 的交互式终端,支持 Shell 命令和使用 ssh 连接其他设备,无需先通过 SSH 连接 Frame。

Framely 使用 Rust 核心服务和独立的 CEF/OpenVR 宿主,并提供电脑端安装器,也可管理插件来源、窗口、通知和更新。

Framely 空间启动台

Framely 插件库

安装

目标设备为 Linux ARM64 Steam Frame。先在 Frame 上启用开发者模式与 SSH,确保电脑和 Frame 在同一网络,并准备好 steamos 账户密码。

安装器安装

从 Framely Installer 发行下载页 下载适合电脑平台的安装器。Linux 提供 .tar.gz,Windows 和 macOS 提供 .zip。解压并启动安装器,填写 Frame 的 IP 和 SSH 端口,核对 SSH 指纹后使用 steamos 账户连接。选择 Framely 版本,再确认安装。安装 Preview 版本时需启用测试版本;安装器与 Frame 本体的版本号相互独立。

命令安装

在 Frame 的 SSH 终端中执行以下命令,安装最新正式版:

curl -fsSL https://raw.githubusercontent.com/SteamFramelyHomebrew/framely/main/install.sh | bash -s -- install

安装 Preview 时指定实际已发布的标签:

curl -fsSL https://raw.githubusercontent.com/SteamFramelyHomebrew/framely/main/install.sh | bash -s -- install --version v0.4.5-preview.2

将示例标签替换为需要安装的已发布版本,并在提示时输入 sudo 密码。更新、修复和卸载步骤见安装指南。

首次安装使用包含 CEF 的完整离线包,更新使用不含 CEF 的本体包并复用运行库;同时提供独立 CEF 在线下载。设备无需 Node.js 或 Rust。安装会请求 sudo;不会自动解除 SteamOS 只读保护。在 SteamVR Dashboard 中点击 Framely Dock 图标打开启动台,长按 600 毫秒打开快捷面板,按住期间显示边框进度;点击启动台右侧的设置按钮打开管理面板。

网络面板默认端口 15915,手机/电脑访问 http://设备IP:15915。未配置密码时首次访问必须设置并确认密码,保存后登录。设备密码与面板密码相互独立。

文档

从 文档首页 开始:

创建插件

开发机准备 Node.js 22 和 npm,克隆本仓库后执行:

node tools/plugin-dev.mjs init ../my-plugin yourname.my-plugin
cd ../my-plugin
npm install
npm run dev
npm run build

生成项目包含 React 页面、Python 后端、数据保存、生命周期回调、SDK 和构建工具。浏览器预览不启动后端;打包与实际 Frame 测试见开发指南。

构建与验证

本体源码在 Linux 构建,需要 Rust、Node.js、C/C++ 和 OpenGL/X11 开发库,生产原生宿主使用锁定版本的 Linux ARM64 CEF。

npm ci
npm run typecheck
npm run build
cargo test --locked
bash tools/test-native.sh
python3 -m unittest discover -s tests -p 'test_*.py'

CEF 构建、集成测试和发布命令见发行维护。插件支持 steamos 和 root;哈希校验不代表安全审核,应核对来源和运行用户。

许可证与致谢

Framely 采用 AGPL-3.0-only,详见 LICENSE。第三方项目保留各自的许可证。

感谢 Lepton 提供安卓运行环境、OVRPort 提供 Quest APK 转换工具,以及 FramePort 的 FrameBridge 提供 OpenXR 画面与手柄适配。可选 q2f 包附有 OVRPort 和 FrameBridge 的许可证及对应源码。