# BotPocket **Repository Path**: deku772/bot-pocket ## Basic Information - **Project Name**: BotPocket - **Description**: Android Bot 管理客户端 — 在手机上一键部署和管理 AstrBot 聊天机器人 🤖 AstrBot 核心引擎 — 支持 AstrBot 的全部能力 📱 无需 QQ 扫码 — 首选飞书/QQ 官方 API,不依赖第三方协议 🔄 Bot 核心热更新 — App 内一键升级 AstrBot,无需等新版 APK 💬 多 IM 平台 — 飞书、QQ 官方机器人 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BotPocket > Android Bot 管理客户端 — 在手机上一键部署和管理 AstrBot 聊天机器人 ## 特性 - 🤖 **AstrBot 核心引擎** — 支持 AstrBot 的全部能力(1000+ 插件生态) - 📱 **无需 QQ 扫码** — 首选飞书/QQ 官方 API,不依赖第三方协议 - 🔄 **Bot 核心热更新** — App 内一键升级 AstrBot,无需等新版 APK - 💬 **多 IM 平台** — 飞书、QQ 官方机器人、Telegram、Discord - 🧠 **多 LLM 支持** — OpenAI、DeepSeek、Gemini、通义千问、智谱、Ollama 等 - 🖥️ **内置终端** — 高级用户可直接操作 proot Linux 环境 - 🔧 **可视化配置** — API Key、IM 平台配置全程 GUI,无需手动改文件 - 📦 **组件级管理** — 运行时二进制、rootfs、容器初始化、AstrBot 独立重装 ## 架构 ``` ┌──────────────────────────────────────┐ │ BotPocket App (Kotlin/Compose) │ │ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │ │ Bot 管理 │ │ IM 配置 │ │ API 配置│ │ │ └────┬────┘ └────┬────┘ └───┬────┘ │ │ └─────┬─────┴──────────┘ │ │ 核心服务层 (HTTP API 桥接) │ ├──────────────────┬───────────────────┤ │ proot Linux 环境 │ AstrBot 核心进程 │ └──────────────────┴───────────────────┘ │ │ IM 官方 API LLM 服务商 API 飞书 / QQ / ... OpenAI / DS / ... ``` ## 技术栈 | 层级 | 技术 | |------|------| | **UI** | Jetpack Compose + Material 3 | | **架构** | MVVM + Hilt 依赖注入 | | **数据库** | Room | | **网络** | OkHttp + Retrofit + Kotlinx Serialization | | **Bot 通信** | AstrBot HTTP API (SSE) | | **运行时** | proot 5.1.107 (Termux) + Debian rootfs + Python venv | | **Native 二进制** | jniLibs 安装方式,16KB 页面对齐,兼容 Android 15+ | | **后台保活** | Android Foreground Service | ## 项目结构 ``` app/src/main/java/com/botdock/botpocket/ ├── BotPocketApp.kt # Application ├── MainActivity.kt # 主 Activity ├── core/ # 核心服务层 │ ├── BotEngine.kt # 引擎枚举 │ ├── ImPlatform.kt # IM 平台定义 │ ├── ProotManager.kt # proot 环境管理(安装/启动/终端/升级) │ ├── BotBridge.kt # AstrBot HTTP API 桥接 │ ├── BotService.kt # 前台服务 │ ├── ConfigManager.kt # 配置管理 │ ├── RuntimeInstaller.kt # 运行时安装器(组件状态追踪) │ ├── RootfsExtractor.kt # rootfs 解压 │ ├── RootHelper.kt # root/SELinux 辅助 │ ├── BackupManager.kt # 备份/恢复 │ ├── UpdateManager.kt # 热更新管理 │ ├── PermissionManager.kt # 权限管理 │ └── BootReceiver.kt # 开机自启 ├── data/ │ ├── local/ # Room 数据库 │ │ ├── BotDatabase.kt │ │ ├── dao/ │ │ └── entity/ │ ├── remote/ # API 客户端 │ │ ├── AstrBotApi.kt │ │ └── dto/ │ └── model/ # UI 模型 ├── di/ # Hilt 模块 │ └── AppModule.kt └── ui/ ├── navigation/ # 导航 ├── screen/ # 页面 ├── viewmodel/ # ViewModel └── theme/ # 主题 ``` ## 构建 ```bash # 克隆项目 git clone https://github.com/zhixianio/botdrop-android.git cd botdrop-android/bot-pocket # 构建 Debug APK ./gradlew assembleDebug # APK 输出路径 # app/build/outputs/apk/debug/app-debug.apk ``` ## 开发路线 ### v0.1.0 - [x] 项目骨架 - [x] Compose UI 框架 - [x] AstrBot HTTP API 桥接层 - [x] Room 数据库 - [x] 飞书 + QQ 官方机器人配置 - [x] LLM API 配置 - [x] 安装向导 UI ### v0.2.0 (当前) - [x] proot 集成(Termux proot 5.1.107 + jniLibs 安装) - [x] Debian rootfs 下载/解压(多源加速) - [x] AstrBot 进程生命周期管理(前台服务保活) - [x] 实时日志流 - [x] 内置终端模拟器 - [x] 组件级状态追踪(binaries/rootfs/bootstrap/astrbot 独立重装) - [x] 16KB 页面对齐(Android 15+ 兼容) - [x] libtalloc.so.2 符号链接/拷贝自动处理 - [x] Root 设备 SELinux permissive fallback ### v0.3.0 (下一步) - [ ] SSE 流式对话 - [ ] 热更新机制完善 - [ ] 插件管理 - [ ] 开机自启 - [ ] 备份/恢复 ## 致谢 - [AstrBot](https://github.com/Soulter/AstrBot) — 聊天机器人核心引擎 - [Termux proot](https://github.com/termux/proot) — Linux 容器运行时 - [AstrBot-Android-App](https://github.com/zz6zz666/AstrBot-Android-App) — Android proot 集成参考 - [openclaw-termux-zh](https://github.com/JunWan666/openclaw-termux-zh) — proot 执行架构参考 ## 开源协议 MIT License > 注意:BotPocket 客户端本身使用 MIT 协议。 > AstrBot 作为运行时组件由用户自行安装,遵循其自身的 AGPL-3.0 协议。