>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Java

在手机上运行带有AI Agent的即时通讯应用:octo-android 示例

OCTO

在大多数企业聊天应用中,机器人只能发送来自监控系统的告警或请求休假审批。Mininglamp-OSS 的开发者决定更进一步,创建了 OCTO 平台。其理念很简单:数字孪生处理日常任务和初步推理,而人类负责评估结果和做决策。

仓库 octo-android 是该平台的官方移动客户端。与大多数现代企业通讯应用不同,作者没有用 WebView 包装网页应用,而是提供了使用 Kotlin 和 Java 构建的原生软件。

架构和实现的有趣之处

移动客户端基于 TangSengDaoDaoAndroid 项目和 WuKongIM 网络引擎构建。应用通过 REST API 与后端通信,并保持持久的 WebSocket 连接。

以下是客户端的构建组成:

  • Module wukong-sdk 处理实时消息传输。
  • 本地存储使用 Room DB 组织。聊天历史和未缓存的草稿直接保存在设备上。
  • 授权令牌存储在安全的 EncryptedSharedPreferences 中。
  • 后台通知通过标准服务和 Firebase Cloud Messaging 到达。

界面遵循 Material 3 指南构建。部分页面使用 Jetpack Compose 编写,其他则使用经典 XML 布局。单独的包 agent 包含用于 AI 工作的组件:生成状态跟踪、工具调用预览和流式模式下的响应可视化。

构建和定制体验

开发者声明了本地优先原则。所有数据属于用户,基于 Go 的后端 octo-server 可以轻松部署在自有服务器上。

如果想根据公司需求从源代码构建应用,需要完成强制清单。项目发布时不包含嵌入式密钥或第三方密钥:

  1. 将默认的 applicationIdcom.example.octo 更改为您组织的域名。
  2. 在 Firebase 中创建项目,并将您自己的 google-services.json 添加到模块文件夹。
  3. 生成用于签名 release 版本的 keystore,并在 Gradle 中配置。
  4. config.xml 文件中指定您的实例 octo-server 地址。

未完成前三个步骤,Gradle 将拒绝构建最终文件。但至少代码中肯定没有第三方后门或测试证书。

git clone https://github.com/Mininglamp-OSS/octo-android.git
cd octo-android

# Сборка отладочной версии через CLI
./gradlew :app:assembleDebug

# Установка на подключенное устройство
./gradlew :app:installDebug

快速入门不需要手动构建项目。作者在 Releases 部分发布现成的 APK。只需在智能手机上安装应用并在登录时输入服务器地址即可。

生态系统和统一协议

仓库 octo-android 本身只打开了整个系统的一部分。服务器逻辑在 octo-server 中,任务管理器分离为 octo-matter,自动对话摘要由服务 octo-smart-summary 处理。

所有客户端——移动应用和 React 中的桌面版本——都基于相同协议工作,并使用通用本地化键。这简化了维护:AI Agent 逻辑或打字状态显示不需要为每个平台单独修改。

谁会发现这个项目有用

该仓库对寻找具有自托管能力和原生 LLM Agent 支持的开源即时通讯工具的团队很有用。源代码 octo-android 对 Android 开发者也很有帮助。这里可以了解基于 WuKongIM 的传输层实现、Room 中的离线缓存组织,以及流式神经网络响应的便捷界面。

相关项目