ToolNeuron
纯端侧 AI 操作系统:LLM 对话、RAG 知识库、语音交互、图像生成,完全离线运行,隐私加密保护
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
纯端侧 AI 操作系统:LLM 对话、RAG 知识库、语音交互、图像生成,完全离线运行,隐私加密保护
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你正在地铁里,手机信号断断续续,想向 AI 助手请教一个技术问题,却发现 ChatGPT 一直在"正在思考..."——网络不给力,一切免谈。更让人不安的是,你的每一次提问、每一份上传的文档,都会被服务器永久存储,你对它们的使用毫无掌控权。
ToolNeuron 就是为解决这些痛点而生的。它是一个完全运行在 Android 设备上的端侧 AI 平台,不需要 Google Play 服务、不需要网络连接、不收集任何遥测数据。模型文件、聊天记录、RAG 文档、密钥材料——一切都在你的手机里,关掉飞行模式也能正常使用。
图1:ToolNeuron 架构概览
ToolNeuron 的定位并非"口袋版 ChatGPT",而是"给高级用户的本地 AI 操作系统"。它提供 Chat、RAG、Vision、Voice、HTTP 服务、HuggingFace 浏览器、插件市场六大功能模块,用户可以根据需要自由组合。
2024 年以来,随着 GGUF 量化格式的成熟和 llama.cpp 在移动端的高效移植,越来越多的开发者开始探索将大模型完全运行在消费级设备上。ToolNeuron 正处于这一趋势的最前沿,它的架构设计充分体现了对隐私和安全的极致追求。
在技术实现上,ToolNeuron 采用了三层安全架构:
libhxs_encryptor.so):这是信任决策的唯一来源。密码学操作(Argon2id、ChaCha20-Poly1305、BoringSSL)、会话令牌验证、Hook 基线验证(检测 Frida / Xposed / 调试器)全部在 C++ 中完成,Kotlin 层无法伪造结果。filesDir/app_bootstrap/k.bin 中。这种分层设计确保了即使 Kotlin 层的代码被混淆或被 Xposed 框架绕过,安全决策依然由 Native 层独立做出,不会被 Kotlin 的条件判断所左右。
ToolNeuron 支持与任何兼容 GGUF 格式的大语言模型对话。GGUF 是 GGML 格式的升级版,将模型元数据和权重打包为单一文件,支持流式输出、多轮对话、可选的"思考模式"(chain-of-thought),并实时显示 tok/s(每秒 token 数)、TTFT(首批 token 延迟)、峰值内存占用等性能指标。
推理引擎封装在预编译的 gguf_lib-release.aar 中,底层基于 llama.cpp 的移植版本。应用同时支持 arm64-v8a(所有现代 Android 手机)和 x86_64(模拟器开发)两种 ABI。
适用场景:在无网络环境下与 LLM 对话、处理私密信息、节省云端 API 调用成本。
ToolNeuron 通过 colocation 部署的 mmproj 投影文件支持视觉语言模型。图像数据通过 Android AIDL 的 ParcelableFileDescriptor(PFD)机制跨进程传输,而非低效的 byte[] 数组传递——这一设计选择体现了开发者对性能的极致追求。
支持对 PDF、DOCX、XLSX、PPTX、ODT、EPUB、RTF、MD、HTML、JSON、XML、CSV、TXT 等 13 种文档格式进行向量化检索增强生成。文档内容以内容寻址方式存储,用户可以从文件选择器将任意文档重新关联到任何对话中。
通过 sherpa-onnx 实现流式 TTS(文字转语音,按句子分块输出)和 STT(语音转文字,点击切换)。支持的语音模型包括 VITS、Piper、Whisper,语音引擎封装在 ai_sherpa-release.aar 中。
ToolNeuron 在独立的 :server 进程中运行一个嵌入式 HTTP 服务器,监听固定端口,使用 cpp-httplib(轻量 C++ HTTP 库)和 nlohmann/json(仅头文件 JSON 库)实现,不依赖 OpenSSL、BoringSSL 或 zlib。服务器提供 OpenAI 兼容的 API 端点,支持 Bearer Token 认证、速率限制和审计日志。
更重要的是,服务器内置了 Material 3 风格的 Web UI(server_webui.html),设备持有者可以通过局域网 IP 从浏览器直接访问 AI 对话界面。:server 进程以前台服务(dataSync)运行,即使从最近任务列表滑动关闭主应用,HTTP 服务依然保持在线——这意味着你可以在手机上运行 AI 服务,同事或家人的设备通过 WiFi 连接使用。
ToolNeuron 的插件系统是其最具野心的功能之一。插件托管在 HuggingFace 的 Void2377/tool-neuron-plugins 仓库中,每个插件是一个 zip 包(manifest.json + classes*.dex + 可选的 lib/<abi>/*.so)。插件运行在独立进程中,通过 DexClassLoader 动态加载,在 Capability Gate(能力门控)的保护下运行。
插件可以调用三种受控 API:OnnxApi(运行 ONNX 模型推理,由 onnxruntime-android 1.20.0 驱动)、HxsApi(读写加密键值存储的插件专属命名空间)、NetworkApi(仅支持 GET 请求的 HTTP 字节获取)。每个 API 都有对应的能力声明,运行时由 PolicyEngine.hasSession 验证。
内置的浮动插件 Dock(毛玻璃材质设计)支持多插件切换,带动画过渡效果。目前已有笔记、计数器、记账等第一方插件。
项目还集成了设备端 Stable Diffusion 支持(通过 ai_sd-release.aar),利用高通 Snapdragon NPU 的 QNN 推理加速或 MNN 的 CPU 回退,实现 Text-to-Image、Image-to-Image、局部重绘、4× 超分辨率。由于 R8 压缩导致 release AAR 的 Companion 对象被内联,目前生产环境仍使用 debug AAR。
ToolNeuron 的安全设计堪称教科书级别,具体体现在以下几个维度:
密码学基元:使用 Argon2id(t=4, m=128 MiB, p=1)进行 PIN 验证,确保暴力破解在物理上不可行。密钥派生使用 HKDF,数据加密使用 AES-GCM/ChaCha20-Poly1305。后量子密码学支持:X25519 + ML-KEM-768 混合密钥封装(Hybrid KEM),Ed25519 + ML-DSA-65 混合签名(Hybrid Sign)。
会话管理:认证成功后生成 32 字节的不透明会话令牌,该令牌在 Native 层注册。每当用户访问受保护功能时,Native 层的 PolicyEngine.isAllowed(feature_id, sessionToken) 做出决策——Kotlin 层无法伪造或跳过这一步。
锁定策略:三次免费尝试后,锁定时间按指数增长:1 分钟 → 5 分钟 → 15 分钟 → 1 小时 → 4 小时 → 12 小时 → 24 小时。若连续 10 次失败,触发 hardWipe() 彻底擦除设备端数据,返回给攻击者的结果与"尝试次数超限"完全一致(无法区分)。
Panic PIN:用户可以设置一个"恐慌 PIN",输入后触发静默擦除,返回 VerifyResult.Wiped,攻击者完全不知道已经触发数据销毁。
HOOK 检测:APK 安装时对 nativeLibraryDir 中的每个 .so 文件做 TOFU(信任首次)清单记录,并将清单绑定到安装身份(签名哈希 + 版本号 + 最后更新时间)。每次启动时验证 HOOK 基线,检测 inline hook、PLT hook、调试器附加。
混淆设计:Frida / Xposed / 调试器检测字符串在编译时经过 XOR 混淆,直接对 libhxs_encryptor.so 运行 strings | grep -i frida 不会得到任何结果。
ToolNeuron 的代码质量在开源 Android 项目中属于顶尖水平,具体体现在以下几个方面:
架构设计:采用 Gradle 多模块架构,将 UI 逻辑、安全原语、加密存储、推理引擎、插件运行时、HTTP 服务器完全隔离。模块间通过 AIDL(Android Interface Definition Language)通信,边界清晰。
工程规范:严格遵循"代码即文档"原则,CLAUDE.md 明确规定了"无注释"规范(仅在非显而易见处添加单行 // 注释),要求通过有意义的命名和结构让代码自我说明。这对维护者的水平提出了极高要求,也倒逼了代码质量的提升。
构建系统:Android Gradle 配置完整,支持 local.properties 中的密钥配置用于正式签名,构建产物经过 R8 压缩和资源裁剪。测试覆盖率高,包含 ExtraHardeningTest、PhaseOneSecurityTest 等专项安全测试。
技术债务管理:开发者明确声明"No TODOs, stubs, or half-implementations"——每个任务都必须端到端完成。这在开源项目中极为罕见,体现了极高的工程纪律性。
文档透明度:README.md 和 CLAUDE.md 详细记录了架构决策、安全设计、项目范围变化历史,代码贡献者可以直接理解设计意图。
ToolNeuron 并非完美无缺,以下几点值得潜在用户了解:
性能依赖硬件:虽然应用支持在 CPU 上运行,但 GGUF 模型推理和 Stable Diffusion 对内存和计算资源有较高要求。在低端设备上,响应速度可能明显慢于云端方案。
模型管理复杂:GGUF 模型需要用户手动下载并放置到指定目录,相比一键安装的云端服务,入门门槛较高。
Android 独占:目前仅支持 Android(minSdk 29,Android 10 及以上),iOS 用户无法使用。对于追求全平台一致体验的用户这是明显短板。
插件生态尚在早期:虽然架构设计完善,但插件数量有限(笔记、计数器、记账),第三方插件生态尚未形成规模。
安全与便利的权衡:为了最大化安全性,应用禁用了 FLAG_SECURE 对聊天界面的保护(仅 PIN 输入页启用),用户截图聊天内容时无法被系统强制拦截。
Release 构建仍使用 Debug AAR:由于 R8 压缩问题,Stable Diffusion 模块的生产版本尚未启用,这限制了图像生成功能的最终性能表现。
ToolNeuron 代表了一种重要的技术趋势:隐私优先的端侧 AI。随着端侧推理效率的持续提升和用户隐私意识的增强,类似 ToolNeuron 这样的项目正在重新定义 AI 应用的边界。
从数据安全的角度看,真正的隐私保护不是靠隐私政策承诺,而是靠技术架构——数据不离开设备,才是最彻底的保护。ToolNeuron 的多层安全架构(Keystore → C++ PolicyEngine → Capability Gate)证明了即使用户设备被攻破,攻击者也面临极高的破解成本。
从商业模式看,ToolNeuron 正在探索"买断制 + 插件市场"的盈利路径,绕过了云端订阅模式的长期争议。这为独立开发者提供了一个有参考价值的产品化方向。
目前项目已在 Google Play Store 上架,获得了 425+ GitHub stars,增长趋势得分 54.9/月趋势得分 65.07(数据来源:PIFS 2026-06-25),正处于从早期爱好者项目向成熟产品过渡的关键阶段。