release teams developer-experience control-ui channels docker

OpenClaw 3.24:復健訓練——Microsoft Teams 全面重寫、18 項 Breaking Changes、開發者體驗躍進

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 24, 2026

12 分鐘

OpenClaw 3.24:復健訓練——Microsoft Teams 全面重寫、18 項 Breaking Changes、開發者體驗躍進

3.22 拆掉了舊架構,重建了地基。3.23 確認縫合線沒崩。龍蝦從手術台上活了下來——勉強。40 多個修復、8 個 auth 補丁、兩個瀏覽器回歸解決。病人穩住了。

現在,病人站起來了。

3.24 在 3.23 發布一天後上線。343 次提交。18 項 Breaking Changes。15 項修復。但這次的 Breaking Changes 不是再開一刀——是復健訓練。有控制的、有目的的動作練習,訓練新身體做舊身體從來做不到的事。

老規矩提醒一句:正式環境的主力龍蝦,謹慎升級。

Breaking Changes

18 項 Breaking Changes。但和 3.22 那種拆骨頭的 Breaking 不一樣,這一次更像復健訓練中的動作練習——每一項都在教龍蝦用新骨架做新動作。

Microsoft Teams:平台級重寫

Teams 不是在打補丁。是在重寫。

整個 Microsoft Teams 整合遷移到了官方 Teams SDK,AI Agent 的 UX 最佳實踐從底層就烙進去了。(#51808) 串流一對一回覆。帶 prompt starters 的歡迎卡。回饋和反思流程。即時狀態更新。打字指示器。原生 AI 標籤。這不是往聊天轉接器上鎖螺絲——是從 SDK 層開始建構一個正經的 AI Agent 體驗。感謝 @vincentkoc。

在此基礎上,已傳送訊息的編輯和刪除功能也到了,包括沒有明確目標時的討論串內回退。(#49925) 你現在可以糾正或撤回 bot 說過的話——這本來就該在第一天就有。

Teams 是這個版本裡最大的單一投入。舊的整合能用。新的整合用得

開發者工具與 Skill 生態

七項改動聚焦一個主題:讓開發者和維運知道自己手裡有什麼工具、缺什麼、怎麼裝。

工具可見性/tools 現在展示的是當前 Agent 此刻真正能用的工具,不是一份理論目錄。預設精簡檢視,可選詳細模式。Control UI 新增了一個即時的「Available Right Now」區域,讓你在發問之前就知道什麼能用。

Skill 安裝體驗:內建 Skill——coding-agentgh-issuesopenai-whisper-apisession-logstmuxtrelloweather——現在都帶一鍵安裝配方。(#53411) CLI 和 Control UI 在依賴缺失時可以直接提供安裝引導。Skill 管理介面新增狀態篩選標籤(All / Ready / Needs Setup / Disabled)帶計數,還有點擊展開的詳情對話框,裡面有依賴需求、開關、安裝按鈕、API Key 輸入、來源中繼資料和首頁連結。CLI 把缺依賴的標籤從「missing」改成了更友善的「needs setup」,並輸出 API Key 的設定指引。macOS app 在 API Key 編輯框裡加了「Get your key」連結和儲存路徑提示。感謝 @BunsDev 完成整個 Skill UX 改造。

Node 版本下限:Node 22 的支援下限降到了 22.14+,同時繼續推薦 Node 24,避免 22.14 的使用者被 npm 安裝和自動更新甩在後面。CLI 現在會在執行 openclaw update 之前預檢目標 npm 套件的 engines.node,Node 版本太低會直接報明確的升級提示,而不是試著裝一個不支援的版本。

Control UI 進化

四項改動,把 Control UI 從「能用的面板」推向「你真的想用的產品」。

Agent 工作區的檔案列變成了可展開的 <details>,支援延遲載入的行內 markdown 預覽,配套完整的 .sidebar-markdown 樣式覆蓋——標題、清單、程式碼區塊、表格、引用、details/summary,全都有。(#53411)

檔案預覽對話框換上了毛玻璃背景、尺寸適配面板和有樣式的標頭,整合了 @create-markdown/preview v2 的主題系統,支援標題、表格、程式碼區塊、callout、引用的豐富渲染,自動適配應用程式的明暗設計 token。(#53411)

macOS app 把水平藥丸導覽換成了帶摺疊箭頭和縮排子項的樹狀側邊欄。Agent 模型選擇器下拉選單加了「Not set」佔位符,空狀態不再讓人困惑。(#53411) 以上全部感謝 @BunsDev。

頻道能力擴展

三項改動,讓各頻道變得更聰明。

Slack 恢復了直投訊息的豐富回覆對等,自動把尾部的 Options: 行轉譯成按鈕和選擇器,最佳化了 Slack 互動設定的預設值,並把回覆控制項從外掛互動處理器中隔離出來。(#53389) 感謝 @vincentkoc。

Discord 新增了可選的 autoThreadName: "generated" 命名模式,自動建立的新討論串可以非同步重新命名為 LLM 產生的簡潔標題,同時保留現有的基於訊息的命名作為預設。(#43366) 感謝 @davidguttman。

外掛鉤子 新增 before_dispatch,攜帶標準化的入站中繼資料,將已處理的回覆路由回正常的最終投遞路徑,保留 TTS 和路由投遞語意。(#50444) 感謝 @gfzhx。

基礎設施與相容性

兩項改動,讓 OpenClaw 跑在更多地方、和更多東西對話。

Gateway/OpenAI 相容:新增 /v1/models/v1/embeddings 端點,顯式的模型覆寫會透傳到 /v1/chat/completions/v1/responses,提升對更多用戶端和 RAG 場景的相容性。感謝 @vincentkoc。

CLI 容器支援--containerOPENCLAW_CONTAINER 讓你可以直接在執行中的 Docker 或 Podman OpenClaw 容器裡執行 openclaw 命令。(#52651) 不用再 exec 進容器然後祈禱 CLI 裝了。感謝 @sallyom。

安全

兩個修復,堵上了媒體沙箱的漏洞。

mediaUrl/fileUrl 別名繞過被關閉,出站工具和訊息動作無法再逃逸出 media-root 限制。(#54034) 這是個真實的逃逸——結構化 payload 可以透過別名繞過沙箱邊界。修了。

出站媒體存取與設定的 fs 策略對齊:workspaceOnly 關閉時,主機本地檔案和入站媒體路徑正常傳送;嚴格工作區模式的 Agent 仍然被沙箱隔離。之前策略不一致——有些路徑尊重沙箱,有些不尊重。現在統一了。

修復

Gateway

重啟哨兵 (#53940):被中斷的 Agent 工作階段現在透過心跳喚醒,而不是只發一條盡力而為的重啟通知。出站投遞在暫態失敗時重試一次。顯式的 thread/topic 路由在喚醒路徑中被保留,回覆能落到正確的 Telegram 話題或 Slack 討論串。感謝 @VACInc。

頻道啟動隔離 (#54215):頻道啟動保持順序執行,但每個頻道的啟動失敗被隔離——一個壞掉的頻道不再拖住後面排隊的頻道。感謝 @JonathanJing。

Docker

安裝迴圈 (#53385):全新 Docker 安裝不再在 gateway 啟動前就掛掉。透過把安裝階段的 onboard/config 寫入請求路由到 openclaw-gateway,避免了 openclaw-cli 的共享網路命名空間死迴圈。感謝 @amsminn。

WhatsApp

群組回音 (#53624):追蹤最近由 gateway 發出的訊息 ID,只抑制匹配的群組回音,保留關聯帳號 fromMe 流量中的 /status/new/activation 命令。感謝 @w-sss。

Reply-to-bot 偵測:透過解包 botInvokeMessage 負載並從 creds.json 讀取 selfLid,恢復了隱式的群組回覆偵測——關聯帳號群組聊天中基於回覆的 @ 提及重新能觸達 bot 了。

Telegram

論壇話題 (#53699):當 Telegram 省略論壇中繼資料時,#General topic 1 的路由被恢復,包括原生命令、互動式回呼、入站訊息上下文和回退錯誤回覆。感謝 @huntharo。

出站錯誤 (#53635):保留可操作的 403 成員/封鎖/踢出詳情。Bot 非成員被視為永久投遞失敗,Telegram 傳送停止對注定失敗的聊天重試。感謝 @w-sss。

照片 (#52545):預檢 Telegram 的照片尺寸和長寬比規則,圖片中繼資料無效或不可用時回退到文件傳送。照片上傳不再因 PHOTO_INVALID_DIMENSIONS 而失敗。感謝 @hnshah。

Discord

Gateway 監管:gateway 錯誤處理集中到一個生命週期所有的 supervisor 後面,早期、活躍和晚期拆卸階段的 Carbon gateway 錯誤被統一分類,不再作為程序級的拆卸崩潰浮出水面。

逾時 (#53823):當入站 Discord worker 在最終回覆開始前逾時,會傳送一條可見的逾時回覆,包括已建立的自動討論串目標和排隊執行的排序。感謝 @Kimbo7870。

Slack

執行階段預設值 (#53957):精簡 Slack DM 回覆開銷,恢復 Codex 自動 transport,收緊 Slack/web-search 執行階段預設值——DM 預覽討論串、快取範圍、警告去重、顯式 web-search opt-in。感謝 @vincentkoc。

其他

嵌入執行/密鑰:未解析的 SecretRef 設定不再讓嵌入 Agent 執行崩潰——系統在需要時回退到已解析的執行階段快照。修復 #45838。

ACP/直聊 (#53692):當最終 TTS 沒有產生音訊時,總是投遞一個終端 ACP 結果,即使分塊文字之前已經串流傳輸過。跳過多餘的空文字最終合成。感謝 @w-sss。

貢獻者

18 位貢獻者在 3.24 中落地了改動。特別感謝 @BunsDev,大約十項貢獻橫跨整個 Skill 安裝 UX、Control UI 工作區、markdown 預覽、macOS 導覽和模型選擇器——這種專注於設計感的貢獻,把「能用」變成了「好用」。

@vincentkoc 交付了 Microsoft Teams SDK 重寫、Slack 互動式回覆恢復、Gateway OpenAI 相容和 Slack 執行階段預設值——一個版本四個主要方向。

@w-sss 在 WhatsApp 群組回音、Telegram 出站錯誤處理和 ACP 直聊投遞三個領域落地了修復。

感謝 @sallyom(CLI 容器支援)、@davidguttman(Discord 自動討論串)、@gfzhx(外掛鉤子)、@VACInc(gateway 重啟哨兵)、@amsminn(Docker 安裝修復)、@JonathanJing(gateway 頻道隔離)、@huntharo(Telegram 論壇話題)、@Kimbo7870(Discord 逾時)、@hnshah(Telegram 照片)。

升級建議

  • Teams 使用者:這是一次完整的 SDK 遷移。檢查你的 Teams 頻道設定——整合介面有顯著變化。
  • Docker 使用者:新的 --container 標籤可以在執行中的容器內執行 CLI 命令。全新安裝不會再在 setup 階段掛掉了。
  • Node 版本:下限降到 Node 22.14+,但仍然推薦 Node 24。跑一次 openclaw update——CLI 現在會在安裝前告訴你 Node 版本夠不夠。
  • 外掛/鉤子作者before_dispatch 是新的鉤子點,攜帶標準化入站中繼資料。如果你維護了攔截入站訊息的外掛,檢查一下新的 dispatch 流程。
  • 正式環境龍蝦:一如既往,謹慎升級。先在 staging 跑一遍。

---

3.22 打開了胸腔,換了發動機。3.23 縫好傷口,盯著監護儀。3.24,龍蝦站起來了——不只是走,是跑。

18 項 Breaking Changes,但沒有一項在破壞——全在往重建後的架構上疊加新能力。一個完整的 Teams 平台重寫。一個終於會告訴你它缺什麼的 Skill 生態。一個開始像產品而不是管理面板的 Control UI。還有 15 個修復,在每個頻道上繼續鎖緊螺絲。

復健訓練的目標從來不是回到原來的水準。是變得比受傷前更強。

龍蝦在跑了。比以往任何時候都快。

訂閱更新

第一時間收到新功能和整合資訊。不會發垃圾信,隨時可以退訂。