agent-Specialization/android-webview-app/APP_CHANGELOG.md
JOJO bd9af317e4 feat(chat): 使用 vue-pdf-embed 实现 PDF 卡片内联滚动预览
- 新增 PdfPreview 组件,基于 vue-pdf-embed essential/legacy 构建
- PDF 文件卡片与其他文件卡片统一在卡片下半部分预览
- 移除 iframe 浏览器原生预览和 AndroidPdfBridge 原生预览分支
- 同步更新 Android App 版本号与更新说明
2026-06-24 12:41:56 +08:00

11 KiB
Raw Blame History

App 更新说明

1.0.38

  • PDF 文件卡片改为前端 vue-pdf-embed 渲染:在卡片下方直接滚动预览多页,不再调用浏览器原生 PDF 预览或 Android 原生 PDF 预览 Activity
  • 与桌面端保持一致的文件卡片交互PDF 和其他类型文件统一头部 + 下方预览布局

1.0.37

  • 修复 Android App 内 PDF 文件卡片无法 inline 显示的问题WebView 不支持 iframe PDF改为卡片下方显示占位区点击后调原生 PDF 预览
  • 修复进入含 PDF 卡片的对话自动弹出「已开始下载」的误报:移除 WebView setDownloadListener,避免把 PDF 加载请求误判为下载
  • 修复文件卡片点击下载无反应的问题:保留 AndroidDownloadBridge 走系统 DownloadManager
  • 修复图片/视频「从本地发送」仍然唤起相册/Photo Picker 的问题Android 端文件选择器改用 ACTION_OPEN_DOCUMENT 走系统文件管理器
  • 前端常规设置新增「上传诊断日志」按钮,便于排查 App 端问题

1.0.36

  • 修复 Android App 内文件卡片点击「下载」无反应的问题:前端优先调用 Android DownloadBridgeWebView 同时注册 setDownloadListener 兜底,使用系统 DownloadManager 下载到 Download 目录
  • PDF 文件卡片移除单独的「预览」按钮,改为与桌面端一致的卡片下方 inline 预览iframe视觉和交互统一
  • 修复 Android App 内图片/视频「从本地发送」容易失败的问题:
    • 延长文件选择器关闭后的 backdrop 点击屏蔽时长,避免 touch 穿透误关选择弹窗导致上传中断
    • Android 端统一使用 ACTION_GET_CONTENT 选择器(按 image/* / video/* 过滤),避免不同 ROM 的相册/Photo Picker 返回临时 URI 导致上传失效
    • 上传链路增强对 Android WebView 返回文件无文件名/无扩展名的兼容:前端根据 MIME 类型补全文件名,后端在 filename 缺失时自动推断兜底文件名

1.0.35

  • 新增 PDF 文件原生预览:集成 AndroidPdfViewer点击卡片「预览」按钮可在 App 内直接查看 PDF不再依赖浏览器

1.0.32

  • 识别引擎改为预初始化模型下载完成后立即在后台加载用户点击时直接可用不再每次点击等3-5秒初始化
  • startRecordingInternal 增加详细日志,便于排查录音问题

1.0.31

  • 修复语音识别无结果:去掉多余的 decode() 调用,对齐 sherpa-onnx Android 官方 APIgetResult 内部已含 decode
  • recognizeSegment 增加识别结果详细日志

1.0.30

  • 修复语音识别无声问题:前端处理 initializing 状态,防止初始化期间重复触发 startListening 导致录音永不停止
  • Android 端增加启动取消机制,初始化期间按停止不会意外开始录音
  • 完善录音链路日志,便于后续调试

1.0.29

  • 暂时禁用 VADAndroid 端 Silero VAD 存在 Native 兼容性问题),改为整段识别模式
  • 录音结束后一次性识别,效果无差异,彻底消除闪退

1.0.28

  • 修复 VAD 初始化导致闪退maxSpeechDuration 30f→5.0f默认值VAD 失败时降级为整段识别不崩溃

1.0.27

  • 语音调试日志改为直接上传服务器(/api/voice_debug无需手动找文件

1.0.26

  • 修复点击麦克风后闪退问题initEngine 增加文件完整性前置校验numThreads 降为 1 降低内存压力
  • 新增「保存日志」按钮,调试日志写入手机 Download/voice_debug.log
  • 下载/删除前自动释放引擎资源,避免文件锁定导致异常

1.0.25

  • 修复下载进度一直显示 0% 的问题(整数除法 bug
  • 新增模型文件完整性校验(文件大小 ±5% 容差),避免下载中断后显示“已下载”
  • 新增「删除模型」按钮,可清理不完整的模型文件
  • 模型文件移至 agents 代码目录外(/opt/agent/voice_models/),避免部署时被覆盖

1.0.24

  • 修复语音按钮在首次启动模型未下载时不显示的问题VoiceBridge 改为随 App 启动即注册,不再等待模型下载完成
  • 修复个人空间中「下载语音模型」按钮误提示「仅在 App 内支持」的问题

1.0.23

  • 新增端侧语音输入功能:集成 sherpa-onnx SenseVoice int8 离线语音识别
  • 支持中英混说 + 自动标点,完全离线运行,无需网络
  • 语音模型约 228MB首次使用自动下载可在「个人空间 → 语音模型」手动下载)
  • 输入框语音按钮仅在 App 端显示,桌面端隐藏
  • 新增录音权限请求RECORD_AUDIO

1.0.22

  • 修复 Android App 内从本地发送图片/视频无效的问题:补充 Android 13+ 所需的媒体读取权限(READ_MEDIA_IMAGES / READ_MEDIA_VIDEO
  • 修复 Android App 文件选择器在 Android 13+ 上回调丢失的问题:将已废弃的 startActivityForResult 升级为 registerForActivityResultActivity Result API

1.0.21

  • 修复 Android App 内手机端展开“对话记录”时仍沿用旧宽度的问题,面板宽度与桌面端对话侧栏保持一致
  • 修复 Android App 内对话记录展开面板顶部残留系统栏空白的问题,内容从面板顶端开始显示

1.0.20

  • 新增“新用户欢迎弹窗 + 新手教程”持久化机制:普通账号首次进入会提示是否开始教程,选择“开始吧”或“不再提示”后将状态写入 data/users.json
  • 新增后端教程状态接口(查询/更新),并排除宿主机模式用户,避免 host 模式触发教程弹窗
  • 修复宿主机模式切回普通账号登录时可能遗留 host_mode 状态,导致教程提示判定异常的问题
  • 优化新手教程欢迎弹窗视觉风格:按钮与系统现有主题风格统一,支持多主题配色

1.0.19

  • 修复 Android APK 内「个人空间-新手教程」期间无法上下滚动的问题:教程遮罩层现在会正确转发触摸滑动到可滚动容器
  • 优化教程滚动目标识别:优先命中当前可滚动页面区域,减少 WebView 场景下滑动失效
  • 调整软件更新页版本展示:移除括号内的构建代数,仅显示语义版本号(如 1.0.19

1.0.18

  • 新增完整「新手教程」系统(高光 + 悬浮说明窗):覆盖桌面端与手机端核心功能入口
  • 教程交互统一优化:仅保留“下一步”,支持自动点击与点击特效,避免误触真实页面
  • 手机端教程新增专属流程:菜单展开、对话记录、工作文件、新建对话、模型/思考模式、个人空间全链路引导
  • 教程定位与层级修复:高光区域更贴合小目标;教程弹窗始终保持最高图层,不再被移动端菜单遮挡
  • 个人空间教程体验优化:教程期间支持滚动查看内容;移动端标签自动横向滚动到可见后再点击;桌面端标签自动纵向滚动后再点击
  • 新增“连接状态指示灯”教程步骤:绿色表示连接正常,红色表示与后端断开
  • 教程入口页精简:移除“已完成/重新开始”状态文案,统一为“开始新手教程”
  • 主题命名文案统一将“Claude 经典”调整为“经典”,并同步更新相关引导文案
  • 模型偏好页优化:移除“默认思考模型”中“思考模式”的“推荐”标记
  • 修复“对话回顾”弹窗多主题适配问题:经典/明亮/夜间主题下的背景、边框、文本、按钮与状态样式统一跟随主题变量

1.0.17

  • 登录/注册页改为 Vue 实现,统一前端技术栈
  • 登录/注册页接入主题变量体系自动跟随已保存主题Claude / 浅色 / 深色)
  • 移除登录/注册页独立主题切换控件,主题入口统一由主界面个人空间管理

1.0.16

  • 工作区顶部品牌图标改为内联 SVG 渲染(不再依赖静态路径加载)
  • 修复深色/浅色主题下 logo 颜色适配问题,跟随主题文本色显示

1.0.15

  • 修复图片查看链路:view_image 工具结果可正确附带图片内容,降低“识别成其他图片/内容”的误判
  • 新增「强约束系统」开关(个人空间):可分别约束 terminal 系列与子智能体系列工具,要求先阅读对应 skills/*/SKILL.md(且仅对已启用 skill 生效)
  • 优化输入与消息气泡换行策略:达到最大宽度即换行
  • 修复深色模式下 run_python 结果区显示异常,代码与输出统一为白色文字

1.0.14

  • 移除前端「实验功能」中的 Liquid Glass 实验页与悬浮组件,减少无关试验功能干扰
  • 删除 scripts/liquid-glass-demo 目录(含 node_modules/.next显著降低部署压缩包体积

1.0.13

  • 修复工作区连接状态指示灯在轮询模式下常亮问题:新增连接探活心跳,断连时可正确切换为离线状态
  • 调整状态灯视觉:离线红灯与在线绿灯均支持扩散呼吸特效

1.0.12

  • 进一步修复手机端菜单点击反馈:增强去除系统默认蓝色点击高亮框(含快捷菜单按钮按压态)

1.0.11

  • 优化手机端点击反馈样式:移除默认蓝色点击高亮矩形,减少触控干扰感

1.0.10

  • 手机 App 左上角菜单新增“刷新页面”入口(仅 App 端显示)
  • 加载界面(正在连接服务器)新增“刷新页面”按钮
  • 继续优化 App 内更新下载链路稳定性

1.0.9-test1

  • 测试版本:验证 App 内下载更新链路DownloadManager是否在不同浏览器环境下稳定工作

1.0.9

  • 修复 App 内点击“更新”后依赖外部浏览器下载导致部分机型失败的问题
  • 新增 Android JS Bridge 下载通道:优先使用系统 DownloadManager 直接下载 APK
  • 前端下载逻辑增加桥接优先与浏览器回退,提升下载成功率

1.0.8

  • 同步最新对话压缩体验:压缩中状态提示更稳定,压缩完成后反馈更清晰
  • 优化压缩后会话切换与列表刷新表现,减少需要手动刷新的情况
  • 修复电脑端摘要行与正式输出内容的对齐问题

1.0.7

  • 应用图标替换为新的机器人插画 PNG 版本

1.0.6

  • 应用图标替换为指定 JPG 图片资源
  • 更新 AndroidManifest 图标引用icon / roundIcon

1.0.5

  • 手机端「工作文件」侧栏最大宽度由 86% 提升到 100%
  • 保持默认 60% 起始宽度,并在内容需要时继续自适应扩展

1.0.4

  • 调整手机端「工作文件」侧栏宽度策略:默认按 60% 屏宽展开
  • 当内容较宽时可自适应扩展侧栏宽度(上限 86%),减少内容被截断
  • 保持「对话记录」侧栏宽度逻辑不变

1.0.3

  • 修复 App 端版本读取时机,避免显示“当前版本未知(?)”
  • 进一步隐藏 App 端页面滚动条(保留页面内部可滚动区域)

1.0.2

  • 修复 App 端“当前版本显示未知”问题(版本号改为优先从 Android JS Bridge 读取)
  • 优化“软件更新”页更新日志展示:长内容在卡片内滚动,不再无限拉长
  • 强化 App 页面滚动隐藏补丁,减少出现系统滚动条的情况
  • 更新上传脚本:支持自动打包 + 上传,并同步版本号与更新说明

1.0.1

  • 移除 App 页面上下滚动条(仅 App 壳生效)
  • 优化 App 内页面样式补丁与资源版本参数

1.0.0

  • 首次发布 Android WebView 壳应用
  • 适配移动端抽屉宽度与状态栏主题联动
  • 新增个人空间「软件更新」页(仅 App 端显示)