距離 3.13 過去了 9 天。這是近幾個月來 OpenClaw 更新間隔最長的一次。當 changelog 終於放出來的時候,所有人都明白了原因:12 項 Breaking Changes、30+ 安全加固、100+ 穩定性修復、7 個新模型供應商,以及外掛發現和安裝方式的根本性轉變。
這不是一次常規迭代。這是 OpenClaw 拆掉遺留管道、重建地基的那一版。
逐項拆解。
ClawHub:外掛生態大遷移
3.22 的頭條變更看起來很簡單:openclaw plugins install 現在優先查 ClawHub,找不到才回退到 npm。
這一句話改寫了整個外掛經濟。ClawHub 是 OpenClaw 的原生套件註冊中心——專為外掛發現、版本管理和信任驗證而建。npm 一直是借住的房子;ClawHub 是 OpenClaw 真正擁有的第一個家。
一起落地的還有:
- •原生 install/search/update 流程:
openclaw skills search|install|update+openclaw plugins install clawhub:,帶完整的更新中繼資料追蹤 - •Claude/Codex/Cursor bundle 支援:相容的 bundle 發現和安裝,把 bundle skills 映射為 OpenClaw skills,bundle 的
settings.json預設值自動套用到內嵌 Pi - •Claude marketplace 註冊中心:支援 plugin@marketplace 安裝、marketplace 列表和更新
- •Plugin SDK 大改:新的公開面是
openclaw/plugin-sdk/*——舊的openclaw/extension-api已移除,沒有相容層。打包外掛必須使用注入的執行階段來執行宿主側操作 - •Plugin SDK 測試面:公開的
openclaw/plugin-sdk/testing面,供外掛作者撰寫測試案例 - •Memory 外掛系統提示支援:活躍的 memory 外掛現在可以註冊自己的 system-prompt 段落
Plugin SDK 的變更是所有後續改動的結構性前提。透過標準化到窄的 openclaw/plugin-sdk/* 子路徑而非巨石根路徑,每個外掛拿到的是更小、更穩定的 API 契約。測試面的存在意味著外掛作者終於可以寫正經的測試了——不用再深入框架內部。
12 項 Breaking Changes:一次性還清技術債
一個版本 12 項 Breaking Changes,看著激進。但連起來讀,講的是同一個故事:OpenClaw 在燒掉通往 pre-1.0 架構的最後幾座橋。
外掛生態(4 項)
- 1.ClawHub 取代 npm 成為預設外掛安裝來源。npm 回退仍在,但 ClawHub 對 npm 安全名稱享有優先權
- 2.Plugin SDK 改面為
openclaw/plugin-sdk/*——舊的openclaw/extension-api已經沒了,不提供相容層 - 3.Chrome MCP 擴充 relay 移除——遺留的 Chrome 擴充 relay 路徑、打包擴充資源、
driver: "extension"全部移除。執行openclaw doctor --fix遷移 - 4.影像生成標準化——舊的 nano-banana-pro 文件/範例已移除。改用
agents.defaults.imageGenerationModel
遺留清理(3 項)
- 5.遺留環境變數移除:
CLAWDBOT_和MOLTBOT_相容名稱在執行階段、安裝器和測試工具鏈中全部移除。請使用OPENCLAW_* - 6.遺留狀態目錄移除:
.moltbot狀態目錄和moltbot.json自動偵測/遷移回退已移除。請遷移到~/.openclaw或設定OPENCLAW_STATE_DIR - 7.訊息發現適配器變更:需要
ChannelMessageActionAdapter.describeMessageTool(...)——遺留的listActions、getCapabilities和getToolSchema方法已移除
安全與沙箱(3 項)
- 8.Exec 環境沙箱擴展:阻斷 JVM 注入(
MAVEN_OPTS、SBT_OPTS、GRADLE_OPTS、ANT_OPTS)、glibc tunable 利用(GLIBC_TUNABLES)和 .NET 相依性劫持(DOTNET_ADDITIONAL_DEPS) - 9.time 包裝器透明化:
time在 allowlist 評估時被視為透明分發包裝器,核准的time ...命令繫結到內部可執行檔 - 10.語音通話 webhook 加固:在讀取 body 前拒絕缺少簽章標頭的請求,預認證 body 預算降至 64 KB / 5s
平台協定(2 項)
- 11.Discord Carbon reconcile:原生命令部署預設切換到 Carbon reconcile——Discord 重啟不再反覆刷新 slash commands
- 12.Matrix 外掛重寫:基於官方
matrix-js-sdk的全新外掛,附遷移指南
12 項 Breaking Changes 一個版本出完。看起來激進。但回頭看,該斷的早該斷了。
安全:30+ 加固,從 SMB 到 SSRF 到 Hangul
3.22 的安全章節是巨大的。不是 3.13 的 3 項——超過 30 項。按攻擊面分組:
網路與協定層
- •Windows SMB 憑證洩漏封堵:在本地檔案系統解析之前阻斷遠端主機
file://媒體 URL 和 UNC/網路路徑 - •SSRF pinning 加固:顯式代理 SSRF pinning 現在將目標跳轉傳輸提示翻譯到 HTTPS 代理隧道上
- •Gateway 認證範圍加固:忽略可信轉發鏈中偽造的迴環跳,阻止裝置核准請求超出呼叫方工作階段的範圍
- •Gateway 發現 fail-closed:CLI 發現中未解析的 Bonjour 和 DNS-SD 服務端點執行 fail-closed
- •媒體錯誤 body 邊界:遠端媒體錯誤 body 片段使用與成功下載相同的串流上限和閒置逾時
沙箱與執行層
- •外掛 marketplace manifest 沙箱化:拒絕將安裝擴展到複製的 marketplace 倉庫之外的遠端 manifest 條目
- •jq 從 safe-bin 白名單移除:
jq -n env不再能在沒有顯式信任路徑的情況下洩露宿主 secrets - •macOS exec HMAC 驗證:exec-host 請求 HMAC 使用 timing-safe 比較,畸形簽章 fail-closed
- •Exec 環境沙箱:阻斷來自宿主 exec 環境的 JVM、glibc 和 .NET 注入向量
- •工作區 hooks 門控:倉庫本地 hooks 在顯式啟用前保持停用
身份與認證層
- •裝置配對繫結到 profile:iOS 設定碼繫結到目標 node profile
- •Synology Chat user_id 繫結:回覆投遞預設繫結穩定的數字
user_id - •瀏覽器 node 代理強制:在查詢和 body 的 profile 參數上強制執行
nodeHost.browserProxy.allowProfiles - •裝置 token 輪換加固:公開失敗保持通用,內部拒絕原因被記錄
- •可信代理範圍清除:無裝置的可信代理 Control UI 工作階段的自宣告範圍被清除
編碼與注入層
- •Hangul filler 轉義:空白 Hangul filler 碼位在核准提示中被轉義——視覺上為空的 Unicode 填充不再能隱藏命令文字
- •Nostr DM 預加密策略:入站 DM 策略在解密前執行,帶預加密速率和大小防護
- •OpenResponses 檔案上下文轉義加固
- •LINE webhook 解析:對 Express webhook 解析強制使用驗證過的原始 body
- •郵件 webhook 中繼資料清洗:寄件人和主旨中繼資料在外部內容包裝前被清洗
| 攻擊面 | 修復數 |
|---|---|
| 網路與協定 | 5 |
| 沙箱與執行 | 5 |
| 身份與認證 | 5+ |
| 編碼與注入 | 5+ |
| 平台特定 | 10+ |
| 合計 | 30+ |
這些修復不會出現在宣傳海報上。但它們決定了誰敢把 OpenClaw 拉進生產環境。敢用,比好用更難。
效能:Gateway 冷啟動脫胎換骨
使用者體感最明顯的效能改進:Gateway 啟動時不再重新編譯打包擴充的 TypeScript。 WhatsApp 級別的冷啟動從幾十秒甚至更久降回到秒級。
其他變更:
- •模型預熱:在 channel 啟動前預熱設定的主模型,帶一次瞬態重試
- •全端懶載入:channel
add和根幫助路徑、外掛/供應商回退解析、Discord 供應商/工作階段執行階段、純文字訊息的媒體和連結理解——全部懶載入 - •Agent 模型目錄快取:按 config 和 auth-file 狀態快取
- •工作階段快取清掃:過期的內嵌執行器工作階段快取條目在後續快取活動中被機會性清掃
新功能速覽
搜尋生態
三個全新的打包 web 搜尋外掛:
- •Exa:原生日期過濾、搜尋模式選擇、可選內容擷取
- •Tavily:專用的
tavily_search和tavily_extract工具 - •Firecrawl:
firecrawl_search和firecrawl_scrape工具
沙箱與工具
- •可插拔沙箱後端:附帶 OpenShell 和 SSH 後端
- •Chromium 瀏覽器 profile 支援:
browser.profiles.支援 Brave、Edge 等.userDataDir
互動體驗
- •/btw 側聊:對目前工作階段的快速無工具回答,不改變後續工作階段上下文
- •Control UI 畫布展開:助手聊天氣泡上的展開到畫布按鈕
- •圓角滑桿:外觀設定中可調整圓角半徑
- •每 Agent thinking/reasoning/fast 預設值:不允許的模型覆寫自動回退到 Agent 的預設選擇
CLI 與設定
- •CLI config set 擴展:SecretRef 和 provider builder 模式、JSON/batch 賦值、
--dry-run驗證 - •Gateway 健康監控:可設定的過期事件閾值和重啟限制
- •從 GitHub main 安裝:
openclaw update --tag main
模型供應商:軍備競賽還在繼續
| 供應商 | 變更 |
|---|---|
| OpenAI | 預設設定模型切換到 openai/gpt-5.4。前向相容 gpt-5.4-mini 和 gpt-5.4-nano |
| Anthropic Vertex | 新增透過 Google Vertex AI 使用 Claude 的核心供應商支援 |
| Chutes | 新增打包供應商,含外掛自有 OAuth/API-key 認證和動態模型發現 |
| MiniMax | 新增 M2.7 和 M2.7-highspeed,預設從 M2.5 更新到 M2.7 |
| xAI | Grok 目錄同步到目前 Pi 支援的 ID |
| Z.AI | GLM 目錄同步,含 4.5/4.6 模型家族 |
| Xiaomi | 切換到 /v1 OpenAI 相容端點。新增 MiMo V2 Pro 和 MiMo V2 Omni |
| Mistral | 預設中繼資料同步到目前 Pi 定價 |
| GitHub Copilot | 前向相容的動態模型 ID |
平台全線推進
Android
- •系統感知暗色主題:橫跨引導和主介面
- •Talk 語音遷移:語音合成移到 gateway
talk.speak後面 - •通話記錄搜尋和簡訊搜尋,帶共用權限綁定
- •聯絡人搜尋修復:轉義 SQL LIKE 萬用字元
- •相機記憶體修復:回收快照點陣圖
Telegram
- •自訂 Bot API 端點:每帳戶自訂端點支援——自託管 Telegram 部署端到端可用
- •DM 話題自動重新命名:首則訊息時用 LLM 產生標籤
- •話題編輯 action:論壇話題重新命名和圖示更新
- •靜默錯誤回覆:預設關閉的
channels.telegram.silentErrorReplies設定 - •網路穩定性:黏性 IPv4 回退跨輪詢重啟保留
飛書(Lark)
- •互動式核准和快速操作卡片,帶回呼上下文路由
- •ACP 和子 Agent 工作階段繫結
- •推理串流:thinking tokens 渲染為 markdown 引用區塊
- •身份感知卡片標頭和腳註
- •擴展的 action 面:訊息讀取/編輯、顯式話題回覆、置頂
Matrix
- •外掛完全重寫,基於官方
matrix-js-sdk - •allowBots 房間策略
- •私有網路 opt-in
- •持久化事件去重
- •mention 門控繫結修復
Discord
- •Carbon reconcile 原生命令部署
- •嚴格 DM 元件白名單認證
- •ACP abort 轉發
- •重連修復:inbox 監視器中恢復 append 新近篩選器
- •活躍監聽器單例
- •登入修復:等待 creds 寫入完成後再重新開啟
100+ 穩定性修復:用表格說話
| 模組 | 關鍵修復 |
|---|---|
| Agent 壓縮 | compact 後修復孤立 tool_result、溢位復原、空準備的邊界摘要、封頂重試回退、可選 JSONL 截斷 |
| Agent 執行階段 | tool call ID 去重、剝離 prompt_cache 欄位、純文字錯誤輸出、重播區塊清洗、bootstrap 警告移出 system prompt |
| 外掛執行階段 | 跨重複模組圖共享單例狀態、外掛繫結核准狀態共享、context engine 委派語義、打包器 TDZ 修復 |
| Gateway | WS 握手逾時提升到 10s、過期聊天緩衝區回收、孤立 run 復原、每帳戶 channel 啟動序列化、webhook 路由鎖定 |
| Control UI | 設定鍵按 gateway 路徑隔離、模型切換保留供應商前綴、工作階段路由保留外部投遞路線、locale 下拉持久化 |
| Telegram | 卡住的 getUpdates 硬逾時、DM 話題工作階段鍵路由、配對設定預設 mention 門控群組 |
| 飛書 | 話題執行緒獲取完整上下文、原生媒體處理對齊、簽章 webhook constant-time 比較 |
| macOS | 桌面 app 啟動代理停止 KeepAlive、改用 openclaw node start/stop --json |
| Windows | 接受 schtasks Last Result 輸出別名、WSL2 的 gateway 網路發現防護 |
資料一覽
| 指標 | 3.13 | 3.22 |
|---|---|---|
| Breaking Changes | 0 | 12 |
| 安全修復 | 3 | 30+ |
| 穩定性修補 | 70+ | 100+ |
| 新增模型供應商 | 0 | 7 |
| 新增 Web 搜尋外掛 | 0 | 3 |
| 外掛來源 | npm | ClawHub |
| Gateway 冷啟動 | 幾十秒 | 秒級 |
| 預設 Agent 逾時 | 600s | 48h |
| 致謝貢獻者 | ~10 | 80+ |
---
3.22 不是那種靠一個閃亮新功能上頭條的版本。它是一次手術——打開胸腔,換掉引擎,縫好,然後跑得比以前更快。
12 項 Breaking Changes 不是在製造混亂,是在燒掉舊地圖。ClawHub 上線、安全面全面加固、Gateway 冷啟動脫胎換骨——這三件事放在一起,意味著 OpenClaw 從「快速迭代的開源專案」正式過渡到「可以認真依賴的基礎設施」。
Peter Steinberger 和他身後那群全球極客,顯然已經想明白了一件事:敢用,比好用更難。
龍蝦又蛻了一層殼。這次,連骨架都換了。