Skip to content

v3.18.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 09:11
· 6 commits to master since this release
51fc53f

botmux v3.18.0

自 v3.17.0 以来 121 个提交。本次正式版把之前 v3.18.0-canary.1~6 灰度验证过的
musl/Bun 发版链路与一批权限、会话、卡片改动一并转正。

主要变化

飞书权限与建 Bot

  • 权限数据范围自动收敛为「与应用的可用范围一致」,不再以「全部」提审 (#1061)。
    「权限可访问的数据范围」是独立于 scope/update 的第二条链路,botmux 此前从未
    配置过它;而这些权限属「需审核」档,以全员数据范围提审会触发额外加签。现在
    建应用与权限自愈两条路径都会在发版前把它收敛到应用可用范围。
  • 权限自愈只申请缺失的 scope,不再全量导入完整清单(301 项 → 实际缺失项)(#1042)。
  • 支持按 bot 关闭 发言人标签注入 (#1048)。
  • 接入独立服务身份诊断适配器 (#1041)。

发版与运行时

  • 支持 musl(Alpine)二进制,npm 按 libc 自动选包 (#1053);随后修正 arm64 腿在
    Alpine 容器内无法运行 JS action (#1054) 与容器产物归属导致的校验和失败 (#1056)。
  • 去掉 Node fallback,安装不再编译原生模块 (#1047)。
  • 编译态版本号改为编译时烤入,修 --version 输出 unknown。

会话与终端

  • session-store 引擎替换为 per-bot SQLite(导入 + 混合窗口 db-else-json + 兼容层)(#852)。
  • 恢复休眠及已关闭的 Botmux 会话 (#1028)。
  • 网页终端两处周期性卡顿修复:截图 PNG 编码异步化、隧道 socket 关闭 Nagle。
  • 支持 Codex 单 bot 独立鉴权 (#906)。

卡片与交互

  • 支持通过 message_id 原地更新自定义卡片 (#936)。
  • 静默收尾诚实化:无需回复的轮次标「已处理」,被 @ 的轮次自动回执 (#1019)。
  • 话题会话的思考气泡落进话题内,不再漏到群级别 (#1035)。

完整提交列表见 GitHub 比较视图 v3.17.0...v3.18.0。


✨ 新功能

  • bun: botmux 打成免-Node 单二进制分发(含 terminal-proxy 裸 TCP 修复 + self-re-exec 自托管 + CI 编包) (#873)
  • profile: restore multilingual Feishu descriptions (Task 1-5) (f7e1079)
  • profile: model multilingual description drafts (a43a4b4)
  • profile: edit multilingual Feishu descriptions (32edc50)
  • cot: 思考过程以飞书原生 CoT 消息(message_cot)流式展示 (#1000)
  • setup,dashboard: 群聊模式授权零配置——回调白名单自愈、批量修复与一键授权 (#1004) (df5f4ec)
  • codex-app: 增加独立 Chrome 浏览器桥接 (#1015)
  • schedule: 状态感知与定时任务——限流主动通知、定时任务路由、定时跑 Workflow、关键词预过滤、ownerless relay (#1008)
  • config: Workflow 功能默认关闭,需显式开启才启用 (#1022)
  • cli: 提供当前轮次可信发信人身份 (#1017)
  • cli: 支持用 /cli <cliId> 指定会话级别使用的 cli agent (#889)
  • traex: 支持 reasoning effort 配置 (#1020)
  • card: 静默收尾诚实化——判定无需回复的轮次改标「已处理」+被 @ 轮次自动回执 (#1019)
  • session: session-store 引擎替换为 per-bot SQLite(导入 + 混合窗口 + sqlite-compat) (#852)
  • prompt: 支持按 bot 关闭 发言人标签注入 (#1048)
  • release: 支持 musl(Alpine)二进制,npm 按 libc 自动选包 (#1053)
  • cli: 支持通过 message_id 原地更新自定义卡片 (#936)
  • ebsd: 接入独立服务身份诊断适配器 (#1041)

🐛 修复

  • omp: 冷 resume 时自动迁移 pre-#955 旧共享目录会话记录 (#990)
  • dashboard: 旧会话页「定位话题」补带控制类 CSRF 票据 (#986)
  • profile: keep description editor input live (424b23e)
  • dashboard: 侧边栏菜单补回漏掉的 customization tab (a69e5cb)
  • profile: load bot descriptions on selection (578f439)
  • bridge: 模型网关/上游错误精准识别,失败兜底卡片兜底 @ 管理员 (#984)
  • dashboard: restore description modal pointer access (d2e754d)
  • traex: 识别 item_completed 用户事件,修复 adopt 回合静默丢失 (#997)
  • traex: 恢复 live card token 展示 (#994)
  • daemon: PM2 God 由独立 botmux.service cgroup 拥有 (Closes #774) (0517705)
  • web-terminal: fall back on EACCES (Windows winnat reserved ports), not just EADDRINUSE (#982)
  • cursor: survive login delay and promote queued follow-ups (#996)
  • card: 可写终端链接改为按钮渲染,不再裸露 URL (#1010)
  • adapter: 适配器专项——CoCo 双路径、Antigravity 不重试、Codex 信任框、TRAE 空回复、adopt 新格式 (#1007)
  • i18n: 修复 #1004 合入 zh.ts 重复 key 与多余闭合括号 (af4cf16)
  • codex: 关闭 Fast 后清除陈旧 priority 徽标 (#983)
  • dashboard: 修复存量定时任务无法保存 (#1013)
  • dsh: 软链接安装的 dsh-jsonrpc-agent 在 sandbox=true 下启动 ENOENT (#1025)
  • smoke: 收尾回收 supervisor 拉起的成员,不再留 orphan dashboard (#1029)
  • sandbox: codex-app / mir 的二级 spawn 路径改用 canonical,修沙盒内 ENOENT (#1031)
  • cot: 话题会话的思考气泡落进话题内,不再漏到群级别 (#1035)
  • worker: 支持 Codex 单 bot 独立鉴权 (#906)
  • adopt: 恢复休眠及已关闭的 Botmux 会话 (#1028)
  • dashboard: 顶栏文档链接直接指向官方文档站 (#1040)
  • dsh: 兼容版本化凭据文件 (#1037)
  • platform: 隧道桥接本机 dashboard 的 socket 关闭 Nagle 消除 Web 终端周期卡顿 (ab0bed3)
  • lark: 权限自愈只申请缺失的 scope,不再全量导入完整清单 (#1042)
  • release: musl 构建改用 docker run,修 arm64 腿在 Alpine 容器里跑不了 JS action (#1054)
  • release: 容器构建后把 dist-bin 交还宿主用户,修 Checksums 的 Permission denied (#1056)
  • zellij: do not gate a live session on an indeterminate probe (#836)
  • setup: 权限数据范围自动收敛为「与应用的可用范围一致」,不再以「全部」提审 (#1061)

⚡️ 性能

  • worker: 截图 PNG 编码异步化,消除网页终端每 10 秒一次的卡顿 (#1049)

📝 文档

  • profile: specify automatic description loading (56c4620)
  • profile: plan automatic description loading (45211f3)
  • claude: 写清 worktree 共享 node_modules 的两个实测风险 + bun 在 worktree 下可用 (#1030)
  • contributing: 贡献文档的构建指令改用 bun (02b9d95)
  • build: 修 trustedDependencies 与 frozen-lockfile 报错的陈述错误 (524e2ce)
  • session: 更正 sqlite-compat 损坏库的抛点说明,区分读写两条路径 (#1046)

🔧 其它

  • build: 包管理器从 pnpm 换成 bun (#1033)
  • platform: 隧道桥接 socket setNoDelay 补测试替身并锁行为 (611afcc)
  • npm: 去掉 Node fallback,安装不再编译原生模块 (#1047)

🙏 感谢贡献者

@hu5h @DeepColds @sensuossss @hadix-lin @superShen0916 @Lotu527 @BoYanZh @liuhaoyang @ITcathyh @mameikagou @uestcwangci @xiaoxueSunn @47seek @zsnjuts @HarveyZgit @swtxbling @LucasIcarus @xiongz-c @Alan-Paul @le0tan @nil-err @zhangke0117cursor @Ghost-LZW @liqimore

Full Changelog: v3.17.0...v3.18.0