Repository navigation
v3.51.0
·
183 commits
to master
since this release
v3.51.0
新增
- 决策看板与管家(#2266, #2291, #2304):新增决策看板(Board),支持在看板上拍板决策并批量送入管家会话执行;拉新群时默认带上管家并提供配置开关;看板 --link 支持删除与网址标签生效。
- 多 Bot 互信与权限打通(#2256):同机同一 Owner 的 Bot 间恢复互信,支持互相执行管理命令;群内被 @ 点名的成员自动获得该群会话对话授权。
- CLI 适配器扩展与强化(#2197, #932, #2241, #2202, #2156):内置 CodeM 适配器并支持精确会话恢复;Cursor spawn 会话补齐 transcript 兜底;Minimax 支持接通失败分类、自动长任务验证并允许作为 v3 goal-mode 节点;Traex 支持自动切换模型并保留运行中追加指令。
- Claude Code 提示缓存保活(#2226):支持配置 Prompt Cache TTL 与空闲保活机制(全局默认 + 每 Bot 覆盖,默认关闭),降低冷启动与重复推理开销。
- 飞书交互与控制台升级(#2106, #2187, #2037, #2090, #2193, #2196):支持原生 /dash 与 /dashboard link 快捷指令;卡片用量行支持展示缓存命中率与分/小时耗时;Dashboard 支持自动扫描选择 Codex 配置 Profile;Adopt herdr 运行条目按标签页命名且位置行显示空间名;VC 支持通用会议输出策略、受控纪要跨群分享及默认关闭的邀请人本场管理授权。
修复与优化
- 核心稳定性与网络传输(#2297, #2290, #2258, #2149, #2162):Tunnel 数据通道按 pong 回带字节偏移确认,修复背压闸门误开与连接提前关闭;Worker 重启清扫严格核验进程身份,fleet 不再继承调用方 cgroup;Tmux 启动参数改走私有文件,避免命令超长报错,并优化遗留 server 回收;支持日志文件按大小轮转与诊断快照/附件 TTL 自动回收,防止磁盘持续增长。
- 会话生命周期与回合流转(#2296, #2294, #2288, #2265, #2249, #2247, #2246, #2240, #2234, #2026, #2230, #2227, #2206, #2179, #2185):Antigravity compact→full 偏移映射拒绝截短日志并改读 transcript_full.jsonl 避免回复被截断;Traex 识别光标定位输入框,完善中断通知、容量耗尽排队与首次活动前追加输入缓冲;Opencode2 采用权威 idle 标记判定回合边界;Claude 状态协议优先报 idle 时首条消息不再等待兜底,API 报错通过 StopFailure 兜底中断。
- 链接引用与建群授权(#2253, #2313, #2015, #2254, #2308, #2312):严格校验并拒绝 final 中被截断的注册链接;多 Bot 建群协作授权改为尽力而为,授权失败不再跳过转群主、@ 通知和 kickoff;修复排队与定时任务的执行身份切换;还原反馈表格回读文本修复卡片更新失败;反馈按钮改用流式布局适配窄屏;恢复会话无 worker 时重建卡片补回终端读链接 viewToken。
- 飞书卡片与控制台交互(#2283, #2244, #2236, #2235, #2250, #2248, #2225, #2188, #2180):回复耗时自动转换分与小时;恢复会话点刷新、终端按键或显示/隐藏输出时不再误将状态卡改回工作中;复用引用转发的消息树并钉住单次降级;Dashboard 离线 bot 恢复行带回 larkToolBinding 等保存值;保留探测未知运行时并统一锁外可用性探测。
- 测试工程与 CI 治理(#2311, #2287, #2273, #2267, #2245, #2242, #2233, #2223, #2210, #2207, #2184, #2181):PR 合入或关闭时自动取消在途的 Midscene 飞书 live 运行;优化 adopt Pi、进程组回收、auto-model 切换通知及轮询读 JSONL 等用例稳定性。
✨ 新功能
- card: 实时卡片用量行显示会话缓存命中率 (#2187)
- traex: 支持自动换模型并保留运行中追加指令 (#2156)
- vc: 支持默认关闭的邀请人本场会议管理授权 (#2196)
- vc: 支持通用会议输出策略与受控纪要跨群分享 (#2193)
- workflow: 允许 minimax(mcode) 作为 v3 goal-mode 节点 (#2202)
- cli: 内置 CodeM 适配器并支持精确会话恢复 (#2197)
- adopt: herdr 运行中条目按标签页命名,位置行显示空间名 (#2090)
- prompt-cache: Claude Code 提示缓存 TTL 与空闲保活(全局默认 + 每 bot 覆盖,默认关闭) (#2226)
- cursor: spawn 会话补齐无 botmux send 时的 transcript 兜底(对齐 codex) (#932)
- perm: 恢复同一 owner 的同机 Bot 互信:可执行管理命令,@ 时点名的人自动获本群对话授权 (#2256)
- board: 决策看板与管家:在看板上拍板,一次提交一批决定送进管家会话 (#2266)
- minimax: 接通失败分类并自动验证真实长任务 (#2241)
- dashboard: 扫描并选择 Codex 配置 profile (#2037)
- lark: 原生 /dashboard link 与 /dash 命令(私密返回管理首页链接,不建会话/worktree) (#2106)
- board: 拉新群时默认带上管家并加开关;看板 --link 支持删除、网址标签生效 (#2291)
🐛 修复
- 使用目标配置证明调用 Bot Owner (#2100)
- env: 旧写入口补齐会话环境层 4KB 预算并统一按 UTF-8 字节计量 (#2180)
- worker: Claude 状态协议先于 SessionStart 报 idle 时,首条消息不再白等 15 秒兜底 (#2179)
- core: 日志按大小轮转与诊断快照/入站附件 TTL 回收,防止磁盘无限增长 (#2162)
- tmux: reap orphaned tmux servers so restored sessions don't lock against the previous generation (#2149)
- schedule: 基于当前轮次选择共享会话的任务话题 (#2186)
- dashboard: 避免将 PATH 快速检测失败误判为 CLI 未安装 (#2201)
- traex: 放宽手写模型能力校验并补齐负载解挂测试 (#2211)
- lark: 修复引用合并转发消息时的读取失败 (#2208)
- bridge: 读 Claude pid 状态文件撞上原地改写时短暂重读,不再误发「没读到会话记录」提示 (#2206)
- traex: 修复同一执行轮追加消息被误去重及采集告警 (#2185)
- repo: 清理缺目录首条消息经文本 /repo 开工后的 workingDirRecovery 残留与裸 /repo 提示 (#2176) (#2188)
- bridge: Claude 回到提示符时等本轮收尾记录落盘再结算,API 报错不再按正常完成收尾 (#2227)
- minimax: 取消默认长任务硬时限并修复压缩入口 (#2192)
- runtime: 支持 Kimi 兼容发行版的独立显示名 (#2190)
- worker: 首个提示符超时兜底标记就绪时给 busy 边沿上膛,第一轮忙闲不再丢失 (#2239)
- card: 恢复会话点「显示/隐藏输出」不再把状态卡改回「工作中」 (#2236)
- traex: 容量耗尽后独立后继回合等 composer 再投递,并钉住对应回归 (#2240)
- dashboard: 保留 lark-cli 应用绑定关闭状态的刷新回显 (#2248)
- card: 恢复会话点「刷新」或终端按键不再把状态卡改回「工作中」 (#2244)
- lark: 复用引用转发的消息树并钉住单次降级 (#2235)
- dashboard: 离线 bot 恢复行从 bots.json 带回 larkToolBinding 等保存值 (#2250)
- traex: 容量耗尽后 composer 先于终态重画时后继输入等待重置再投递 (#2246)
- tmux: 启动参数改走会话私有文件,避免 tmux command too long (#2258)
- traex: 识别光标定位绘制的输入框,避免首条消息等待超时 (#2247)
- terminal: 恢复会话没有 worker 时直连终端链接不再指向上一代端口 (#2264)
- grok: 预先信任工作目录,启动卡在确认框时说清原因 (#2255)
- opencode2: 以 idle 标记为权威回合边界,修复步骤间空档误判空闲(助手工作中卡片误翻「等待输入」) (#2026)
- dashboard: 设置页导航与区块顺序对齐,会话环境变量编辑器默认收起继承的变量 (#2225)
- traex: 修复新版输入框漏识别导致的启动等待 (#2209)
- traex: 缓冲首次活动前的追加输入并识别长排队面板 (#2249)
- board: 同毫秒写入的关联按写入顺序展示,修 master 红 (#2282)
- codex-app: 预览等待在尾窗 RPC 超时时按预算耗尽降级而非抛出 (#2257)
- claude: 用 StopFailure hook 兜底 API 错误中断后无人感知的回合 (#2230)
- worker: 启动拦截识别先去 ANSI 并只认行首选项行,CLI 版本记录按 runtime 分文件 (#2280)
- traex: 保留手写共享思考强度并清理废弃能力导出 (#2234)
- traex: 修正 Auto 重启的中断识别与通知 (#2265)
- lark: 回复耗时自动显示分和小时 (#2283)
- antigravity: 最终回复改读 transcript_full.jsonl,不再被会话日志截掉中段 (#2288)
- grok: 预信任文件锁以 helper 结果为准,修复 flock 用例偶发超时 (#2289)
- antigravity: compact→full 偏移映射拒绝已被截短或替换的 compact 日志 (#2294)
- antigravity: compact→full 映射以 scan 实际前沿复核收缩 (#2296)
- board: 附图按看板内插入序号排列(schema v3 迁移),列表同毫秒按编号兜底 (#2281)
- worker-pool: 重启清扫按进程出生身份核对后才向旧 worker 发信号,fleet 不再继承调用方的 cgroup (#2290)
- tunnel: 数据通道按 pong 回带的字节偏移确认,迟到的 pong 不再放开背压闸门或提前关闭 (#2297)
- board: board_files.ord 回填改一次排名,消除 v2→v3 迁移的 O(n²) 启动停顿 (#2301)
- feedback: 还原回读表格文本,修复反馈卡片更新失败 (#2254)
- auth: 修复排队与定时任务的执行身份切换 (#2015)
- terminal: 恢复会话无 worker 时重建的卡片,终端读链接补回 viewToken (#2312)
- lark: 反馈按钮改用流式布局以适配窄屏 (#2308)
- create-group: 多 Bot 建群的协作授权改为尽力而为,失败不再跳过转群主、@ 通知和 kickoff (#2313)
- link-ref: 拒绝 final 中被截断的注册链接 (#2253)
⚡️ 性能
- traex: 异步核验 Auto 追加输入的当前视口 (#2213)
♻️ 重构
- remote-runner: 收敛 mention flag 守卫 (#2163)
📝 文档
- worker: 补全两处 kill 后探测「刻意不走 probePaneAfterKill」的交叉注释 (#2175) (#2199)
- test-seam: 补记 #2250 离线恢复行调用点缺行为守卫的 seam 待办 (#2251)
🔧 其它
- env: 暖重连不覆写首启的会话环境指纹 stamp (#2184)
- skills: 补齐非 darwin 侧断言并贴齐 nofollow 命名惯例 (#2111) (#2181)
- worker-pool: 统一 TurnTerminalCarrier 类型定义并注释 final 语义 (#2117) (#2183)
- codex: migration-picker 崩溃重试用例给私有 tmux server 留常驻会话,避开 server 退出竞态 (#2207)
- core: 收敛 terminal carrier 的 kind 与 responseKind 联合定义 (#2194) (#2198)
- tmux: retire 夹具裸 tmux 命令加冷启有界重试并携带 stderr (#2210)
- claude-harness: 后台任务通知改为暂存后 rename 原子投递,事件文件只读完整行 (#2223)
- codex-app-runner: native user input 失败分支等 stdout 送达再断言,不再跨通道抢先读 (#2233)
- tmux: 集成测试收尾先停住并杀掉 worker 整棵进程树,再删私有 TMUX_TMPDIR (#2231)
- helpers: 轮询读另一进程正在追加的 JSONL 时只解析完整行,抽出共用 readJsonLines (#2242)
- helpers: 其余轮询读 JSONL 的调用点在写入方仍在追加时只解析完整行 (#2245)
- traex: 修复 auto-model 容量切换通知计数的跨通道时序 flake(#2260) (#2267)
- cli: shell 探测进程组回收用例把回收中的 X 状态算作已退出,并按结束等待的那次观察断言 (#2273)
- worker: adopt Pi 忙碌用例改由测试推进阶段,不再依赖 worker 启动快慢 (#2287)
- board: 会议监听群、issue 领取群补单人群不带管家的用例 (#2304)
- e2e: PR 合入或关闭时取消它在途的 Midscene 飞书 live 运行 (#2311)
🙏 感谢贡献者
@zsnjuts @kunshanyep-beep @47seek @nengqi @Lotu527 @xiaoxueSunn @xinna2001 @Lyinsun @will7856 @lijason1121 @LuckyTerry @VincentSayHi @wzomg @kstonfr @Vince-9 @pixystone @Oscar-Williams @chaozuo-cpu @Kerminate
Full Changelog: v3.50.0...v3.51.0