Skip to content

更新日志

本页记录智码 AICoder 每个发布版本(tag)的更新内容。桌面应用(v*.*.*)与移动端伴侣(mobile-v*.*.*)版本号相互独立、各自迭代,因此分两条版本线展示。

想获取最新版本?前往 下载页。桌面端还支持应用内自动检查更新(设置 → 关于)。

桌面应用

v4.3.0 (2026-06-09)

扫描器中文路径编码修复 + 远程会话跨电脑统一 + 多项稳定性修复。

  • 🐛 修复扫描器 Java 启动命令在中文路径下乱码/找不到类:根治 BOM + argfile 混合编码
  • 🐛 修复输入法候选窗在终端输入时闪烁
  • 🚀 远程会话跨电脑统一:远程 JSONL 对账补建
  • 🚀 工作区 diff/编辑器补齐 Java/SQL 等语言高亮
  • 🚀 Tab 数量默认不限制 + 内存触发阈值调整
  • 🐛 修复多实例内置浏览器串窗
  • 🐛 修复主窗口大内容渲染卡死:markdown/历史浮层/超大 diff 降级
  • 🚀 扫描器支持 CMakePresets 双层布局

v4.2.1 (2026-06-05)

🔧 安装体验 + 多会话恢复修复:

  • 🐛 根治安装/卸载卡在「停止守护进程」 — 安装器改为优雅停止守护进程:先停 watchdog 并轮询确认其真正退出(每 200ms 补刀、最多约 3 秒),再依次清理主进程 / MCP / pty-host 各一次,消除安装与卸载时卡在「停止守护进程」约 10 秒的体验问题;若无守护进程在运行则立即跳过。
  • 🐛 修复多个 Codex 会话恢复后内容张冠李戴 — 同一项目开多个 Codex 会话时,升级重启自动恢复后可能出现「会话名正确、点进去内容却是别的会话」。根因是恢复时会话指针被错绑到相邻会话的记录文件;现恢复已有会话不再重新猜测文件,根治串号(你的真实对话从未丢失,仅指针指错)。

v4.2.0 (2026-06-05)

🚀 工作区 Git 增强 + 标题栏开关:

  • 🗂️ 工作区目录树右键菜单 — 工作区提交面板改为 IDEA 风格目录树,右键支持暂存/取消暂存/暂存整个目录、打开 Diff、在编辑器/IDEA/系统程序打开、复制相对·绝对路径·文件名、在资源管理器显示
  • 🗑️ Git 丢弃改动 — 新增「丢弃改动…」:把选中文件还原到上次提交(未跟踪文件直接删除),带二次确认
  • 🤖 文件级 AI 操作 — 右键可把文件 @引用 发送到主窗口 AI 终端、复制 @引用、让 AI 解释/审查此文件
  • 🚫 一键加入 .gitignore — 右键未跟踪文件直接写入 .gitignore
  • 🔗 标题栏官网链接显隐开关 — 设置→通用新增开关,关掉后标题栏只保留应用名,适合录屏/演示
  • ⚡ 面板打开无延迟 — 遮罩面板打开的瞬间同步隐藏子 webview,消除「设置先显示、webview 后隐藏」的可见延迟

v4.1.0 (2026-06-04)

🚀 模型切换 + 多平台模型适配 + 终端体验:

  • 🚀 底部状态栏一键切换模型 — 点状态栏模型名即可切换:Claude 即时热切当前会话,Codex/Gemini/OpenCode 重启会话生效;下拉显示当前 API 配置(Profile)的真实模型(小米 MiMo / GLM / DeepSeek 等),不再误显示 Anthropic 机型
  • 🚀 Codex 第三方模型上下文窗口自动写入 — 切换配置时按模型自动写入真实上下文窗口(MiMo 1M、GLM 200K、DeepSeek 128K 等),避免提前压缩、用满超长上下文
  • 🚀 Claude 第三方端点别名映射 — 接小米/GLM/Kimi 等第三方端点时,/model 选 Opus/Sonnet 也能正确跑实际模型,不再报错
  • 🚀 添加账号登录终端支持点击聚焦 + 右键粘贴 — 贴 OAuth code 更顺手
  • 🚀 提交弹窗可点文件查看 diff(HEAD ↔ 工作区)+ 主题感知
  • 🛡️ 下一步建议发送前自动脱敏 — 密钥类 + PII 强制常开;建议显示 30 秒后半透明、hover 恢复
  • ⚡ 终端内存优化 — scrollback 默认 10000→5000,pty-host 常驻内存减半;远程 PTY 改走统一后端抽象
  • 🐛 修复 Gemini 会话记录不上 / 每次需手动 resume
  • 🐛 修复历史查看器/导出把工具结果误标为用户消息
  • 🐛 侧边栏 AICoder 助手目录稳定置顶;关闭会话清理通知时间戳累积

v4.0.4 (2026-06-03)

🔧 修复 MCP 接入 + 内置浏览器开发者工具:

  • 🐛 修复「一键接入 Claude Code」接入不生效 — 生产环境(安装版)下一键接入会把配置写到错误的文件位置,导致设置页显示「已接入」但 Claude Code 实际读不到 aicoder MCP。现按 Claude Code CLI 实际读取规则统一配置路径,接入后终端 /mcp 即可看到 aicoder(修复后需重新点一次「一键接入」写到正确位置)
  • 🚀 内置浏览器支持开发者工具 — 生产环境的内置浏览器(含 AI 自动打开的预览面板)现可用 F12 / 右键「检查」打开开发者工具调试网页;应用主界面本身仍不暴露,安全无虞
  • 🐛 修复 macOS 旧版系统终端路径链接崩溃 — 旧版 macOS 系统 WebView 不支持某正则语法,导致终端里的文件路径点击功能整体失效,现改为等价写法兼容

v4.0.3 (2026-06-03)

🌐 外部浏览器窗 + 嵌入面板会话归属 + 本地优先恢复:

  • 🚀 外部站点独立浏览器窗 — 工具栏移到外层(宿主窗 React),网页作为子 webview 直连,不再被网页固定顶栏遮挡;内置浏览器面板按会话归属,切换会话自动隐藏/恢复,关闭会话自动回收子窗
  • 🏷️ 标题栏版本号胶囊 — 新增版本号显示,点击一键检测更新
  • 🏠 关闭重开只恢复本地会话 — 重开软件不再自动连接/恢复远程(服务器)会话,只恢复本地;远程会话的 tmux 仍在服务器运行,需要时手动切到对应远程工作区即可继续
  • 🐛 修复目录被误当文件打开 — 提交面板 / Diff 视图中,未跟踪目录或嵌套 Git 仓库不再被当成文件打开而报「拒绝访问」,改为友好提示(勾选复选框仍可整目录提交)

v4.0.2 (2026-06-02)

NSIS 安装器升级修复:

  • 🔧 修复升级时报「无法写入 aicoder-pty-host.exe」装不上的问题 — 安装器在写入前循环重杀整棵守护进程树 + 轮询确认,根治 pty-host 游离进程导致的重启竞态

v4.0.1 (2026-06-02)

🔀 IDEA 风格 Git 推送弹窗 + diff 高亮:

  • 🚀 新增 IDEA 风格 Git 推送弹窗Ctrl+Shift+K 打开、Alt+K 一键推送;支持多远端勾选(如 github + gitee 同时推),左侧待推送提交列表 + 路由行,右侧变更文件树
  • 🔍 推送弹窗内点击文件查看改动 diff — 远端版 ↔ 本地 HEAD 并排比对,带代码语法高亮
  • 🎨 修复 diff 比对视图缺少语法高亮 — 与文件编辑器一致的着色(暗/亮主题分别适配)
  • ⌨️ Git 提交/推送快捷键拆分Ctrl+K 提交、Ctrl+Shift+K 推送,主窗口与工作区一致

v4.0.0 (2026-06-02)

🚀 内置浏览器升级为 AI 自动化面板 + 多项效率与稳定性增强:

  • 🌐 内置浏览器升级为 AI 可驱动的自动化面板 — 终端 AI 经 MCP 完整操作内置浏览器做网页自动化/测试:18 个工具覆盖导航 / 点击 / 输入 / 等待 / 悬停 / 下拉 / 上传 / 下载 / cookie / localStorage / 结构化数据获取 / 表格 / 接口 mock / 录制回放 / 断言 / iframe / 元素截图;嵌入式三态面板贴主窗右上角不挡提问,登录态持久 + 可跨窗复用
  • 📑 标签数量上限 + 内存压力自动关闭 — 标签超上限或内存吃紧时,自动关掉最久未活跃的会话
  • 💡 下一步建议 — 会话回答完毕后用独立模型推荐接下来可问的提示词,点击即填入
  • 🖥️ VT100 虚拟屏幕快照恢复终端 — 根治重启后差分 TUI(Claude / Codex)重画错位
  • 🔗 跨实例会话标识符续聊 — 复制会话标识符到另一实例(dev↔prod),经 MCP 续聊
  • 🐛 稳定性修复 — 远程控制下终端 IME 一字变两字、会话时间排序跳变、托盘交互等

v3.9.3 (2026-05-30)

内存治理 + 终端稳定性 + 体验优化:

  • 🧠 修复提交内存满载导致界面崩溃重启 — 长时间使用后,后端 RPC 输出队列无上限堆积、已退出会话残留的进程树不回收,导致系统提交内存(commit)耗尽、WebView 渲染进程被系统杀死。现加每会话 8 MiB 队列上限(超限丢最旧、保最新屏)+ pty-host 自动回收死会话(关闭 JobObject 清掉残留的 node / MCP server 进程树),从根上消除"越用越占内存直到崩溃重启"。
  • 📊 新增状态栏内存指示器 — 实时显示提交内存余量,可一键管理空闲会话
  • 🐛 终端稳定性 — 修复异常关闭恢复后终端底部 UI 重影、输入时窗口轻微偏移、attach 重连后终端尺寸错位
  • 🔀 会话历史读取统一 — 跨 Claude / Codex / Gemini / OpenCode 收敛到统一 helper
  • ⚡ 修复主界面卡顿 — Git / 文件命令下放 blocking 线程池
  • 🎯 侧边栏切换收藏后视线跟随 — 滚出可视区自动滚回保持可见
  • 🔔 "恢复上次会话"提示弹窗下移 — 不再遮挡顶部标题栏

v3.9.2 (2026-05-29)

修复 v3.9.1 子窗口样式回归:

  • 🐛 修复工作区 / 会话 / 预览 / 语音等独立窗口标题栏样式崩坏 — v3.9.1 路由级懒加载拆分后,全局基础样式(App.css / variables.css)未被这些懒加载子窗口加载,导致标题栏按钮、标签页关闭按钮等错位挤压。现已将全局基础样式提到统一入口,所有窗口共用。主窗口不受影响。

v3.9.1 (2026-05-29)

MCP 对外服务 + Claude Opus 4.8 + 本地 LLM + 会话恢复增强 + 亮色主题深度适配:

  • 🔌 AICoder 对外 MCP 服务 — 6 家 AI 客户端(Claude Code / Codex / Cursor / Cline / Zed / OpenCode)一键接入 AICoder 数据(会话 / 代码片段 / Token 统计 / API Profile / 项目记忆)
  • 🤖 支持 Claude Opus 4.8 模型
  • 🦙 Codex 本地 LLM 后端 — 接入 Ollama / vLLM / LM Studio 本地模型
  • 🔄 冷启动自动恢复上次会话 — 重启后逐个前台恢复上次打开的标签
  • 🛡️ PTY 会话恢复大幅增强 — 重启 / 死机后自动重连、启动重试、终端不再渲染错位
  • 😴 长任务运行期间阻止系统睡眠(responding 状态绑定 wake lock)
  • 🔗 终端路径链接 — 点击开文件 / Ctrl+点击开目录
  • ⌨️ IDEA 风格快捷键 — Ctrl+K / Ctrl+Shift+K
  • 🏷️ 标签栏显示会话序号 + 总数下拉切换;终端历史回滚扩到 10000 行
  • 🎨 亮色主题深度适配 — 引入语义色 token 体系,消除多处黑斑
  • 🐛 修复 macOS Command+Q 被误判重启;MCP 能力清单改居中弹窗;App 路由级懒加载加快冷启动

v3.9.0 (2026-05-29)

同日即被 v3.9.1 取代(未单独发布到下载源),更完整的说明见上方 v3.9.1。

  • 新增:MCP 对外服务(6 家客户端一键接入)、Claude Opus 4.8、Codex 本地 LLM(Ollama / vLLM / LM Studio)、冷启动会话恢复、长任务防睡眠、终端路径链接点击开文件、IDEA 快捷键、标签栏序号 + 10000 行历史
  • 修复优化:PTY 会话恢复大幅增强、亮色主题深度适配、macOS Command+Q 误判修复、MCP 能力清单改居中弹窗、路由级懒加载加快冷启动

v3.8.0 (2026-05-27)

全新「远程 SSH 工作区」体系 + 工作区编辑器 + 大量 Provider 远程化:

  • 🌐 远程 SSH 工作区 — 连接远程主机,在远端直接运行 Claude / Codex / Gemini / OpenCode,API Profile / MCP / Hooks 全部按工作区隔离;内置 SSH 连接池、远程 PTY、known_hosts 管理
  • 🖥️ 远程主机管理面板 — 一键安装 Node / CLI(实时 SSH 安装日志)、远程目录浏览、远程 Git 操作
  • 🗂️ 工作区编辑器 — 文件树右键菜单、代码大纲、Java / XML 语法高亮(One Dark 主题)、横向滚动
  • 💻 终端增强 — 路径可点击跳转、远端 tmux 鼠标滚轮翻历史、修复 Claude /config 等 TUI 标签切换不响应
  • 🔄 自动更新改为后台静默下载 — 下载完成后由用户主动重启,不打断当前工作
  • 🧾 订阅页重做 — 日均成本 / 节省比实算、推荐档位、付费授权与设备绑定条款
  • ☁️ WebDAV 同步支持跳过自签名证书校验 — 适配飞牛 NAS 等自签名证书环境
  • 🐛 修复中文输入法候选窗飘移与重复输入;托盘「重启应用」保留会话标签

v3.7.5 (2026-05-24)

A-Enhanced 崩溃自愈链路 + 多实例隔离 + NSIS 升级护盾 + UI 体验改进:

  • WebView2 渲染崩溃强制让 watchdog 接管重启 — DiagnosticState 加滑动窗口风暴计数 / reload deadline + monotonic / unrecoverable 锁;用户被迫关闭黑屏窗口不再被误判为正常退出
  • power_monitor 监听 Windows WM_POWERBROADCAST — 给 stale_heartbeat 加唤醒 30s grace,消除 sleep/wake 后立即关窗的误判
  • NSIS 安装前强杀整棵守护进程树(watchdog + main + pty-host)— 解决升级时三个 exe 任一被锁导致「无法写入」
  • TUI provider detect 兜底 v3.7.0~v3.7.2 临时 UUID 残留 — codex/opencode/gemini 老会话 DB 里的临时 UUID 不在文件系统时自动覆盖为真实 cli session id
  • 项目任务扫描去重 — 识别父 pom 的 <modules> 声明跳过重复扫描子模块;面板新增「清空全部任务」+ 右键菜单
  • 清空 PTY 输入框支持多行 + Ctrl+L 快捷键 — `` + 200×Backspace 跨行兜底,覆盖 Ink TUI 多行输入
  • tab 重启菜单 — sessionId 不变重 spawn PTY,跳过 responding 确认弹窗
  • 内存压力 toast 改造 — 20s 自动隐藏 + 避让右下角 FloatButton
  • 4 个 Provider API config 面板表单聚焦统一 — 打开编辑表单时自动 focus 名称输入框

v3.7.2 (2026-05-24)

v3.7.0 守护进程方案的延续修复 + 侧边栏交互优化:

  • 守护进程模式下扫描任务启动报「pty id 0 not found」修复 — v3.7.0 把 PTY 拆出独立 pty-host 进程后,project_task service 仍直连主进程 PtyManager 而非 RpcBackend,导致 spawn 出的 pid 在 pty-host 找不到 → 连续 10 次读取错误后断开。改为走 Arc<dyn PtyBackend> trait,与普通终端共用同一条 PTY 路径
  • 侧边栏目录单击体验优化 — 单击目录 = 折叠/展开会话列表(等同左侧 chevron),双击 = 打开工作区窗口;250ms 延迟避免双击触发先折叠又展开的视觉抖动

v3.7.1 (2026-05-24)

v3.7.0 守护进程方案的紧急修复 — 3 个会阻塞使用的关键问题:

  • 侧边栏目录点击扫描白屏修复 — TaskScanDialog 的 Zustand selector 每次渲染都 return new Set(...),在 React 19 useSyncExternalStore 下进入快照死循环(React #185 Maximum update depth exceeded);改为 selector 只取 store 内稳定数组引用,new Set 构造移到 useMemo
  • 多实例 / dev + prod 并存修复 — pty-host named pipe 端点名从固定 \\.\pipe\pty-host-poc 改为按 instance id 隔离(\\.\pipe\aicoder-pty-host-<id>),watchdog 用自身 PID 生成 id,通过 env AICODER_PTY_HOST_ENDPOINT_ID 注入给 pty-host + main,互不抢 pipe;shutdown flag 路径同步按 id 隔离
  • cargo tauri dev 启动修复 — debug build 永远跳过 self-respawn via watchdog,仅 release build 启用守护进程接管;另加 AICODER_NO_WATCHDOG=1 应急关闭开关

v3.7.0 (2026-05-23)

守护进程方案 — 主进程崩溃自动重启 + 会话自动恢复 + CLI 输出不中断:

  • 守护进程架构(A-Enhanced) — 引入 watchdog + pty-host 双 sidecar 进程:watchdog 监控主进程崩溃自动重启;pty-host 独立持有 PTY master,CLI 子进程不受主进程崩溃影响,继续运行
  • 会话自动恢复 — 主进程崩溃 / 用户结束进程后,watchdog 自动重启主进程,所有活跃会话标签自动恢复,CLI 输出继续流式刷新(token 不浪费、对话不中断)
  • MessagePack RPC + 环形缓冲 — 前后端通过 named pipe / UDS + MessagePack 通信,每会话 2 MiB 环形缓冲保证重连无缝接续历史输出
  • AICODER_SUPERVISED 防 fork bomb 守卫 — 自重生路径加 env 守卫;watchdog 退出时主动清理 pty-host 子进程,避免僵尸进程
  • 静默后台运行 — sidecar binary 用 GUI subsystem + CREATE_NO_WINDOW 标志,无任何命令行黑窗
  • NSIS 安装包默认携带守护进程 — 安装即启用 A-Enhanced 架构,无需用户额外配置

v3.6.3 (2026-05-19)

体验完善 + 多项关键修复:

  • 空闲会话清理面板 — 内存紧张时弹 notification 提供「管理空闲会话」按钮,列出所有非响应中的会话,闲置 ≥30 分钟默认勾选;勾选确认后批量关闭释放内存。responding 中的会话绝对不显示,关闭瞬间二次校验防误关
  • 新建会话最近项目体验升级 — 加搜索框,输入时模糊匹配末两段路径并展开到 12 个;同名末段(如 qt-app)显示父目录前缀(frameworks/qt-app)区分;模板新增「用工作站」一键触发 ai-workstation MCP
  • API Profile 跨实例明文分享协议 — 单条 ai.profile / 多条 ai.profile.bundle envelope,跨同级软件互通;OAuth 类型档案后端强制跳过(凭证绑设备);接入 4 个 Provider 配置面板
  • 多个交互 bug 修复 — 空闲清理面板勾选反复回弹(每秒 tick 把用户取消的又自动加回)、连续关多 tab 时 activeTabId 残留幽灵(doCloseTab 闭包陷阱)、antd v6 Tooltip/Popover deprecation 迁移到 styles.root/container、静默 Windows PTY kill 已退出进程的 os error 87 无害报错

v3.6.2 (2026-05-16)

WebView2 崩溃自愈 + 内存预防 + 多项关键修复:

  • WebView2 崩溃自动 reload — 系统内存压力或其他原因导致 WebView2 渲染进程崩溃时,Rust 主进程监听 ProcessFailed 事件自动 reload,PTY 继续存活;前端重连后通过 pty_list_active + attach() 接管幸存终端,用户的 Claude / Codex / Gemini 对话状态零损失
  • commit-aware 内存预防 — 直接读 GlobalMemoryStatusEx.ullAvailPageFile(任务管理器同款指标),5 秒采样,commit 配额低于 30% 时自动降级 WebView2 内存模式;低于 15%/10% 时弹窗告警(双重判定:比例 + 绝对值 < 800MB 才报,大内存机不误报)
  • 页面文件禁用提示 — 启动时检测系统页面文件被禁用一次性提示用户启用,避免低内存触发 0xc000012d 崩溃
  • 修复新建空会话重开误绑 — 新建会话后秒关再从侧边栏重开时,detectActiveSession 会错误绑定上一次会话的 rollout(用户看到上一次对话的内容)。修复方案:双重过滤(since_ms ≥ session.created_at + occupiedIds 排除已归属会话)
  • 修复 ~/.claude.json 写入擦掉 MCP/oauthAccount — 历史 bug:4 处入口用 unwrap_or_else(|_| {}) 在 JSON 解析失败时静默替换为空对象,写回去就把整段 mcpServers/projects 擦了;改为解析失败立即返回 Err 不写入。json_utils::write_json_file 升级为「自动备份 + 原子 rename」三重保护,从根上解决 MCP Server 配置丢失问题

v3.6.1 (2026-05-14)

侧边栏 UX 改进 + 模型选择尊重 + 自定义端点文案:

  • 侧边栏多选删除 — Ctrl/Shift+Click 选中多条会话,右键弹「删除选中 N 条」批删
  • 文件夹规则批删 — 右键文件夹动态显示「删除 30 天未活动 / 删除未收藏 / 删除已关闭」(条数为 0 不显示)
  • 各 Provider 目录 chevron 一致 — Codex / Gemini / OpenCode 等少量会话文件夹也有 hover 切换器
  • 激活会话强制可见 — 折叠态下保证当前选中 + 已打开标签页的会话不被收起
  • Claude 模型选择 — 新建对话框显式选的模型不再被活跃 API Profile 静默覆盖
  • 自定义端点去后缀 — 4 个 Provider 面板的「自定义端点」选项去掉 (OpenAI 兼容) 后缀,避免误导 Claude / Gemini 用户
  • 适配 Codex 0.124codex_hooks feature flag 改名为 hooks

v3.6.0 (2026-05-14)

本次更新带来更清晰的产品体验:

  • 新增首次启动使用说明 — 帮你快速了解软件定位与使用方式
  • 设置-关于页新增产品说明区域 — 随时查看产品边界与商标信息
  • Provider 选项命名优化 — 措辞更直观清晰
  • 终端性能提升 — TUI 会话消息加载更快、会话标题显示更稳定
  • 无感升级 — 旧版配置自动适配新结构,本地数据无需手动操作

v3.5.12 (2026-05-13)

fix: 修复中文会话标题被英文 ai-title 覆盖的问题

侧边栏会话标题智能 CJK 回退:Claude CLI 默认会用英文起 ai-title/summary, 盖掉用户中文输入。现在 ai-title/summary 不含 CJK 但首条消息含 CJK 时, 优先用首条消息——保住中文标题语义。手动改过的 custom-title 不受影响。

v3.5.11 (2026-05-13)

修复信任目录预写:改用正斜杠 path key(Claude Code 实际查的就是它), v3.5.9/v3.5.10 误用反斜杠导致信任对话框照弹;附带修复 resume 注入会在 对话框还开着时把 claude 搞退出的边缘情况。

v3.5.10 (2026-05-13)

修复 v3.5.9 的 resume 回退问题:v2.1.119+ 的 Claude CLI 恢复历史会话改回直接走 /resume 注入兼容模式(不再先白崩一次再重启);旧版本仍用 claude --resume。

v3.5.9 (2026-05-13)

修复 Claude Code 启动问题:

  • 打开新项目不再弹出无法用键盘操作的"信任此文件夹"对话框
  • 恢复历史会话优先用 claude --resume,仅在检测到旧版崩溃时才回退到 /resume 注入

v3.5.8 (2026-05-12)

本次更新(自 v3.5.7 起):

  • 侧边栏:新增折叠开关(标题栏面板按钮)+ 一键折叠/展开所有目录;修复会话列表滚动卡顿、滚动条可正常拖拽;移除标题栏冗余地球图标
  • 图片粘贴:按真实格式保存(解决部分中转站/转译层因 media_type 不匹配拒收);新增「粘贴图片自动压缩」设置项
  • Claude 会话:修复 reopen / /clear 后恢复到旧会话的问题(SessionStart hook 跟踪 + 多重 fallback)
  • 含 src/App.tsx 一处随发的改动(用 tabsRef 替代空的 useTabStore.tabs,附说明注释)

v3.5.7 (2026-05-11)

  • 系统托盘菜单重构为完整功能面板
  • 关于页用真实 logo 替换 AC 占位文字
  • 补全设置面板遗漏的多语言支持
  • 修复会话标题自动更新 bug,并剥离 Claude Code slash 命令的 XML 包裹标签
  • AI 记忆生成改为静默后台流程,去除阻塞预览弹窗
  • 修复 macOS 语音快捷键失效与默认键位
  • 终端历史浮动按钮尺寸稳定化 + 剪贴板临时文件名中性化
  • 移动端聊天气泡溢出修复
  • 新增远程 API:配置档案切换 / 指令面板 / Provider 列表(供移动端使用)
  • PTY 冷启动地板等待,修复移动端发 prompt 时终端未就绪导致回车失效

v3.5.6 (2026-05-08)

🐛 修复

  • 修复终端字间距异常:v3.5.2 引入的非等宽 CJK 字体(YaHei/PingFang/Hiragino) 在缺 Cascadia Mono/Consolas 的机器上会接管 ASCII 渲染,撑大 cell 宽度, 导致全字符(含英文)视觉间距异常变大
  • 默认字体链恢复纯 ASCII 等宽:'Cascadia Mono', Consolas, 'Courier New', monospace
  • 老用户启动时一次性迁移:检测到旧默认字符串自动恢复新默认值(用户自定义不动)
  • CJK 字形溢出由 xterm 的 rescaleOverlappingGlyphs:true 兜底

v3.5.5 (2026-05-08)

修复多会话场景下移动端 prompt 路由错误:现按 session_id 精确匹配 PTY, 避免发到错误会话(commit 7c02267 的发版闭环)。

语音输入灵动岛声纹动画放大:动态范围 +71%、自适应增益、attack 快/release 慢、 基于时间的正弦扰动取代随机抖动,响度变化视觉反馈更明显。

v3.5.4 (2026-05-07)

桌面 v3.5.4:远程访问体验优化

  • 自动检测候选 IP 按 BindMode 过滤:局域网模式只列私网 IPv4,IPv6 模式只列 IPv6
  • 切换 BindMode 自动清缓存重扫,不再用旧模式数据
  • 本机模式自动检测按钮置灰(127.0.0.1 移动端永远连不到)
  • 测试连通性按钮在服务未启动时禁用 + 黄字提示「请先点页面下方的启动按钮」
  • 服务停止时自动清掉旧的「已通」/「失败」结果,避免与「未启动」黄字矛盾
  • 候选地址空状态文案按模式定制(IPv6 没扫到 → 提示检查运营商公网 IPv6)

移动 mobile-v0.3.2:刷新授权状态 UX

  • 「刷新授权状态」按钮加 loading state(图标旋转 + 文字「正在刷新…」)
  • 调用成功 alert「已刷新:当前状态 已激活/试用中/已过期」
  • 调用失败 alert 错误原因(不再静默吞掉)
  • useMobileLicense.refresh 改为返回新状态 / 抛错;自动轮询失败仍静默

v3.5.3 (2026-05-07)

🌐 远程访问网络体验大升级

  • 监听模式三选一:仅本机 / 局域网(默认) / IPv6 双栈
  • 公网地址「自动检测」:扫本机网卡列出可用 IPv4 / IPv6 一键填入
  • 公网地址输入框记录最近 3 条历史,改了能切回
  • 「测试连通性」按钮:5 秒内告诉你 frp / 反代 / DNS 是否真的通
  • 100.64.0.0/10(CGNAT / 用户态虚拟组网)正确识别,不再误报为公网
  • IPv6 字面量 URL([::1]:7420 / [2408::1]:7420)全链路兼容

📱 移动端伴侣

  • 「我的」页加「检查更新」按钮,启动时静默检查(24h 节流)
  • 网络错误按 baseUrl 形式给差异化中文提示
  • 公网地址输入提示支持 IPv4 / IPv6 字面量

🛠 关于页

  • 推荐应用区块新增「智码本地知识库」(全文搜索 + 双向链接 + 知识图谱 + 内置 MCP Server)
  • 删掉重复的「每台设备独立 token」实现细节描述

v3.5.2 (2026-05-07)

🔧 改进

  • 移除内嵌 frpc 子进程(避免国内杀软误报隔离),改为用户自配反向代理
  • 桌面端「远程访问」面板简化:只填一个公网地址 + 监听端口
  • 移动端附件上传体验优化(图片压缩 + 粘贴 + 7 天自动清理)
  • PC 端实时收到移动端附件提示
  • 用户消息气泡里 @-path 渲染为附件 chip

🐛 修复

  • showcase 标语合规调整为「随时随地 / 让 AI 替你写代码」

📱 移动端独立发版

  • 桌面/移动 tag 完全分流:v* → 桌面 CI / mobile-v* → Android CI
  • 移动端 v0.1.0 已在文档站下载页提供

v3.5.1 (2026-05-07)

修复 v3.5.0 CI 构建失败:tauri.conf.json 的 externalBin 要求 frpc 二进制在每个目标平台必须存在, release.yml 之前没下载步骤,Linux/macOS runner 上找不到 frpc-x86_64-unknown-linux-gnu 等。

新增 4 个按平台分流的 frpc 下载 step(Win / macOS aarch64 / macOS x64 / Linux), 统一使用 frp v0.62.1(与本地版本一致)。

v3.5.0 (2026-05-07)

新增

  • 桌面端「远程访问」设置面板 + 内嵌 axum 网关(T-MC001~009)
  • 内嵌 frpc 子进程 + 配置生成器,启动前 ping frps 可达性(T-MC007/8/46/50)
  • 设备配对协议:PIN 兑换长期 token + QR 扫码配对(T-MC019/38)
  • 远程鉴权:审计日志 / 熔断器 / 紧急下线(T-MC021/22)
  • ASR 语音识别桥接 + 麦克风按住录音(T-MC048)
  • 移动端伴侣(mobile-tauri):Android APK 全套 4 屏 UI(T-MC010~017)
  • API Profile 切换:响应中自动拦截 + 「测试」按钮 + 编辑同步修复
  • 命令浮层卡片化重构(QuickCommands / CommandPalette)
  • SnippetManager 整体对齐 QuickCommands + 跨面板新建片段联动
  • 录音上限 30s → 180s

修复

  • 项目命令描述含 YAML frontmatter 不再显示为「---」
  • 编辑激活的 API Profile 时未即时同步
  • VoiceInputButton 在 Modal 内 Tooltip 被遮挡

工程

  • release.yml 加移动端 release-android job 骨架
  • 加 .gitignore 排除 frpc 二进制 / Android keystore / 调度任务锁

v3.3.0 (2026-05-05)

新增:思考强度(effort)热切换支持

  • 新建会话可选 effort 等级(Claude 6 档 / Codex 4 档)
  • 状态栏 Tag 一键切换:Claude 用 /effort 命令,Codex 模拟 Alt+./, 升降键
  • 用户在 Codex 终端直接按 Alt+./, 时反向同步状态栏 Tag
  • 持久化到 DB(Session.effort 字段,schema v20→v21)
  • 支持 Settings 全局默认 effort 配置
  • 修复多个 bug:Popover 受控关闭、双 store 不同步、auto 状态 Tag 消失等

v3.2.4 (2026-05-04)

Bug 修复版本:

  • OAuth 切换/导入相关 bug 修复(envelope 冻结快照、apiKeyHelper 残留、切换提示文案错位等)
  • API 配置切换体验改进(DeepSeek/智谱端点下拉、认证方式选择、移除强制规范化)
  • 跨实例配置导入支持 dev↔prod 互导
  • 状态栏清空输入按钮、ASR 识别末尾标点清理

v3.2.3 (2026-05-04)

Bug 修复

v3.2.2 (2026-05-03)

优化语音输入:新增语音组件开关、Alt+X 快捷键、按住 F2 说话;调整悬浮按钮样式和设置页细节。

v3.2.1 (2026-05-03)

完善开发/生产环境配置隔离。

新增 Claude OAuth 多账号档案管理与添加账号流程。

修复 Claude OAuth 档案切换时账号展示和回滚状态不一致的问题。

优化 StatusLine、Provider 配置、语音输入、侧边栏设置等体验。

修复标签栏拖拽、终端全屏、更新说明换行等问题。

v3.2.0 (2026-05-03)

新增云端语音输入(DashScope ASR)+ Ctrl+Shift+Space 快捷键

  • 右下角悬浮麦克风按钮(FAB),单按钮交互
  • 录音时显示 3 条柱波形 + 红色脉动光晕
  • 自动识别后写入当前活跃终端 PTY
  • 通用设置中可配置 API Key / 模型 / 区域
  • Ctrl+Shift+Space 快捷键触发(可在设置-快捷键中修改)
  • xterm helper textarea 焦点判定修复

v3.1.0 (2026-05-02)

✨ Codex 支持多账号 OAuth 管理(添加/切换/导入当前账号) 🔒 授权页激活码脱敏显示,复制按钮仍写完整原值 🛡️ 切换账号前自动备份当前 OAuth,避免账号丢失

v3.0.7 (2026-04-28)

🐛 fix(codex): 检测到未登录时自动在 PTY 写入 codex login

  • TerminalView onData 监听 "account/read failed during TUI bootstrap"
  • 检测到关键字后 800ms 自动 pty.write("codex login\r")
  • 让 codex login 在用户的 xterm.js 真终端里跑(无 ANSI 乱码 / DSR 卡死)
  • 一个会话只触发一次,避免循环
  • 移除之前的 CodexLoginModal 弹窗方案(改用更简的终端内自动输入)

✨ feat(file-search): 项目内文件快速查找面板

  • 后端 search_project_files Command (递归 + 排除规则 + 防御性上限)
    • 排除 18 个常见目录(.git/node_modules/target/.next/...)
    • 防御: max 50000 文件 / 深度 12 / 默认 100 结果
    • 文件名 + 相对路径 case-insensitive 双匹配
  • 前端 FileSearchPalette 组件 (类 VSCode Cmd+P)
    • 全局快捷键 Ctrl+P 触发 + FileExplorer 头部 🔍 按钮触发
    • debounce 250ms 后端搜索
    • 键盘导航: ↑↓ 选择, Enter 插入, Esc 关闭, Tab 切 @ 前缀
    • 选中后通过 writeToTerminal 把 @path 写入活动终端 PTY
    • 默认 @ 前缀(Claude/Codex 文件提及语法),Tab 可关
    • 匹配片段黄底高亮显示

v3.0.6 (2026-04-27)

修复 Claude 2.1.120 会话崩溃 + Codex 登录优化

  • claude: 修复 v2.1.119+ 的 --resume 崩溃 bug (FKH/UKH/g9H undefined) 关闭后重新打开会话不再触发 Anthropic 自身回归
  • claude: 兼容模式裸启动 + 8s 后注入 /resume <id> 恢复历史会话
  • codex: 新增 CodexLoginModal 登录弹窗
  • codex: 优化 codex_config 配置读写

v3.0.5 (2026-04-26)

  • 状态栏新增快捷短语:[继续][总结][重试],AI 空闲点击立即发送,正在响应时自动加入任务队列
  • 通用设置 → 快捷短语可配置(标题 ≤4 字 + 发送内容,最多 3 个,留空即禁用)
  • TabBar 视觉对比增强:活跃 tab 加 1px accent 顶线 + 标题加粗,与已完成绿条不冲突
  • 快捷短语位置紧贴状态栏右侧指令组(预算/片段/队列/面板)

v3.0.4 (2026-04-19)

性能优化:消除 Tab 切换卡顿

  • useSessions: 改为一次性加载全量会话,切工具时前端内存过滤(不再发 IPC)
  • Sidebar: filtered 加 useMemo 稳定引用,避免连锁重算 projectGroups/flatRows

v3.0.3 (2026-04-19)

禁用 WebView 默认右键菜单(返回/刷新/另存为/打印/检查), 保留输入框、可编辑区域与终端(.xterm)的原生右键菜单。

v3.0.2 (2026-04-18)

  • 修复 WebDAV 云同步配置不持久化(localStorage → DB)
  • 修复 TabBar/Sidebar 右键菜单被 Popover 遮挡不显示
  • 侧边栏会话右键菜单位置优化(对齐行底 + 三段式翻转)
  • 标题栏主题按钮移到设置左侧
  • /rewind 菜单不再被误识别为权限提示自动回车
  • TerminalView 自动确认去除 3 秒冷却期
  • Modal mask API 升级为 mask.closable 对象形式

v3.0.1 (2026-04-17)

添加 Claude Opus 4.7 模型支持(2026-04-15 发布的 Anthropic 最新旗舰模型)

  • CLAUDE_MODELS 列表首项加入 Opus 4.7
  • Claude Code / OpenCode Provider available_models 加入 4.7
  • OpenCode 配置面板(PROVIDER_MODELS.anthropic + CLAUDE_REUSE_MODELS)加入 4.7
  • providerPresets(OpenRouter / OneAPI / 自定义)加入 4.7
  • token_stats.normalize_model_name 识别 Opus 4.7

v3.0.0 (2026-04-16)

官方彩色 Logo + 设置图标

  • 替换四个 CLI 工具图标为官方彩色 Logo(Claude/Codex/Gemini/OpenCode)
  • 设置页侧边栏所有菜单项添加图标(Lucide React + CLI Logo)
  • 修复 Segmented/Menu 图标垂直居中和间距问题
  • 压缩提示排除规则增强,避免自动确认压缩提示

v2.9.9 (2026-04-15)

多主题风格系统 — 6 种主题 + 毛玻璃效果 + 欢迎页背景特效

v2.9.8 (2026-04-15)

集成 Mermaid 图表/KaTeX 公式、CodeMirror 代码编辑器、 Git Diff 查看器/分支列表、AI 记忆 8 种分类、测试体系 95 用例

v2.9.7 (2026-04-14)

性能优化:移除心跳检测机制和 GPU 禁用,减少后台开销,优化 macOS 性能

v2.9.6 (2026-04-13)

侧边栏图标颜色优化:未激活会话保留标记颜色(降低透明度);目录数量悬停可展开/收起

v2.9.5 (2026-04-12)

全局禁用 GPU 加速 + 移除 WebView2 自动 reload,防止远程桌面闪烁和会话断开

v2.9.4 (2026-04-12)

多实例配置隔离 + 国际化完善

v2.9.3 (2026-04-12)

优化自动回车逻辑:修复 "Do you want to make" 提示不自动确认的问题,排除 /model 等斜杠命令菜单的误触发

v2.9.2 (2026-04-11)

  • WebView2 三重防护机制防止卡死黑屏(禁用 GPU 加速设置、ProcessFailed 自动恢复、心跳检测)
  • 修复 dashboard 空表 SUM 查询返回 NULL 导致报错

v2.9.1 (2026-04-10)

fix: 亮色模式 Tooltip 对比度修复

v2.9.0 (2026-04-10)

主要变更:

新功能

  • Codex/OpenCode 对话历史悬浮面板:终端右下角悬浮按钮展开, 绝对定位覆盖终端上半部、保留底部输入区,2 秒自动轮询 jsonl 刷新新消息,补救 Ink TUI 架构下 xterm 原生 scrollback 不可用 的问题
  • 新增 Webhook 通知功能(内容感知错误检测 + Codex 消息预览)

Bug 修复(Codex 会话核心)

  • Codex resume 会话多次后丢失上下文:每次 resume 都检测并更新 真实 rollout 文件 UUID,避免 DB 存的始终是最初的文件 ID
  • 多 tab 并发时 Codex 新会话交叉污染:项目级串行化 detect、 responding 检测首次触发、历史面板直连 DB 取 fresh cli_session_id
  • 历史面板新会话 "未找到" 报错:30 秒宽限期等待 detection 完成
  • Codex/OpenCode responding 完成检测修复

UI 改进

  • 通知设置页间距/图标优化,默认模板加事件类型标签
  • Claude Code 钩子配置从全局菜单迁到工具页底部
  • 权限提示检测逻辑优化

其它

  • 移除 Codex provider 冗余 info 日志(高频轮询撑爆日志)
  • 移除无效的 DEFAULT_CLI_BOOT 环境变量死代码
  • 为所有 PTY 会话显式注入 TERM=xterm-256color / COLORTERM=truecolor

v2.8.2 (2026-04-08)

  • 并行版本检测 + 兜底完整路径重试(修复 Gemini 版本显示)
  • 欢迎页添加版本刷新按钮
  • 排除 /compact 提示的自动确认
  • MCP 预设更新(Playwright → @playwright/mcp, Sequential Thinking → 官方包名)
  • macOS Keychain 支持读取 Claude OAuth 凭证
  • Codex 终端滚动修复(过滤 CSI 3J scrollback 清除序列)
  • Cloudflare R2 CDN 分发 + updater 多源兜底
  • 更新端点配置(R2 主 + Gitee 备)

v2.8.1 (2026-04-05)

权限提示自动确认

v2.8.0 (2026-04-05)

✨ 任务队列(自动/手动模式、延迟队列、会话隔离) 🎨 回答完毕标题变色 #f3c400 🔄 设置面板授权自动刷新 ⏭️ 下一个已完成跳转按钮 🔧 antd 6 废弃 API 更新

v2.7.0 (2026-04-02)

  • 会话右键菜单添加"通过 IDEA 打开"
  • 修复切换标签时标签栏不滚动到活动标签
  • API 配置创建支持 use_proxy,新增 Codex/Gemini 代理开关
  • Gemini 会话 ID 检测和标题轮询优化
  • 侧边栏每组显示数量可配置
  • 设置面板界面优化,更多终端主题
  • npm 包安装失败后重试机制增强
  • 授权状态每 3 小时自动刷新
  • OneAPI/自定义 provider 预置 Claude 4.5/4.6 模型

v2.6.2 (2026-04-01)

修复快捷键冲突、升级后激活码丢失、终端调整大小等问题

v2.6.1 (2026-03-31)

Bug 修复

v2.6.0 (2026-03-30)

  • 支持 HTTP/SSE 类型 MCP Server 配置管理
  • 添加网络代理功能,支持 API 配置独立启用代理
  • 修复侧边栏长时间使用后卡顿无法滚动
  • WebDAV 云端文件夹不存在时提供友好的中文错误提示

v2.5.0 (2026-03-29)

OAuth 凭证同步 + 会话状态修复

  • feat: OAuth 凭证 (.credentials.json) 可选同步
  • feat: 侧边栏/标签栏 Popover 悬停预览
  • feat: 检查点面板帮助图标
  • fix: 启动时清理残留 active 会话状态

v2.4.5 (2026-03-26)

修复中文输入闪退 + 代码优化

v2.4.4 (2026-03-26)

优化 PTY 终端性能和稳定性,修复标题栏拖拽延迟

v2.4.3 (2026-03-25)

Bug 修复与优化

v2.4.2 (2026-03-20)

修复 macOS 非标准路径 Node.js 安装后 CLI 工具检测不到,通过 npm prefix -g 动态获取全局 bin 目录

v2.4.1 (2026-03-20)

macOS 安装权限自动提权 + 安全提示文档

v2.4.0 (2026-03-20)

修复 OpenCode 模型选择不生效,支持复用 Claude OAuth 认证到 OpenCode

v2.3.0 (2026-03-19)

新功能发布

v2.2.1 (2026-03-18)

  • 添加 Deep Link 协议支持(aicoder:// URL scheme)
  • 替换 tauri-plugin-pty 为自定义 PTY 实现,修复资源泄漏
  • 暂时禁用 HTTP API 中转站配置功能

v2.2.0 (2026-03-17)

新增 AI 记忆管理系统、垃圾桶会话软删除、侧边栏排序等功能

v2.1.0 (2026-03-17)

修复窗口启动阻塞:前端立即show、CLI检测增加超时、Rust兜底改用原生API

v2.0.0 (2026-03-15)

新增内置浏览器预览、文件浏览器、会话压缩、Gemini API 配置面板 重构设置面板和 API 配置模块

v1.2.1 (2026-03-14)

关闭窗口询问确认

v1.2.0 (2026-03-14)

新增会话导出/克隆/颜色标记等功能,优化性能和多开实例体验

v1.1.6 (2026-03-13)

  • 新增会话 CLI 参数配置功能
  • 新增终端图片粘贴预览和悬停放大功能
  • 新增会话导出元数据和内容清理
  • 修复时间戳格式化和路径检测逻辑
  • 修复图片预览在退格和 Ctrl+C 操作后未关闭

v1.1.5 (2026-03-12)

修复 macOS PTY 终端 PATH 注入和默认 shell 检测

v1.1.4 (2026-03-12)

修复 macOS CLI 检测和终端光标

  • 重写 macOS PATH 获取策略(登录 shell + 超时 + 防 banner 污染)
  • 修复终端首次初始化缺少 focus() 导致光标不可见
  • 修复 About 页面浅色主题、标题轮询、MCP 多实例同步等问题
  • 新增 API 配置环境变量冲突检测、设置弹窗堆叠优化

v1.1.3 (2026-03-12)

功能更新,新增双 GitHub CI 仓库支持(额度切换)

v1.1.2 (2026-03-11)

onboarding 保障与产物命名优化

  • 启动时确保 hasCompletedOnboarding=true(所有实例)
  • productName 去掉中文前缀,产物统一为 AICoder_ 格式

v1.1.1 (2026-03-11)

授权安全增强与多实例隔离修复

  • Rust 侧授权守门(过期禁止创建会话/片段)
  • HMAC-SHA256 缓存完整性校验(防篡改)
  • StatusLine 插件多实例隔离
  • 可执行文件名更名为 aicoder.exe

v1.1.0 (2026-03-11)

多实例隔离与标题栏增强

  • 版本号升级至 1.1.0
  • 双击标题栏可最大化/还原窗口
  • 多开实例首次启动时自动复制默认配置文件

v1.0.1 (2026-03-11)

修复 macOS GUI 应用找不到 npm/node/claude 等命令(PATH 环境变量补充)

v1.0.0 (2026-03-11)

多提供商支持与命令优化

v0.2.0 (2026-03-10)

Bug 修复 + 性能优化

v0.1.9 (2026-03-10)

修复更新弹窗 + CI 增加 dmg/deb

  • 修复右上角 UpdateBadge 弹窗按钮无响应(改用 Modal.confirm 静态方法)
  • CI workflow 增加 .dmg 和 .deb 安装包下载到 release 仓库
  • 更新 release 技能文档(macOS updater vs 安装包格式说明)

v0.1.8 (2026-03-10)

修复 CI macOS updater 产物缺失 + 推送顺序优化

v0.1.7 (2026-03-10)

修复 CI 草稿 Release 权限问题(contents: read → write)

v0.1.6 (2026-03-10)

修复 CI 草稿 Release 查询 + Linux 编译警告

v0.1.5 (2026-03-10)

CI 全平台更新支持 + 签名修复

v0.1.4 (2026-03-10)

切换更新端点到 Gitee,CI 同步双仓库

v0.1.3 (2026-03-10)

活动热力图 + GitHub CI

移动端伴侣

Android 侧载分发,需要在系统设置中允许"未知来源安装"。iOS 暂未发布。移动端版本号与桌面端独立。

mobile-v0.5.0 (2026-06-05)

🐛 手机端可用性修复(守护进程上线后多项失效):

  • 🔑 新建会话收不到消息根治 — 新建会话补齐 claude_session_id(UUID v4):缺它后端定位不到 JSONL,会话永远「暂无历史消息」收不到消息
  • 🔓 默认带 --dangerously-skip-permissions — 新建会话按工具填默认 CLI 参数,桌面起 Claude 不再卡每步权限弹窗
  • 📁 项目目录改必填 — 新建会话强制选目录,避免后端因 project_path 为空返回空消息
  • ♾️ 永久授权显示「永久」 — 授权天数 -1 正确显示「永久」(对齐桌面端),不再误显示「-1 天」或误弹续费提示
  • ✨ 接收指示器自动归位 — 「接收中」改 idle 定时器状态机,PC 端回复完手机 2.5s 内停止闪烁(根治「已回复完仍一直转」)

mobile-v0.4.0 (2026-05-11)

  • 🔑 配置档案切换 — Chat 页顶部新增配置档案 chip,按当前工具列出所有 API Profile,一键切换(API Key 档案直接切,OAuth 档案提示需在桌面端切换)
  • ⚡ 指令面板 — 输入框新增指令面板按钮,弹出底部面板,两个 Tab:
    • 「内置指令」:按当前会话的 provider 过滤的斜杠命令(claude / codex / gemini / opencode)
    • 「我的片段」:桌面端「代码片段」页创建的自定义片段
    • 点击条目把内容填入输入框
  • 🧩 Provider 选择更智能 — 新建会话 FAB 的 provider 选项灰显未安装 / 未启用的工具,避免选了开不起来
  • ✂️ placeholder 简化 — 输入框提示统一为「输入消息...」,小屏不再被换行撑乱
  • 🔧 配合桌面 v3.5.7 — 桌面端给远程 prompt 加了 PTY 冷启动地板等待,移动端唤起桌面后立刻发消息不再被吞回车

mobile-v0.3.6 (2026-05-08)

  • 🔐 关键修复:固定生产签名 keystore(一次性破坏升级)
    • 根因:v0.3.5 之前 CI 仓库未配置 ANDROID_KEYSTORE_BASE64 secret,每次构建用 GitHub runner 临时生成的 debug.keystore 签名 → 每个版本签名指纹都不同 → 用户每次升级都报"签名不一致"必须卸载重装
    • 修复:本地生成稳定的生产 RSA 4096 keystore(有效期 100 年),配置到 CI 仓库 secrets,从 v0.3.6 开始所有版本都用同一 keystore 签名
    • 影响
      • 旧版(v0.1.0 ~ v0.3.5)用户必须卸载后重装 v0.3.6(一次性)
      • 装上 v0.3.6 后,未来所有版本(v0.3.7、v0.4.x...)都可直接 OTA 覆盖升级,不再卸载
  • v0.3.5 中间版本因仍用 debug 签名实际未发布到下载源

mobile-v0.3.4 (2026-05-08)

  • 🎯 按 session_id 精确路由 PTY — 配合桌面 v3.5.5 解决多会话发到错误会话的关键 bug
    • 之前用 list.ids[0] 选 PTY,多会话时新会话的 prompt 会被发到桌面侧的第一个会话
    • 现在按 URL 参数 id(桌面 Session.id)从 list.items[] 里精确匹配 pty_id
    • 老桌面端(无 items 字段)自动回退到 ids[0]console.warn 提示用户升级
  • ⚠️ 升级提醒 — 移动端单边升级解决不了根本问题,必须搭配桌面 v3.5.6+

mobile-v0.3.3 (2026-05-07)

  • 🔧 修复检查更新永远报「已是最新版本」的关键 bug
    • 根因:updateCheck.tsparseSemver 没剥 mobile- 前缀
    • parseSemver("mobile-v0.3.2") 返回 null → compareSemver 视为同版本 → UI 误报「已是最新」
    • 修复:先剥 mobile-v / v 前缀再做正则匹配
  • 📱 老用户影响 — v0.3.1 / v0.3.2 用户必须从下载页手动升级到 v0.3.3 一次,之后 App 内自动 / 手动检查更新都能正常工作

mobile-v0.3.2 (2026-05-07)

  • 🔄 刷新授权状态 UX 重做 — 按钮加 loading state(图标旋转 + 文字「正在刷新…」)
  • ✅ 反馈到位 — 调用成功 alert「已刷新:当前状态 已激活/试用中/已过期」;失败 alert 错误原因
  • 🔧 内部useMobileLicense.refresh 改为返回新状态 / 抛错;自动 30min 轮询失败仍静默不打扰

mobile-v0.3.1 (2026-05-07)

  • 🔧 修复 Cleartext Traffic 关键 bug — Android Release 包 usesCleartextTraffic="false" 导致 fetch 直接被系统拦截,浏览器能打开但 App 内 AddServerDialog 添加桌面失败
  • 🌐 全场景 http:// 支持 — IPv4 / IPv6 字面量 / 域名形式的公网地址都能正常配对
  • 📱 用户影响 — v0.3.0 用户必须升级才能添加 http:// 桌面端,已配对的会话不受影响

mobile-v0.3.0 (2026-05-07)

  • 🔔 启动检查新版本 — 启动时静默检查 R2 mobile-versions.json,发现新版弹 Modal 提示去下载页(24h 节流)
  • 🔍 手动检查更新 — 「我的」页加「检查更新」按钮,可主动触发
  • 🌐 网络错误中文化 — 按 baseUrl 形式给差异化中文提示(HTTP/HTTPS/局域网 IP/IPv6)
  • 🆕 IPv6 / IPv4 字面量 — 公网地址输入框支持 [::1]:7420 / [2408::1]:7420 / 192.168.x.x 直接填入
  • 🎨 添加桌面体验优化 — AddServerDialog 配对流程更顺滑

mobile-v0.2.0 (2026-05-07)

  • 📎 附件上传 — 输入框左侧新增 📎 按钮,支持图片 / PDF / 文档多选;图片自动压缩(拍照 4-12MB → ~300KB);chip 缩略图点击 Modal 看原图
  • 📋 粘贴图片textarea 监听 paste 事件,QQ/微信截图后 Ctrl+V 直接粘贴到对话
  • 🏷 附件 chip 渲染 — 用户消息气泡里把 @<path> 渲染成 [🖼 photo.jpg],替代裸路径
  • 🕖 消息时间戳 — 用户气泡 + AI 气泡显示发送/接收时间(同天 HH:mm,跨天 MM-dd HH:mm
  • 📦 debug/release 并存 — 调试包独立 applicationId.debug 后缀),可与生产包同时安装互不覆盖
  • 🔔 PC 端实时提示 — 手机发附件桌面右下角弹「📎 收到 photo.jpg [打开] [定位]」
  • 🧹 自动清理mobile-uploads/ 下 7 天前文件启动时自动清理
  • 🎨 placeholder 缩短 — 输入框提示改为「输入消息...」,避免小屏被换行
  • 🛠️ CI 修复parseAttachments re-export 用相对路径替代 @/ 别名(修 v0.2.0 首次构建失败)

mobile-v0.1.0 (2026-05-06)

  • 🚀 移动端伴侣首发 — Tauri Mobile Android,与桌面端 v3.5.1 同期发布
  • 📱 4 屏完整体验 — 会话列表 + 实时对话 + 设备管理 + 个人中心
  • 🎙️ 按住说话 — 录音上传桌面 ASR 通道识别,松开自动填入输入框
  • 🔐 设备配对 — PIN 兑换长期 token + 二维码扫码配对
  • 🛡️ 安全收口 — TLS/WSS 强制 + 审计日志 + 熔断 + 紧急下线
  • 🔍 全局搜索 — 标题 / 项目路径 / 消息内容三合一

最后更新:

给 AI 编程工具一个统一的家