家里有台 2014 年的 Mac mini,最新的 macOS 早就装不上了。扔了可惜,我给它装了 Arch Linux,留给小孩用。目的很单纯,让他多做几道 KooBits。KooBits 是新加坡小学生常用的数学练习网站。
选 Arch 是因为 AUR 上的软件多,这种老机器的驱动也好找。
为了让这台电脑只干这一件事,我给小孩单独建了个账号,登录后直接全屏打开一个 KooBits 专用的 Chromium,没有地址栏,也没有别的程序可点。我当时挺得意,觉得这台机器除了学数学什么也干不了。
让 Grok Bot 看一眼
最近我让 Grok Bot 帮忙盯着这台电脑,想知道小孩到底有没有好好学习。Grok Bot 跑在云端,我把它和这台 Mac mini 都加进了 Tailscale,它通过 Tailscale SSH 直接连进来,不用开端口,也不用我在家守着。它一开始只读那个专用浏览器的历史记录和登录记录,后来又加了一份 DNS 访问日志,顺手关掉了浏览器的加密 DNS,免得查询绕过日志。小孩登录的时候,它会定时截屏,每晚给我发一份总结。
我还让 Grok Bot 在这台电脑上装了个小服务,开机、关机时各发一条通知给它,它收到就在聊天里告诉我“那台电脑开机了”。开机通知要等联网以后才发,直接拔电源或者强制关机的话,关机通知就来不及发了。有一次关机关得太快,通知没发出去,好在紧接着的开机通知还是到了。
第一天的报告很让人放心,只上了 KooBits,没有别的网站。
第二天下午,Grok Bot 发来一条消息,说有件事要我知道。
漏洞在讲解视频里
KooBits 的练习题配有讲解视频,用的是嵌在页面里的 YouTube 播放器。点一下播放器上的 YouTube 标志或者视频标题,会弹出一个新窗口,打开完整的 YouTube 网站。视频播完后的推荐缩略图也能点,点了就在原窗口跳过去。到了 YouTube,推荐和搜索一应俱全。
那天下午,他先看了一个讲 100 以内加减法的 KooBits 视频,然后从推荐里点进一部火柴人动画,接着是几段 Minecraft 物理模拟和 Geometry Dash 的游戏视频。一口气看了快一个小时,最后按电源键关机。Grok Bot 又翻了前几天的记录,发现这不是第一次,之前还看过仓鼠走迷宫和可乐牙膏实验,在 YouTube 上搜过 geometry dash。
那天他在电脑前的时间,真正用来做题的只有一小部分。我精心搭的学习机,实际上是一台附带数学题的 YouTube 播放器。
怎么堵
我的第一反应是禁掉弹窗。Grok Bot 说这样只能堵一半,点推荐视频是在同一个窗口里跳转,禁弹窗管不到。
它换了个角度,看视频是怎么打开的。KooBits 里的讲解视频,地址都是 youtube.com/embed/视频编号。跳出去以后看的是 youtube.com/watch 这类观看页,还有首页和搜索。所以规则就是只放行 embed,其余 YouTube 页面一律拦掉。Chromium 支持管理员策略,放一个 JSON 文件进策略目录就行,改动只针对小孩那个 KooBits 浏览器:
{
"URLBlocklist": ["youtube.com", "youtu.be"],
"URLAllowlist": ["youtube.com/embed"]
}
装之前,Grok Bot 先在自己的机器上搭了个假的 KooBits 页面测了一遍。讲解视频照常播放,直接打开 YouTube 首页或搜索都显示 “This page is blocked”,观看页、Shorts 和频道页也一样。播完后的推荐缩略图还会出现,有网球,也有商场,点进去同样是那个屏蔽页。
它没有按视频编号做白名单,KooBits 一直在加新视频,白名单得天天维护。代价是任何网站嵌入的 YouTube 视频都能播,好在这个浏览器没有地址栏,他也去不了别的网站。
规则当天下午就装上了,没重启,也没打断正在用电脑的小孩。第二天他做题时又打开过讲解视频,没有再跳去 YouTube。
装规则的那次开机,他全程在玩 KooBits 自带的益智游戏,一道题没做。好在 KooBits 给游戏设了每天的时间上限,这一关我就先不管了。
顺手修了个 Wi-Fi
当天晚上 KooBits 打不开了。Grok Bot 查下来,是开机后 Wi-Fi 迟迟连不上,KooBits 浏览器一开机就自动打开,正好撞上没网的那段。根子在电脑里存了两个同名的 Wi-Fi 配置,坏的那个优先级更高,反复握手失败了十来次。把坏的那个改成不自动连接以后,第二天早上开机几秒就连上了。
这台十二年前的 Mac mini 现在过得挺充实,白天陪小孩做题,后台还有 Grok Bot 盯着。至于小孩下一次会从哪里钻出去,我等着它的报告。
这次折腾下来,最大的感受是 Grok Bot 加上 Tailscale 这套组合真的方便。家里任何一台机器,只要连进 Tailscale,就能交给 Grok Bot 去查、去改、去盯。能拿它做什么,基本只受想象力限制。