Skip to content

Latest commit

 

History

History
255 lines (191 loc) · 6.83 KB

File metadata and controls

255 lines (191 loc) · 6.83 KB

BotDrop v0.2.2 功能检查清单

检查日期:2026-02-09

目标功能

  • 自动更新
  • Slim bootstrap
  • OpenClaw 模型配置完全支持
  • SSH/Terminal 中可用 openclaw 命令

详细检查结果

1. 自动更新 ✅

状态:已实现

实现文件:

  • app/src/main/java/app/botdrop/UpdateChecker.java (219 行)
  • app/src/main/java/app/botdrop/DashboardActivity.java (调用 UpdateChecker)

功能:

  • ✅ 每 24 小时检查一次更新
  • ✅ 查询 https://api.botdrop.app/version API
  • ✅ 在 Dashboard 显示更新横幅
  • ✅ 支持下载链接跳转
  • ✅ 支持忽略特定版本
  • ✅ 语义化版本比较 (semver)
  • ✅ 静默失败(网络错误不影响使用)

测试:

# 已在 DashboardActivity 中验证
UpdateChecker.check(this, (latestVersion, downloadUrl, notes) -> showUpdateBanner(...));

状态码:200 - 完全实现


2. Slim Bootstrap ✅

状态:已实现

配置文件:

  • 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 - 完全实现


3. OpenClaw 命令可用 ✅

状态:已实现

验证:

# 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   default

PATH 配置:

/data/data/app.botdrop/files/usr/bin:/product/bin:...

注意事项:

  • ✅ 在 termux-chroot 环境中可直接使用 openclaw 命令
  • ✅ 在普通 SSH session 中需要加 termux-chroot 前缀
  • ✅ 从 "Open Terminal" 打开的终端自动在 chroot 环境中

状态码:200 - 完全实现


4. OpenClaw 模型配置完全支持 ❓

状态:需要澄清

当前实现:

  • 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>

需要澄清的问题:

  1. "完全支持"的具体含义是什么?

    • GUI 中显示所有可用模型列表供选择?
    • 支持添加自定义模型?
    • 支持多模型切换(通过 bot 聊天)?
    • 其他?
  2. 设计文档中的描述:

    • "调模型"是通过跟 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/CD

  • CI workflow 配置正确
  • 签名密钥配置正确(需要验证)
  • GitHub Release 准备

建议

关于"模型配置完全支持"

建议采用方案 B(保持最简设计):

理由:

  1. 符合设计文档的核心理念:"App 做最少的事"
  2. OpenClaw CLI 已经提供完整的模型管理功能
  3. 用户可以通过 Terminal 或 SSH 使用 openclaw models 命令
  4. 避免在 GUI 中重复实现已有功能
  5. 保持代码简洁,减少维护成本

如果确实需要 GUI 支持: 建议在 v0.2.3 或更高版本中实现,作为一个独立的功能点进行设计和开发。

发版前建议

  1. 添加配置说明到 DashboardActivity

    • 在 "Open Terminal" 按钮附近添加提示
    • "Advanced: Use 'openclaw models list' to manage AI models"
  2. 验证完整流程

    • 全新安装 → 设置 provider → 连接 Telegram → 发送消息
    • 确保所有步骤流畅无错误
  3. 准备 Release Notes

    • 突出 slim bootstrap(APK 体积减小)
    • 说明 autoSelectFamily 修复(Telegram 稳定性提升)
    • 提到自动更新功能

总结

功能 状态 优先级 操作
自动更新 ✅ 完成 P0 无需操作
Slim bootstrap ✅ 完成 P0 无需操作
OpenClaw 命令 ✅ 完成 P0 无需操作
模型配置支持 ❓ 待澄清 P1 需要确认需求

建议操作:

  1. 澄清"模型配置完全支持"的具体需求
  2. 如果采用方案 B,可以立即准备发版
  3. 如果需要 GUI 支持,建议延后到 v0.2.3

预计发版准备时间:

  • 方案 B(现状):立即可发版
  • 方案 A(简单选择器):+2-3 小时
  • 方案 C(完整 UI):+4-5 小时