在 Android 上一键部署 AstrBot 终端 —— 无需手动敲命令,GUI 全程搞定。
支持两种运行模式:
- Root 模式 (chroot) —— 需要 Root 权限,零性能损耗,直接跑在 Linux 环境
- 免 Root 模式 (proot) —— 无需 Root,无需 Shizuku,通过 ptrace 系统调用拦截运行 Linux 环境
| 文档 | 说明 |
|---|---|
| 飞书 CLI 安装与使用指南 | 飞书 CLI 完整配置流程、踩坑记录、常用命令 |
| 浏览器自动化指南 | Playwright 安装配置、核心用法、实战示例 |
Rbot 是一个轻量级一键终端部署壳子,专为 AstrBot 设计:
- 部署 —— 通过 chroot/proot 运行 Ubuntu rootfs,安装 AstrBot(Python 3.13)
- 启停 —— 一键启动/停止 AstrBot,后台保活
- 终端 —— 内置全功能终端(快捷键、文字选择复制粘贴)
- 日志 —— 实时查看 AstrBot 运行日志
- 管理 —— 重装依赖、重置密码、修复环境
- 一键部署 —— rootfs 提取 + AstrBot 安装,全自动
- 免 Root 支持 —— proot 模式无需 Root,无需 Shizuku,开箱即用
- chroot 原生运行 —— Root 模式零性能损耗,直接跑在 Linux 环境
- 内置终端 —— ZeroTermux 风格快捷键栏,长按选择复制粘贴,sticky modifier 键
- Python 3.13 —— 使用 deadsnakes PPA,满足 AstrBot v4.x 要求
- SSH 远程访问 —— 自动生成 root 密码,支持外部 SSH 连接
- WebUI 管理 —— 通过浏览器访问 AstrBot 管理界面
- 后台保活 —— 前台服务 + 自动重启
- 开机自启 —— 开机即用
从 Releases 下载最新版本。
前置要求:
- JDK 17
- Android SDK(compileSdk 36)
- NDK r29+
git clone https://github.com/deku772/Rbot.git
cd Rbot
git checkout root
./gradlew assembleDebugAPK 位于 app/build/outputs/apk/debug/。
- 首次启动 —— 选择「免 Root 模式」,自动下载并部署 Ubuntu rootfs
- 安装 AstrBot —— 点击「安装 AstrBot」,自动完成环境配置
- 启动服务 —— 点击「启动」,AstrBot 将在后台运行
- WebUI —— 在面板点击链接,浏览器打开 AstrBot 管理界面
- SSH 连接 —— 在 SSH 信息面板查看 IP、端口、用户名和密码
- 首次启动 —— 授予 Root 权限,自动下载并部署 Ubuntu rootfs
- 安装 AstrBot —— 点击「安装 AstrBot」,自动完成环境配置
- 启动服务 —— 点击「启动」,AstrBot 将在后台运行
- 查看日志 —— 在「日志」Tab 实时查看运行状态
- SSH 连接 —— 在 SSH 信息面板查看 IP、端口、用户名和密码
在「管理」Tab 中可以:
- 重装系统依赖 —— 重新安装 Python 3.13、git、curl 等
- 重装 AstrBot —— 保留配置,重新安装 AstrBot
- 重置 Root 密码 —— 生成新密码或自定义密码
- 修复环境 —— 重新挂载 chroot、修复 apt、重启 SSH
- 完全重装 —— 清除所有数据,重新部署
/data/rbot/ ← chroot 根目录
├── .rbot-rootfs-ready ← rootfs 就绪标记
├── .rbot-astrbot-ready ← AstrBot 安装标记
└── root/ ← rootfs 内容(root:root 700)
├── astrbot/ ← AstrBot 安装目录
└── .rbot_pass ← root 密码文件
/data/data/app.rbot/files/ ← app 内部存储
├── proot-rootfs/ ← rootfs 目录
│ └── root/astrbot/ ← AstrBot 安装目录
├── proot-config/ ← proot 配置(proc fakes, resolv.conf)
├── proot-home/ ← /root/home 覆盖
├── proot-gateway.pid ← proot 网关进程 PID
└── proot-ssh.pid ← proot SSH 进程 PID
┌──────────────────────────────────────┐
│ Rbot UI │
│ ├── MainActivity(状态面板 + 导航) │
│ ├── ShellActivity(内置终端) │
│ ├── LogActivity(日志查看) │
│ ├── SettingsActivity(设置) │
│ └── SetupActivity / ManageActivity │
├──────────────────────────────────────┤
│ RbotService(前台保活服务) │
├──────────────────────────────────────┤
│ AstrBotAdapter(模式路由) │
│ ├── ChrootManager(chroot 核心) │
│ └── PRootManager(proot 核心) │
├──────────────────────────────────────┤
│ su -c chroot /data/rbot /bin/bash │ ← Root 模式
│ proot --change-id=0:0 ... │ ← 免 Root 模式
├──────────────────────────────────────┤
│ Ubuntu rootfs │
│ ├── AstrBot + Python 3.13 + pip │
│ └── Dropbear SSH │
└──────────────────────────────────────┘
| 分支 | 说明 |
|---|---|
root |
主分支 —— chroot + proot 双模式 |
no-root |
历史分支 —— Termux + proot 方案 |
master |
历史分支 —— 旧版 |
新功能:
- 新增免 Root (proot) 模式:无需 Root、无需 Shizuku,开箱即用
- proot 通过 ptrace 系统调用拦截运行完整 Ubuntu rootfs
- proot 网关守护进程架构:proot 作为常驻容器,AstrBot/SSH 在其内运行
- 权限页面 proot 模式隐藏 Shizuku 卡片
- 内置终端支持 proot 模式(自动选择 proot/chroot shell)
- WebUI 面板同时显示本机和局域网地址
- SSH 面板显示局域网地址(端口 8022)
Bug 修复:
- 修复 PRoot 模式下安装标记文件位置错误
- 修复测速 URL 使用非 GitHub 地址导致代理失效
- 修复环境变量清除导致 libtalloc.so.2 链接失败
- 修复 RbotService 未根据运行模式选择正确的启动方法
- 修复 AuthManager 模式检测逻辑,确保无 root/Shizuku 时自动使用 PRoot 模式
- 增强 PRootManager 下载逻辑,添加重试机制和详细日志
- 修复 BINARIES 状态显示问题,在 PRoot 模式下正确显示"PRoot 已就绪"
- 修复进程状态检测逻辑,确保在 PRoot 环境内部检查进程状态
- 增强启动命令调试信息输出,便于问题定位
- 修复 PRoot 模式 SSH 密码设置失败问题
技术改进:
- PRoot 模式下使用不同的标记文件路径
- 代理测速仅使用 GitHub 官方 API
- 显式传递 LD_LIBRARY_PATH 环境变量
- 添加 proot 下载备用链接和重试机制
- 在 PRoot 环境内部检查进程状态而非从主机检查
- SSH 登录时抑制 groups 命令警告
- 新增内置终端(ShellActivity):ZeroTermux 风格 2x7 快捷键栏
- 终端支持 sticky modifier 键(CTRL/ALT 单击粘滞、长按锁定)
- 终端支持长按文字选择复制粘贴
- 修复终端输入不实时刷新
- 修复页面切换卡顿(chroot 初始化移到后台线程)
- 修复 chroot shell 启动报错(PATH、cwd、.hushlogin)
- SSH 改用 Dropbear 替代 OpenSSH,修复密码验证失败
- SSH 改用 Dropbear 替代 OpenSSH,修复 chroot 中密码验证失败
- 修复 AstrBot 启动/停止/状态检测(toybox bash 兼容性)
- 修复 wc -l exit code 问题导致状态始终显示「已停止」
- 修复 stopAstrBot 的 PID 解析
- 移除 MonitorAlarmReceiver 周期检查(改为开机拉起一次)
- 启动命令统一为 python3 main.py
- 修复 /tmp 不可写导致备份失败(tmpfs + TMPDIR)
- 修复停止后 AstrBot 自动重启
- 备份恢复改为直接 cp,更稳定
- SSH 信息点击复制
- 构建修复:Android Studio versionCode/versionName 为空
- 全新 UI:日志/管理双 Tab 设计
- 集成 SSH 服务,支持远程管理
- 自动设置 root 密码
- Python 3.13 环境(deadsnakes PPA)
- 管理功能:重装依赖、重装 AstrBot、重置密码、修复环境
- 状态检测修复
基于 GNU General Public License v3.0 开源。 基于 Termux(GPLv3)构建。






