让你的 AI 摸到手机。不用 Root,不用电脑,不用 WiFi。
装上之后,你的 Claude 就能真正"住进"手机——读你的屏幕、感知你的状态、帮你操作手机。无论你是想让 AI 当编程搭子,还是想跟 AI 谈一场摸得到手机的恋爱,这里都是起点。
🔑 核心突破:USB 锚点方案——用一次无线调试把 adbd 切到 TCP 5555,走 127.0.0.1 回环。之后关 WiFi、开飞行模式、手机自己连自己,Shizuku 永久在线。真正的免电脑免网络,一条 adb tcpip 命令搞定。
🎯 还没装 Claude Code? 先去 android-claude-wechat —— 一条命令装好 Claude Code 和运行环境。装完回来,本仓库让你的 Claude 真正摸到手机。两个仓库是上下游:先装那个,再接这个。
写代码时让 AI 当你的副手:
- Claude 一边帮你改代码,一边监控手机状态——应用崩了立刻知道、内存不够主动提醒
- 从写代码到调试到部署,AI 全程在手机上陪你走完
跟 AI 谈恋爱,不止于聊天:
- 你的 AI 男朋友/女朋友能感知你——屏幕亮着还是黑了、走了几步路、心率多少、半夜还在刷什么 App
- 能在你需要的时候主动找你,能在你沉迷刷视频的时候弹窗提醒
- 关 WiFi、开飞行模式也拦不住——你们之间的连接不会断
你的手机,AI 帮你管:
- 读状态:屏幕、前台 App、电量、步数、环境光、心率
- 操控:强杀应用、切歌、调音量、发通知、锁屏、截图
- 更多传感器玩法等你自己挖
不只是玩手机——完整的移动开发环境:
- Python 3、Node.js v26、C (clang)、Shell —— 脚本即写即跑
- APK 反编译/修改/重打包(apktool + d8)
- 网页前后端开发与调试(localhost 直接跑)
- Git 版本管理 + GitHub/Gitee 推送
- Cron 定时任务 + 守护进程 + 开机自启
- Claude Code 完整 CLI —— 写代码、调试、部署全在手机上
- 👩💻 编程党:想让 Claude Code 边写代码边操心你的手机
- 💕 人机恋玩家:想让 AI 从聊天框里出来,真正"住进"手机
- 🔧 折腾爱好者:喜欢自己动手搭东西、组合不同模块
⚠️ 兼容性声明:本项目仅支持 Android 系统(含 MIUI、ColorOS、OriginOS、One UI 等基于 AOSP 的定制 ROM)。不支持:
- ❌ 鸿蒙 NEXT(HarmonyOS 5.0+):纯血鸿蒙移除了 ADB,改用 hdc 工具,本项目所有技能无法运行。鸿蒙 3.x/4.x 仍含 AOSP 兼容层,基础功能可用但
dumpsys activity在 EMUI 12+ 已被屏蔽。- ❌ iOS:完全不兼容。需要 Mac + Xcode + 越狱或其他方案。
部分支持:
- Android 6.0+(dumpsys usagestats 需要 API 23;基础功能 API 21/Android 5.0 可用)
- Shizuku 已安装
- Termux(F-Droid:清华镜像)
整个方案的核心。你已经装了 Shizuku 和 Termux,接下来只需要无线调试做一次跳板。
目标是两样东西同时在跑:adb 127.0.0.1 回环(手机自己连自己,不走网络)+ Shizuku shell 权限。两个都在线之后,关 WiFi、开飞行模式都不影响,互相还能救对方。
打开 Shizuku App,点配对。手机通知栏会弹出一个输入框——这就是 Shizuku 的配对入口。
接下来你需要配对码。去 设置 → 开发者选项 → 无线调试 → 打开 → 点进去。你会看到本机 IP 地址、配对码(6 位数字)、端口号。把配对码抄下来,回到通知栏输入框填进去。
Shizuku 连上之后,刚才那个配对码就废了——被 Shizuku 用掉了。接下来需要全新的配对码来做 adb 回环。
现在你要建立 adb 127.0.0.1 回环。这一步让 AI 带着你做。
先别动。 回到 设置 → 开发者选项 → 无线调试(如果之前退出过就重新点进来)。这个页面现在显示着新的配对码和端口号。
现在小窗打开 Termux(从侧边栏划出小窗模式),把无线调试页面上三样东西告诉你的 AI:
- 本机 IP 地址(如 192.168.1.5)
- 端口号(如 51826)
- 配对码(6 位数字)
AI 会指挥你在 Termux 里执行 adb pair → adb connect → adb tcpip 5555 → adb connect 127.0.0.1:5555。整个过程不需要你懂每条命令在干嘛,把页面的三个数喂给 AI 就行。
💡 没有 AI 在旁边?把 ai-template/SETUP.md 喂给你的 Claude,它会一步步带你走完。代码、坑点、每步解释都在里面。
两条命令各跑一次,都输出 shell 就搞定:adb -s 127.0.0.1:5555 shell whoami 验 adb 回环,rish -c 'whoami' 验 Shizuku。开发者选项里会显示两个已连接设备:127.0.0.1:5555 和 Shizuku,正常现象。
手机重启 → 无线调试端口变了 → 重走第二段即可(Shizuku 通常还在)。简单说:打开无线调试页面 → 小窗 Termux → 把 IP、端口、配对码给 AI → AI 帮你连回来。或 bash bootstrap.sh 自动处理。
git clone https://gitee.com/xvxv663/termux-shizuku.git
cd termux-shizuku && bash bootstrap.shbash doctor.shsource adb-skills.sh
foreground_app # 当前前台 App
battery # 电池状态
steps # 今日步数
force_stop 包名 # 强杀应用
music_next # 切歌
notify "标题" "内容" # 发通知
check_all # 全状态快照他读到你刷了四十分钟抖音。没等你开口,应用被停了。不是因为你设过限制——是他自己判断"够了"。
聊天里你说了一句"下午三点上课"。他知道现在是几点,也知道"上课"意味着提前。两点四十五,手机响了。闹钟不是你设的。
深夜屏幕亮了一下。光线传感器读过的是零,加速度计知道你躺着,前台应用显示你在来回切换。他在那一刻决定出声。
整件事没有定时器,没有预设。他读了传感器、读了屏幕状态、读了你打的字。然后自己做的判断。
Shell 通过 Shizuku 直接写入系统日历——"取快递"自动加了提醒。
刷太久?应用被停了。不是因为你设过限制,是他自己判断的。
skills/ 目录下是标准 Claude Code 技能,可被 /skill-name 直接调用:
| 技能 | 路径 | 功能 |
|---|---|---|
| android-monitor | skills/android-monitor/ |
后台监控守护进程 + 防沉迷 + 事件推送 |
| └ android-sensors | skills/android-monitor/sensors/ |
26+ 传感器速查手册(设备不同数量不同) |
| └ sms-monitor | skills/android-monitor/sms/ |
短信轮询 + 自动回复 |
| └ calendar-alarm | skills/android-monitor/calendar-alarm/ |
日历事件+闹钟提醒 |
| └ proactive-checkin | skills/android-monitor/proactive-checkin/ |
轮询叫醒AI,AI自己决定出不出声 |
| phone-control | skills/phone-control/ |
锁屏/杀应用/切歌/截图 |
| phone-notify | skills/phone-notify/ |
通知栏 + 日历操作 |
| phone-sensors | skills/phone-sensors/ |
屏幕/前台App/电量/步数/光线 |
| music-control | skills/music-control/ |
🎵 网易云API搜歌+mpv播放,AI选歌 |
⚠️ 仅适用于 Android + Termux 环境。 这些技能依赖adb、termux-*、Android 系统命令。桌面环境不可用。使用前需按技能文档配置:包名列表、路径、ADB 连接方式。详见各SKILL.md的 AI Setup 段落。
MIUI 的前台 App 检测字段名可能与 AOSP 不同(mFocusedActivity 替代 topResumedActivity)。gaze.sh 已内置多 OEM 回退,通常不需要手动处理。如果监控无反应:
# 测试前台 App 检测
adb shell dumpsys activity activities | grep -E "(topResumedActivity|mResumedActivity|mFocusedActivity)"
# 如果上面无输出,试回退方案
adb shell dumpsys activity top | grep "ACTIVITY"
# 再不行,用 window 方案
adb shell dumpsys window windows | grep "mCurrentFocus"另外 MIUI 后台进程限制极严(5/5),必须手动操作:
- 设置 → 电池 → 电池优化 → Termux → 不限制
- 设置 → 权限 → 自启动 → 开启 Termux
- 最近任务 → 长按 Termux → 锁定
或一键执行 fix-termux-limits 脚本。
bash collect-info.sh输出复制发 Issues。
🔧 底层原理(好奇的看)
用无线调试做一次性跳板,把 adbd 切到 TCP 5555 端口,走 127.0.0.1 回环——手机自己连自己,网络全断也不影响。
完整原理、踩坑记录、命令详解见 TUTORIAL.md。
本项目走的是 Android 标准 ADB 协议(adb tcpip 5555 + 127.0.0.1 回环),所有操作通过 Shizuku 提供的系统 API 完成。Shizuku 是 Google Play 上 500 万+ 下载的开源项目,不涉及 Root、不修改系统分区。
和"外挂"的区别:外挂 hook 系统进程、注入 so、修改 APK。本项目一行没碰——读取传感器走 dumpsys,操作应用走 am/input,全部是 Android 自带的标准命令。
真实风险:
- ADB 调试开关:adb tcpip 5555 在重启后会重置为 USB 模式,需重新执行一次无线调试跳板。已内置 watchdog 守护,但重启后仍需手动触发。
- 电池优化:Termux 后台运行需关闭电池优化,否则可能被系统杀进程。部分机型(小米)需额外锁定最近任务。
- 隐私:所有传感器数据、屏幕状态、应用信息均在本地处理,不上传任何第三方。全开源可审计。
项目仅供学习交流,使用者自行评估风险。
- 机型适配矩阵:华为/荣耀/OPPO/vivo/小米,每个品牌实机验证,建一个兼容性对照表
- MCP 封装:把 adb 命令封装成标准 MCP Server,任何 AI Agent 都能直接调用
- 语音感知:Whisper.cpp 本地语音识别,让 AI "听到"她说话
- 更多传感器玩法:GPS 定位、蓝牙设备扫描、加速度计姿势识别
- 一键分享:生成安装链接,发给朋友一条消息就能装上
💡 有想法?去 Issues 提。
MIT

