v3.0.4
Highlights
- Avibe is safer to leave running: Claude and Codex sessions that get stuck “active” now have eviction backstops, so leaked backend subprocesses are reclaimed instead of piling up until restart (#628, #629).
- Show Pages are easier to share and revisit: public pages can use a custom
/p/<suffix>/link from CLI, chat, or settings, and individual Show Pages can be added to the iOS Home Screen as standalone apps (#643, #634). - Busy-session Workbench flows are less disruptive: queued messages can be selected or recalled into the composer, mobile IME/voice input no longer gets truncated by per-keystroke state mirroring, and session Fork is now available on mobile with safer running-session boundaries (#642, #644, #619, #640).
- The admin console is easier to navigate: routing controls were reorganized, the agent selector was decluttered/unified, and the nested mobile console menu now exposes all admin pages (#645, #646, #650, #638, #639).
Changes
Added
- Add custom public Show Page suffixes across CLI, chat, and settings (#643).
- Add iOS Home Screen support metadata for Show Pages (#634).
- Add mobile Workbench session Fork action (#619).
- Add queued-message recall to composer and selectable queued text in chat (#642).
- Coalesce same-definition Harness callbacks within a 60-second window before dispatch while preserving individual queued rows (#636).
Changed
- Restructure admin console navigation, promote Remote Access, and unify agent selector behavior (#645).
- Refine routing panel layout and finish deprecating the user-facing
systemmessage type (#638). - Declutter the groups Agent selector copy and inherited-route hints (#639).
- Simplify Workbench search jump windows.
- Update contributor agent guidance and require bundled PR/CI waiter scripts (#626, #641).
Fixed
- Preserve flat-scope sessions after
/setcwdwhere possible and show the/newhint when a cwd change requires a replacement session (#580). - Mark WeChat message contexts as
platform=wechatat construction time (#580). - Reclaim Codex transports and Claude sessions that stay stuck active forever instead of leaking subprocesses (#628, #629).
- Avoid killing manual
claude --resumeprocesses when reaping Avibe-owned Claude orphans (#629). - Freeze running fork boundaries and preserve Codex/OpenCode trim intent when forking active sessions (#640).
- Settle coalesced Harness agent runs by writing terminal results to every coalesced run (#637).
- Fix mobile admin console navigation for nested menus and polish bottom-sheet/tab alignment (#646, #650).
- Fix chat composer truncation with fast mobile IME/voice keyboard insertion (#644).
- Stop repeated auto-update success notices, block repeated failed update attempts per version, and avoid unattended self-updates on source/dev builds (#648).
- Percent-encode OpenCode directory headers.
- Harden regression tests and auth-home isolation so tests do not touch real Codex/Claude user state (#624, #633).
Breaking
- Stop honoring
VIBE_REMOTE_HOMEas a runtime state override; useAVIBE_HOMEinstead. Existing~/.vibe_remotedata is still adopted/migrated (#625).
Full Changelog: v3.0.3...v3.0.4
亮点
- Avibe 更适合长期常驻:Claude/Codex 会话如果卡在 active 状态,现在有兜底回收机制,不会一直泄漏后台子进程直到重启 (#628, #629)。
- Show Pages 更好分享、也更像 App:公开页面可在 CLI、聊天和设置里设置自定义
/p/<suffix>/链接,Show Page 也能添加到 iOS 主屏幕独立打开 (#643, #634)。 - Workbench 忙碌时更顺手:排队消息可以选中文本或召回到输入框,移动端 IME/语音键盘输入不再因逐字同步状态被截断,手机上也能复刻会话且运行中复刻边界更安全 (#642, #644, #619, #640)。
- 管理台更清晰:控制台导航重组,路由面板和 Agent 选择器更统一精简,移动端嵌套菜单现在能进入所有管理页面 (#645, #646, #650, #638, #639)。
变更
新增
- 在 CLI、聊天和设置中支持公开 Show Page 自定义链接后缀 (#643)。
- 为 Show Page 增加 iOS 主屏幕安装所需的 PWA 元数据 (#634)。
- 在移动端 Workbench 增加会话复刻入口 (#619)。
- 支持将排队消息召回输入框,并允许选中排队消息文本 (#642)。
- 在派发给 Agent 前,将 60 秒窗口内同一定义的 Harness 回调合并,同时保留 Workbench 中每条排队消息可见 (#636)。
变更
- 重组管理台导航,独立出远程访问页面,并统一 Agent 选择器行为 (#645)。
- 调整路由面板布局,并在用户可见界面完成
system消息类型废弃 (#638)。 - 精简群组 Agent 选择器和继承路由提示文案 (#639)。
- 简化 Workbench 搜索跳转窗口。
- 更新 Agent 协作指南,要求使用内置 PR/CI 等待脚本 (#626, #641)。
修复
/setcwd后尽量保留当前扁平作用域会话;如果新 cwd 必须替换会话,则提示使用/new(#580)。- 在创建时标记 WeChat 消息上下文为
platform=wechat(#580)。 - 修复 Codex transport 和 Claude 会话永久卡在 active 时无法回收、导致子进程泄漏的问题 (#628, #629)。
- 在清理 Claude 孤儿进程时,避免误杀手动启动的
claude --resume进程 (#629)。 - 复刻运行中的会话时冻结边界,并保留 Codex/OpenCode 的 trim 意图 (#640)。
- 为合并后的 Harness agent run 写入最终结果,避免部分 run 一直停在 queued (#637)。
- 修复嵌套管理台在移动端的导航问题,并打磨底部菜单和标签栏对齐 (#646, #650)。
- 修复移动端快速 IME/语音键盘在聊天输入框中追加长文本时被截断的问题 (#644)。
- 修复自动更新成功通知反复出现的问题;失败或版本不匹配时按版本阻断重试,并避免源码/开发构建无人值守自更新 (#648)。
- 对 OpenCode 目录请求头进行百分号编码。
- 强化回归测试和认证目录隔离,避免测试触碰真实 Codex/Claude 用户状态 (#624, #633)。
破坏性变更
- 不再将
VIBE_REMOTE_HOME作为运行时状态目录覆盖项;请改用AVIBE_HOME。现有~/.vibe_remote数据仍会被接管/迁移 (#625)。
Full Changelog: v3.0.3...v3.0.4