Operit AI:把 Android 手机改造成 Agent 工作台,代价是权限与复杂度
The most powerful AI agent and AI chat software on Android/Operit是一款Android上能力最为强大、发展最久的AI Agent
秒懂
- 它是什么?
- Operit AI 是一个把云端或本地大模型接到 Android 系统、终端和浏览器上的开源 Agent 平台。它功能极多,但要求用户理解权限边界和本地推理的资源开销。
- 适合谁用?
- 适合愿意花时间配置权限、理解工具链并且确实需要在手机上执行多步任务的开发者或高级用户。它不适合只想聊天的普通用户,也不适合需要 iOS 或桌面端统一体验的人,那个需求应等 Operit 2。
- 能商用吗?
- 可以,但有条件。LGPL-3.0 是弱 copyleft 许可证:可以用在商业和闭源软件里,但如果你分发了对它自身文件的修改,这些修改必须以同一许可证公开。
- 还在维护吗?
- 在维护。仓库最近一次提交在 1 天前。
- 用什么语言写的?
- 主要是 Kotlin(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
一个把手机当作完整开发与自动化环境的应用
Operit AI 解决的问题不是聊天,而是让 Android 设备成为一个能自主执行任务的 Agent 宿主。它把模型输出接到具体动作上:读写文件、操作应用界面、执行终端命令、修改代码。目标用户是愿意在手机上做开发或自动化的人,而不是只想问问题的普通用户。它同时支持云端模型和本地推理,本地路径包括内置的 MNN 和通过 llama.cpp 运行 GGUF 模型。这意味着没有网络时,设备仍能承担一部分推理任务,但代价是内存和存储占用会随模型大小显著上升。
从模型到动作:工具调用、工作区与权限三档控制
Agent 的执行链条清晰可见:模型先收到任务,然后通过工具调用去操作环境。工具覆盖文件、网络、搜索、媒体、系统管理和开发操作。这里的关键设计是权限三档:自动允许、每次询问、禁止,默认落在询问模式。这个默认值值得肯定,因为工具能触达系统深层能力,若全部自动放行,风险会很高。工作区是另一个核心概念,聊天可以绑定一个项目目录,让模型读取项目规则、引用文件并修改代码。支持的文件系统包括应用内部目录、SAF、SFTP 和 SSH,这决定了你能让 Agent 触及哪些数据。
UI 自动化与浏览器的权限阶梯:无障碍、Shizuku 与 Root
操作应用界面和网页是 Operit 与普通聊天客户端最明显的分界。UI 自动化有三条通道:无障碍服务、Shizuku 提供的 ADB 级调试权限、Root 通道。三者的权限深度递增,Root 还能启用虚拟显示等能力。浏览器 Agent 则读取页面结构,执行点击、输入、滚动和截图。这里必须指出一个边界:这些能力是否可用,取决于设备是否给了对应权限,以及 Android 版本是否限制后台操作。README 也提到 PhoneAgent 或 AutoGLM 需要屏幕视觉配合,虚拟显示需要额外权限和设备支持。换句话说,功能列表很宽,但每项都挂着一个前置条件。
Ubuntu 用户空间:PRoot 是默认,chroot 是条件选项
终端能力不是简单模拟,而是内置 Ubuntu 24.04 ARM64 用户空间。默认通过 PRoot 运行,在具备相应条件时可用 chroot。这是个值得展开的取舍:PRoot 不需要 Root 权限,但性能有损耗,文件访问经过用户态转换;chroot 更接近原生,但需要更高权限。终端支持多会话,可运行 Python、Node.js、vim、SSH 和 tmux。对移动开发者来说,这相当于在手机上获得一个接近 Linux 的环境,但内存压力会很明显,特别是同时跑本地模型和终端会话时。
记忆、角色与多角色群聊:图谱化存储与角色绑定
长期记忆不是简单的历史记录,而是图谱化存储。支持多个记忆空间、文档导入与分块、节点关系编辑和混合搜索。信息可以从对话和附件中提取,并按时间、语义及关系检索。角色系统与记忆深度绑定:每个角色可绑定独立的模型、记忆空间、工具包、Skill 和 MCP。还支持多角色群聊和 @ 交互。这意味着你可以为不同任务建立不同人格和工具集,比如一个角色绑定代码工具包,另一个只做信息检索。但这也带来管理负担,每个角色的配置项都不少,初次上手需要花时间理解角色与记忆空间的关系。
扩展机制:ToolPkg、MCP、Skill 与统一市场的关系
扩展层是 Operit 体系里最容易混淆的部分。ToolPkg 是更上层的打包格式,能提供工具、界面、模型提供方、Hook 和运行时能力。MCP 则专注于模型上下文协议,支持本地与远程服务,启动方式包括 uvx 和 npx。Skill 偏向可复用的技能定义。统一市场把这些都收拢在一起,提供搜索、安装与管理。对用户而言,理解 ToolPkg 与 MCP 的边界很重要:MCP 解决的是模型与外部数据源的连接,ToolPkg 是 Operit 自己的扩展运行时。如果你从别的 Agent 项目迁移过来,可能只熟悉 MCP,那就需要额外学习 ToolPkg 的约定。
安装与运行前提:ARM64 是硬门槛,数据边界要自己管
安装方式只有一种,从 Releases 页面下载 APK。系统要求是 Android 8.0 或更高,且仅支持 ARM64 设备。这意味着 x86 模拟器或旧设备直接出局。安装后需要按引导配置模型与权限。数据边界在 README 里写得很直接:聊天、角色、记忆和模型配置保存在本地;使用云模型时,请求从设备发到服务商,Operit 不托管推理。Web Chat 和 HTTP API 默认关闭,启用时要配置 Bearer Token 并评估局域网暴露风险。这条值得重复一遍:Operit 不是隐私保护层,它只是把选择权交给你。
维护节奏与许可证:活跃更新下的兼容性风险
从版本记录看,项目保持每月或双月一次的发布节奏,v1.12.0 加入统一市场与 Artifact 流程,v1.11.0 引入 Web Chat 和 ToolPkg AI Provider。这种速度对功能是好事,但对稳定使用是压力,功能面越宽,回归风险越高。许可证是 LGPL-3.0,如果你只是安装 APK 使用,影响不大;若要修改代码并分发,需要理解 LGPL 对动态链接和修改部分开源的要求。另外要注意,这个仓库是 Android 版,跨平台版本 Operit 2 是独立的 Rust 与 Flutter 实现。如果你需要 Windows 或 iOS 支持,现在这个仓库不是你要找的东西。
编辑结论
适合愿意花时间配置权限、理解工具链并且确实需要在手机上执行多步任务的开发者或高级用户。它不适合只想聊天的普通用户,也不适合需要 iOS 或桌面端统一体验的人,那个需求应等 Operit 2。首次使用前先验证三件事:设备必须是 ARM64 且系统不低于 Android 8.0;本地模型文件要预留足够存储;启用 Web Chat 或 HTTP API 前必须设置 Bearer Token 并确认不会暴露到局域网之外。若接受这些前提,Operit 是目前 Android 上少见的、把终端、浏览器和系统自动化塞进一个应用的选择。
社区笔记