# App 更新说明 # 1.0.41 - 修复 Android App 内文件下载报错 404 的问题:下载地址不再错误地把当前对话路径拼进去 - 修复下载时 `CookieManager` 在非主线程调用导致的崩溃提示 # 1.0.40 - 修复 Android App 内文件下载后系统提示「下载失败」的问题: - 放弃系统 DownloadManager,改为应用内下载到私有目录 - 下载完成后弹出系统「分享文件」面板,让用户选择保存到下载管理、QQ浏览器、微信等目标 - 仍保留 WebView Cookie,下载接口可正常鉴权 # 1.0.39 - 修复 Android App 内图片/视频「从本地发送」无响应的问题:在唤起系统文件选择器前主动请求 `READ_MEDIA_IMAGES` / `READ_MEDIA_VIDEO` 权限,拒绝后支持再次请求并引导到系统设置 - 修复 Android App 内所有下载(文件卡片、markdown 下载链接)提示「下载启动失败」的问题: - 前端在 App 内优先调用 `AndroidDownloadBridge` - Android 端将相对下载地址补全为绝对地址,并携带 WebView 登录 Cookie,避免 401 / 无效链接 - Android 10+ 下载目录异常时自动回退到 DownloadManager 默认位置 - Android 9 及以下未授予存储权限时先请求权限再开始下载 # 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 DownloadBridge,WebView 同时注册 `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 官方 API(getResult 内部已含 decode) - recognizeSegment 增加识别结果详细日志 # 1.0.30 - 修复语音识别无声问题:前端处理 initializing 状态,防止初始化期间重复触发 startListening 导致录音永不停止 - Android 端增加启动取消机制,初始化期间按停止不会意外开始录音 - 完善录音链路日志,便于后续调试 # 1.0.29 - 暂时禁用 VAD(Android 端 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` 升级为 `registerForActivityResult`(Activity 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 端显示)