<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cleanyourtv on 大卷学长的博客</title><link>https://blog.liurb.org/tags/cleanyourtv/</link><description>Recent content in Cleanyourtv on 大卷学长的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 18 Oct 2026 21:30:00 +0000</lastBuildDate><atom:link href="https://blog.liurb.org/tags/cleanyourtv/index.xml" rel="self" type="application/rss+xml"/><item><title>大神们开始 vibe 家里的电视机了</title><link>https://blog.liurb.org/posts/2026/10/18/vibe-tv/</link><pubDate>Sun, 18 Oct 2026 21:30:00 +0000</pubDate><guid>https://blog.liurb.org/posts/2026/10/18/vibe-tv/</guid><description>&lt;img src="https://blog.liurb.org/images/posts/2026/vibe_tv_cover.png" alt="Featured image of post 大神们开始 vibe 家里的电视机了" />&lt;h1 id="大神们开始-vibe-家里的电视机了">大神们开始 vibe 家里的电视机了
&lt;/h1>&lt;p>前阵子 GitHub 上最火的项目是 &lt;strong>REA&lt;/strong>（Reverse Engineer Anything，&lt;a class="link" href="https://github.com/morluto/rea" target="_blank" rel="noopener"
>github.com/morluto/rea&lt;/a>）。它是个 MCP 服务器，把 Ghidra、IDA、Hopper、JADX 这些专业逆向工具包装成一百多个 AI agent 能直接调用的接口。装好之后你对 Claude Code 说一句人话，比如「搞清楚 Windows 计算器的 &lt;code>%&lt;/code> 键是什么逻辑，给我看证据」，它就能自己拆二进制、追调用链，最后给出带证据的结论。这项目四月就建仓了，一直不温不火，十月初突然被点燃，十几天冲到 33 万 star、8.4 万 fork，GitHub Trending 第一连占了好几天，HN 上的讨论近千赞。&lt;/p>
&lt;p>跟着起来的是「逆向复刻」潮，下手的还都是手边最熟的东西。Windows 计算器里 &lt;code>200 + 10%&lt;/code> 为什么等于 220，REA 把 &lt;code>%&lt;/code> 键的处理逻辑翻出来，发现加法和乘法走的是两条分支，最后拿微软开源的常量定义一对，分毫不差。Chrome 的小恐龙为什么越跑越快，它直接从正在运行的页面脚本里读出规则：初速 6，每次更新加 0.001，13 封顶，然后照着这条规则重写了一个带速度滑杆的迷你版。中文圈这边更接地气，有人花半小时让 agent 把剪映的字幕、转场、动画摸清楚，搬进自己的项目；最离谱的一位拆了微信小程序的蓝牙协议，半小时给自家智能马桶攒出个遥控器，电脑上点一下，马桶盖真的翻了。胆子再大一点的已经不满足于拆单个功能，直接照着 Adobe 全家桶复刻，Photoshop、Premiere 的免费替代品没几天就冒了出来，&amp;ldquo;Software is over&amp;rdquo; 的口号也是那阵子喊起来的。&lt;/p>
&lt;p>当小伙伴都在忙着 &lt;code>vibe coding&lt;/code> 的时候，这些大神们又开始 vibe 自己家里的电视机了。起因是 Ryan Doyle 发了条推，说用 Claude Code 把自己电视「黑」了，广告全没了。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/10/cleanyourtv_08.png"
loading="lazy"
>&lt;/p>
&lt;p>开发者 Gathin 顺着这个思路，把父母那台打开 Netflix 之前先弹广告的小米电视收拾了一遍：AI 通过 Wi-Fi 找到电视，禁用了 25 个小米系预装包，还顺手写了个新启动器。他把这段提示词连同整个方案开源成 &lt;strong>tv-vibehack&lt;/strong>，推文两百万阅读，仓库现在改名叫 &lt;strong>cleanyourtv&lt;/strong>，刚开源两三天已经 3.5k star。&lt;/p>
&lt;blockquote>
&lt;p>项目地址
&lt;a class="link" href="https://github.com/Gathin23/cleanyourtv" target="_blank" rel="noopener"
>https://github.com/Gathin23/cleanyourtv&lt;/a>&lt;/p>&lt;/blockquote>
&lt;h2 id="cleanyourtv-是什么">cleanyourtv 是什么
&lt;/h2>&lt;p>&lt;strong>cleanyourtv&lt;/strong> 通过 Wi-Fi 把 Android TV / Google TV 精简一遍，再把广告满天飞的官方桌面换成一个苹果 Apple TV 风格的启动器。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/10/cleanyourtv_05.jpg"
loading="lazy"
>&lt;/p>
&lt;p>整个过程不用 root，不用插 USB 线，也不卸载任何东西。它只走电视自带的 ADB 调试通道，把要清理的包逐个禁用，系统分区原封不动，一条命令就能全部还原，玩砸了也不慌。&lt;/p>
&lt;p>原理不复杂。Android TV 说到底也是安卓，和手机一样带 ADB。电视端在 &lt;code>Settings → Device Preferences → About&lt;/code> 里连按 OK 七次解锁开发者选项，打开 USB debugging，同一个 Wi-Fi 下的电脑就能 &lt;code>adb connect&lt;/code> 上去。部分小米电视看不到无线调试开关，但 USB debugging 本身就会放开 5555 端口，一样连得上。之后就是 &lt;code>pm disable-user&lt;/code> 逐个禁用厂商的遥测、广告服务和内容推荐行，README 里那台小米电视 4A 一共禁了 25 个包，PatchWall、SmartShare、Alexa 桥接都在列。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/10/cleanyourtv_03.png"
loading="lazy"
>&lt;/p>
&lt;p>这个项目我觉得最妙的地方，是它把「怎么让 AI 干这活」也一并开源了。仓库里有一段 &lt;code>PROMPT.md&lt;/code>，当初作者就是用这段提示词让 Claude Code 自己识别电视型号、发现冗余应用、写启动器的。你把它连同型号喂给任何有 shell 权限的编码助手，备份、探测、禁用、构建、截图验证它会自己跑完。作者在 X 上的原话是：&amp;ldquo;it found the tv on wifi, removed 25 Xiaomi packages and wrote a new launcher. Looks like an Apple TV now lol.&amp;rdquo;&lt;/p>
&lt;h2 id="安装">安装
&lt;/h2>&lt;p>两条路，推荐第一条。&lt;/p>
&lt;p>&lt;strong>方式一：AI 助手全自动&lt;/strong>，顺利的话一刻钟：&lt;/p>
&lt;ol>
&lt;li>电视端：&lt;code>Settings → Device Preferences → About&lt;/code> 连按 OK 七次，返回打开 &lt;code>Developer options → USB debugging&lt;/code>，有 Network / Wireless debugging 也一并打开。&lt;/li>
&lt;li>电脑端：把仓库里的 &lt;code>PROMPT.md&lt;/code> 连同电视型号一起贴给 Claude Code（Codex 等其他助手也行）。&lt;/li>
&lt;li>电视上弹出 &amp;ldquo;Allow USB debugging?&amp;rdquo; 点允许，然后回答助手几个清单问题：常用哪些 App、Dock 放哪四个、语音助手 / Chromecast / 系统更新要不要保留。&lt;/li>
&lt;li>剩下的备份、精简、构建安装启动器、截图验证，助手自己走完。作者第一次花了一下午，现在有仓库上下文，普遍反馈 15 分钟左右。&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>方式二：完全手动&lt;/strong>，环境只要 Python 3，脚本同时给了 &lt;code>.sh&lt;/code> 和 &lt;code>.ps1&lt;/code>：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">python3 -m venv tools/venv &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> tools/venv/bin/pip install -r tools/requirements.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">TV_HOST&lt;/span>&lt;span class="o">=&lt;/span>192.168.1.50
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 探测电视、执行任意 adb 命令&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tools/venv/bin/python -I tools/tv.py --probe
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tools/venv/bin/python -I tools/tv.py &lt;span class="s1">&amp;#39;pm list packages&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 应用 / 撤销 debloat 列表（每个型号一份，放在 examples/ 下）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 构建并安装启动器，安装后约 250 KB&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">TV_HOST&lt;/span>&lt;span class="o">=&lt;/span>192.168.1.50 launcher/build-and-install.sh
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="使用">使用
&lt;/h2>&lt;p>装完之后电视的开机界面就换了一块。纯黑底，常用 App 收在底部四个圆角胶囊里，Inputs、Wi-Fi、Settings 三个磨砂按钮压在最下面，顶上是一个慢慢漂移的时钟屏保，并且最重要的是没有推荐位也没有广告位。&lt;/p>
&lt;p>启动器本身也挺讲究：包名 &lt;code>com.gathin.tvhome&lt;/code>，纯 Java 加 AndroidX RecyclerView，没有重量级依赖，针对 1GB 内存的低端电视做过优化，没有模糊、没有视频、没有网络请求、没有后台服务。主题不用重编译 APK，推一个 &lt;code>config.json&lt;/code> 到电视就能换颜色、壁纸、dock 布局和网格列数；其他 TV 应用还可以向启动器申请模块卡片，但必须用户明确授权。界面跟随电视语言，简体中文在列。&lt;/p>
&lt;p>&lt;img src="https://blog-worker.liurb.org/api/2026/10/cleanyourtv_13.jpg"
loading="lazy"
>&lt;/p>
&lt;p>想还原也简单。恢复脚本会重新启用列表里的包、把原启动器设回 Home、重置动画缩放，但不会自动卸载新装的启动器，需要手动禁用：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Android TV&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">TV_HOST&lt;/span>&lt;span class="o">=&lt;/span>192.168.1.50 tools/restore.sh examples/&amp;lt;your tv&amp;gt;/debloat.txt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Google TV 需要额外指定原启动器包名&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">TV_HOST&lt;/span>&lt;span class="o">=&lt;/span>192.168.1.50 tools/restore.sh examples/&amp;lt;your tv&amp;gt;/debloat.txt com.google.android.apps.tv.launcherx
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="支持范围和坑">支持范围和坑
&lt;/h2>&lt;p>支持面比想象中广：所有 Android TV / Google TV 设备理论上都行，&lt;code>examples/&lt;/code> 下已经有约 30 个型号的实测清单，小米 8 款、TCL 7 款、索尼 2 款，还有 NVIDIA Shield、Chromecast with Google TV 4K、Hisense、Philips 这些。型号不在列表也不用慌，&lt;code>PROMPT.md&lt;/code> 会自动发现那台机器上的冗余应用，清理完欢迎把列表贡献回仓库。&lt;/p>
&lt;p>不支持的也说清楚：三星 Tizen、LG webOS 是另一套系统，ADB 这套玩不转；Fire TV 只能做去广告那一半，Fire OS 不允许第三方启动器接管桌面，类似需求可以看看 dumbtv；部分中国版 TCL 会拒绝安装任何启动器。&lt;/p>
&lt;p>几个实操上的坑，从 README 和社区反馈里攒的：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>顺序不能反&lt;/strong>：必须先装好新启动器，再禁用原启动器，否则 Home 键会落到工厂测试应用上。&lt;/li>
&lt;li>&lt;strong>Google TV 多一步&lt;/strong>：包名 &lt;code>com.google.android.tungsten.setupwraith&lt;/code> 要一并禁用，不然设置向导会在原启动器被禁后抢占 Home，搞出崩溃循环。&lt;/li>
&lt;li>&lt;strong>别为禁而禁&lt;/strong>：广告和遥测尽管清，但 HDMI 输入、键盘这类要想清楚；厂商更新服务禁掉就意味着收不到安全补丁，权衡一下。&lt;/li>
&lt;li>&lt;strong>干完关调试&lt;/strong>：回开发者选项把 USB debugging 关掉，谁也不想自家网络上常开着一个 ADB 端口。&lt;/li>
&lt;li>&lt;strong>macOS 连不上&lt;/strong>：&lt;code>adb connect&lt;/code> 报 &amp;ldquo;No route to host&amp;rdquo; 是本地网络隐私策略，换仓库自带的 &lt;code>tools/tv.py&lt;/code> 就行。&lt;/li>
&lt;/ul>
&lt;h2 id="写在最后">写在最后
&lt;/h2>&lt;p>这个项目最打动我的地方，不是那个仿 Apple TV 的界面，是「禁错了还能退回去」。刷机、root 那套之所以劝退，就是因为一步走错电视就变砖；cleanyourtv 只是把包禁用掉，&lt;code>restore.sh&lt;/code> 一跑就复原，试错成本低到可以放心折腾。仓库里那些按型号整理好的 &lt;code>debloat.txt&lt;/code>，价值其实不比启动器低。&lt;/p>
&lt;p>所以要不要试，先看电视是不是 Android TV 或 Google TV，再看你愿不愿意花半小时陪 AI 折腾一台家电。两个都占，就值得试。动手时别贪，第一遍只清广告和遥测，系统更新、HDMI 输入先留着，用一周没问题再往下走；三星、LG 和国行 TCL 就别硬来了。&lt;/p>
&lt;p>电视大概只是个开头。同一套「让 AI 拆开设备、把不要的东西关掉」的玩法，放到路由器、音箱、车机上多半也成立，只是还没人把提示词写出来。等有人写了，我估计还会再折腾一次。&lt;/p>
&lt;!--
配图清单（共 4 条）
截图（自己拍，走 pub 压缩上传）：
1. vibe-tv-repo cleanyourtv 仓库首页 → 「cleanyourtv 是什么」原理段之后
2. vibe-tv-adb 开发者选项开启 USB debugging → 「安装」方式一第 1 步
3. vibe-tv-home Apple TV 风格主界面 → 「使用」第一段
4. vibe-tv-diff 去广告前后桌面对比 → 「使用」启动器参数段之后
封面：
· vibe_tv_cover 已落 static/images/posts/2026/vibe_tv_cover.png（1280×720，由 1600×440 参考图合成：紧裁内容 + 按行色延伸渐变铺满，纯 logo 版），frontmatter image 已指向
--></description></item></channel></rss>