这篇文章把 AI Passport 官方的“从想法到玩法”路径整理成一套可执行流程:先保留出厂玩法并确认设备能正常连接,再定义一个足够小的需求,让 AI Agent 在完整项目中完成开发和构建,最后用官方 Web Flasher 安装到测试设备上。
自定义玩法不等于官方兼容性验证。真正安装前,请保留可以恢复的官方玩法,并把构建通过、设备安装成功和真实使用通过分别记录。

先认识 AI Passport:从出厂身份卡开始
AI Passport 的官方定位不是只能运行一个固定程序的电子摆件,而是一台可以佩戴、体验玩法并继续创造内容的开放式设备。官网给出的三条使用路径可以概括为:
- Wear:出厂即有身份卡玩法,可以同步名称、头像、简介和全屏图片;
- Play:从官方玩法社区选择小游戏、随身工具和互动体验,并通过浏览器安装;
- Create:使用 Codex、Claude Code、TRAE 或其他 AI 编程工具,创造自己的玩法。
第一次拿到设备时,不建议马上刷入自定义固件。先按官方首次使用指南 完成开机、按键和充电检查:
- 左侧是电源键,按住约 0.5 秒开机,长按约 2 秒关机;
- 右侧是上、下、确定三个功能键;
- 一段时间无操作后屏幕会休眠,按任意功能键唤醒;
- 手机打开蓝牙后,可以通过官方微信小程序或 App 连接设备;
- 名称、头像、简介和全屏图片通过本地蓝牙同步;
- 充电时以绿色指示灯判断状态,屏幕界面不显示充电进度。
出厂身份卡里还内置了一款小游戏。先用它确认屏幕、按键和设备状态正常,再进入玩法安装或开发阶段,排查问题会简单很多。
自定义玩法前,先用官方玩法验证连接
AI Passport 的官方玩法社区位于玩法库 。在做自己的项目之前,建议先安装一款已经发布的玩法。这一步的目的不是体验更多内容,而是建立一个可靠基线:
- 使用支持数据传输的 USB 数据线连接设备;
- 打开最新版本的 Chrome 或 Edge;
- 从玩法库进入一个玩法详情页;
- 点击“在线安装玩法”;
- 在浏览器弹窗中选择对应串口并授权;
- 等待写入和校验完成,再重启设备确认玩法能运行。
如果官方玩法都无法安装,先检查数据线、USB 端口、浏览器权限和设备状态,不要直接修改应用代码或怀疑 Agent。官方指南明确说明,网页只能访问用户主动授权的串口。
安装玩法会覆盖设备当前的全部内容。刷写前确认当前身份卡或其他玩法已经不再需要;如果设备里有重要配置,先记录或备份恢复方案。
把“做个小游戏”改成一份可验收的需求
AI Agent 最容易处理的不是一句“做得有趣一点”,而是一个有边界、有输入、有结果的硬件任务。官方的 AI Agent 指南建议从一个真实场景开始,并明确场景、目标和第一版范围。
可以先写这样一份需求单:
项目:AI Passport 离线习惯打卡器
场景:用户每天拿起设备,快速记录一次习惯完成。
第一版目标:只实现计数、查看和清零,不加入联网、录音或复杂动画。
启动页面:显示今日次数和当前操作提示。
按键:
- 上键短按:次数加 1;
- 下键短按:次数减 1,最低为 0;
- 确定键:进入清零确认或返回主页面。
反馈:每次计数变化都要有清晰的屏幕反馈。
存储:计数变化后保存,重启设备可以恢复;没有变化时不要重复写入。
完成标准:构建成功,生成可安装玩法文件,并在测试设备上完成按键、显示和重启恢复验收。
需求中至少要写清楚五件事:谁使用、什么时候使用、屏幕显示什么、三个按键分别做什么、什么结果算完成。第一版只保留一个核心体验,后面再增加声音、蓝牙、网络或统计页面。

让 AI Agent 在完整项目中工作
官方指南提供了一个简单起点:把 FoloToy/ai-passport 项目交给 AI 编程 Agent,并让它在完整项目中理解已有代码、硬件约束和构建方式。可以使用 Codex、Claude Code、TRAE,或任何能够读取项目、修改文件和运行命令的工具。
不要只把一段孤立代码粘贴给 Agent。更稳妥的提示词是先要求它检查项目,再开始实现:
请在 FoloToy AI Passport 官方项目中开发一个离线习惯打卡玩法。
开始前先读取项目说明、已有示例、BSP、分区表和构建脚本,复述:
1. 当前项目的硬件能力和按键输入方式;
2. 适合本需求的页面和状态机;
3. 需要修改的文件;
4. 构建、测试和输出玩法文件的命令;
5. 可能影响设备身份数据或恢复流程的风险。
实现要求:
- 复用项目已有的板级支持和界面能力,不猜测 GPIO;
- 首版只实现计数、清零确认、屏幕反馈和持久化;
- 不加入网络、录音、蓝牙或无关动画;
- 确保按键回调不阻塞,存储只在数据真正变化时更新;
- 不修改受保护的设备身份分区,不提交任何密钥。
完成后运行项目规定的构建和测试命令,并报告:
- 修改了哪些文件;
- 构建和测试是否通过;
- 实际生成的玩法文件路径和大小;
- 哪些项目仍然需要在真实 AI Passport 上确认。
如果使用仓库中的 ESP-IDF 开发流程,还要让 Agent 遵守项目的版本和验证要求。当前仓库资料以 ESP-IDF 5.5.3 为基线;固件开发应在 feature/* 分支进行,不能直接把新玩法写在 main 上。
板级事实应从仓库 BSP 和硬件指南读取,而不是套用普通 ESP32-C3 开发板经验。当前资料确认的关键边界包括:ESP32-C3、8 MB Flash、无 PSRAM、240 × 320 竖屏、上/下/确定按键,以及 USB Serial/JTAG 连接方式。UART、背光、按键 ADC 和受保护分区之间存在板级约束,Agent 必须先读项目文件再决定实现方式。
构建:确认真的生成了可安装文件
官方 AI Agent 指南把“源代码生成”与“构建成功”分开。Agent 报告“代码写好了”并不代表浏览器已经有可安装文件。交付前至少确认:
- 构建命令以 0 状态码结束;
- 测试结果没有被错误日志掩盖;
- 生成文件确实存在,大小合理;
- 文件来自这次构建,不是旧目录中的残留;
- 版本号、源码状态和玩法文件能够对应起来。
如果直接使用官方仓库的验证入口,优先运行:
./tools/validate.sh --static
./tools/validate.sh --firmware
固件验证脚本会检查构建和 Flash 布局,并生成:
build/FoloToy-AI-Passport-full.bin
这个文件可作为后续安装流程的输入,但仍需结合项目当前说明确认 Web Flasher 接受的文件格式。构建通过只能说明自动化检查通过,不能代替设备上的屏幕、按键、声音和重启恢复测试。

使用 Web Flasher 安装自定义玩法
官方的玩法安装工具 适合把本地构建出的玩法文件写入 AI Passport。官方“更换官方小游戏”指南和“用 AI Agent 创造专属玩法”指南给出的流程可以合并为以下步骤。
1. 准备浏览器和设备
使用最新版本的 Chrome 或 Edge 打开 Web Flasher。准备一根支持数据传输的 USB 线,连接 AI Passport,并让设备保持可用状态。
2. 选择本地文件
在刷机工具中选择 Agent 实际生成的玩法文件。不要直接选择项目源码、旧版本文件或不确定来源的二进制文件。官方说明中,自定义玩法文件完全由当前浏览器读取,不上传到服务器。
3. 授权串口
点击连接后,在浏览器弹窗中选择对应串口。网页只能访问主动授权的端口;如果没有看到设备,依次检查 USB 线、端口、设备是否开机,以及浏览器是否支持 Web Serial。
4. 核对后开始安装
安装前核对玩法名称、版本和文件来源。确认无误后开始写入。安装过程中:
- 不要拔掉 USB 线;
- 不要关闭 Web Flasher 页面;
- 不要让设备进入不稳定的供电状态;
- 第一次安装优先使用测试设备;
- 保留可以恢复的官方玩法。
写入完成后等待校验,再重启设备。不要在进度条尚未结束时根据屏幕暂时无变化判断失败。
Web Flasher 页面有“清除设备数据”之类的高风险选项时,只在明确需要时启用。清除数据会删除当前配置和用户数据,普通玩法安装不应随意勾选。

真机验收:按预期逐项记录
刷写成功后,不要只看设备能否亮屏。按需求单逐项记录预期和实际结果。
启动与显示
- 是否能稳定进入主页面;
- 文字和数字是否在竖屏范围内完整显示;
- 页面切换后是否有残留控件;
- 是否出现持续重启、卡死、assert 或 watchdog。
按键与状态
- 上键每次短按是否只增加一次;
- 下键在 0 时是否保持为 0;
- 确定键在每个页面是否都有明确结果;
- 连续快速按键是否会重复触发或跳过确认;
- 休眠唤醒后按键和页面状态是否仍然正常。
存储与恢复
- 改变计数后重启,数据是否按设计恢复;
- 没有变化时是否避免重复写入;
- 清零后重启,结果是否仍为 0;
- 重新安装其他玩法前,是否已经记录当前版本和恢复方式。
真实场景
离开电脑再使用一次,检查单手操作是否顺畅、文字是否清楚、反馈是否及时、电量是否满足场景。官方指南建议把最影响核心流程的问题优先交给 Agent 修复,每轮只改变少量可验证内容。
建议保留这样的版本记录:
v0.1:完成屏幕和三键交互
v0.2:加入持久化,验证重启恢复
v0.3:加入清零确认,验证边界状态
v0.4:再评估音效、联网或其他外设
出问题时,先判断属于哪一层
| 现象 | 优先检查 | 不要先做的事 |
|---|---|---|
| 浏览器看不到设备 | USB 数据线、端口、设备状态、串口权限 | 不要先改按键 GPIO |
| 串口权限被拒绝 | 浏览器授权、系统设备权限和当前端口 | 不要反复更换固件 |
| 安装中断 | 数据线、供电、页面是否被关闭 | 不要在未确认状态时重复写入 |
构建找不到 idf.py | ESP-IDF 环境是否为 5.5.3 | 不要用另一版本工具链硬顶 |
| 编译通过但按键异常 | BSP 按键实现、状态机和真机复现 | 不要同时改字体、动画和按键阈值 |
| 安装后无法进入玩法 | 文件来源、版本、日志和恢复固件 | 不要立即清除设备数据 |
如果需要通过命令行观察设备,先使用项目文档规定的实际端口;不要把某个机器上的 /dev/ttyACM0 当作所有设备都固定相同。已有设备身份的刷写还要保护 cardid 分区,不能为了合并镜像方便而覆盖它。
完成标准:三种“成功”要分开
一个完整的自定义玩法交付,至少要有三条独立结论:
Build:构建和自动检查是否通过
Install:Web Flasher 是否完成写入和校验
Device:真实设备上的显示、按键、存储和场景验收是否通过
只有 Build 通过,不能写成“玩法已经完成”;只有 Install 成功,也不能推断按键和数据恢复没有问题。每个可用版本都应保存源码状态、玩法文件、安装时间和验收记录。
官方入口
- AI Passport 官网
- 教程中心
- 第一次使用 AI Passport
- 用 AI Agent 创造专属玩法
- 创造自己的玩法
- 更换官方小游戏
- AI Passport Web Flasher
- 官方玩法库
- FoloToy AI Passport GitHub 仓库
本文根据上述官方页面及官方仓库资料整理,核对时间为 2026-09-12。设备固件、玩法文件格式、浏览器行为和网站页面可能更新;遇到差异时,以设备当前页面和官方文档为准。