ZorvAI
Health Uyari
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- exec() — Shell command execution in app/src/main/assets/www/clike.min.js
- exec() — Shell command execution in app/src/main/assets/www/htmlmixed.min.js
- exec() — Shell command execution in app/src/main/assets/www/javascript.min.js
- exec() — Shell command execution in app/src/main/assets/www/xml.min.js
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Zorv AI — 安卓 Android 端本地优先的 AI Agent 智能体助手(开源)。多模型对话、人格系统、记忆、语音全双工 TTS/STT、定时任务、可扩展工具链、飞书/QQ/微信接入。Kotlin + Jetpack Compose 开发。
Zorv AI
运行在 Android 上的设备端 AI Agent · 智能体助手
On-device AI Agent for Android — tools, personas, memory, and a shared runtime, all on your phone.
包名:
com.ai.assistance.quro| 技术栈:Kotlin + Jetpack Compose | compileSdk 36 / minSdk 26 / targetSdk 34Zorv AI 把「对话助手」做成一个真正能操作手机的 Agent:它在设备上运行,能用无障碍 / Shizuku / ROOT 等通道操控系统,调用内置工具,运行 Node / Python / SSH / Java / Rust / Go 共享运行时,并通过飞书、QQ、微信与你保持在线。
🌐 开源地址 · Open Source
本项目完全开源,双平台托管 · GitHub:github.com/Quor-a/ZorvAI | Gitee:gitee.com/ZorvAI/ZorvAI
🔌 受控端浏览器(ZorvAI 浏览器)已独立开源 · GitHub:github.com/Quor-a/ZorvBrowser | Gitee:gitee.com/ZorvAI/ZorvBrowser(独立仓库,含 v1.0.12 源码与 APK)
- 📦 最新 Release(免登录下载):github.com/Quor-a/ZorvAI/releases
- 🔗 主程序 APK 直链(v1.0.6):ZorvAI-debug-v1.0.6.apk
- 🔗 主程序 APK(v1.0.12):ZorvAI-debug-v1.0.12.apk
- 🔗 受控端浏览器 APK(ZorvAI 浏览器 v1.0.12 · 独立仓):ZorvBrowser-aci-debug-v1.0.12.apk
- 🧩 ACI 核心库 AAR:aci-core-release.aar
- 📖 ACI 开发者手册:docs/ACI_DEVELOPER_GUIDE.md
- 🐛 问题反馈:github.com/Quor-a/ZorvAI/issues
关键词:Zorv AI 开源 / 安卓 AI 助手 开源 / Android AI agent open source / 本地 AI 智能体 / 设备端 AI Agent / Kotlin Compose LLM 助手 / ACI 跨应用调用
✨ Features · 功能亮点
| 能力域 | 关键能力 |
|---|---|
| 对话 UI(Compose) | ChatScreen 对话框、PersonaBar 人格卡、PermissionModeBar(「AI 自动保存记忆」+「深度思考」并排胶囊)、回到底部浮动按钮、全屏预览、Markdown 与代码块渲染 |
| Agent 核心 | 多会话隔离(liveBuffers 按会话独立)、种子快照(convBase)、显示刷新闸门(canUpdateDisplay)、多轮 [第N轮] hidden 标记防串台、系统提示词构建、工具注册表(QuroToolRegistry.active)、技能系统(QuroSkill → 注册为 skill__{name} 工具) |
| 工具 / 能力层 | launch_app、无障碍 input_text/tap_screen/read_screen(节点树,非截图)、cms_* 模块调用、cms_engine_status、Agent 键盘 ai_type_text/ai_press_enter/ai_press_send(注册为系统输入法的极简 IME,向其他 App 灌字)、scheduler 定时任务、memory_* 记忆工具 |
| 特权层 L1–L5 | 无障碍 → Shizuku(uid 0/2000) → 设备管理员 → ROOT(su) → 应用内 Linux(proot + Alpine) |
| 引擎 / 运行时 | CMS 引擎共享运行时(NODE / PYTHON / SSH / JAVA / RUST / GO)、CMS v2 模块、GeckoView 浏览器(MPL-2.0)、本地语音 STT / TTS |
| IM 通道 | 飞书(WebSocket)/ QQBot(官方 WS)/ 微信 iLink(HTTP 长轮询 35s);三家手机端均无公网端点 |
| ACI 控制台 UI | 控制端 QuroAciCenterScreen 按 console_ui 能力拉取 SDUI 快照、复用本地 AciConsoleScreen 渲染器(core/aci 包,已从 lanui LAN 范式解耦,纯本地零网络);受控浏览器 ConsoleBackend 提供 console_ui(快照) / console_action(increment/reset/submit_note);纯接线、零侵入 |
| 数据 / 持久化 | QuroConversationStore 磁盘会话仓库、启动自愈 DATA_REPAIR 去重、诊断日志写入手机公共 Download/QuroAI_logs/ |
| 定时任务 | QuroScheduler:once / recurring(rrule)、endAt 结束机制 |
🏗️ Functional Architecture · 功能构架
flowchart TB
subgraph UI["UI 层 · Jetpack Compose"]
direction TB
A1["ChatScreen 对话框"]
A2["PersonaBar 人格卡"]
A3["PermissionModeBar · 权限胶囊"]
A4["Markdown / 代码块渲染 · 全屏预览"]
end
subgraph CORE["Agent 核心 · QuroChatViewModel"]
B1["多会话隔离 liveBuffers"]
B2["种子快照 convBase"]
B3["显示刷新闸门 canUpdateDisplay"]
B4["工具注册表 QuroToolRegistry"]
B5["技能系统 skill__{name}"]
end
subgraph TOOLS["工具 / 能力层 · core/tools"]
C1["launch_app"]
C2["无障碍 input_text / tap_screen / read_screen"]
C3["cms_* 模块调用"]
C4["cms_engine_status"]
C5["Agent 键盘 ai_type_text / press_enter / press_send"]
C6["scheduler 定时任务"]
C7["memory_* 记忆工具"]
end
subgraph PRIV["特权 / 权限层 · L1–L5"]
D1["L1 无障碍 AccessibilityService"]
D2["L2 Shizuku uid 0/2000"]
D3["L3 设备管理员 DeviceAdmin"]
D4["L4 ROOT su"]
D5["L5 应用内 Linux proot + Alpine"]
end
subgraph ENGINE["引擎 / 运行时层"]
E1["CMS 引擎 共享运行时 NODE / PYTHON / SSH / JAVA / RUST / GO"]
E2["CMS v2 模块 QuroCmsRepository"]
E3["GeckoView 浏览器 MPL-2.0"]
E4["本地语音 sherpa-onnx STT / TTS"]
end
subgraph IM["IM 通道层 · 手机端均无公网端点"]
F1["飞书 WebSocket"]
F2["QQBot 官方 WS"]
F3["微信 iLink HTTP 长轮询 35s"]
end
subgraph DATA["数据 / 持久化"]
G1["QuroConversationStore 磁盘会话仓库"]
G2["启动自愈 DATA_REPAIR 去重"]
G3["诊断日志 Download/QuroAI_logs/"]
end
UI --> CORE
CORE --> TOOLS
TOOLS --> PRIV
TOOLS --> ENGINE
PRIV --> ENGINE
CORE --> IM
CORE --> DATA
⚙️ Engine · 引擎详解
CMS 引擎(系统资源包)
CMS 引擎是一套共享运行时供给机制,按需在设备上提供 NODE / PYTHON / SSH / JAVA / RUST / GO 等环境(DepKind.ENV + CmsEnvProvisioner 按需供给)。你可以用 cms_engine_status 查询:
- 各运行时就绪态;
- 当前共享服务;
- 部署进度(provisioning 进行到哪一步)。
🔑 引擎 ≠ 模块
- CMS 引擎是底层「运行时骨架」——它负责把 NODE/PYTHON/SSH/JAVA/RUST/GO 这些环境供给到设备上,是能力运行的基础设施。
- CMS v2 模块(
QuroCmsRepository)是用户自建的、可复用的上层能力单元,通过serializeModule/parseModule导入导出,运行在引擎提供的运行时之上。二者是「地基」与「楼栋」的关系:引擎提供环境,模块消费环境。
GeckoView 浏览器引擎(MPL-2.0)
内置 GeckoView 作为系统 WebView 的替代,用于渲染网页与 HTML 预览。GeckoView 以 MPL-2.0(file-level copyleft)分发,其对应源代码随构建提供(见 NOTICE)。
本地语音
- 本地 STT:
sherpa-onnx-whisper-tiny本地语音识别(约 85MB onnx 模型,离线可用)。 - TTS:单例
QuroTtsHolder,支持多服务商(如小米 MiMo 真情感合成),情绪标签跟随文本。
🔌 ACI · 智能体能力接口(开放调用)
Zorv AI 内置 ACI(Agent Capability Interface) —— 一套同设备、无 Root、基于 AIDL Binder 的本地跨应用调用框架。任何 Android App 都能通过 aci-core 库把自己暴露成「可被 AI 调用的能力」,由 Zorv AI 的 LLM 自动编排。
- 📖 开发者手册:docs/ACI_DEVELOPER_GUIDE.md —— 受控端 5 步接入、能力定义、权限模型、真实踩坑。
- 📦
aci-coreAAR:随 v1.0.6+ Release 提供aci-core-release.aar;开源独立分支aci-core提供完整可构建源码。 - 🌿 开源分支:
git checkout aci-core即可拿到一个可独立./gradlew assembleRelease的 Android 库工程。
受控端最小接入(Kotlin):
class MyAciService : BaseACIService() {
override fun onCreateCapabilities(caps: MutableList<Capability>) {
caps.add(Capability.create("open_url", "在浏览器打开指定网址")
.addParam("url", "string", true, "目标网址")
.addFlag(Capability.FLAG_BACKGROUND))
}
override fun onCall(req: ACIRequest): ACIResponse =
ACIResponse.success().putResult("ok", true)
}
⚠️
Capability.create(id, description)的第 2 参是给 LLM 的自然语言描述,不是版本号(方法内部固定version="1.0")。受控端还需在 Manifest 写<queries>声明ACTION_BIND/ACTION_WAKE,否则 Android 11+ 控制端发现不到。
ZorvAI 浏览器(官方受控端)已暴露的能力:
作为官方参考实现,ZorvAI 浏览器向控制端(主程序 LLM)暴露以下 7 个能力,可直接被 AI 编排调用:
| 能力 | 入参 | 返回 | 说明 |
|---|---|---|---|
browser_open |
url(必填) |
launched |
打开并导航到指定网址 |
browser_read |
— | url / title / html / truncated(大页面附 html_gz gzip 字节) |
读取当前页 HTML(v1.0.8 修复 Binder 1MB 溢出) |
browser_crawl |
— | url / title / text / links / link_count / truncated |
🆕 v1.0.9 抓取结构化正文(取 article/main/body innerText)+ 出站链接 [{text,href}] |
browser_search |
query(必填) / engine(可选:bing/google/baidu/ddg,默认 bing) |
query / engine / url / title / text / links / truncated |
🆕 v1.0.9 用搜索引擎检索关键词并返回结果页 |
browser_script |
code(必填) |
result / truncated |
🆕 v1.0.9 在当前页面执行任意 JavaScript 并返回结果 |
browser_list |
— | tabs |
列出当前打开的标签页 |
browser_info |
— | package / versionName / versionCode |
查询受控端版本信息 |
💡
browser_crawl/browser_search让 AI 能做「网页检索 / 信息抽取 / 爬虫」类任务;browser_script提供页面内任意 JS 执行(高危能力,仅在受信任会话中使用)。完整契约见 ACI 开发者手册 §13。
🔐 Privilege Tiers · 特权 / 权限层(L1–L5)
更高层级的系统级执行通道均需用户显式授权后才会启用;未授权时返回引导提示,不会静默越权。
| 层级 | 是什么 | 用途 | 前置条件 |
|---|---|---|---|
| L1 无障碍 | AccessibilityService |
点击 / 输入 / 读屏(read_screen 读取无障碍节点树,非截图) |
在系统设置中开启 Zorv AI 的无障碍服务 |
| L2 Shizuku | uid 0/2000,AIDL UserService 主路径,反射 newProcess 备选 |
高权限 shell 命令执行 | 安装并运行 Shizuku App,完成配对授权 |
| L3 设备管理员 | DeviceAdmin |
设备策略级能力(锁定 / 擦除等) | 在设置中激活设备管理员 |
| L4 ROOT | su |
完整 root 权限,命令走 sh -c 执行 |
设备已 root |
| L5 应用内 Linux | proot + Alpine rootfs |
真 Linux 用户态执行 | 用户自备 proot 二进制与 Alpine rootfs |
🧰 Requirements & Quick Start · 系统要求与快速开始
系统要求
- Android 8.0+(API 26+)
- 建议 4GB+ 内存,存储空间 200MB+(本地语音模型另需约 85MB)
从源码构建
# 克隆仓库
git clone https://github.com/Quor-a/ZorvAI
cd QuroAI
# 准备环境
# - JDK 17
# - Android SDK(compileSdk 36 / minSdk 26 / targetSdk 34)
# - 在 local.properties 中配置 sdk.dir
# 构建 debug 包
./gradlew clean assembleDebug
构建产物:app/build/outputs/apk/debug/app-debug.apk
🔎 Troubleshooting · 排查与故障排查
| 现象 | 说明 / 处理 |
|---|---|
| Shizuku 相关能力不可用 | 必须先打开 Shizuku App 并启动其服务 / 完成配对,再在 Zorv AI 中授权;Shizuku 未运行时 L2 通道不会启用。 |
| ROOT 模式命令不执行 | ROOT 模式命令走 sh -c 执行,需确认设备已 root 且已授予 su 权限。 |
| 应用内 Linux(L5)无法运行 | 真执行依赖用户自备的 proot 二进制与 Alpine rootfs,请先准备好这些外部资源。 |
| 网页 / HTML 预览不显示 | 确认已随包集成 GeckoView(MPL-2.0)运行时。 |
| 本地语音识别不可用 | 本地 STT 模型为约 85MB 的 onnx 文件,首次使用需下载 / 放置到指定目录。 |
| 会话出现重复或异常 | 启动自愈 DATA_REPAIR 会在启动时去重清洗,重启 App 即可。 |
| 需要诊断日志 | 日志写到手机公共目录 Download/QuroAI_logs/,无需 adb 即可取出。 |
📦 Download · 下载 / APK
直接从 Release 页面下载最新 APK:
- v1.0.12(debug,主程序,最新):ZorvAI-debug-v1.0.12.apk
- v1.0.12(debug,受控端浏览器 ACI · ZorvAI 浏览器 · 独立仓):ZorvBrowser-aci-debug-v1.0.12.apk
- v1.0.12(debug,主程序 · ACI 控制台 UI 版):ZorvAI-debug-v1.0.12-console.apk
- v1.0.12(debug,受控端浏览器 ACI · 控制台 UI 版 · 独立仓):ZorvBrowser-aci-debug-v1.0.12-console.apk
- 🧩 受控端浏览器·独立仓库(源码 + v1.0.12 APK):github.com/Quor-a/ZorvBrowser | gitee.com/ZorvAI/ZorvBrowser
- v1.0.6(debug,主程序):ZorvAI-debug-v1.0.6.apk
- v1.0.6 附带的 ACI 核心库 AAR:aci-core-release.aar
- v1.0.5(debug):ZorvAI-debug-v1.0.5.apk
- v1.0.2(debug):QuroAI-v1.0.2-debug.apk
💡 v1.0.6 起开放 ACI(Agent Capability Interface):主程序作为控制端,可调用任意接入
aci-core的受控端 App(官方参考实现「ZorvAI 浏览器」已独立开源,见上方独立仓库链接);aci-core-release.aar随本仓库 Release 提供。详见 ACI 开发者手册。
⚠️ 请务必从官方 Release 页面下载本应用。通过未知渠道获取的安装包可能被篡改,存在隐私泄露风险。
📜 License · 许可证
Zorv AI 本应用源码以 Apache-2.0 许可证发布(见 LICENSE)。
- 主许可:Apache-2.0(应用全部源码)。
- GeckoView(Mozilla):以 MPL-2.0 分发(file-level copyleft)。其对应源代码随构建提供,符合该许可证义务。
- 其余第三方依赖(AndroidX / Jetpack Compose、Kotlin、OkHttp、Shizuku、QuickJS、Sherpa-NCNN 等)各自保留其原有许可证,完整清单见 NOTICE。
本仓库仅就实际随包分发的组件声明其许可证义务;未随包分发的组件不产生额外的 Copyleft 义务。
🗓️ Changelog · 版本历程
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0.12-console | 2026-07-31 | ACI 控制台 UI(新增功能,未升版号):受控浏览器 ConsoleBackend 新增 console_ui(SDUI 快照) / console_action(increment/reset/submit_note) 能力;控制端 QuroAciCenterScreen 按 capability 显示「打开控制台」并复用本地 AciConsoleScreen 渲染器(已从 lanui LAN 范式解耦到 core/aci 本地包,纯本地零网络——同设备 Binder 调用,不管 WiFi 还是移动网络均可用);拆除错误的 browserui 自循环前端(端口 8081 本地 HTTP),清理 Manifest/shortcuts 声明;主程序与浏览器均保持 versionCode 448 / versionName 1.0.12 |
| v1.0.12 | 2026-07-30 | ACI 被控方接入手册修正 + AAR 链接:对齐真实 AAR API(Capability.create(id, 描述)、onCreateCapabilities(caps) 参数式、onCall(req): ACIResponse 返回值式);补 3 个 <permission> 必须声明(缺则绑定必失败);新增「二、依赖获取(aci-core AAR)」段含 AAR 直链、Gradle 依赖、aci-core 分支与网页手册;排障铁律补「绑定秒拒=漏写权限定义」 |
| v1.0.11 | 2026-07-30 | 关于页「检查更新」健壮性增强:新增「检查中…」可见状态;GitHub API 不可达时自动回退 Gitee 镜像 API(国内网络适配);失败给出明确报错而非静默;其余保持 v1.0.10 镜像选择流程 |
| v1.0.10 | 2026-07-30 | 关于页更新流程增强 + 受控浏览器移动端适配:检测到新版本后弹出「GitHub / Gitee 镜像」选择框(不再直接跳转);受控端浏览器 WebView 新增 useWideViewPort + loadWithOverviewMode + NARROW_COLUMNS 布局,页面缩放适配手机窄屏、消除横向溢出 |
| v1.0.8 | 2026-07-30 | 修复 browser_read Binder ~1MB 溢出:采用「安全截断 HTML(≤15 万字符) + 大页面 gzip(byte[]) 经 html_gz 回传」混合方案,控制端解压还原完整 HTML;顺带修复标题延迟、读取时序与 AAR 依赖路径 |
| v1.0.6 | 2026-07-30 | 开放 ACI(Agent Capability Interface):新增受控端浏览器模块 aci-browser、控制端 QuroAciManager 修复 stopped-state 唤醒(bindWithWake)、Capability.create 描述修复、ACI 开发者手册与 aci-core 开源分支/AAR、Gitee 镜像推送 |
| v1.0.5 | 2026-07-30 | 仓库更名 ZorvAI、品牌视觉统一、关于页「检查更新」真实联网检测、全仓 URL 修正、开源地址与搜索可见性优化 |
| v1.0.2 | 2026-07-29 | Shizuku 授权按钮修复、AI 键盘输入通道、权限模型引导、GeckoView 内置浏览器、记忆库与 CMS v2 能力模块 |
🤝 Contributing · 贡献
欢迎各种贡献:核心功能开发、内置工具、CMS 模块、文档与翻译。
- Fork 本仓库
- 创建特性分支(
git checkout -b feature/xxx) - 提交变更(
git commit -m 'feat: xxx') - 推送分支(
git push origin feature/xxx) - 提交 Pull Request
💬 Feedback · 问题反馈
遇到问题或有建议?欢迎 提交 Issue。
请尽量提供:清晰描述、复现步骤、设备型号与系统版本、相关截图。
如果觉得项目不错,欢迎点个 ⭐ Star 支持我们!
🔎 关键词 · 便于搜索(SEO)
为了让大家在 GitHub 探索、Google、Bing、百度等搜索引擎更容易找到本项目,这里列出常用检索词:
- 中文:Zorv AI 开源、安卓 AI 助手 开源、Android AI 智能体、本地 AI 助手、设备端 AI Agent、手机 AI 助手、Kotlin Compose AI 聊天机器人、离线 AI 助手、语音 AI 助手、安卓自动化助手、AI 工具调用、飞书 QQ 微信 AI 机器人
- English:Zorv AI open source, Android AI assistant open source, on-device AI agent, local AI chatbot, Kotlin Jetpack Compose LLM, Android automation agent, voice AI assistant, TTS STT assistant, AI tool use, Feishu QQ WeChat AI bot
仓库主页:GitHub github.com/Quor-a/ZorvAI | Gitee gitee.com/ZorvAI/ZorvAI | 最新下载:Releases
🤖 AI 友好入口:根目录
llms.txt与llms-full.txt供 LLM 检索接口(ChatGPT / Perplexity / 元宝联网搜 / Claude 等)直接读取项目上下文;robots.txt已放行 AI 爬虫。
Made with ❤️ by the Zorv AI Team
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi