
这是什么
一个仓库里装着六个由 AI 生成的项目,以及每个项目由哪个模型所建的记录:一个原生 Android agent 运行框架,用你自己已登录的账号操作你自己的手机;一个按 hunk 逐块审阅 agent 改动的 VS Code 扩展;以及四个小型 Android 应用——一个能把亮度压到硬件下限以下的调光层、一个滚动距离统计器、一个吉他调音器,和一个用 Flutter 重写的离线力量训练记录应用。README 把这批东西称为「当前大模型能力的个人标尺」,而它的免责声明直白得少见:代码大量由 AI 生成、只经过非常有限的审查、只用于快速验证想法、不适合生产环境,风险自负。
谁做的GitHub 账号 steveimm,99 个公开仓库,账号建于 2018 年;主页填了个人站 steveimm.id,公司、所在地和简介都留空。这里 103 次提交全出自他手,用了个人 Gmail 和一个 lunit.io 域的地址。仓库从 2026 年 1 月一直跑到今天,还在动。
制作过程
9 个阶段- 01
一个标尺,也是一堆应用
Vibe Projects 于 2026-01-25 以一次 initial commit 开场,同一天还打了一个带 APK 的 1.0.0 release。README 用两句话说明它是什么:一个用 AI 实现随机想法的地方,以及——更有意思的那句——「my personal benchmarks of the current capability of LLM」。它的项目表里有一列是本档案在别处见不到的:每一项由哪个模型所建。extradim 和 scrollmuch 记在 Claude Opus 4.5 与 4.8 名下;cherry-diff 是 Opus 4.8、Fable 5 和 GPT 5.6 Sol;Fretmate 是 GPT-6。这张表落后于仓库本身:它列了四个项目,而目录树里有六个,缺的恰好是最大和最新的两个——PocketPilot(1,195 个文件里占 913 个、37 MB 里占 19.2 MB),以及表里完全没有一行的 fitnotes++。其余数字都很小,也不遮掩:0 星、0 fork、0 watcher,一位作者在八个月里提交 103 次,而 2 月、6 月、7 月一次提交都没有。
- 02
模型的名字写在提交尾注里
Git 是查「谁干的活」的好地方,而这里它写下的是模型。19 次提交带共同作者尾注,每一条都是一个模型:Claude Fable 5 出现八次,Claude Opus 4.8 (1M context) 十一次。仓库还把 agent 配置当文件存着,而且是按项目而不是全局:PocketPilot 有一个 2,880 字节的
CLAUDE.md,AGENTS.md是指向它的九字节软链接——和 DeepSeek Harness 的布置正好相反——外加七个.claude/skills/,覆盖动作调试、autotune 循环、构建修复、prompt 调优和视觉 UX 调试,还有一个 architect 子 agent。cherry-diff 和 scrollmuch 各自带着自己的AGENTS.md,分别 12.6 KB 和 8.8 KB。六个项目里有三个把自己建造时所用的指令一起发布了出来,这是这个仓库里最接近「方法」的东西。 - 03
PocketPilot 占了这个仓库的 95%
最大的那个项目是一个开源的 Android agent 运行框架,而 README 直接给出了它相对替代方案的理由:多数 phone-use agent 要么需要一台用 ADB 连着的电脑来驱动手机,要么跑在一个没有登录你账号的云端虚拟手机里。PocketPilot 跑在你手上这台手机上,对着你已经登录的应用,不需要电脑,也不需要重新登录。架构是一个 ReAct 循环,没有外部编排器。基础工具集刻意做得很小——
mobile_action负责点、输入和滑动,open_app与system_button负责导航,scratchpad与一个待办清单工具当作会话内工作记忆——子 agent 走delegate_task,长期记忆以 markdown 形式按用户/设备/单应用三层存放(标注为初步)。有三个工具是逃离「点与滑」的出口:shell跑 Android toybox 命令,一次一条,不支持管道与重定向;termux_shell在设备上提供完整 Linux 工具链;browser_script通过 DevTools 协议对真实 Chrome 跑 JavaScript,循环与重试都在一次工具调用内部完成。感知默认走无障碍树,可选截图模式;通过 Shizuku 开一个虚拟显示后,agent 可以在旁边那块屏上干活,前台仍然归你。 - 04
两种技能,第二种才是有意思的那个
PocketPilot 的技能分成两类。agent-skills 遵循 agentskills.io 格式、按需渐进加载,目前随应用打包,README 说发现机制仍在开发中。app-skills 是作者自己的设计:每个包一份
SKILL.md,教 agent 怎么操作某一个具体应用,每当那个应用切到前台就自动加载。树里装了十七份——Chrome、Photos、Calendar、Files、Settings、VLC、OsmAnd、Markor、Tasks、OpenTracks、Retro Music、Broccoli、Audio Recorder、Expense、Simple Calendar、Simple Gallery 等。想法很朴素,后果很实在:通用 agent 保持通用,而关于某个应用的知识住在它旁边的一个文件里,而不是塞进系统提示词。 - 05
一个会去改 agent 自己的评测回路
仓库里有一个
eval/目录,README 说明了它的用途:拿一套 AndroidWorld 任务去测这个 agent,让一个 autotune 装置分析失败,由它提出 prompt、工具和技能层面的修改,然后再跑一遍。这条回路的零件都以目录形式在场——eval/tests、eval/results、eval/analysis、eval/tools,外加一个带回放模式和自带测试的inspection_tool/——而.claude/skills/里有一个autotune技能挨着一个autotune-loop,两者都挂着参考材料和脚本。同一份 README 还写明了安全姿态,对一个业余项目来说绝对得少见:银行类、验证器类和加密货币钱包类应用被硬性拦截,没有任何设置可以覆盖;不熟悉的应用按应用逐个询问(始终允许/仅本次会话/拒绝);标了FLAG_SECURE的界面在设计上对感知不可见;并且没有遥测、没有第三方分析,轨迹留在设备本地。 - 06
另外五个
cherry-diff 是唯一一个不是 Android 应用的:一个 VS Code 扩展,按下开始后为受跟踪的文件拍一份基线快照,此后每一次编辑都变成一份按 hunk 逐块接受或拒绝的审阅。它在构造上就是 agent 无关的——监听编辑器与文件系统事件,所以没有任何东西需要与它集成——而且不需要 Git,因为拒绝是从它自己的基线快照恢复的。有两个细节看得出是真用过:每十秒轮询一次,以捕获 VS Code 监听器漏掉的新建与删除,包括被
files.watcherExclude屏蔽的路径;拒绝是逐字节精确的,所以二进制和非 UTF-8 文件能原样往返,UTF-8 BOM 也不会丢。四个 Android 应用都小而具体。extradim 在屏幕之上画一层软件调光,让亮度能压到硬件下限以下,跑在前台服务里,配一个快捷设置磁贴和触摸穿透。fretmate 是给 Android 15 及以上写的吉他调音器与节拍器,33 个测试通过、analyze 干净、格式检查通过——而 README 明说它的 Android 构建从未验证过,因为没装 SDK。fitnotes++ 用 Flutter 重写 FitNotes(一个离线、无账号的力量训练记录应用),依据是一份逆向出来的参考文档,涵盖数据库结构、动作类型、图表指标、Brzycki 单次最大重量公式和 CSV 格式;M0 到 M4 已完成,两个自定义功能尚在计划中,但它们的结构接缝已经预留好了,所以落地时不需要迁移。 - 07
滚动统计器,或者说当 API 说谎时怎么办
scrollmuch 统计你在所有应用里滚了多远,以米为单位,并给出单应用明细。有意思的地方在测量本身。Android 在滚动事件上暴露
scrollDeltaX和scrollDeltaY,而 README 直说:多数应用报的是 0,或者只有一个方向的正负 1,而不是真实像素距离。于是距离按可信度分三层推导:当上报的增量绝对值大于 1 时就采用它;否则把该应用的绝对滚动位置与上一次做差,并且只在滚动器报的是像素级位置、且变化不是瞬移也不是切换了滚动器时才采信;当某个应用完全给不出可用像素信号时,退回每手势约五厘米的固定估算。这是一个小应用,它的核心难题是一个平台 API 并不做它名字所说的事,而答案被写进 README,而不是藏在代码里。 - 08
免责声明说的,和仓库里装的
根 README 不吹任何东西。它说这些项目由 AI 大量生成、作者只对代码做了非常有限的审查、它们只为快速验证想法而存在、不适合生产使用、风险自负。那句话和这个仓库值得并排读,而不必互相消解。根许可是 MIT,PocketPilot 是 Apache 2.0。而表里没提的 PocketPilot——带着一个含隐私政策和商店截图的 Play Store 发布目录、一份 21.8 KB 的架构文档、一份状态机文档、一套带结果记录的评测装置、十七份单应用技能文件和一个回放检查工具。这些都不与「审查有限」矛盾:一个仓库完全可以同时是审查有限、打包讲究的。值得留意的只是那句声明针对的是两者中的哪一个。
- 09
不体面的那一半
仓库之外,没有任何人写过它。0 星、0 fork、0 watcher,而它历史上仅有的两次非作者产生的事件,都是 ImgBot 的 pull request——一次在仓库开张当天合入,一次自 2026-08-24 起一直开着,两次都是在报告图片被优化了。唯一的 release 1.0.0(带 APK)在第一天发出,此后没有再发过。有几件事被明确标为未完成:PocketPilot 的长期记忆与技能系统标着「初步」,fitnotes++ 在等两个计划中的里程碑,fretmate 则从未为 Android 构建过。而赋予这个仓库意义的那份模型归属,是自报的:提交尾注是它唯一独立留下的痕迹,而尾注只提到了 README 所列模型中的两个。
相关档案
全部档案 →第 046 号
ORCH
一个把多个编码 agent 同时跑在一个项目上的运行时:你定义一个团队、给它一个目标,一个 CTO agent 把目标拆成任务,其余的按各自绑定的 CLI 接手——Claude、Codex、Cursor、Grok,甚至一个普通 shell——而全部状态都存在文件里,没有数据库。
第 027 号
CCManager
一个终端菜单,同时看着若干个编码 agent——每个占一个 git worktree:它显示谁在忙、谁在等你、谁空着,负责创建与合并这些 worktree,并且能在崩溃之后把整批会话重新拉起来。
第 022 号
goose
一个跑在你自己机器上的通用 AI 智能体,有桌面应用、命令行和 API 三种形态,扩展建立在 Model Context Protocol 之上。