Repository navigation
v2.1 — 对话历史 / 下载可靠性 / 工程化
主要变化
对话体验
- 对话历史持久化:每个模型可保存多个会话(自动落盘,退出不丢),支持「历史会话」切换与「新对话」
- 长按气泡:复制 / 重新生成 / 编辑并重发 / 删除本条;新增「导出对话」(系统分享)
- 状态条实时显示上下文用量;点停止后立即提示「正在停止…」
下载可靠性
- 断点续传(带
Range请求,服务端不支持时自动从头下) - 完整性校验:字节数 + GGUF 魔数,挡掉错误页/半截文件
- 前台服务 + 进度通知;任务落盘,进程被杀后再进入应用自动接着下
- 取消即时生效(主动断开连接)
稳定性
- 修复 JNI
nativeCancel/nativeFree的 use-after-free 隐患(存活会话表 + 统一加锁) - 模型索引改为「临时文件 + 原子改名」,避免半截索引导致本地模型全部消失
- 各页面补齐 Handler 清理与生命周期守卫;本地模型库磁盘 IO 移出主线程
- 模型列表改用 DiffUtil;详情页失败可「点按重试」
工程化
- 17 个单元测试、Lint 改为严格模式、CI 增加测试与 Lint
- 依赖改用 Version Catalog(core 1.15 / material 1.13 / recyclerview 1.4)
- release 开启 R8 混淆 + 资源压缩:安装包 20.6 MB → 11.6 MB
- 引入 Gradle Wrapper 8.14.5
安装
本包为正式签名(与仓库 dist/ 内容一致),可直接覆盖安装 v1.0 / v1.1 / v2.0,无需卸载。
要求:Android 7.0 (API 24) 及以上,建议 arm64 机型 + 至少 4 GB 内存。