# Phoneuse Todolist v2 — 2026-06-15 > 由 claude-yi 通读 `phoneuse.md` / `ARCHITECTURE.md` / `TASKS.md` + **真机地面校验**后产出。 > 用途:评审 → 确认后据此向 task-center 看板派发可执行 worker 任务。 --- ## 0. 一句话现状 主干(Python/Termux 栈)**真实可用**,不是 stub;剩余工作的**最大障碍不是技术,而是 `TASKS.md` 已严重过时**——它标"未安装/BLOCKED"的 App 现在大多已装好。所以**第一优先是做一次真机真实性审计,把进度钉死**,再谈后续。 --- ## 1. 系统目标与阶段(回顾) **Goal**:Root 安卓上的 Agentic OS。放弃"截图→VLM→点击",改为 `App Runtime Access → 语义抽取 → Personal Memory Graph → Agent 规划 → 执行`。 Agent 只操作 Knowledge/Memory/Intent/Tools,UI 自动化仅兜底。 **Phase**:1 Event Bus → 2 Data Extraction → 3 Memory Graph → 4 Hermes 接入 → 5 Semantic MCP → 6 Frida → (云端) Collective Knowledge Network。 TASKS.md 拆成 11 个 Sprint。 --- ## 2. 地面校验结果(2026-06-15,实测) **设备**:Pixel 8 Pro / Android 16 / Root(Magisk)正常 / ADB 已授权。 **代码核查(读源码)**: - Python/Termux 栈是真的:`android_mcp.py` 1533 行 / 38 个 MCP 工具全有真实现;`connectors.py`(511)、`memory_graph.py`(458)、`cloud_knowledge.py`、`persona.py`、`mitm_proxy.py`、`frida_bridge.py` 均为实代码。 - "stub 水分"集中在 Kotlin APK 端(实现 B),而架构已选"Hermes 跑 Termux 本机"为基线,APK/gRPC 是低优支线。 **运行时核查(连真机)**: - 服务在跑:`event_server`(uvicorn :8765)、`frida-server`、`mitm_proxy` 均存活;`notification_monitor` 已退场(符合 S1-07 废弃 dumpsys)。 - App 安装态:WeChat ✅ / Telegram ✅ / Alipay ✅ / Gmail ✅ **全部已装**。 - 登录态:WeChat ✅ 已登录(EnMicroMsg.db 在) / Alipay ✅ 有数据库 / Telegram ⚠️ 装了未登录(无 DB) / Gmail ⚠️ 无 Google 账号。 **与 TASKS.md 的冲突(过时点)**: | TASKS.md 旧标记 | 真机实况 | |---|---| | S6-02 Telegram 未安装 | 已安装(待登录) | | S7-05 / S8-03 Alipay 未安装 | 已安装 + 有数据库 | | S8-04 Mail App 未安装 | Gmail 已装(缺账号) | | S4-04 跨App去重 阻塞(无 Telegram) | Telegram 已装,登录后即可推进 | > 结论:`TASKS.md` 的 BLOCKED/未安装标记已不可信,**必须以真机审计为准**。 --- ## 3. Todolist(按"谁能干"分四轨) ### 🅰 真机供给轨 — 人工(worker 干不了) | 编号 | 任务 | 解锁 | 状态 | |---|---|---|---| | A1 | Telegram 登录(已装,需扫码/短信登录) | S6-02, S4-04 | 待你做 | | A2 | Alipay 登录态确认(已有 DB,大概率已登录) | S7-05, S8-03 | 待确认 | | A3 | 设备登 Google 账号 | S5-02, S5-03, S8-05 | 待你做 | > A 轨是装 App/登账号/扫码,本质人工。worker 不做。 ### 🅱 自动开发轨 — worker + adb 真机即可跑(带可验收标准) **B1 全工具真实性审计(地基,最高优先)** - 目标:对 `android_mcp.py` 38 个 MCP 工具逐个连真机实跑,记录"工具 → 实测输出 / 报错",据此重写 `TASKS.md` 的状态标记。 - 验收: 1. 产出 38 行对照表(工具名 | 实跑命令 | 真实返回摘要 | 判定 真可用/降级/失效)。 2. `TASKS.md` 按实测结果更新,贴 git diff。 3. 列出"标 [x] 但实测失效"和"标 BLOCKED 但实测可做"两张清单。 **B2 Realm / LevelDB 读取器补全** - 目标:补 phoneuse.md Layer 3 缺口(当前只有 SQLite + MMKV)。 - 验收:对设备上一个真实使用 Realm/LevelDB 的 App,贴出读出的样本 KV/记录。 **B3 APK Intent broadcast 捕获** - 目标:补 phoneuse.md Layer 2 的 Intent 采集缺口。 - 验收:切 App / 收广播时,event bus 出现 intent 类型事件(贴 get_events 输出)。 **B4 Telegram connector 落地(A1 登录后)** - 目标:Telegram 登录后,实现/打通 `get_telegram_messages` 读真实消息。 - 验收:贴出从真机 Telegram DB 读出的最近 N 条消息。 - 前置:A1。 ### 🅲 逆向攻坚轨 — worker 可试,成功率不保证 | 编号 | 任务 | 备注 | |---|---|---| | C1 | WeChat 朋友圈 SnsMicroMsg.db 加密 key 推导(S2-05) | 独立 key,需逆向 | | C2 | WeChat sendMessage Frida hook(S3-06) | 8.x 混淆;已有 Accessibility 降级,ROI 低 | ### 🅳 长期 / 低优 | 编号 | 任务 | 备注 | |---|---|---| | D1 | 云端 Knowledge 服务端(S11-04) | 独立后端项目 | | D2 | gRPC protoc codegen(DEBT-01) | 当前架构用不到 | ### 🅴 设备控制广度补齐(对标 AgentPhone) — worker + 真机可自动开发 > 来源:对比商业竞品 **AgentPhone(agenphone.yunke.ai)**。两者路线镜像相反: > AgentPhone = **广度·设备控制**(免 Root,截图+Accessibility+系统 API,电话/短信/点滑屏/文件媒体); > phoneuse = **深度·数据语义**(Root,SQLite 直读+Frida+MITM+Memory Graph)。 > AgentPhone 的设备控制面我们几乎全空,而这正是 phoneuse.md「执行层 P1 System API / P2 Intent / P3 Accessibility」规划了却没落地的部分。 > **护城河不能丢**:Memory Graph、App 内部 SQLite 直读、Frida 深 Hook、MITM、Connector KB+Discovery、Persona、云端知识——这些 AgentPhone 没有,补广度时不稀释。 | 编号 | 任务 | AgentPhone 对应 | phoneuse 现状 | Root 成本 | |---|---|---|---|---| | **E1** | 电话/短信工具组(call/send_sms/read_sms/list_call_log) | call/hang_up/answer_call/send_sms/read_sms | ❌ 全无 | 低 | | **E2** | 设备控制原语(tap/swipe/input_text/screenshot/find_element/click_by_text) | 同名一组 | 仅 get_ui_tree + 微信专用发送 | 低 | | **E3** | App+设备管理(open_app/list_packages/force_stop/get_foreground_app + battery/volume/location/lock) | 同名两组 | 仅 list_event_apps | 极低 | | E4 | 文件/媒体(list/read/write/delete_file、index_media、search_media) | 同名一组 | ❌ | 低 | | E5 | 通知/覆盖层输出(post_notification/show_toast/show_overlay) | 同名一组 | 只读通知 | 中(APK 侧) | | E6 | 语音(speak_tts/play_audio) | 同名 | ❌ | 低 | | E7 | Vision 观察(phone_ai_observe 截图+VLM 兜底) | phone_ai_observe | ❌(刻意排 P4) | 中 | | E8(探索) | AI 外呼任务(agent 自动打电话) | ai_outbound_call_task | ❌ | 高 | --- ## 4. 推荐执行顺序 & 看板派发策略 **首批派到 task-center 自动开发(2026-06-15)**:B1、B2、B3、E1、E2、E3 —— 共 6 张可执行 worker 卡。 - **B1 设 high 优先级**作地基(校准现状);E1/E2/E3/B2/B3 都是**新增能力**,不依赖 B1 的审计结论,可与其并行。 - 独立性保障:每个新工具组放**独立模块文件**,`android_mcp.py` 仅加注册行,降低分支合并冲突;worker 各开独立分支,合并由你定。 - 单台真机并发:受 `maxConcurrent=3` 限流;发送/点击类测试均约束在安全目标(文件传输助手 / 桌面 / 无数据 App),避免互相干扰。 **暂不派(held)**: - B4(Telegram connector)→ 等 A1 登录后再派。 - E4~E8 → 第二批,待首批落地评估后再排。 - 🅒 C1/C2(逆向)→ 成功率低,先不自动开发。 - 🅓 D1/D2(云端/gRPC)→ 低优,暂缓。 - 🅐 A 轨 → 人工(装 App/登账号/扫码),worker 干不了,你择时处理;A1/A3 完成后回流解锁 B4 与若干 Sprint。 --- ## 5. 状态 - [x] 分轨与优先级已与 bo 确认。 - [x] 🅴 对标 AgentPhone 轨已补入。 - [x] 首批 6 卡(B1/B2/B3/E1/E2/E3)已派往 task-center。 - [ ] A 轨(Telegram 登录 / Google 账号)待 bo 择时处理。