核心判断
Humon 不应被定义成“更强的 Android 监控 MCP”,而应是一个“人类状态感知与建模系统”。
你整理的“全视窗”路线解决的是:
AI 如何看见、理解、操作手机。
Humon 真正要解决的是:
手机里发生的事情,与人的注意力、疲劳、情绪、活动、睡眠、社交状态和生活节律之间,究竟是什么关系?
因此更合适的结构是:
Humon
├── Phone Sense 手机行为与界面感知
├── Body Sense 活动、睡眠、心率等身体数据
├── Environment Sense 位置、时间、网络、环境
├── Self Report 用户主动表达与状态标注
├── State Engine 人类状态推断
└── Hermes Bridge 向 Manas 暴露状态,而非倾倒原始数据你所说的“全视窗”,应当成为 Humon 的 Phone Sense 子系统,而不是 Humon 的全部。
一、对现有生态总结的校准
Codex 核验(2026-10-10):Android 官方读取文档 区分前台读取与需要额外用户权限的后台读取;还要检查设备/SDK 支持和每类数据权限。Health Connect 主要整合已有数据,不代表普通手机能自行测量心率、睡眠或皮肤温度,也不保证持续后台采集。2026 年 6 月起设备步数来源采用设备特定 Synthetic Package Name;Android 14 且 SDK Extension 20+ 可提供设备步数。本文人的疲劳、情绪等推断是产品研究假设,未作医学有效性验证。
1. RikkaHub:适合作为 Android AI 外壳,不是监控系统
RikkaHub 当前公开仓库约 6.1k stars,定位仍是多模型 Android LLM 客户端,支持 MCP、类似 ChatGPT 的记忆、Agent 定制,以及基于 proot 的 Linux workspace。公开功能中并没有持续读取其他 App、通知流或人类状态监控能力。(GitHub)
对 Humon 的可借鉴部分:
-
Kotlin + Compose 的成熟 Android 架构
-
Room/DataStore 数据层
-
MCP 客户端与多模型配置
-
本地 workspace
-
Agent 与记忆 UI
-
Android 后台任务管理经验
不建议:
-
直接 Fork RikkaHub 改成 Humon
-
把聊天数据库当作人类状态数据库
-
把 Humon 的感知逻辑耦合进 LLM 客户端
评价:交互壳参考价值高,感知核心参考价值低。
2. Screenpipe:Humon 最值得借鉴的架构,但不能直接移植
Screenpipe 当前已约 20k stars,而不是清单中的 5k。它采用事件驱动采集:应用切换、点击、输入停顿、滚动等事件发生时,才保存截图和无障碍树;无障碍数据不可用时再回退 OCR。它还采集音频、键盘输入和应用切换,使用本地 SQLite/FTS,提供 REST API、MCP 和基于权限策略的 Pipes。(GitHub)
它对 Humon 最重要的启发是:
不要连续录制全部屏幕
而要:
事件触发 → 结构化采集 → 去重 → 关键帧 → 可检索时间线尤其值得继承:
-
Accessibility-first,OCR fallback
-
关键事件触发,而非固定高频截图
-
原始帧、结构化文本、音频转录分层存储
-
App 和窗口黑名单
-
每个 Agent 独立数据权限
-
“当天回顾”“时间分布”“工作状态”等派生任务
-
本地优先、可删除、可导出
但它目前公开支持的是 macOS、Windows 和 Linux桌面端,并非 Android;另外当前许可证是 source-available,商业使用有额外限制,因此适合参考架构,不宜直接复制核心代码。(GitHub)
评价:最佳架构导师,不是 Android 现成底座。
3. Mobile MCP:非常适合“操作手机”,不适合长期监控人
Mobile MCP 已经提供了一套比较成熟的手机 MCP 工具:
-
列设备、应用
-
UI 元素树
-
截图与录屏
-
点击、长按、滑动
-
输入文字
-
启动、停止和安装 App
-
硬件按键
-
崩溃报告
它优先读取 Accessibility Tree,必要时才用截图坐标。真实 Android 手机依赖 ADB、USB 调试和授权。(GitHub)
它可以直接充当 Humon 的:
-
调试工具
-
UI 树格式参考
-
MCP 命名参考
-
主动探索手机 App 的执行器
-
Humon 开发期间的真值验证器
但它不是理想的 Humon 常驻采集层,因为:
-
主要是 PC 通过 ADB 驱动手机
-
偏请求—响应,而不是持续事件流
-
没有基线、状态推断和长期时间线
-
更接近“手机上的 Playwright”
评价:适合复用工具层,不适合担当 Humon 大脑。
4. Mobilerun / Droidrun:适合作为 Agent 执行参考
Mobilerun 通过手机 Portal Runtime 提供 UI 树、截图、输入、手势、App 启动和设备状态,并支持视觉模式、规划模式、轨迹保存和 App Cards。(GitHub)
与 Mobile MCP 相比,它更接近:
Android Portal App
↓
远程 Agent Runtime
↓
自然语言任务执行Humon 可以参考它的:
-
手机端 Portal 常驻服务
-
UI 树与截图统一事件格式
-
轨迹保存
-
App-specific knowledge
-
Agent 调试和回放
但同样,它研究的是完成任务,不是理解人类。
5. Beiwe:比绝大多数 Android MCP 更接近 Humon 本质
Beiwe 的公开定位就是智能手机数字表型研究平台,也就是根据手机传感和行为数据,研究人的生活、活动和状态。(GitHub)
它代表了另一条技术传统:
Mobile MCP / Droidrun
关注:手机当前页面上有什么,下一步点哪里
Beiwe / 数字表型
关注:这个人最近睡眠、活动、社交和生活节律发生了什么变化Humon 应当融合两条路线:
Screenpipe 的数字生活记录 + Beiwe 的人类状态建模 + Mobile MCP 的手机操作能力。
二、你原来的 T1→T4 权限梯度需要修正
T1 “零权限”并不能稳定获取当前 App
Android 的 UsageStatsManager 可以提供应用使用时长、使用事件、屏幕交互和锁屏事件,但需要用户授予特殊的 PACKAGE_USAGE_STATS 使用情况访问权限。它不属于普通运行时弹窗权限,更不能称作真正的零权限。(Android Developers)
更准确的划分是:
P0:普通应用、最低权限
可获得:
-
本 App 自身状态
-
电量、充电、网络
-
时间、时区
-
屏幕方向
-
用户主动录入
-
部分普通硬件传感器
不能稳定获得:
-
当前前台 App
-
其他 App 内容
-
通知内容
-
全局 UI 树
P1:特殊授权
包括:
-
Usage Access
-
Notification Access
-
Activity Recognition
-
Health Connect
-
可选位置权限
这一级其实已经足够构建 Humon 的第一版。
T2:无障碍服务是 Phone Sense 的主力
AccessibilityService 可以接收焦点变化、按钮点击等 UI 状态事件,还可以请求读取活动窗口的节点树,包括窗口、文本、控件类型、坐标和可操作状态。Android 官方也提醒,节点树可能发生变化或包含过期信息,因此不能把一次 UI dump 当作绝对真值。(Android Developers)
它适合获取:
-
当前 App 与窗口
-
UI 树
-
页面文本
-
点击、滚动、焦点和文本变化
-
页面切换路径
-
交互节奏
-
可选的自动点击与手势
但 Humon 不应逐事件全部上传,而应在手机端先做:
原始 AccessibilityEvent
↓
500–1000ms 合并窗口
↓
UI 树哈希去重
↓
语义差异提取
↓
生成 PhoneEpisode例如:
{
"app": "com.xingin.xhs",
"started_at": "01:22:14",
"ended_at": "01:37:51",
"activity": "browsing_feed",
"content_topics": ["AI", "情感"],
"interaction": {
"scrolls": 84,
"clicks": 7,
"typing_seconds": 0
}
}而不是保存 84 次滚动的完整 UI 树。
T3:Shizuku 是高权限桥,不是“准 Root”
Shizuku 让普通 App 通过一个由 ADB 或 Root 启动的服务,以较高权限调用部分系统 API。官方明确说明:ADB 权限本身仍然有限,而且不同 Android 版本和厂商实现可能不同。(GitHub)
无 Root 情况下,通过无线调试启动 Shizuku,Android 11 以上通常每次重启后都要重新启动服务。(Shizuku)
适合 Humon 的功能包括:
-
查询进程和任务栈
-
dumpsys系列状态 -
更完整的包与组件信息
-
部分系统设置
-
ADB shell 命令
-
调试 UIAutomator / screencap
-
开发与故障诊断
不适合把它当作核心依赖,因为:
-
手机重启后可能失效
-
厂商限制差异很大
-
ADB 权限不等于系统权限
-
普通用户部署复杂
因此应设计为:
Humon Core
不依赖 Shizuku
Humon Shizuku Adapter
检测到可用时,增加增强字段T4:Root 只能作为实验扩展
Root 可以提供更多系统状态、文件和日志,但不应成为 Humon 的默认路径。
因为 Humon 的目标不是“突破一切边界”,而是获得稳定、可解释、长期连续的人类状态信号。一个重启后容易失效、不同 ROM 行为不同、系统升级后可能断裂的深度采集路径,反而会损坏长期数据的一致性。
Root 层应只用于:
-
私人研究机
-
验证系统内部数据
-
特定厂商兼容补丁
-
高级日志
-
实验性传感器
三、MediaProjection 不适合作为隐形常驻录屏底座
标准 Android MediaProjection 要求每个录屏会话都获得用户同意。Android 14 以上,一个授权 token 只能用于一次 createVirtualDisplay();锁屏、用户停止、另一个投屏会话启动或进程死亡,也会终止当前会话。(Android Developers)
所以 Humon 不应把“持续录屏”设计成默认能力。
更合理的是:
Accessibility UI tree
↓ 无法理解
Accessibility screenshot
↓ 仍无法理解
用户主动开启 MediaProjection
↓
短时视觉采集截图策略建议:
-
UI 树有足够文本时:不截图
-
页面哈希未变化:不截图
-
FLAG_SECURE或敏感 App:不截图 -
银行、密码管理器、身份验证器:默认永久黑名单
-
图片、视频、游戏等非结构化页面:按关键帧截图
-
原始截图短期保存,提取完语义后自动删除
四、Humon 应使用“感知深度”,而不是单纯“权限深度”
我建议把梯度改成:
| 层级 | 名称 | 回答的问题 |
|---|---|---|
| H0 | Presence | 人是否在使用手机、设备是否在线 |
| H1 | Rhythm | 什么时候用、用了多久、切换多频繁 |
| H2 | Activity | 在走路、静止、乘车、睡眠还是运动 |
| H3 | Semantics | 正在看什么、写什么、处理什么任务 |
| H4 | State | 注意力、疲劳、压力、情绪可能怎样 |
| H5 | Pattern | 相比个人长期基线,最近发生了什么变化 |
这比 T1–T4 更接近 Humon 的目标。
五、Humon 应监控的核心信号
1. 手机行为
-
屏幕亮灭与解锁次数
-
前台 App 与使用时长
-
App 切换频率
-
单次连续使用长度
-
夜间使用
-
通知数量及来源
-
通知到打开 App 的延迟
-
滚动、点击、输入节奏
-
输入后大量删除或反复修改
-
页面内容类别
2. 身体活动
Android Activity Recognition 可以低功耗识别静止、步行、跑步、骑车和乘车等活动,并提供进入/离开某种活动的 transition 事件。Google 也建议优先用 transition API,而不是持续读取容易产生噪声的原始分类。(Google for Developers)
3. 睡眠与健康
Health Connect 在用户授权后可以整合心率、步数、睡眠 session、运动、皮肤温度和其他健康数据,在支持的设备上、额外获准后台读取权限后允许后台读取对应数据。(Android Developers)
Humon 不一定自己采集心率,而应优先:
手表 / 健康 App
↓
Health Connect
↓
Humon这样兼容性远高于逐个适配小米、三星、华为或 Garmin。
4. 主动自报
机器推断永远需要校准。
建议悬浮球或通知提供极短输入:
现在状态:
精力 1–5
情绪 1–5
压力 1–5
正在做什么?自报不是多余数据,而是训练个人状态模型的标签。
六、状态模型不能直接让 LLM“看截图猜心情”
正确的数据管道应是:
Observation 原始观察
↓
Feature 数值特征
↓
Episode 连续事件片段
↓
State Hypothesis 状态假设
↓
Human Confirmation 用户校正
↓
Personal Baseline 个人基线例如:
{
"state": "attention_fragmented",
"confidence": 0.76,
"window": "last_45_minutes",
"evidence": [
"18次App切换",
"7次通知打断",
"最长连续专注仅4分12秒",
"输入任务中断3次"
],
"counter_evidence": [
"当前正在主动查找多个资料来源"
]
}Humon 输出的应该是:
“疑似注意力碎片化,置信度 0.76。”
而不是:
“你现在焦虑。”
尤其不能把行为代理指标直接当作心理诊断。
七、推荐的系统架构
┌──────────────────────────────┐
│ Android: Humon Node │
│ │
│ Usage / Notification │
│ Accessibility / Activity │
│ Health Connect / Device │
│ Optional Shizuku │
└──────────────┬───────────────┘
│ 加密事件流
▼
┌──────────────────────────────┐
│ PC/WSL: Humon Gateway │
│ │
│ 事件接收 / 去重 / 时间线 │
│ 特征计算 / 状态模型 / 策略 │
│ SQLite/Timeseries/Object │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ Humon MCP │
│ Resources / Tools / Events │
└──────────────┬───────────────┘
▼
┌──────────────────────────────┐
│ Manas │
│ 理解、判断、是否干预 │
└──────────────────────────────┘为什么 MCP 服务放在 PC,不放在手机
手机更适合作为传感器节点:
-
后台网络可能被 ROM 杀死
-
MCP stdio 不适合 Android App
-
手机入站连接复杂
-
Hermes 本来就运行在 WSL
-
状态推断和历史检索会消耗更多资源
因此使用手机主动发起的:
HTTPS / WebSocket / gRPC stream把事件推送至 PC。
PC 上的 Humon Gateway 再向 Hermes 提供 MCP。
八、Humon 与现有 Agent/记忆体系的关系
建议明确边界:
Humon
观察人类,生成状态证据
Manas
理解目标、判断是否需要回应或干预
Alaya / gbrain
保存长期规律与已经确认的个人模式
scope-recall
只保存近期有用的状态摘要
Keeper / Anchor
维护 Humon 服务健康,不读取全部私人内容尤其不要把原始截图、完整通知和分钟级传感数据直接塞进 gbrain 或 scope-recall。
正确方式是:
Humon 专用事件库
↓
每日/事件级摘要
↓
经过确认的重要模式
↓
Alaya / gbrain例如可以写入长期记忆的是:
用户通常在凌晨连续切换短视频与聊天 App 时,第二天自报精力显著下降。
不应该写入的是:
01:34:21 打开微信,01:34:25 收到某人的具体消息内容。
九、MCP 不应只是 18 个截图和点击工具
建议分成三类。
Resources
humon://now
humon://timeline/today
humon://state/attention
humon://state/energy
humon://state/sleep
humon://baseline
humon://anomalies读取工具
humon_get_current_state
humon_get_timeline
humon_get_evidence
humon_get_app_usage
humon_get_attention_metrics
humon_get_notification_load
humon_get_activity_summary
humon_get_sleep_summary
humon_get_health_summary
humon_get_current_ui_context
humon_compare_baseline
humon_detect_anomalies用户控制工具
humon_submit_checkin
humon_mark_episode
humon_pause_capture
humon_resume_capture
humon_set_capture_policy
humon_redact_interval
humon_delete_interval
humon_exclude_app
humon_explain_state其中默认给 Manas 的应当主要是读取和解释工具。
删除、策略修改、恢复录制之类的操作,应要求明确授权。
十、最合理的实施顺序
第一阶段:不做全视窗
先实现:
-
屏幕开关与解锁
-
Usage Stats
-
App 使用 session
-
Notification Listener
-
电量、充电、网络
-
Activity Recognition
-
主动状态自报
-
本地事件库
-
Humon Gateway
-
humon_get_current_state -
humon_get_timeline
这一版已经可以得到:
-
作息
-
手机依赖程度
-
注意力碎片化
-
夜间使用
-
通知压力
-
活动与静止节律
第二阶段:无障碍语义层
加入:
-
当前 UI 树
-
页面变化事件
-
关键文本
-
点击、输入、滚动模式
-
App 内页面类别
-
敏感字段过滤
-
事件驱动关键帧
第三阶段:身体状态层
加入:
-
Health Connect
-
心率
-
步数
-
睡眠
-
锻炼
-
可穿戴设备数据
第四阶段:增强权限
加入:
-
Shizuku adapter
-
dumpsys
-
进程和任务状态
-
更完整设备诊断
-
Mobile MCP / Mobilerun 执行桥
第五阶段:视觉与音频
最后才考虑:
-
短时 MediaProjection
-
OCR
-
环境音事件
-
语音活动检测
-
屏幕视觉模型
最终定位
你原来的描述:
全视窗是“AI 能理解手机里正在发生的一切”。
可以保留为 Humon Phone Sense 的愿景。
但 Humon 整体更准确的一句话应该是:
Humon 不是监视手机,而是以手机和可穿戴设备为感官,持续建立对人的状态、行为和生活节律的可解释认识。
在现有项目中:
-
Screenpipe:借鉴时间线、事件驱动和权限治理
-
Mobile MCP / Mobilerun:借鉴 Android UI 与操作接口
-
RikkaHub:借鉴 Android Agent 外壳和 MCP 客户端
-
Beiwe / 数字表型体系:借鉴真正的人类状态建模
-
Shizuku:只作为可选增强层
-
全视窗:作为 Humon 的视觉与手机语义子系统
这条路线比单纯堆到“18+ MCP Tools、UI 树、录屏、ADB、Root”更接近一个真正可长期使用的 Humon。