📈 GH Trending Explorer 🎲 Surprise me

← all repos

KYRIE66nb / mobile-agent

git clone https://github.com/KYRIE66nb/mobile-agent.git v0.1.21 · 4d ago

Android 端 AI 聊天 + 本地工具 Agent

+12
stars, 24h · #2,867
+~12
stars, 7 days · #11,073
+148
stars, 30 days · #5,145
148
★ total · +9% this week
15
forks · 1 open issues

Star history (as recorded here)

2026-10-20 · 143 ★ 2026-10-23 · 148 ★
LanguageKotlin
LicenseApache-2.0
Created2026-09-26 (26d ago)
Last push4d ago
Watchers0
OwnerUser

Links

README excerpt
# Mobile Agent
English | 简体中文
**让 AI 真正"握住"你的手机** —— 一个运行在本机、能看屏幕、能点屏幕的开源 Android 智能体。
> 项目处于早期开发阶段,接口与交互仍可能调整。请先在测试设备上使用,不要让它执行支付或账号安全操作。
## 为什么它和别的 Agent 不一样
桌面端 Agent 的天花板是浏览器;这个项目的天花板是**你手机上装的每一个 App**。
它不靠 API、不靠网页版——AI 像人一样看屏幕、点屏幕:微信、美团、设置、相册,只要人能在界面上操作,Agent 就能操作。
### 亮点速览
- **不挑 App**:无障碍语义节点 + 视觉坐标双路感知——标准控件走语义,Flutter/自绘界面走像素。
- **安全先于执行**:外部副作用动作先过语义安全闸(放行/确认/拦截),宁可多问,绝不静默放行。
- **前台后台都能跑**:无障碍服务免 Root 直控前台;Root 虚拟屏在后台屏幕干活,悬浮窗实时围观。
- **电脑也能控制手机**:内置 loopback 鉴权桥 + adb forward + 零依赖 MCP 服务,桌面 Agent 直接读屏点屏。
- **跑一遍就能沉淀**:流程固化成 Recipe 模板秒级回放;定时/通知触发任务带工具范围隔离,无人值守也安全。
- **数据全留在本机**:对话、产物、裁决记录本地存储可整库导出;外发只有你显式配置的模型/语音服务。
交互式架构图(下载后用浏览器打开,支持缩放 / 路径追踪 / 暗色模式)
## 界面实拍
全部来自真机截图,没有渲染图。部分画面上悬浮的深色小条是 Agent 悬浮窗(展开 / 产物 / 设置 / 关闭),任务执行时会实时同步 Agent 正在做什么。
### 一次任务的完整链路
 提需求。 输入框里就有模型切换和单次发送的思考强度。 
 问清楚。 需求有关键歧义时停下来让你点选,而不是瞎猜。 
 过你手。 设为"每次询问"的工具会等你裁决:不允许 / 仅此次 / 始终允许。 
 去执行。 工具调用流式渲染成卡片:只读调用并行跑,写操作保持顺序。 
### 对话与工具管理
 Markdown 排版回答;输入区集成语音、附件、思考开关和模型选择。 
 置顶/最近会话可搜索,全部只存在本机。 
 每组工具独立开关,各有权限档位(始终允许 / 使用时 / 每次询问)。 
 不可用的工具直接说明缺什么——比如手机操作要 Root,通知要先授权。 
 "询问用户"与"定时任务"工具组——歧义时反问,触发任务按授权范围无人值守执行。 
### 设置:安全闸、故障切换、能力总览、模型
 主题、语言、步数上限、操作安全闸、专用决策后端入口。 
 决策后端选择、模型故障切换、结果语音播报、广告守卫、定时任务。 
 设备操作位置(自动/主屏/后台)、详细日志、常驻悬浮助手、Root 状态。 
 个性化提示词——长期记住你的偏好、习惯和回复风格。 
 能力总览:所有系统授权与高级通道一目了然,可一键跳转授权页。 
 每个工具组如实报告状态——可用 / 受限 / 不支持,并写清卡点。 
 模型配置:服务地址、模型 ID、上下文窗口,最多存 20 套。 
 自动压缩阈值 + 思考强度档位,官方推荐值一键填充。 
 视觉模型开关——截图随界面识别结果一起发给模型,按像素坐标操作图标和图片界面。 
### 语音、数据与更新
 语音转写走 OpenAI 兼容或讯飞接口,配完可先测连接。 
 分模型 token 用量、缓存清理与产物保留策略。 
 整库 JSON 导出/导入,按记录主键合并不重复。 
 版本信息与从 GitHub Releases 直接检查更新。 
### 火影替身计时——真机对局实拍
https://github.com/user-attachments/assets/2d88800f-3ffe-45b2-bfee-56f474d6c136
决斗场实战录屏:敌方替身"推测已恢复"、我方疑似替身 7.0s 读秒——全程本机像素推断,不走模型、不联网。
 开关、进 App 自动启动、冷却与采样参数,会话状态内联展示。 
 豆槽校准把双方查克拉豆框画在真实捕获帧上,滑块微调。 
 对局中倒计时胶囊浮在游戏上——敌我替身状态,本地推断。 
## 核心能力
### 双路径界面感知
| 路径 | 原理 | 适用 |
|---|---|---|
| **无障碍节点树** | 读取界面语义节点(文本、坐标、可点性),按语义点击 | 标准控件界面,精确且省 token |
| **视觉坐标** | 截图直喂视觉模型,返回像素坐标注入触控 | 图标、图片墙、Flutter/自绘界面 |
开启"视觉模型"开关后(GLM-4.5V、GPT-4o 等),`device_observe` 的截图会作为图片内容块直接发给模型,模型按截图像素输出 `x/y` 即可完成点击、滑动、输入。
### 操作安全闸(DecisionGate)
每次**有外部副作用**的工具调用(发消息、改设置、删数据……)在执行前先过一道语义裁决:
- `allow`:普通操作直接执行,不打扰你;
- `confirm`:并入现有审批弹窗,附上裁决理由;
- `block`:高风险不可逆操作直接拒绝,原因结构化回传给模型让它换路子。
裁决超时或失败自动降级为"需人工确认"——**宁可多问一次,绝不静默放行**。可在设置中关闭;只读操作永远不进闸。
**可选专用决策后端(Laya/Jev)**:安全闸裁决可外接独立小模型服务(自托管 Laya 或 TypeSafe Jev,`deploy/laya/` 有部署说明)——默认不接入,出站需显式同意且只发最小判定上下文,本地策略仍是权威(服务只能选候选,不能发明动作),SHADOW/ENFORCE 双模式,裁决记录可回看。
### 设备控制双引擎
- **无障碍服务**(免 Root):读节点树、点击、输入、滑动、监听前台应用切换;
- **Root 虚拟屏**(可选):独立的 `RootDeviceService` 进程在 VirtualDisplay 上干活,截屏 + 触控注入在**后台虚拟屏**执行,你主屏该干嘛干嘛;悬浮窗可实时围观 Agent 操作。
**执行位置偏好**(设置 → 通用 → 设备操作位置):
| 档位 | 行为 |
|---|---|
| **自动**(默认) | Agent 按任务性质选主屏/后台;虚拟屏不可用时**自动降级主屏**继续执行,降级在审批文案和工具结果中如实披露 |
| **仅主屏** | 固定前台操作,无 Root 设备省掉注定失败的虚拟屏尝试 |
| **仅后台** | 只用虚拟屏,失败即失败,**绝不静默触碰主屏** |
**Shizuku 降级通道**:非 Root 设备安装并授权 Shizuku 后,`system_shell` 工具可以 shell(uid 2000) 身份执行白名单管理命令(am/pm/dumpsys/settings/input/content 等,拒绝管道与拼接),用于查应用信息、清缓存、发按键事