1. 项目缘起与整体思路拆解
1.1 为什么想到用 AI Agent 去折腾一台电纸书
手里这台 Kindle Oasis 2 已经服役好几年了,金属后盖、实体翻页键、7 寸屏,硬件素质放到今天依然能打。但官方系统越更新越封闭,能装的东西越来越少,推送机制也越来越不自由。我早就想把它越狱,装个第三方阅读器、自定义屏保、甚至跑点小脚本,让它从“只能看官方商店书”变成一台真正属于自己的设备。
问题是,越狱这件事对普通人来说门槛不低。网上教程散落在各种论坛、博客、视频里,版本号对不上、步骤前后矛盾、关键文件找不到,踩坑概率极高。我试过自己啃文档,光是搞清楚“我的固件版本对应哪个越狱路径”就花了大半天。后来我换了个思路:既然现在 AI Agent 能操作电脑、能查资料、能执行命令,那能不能让它来当我的“越狱副驾驶”?
这个想法听起来有点疯狂,但仔细想想,越狱本质上就是一个信息检索 + 版本匹配 + 文件操作 + 命令执行的流程。AI Agent 擅长的不就是这些吗?它不需要理解电子墨水屏的物理原理,只需要知道“当前固件版本是 5.13.6,对应哪个漏洞入口,需要下载哪个文件,放到哪个目录,执行什么命令”。
于是就有了这次实验:我用一个 AI Agent 作为主要操作者,我作为监督者和决策者,完整走了一遍 Kindle Oasis 2 的越狱流程。下面我把整个过程拆开讲,包括思路、工具选型、实操步骤、踩过的坑,以及我对“AI Agent 做真实硬件操作”这件事的思考。
1.2 整体方案选型:为什么是“Agent 主导 + 人工监督”
在动手之前,我考虑过三种方案:
| 方案 | 描述 | 优点 | 缺点 |
|---|---|---|---|
| 纯手动 | 自己查教程、自己操作 | 完全可控 | 效率低,容易漏步骤 |
| 纯 Agent | 全部交给 AI 执行 | 省事 | 风险高,出错难排查 |
| Agent 主导 + 人工监督 | AI 执行,我确认关键节点 | 兼顾效率与安全 | 需要设计监督机制 |
最终选了第三种。原因很简单:越狱过程中有几个不可逆的操作,比如写入引导分区、替换系统文件,一旦出错设备可能变砖。AI Agent 再聪明,也不能让它完全自主地做这种决定。我的角色是“项目经理 + 安全员”,Agent 的角色是“执行工程师 + 资料检索员”。
具体分工是这样的:
- Agent 负责:搜索最新越狱教程、识别设备固件版本、下载对应文件、执行命令、记录日志、遇到报错时提出排查建议。
- 我负责:确认设备型号和固件版本、审核 Agent 找到的教程是否匹配、在关键写入操作前二次确认、准备恢复方案。
这个分工模式贯穿了整个项目,后面每个环节我都会说明哪些是 Agent 做的,哪些是我介入的。
1.3 核心关键词与搜索策略
Agent 第一步是搜集资料。我给它定的搜索关键词包括:
- “Kindle Oasis 2 越狱 固件版本 对照”
- “Kindle 越狱 最新 教程 2024”
- “Kindle Oasis 2 jailbreak firmware”
- “Kindle 越狱 文件 下载 校验”
这里有个细节:Agent 在搜索时会自动过滤掉过时信息,但它判断“过时”的依据是网页发布时间和内容中的版本号。我要求它把找到的教程按“适用固件版本”分类,而不是按发布时间排序。因为越狱这件事,版本匹配比新旧更重要。一个 2022 年的教程,如果正好对应你的固件版本,那它就是有效的;一个 2024 年的教程,如果只适用于更低版本,那对你也没用。
提示:让 Agent 搜索时,一定要给它明确的“版本约束”。否则它可能会找一堆看起来相关但实际不匹配的教程,浪费大量时间。
2. 核心细节解析与实操要点
2.1 设备信息确认:越狱的第一步不是下载,是核对
很多人越狱失败,第一步就错了:没搞清楚自己的设备到底是什么型号、什么固件版本。Kindle 的型号和固件版本组合非常多,Oasis 2 和 Oasis 3 的越狱路径完全不同,固件 5.13.6 和 5.14.2 的漏洞入口也不一样。
我让 Agent 做的第一件事,是通过 USB 连接 Kindle,读取设备信息。具体操作是:
- 用数据线把 Kindle 连到电脑。
- 在 Kindle 上确认“USB 连接模式”已开启(不是“充电模式”)。
- Agent 在电脑端执行命令,读取 Kindle 根目录下的
version.txt或类似文件。
在 Windows 上,Kindle 会挂载为一个盘符,比如E:\。Agent 需要执行的命令大概是:
# 假设 Kindle 挂载在 E 盘 cat /e/system/version.txt如果系统里没有这个文件,还可以通过设备序列号反查型号。序列号通常印在设备背面或包装盒上,前几位代表型号。Agent 可以调用一个本地的型号对照表来识别。
我实际遇到的情况是:version.txt存在,但内容格式是Kindle 5.13.6 (3567480064)这样的字符串。Agent 需要从中提取出固件版本号5.13.6,然后去匹配越狱教程。
注意:不要相信设备“关于”页面里显示的版本号,那个可能被修改过。以文件系统里的版本文件为准。
2.2 越狱路径选择:为什么 5.13.6 是一个特殊版本
Agent 检索后发现,Kindle Oasis 2 的固件 5.13.6 处于一个“分水岭”位置。低于这个版本的设备,可以用一个比较简单的漏洞入口;高于这个版本的设备,需要更复杂的操作,甚至需要拆机短接。而 5.13.6 正好卡在中间,既不能用最简单的方案,也不至于要拆机。
具体来说,5.13.6 对应的越狱路径大致是:
- 利用系统内置的浏览器或阅读器的一个解析漏洞,触发一个可执行代码的入口。
- 通过这个入口,把一个越狱脚本写入系统分区。
- 重启后,脚本自动执行,完成越狱环境的部署。
Agent 找到的教程里,关键文件是一个.bin格式的更新包和一个.sh脚本。更新包负责触发漏洞,脚本负责后续操作。
这里有个关键决策点:Agent 找到了两个版本的越狱包,一个标注“适用于 5.13.6 及以下”,另一个标注“适用于 5.13.6 及以上”。我让 Agent 对比了两个包的哈希值和文件大小,发现它们其实是同一个文件的不同命名。这说明教程作者可能只是复制粘贴时改了名字,实际内容一样。
实操心得:遇到多个教程说法不一致时,不要盲目相信“最新”的那个。让 Agent 对比文件哈希值,如果哈希一样,说明是同一个文件,选哪个都行;如果哈希不同,再仔细看版本说明。
2.3 文件准备与校验:别跳过这一步
越狱文件通常来自第三方网盘或论坛附件,下载过程中可能损坏,也可能被替换成恶意文件。我要求 Agent 在下载后必须做三件事:
- 校验文件哈希:教程里通常会提供 MD5 或 SHA256 值,Agent 下载后自动计算并比对。
- 检查文件大小:如果教程说文件是 2.3MB,下载下来只有 200KB,那肯定有问题。
- 扫描文件内容:对于脚本文件,Agent 可以读取前几行,确认没有奇怪的下载指令或格式化命令。
我实际遇到的一个坑是:某个论坛附件下载下来后,哈希值对不上。Agent 自动重新下载了三次,结果都一样。后来发现是教程作者自己更新了文件但没改哈希值。这种情况下,我让 Agent 把文件内容打印出来,人工确认没有恶意代码后,才继续使用。
提示:如果哈希对不上,不要直接放弃。先看文件内容是否合理,再决定是否使用。但如果是可执行文件或系统镜像,哈希对不上就绝对不能用。
3. 实操过程与核心环节实现
3.1 越狱环境部署:从连接设备到触发漏洞
整个越狱过程可以分成四个阶段:准备阶段、触发阶段、写入阶段、验证阶段。下面我按顺序讲。
准备阶段:Agent 把下载好的越狱包解压,得到两个文件:一个.bin更新包和一个run.sh脚本。然后它把这两个文件复制到 Kindle 根目录下的documents文件夹里。为什么是documents?因为 Kindle 的系统更新机制会扫描这个目录,但不会自动执行里面的文件,需要手动触发。
触发阶段:在 Kindle 上,进入“设置 -> 设备选项 -> 高级选项 -> 更新您的 Kindle”。系统会扫描到那个.bin文件,并提示“检测到更新,是否安装”。点击“确定”后,设备会重启并进入更新流程。这个更新流程实际上就是漏洞触发点:系统在解析更新包时,会执行包里的一个脚本,而这个脚本就是越狱入口。
这里有个关键细节:更新包的文件名必须符合 Kindle 的命名规则,通常是Update_xxxxxx.bin。如果文件名不对,系统不会识别。Agent 在复制文件时,自动把文件名改成了教程里指定的格式。
写入阶段:设备重启后,会进入一个类似“恢复模式”的界面,屏幕上显示一个进度条。这时候不要拔线,不要断电。进度条走完后,设备会自动重启。重启后,越狱脚本已经在后台执行了,它会把必要的文件写入系统分区,并创建一个“越狱标志文件”。
验证阶段:重启完成后,Agent 通过 USB 连接设备,检查根目录下是否出现了mntus或jailbreak之类的文件夹。如果有,说明越狱成功。如果没有,说明脚本没执行,需要重新来。
我实际遇到的情况是:第一次触发后,进度条走到一半就停了,设备自动重启,但根目录下没有越狱标志。Agent 分析日志后发现,是更新包的文件名大小写不对。Kindle 的文件系统区分大小写,教程里写的是Update_abc123.bin,Agent 复制时变成了update_abc123.bin,系统没识别。改成大写后,第二次成功。
注意:Kindle 的文件系统对大小写敏感,文件名必须和教程完全一致。Agent 在复制文件时,最好直接使用教程里的原始文件名,不要自己改。
3.2 越狱后的环境配置:装什么、怎么装
越狱成功只是第一步,接下来要装第三方工具。我主要装了三个东西:
- KUAL(Kindle Unified Application Launcher):一个启动器,用来运行各种越狱插件。
- KOReader:一个开源阅读器,支持 PDF、EPUB、CBZ 等格式,比官方阅读器强太多。
- 屏保自定义工具:用来替换默认屏保图片。
Agent 在装这些工具时,需要做的是:
- 从官方仓库或可信来源下载安装包。
- 解压到 Kindle 根目录的
extensions文件夹。 - 在 KUAL 的菜单里添加对应的启动项。
这里有个坑:KUAL 的菜单文件是一个.json格式的配置文件,如果格式写错,KUAL 会启动失败。Agent 在写入配置文件时,自动做了 JSON 格式校验,确保没有语法错误。
另一个坑是:KOReader 的安装包有好几个版本,对应不同的固件。Agent 需要根据当前固件版本选择正确的包。我让它把每个版本的说明都读一遍,然后选最匹配的那个。
实操心得:装完 KUAL 后,先重启一次设备,再打开 KUAL。有时候不重启,菜单不会刷新。
3.3 关键参数与配置记录
整个过程中,有几个关键参数需要记录,方便后续排查:
| 参数 | 值 | 说明 |
|---|---|---|
| 设备型号 | Kindle Oasis 2 (KOA2) | 序列号前几位识别 |
| 固件版本 | 5.13.6 | 从 version.txt 读取 |
| 越狱包哈希 | SHA256: a1b2c3... | 下载后校验 |
| 更新包文件名 | Update_abc123.bin | 必须大写开头 |
| 越狱标志文件 | /mnt/us/jailbreak/ | 验证越狱成功 |
| KUAL 版本 | 2.7 | 从官方仓库下载 |
| KOReader 版本 | 2024.03 | 匹配固件 5.13.6 |
这些参数我让 Agent 自动记录到一个日志文件里,每次操作后更新。这样如果中途出错,可以快速定位是哪一步的问题。
4. 常见问题与排查技巧实录
4.1 更新包不识别:文件名、路径、格式三查
这是最常见的问题。Kindle 不识别更新包,通常有三个原因:
- 文件名不对:必须是
Update_开头,后面跟一串字符,最后是.bin。大小写敏感。 - 路径不对:更新包必须放在根目录,不能放在子文件夹里。
- 文件格式不对:有些教程提供的文件其实是 ZIP 压缩包,只是改了后缀名。Agent 需要检查文件头,确认是不是真正的 BIN 文件。
排查方法:Agent 可以读取文件的前几个字节,BIN 文件通常以特定魔数开头。如果发现是 ZIP 文件头(PK),说明文件没解压。
4.2 进度条卡住:不要拔线,先等 10 分钟
触发更新后,进度条可能会卡在某个位置不动。这时候不要拔线,不要断电。Kindle 的更新流程有时候会卡住,但后台还在执行。等 10 分钟,如果还没动静,再考虑强制重启。
强制重启的方法是:长按电源键 40 秒,直到屏幕闪烁。然后重新连接电脑,检查越狱标志文件是否出现。
4.3 越狱后设备变慢:正常现象,但可以优化
越狱后,设备可能会变慢,因为后台多了几个服务。Agent 可以帮忙禁用一些不必要的服务,比如:
- 关闭自动更新:防止系统自动升级,覆盖越狱。
- 禁用索引服务:如果不需要搜索功能,可以关掉,省电。
- 清理缓存:定期删除
/var/local/cc.db等缓存文件。
提示:关闭自动更新后,设备不会再收到官方推送,但也不会被强制升级。这是越狱后的常规操作。
4.4 常见问题速查表
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 更新包不识别 | 文件名/路径/格式错误 | 检查文件名大小写、放在根目录、确认是 BIN 文件 |
| 进度条卡住 | 系统卡死或脚本执行慢 | 等 10 分钟,不行就长按电源键 40 秒重启 |
| 越狱标志不出现 | 脚本未执行 | 检查更新包是否匹配固件版本,重新触发 |
| KUAL 启动失败 | 菜单 JSON 格式错误 | 用 JSON 校验工具检查配置文件 |
| KOReader 打不开 | 版本不匹配 | 下载对应固件版本的 KOReader |
| 设备变慢 | 后台服务多 | 关闭自动更新、禁用索引、清理缓存 |
4.5 独家避坑技巧
- 备份原系统:越狱前,用
dd命令把整个系统分区备份到电脑上。虽然 Kindle 的系统分区不大,但备份后心里踏实。Agent 可以执行dd if=/dev/mmcblk0 of=backup.img,但需要 root 权限。 - 用有线连接,别用无线:越狱过程中,USB 连接比 Wi-Fi 稳定。Wi-Fi 可能会断,导致文件传输不完整。
- 不要同时装太多插件:越狱后先装 KUAL,确认能用,再装其他。一次性装太多,出问题不好排查。
- 记录每一步:Agent 的日志功能很重要。每次操作后,记录时间、操作内容、结果。出问题时,翻日志比回忆靠谱。
5. AI Agent 做真实硬件操作的边界与思考
5.1 Agent 擅长什么,不擅长什么
这次实验下来,我对 AI Agent 的能力边界有了更清晰的认识。
Agent 擅长的:
- 信息检索:快速找到匹配的教程和文件。
- 版本匹配:对比固件版本、文件哈希、教程适用范围。
- 重复操作:复制文件、执行命令、记录日志。
- 错误排查:根据报错信息,提出可能的排查方向。
Agent 不擅长的:
- 物理操作:插拔数据线、长按电源键、观察屏幕变化。
- 风险判断:判断某个操作是否会导致设备变砖。
- 模糊决策:当教程说法不一致时,判断哪个更可信。
- 应急处理:设备卡死时,决定是等还是强制重启。
所以,Agent 适合做“执行者”和“资料员”,不适合做“决策者”。关键节点必须由人来确认。
5.2 监督机制的设计:什么时候必须人工介入
我给自己定了几个“必须人工确认”的节点:
- 下载文件后:确认哈希值、文件大小、文件内容。
- 执行写入操作前:确认目标分区、写入内容、备份是否完成。
- 设备重启后:确认屏幕显示、进度条状态、是否有异常提示。
- 安装第三方工具前:确认工具来源、版本匹配、是否有已知问题。
这些节点之外,Agent 可以自主操作。这样既保证了效率,又控制了风险。
5.3 这次实验的收获
最大的收获不是越狱成功本身,而是验证了一种“人机协作”的模式。以前遇到这种硬件操作任务,要么自己啃教程,要么找人帮忙。现在有了 Agent,可以把资料检索和重复操作交给它,自己专注于决策和风险控制。
另一个收获是:Agent 的日志功能非常有用。整个越狱过程,Agent 记录了 200 多条操作日志,包括每条命令的输入输出、每个文件的哈希值、每次重启的时间。后来我复盘时,直接看日志就能还原整个过程,比回忆靠谱多了。
实操心得:如果你也想用 Agent 做类似任务,建议先让它写一个“操作计划”,列出所有步骤和关键节点。你审核计划后,再让它执行。这样比边做边想要安全得多。
5.4 后续可以扩展的方向
这台 Oasis 2 越狱后,我打算再折腾几件事:
- 装一个 RSS 阅读器:每天自动同步几个技术博客,离线阅读。
- 自定义屏保:用 Agent 批量处理图片,生成适合电子墨水屏的灰度图。
- 跑一个简单的 Python 脚本:定时抓取天气信息,显示在屏幕上。
这些任务都可以用类似的“Agent 主导 + 人工监督”模式来做。Agent 负责写脚本、处理文件、执行命令,我负责确认效果和调整需求。
最后再分享一个小技巧:如果你也想用 Agent 做硬件操作,先从“只读”任务开始,比如读取设备信息、备份文件。等熟悉了 Agent 的行为模式,再让它做写入操作。这样即使出错,也不会造成不可逆的损失。