CleanFrame 为 Samsung The Frame 提供简洁主屏幕
CleanFrame: A quieter home screen for Samsung The Frame
ingve 开源 CleanFrame,为运行 Tizen 的 Samsung The Frame 提供可定制的简洁主屏幕,支持应用启动、照片背景、12 小时时钟和遥控器导航。
CleanFrame 将浏览器预览、电视安装和原生启动修改分阶段处理,并提供受限的编码智能体任务模板与恢复步骤。
为三星 The Frame 设计的更安静的主屏。你的应用、一张照片和当前时间,配合为遥控器量身打造的界面。
我为了一台电视开发了 CleanFrame:我自己那台运行 Tizen 的三星 The Frame。我把代码和配置说明分享出来,供其他人以此为基础继续开发。
使用请自行承担风险。绝大部分工作都是为了让它在我这台电视上良好运行,几乎没有为可移植性投入精力。配置脚本反映的是我的电脑、电视和固件情况,因此你需要根据自身情况进行调整,并在自己的硬件上测试结果。
我强烈建议你 fork 此项目并在其上继续开发,理想情况下借助一个编程助手来帮助你理解和调整配置。先从浏览器预览开始,把界面改造成你喜欢的样式,准备好之后再处理电视安装。原生 Home/启动相关的修改需要格外小心;配置指南中涵盖了相关风险和恢复步骤。
体验界面
运行浏览器预览需要 Node.js 22+ 和 Python 3.10+。
git clone https://github.com/nthnclrk/CleanFrame.git
cd CleanFrame
npm ci
npm run dev:public打开 localhost:4795/home/。使用方向键、Enter 和 Escape 键,或点击控件。应用启动和三星相关界面需要真实电视;选中它们时,预览会提示该限制。
公开版预览使用内置的 Manrope、Geist 和 Newsreader 字体。
可定制的内容
- 可选择列表或 Dock 布局,显示图标、名称或两者皆有。
- 使用照片、浅色或深色背景,搭配简明的 12 小时制时钟。
- 通过同一个设置界面调整字体、焦点和玻璃材质。
- 选择并重新排列主屏应用;自动发现电视上已安装的应用。
- 从十五张壁纸中挑选,并将偏好保存在本地。
玻璃和模糊效果是提前渲染好的。电视加载渲染完成的图片,并通过变换和透明度来实现焦点反馈。
使用编程助手
在本地编程助手中打开本仓库,并给它一个有限范围的修改任务:
Read AGENTS.md, docs/development.md and docs/interaction-behaviour.md.
Help me adapt CleanFrame. Start with the public-font browser preview.
My first change is: <describe one change>.
Preserve remote navigation, saved preferences and the ES5 runtime.
Run the source checks and relevant browser checks. Show the result.
This task is browser-only: do not connect to a TV, sign or install a
package, or change Home/startup settings.
查看 working with an agent,了解电视配置的提示词,以及 UI 工作、应用安装和原生 Home 修改之间的区别。处理电视相关任务时,编程助手需要本地电脑的访问权限;仅靠阅读本仓库,在线对话式助手无法触达你的电视。
安装到电视上
参考这份分阶段的 三星 The Frame 配置指南,了解我在自己电视上使用的流程,并据此适配到你的电视上。内容涵盖遥控器的开发者模式操作顺序、官方三星工具、自有证书和应用标识、安装流程、外观检查以及恢复方法。
签名脚本和电视端脚本都是针对我的环境编写的。你的编程助手需要相应调整路径、签名配置、身份校验以及已安装应用的 ID,并与你一同验证每个阶段。安装应用和分配遥控器 Home 键是分开的两步。
| 领域 | 证据与局限 |
|---|---|
| 参考硬件 | 三星 QA55LS03DAWXXY / LS03D,固件 2130.0,Tizen 9.0,32 位 ARM |
| 应用安装 | 在 0.6.1 及之前版本,签名安装与启动命令均执行成功。最新版本的渲染效果和遥控器手感仍有待现场实测。 |
| 应用启动与 Home 键 | 在参考设备上已确认 Netflix/YouTube 能够启动,并可从 Netflix 界面通过实体 Home 键返回。 |
| 仍未解决 | 从流媒体/艺术模式退出后的正常开机流程、修正后的 Smart Hub 退出操作以及原生艺术模式入口,都仍需通过现场验证确认。 |
| 其他电视 | 不保证兼容性。本项目为 Tizen 源码;Android TV、Google TV、LG webOS 和 Roku 均需要各自的实现。 |
详细的设备记录将观察到的结果与 SDK 响应分开。原生 Home/启动 使用未公开的、受保护的辅助函数;它是可选的,在固件更新后可能会失败。在尝试该操作前请保留恢复基线。即使没有它,应用也可以手动打开。
开发与检查
npm run check npx playwright install chromium CLEANFRAME_PUBLIC_FONTS=1 npm run check:browser npm run check:public npm run export:public
浏览器检查使用隔离的 Chromium 配置和回环预览。它们从不连接电视。公共导出会生成dist/CleanFrame-public-unsigned.wgt,包含公共字体和声明。安装前需要你自己的身份和签名。它不保证资源再分发权利或设备兼容性。
| 位置 | 用途 |
|---|---|
app/ |
当前打包的 UI 和运行时资源 |
scripts/ |
预览、验证、资源生成和参考电视工具 |
| 开发 / 测试 | 运行时映射、首选项、检查和设备边界 |
| 资源 / 第三方声明 | 渲染方案、字体分离和资源来源 |
| 资源来源 | 打包第三方资源的图片来源与核验 |
.local/, dist/ |
忽略的私有设置、恢复数据、生成的文件和包 |
贡献
Fork 它,进行试验并构建适合你电视的内容。如果发现有用的修复或改进了设置说明,欢迎贡献。在进行较大改动前请阅读CONTRIBUTING.md。报告应包含型号、固件版本和观察到的结果,并移除私有标识信息。
许可证与致谢
CleanFrame 的原始代码和文档使用MIT 许可证。字体、照片和徽标保留各自的使用条款;请阅读THIRD_PARTY_NOTICES.md。付费的 Pangram 二进制文件不包含在 Git 与公共导出中。本地包可能包含它们,因此请将个人构建与公共下载分开存放。
发布审查记录了发布前的检查。第三方资源保留其声明中列出的条款。CleanFrame 是一个独立项目,与三星或流媒体服务无关。
TV Detox 是在让代理辅助的电视项目变得更易上手方面的一个有用示例。其 Android 设置采用不同的实现方式;这里的提示和说明专为 CleanFrame 与 Tizen 编写。
来源:Hacker News · github.com
