把 pi-web(编码代理 Web 应用)连同 Node.js 运行时打包成自包含 Android APK。App 内嵌 node 进程,由前台服务在后台常驻,WebView 访问本地服务(http://127.0.0.1:30143)。
- 退后台/划掉任务后服务继续运行,通知栏可停止或重试
- node 异常退出自动重启(进程 + 端口双探活)
- 首次启动解压运行时(约 270MB)带真实进度,熄屏不中断
- 内置 CA 证书,https 调用 LLM API 可用
- 独立家目录
files/home(对标 Termux):pi 配置/会话/工作目录与运行时杂物隔离
这是应用沙箱内的 agent 环境,不是完整开发环境:无法访问手机上的真实项目,沙箱内 没有 bash/git/node CLI 等工具链,agent 只能做纯文件读写。详见 docs/restriction.md。
cp build/config.env.example build/config.env
./build/build.sh # 产物在 build/work/dist/构建流程:从 Termux 仓库拉取 node + 依赖 .so → npm 安装 pi-web → 裁剪 → Gradle 打包,详见 docs/build.md。
常用参数:--skip-fetch / --skip-prune(复用缓存)、--release(需 keystore)、clean。
环境要求:bash、curl、python3、dpkg-deb、readelf、npm、zip/unzip、JDK 17+、Android SDK(platforms;android-34 + build-tools;34.0.0)。GitHub Actions 已配置自动构建(push/PR 触发)。
app/ Android 应用:MainActivity.kt(WebView 入口)、NodeService.kt(服务生命周期)
build/ 构建系统:build.sh 入口 + 4 阶段脚本,中间产物在 work/(gitignored)
docs/ build.md(构建指南)、restriction.md(运行时限制)
注意:app/src/main/assets/ 与 jniLibs/ 是构建产物,勿手动提交;build/config.env 不入库(以 config.env.example 为源)。