开源AI Agent OpenMinis:在iOS/Android上运行Linux沙箱

这个 iOS / Android 双端的开源 AI Agent 必须推荐! OpenMinis 作者 @wsvn53 https://t.co/g7R4wx69iZ OpenMinis 选择直接...

精选理由

OpenMinis 真的把 Linux 沙箱塞进了手机,还能用 API 接自己的模型。iOS 和 Android 都支持,系统集成很深,开源可自己改。

AI 摘要

OpenMinis 是一个开源 AI Agent,已在 iOS 和 Android 双端发布。其核心是在手机上运行 Alpine Linux 沙箱:iOS 端基于深度定制的 iSH 分支(ish-arm64),支持 100+ 系统调用和完整网络栈;Android 端用 PRoot 实现用户态 chroot。Agent 暴露 8 个 LLM 工具(如 shell_execute、browser_use),而日历、健康等 20 多个设备集成通过“Native Offloads”机制以 CLI 命令形式调用。项目支持 API Key 或 OAuth 接入模型,内置 200 轮工具循环、分层记忆(GLOBAL.md/daily log/SOUL.md)和 Skills 兼容生态。

原文 · shao__meng

这个 iOS / Android 双端的开源 AI Agent 必须推荐! OpenMinis 作者 @wsvn53 https://t.co/g7R4wx69iZ OpenMinis 选择直接...

这个 iOS / Android 双端的开源 AI Agent 必须推荐! OpenMinis 作者 @wsvn53 github.com/OpenMinis/Open… OpenMinis 选择直接给模型一台 Linux 电脑,支持用户接入自己的模型(支持 API Key 或 OAuth 账号登录),Agent 便获得: · 一个在设备上本地运行的完整 Alpine Linux 沙箱——能 apk add、跑 Python、写脚本、操作真实文件; · 通过沙箱暴露的系统级集成——日历、提醒、健康、HomeKit、蓝牙、剪贴板、闹钟等; · 浏览器自动化、可扩展 Skills、跨会话持久记忆。 # 最核心的技术决策:手机上的 Linux 沙箱 iOS 端用的是 iSH 的深度定制 fork(OpenMinis/ish-arm64)。iSH 本质是一个用户态 Linux 内核模拟器,OpenMinis 把它从原版的 x86 guest 改造为 ARM64 guest(配合名为 Asbestos 的 threaded-code JIT 解释器),在 App 进程内实现了进程管理、100+ 系统调用、TTY/PTY、完整网络栈透传,文件系统则用 SQLite 存元数据的「fakefs」。这在 iOS 严苛的沙箱限制下跑通一个能装包、能联网的 Alpine 环境,工程难度和完成度都不低。 Android 端则务实得多:直接用 PRoot(Termux 同款方案的 fork)做用户态 chroot,解压真实的 Alpine rootfs,靠路径翻译和 --link2symlink 等技巧在无 root 环境下运行。两端殊途同归:都给 Agent 呈现同样的 /bin/sh + /var/minis/ 目录结构。 # Agent 架构:小工具面 + 一切皆 CLI 模型能直接看到的工具只有 8 个:shell_execute、file_read/write/edit、browser_use、memory_write/get、read_image。而全部 20 多个设备集成——iOS 的 apple-calendar、apple-healthkit、apple-vision,Android 的 android-shizuku-cli、android-a11y-cli 等——都不是 LLM 工具,而是沙箱里的命令行程序。实现方式很巧妙:内核层拦截 execve(),当 guest 进程执行 /usr/local/bin/apple-calendar 时,调用被路由到宿主侧的原生 handler(EventKit、HealthKit 等),结果以 JSON 经管道返回。项目称之为「Native Offloads」。 这带来几个直接好处:工具 schema 不膨胀(省 token、模型不易混乱);模型可以用 shell 的全部表达力组合这些能力(管道、脚本、循环);MCP 服务器也统一走 minis-mcp-cli 命令调用而非注入工具列表。这与 Anthropic 近来倡导的「代码执行优于工具调用」的方向一致,且该项目在移动端把这条路走通了。 Agent 循环(iOS AIChatViewModel.runAgentLoop,Android ChatViewModel)是成熟的流式工具循环:最多 200 轮、并发工具执行(上限 10)、按上下文窗口分级的自动压缩(LLM 摘要)与「上下文卸载」(超长工具结果写入文件、留占位符让模型按需 file_read 回来)、防失控的 ToolLoopDetector 熔断器、模型组故障转移(fallback chain)。 其他几个设计也值得一提: · minis:// URL scheme:会话级资源寻址,URL 刻意不含 session ID,从协议层面杜绝跨会话访问;工具产出的文件以 minis:// URL 返回给模型,聊天 UI 直接内联渲染图片/音视频。 · Skills 兼容生态:采用与 Claude Code 相同的 SKILL.md 渐进式披露机制(元数据常驻上下文,正文按需加载),并明确宣称为 Claude/Codex 写的技能可以直接跑。这是聪明的生态借力。 · 记忆分层:GLOBAL.md(用户维护)+ 按日记录的 daily log + 独立的 SOUL.md 身份定义,全部落在沙箱可见的 /var/minis/memory/,模型能用普通文件工具读写。 · iOS 后台保活:用定位心跳和后台音频延长执行时间,配合 Live Activity 展示进度——是灰色但常见的手段,说明作者对 iOS 平台限制的对抗做得很彻底。 · 权限模型:涉隐私的 CLI(健康、日历、位置、剪贴板等)有 Bypass / Ask Once / Not Allowed 三级授权,在系统权限之外多加了一道 Agent 级闸门。 Ethan Wang @wsvn53 After 3-4 months of iteration, Open Minis — "possibly the best Agent app on your phone" — has stabilized into a mature architecture, now powering tens of thousands of users' daily workflows. Today we're open sourcing all of it: the full iOS and Android code. A real on-device AI agent: a native Linux shell, browser automation, extensible skills, persistent memory, and deep system integration. Now, fork it, feel free to build your own on-device agent now. 🤗 github.com/OpenMinis/Open… d 🔗 View Quoted Tweet 💬 0 🔄 0 ❤️ 3 👀 381 📊 1 ⚡