1. 先把公开版本当作稳定线
公开版本应该被视为可用于真实工作的稳定线。升级动作应该有节奏,而不是看到新构建就立即覆盖。
- 替换应用前先确认当前版本号。
- 团队或项目集群尽量统一到同一批准构建。
- 根据升级日志判断当前时机是否适合重要任务。
这份页面是 imux 的公开发布记录。它追踪当前产品线、官网上线、多语言站点扩展,以及替换当前构建前应该检查的操作说明。
imux 当前稳定版本为 v2.0.2;替换现有安装前确认 build 171。v2.0.2 把「在 explorer 里点一下文件」这件事彻底带回 imux —— 不论是侧边栏点击、把文件拖到空白 pane,还是从 Finder 走「打开方式 → imux」,文件都会在 workspace 里打开,不再跳出去丢给 TextEdit / Preview / Office。两条入口:文本类(txt/md/json/js/html/htm/php/xml/yaml/toml/csv + 源码/配置文件,8 MB 以内)走原有的 `FilePanel`,可读可改;其它一切 —— 图片、PDF、压缩包(ZIP/TAR/…)、音视频、**Microsoft Office 文档(doc/docx/xls/xlsx/ppt/pptx)**、以及超过 8 MB 的大文件 —— 都进入新增的 `PreviewPanel`,由 macOS `QLPreviewView` 原生渲染(只读,多格式)。智能分流逻辑落在 `Workspace.openLocalFileURL`(抽到 `Sources/Workspace+Preview.swift` 以保持 `Workspace.swift` 不破 baseline 文件大小天花板),Finder 拖放、应用内拖拽、pane drop 共用同一入口。`Info.plist` 把 imux 声明为每一个渲染器**实际支持**的 UTI 的 viewer/editor —— image/pdf/archive/audio/video/Office 全部对应到真实承接面,不再有「声明了能开但 loader 拒收」的占位坑。`PreviewPanel` 通过现有 `SessionFilePanelSnapshot`(`panelType` 字段区分 file vs preview)双向持久化,恢复窗口时 QuickLook 表面原样回来,schema 没动。新增 6 个 `PreviewPanelRoutingTests` case 钉住 editor/preview 分流(txt/json/md → editor;png/zip → preview;9 MB log → preview)。v2.0.2 同时合并 v2.0.1 的 Feedback composer endpoint 修复:`FeedbackComposerSettings.defaultEndpoint` 现在默认指向 `https://www.iccjk.com/api/feedback`(之前是空串,导致应用内「发送反馈」快捷键在没设置 `ICC_FEEDBACK_API_URL` 环境变量的情况下抛 `invalidEndpoint`)。v2.0.1 把 Agent Context Inspector 从「观察台」升级为「指挥台」:在已选中的 Clavue / Claude Code / Codex 实时 session 上点「续问 →」,弹出两步式确认 modal(撰写 → 复核 → 发送),用户确认后整条动作被写入 append-only、HMAC 链式签名的审计日志(`~/.imux/audit/inspector/<YYYY-MM-DD>.jsonl`),密钥落在 macOS Keychain `com.imux.audit.hmac.v1`,离线核验脚本 `scripts/audit-replay-verify.{sh,swift}` 可重放整条链。imux 自己**永远不写**上游 provider 的 jsonl —— ClavueBridge 通过 `<session>.inbound.fifo` 写一行 JSON,由 Clavue 的主循环把它当作正常 user turn append;ClaudeCodeBridge / CodexBridge 在上游 CLI 暴露 IPC 之前,共用 ClipboardInboxBridge(写到 `~/.imux/inbox/<provider>/<session>.txt` + 剪贴板,modal 文案明确说明这是「半自动」)。三道新的 audit gate 把契约钉死:`check-inspector-readonly`(Bridge/ 子目录由 `--exclude-bridge` 排除)、`check-inspector-bridge-policy`、`check-audit-append-only`。21 个新 `inspector.write.*` xcstrings 三语齐(en / zh-Hans / zh-Hant)。宿主侧 `iccApp.body` 通过 `InspectorSidebarMount` 一行接入;折叠态仍然只占 8 px 状态条。v1.15.2 落地了持久 PTY 守护进程的 Phase 1(`iccd-local` 守护进程二进制 + Swift 客户端 + 单测),但 GUI 还**没有**走该路径(feature flag `PersistentPtyDaemonEnabled` 默认 OFF,surface 侧 reattach 留到下个版本)—— 今天退出 imux 仍然会 SIGHUP 子进程,scrollback 里的 Clavue 对话需要重启后用 `clavue --continue` 重新拉起;provider 自己的 jsonl 历史(`~/.clavue/projects/**`)保留。v1.15.2 同时上线只读的 Agent Context Inspector 模块,把 Claude / Codex / Clavue 会话状态暴露到侧边栏,但**绝不写**任何上游 provider 的 session 存储 —— `~/.clavue/projects/**`、`~/.claude/projects/**`、`~/.codex/sessions/**` 是明令禁止的写入目标,由新增的 `check-inspector-readonly` 守护门和原有五道 freeze-growth gate 一起强制。窗口在「上次会话」基础上恢复,并使用稳定的首帧尺寸,保存好的布局不再先闪一下默认几何再修正。终端面板的 scrollbar 改为一直可见(与 VS Code 对齐);`ExecutionHeader` 给长跑 agent 步骤加上了 Codex 风格 spinner。同一构建包含可靠性修复:`BodyEvalCounter` 遥测不再把 Swift `String` 喂给 C `%s` 占位符(消除了一个仪器路径上的崩溃);locale-stable 测试套件重写为断言结构不变量而不是本地化文本(CI 现在与机器 locale 无关都能通过);`SSHConfigLoader.load(rootURL:)` 的解析行为被一条 pin 测试钉住,未来 parser 改动会以测试失败的形式浮出。v1.13.1 是 v1.13.0 之上的 hotfix,修复两个 SSH 重连 bug:(1) `configureRemoteConnection` 现在接受 `isReconnect` 标记,重连远程工作区时不再触发 `seedInitialRemoteTerminalSessionIfNeeded` —— 后者会在终端发出 `clear_screen`,把 scrollback 里正在进行的 Clavue 对话整页擦掉;(2) 当工作区拥有托管的终端 SSH 会话、且 daemon 握手以 `failed to query remote platform: Connection timed out during banner exchange` 失败时,工作区现在显示橙色「远程服务不可用」warning(与其它辅助服务降级一致),而不再是红色「SSH 错误」banner。watchdog 自动重连路径自动继承新分支。v1.13.0 给远程侧边栏行加上「已保存凭据」/「最近连接」徽章,并把 SSH 工作区作为快速重连入口持久化进会话快照。v1.12.4 修复了 libghostty 点击/选择路径上的 use-after-free 崩溃:cherry-pick 上游 ghostty-org/ghostty#12463(commit `28f4676b5`)到 Ghostty fork pin。v1.12.3 修复 sidebar→终端 拖放。v1.12.2 带来 SCM Phase 15:sidebar 新增 VS Code 风格 Source Control 面板。v1.12.1 修复了终端面板鼠标交互回归。v1.12.0 加固了用户主动「检查更新」路径。v1.11.6 移除第三方 Sentry 崩溃 SDK,改为本地诊断记录器加上自建崩溃收集端点:上报到我们自己的 `https://www.iccjk.com/api/error-reports`,使用匿名 per-install UUID。崩溃和运行时警告默认写到本地磁盘,只有在设置里「发送匿名遥测」开启时才会上传。
把升级日志当成操作文档,而不仅仅是宣传页。好的发布记录应该帮助你判断是马上采用、先验证,还是等当前任务结束后再更新。
公开版本应该被视为可用于真实工作的稳定线。升级动作应该有节奏,而不是看到新构建就立即覆盖。
重点关注会改变操作面的内容,例如文件处理、SSH 行为、监督器流程、模型设置和打包行为。
每次升级后,至少要在一个受控本地工作区和一个受控远程工作区中验证,确认无误后再作为默认日常版本。
imux v2.0.2 把「在 explorer 里点一下文件」这件事彻底带回 imux —— 不论是侧边栏点击、把文件拖到空白 pane,还是从 Finder 走「打开方式 → imux」,文件都会在 workspace 里打开,不再跳出去丢给 TextEdit / Preview / Office。两条入口:文本类(txt/md/json/js/html/htm/php/xml/yaml/toml/csv + 源码/配置文件,8 MB 以内)走原有的 `FilePanel`,可读可改;其它一切 —— 图片、PDF、压缩包(ZIP/TAR/…)、音视频、**Microsoft Office 文档(doc/docx/xls/xlsx/ppt/pptx)**、以及超过 8 MB 的大文件 —— 都进入新增的 `PreviewPanel`,由 macOS `QLPreviewView` 原生渲染(只读,多格式)。智能分流逻辑落在 `Workspace.openLocalFileURL`(抽到 `Sources/Workspace+Preview.swift` 以保持 `Workspace.swift` 不破 baseline 文件大小天花板),Finder 拖放、应用内拖拽、pane drop 共用同一入口。`Info.plist` 把 imux 声明为每一个渲染器**实际支持**的 UTI 的 viewer/editor —— image/pdf/archive/audio/video/Office 全部对应到真实承接面,不再有「声明了能开但 loader 拒收」的占位坑。`PreviewPanel` 通过现有 `SessionFilePanelSnapshot`(`panelType` 字段区分 file vs preview)双向持久化,恢复窗口时 QuickLook 表面原样回来,schema 没动。新增 6 个 `PreviewPanelRoutingTests` case 钉住 editor/preview 分流(txt/json/md → editor;png/zip → preview;9 MB log → preview)。v2.0.2 同时合并 v2.0.1 的 Feedback composer endpoint 修复:`FeedbackComposerSettings.defaultEndpoint` 现在默认指向 `https://www.iccjk.com/api/feedback`(之前是空串,导致应用内「发送反馈」快捷键在没设置 `ICC_FEEDBACK_API_URL` 环境变量的情况下抛 `invalidEndpoint`)。
imux v2.0.1 落地 Inspector v1.16 写管道:Agent Context Inspector 从「观察台」升级为「指挥台」—— 在已选中的 Clavue / Claude Code / Codex 实时 session 上点「续问 →」会弹出两步式 modal(撰写 → 复核 → 发送),用户确认后整条动作被写入 append-only、HMAC 链式签名的审计日志(`~/.imux/audit/inspector/<YYYY-MM-DD>.jsonl`),HMAC 密钥落在 macOS Keychain `com.imux.audit.hmac.v1`,离线核验脚本 `scripts/audit-replay-verify.{sh,swift}` 含 5 道 fixture(合法链 / 篡改 payload / 断 prev_hmac / 错 key / 缺 flag)。Provider 自家 jsonl 仍然永远不被 imux 写:ClavueBridge 通过 `<session>.inbound.fifo` 写一行 JSON,由 Clavue 主循环把它当作 user turn append;ClaudeCodeBridge / CodexBridge 在上游 CLI 暴露 IPC 之前共用 `ClipboardInboxBridge`(写 `~/.imux/inbox/<provider>/<session>.txt` + 剪贴板,modal 文案明确「半自动」)。UI 落在 `Sources/Inspector/Bridge/InspectorWriteModal.swift`(compose → review → send,8 KB 文本框上限,远程 session 灰禁并显示 banner —— 留给 v1.17)。宿主接入 API:`InspectorWriteSession.makeDefault(home:)` 构造完整组合(Keychain + 3 个 bridge + adapter),`View.inspectorWriteSheet(session:)` 把 host wiring 缩到一行;`iccApp.body` 的 `WindowGroup` 现在用 `@StateObject` 持有 `AgentContextStore` + `InspectorWriteSession`,`InspectorSidebarMount` 在 sidebar `.supervisor` 切片顶部以 8 px 折叠状态条挂载在 `SupervisorPaneView` 之上。三道新 audit gate 把契约钉死:`check-inspector-readonly`(Bridge/ 由 `--exclude-bridge` 排除)、`check-inspector-bridge-policy`(Bridge/ 写动作只允许 `~/.imux/audit/` + `~/.imux/inbox/` + fifo)、`check-audit-append-only`(audit-writer 接口钉到 `InspectorAuditLog.swift` 一个调用点)。21 个新 `inspector.write.*` xcstrings 三语齐(en / zh-Hans / zh-Hant)。
头条变更:imux 落地了持久 PTY 守护进程的 **Phase 1**(`iccd-local` 二进制 + Swift 客户端 `Sources/Pty/` + 单元测试),但 GUI **尚未**把终端面板路由到守护进程。Feature flag `PersistentPtyDaemonEnabled` 默认 **OFF**,surface 侧的 reattach 接线(Workspace + GhosttyTerminalView + SessionPersistence.restore)排在下一个版本。当前版本退出 imux 仍然会 SIGHUP 子进程 —— 终端面板里跑的 Clavue / Claude / Codex 会话需要在重启后用 `clavue --continue` 这类命令重新拉起;provider 自己的 jsonl 历史(`~/.clavue/projects/**`)保留不动。同步上线的 Agent Context Inspector 模块把 Claude / Codex / Clavue 会话状态暴露到 sidebar,但按设计是**只读**的:`~/.clavue/projects/**`、`~/.claude/projects/**`、`~/.codex/sessions/**` 是明令禁止的写入目标,由新增的 `check-inspector-readonly` audit gate 与原有五道 freeze-growth gate 共同强制。窗口状态从上次会话恢复,并使用稳定的首帧尺寸,保存好的布局不再先闪一下默认几何再修正。终端面板的 scrollbar 改为一直可见(与 VS Code 对齐),`ExecutionHeader` 给长跑 agent 步骤加上 Codex 风格 spinner。同一构建包含可靠性修复:`BodyEvalCounter` 遥测不再把 Swift `String` 喂给 C `%s` 占位符(消除了一个仪器路径上的崩溃);locale-stable 测试套件重写为断言结构不变量而非本地化文本(CI 与机器 locale 无关都能通过);`SSHConfigLoader.load(rootURL:)` 的解析行为被一条 pin 测试钉住,未来 parser 改动会以测试失败的形式浮出。
针对用户反馈的两个 v1.13.0 SSH 重连 bug 的 hotfix。(1) 远程工作区重连不再清空终端 scrollback。`Workspace.configureRemoteConnection` 现在接受 `isReconnect: Bool = false` 标记,`reconnectRemoteConnection()` 传 `true` 调用时跳过 `seedInitialRemoteTerminalSessionIfNeeded`(这一步会向终端发 `clear_screen`),重连过程中 scrollback 里正在进行的 Clavue 对话整段保留。watchdog 自动重连走的是同一个 `reconnectRemoteConnection()`,所以自动继承本次修复。(2) 当工作区拥有托管的终端 SSH 会话、且 daemon 引导失败时,banner 由红色「SSH 错误」降级为橙色「远程服务不可用」。`applyRemoteConnectionStateUpdate` 在检测到 `.serviceUnavailable` 且工作区有非空 `terminalStartupCommand`(托管终端 SSH 会话的标记)时,走与其它辅助服务降级一致的橙色 warning 通道,而不再把它当作底层 SSH 实际并没发生的硬失败展示。22 行 surgical patch 修在 `Sources/Workspace.swift`;无 API 变更,无新增文件。五道 freeze-growth audit gate(localization / observables / file-size / hot-path purity / control-mainsync)全过;`TabManagerSessionSnapshot`、`RemoteReconnectWatchdogPolicy`、`RemoteHostHistoryStore` 测试套件全绿。
远程侧边栏行现在直接显示两个操作信号:当 Keychain 里有凭据记录时显示 `saved` 徽章;当本地 host 历史里有成功连接记录时显示 `最近连接` 时间戳。两者都从既有的本地服务(`RemoteCredentialStore` 和 `RemoteHostHistoryStore`)派生,不引入任何新的 daemon 流量,打开侧边栏的成本与之前一致。同一个版本把活动的 SSH 工作区作为快速重连入口持久化进会话快照 —— imux 下次启动时,恢复出来的远程工作区拥有足够的上下文(`destination` / 身份 / `terminalStartupCommand` / 最后访问目录)去做一键重连,而不是被当成普通本地面板。快照 schema 向前兼容:旧版本忽略新字段,恢复策略仍把每次远程恢复当 best-effort 处理。
头条修复:libghostty 终端核心不再在用户点击(或释放点击)一段链接区域时 use-after-free。Cherry-pick 上游 ghostty-org/ghostty#12463(commit `28f4676b5`)到我们的 Ghostty fork pin —— `mouseButtonCallback` 现在调用 `processLinks` 之前会先 `lock()` 住 `renderer_state.mutex` 并 `defer` 解锁,满足 995e4e375 已经写入但当时调用点没遵守的前置条件。今天本地 `~/.local/state/ghostty/crash/` 里抓到两份新鲜 `.ghosttycrash` 信封(`7d95ca1a-…` 15:45 + `dd5207cf-…` 15:37),都是 `1.3.0-HEAD+bc9be90`、`ReleaseFast`、renderer=metal、font=coretext,minidump 异常都是 `EXC_BAD_ACCESS @ 0x6ed07ff8` —— 一个被回收的 slab 脏地址,正是 `processLinks` 读到 `processOutput` 刚 prune 掉的 scrollback page 的典型签名。因为我们没有 `manaflow-ai/ghostty` 的推送权限,submodule URL 临时切到 `mycode699/ghostty` 的 `cmux-renderer-mutex-fix` 分支(HEAD `9b9c587ac`,仅在 `bc9be90a2` 之上 2 行 diff);上游 PR 已合并,这只是 hold-the-line pin。本次发版没有修改任何 imux Swift 代码。
头条修复:从本地或远程文件资源管理器侧边栏拖一个文件到终端面板,现在能可靠地把路径插入终端输入框。问题根因是 SwiftUI `.onDrag` 行在拖拽过程中大部分时间处于 AppKit drag-tracking loop,期间 `NSApp.currentEvent?.type` 通常是 `.appKitDefined` 而非 `*MouseDragged`,于是 `DragOverlayRoutingPolicy.shouldCaptureFileDropOverlay` 在 hitTest 阶段就直接拒掉了 in-app 拖拽,从未到达终端目标 — 在 v1.12.2 的现象是:光标显示拖拽图标,但放下时什么都没发生。Overlay 现在会在 dragging pasteboard 上携带应用内 marker 时(`.iccPromisedFileURL` 或 `ExplorerConversationDragTransfer.pasteboardType`)放行 hitTest;这两种 marker 只会由活动的 in-app 拖拽源写入,普通 `.fileURL` 仍然要求真正的 drag-mouse 事件,避免被 Finder pasteboard 过期数据劫持。同一个版本把 `TerminalImageTransferPlanner.prepareDrop` 的 `.string` fallback 改为先 shell-escape,远程 sidebar 拖拽含空格的路径(如 `/srv/data/has space.txt`)不再被 shell 拆开。Open Remote Workspace 弹窗的目录列表把已填充分支包到 `ScrollView` + `LazyVStack`,并加了对应 `clipShape`,超出 220pt 边界的条目会在 frame 内滚动而不再穿过下方 Toggle / 脚注 / 工具栏。最后,libghostty 的 `*.ghosttycrash` sentry-native 崩溃信封在启动时被新增的 `GhosttyCrashImporter` 导入:扫描 `~/.local/state/ghostty/crash/` 中没有 `*.imported` 标记的信封,读取前 256 KB 拿到 `event_id` / 时间戳 / release / `debug_id`,再以 `.error` 级别 + `ghostty_crash` category 写入 `DiagnosticsStore`,走与原生 imux warning 同一条 `/api/error-reports` 通道(受 `TelemetrySettings.enabledForCurrentLaunch` 限制;原 `.ghosttycrash` 文件永不被删除,因为离线 minidump 排查仍然需要它)。
头条特性:sidebar 新增 VS Code 风格的 Source Control 面板,由新的 Git 集成层(`GitStatusService` / `GitSCMViewModel` / `GitFileDecoration` / `GitWorktreeWatcher`)驱动文件装饰与实时状态。`SidebarSourceControlPanel` / `SidebarSourceControlMount` 在 host 层完成 `isInsideWorkTree` 探测;非 repo 工作区直接 `watcher.stop()`,不污染 view-model。`ContentView` 切到 `GitSCMSidebarHost`,旧的 `SourceControlSidebarPaneView` 仍保留以兼容 `TabManagerUnitTests`。本地文件浏览器 sidebar 顶部新增可折叠 Source Control 区段。同时改善了远程 SSH 目录探测:`SidebarExplorers` 的 SSH 启动脚本改用 `SSH_ASKPASS` helper 取代旧的 `expect` 路径,让 plain 与密码两路 ssh 命令行保持一致;reconnect loop、`ControlMaster` 复用、两次失败停、`ServerAliveInterval` 与 scrollback 保留全部维持原状。`StrictHostKeyChecking=accept-new` + `NumberOfPasswordPrompts=1` 锁死交互;`OpenRemoteWorkspaceSheet` 显示连接阶段(`RemoteDirectoryBrowser.Phase` / `FailureKind`),host key 旋转时给出可直接复制的 `ssh-keygen -R` 建议(`RemoteDirectoryProbeProcess.refineProbeError`)。
头条修复:终端面板的划选拖拽、右键上下文菜单(Copy / Paste / Split Horizontally / Split Vertically)、点击聚焦都能正常工作了。预路由的鼠标事件守卫之前会拒绝 superview 链落在 AppKit theme frame 而不是 `window.contentView` 的命中,但 `WindowTerminalPortal` 在 contentView 不是 `NSGlassEffectView` 时(即所有 macOS 14/15 + 未启用液态玻璃的 macOS 26)合法地把终端宿主装成 contentView 的兄弟节点(挂在 theme frame 下)。守卫现在把 contentView 和它的 theme-frame superview 都视为合法附着点。回归范围:v1.11.4 到 v1.12.0。该版本同时合并了远程 SSH 单次认证连接(探针与终端会话共享一个 OpenSSH ControlMaster,密码 / 2FA 主机只问一次)、应用内密码弹窗(带可选 Keychain 保存,取代系统级 SSH_ASKPASS 弹窗)、远程侧边栏行点击直接连接(Option 点击在新窗口)+ 工作区复用、前台通知不再短暂清空当前终端/对话区直到切换标签页。
这个版本加固用户主动触发的「检查更新」路径。手动检查会清掉 Sparkle 的 staged-rollout 桶,避免分阶段灰度静默压制用户主动触发的检查;启动时与每次手动检查时记录一份更新设置的诊断快照;每次访问 appcast 之后记录一行本地 build 与最新 `sparkle:version` 的对比,让日志能直接看出是否真的下发了更新。
这个版本修复 terminal portal 回归:分屏或窗口几何尺寸变化后,终端 surface 可能保留旧 frame 或 hit-test 边界,直到后续刷新才恢复。现在 portal-hosted terminal 会及时同步几何尺寸,同时保持拖拽 resize 立即生效。
imux 在 `www.iccjk.com` 上的纯网站补丁。Next.js 16 在升级时把 `middleware.ts` 改名为 `proxy.ts`,遗留的重定向集合还列着 `privacy-policy`、`terms-of-service`、`eula`,但这些路径现在已经由 `app/[locale]/(legal)/…/page.tsx` 直接渲染,旧规则把它们短路回 locale 根。从 `web/proxy.ts` 中删除这三条,恢复 locale-aware Next 路由。本次发布不包含 macOS app 改动。
这个版本移除了第三方 Sentry SDK,改为本地诊断记录器加上自建崩溃收集端点。崩溃和运行时警告默认写到本地磁盘上,只有在「发送匿名遥测」开启时,相同事件才会上报到我们自己的端点。
这个版本把侧边栏的远程 SSH 路径加固成一组单独可测的模块,让远程工作区频繁变动时资源管理器仍然流畅;同时引入一个可选的热点路径采样器,在 CI 中按测得的 P95 预算守每次按键和 socket 派发延迟。
这个版本修复了 macOS 26.2 / build 149 上观察到的一个 P0 栈溢出崩溃(事件号 `0A9291F4-1C32-4E12-AE19-D21A0E0E08CE`)。在 portal/split 重建期间,落到一个已经脱离 hosting view 的中键 / 侧键拖动可能让 AppKit 的鼠标路由器陷入 87000 帧的 `_objc_msgForward` 自循环。
这个版本把远程 SSH 工作区的身份信息持久化到会话快照里。退出 imux 再次打开后,远程工作区会以远程身份重新出现,自动重连到上次的服务器和上次的目录。重连完成后,一个一次性横幅会询问是否要重启退出前正在跑的 agent 面板。
这个版本补齐了文件管理器与 VS Code 的最大体验差距,并完成了一次重要的稳定性 + 会话恢复升级。文件双向拖拉、⌘P 快速打开、重开面板自动恢复 claude / codex 对话历史。
这个补丁版本让远程 SSH 工作区在重连时更稳定,限制大段历史重放,并在启用编排自动化前提供可检查的工作流契约就绪度。
这个补丁版本让界面更接近中文优先默认体验,同时改善远程工作区可理解性和侧边栏收起后的识别度。
这个补丁版本要求会修改状态的 CLI 命令使用明确或 caller 作用域上下文,让后台自动化更安全,同时发布下一阶段编排路线图。
这个补丁版本加强 imux 内部的设置与工作流基础,同时收紧终端运行环境打包和标签页操作本地化。
这个补丁版本让 Clavue 和 Codex 启动 API 配置更清楚、更容易测试,并且不再把可选通知钩子当作启动前置条件。
这个补丁版本确保左侧或右侧边栏收起后仍然能看到恢复按钮,包括紧凑布局和隐藏标题栏布局。
这个补丁版本简化监督器 LLM 与启动 API 设置,保存 API URL、模型和 Key 不再依赖 macOS 钥匙串授权弹窗。
这个补丁版本在 imux 发现已有但为空的用户配置文件时,恢复 Ghostty 的默认配置加载路径,避免占位配置文件误屏蔽终端默认设置。
这个补丁版本修复安装包分发链路,并收紧公开更新元数据的缓存策略,避免用户拿到 CDN 或浏览器中的过期 appcast 与 latest manifest。
这个补丁版本加强了监督器驱动的协作能力,新增可复制的 Agent Mesh 命令简报,并阻止缺少终端、会话、证据账本或视觉证据支撑的可信完成结论通过审查。
这个补丁版本把 imux 升级成更清晰的多 agent 工作区,默认使用 Clavue + Codex 联动模式,内置可以共享上下文的 helper 脚本,并围绕新的协作模型刷新官网内容。
这个补丁版本把源代码管理侧边栏扩展成更快的仓库操作界面,加入仓库历史、右键操作、提交预览、GitHub 提交链接,并同步刷新公开发布文案。
这个补丁版本让浏览器指针拖拽焦点许可一直保持到 mouse-up,拖拽中的浏览器交互可以继续保留焦点,同时不会重新打开后台自动聚焦。
这个补丁版本为图像能力模型加入 OpenAI 兼容的监督器响应处理,同时保持已持久化的监督器快照向后兼容。
这个发布目标刷新设置界面的结构、搜索、行布局与导航,同时保持设置持久化和键盘快捷键流程不变。
这个稳定版让公开安装包、GitHub 发布资产、官网下载别名和 Sparkle 更新源一起推进到新的已签名发布线。
这个稳定版让公开安装包、GitHub 发布资产、官网下载别名和 Sparkle 更新源一起前进,同时加强线上站点校验、保留历史下载归档,并让远程守护进程诊断继续匹配已发布的 manifest 元数据。
这个稳定版让公开安装包、GitHub 发布资产、官网下载别名和 Sparkle 更新源一起前进,同时减少桌面路由路径中可避免的同步工作。
这个稳定版继续把公开安装包和官网保持在同一条当前版本线上,同时补齐打包后 agent 启动面的覆盖范围,并减少远程恢复后仍残留失败状态的噪音。现在随包发布的应用会带上 Codex wrapper 与共享 helper 脚本,通知状态变化也不会再无意义触发终端重绑。
这个稳定版继续把桌面主工作面做得更直接: 去掉多余装饰性边框和玻璃感,进一步压缩远程 SSH 导航密度,并补强那些原本会把面板重新打开到空白状态或丢失活动终端面的恢复路径。
这个稳定版聚焦两条会直接破坏连续操作信任的问题: imux 关闭重开后恢复成更薄的面板集合,以及任务完成驱动的工作区切换后前面板偶发变黑。
这个稳定版聚焦两条会直接打断操作的问题: SSH 最后一个终端退出后远程工作区被带着关闭,以及高频界面切换后终端偶发黑屏。
这个稳定版继续收紧当前界面打磨,把主工作区做得更接近 VS Code 的密集布局,同时修正输入与侧边栏细节,并让安装包与网站发布面继续保持一致。
这个稳定版本专门处理桌面升级链路里最后一段阻塞点: 把从 DMG 或转移路径启动的运行中副本移入 Applications,平滑替换现有应用包,并从受支持路径重新拉起。
这个稳定版本继续清除活跃 imux 体验中残留的继承品牌影子,并把从官网到安装包再到支持入口的发布链路收紧成一条统一路径。
这个稳定版本优先修复用户最先接触到的交互问题,包括失焦后首击无响应、Clavue + Codex 联动模式入口过深,以及官网发布线描述需要和安装包版本保持一致。
这个稳定版本集中完成了 imux 活跃站点面的品牌一致性清理,把文档与法务页面的发布入口对齐到当前仓库,并收敛了侧栏交互模型,避免工作区导航与工具面板互相打架。
这个稳定版本把 macOS 安装包链路进一步加固,让对外发布的 DMG 更接近标准的拖拽到 Applications 安装体验,同时发布流程会在上传前主动校验产物结构,而不再只是假定它是正确的。
这个稳定版本重新发布了 imux 的安装包,并把品牌化应用资源、官网下载路径,以及监督器侧栏中的长提示词展示统一到同一条发布线上。
这是 imux 当前稳定线的持续优化更新,重点在于继续拉开品牌辨识度、降低从其他 AI 编码客户端迁移的成本、增强工作区内协作效率,并修复旧安装副本的更新兼容性问题。
官方网站新增了完整使用说明、独立升级日志页面,并把公开营销层扩展到全部已路由语言。
公共站点切换到 imux 品牌与官方域名,并对齐下载地址、仓库地址、元信息和生产环境托管。
首个公开版本围绕原生 macOS 指挥中心展开,核心是终端优先执行,以及围绕终端建立的一整套控制平面。
如果升级后感觉不对劲,先回到使用说明重新核对预期工作流,再对照版本发布页确认变更点,并通过可复现步骤、路径和设置状态提交问题。
目前只有 macOS 提供正式桌面安装包。imux 当前是原生 AppKit/SwiftUI 客户端,因此 Windows 桌面安装包暂未发布。