Skip to content

Releases: ice-wocker/ModelScopeBrowser

v2.4.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:43

Full Changelog: v2.4.0...v2.4.1

v2.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:15

Full Changelog: v2.3.1...v2.4.0

v2.3.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 08:23

Full Changelog: v2.3.0...v2.3.1

v2.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 07:47

v2.3.0:arm64 多档指令集 + FlashAttention + KV 量化

1. 多档指令集:让新芯片跑更快的量化内核

以前是单一构建,固定 armv8.2-a+dotprod+fp16,所有 arm64 机型只能跑同一档,且缺 dotprod 的老机被直接拒绝。
现在改用 GGML_CPU_ALL_VARIANTS,为 Android arm64 编出多份 CPU 后端,运行时由 ggml_backend_score() 按 HWCAP 打分,只加载分数最高的那一档:

后端 指令集 典型芯片
android_armv8.0_1 基线 armv8-a 所有 arm64(兜底)
android_armv8.2_1/2 dotprod / +fp16 2018 年后的处理器
android_armv8.6_1 +i8mm 骁龙 8 Gen 1+ / 天玑 9000+ 等
android_armv9.0_1 +SVE2 天玑 9200+ 等
android_armv9.2_1/2 +SVE/+SME 最新旗舰

产物反汇编核对:armv8.0 档 0 条 sdot/smmla,armv8.2 档 747 条 sdot,armv8.6 档额外 174 条 smmla(i8mm),armv9.0 档 308 条 smmla。

兼容性反而更好:基线改回 armv8-a 后,移除了原先 dotprod+fp16 的硬门槛,老 arm64 也能跑了。

2. FlashAttention + KV 缓存量化

  • 上下文开启 flash_attn_type = AUTO(模型支持时减少注意力读写)
  • KV 缓存量化为 q8_0:注意力读写量减半,KV 内存约为原来的 1/2

3. 输出上限进一步放开

  • 单次最长输出默认 1024 → 4096(可调至 8192)
  • 默认上下文 4096 → 8192(可调至 32768)
  • 输出必须挤在上下文里(上下文 = 提示词/历史 + 本次输出),设置时会自动收敛到 3/4 以内
  • 新增「继续生成」:长按回复即可接着往下写

说明

  • 本次为纯 CPU 推理:Vulkan/OpenCL 卸载所需工具链(glslc / Vulkan SDK)在构建环境不具备,未启用
  • 因此提速幅度与芯片强相关:支持 i8mm/SVE 的新机型收益最大(量化矩阵乘走 smmla),老机型与之前持平
  • 由于多了几份后端 .so,安装包由 12 MB 增至约 17 MB
  • 安装包为 CI 正式签名(与仓库 dist/ 同一签名),可直接覆盖安装

Full Changelog: v2.2.0...v2.3.0

v2.2.0

Choose a tag to compare

@ice-wocker ice-wocker released this 27 Sep 07:00

v2.2.0:对话页升级为智能体界面

输出上限放开

  • 单次生成长度默认 256 → 1024 tokens(可调上限 8192)
  • 默认上下文窗口 2048 → 4096(可调上限 16384)

联网搜索(开关式)

  • 对话页「联网」打开后,每次提问先检索网页再作答,并在末尾列出参考来源
  • 无需 API Key(DuckDuckGo,失败退回 Bing);也可 /search 关键词

工作区文件 + HTML 预览

  • 模型输出带文件名的代码块(如 html filename=index.html)或 html 代码块自动保存到应用私有工作区
  • 新增工作区页(浏览 / 新建 / 查看 / 分享 / 删除)与 HTML 预览页(WebView,支持 JS/CSS/相对资源)

本机终端

  • 受限命令直接读写手机上的工作区:ls / cd / cat / head / wc / write / append / mkdir / rm / mv / cp / find / tree / echo / date / uname / df / clear
  • 对话内斜杠命令直通:/ls、/cat f、/write f 内容、/run tree …

界面

  • AI 回复改用 Markdown 渲染(标题 / 列表 / 引用 / 表格 / 代码块),流式过程先用纯文本
  • 新增工具卡片、能力栏、快捷示例与输入框工具菜单

安装包为正式签名(与 dist/ 完全一致)。修图:v2.1 的包不可用(JNI 回调被混淆),v2.1.1 起已修复。

v2.1.1 — 修复 R8 混淆导致模型无法加载

Choose a tag to compare

@ice-wocker ice-wocker released this 27 Sep 02:47

修复

  • 修复 release 包(R8 混淆后)加载任意模型都失败的问题:no non-static method "Lxxx;.onToken(Ljava/lang/String;)V"
    • 原因:native 层用字面方法名回调 onToken,v2.1 的 proguard 规则只保住了 native 方法与 LlamaBridge 本身,方法名被 R8 重命名
    • 修复:保留 LlamaBridge$TokenCallback 接口及所有实现类的 onToken 方法名,并复核了产物 dex 中的 JNI 符号
  • 同时把本地模型索引改为原子写、修复 JNI 释放竞态等稳定性问题(详见 v2.1 说明)

⚠️ v2.1 的包不可用(同样报该错误),请使用本版本。v2.1.1 与该 tag 之前的 v2.1 功能一致,仅修复混淆回归。

安装

正式签名(与仓库 dist/ 内容一致),可直接覆盖安装 v1.0 / v1.1 / v2.0 / v2.1,无需卸载。
要求:Android 7.0 (API 24) 及以上。

v2.1 — 对话历史 / 下载可靠性 / 工程化

Choose a tag to compare

@github-actions github-actions released this 27 Sep 02:36

主要变化

对话体验

  • 对话历史持久化:每个模型可保存多个会话(自动落盘,退出不丢),支持「历史会话」切换与「新对话」
  • 长按气泡:复制 / 重新生成 / 编辑并重发 / 删除本条;新增「导出对话」(系统分享)
  • 状态条实时显示上下文用量;点停止后立即提示「正在停止…」

下载可靠性

  • 断点续传(带 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 内存。

v2.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 00:36

Full Changelog: v1.2...v2.0

v1.2 — 修复列表 404(PUT + Criterion)

Choose a tag to compare

@ice-wocker ice-wocker released this 26 Sep 14:13

修复「404 page not found」

v1.0/v1.1 的模型列表一直加载失败(404 page not found),根因是请求方式与参数用错了。

抓取魔搭网页自身请求后确认的正确用法:

项 v1.1(错误) v1.2(正确)
HTTP 方法 POST / GET PUT
筛选参数名 SingleCriterion Criterion
筛选维度 任务类型 许可证 / 框架库 / 标签 / 语言 / 模型结构 / 领域

实测:同路径 POST/GET → 404,PUT → 200;Name=qwen → 总数 26291;
SortBy=StarsCount 排序生效;Criterion 按 apache-2.0 筛选 → 48472,与接口聚合计数一致。

其他

  • 「任务筛选」替换为真实生效的维度筛选,二级弹窗展示可选值与模型数量
  • 模型总数校正为约 25.9 万
  • 移除已确认无效的任务筛选代码

安装

下载下方 APK,Android 7.0+ 直接安装。已升级过 v1.0/v1.1 的可直接覆盖安装(同一签名)。

Full Changelog: v1.1...v1.2

v1.1 — 工具链升级 + 6 个 bug 修复

Choose a tag to compare

@ice-wocker ice-wocker released this 26 Sep 13:50

升级

  • 工具链:AGP 8.7.3 → 8.13.2,Gradle 8.14.5,JDK 17
  • 系统版本:compileSdk/targetSdk 34 → 36(Android 16)
  • 依赖:引入 AndroidX + Material 3 + Markwon(ListView → RecyclerView + SwipeRefreshLayout)
  • 主题:Material 3 DayNight,自动适配暗色模式
  • 新能力:排序(最多下载/最多收藏/最近更新)、按任务类型筛选、模型文件列表与单文件下载、Markdown 简介渲染
  • 发布:正式 release keystore 签名 + GitHub Actions 自动构建与 Tag 自动发布

修复

  1. 双重标题栏(系统 ActionBar 与自定义标题栏重复)
  2. 首页聚合兜底导致无限分页并必然报错
  3. 搜索竞态:旧请求响应覆盖新结果
  4. 翻页跳页:滚动回调先自增页码导致漏页
  5. targetSdk 35+ 强制 edge-to-edge 导致内容被状态栏遮挡
  6. 排序/筛选不被服务端接受时静默无效;错误态缺少重试入口

安装

下载下方 APK,Android 7.0+ 直接安装(需允许未知来源)。