这是一个面向学习平板的受控工具箱系统。当前方向已经放弃“远程静默安装 APK”废案,保留本次对话中真正可用的三块:
android/:已安装到平板的 Android WebView 锚点壳。toolbox-site/:部署到https://toolbox.zakuku.top/的工具箱网页。server/:最小 FastAPI 后端,提供微聊、文件附件和亲子任务投递接口。
- 平板 App 固定访问
https://toolbox.zakuku.top/。 - 网页可远程更新,无需重新安装平板 APK。
- 在 App WebView 内可检测
window.StudyToolbox,自动识别为孩子端。 - 普通浏览器访问默认是家长端。
- 2026-06-21 新版 APK 补齐原生图库选择、M4A 录音桥、麦克风授权和微聊后台轮询通知;若 2026-06-22 之后拿不到平板,应优先维护网页和后端。
- 工具箱网页包含:
- 移动端优先的卡片首页和底部导航。
- DeepSeek HTML 导入、保存、全屏运行。
- 本地小任务清单。
- 微聊留言,包含类微信/QQ 的气泡聊天 UI、相册/文件附件面板、按住说话、上滑取消、语音气泡播放和大图缩放预览。
- 亲子任务投递,家长可发布/重发任务,孩子可接受、退回或标记完成。
- 学习收件箱,家长可远程投递 HTML,孩子端可全屏运行或保存到本地记录。
- 修改
toolbox-site/index.html。 - 上传覆盖服务器站点根目录的
index.html。 - 平板 App 下次打开或刷新即生效。
cd server
.\venv\Scripts\python.exe -m uvicorn app.main:app --host 0.0.0.0 --port 8000生产环境需要在 Nginx/宝塔里把 https://toolbox.zakuku.top/api/ 反向代理到 http://127.0.0.1:8000/api/,并用 location ^~ /api/ 避免上传图片被静态文件规则拦截。
只有拿到平板并需要更新原生能力时才需要重新打包。当前装机窗口到 2026-06-22 前,建议安装 2026-06-21+ APK,以获得孩子端图库式图片上传、原生 M4A 录音和系统通知小红点基础能力:
cd android
$env:JAVA_HOME='C:\Ep\Environment\Java\jdk17'
$env:Path="$env:JAVA_HOME\bin;$env:Path"
& 'C:\Users\hp1080\.gradle\wrapper\dists\gradle-8.9-bin\90cnw93cvbtalezasaz0blq0a\gradle-8.9\bin\gradle.bat' :app:assembleDebug若 Windows 内存/分页文件不足导致 Gradle daemon 崩溃,保留 android/gradle.properties 中较保守的 -Xmx1024m -XX:MaxMetaspaceSize=512m 配置。
安装产物:
android/app/build/outputs/apk/debug/app-debug.apk
以下内容已删除或裁剪,不要再恢复为主路线:
- 旧 React Web 管理端
web/。 - 旧 APK 上传/设备/任务/WebSocket/静默安装后端。
- 旧 Device Owner 静默安装计划
chat.md。 - 旧 Android 静默安装器代码包
com.silentinstaller。
原因:目标平板已有孩子端作为 Device Owner,第三方普通 App 无法稳定实现静默安装。