检查日期:2026-02-09
- 自动更新
- Slim bootstrap
- OpenClaw 模型配置完全支持
- SSH/Terminal 中可用 openclaw 命令
状态:已实现
实现文件:
app/src/main/java/app/botdrop/UpdateChecker.java(219 行)app/src/main/java/app/botdrop/DashboardActivity.java(调用 UpdateChecker)
功能:
- ✅ 每 24 小时检查一次更新
- ✅ 查询
https://api.botdrop.app/versionAPI - ✅ 在 Dashboard 显示更新横幅
- ✅ 支持下载链接跳转
- ✅ 支持忽略特定版本
- ✅ 语义化版本比较 (semver)
- ✅ 静默失败(网络错误不影响使用)
测试:
# 已在 DashboardActivity 中验证
UpdateChecker.check(this, (latestVersion, downloadUrl, notes) -> showUpdateBanner(...));状态码:200 - 完全实现
状态:已实现
配置文件:
app/build.gradle(第 183 行).github/workflows/build-apk.yml(第 42 行)
本地构建:
def remoteUrl = "https://github.com/zhixianio/botdrop-packages/releases/latest/download/bootstrap-" + arch + ".zip"CI 构建:
url="https://github.com/zhixianio/botdrop-packages/releases/latest/download/bootstrap-aarch64.zip"验证:
- ✅ 本地和 CI 都使用
/releases/latest/download/ - ✅ 当前 latest release 指向 slim bootstrap (95MB vs 159MB full)
- ✅ 已测试 slim bootstrap 功能正常
- ✅ 文档已更新:
docs/troubleshooting/2026-02-09-slim-bootstrap-ssl-issue.md
状态码:200 - 完全实现
状态:已实现
验证:
# SSH 登录后
$ which openclaw
/data/data/app.botdrop/files/usr/bin/openclaw
# termux-chroot 环境中
$ termux-chroot openclaw --version
2026.2.6-3
$ termux-chroot openclaw models list
Model Input Ctx Local Auth Tags
google/gemini-3-flash-preview text+image 1024k no yes defaultPATH 配置:
/data/data/app.botdrop/files/usr/bin:/product/bin:...
注意事项:
- ✅ 在 termux-chroot 环境中可直接使用
openclaw命令 - ✅ 在普通 SSH session 中需要加
termux-chroot前缀 - ✅ 从 "Open Terminal" 打开的终端自动在 chroot 环境中
状态码:200 - 完全实现
状态:需要澄清
当前实现:
- ✅
AuthFragment.java中设置默认模型 - ✅
BotDropConfig.setProvider()写入agents.defaults.model.primary - ✅ 配置格式:
"primary": "provider/model"
当前配置示例:
{
"agents": {
"defaults": {
"model": {
"primary": "google/gemini-3-flash-preview"
}
}
}
}OpenClaw 原生支持:
$ openclaw models list
Model Input Ctx Local Auth Tags
google/gemini-3-flash-preview text+image 1024k no yes default
# 可以通过 openclaw CLI 管理模型
$ openclaw models add <provider>/<model>
$ openclaw config set agents.defaults.model.primary <provider>/<model>需要澄清的问题:
-
"完全支持"的具体含义是什么?
- GUI 中显示所有可用模型列表供选择?
- 支持添加自定义模型?
- 支持多模型切换(通过 bot 聊天)?
- 其他?
-
设计文档中的描述:
- "调模型"是通过跟 bot 聊天完成的
- 例如:用户发消息 "换成 GPT-4.5" → bot 修改配置 → 重启
- App GUI 不做复杂的 Settings UI
建议的实现方案:
方案 A:GUI 中添加模型选择器
- 在
AuthFragment中调用openclaw models list获取可用模型 - 显示下拉列表让用户选择
- 工作量:~2-3 小时
方案 B:保持最简设计
- App 只设置默认模型(当前已实现)
- 用户通过 CLI 或 bot 聊天切换模型
- 符合设计文档的"最少步骤"原则
- 工作量:0 小时(已完成)
方案 C:Dashboard 中添加快速切换
- 在 Dashboard 添加"Change Model"按钮
- 点击后显示模型列表
- 选择后自动更新配置并重启 gateway
- 工作量:~4-5 小时
当前状态码:202 - 需要澄清需求
- 版本号已更新:
versionName "0.2.2",versionCode 4 - 自动更新功能已实现
- Slim bootstrap 配置正确
- OpenClaw 命令可用
- 模型配置支持(待澄清)
-
CLAUDE.md已更新 - 故障排查文档已添加
-
docs/troubleshooting/2026-02-09-slim-bootstrap-ssl-issue.md -
docs/troubleshooting/2026-02-09-telegram-fetch-ipv6-issue.md
-
-
CHANGELOG.md需要更新(如果有) - Release notes 准备
- 本地构建成功
- Slim bootstrap 功能正常
- Telegram bot 正常工作(autoSelectFamily 修复)
- SSH 访问正常
- OpenClaw 命令可用
- 完整功能测试(安装 → 设置 → 运行)
- CI workflow 配置正确
- 签名密钥配置正确(需要验证)
- GitHub Release 准备
建议采用方案 B(保持最简设计):
理由:
- 符合设计文档的核心理念:"App 做最少的事"
- OpenClaw CLI 已经提供完整的模型管理功能
- 用户可以通过 Terminal 或 SSH 使用
openclaw models命令 - 避免在 GUI 中重复实现已有功能
- 保持代码简洁,减少维护成本
如果确实需要 GUI 支持: 建议在 v0.2.3 或更高版本中实现,作为一个独立的功能点进行设计和开发。
-
添加配置说明到 DashboardActivity
- 在 "Open Terminal" 按钮附近添加提示
- "Advanced: Use 'openclaw models list' to manage AI models"
-
验证完整流程
- 全新安装 → 设置 provider → 连接 Telegram → 发送消息
- 确保所有步骤流畅无错误
-
准备 Release Notes
- 突出 slim bootstrap(APK 体积减小)
- 说明 autoSelectFamily 修复(Telegram 稳定性提升)
- 提到自动更新功能
| 功能 | 状态 | 优先级 | 操作 |
|---|---|---|---|
| 自动更新 | ✅ 完成 | P0 | 无需操作 |
| Slim bootstrap | ✅ 完成 | P0 | 无需操作 |
| OpenClaw 命令 | ✅ 完成 | P0 | 无需操作 |
| 模型配置支持 | ❓ 待澄清 | P1 | 需要确认需求 |
建议操作:
- 澄清"模型配置完全支持"的具体需求
- 如果采用方案 B,可以立即准备发版
- 如果需要 GUI 支持,建议延后到 v0.2.3
预计发版准备时间:
- 方案 B(现状):立即可发版
- 方案 A(简单选择器):+2-3 小时
- 方案 C(完整 UI):+4-5 小时