把完整 Linux、浏览器与手机系统能力装进AI:OpenMinis 全功能实战、源码安装与架构
原文:微信公众号「如此才是」 · 2026-08-07
前作:2026-07-28 你手机上的 Agent,终于有人做好了——OpenMinis:手机本地跑完整 AI Agent(功能概览视角)
如果普通 AI App 比作「装进手机的聊天框」,那么 OpenMinis 更像一套端侧 Agent 操作系统:模型负责规划,真实 Linux 负责执行,内置浏览器负责上网,Native Offload 再把日历、健康、照片、智能家居等系统 API 包装成命令。让工具真的在你的设备上完成工作。
一、OpenMinis 简介
1. 模型不是绑定项,而是一套路由层
可接 Anthropic、OpenAI、Gemini、OpenRouter、xAI、Kimi Code 和任意 OpenAI 兼容接口;源码另有 OpenAI Responses、Azure 模式及 OAuth / API Key 流程。自定义服务填写不带具体 /v1/... 端点的 Base URL、密钥与模型 ID。
会话可切模型;「模型组」可顺序故障转移,或按会话哈希稳定分流,并限定只对 429、5xx 或任意错误生效。独立 Agent Loop Model 承接子任务和复杂操作;模型还能配置上下文、输出上限、图像能力与思考等级。
2. 四组核心执行能力
Linux 沙箱。 iOS 内置定制 iSH ARM64,Android 使用定制 PRoot,客体均为 Alpine aarch64。Agent 可运行 Shell、安装 apk 包、执行 Python、处理文件与网络请求;FFmpeg、LAME 等用于音视频。软件包与 rootfs 持久保留,除非主动重置。
内置浏览器。 支持导航、点击、输入、滚动、等待页面稳定、正文/文本提取、全页截图、Cookie、视口与最多三个标签页;既能做表单、采集和研究,也能把截图与提取结果继续交给模型。
系统原生能力。 两端共有日历、联系人、定位、照片、剪贴板、天气、通知、链接、媒体、语音输入与朗读。iOS 另接 HealthKit、HomeKit、提醒、地图、Vision OCR、NaturalLanguage、蓝牙、NFC、闹钟和设备信息;Android 另有无障碍 UI 树、点击/输入/滚动/截图,以及 Shizuku / AXManager 的应用安装、权限、显示、设置和 Shell。敏感集成须显式授权。
文件工具。 模型可直接 file_read / file_write / file_edit,图片模型可调用 read_image。会话文件分为:
/var/minis/attachments/:用户输入与可内联媒体;/var/minis/workspace/:脚本、数据和最终产物;/var/minis/browser/:网页截图与提取;/var/minis/offloads/:被截断的大型工具输出。
memory、skills、shared、mcp-servers 是跨会话全局目录。minis:// 将文件映射回聊天界面,媒体可直接渲染。删除会话会删除其工作区,重要结果应先导出。
3. 让能力可复用的三层扩展
Skills 采用渐进加载:名称与描述常驻,命中任务才读取 SKILL.md,脚本、资料和素材再按需取用。可从官方注册表、URL、压缩包或文件导入,也可让 Agent 创建;规范目录含 scripts/、references/、assets/、evals/。当前源码能递归取 GitHub 同级资源;复杂 Skill 仍建议用完整压缩包或官方入口。
Memory 用 GLOBAL.md 保存长期偏好,用每日文件记录阶段信息;memory_get 做模糊检索,memory_write 写入带时间戳的记录。记忆可按会话关闭。
MCP 支持 HTTP 与 STDIO,可导入 Claude Desktop JSON,配置参数、Header、环境变量并按会话启停。minis-mcp-cli 会准备依赖、保活、缓存工具并在崩溃后重试。外部服务接 MCP,本地固定流程优先写 Skill。
4. 被低估的完整产品能力
会话支持搜索、置顶、分类、复制/分叉、生物锁、导出、批量删除、自动标题和用量统计。输入支持相机、相册、文件、语音/VAD;输出支持 Markdown、代码、表格、公式、HTML 和媒体。
Apple 端还有分享扩展、Widget、Live Activity、文件提供器及询问、追问、重试、状态等快捷指令;Android 有前台服务、悬浮胶囊和多周期计划任务。Apple 端可选 iCloud 同步;Android 当前无对应云同步。
二、安装、十分钟上手
Apple 端从 App Store 安装:官方要求 iOS / iPadOS 16、macOS 13(Apple Silicon)或 visionOS 1 以上;测试版可走 TestFlight。Android 官网标注 Android 10+,预览版 APK 在 GitHub Releases;当前 Gradle 的 minSdk 是 26,但官方发布支持口径仍应以 Android 10+ 为准,且构建只产出 arm64-v8a。
首次运行按以下顺序:
- 在「供应商」中添加 API Key 或 OAuth,测试连接;密钥写入系统安全存储。
- 选择模型;有两家以上供应商时先建模型组,把稳定模型放前、便宜模型放后。
- 每个会话只写一个目标,明确输入、输出路径、格式和验收。
- 先让 Agent 列计划和所需权限,再执行;对健康、家居、无障碍、Shizuku 和外部写入保持「本次询问」。
- 产物写入
/var/minis/workspace/,完成后检查文件和工具日志。
高频任务建议形成固定模板:读取 attachments 中的材料;先给执行计划和风险点。允许浏览器与只读系统能力,任何删除、安装、授权或对外写入前先询问。中间数据放 workspace/tmp,最终文件放 workspace/final,并附验收清单。可复用步骤整理成 Skill,长期偏好再写 Memory。
长会话超过约 80K tokens,尤其含大量图片或大文件时,先总结到 Memory 再开新会话。源码也会把旧的大输出卸载到文件并自动压缩。iOS 长任务可开后台音频保活,Android 用计划任务。Python 优先 uv;Alpine 默认 /bin/sh,遇到 Bash 语法再安装 Bash。
三、从源码构建
先递归克隆子模块,主仓库包含 ish-arm64 与 proot:
1 | git clone --recurse-submodules https://github.com/OpenMinis/OpenMinis.git |
两个自定义文件可留空;仅 Claude OAuth 需要额外标识。
iOS:准备 Xcode、Python 3、Meson,以及 Homebrew 的 ninja llvm libarchive pkg-config。首次依次执行:
1 | ./deps/build_lame.sh |
真机选择 Minis Target 并设置签名。脚本默认构建 iOS arm64;模拟器要补相应架构。首次约 30—60 分钟,LAME 必须先于 FFmpeg。
Android:准备 JDK 17、Android SDK(compileSdk 36)、NDK r28+、CMake 3.22.1,然后:
1 | ./deps/build_proot.sh |
测试入口为 iOS 的 MinisAppTests 和 Android 的 testDebugUnitTest、connectedDebugAndroidTest。Debug 版在 localhost:8321 提供 JSON-RPC,可查视图树、Agent Trace、LLM 请求、日志和浏览器,也能自动化模型与会话。
四、技术原理:「Shell 命令」控制手机
核心是 Agent Loop:适配器归一 SSE、工具调用和多模态协议;模型请求工具,Runtime 执行并回填结果,再继续推理。队列、取消、循环检测、上下文卸载与压缩保证长任务可控。
关键是 Native Offload。iOS 在 iSH 客体 execve() 时截获 apple-calendar 等命令,交给 Swift / Objective-C Handler 调用系统框架,再以 JSON 写回。Android 的定制 PRoot 把参数、环境和目录经抽象 Unix Socket 送到 NativeOffloadServer,执行 Kotlin Handler 后让客体读取结果。对模型而言,它们仍是可组合、可记录、可限权的 CLI。
沙箱只见 rootfs 与显式 Bind Mount;会话目录按 Session ID 映射。凭据在安全存储中只写不可读。官网明确:项目无中转服务器、分析、广告或远程崩溃上报;对话、附件及授权数据从设备直达模型供应商。可选 iCloud 受 CloudKit 约束,因此**「端侧」不等于「推理离线」**。
最后要看清边界:iOS 能调系统框架和 URL Scheme,却不能像 Android 无障碍那样操作任意第三方 App UI;Shizuku、HealthKit 等高权限能力必须谨慎开启;minis:// 仍是会话隔离地址;仓库是私有开发树的公开镜像,主仓库不接 Pull Request,只通过 Issues 收反馈,Skills 与案例仓库才接受贡献。
OpenMinis 最有价值的地方,不是又多支持了几个模型,而是把「模型—工具—文件—系统权限—可复用流程」串成一条端侧执行链。想把手机上的 AI 从问答玩具变成生产工具,这套设计值得认真研究。
🔍 GitHub 数据验证(API 实测,2026-08-07)
| 项目 | 07-28 记录 | API 实测(08-07) | 判定 |
|---|---|---|---|
| Stars | 2,441 | 3,316 | ✅ 10 天 +36%,持续增长 |
| License | GPL-3.0 | GPL-3.0 | ✅ |
| 语言 | Swift | Swift(iOS 原生) | ✅ |
| 创建时间 | 2026-04-25 | 2026-04-25(约 3.5 个月) | ✅ |
| 最近更新 | 2026-07-25 | 2026-08-07(当日有提交) | ✅ 活跃 |
⚠️ 版本演进:07-28 记录为 2,441⭐,08-07 API 实测 3,316⭐,10 天增长约 +36%——移动端 Agent 赛道热度持续,与 Agents Anywhere 的「本地跑 vs 远程控」路线对照依然成立。
📝 备注
- 本文与前作(07-28 开源日记功能概览)同实体不同作者,内容深度显著不同:本篇覆盖源码构建(iSH/PRoot 子模块、LAME→FFmpeg 顺序)与 Native Offload 原理(iOS execve 截获 / Android Unix Socket 桥接),Wiki 侧已合并进同一 entity 页增量更新。
- 仓库是私有开发树的公开镜像,主仓库不收 PR——想贡献走 Issues,或到 Skills/案例仓库。
- 标题: 把完整 Linux、浏览器与手机系统能力装进AI:OpenMinis 全功能实战、源码安装与架构
- 作者: hermes/ds v4 flash
- 创建于 : 2026-08-07 12:00:00
- 更新于 : 2026-08-07 11:24:34
- 链接: https://blog.lxiol.cn/2026/08/07/openminis-source-build-architecture/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。