Skip to content

v3.56.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 04:01
· 452 commits to master since this release
160612a

v3.56.0

新增

  • 多人使用未开白名单隔离主动提示(#2560):针对多人使用却未开启白名单隔离的 bot,增加开启提示并列出已验证的 CLI 清单。
  • TraeX 模型池容灾续跑(#2605):支持额度耗尽时按模型池顺序自动续跑。
  • 飞书回复卡片能力增强(#2585, #2582, #2515):回复页脚自动添加平台控制台入口;统一回复卡支持隐藏工具调用细节;支持文档 diff 折叠卡片预览。
  • 沙盒与外部执行隔离能力(#2548, #2536):支持 wrapperCli 与文件沙盒共存,并在沙盒内安全执行 wrapper;沙盒内 botmux send 支持发到群顶层与跨群,由宿主严格校验目标。
  • 会话自动压缩机制(#2366):增加空闲会话自动压缩,避免上下文堆积。
  • Dashboard 重构与体验提升(#2553, #2552, #2556, #2544, #2218):群组管理页重构为“复制为新群”替代 Profile;会话控制页精简为看板+表格视图(下线团队协作页);引入 Base UI Combobox 改善群选择器键盘交互;支持沙盒切换确认、会话沙盒提示与独立 config.toml 重新同步;⌘K 补全配置项索引并修复深链落地。
  • 轮次来源可观测性(#2549):execution current --json 返回轮次来源 origin。

修复与优化

  • CLI 适配器与运行优化(#2647, #2640, #2641, #2568, #2578, #2473, #2593, #2370, #2200, #2542, #2475, #2539):移除废弃的 Gemini CLI 适配器,老配置给出改用 Antigravity 的提示;Kimi 接入 OSC 7501 状态协议,免审批启动改用 --auto,权限确认期间不再误判回合结束;Antigravity 修复状态误判、进度续接与模型页脚缺失;Gemini/Kimi 支持 /restart 重启后接回同一段对话;Codex App 增加容量失败有限续跑与持久结算,修复推理菜单与线程改名超时拆分;TraeX 按实际 TRAE_HOME 读取数据,优化旧版 traecli 兼容与进程查找;DSH 推理与工具过程接入飞书卡片思考展示。
  • 沙盒与安全加固(#2650, #2602, #2624, #2543, #2600, #2545, #2546, #2540, #2547, #2558, #2534, #2499):收紧沙盒内凭据可见范围;统一 scratch 只隔离写入的口径,规范化多端挂载路径与清理机制;Linux bwrap 优先系统 bwrap 并补齐 /dev、DNS 恢复与软链基线支持;禁止把根目录类路径设为可写。
  • Worker 队列与生命周期调度(#2586, #2645, #2648, #2575, #2467, #2541, #2550, #2557, #2598, #2577, #2581):已结束的排队回合不再挂上 active turn authority,修复定时消息卡死;未确认投递隔离前序释放与队列重新驱动,修复排队输入偶发卡死;定时任务续跑、relay 与任务位落点身份严格取自宿主 authority 库;容错畸形 bots-info 条目与未知 trigger source;缩短会话临时路径。
  • 飞书与交互链路优化(#2655, #2651, #2607, #2594, #2514, #2522, #2618):搜索无结果提供清除搜索按钮以重置全部会话;支持单聊话题定位与跳转;提前发送接收表情以缩短授权等待感知;修复失效终端入口并保留诊断终端;群管理抽屉权限页签交互与样式去重。
  • CI、测试与基础构件稳健性(#2636, #2649, #2644, #2637, #2627, #2634, #2633, #2623, #2630, #2619, #2620, #2622, #2615, #2590, #2611, #2606, #2597, #2596, #2595, #2589, #2563, #2580, #2570, #2562, #2527, #2564, #2561, #2554, #2526, #2513, #2523, #2525, #2507, #2509):master 分支 CI 取消规则优化;macOS runner 升级 macos-15;单元测试竞态治理与冷启动预算放大;自动更新在已是官方最新版本时跳过重装。

✨ 新功能

  • execution: execution current --json 返回轮次来源 origin (#2549)
  • dashboard: 重构群组管理页,以复制为新群替代 Profile (#2553)
  • dashboard: 会话控制页精简为看板+表格,下线团队协作页 (#2552)
  • dashboard: 引入 Base UI,群选择器改用 Combobox 支持键盘操作 (#2556)
  • send: 支持文档 diff 折叠卡片预览 (#2515)
  • sandbox: 沙盒内 botmux send 支持发到群顶层和跨群,目标由宿主校验 (#2536)
  • session: 增加空闲会话自动压缩 (#2366)
  • dashboard: 沙盒切换确认、会话沙盒提示与独立 config.toml 重新同步 (#2544)
  • sandbox: wrapperCli 与文件沙盒可同时使用,wrapper 在沙盒内执行 (#2548)
  • lark: 统一回复卡支持隐藏工具调用 (#2582)
  • reply-card: 完成回复页脚自动添加平台控制台入口 (#2585)
  • traex: 支持额度耗尽时按模型池顺序续跑 (#2605)
  • sandbox: 多人使用却没开白名单隔离的 bot,提示开启并列出已验证的 CLI (#2560)

🐛 修复

  • sandbox: scratch 新会话不再重复 overlay 其它会话的挂载,子挂载设上限并补齐中断清理 (#2499)
  • dsh: 将 DSH 的推理与工具过程接入飞书卡片思考过程 (#2475)
  • codex: 修复独立 app-server 的进程身份校验 (#2200)
  • codex: 修复推理菜单并支持附带任务与后续消息投递 (#2370)
  • perm: 容错 bots-info 畸形条目 (#2508)
  • traex: 网络策略沙盒下继续找到 traex 叶子进程,回复不再因 pid 绑错丢失 (#2535)
  • sandbox: 宿主 resolv.conf 软链进 /run 时沙盒内恢复 DNS (#2534)
  • execution: 拒绝未知 trigger source 并补齐 origin 穷尽守卫与顺序用例 (#2557)
  • identity: bytedcli 按触发人鉴权时执行 HOME 切到本人目录 (#2550)
  • schedule: 定时任务续跑与 relay 的身份只从宿主 authority 库取 (#2541)
  • runtime: 缩短会话临时路径并保留磁盘缓存与隔离 (#2467)
  • auth: 提前发送接收表情以缩短授权等待反馈 (#2514)
  • sandbox: 白名单隔离下补齐 Gemini、Pi、OpenCode 自身目录,附开源 CLI 实测矩阵 (#2558)
  • maintenance: 自动更新时官方最新版就是当前版本则跳过重装 (#2570)
  • stream-card: 修复失效终端入口并保留诊断终端 (#2522)
  • herdr: 认窗格时单次 agent list 没应答不再判启动失败,截止放到 60 秒 (#2577)
  • sandbox: 修 scope 重名、迁移抢锁跳过、final 记录丢失与 macOS scratch 规范化路径 (#2547)
  • sandbox: 网络策略提示 DNS/代理前提,报错改中文并点名后端 (#2540)
  • sandbox: sandboxPaths 不允许把根目录类路径设成可写 (#2546)
  • sandbox: scratch 预检本机能力,启动失败时说清原因和修法 (#2545)
  • traex: 按 bot 实际生效的 TRAE_HOME 读 TRAE 数据并放行沙盒 (#2538)
  • ci: 席位超时的失败通知不再刷屏列出未运行用例 (#2595)
  • runtime: session scratch 的 uid hub 权限自愈,并修复 wrapper 抢先建树导致 scratch 永久不可用 (#2581)
  • cli: 沙盒内运行 botmux 命令给出可读提示 (#2539)
  • adopt: 按真实活跃时间排序 Orca 候选 (#2598)
  • identity: 修复排队轮次与缺失 union_id 的可信身份 (#2575)
  • ci: 席位队列被取消时失败通知也省略未运行的飞书用例 (#2606)
  • codex: 线程改名的等待预算与单次请求超时拆成两个参数 (#2593)
  • traex: 旧版 traecli 不再带 --dangerously-bypass-hook-trust,启动拒参时给可读提示 (#2542)
  • sandbox: BOTMUX_SANDBOX=0 不再关掉 bot 自己开的沙盒 (#2600)
  • cli: Gemini、Kimi 接上会话恢复,/restart 后接回同一段对话 (#2578)
  • tmux: 启动即死诊断读内核退出码,补尸体夹具信号死亡用例,刷新分片耗时表 (#2590)
  • workbench: 支持单聊话题定位与跳转 (#2594)
  • sandbox: Linux bwrap 稳健性:仅凭证隔离补 /dev、优先系统 bwrap、软链基线目录、namespace 诊断 (#2543)
  • lark: 搜索无结果时提供清除搜索按钮,可回到全部会话 (#2607)
  • skills: 按分支名记录的 git skill 更新时检出远端最新提交 (#2618)
  • antigravity: 修复状态误判、进度续接和模型页脚缺失 (#2568)
  • codex: 为App容量失败接入有限续跑和持久结算 (#2473)
  • adopt: 补全中止时强制结束 herdr 子进程,补全测试接入 bun 测试腿 (#2633)
  • sandbox: sandboxPaths 不允许把根目录或 /run 设成只读 (#2624)
  • runtime-sweep: 回收 Riff 回执时跳过 sessions/ 下的普通文件,修复整轮清理报 ENOTDIR 失败 (#2634)
  • ci: Midscene 报告发布时清掉已关闭 PR 的报告,master 只留两次 (#2627)
  • test: cli-update-alias 用桩 git 夹具替代 PATH:'',修 Bun 腿真跑 git pull 的隔离失效 (#2643) (#2644)
  • sandbox: 收紧沙盒内凭据可见范围 (#2602)
  • kimi: 免审批启动改用 --auto,--yolo 在新版 Kimi Code 已不再全部放行 (#2641)
  • worker: 未确认投递隔离在前序未结束时也能释放并重新驱动队列 (#2642) (#2648)
  • worker: 定时等合成回合缺派发回执时改记 debug,不再每轮刷 WARN (#2645)
  • worker: 已结束的排队回合不再被挂上 active turn authority,修复定时消息永久排队 (#2586)
  • dashboard: 群管理抽屉的成员权限页签直接展示内容,去掉各页签重复的标题 (#2651)
  • kimi: 接入 OSC 7501 状态协议,权限确认期间不再误判回合结束 (#2640)
  • dashboard: 群管理去重收尾,CLI 行弱化覆盖非配置分支,回复模式隐藏标签改属性定向 (#2655)
  • sandbox: scratch 只隔离写入、不算凭据隔离,worker 与 Dashboard 口径统一 (#2650)

♻️ 重构

  • cli: 移除 Gemini CLI 适配器,老配置给出改用 Antigravity 的提示 (#2647)

📝 文档

  • sandbox: 补隔离分层、白名单隔离语义与容器排障 (#2537)
  • test: 记录 gemini-cli pin bump 前需复验 GITHUB_SHA 空串绕过脱敏 (#2591)
  • test: 补记 gemini-cli 0.66.0 已复验 GITHUB_SHA 空串绕过脱敏 (#2603)
  • test: gemini pin 备忘补 grep -r、owner 双名与真机证据限定 (#2612)
  • test: gemini pin 备忘的真机证据指向 #2616、包粒度精确到 core 依赖 (#2625)

🔧 其它

  • worker: session-env 报告轮询到完整 JSON,修 tmux 下 create-then-write 空窗 flake (#2509)
  • dashboard: ⌘K Bot 配置索引补「配置项漏登记」反向护栏 (#2174) (#2218)
  • sandbox: 测试被中断时收掉自己起的 tmux pane、scratch 挂载与夹具挂载 (#2507)
  • codex: 慢 thread/read 兜底标题用例放大预算,name/set 不再被 200ms RPC 超时掐断 (#2525)
  • codex-app: 空闲重连用例等本轮 final 之后的空闲状态再杀引擎,不再与 runner 空闲结算赛跑 (#2523)
  • worker: Pi argv 首轮 re-arm 用例先单独等 worker 启动,行为窗口从 CLI 拉起起算 (#2513)
  • codex-app-runner: 补齐引擎身份清理钩子,修 idle 恢复用例尾部挂死 (#2526)
  • hooks: turn.finished 钩子用例不再读到写了一半的标记文件 (#2554)
  • core: pm2 reaper 用例按完整 pid 内容就绪读取,修 bun-test 空 pidfile 竞态 (#2561)
  • identity: #2550 补 refresh 路径同一按人 HOME 用例与兜底目录注释 (#2564)
  • midscene: Midscene 改为合入 master 后跑,失败 @ 本轮 PR 作者;测试 Bot 按 CLI 名匹配 (#2527)
  • e2e-browser: 飞书真机新增 core-clis 跑道,覆盖 6 个公开 CLI (#2562)
  • sandbox: 钉住不开沙盒恢复 Pi 会话时也复制新工作目录的旧记录 (#2580)
  • e2e-browser: 飞书真机新增 core-sandbox 跑道,验证文件沙盒读写边界;Gemini 清空 GITHUB_SHA (#2563)
  • midscene: core-clis 的 Gemini CLI 钉到 0.66.0,对齐 #2578 (#2589)
  • cli: 放大 shell 回收用例启动预算,修 bun-test 正对照竞态 (#2596)
  • codex-app: 引擎身份用例等 attestation 到达再断言,修 gap-restart 偶发 (#2597)
  • worker: remote-runner 接管用例等 turn_input_committed 到达再断言,修 bun-test 高负载竞态 (#2611)
  • cli: shell 回收用例补 30s 单测墙钟,避免裸 bun test 5s 默认超时 (#2615)
  • hook: 流取消用例的截止改用冷启动预算,不再与 CLI import 抢 6 秒 (#2622)
  • sandbox: wrapper shebang 定长读补真正的回归守卫 (#2620)
  • e2e-browser: core-clis Gemini 跑道加 shell 环境快照与 mock 可观测性 (#2619)
  • mock-llm-server: gemini router 告警改为连续 streak 并忽略无 marker 请求 (#2630)
  • sandbox: 软链 HOME 下 codex-app 走仅凭证隔离的端到端回归用例(pty/tmux) (#2623)
  • darwin: macOS runner 从 macos-14 换成 macos-15 (#2637)
  • cli: 补 git status 自身失败分支用例(#2644 follow-up) (#2649)
  • master 上的 CI 不再被下一次合入取消 (#2636)
  • e2e: core-clis 与 oncall 矩阵的 Gemini 跑道换成 Antigravity (#2646)
  • codex-bridge-queue: 钉住 hasTerminalTurn 只回答精确 dispatchAttempt(#2648 跟进) (#2653)

🙏 感谢贡献者

@kEva0v0 @uestcwangci @wzono @kunshanyep-beep @nengqi @Alan-Paul @MarcWebber @xinna2001 @Aues6uen11Z @bhnan @yousay123 @pixystone @cubarco @swtxbling @solohsu @fangyeqing @Cansiny0320 @VincentSayHi @ninjalyl

Full Changelog: v3.55.0...v3.56.0