3.22は旧アーキテクチャを引き剥がし、基盤を再構築した。3.23は縫合糸が持つことを確認した。ロブスターは手術を生き延びた——かろうじて。40以上の修正、8つのauth パッチ、2つのブラウザ退行の解消。患者は安定した。
そして今、患者が立ち上がった。
3.24は3.23の翌日にリリースされた。343コミット。18のBreaking Changes。15の修正。ただし今回のBreaking Changesは追加の手術ではない——リハビリメニューだ。制御された、目的のある動作訓練。再建された身体に、旧い身体では決してできなかったことを教える。
いつも通りの注意喚起:本番環境のロブスターは慎重にアップグレードしてほしい。
Breaking Changes
18のBreaking Changes。しかし3.22のような骨を折る再構築とは違い、今回はリハビリの動作訓練——新しい骨格で新しい動きを覚えるためのものだ。
Microsoft Teams:プラットフォームレベルの書き直し
Teamsにパッチを当てているのではない。書き直しているのだ。
Microsoft Teams統合全体が公式Teams SDKに移行し、AIエージェントのUXベストプラクティスが根底から組み込まれた。(#51808) ストリーミング1対1返信。プロンプトスターター付きウェルカムカード。フィードバックと振り返りフロー。リアルタイムのステータス更新。タイピングインジケーター。ネイティブAIラベリング。チャットアダプターにAI機能をボルトオンしているのではない——SDKレイヤーから本格的なAIエージェント体験を構築しているのだ。@vincentkocに感謝。
さらに、送信済みメッセージの編集・削除機能が追加された。明示的なターゲットがない場合のスレッド内フォールバックも含む。(#49925) botの発言を訂正・撤回できるようになった——初日から存在すべきだった機能だ。
Teamsはこのリリースで最大の単一投資だった。旧い統合は動いた。新しい統合は正しく動く。
開発者ツールとSkillエコシステム
7つの変更が一つのテーマに集中:開発者とオペレーターに、手元のツール、不足しているもの、インストール方法を伝えること。
ツールの可視性:/toolsは理論上のカタログではなく、現在のエージェントが今この瞬間実際に使えるツールを表示するようになった。コンパクトなデフォルトビューとオプションの詳細モード。Control UIに「Available Right Now」セクションがライブ追加され、質問する前に何が動くか確認できる。
Skillインストール体験:バンドルSkill——coding-agent、gh-issues、openai-whisper-api、session-logs、tmux、trello、weather——にワンクリックインストールレシピが追加された。(#53411) CLIとControl UIが依存関係不足時にインストールガイドを提供できるようになった。Skill管理UIにステータスフィルタータブ(All / Ready / Needs Setup / Disabled)がカウント付きで追加。クリックで展開するダイアログに要件、トグル、インストールボタン、API Keyエントリー、ソースメタデータ、ホームページリンクが表示される。CLIの依存関係不足ラベルが「missing」から「needs setup」に変更され、API Keyのセットアップガイダンスが表示される。macOSアプリの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進化
4つの変更がControl UIを「使える管理画面」から「実際に使いたいプロダクト」へ押し上げる。
エージェントワークスペースのファイル行が展開可能な<details>に変換され、遅延読み込みのインラインmarkdownプレビューが付いた。見出し、リスト、コードブロック、テーブル、引用、details/summary要素の.sidebar-markdownスタイルも完備。(#53411)
ファイルプレビューダイアログがフロストガラス背景、サイズ調整パネル、スタイル付きヘッダーを獲得。@create-markdown/preview v2のテーマシステムにより、見出し、テーブル、コードブロック、コールアウト、引用のリッチレンダリングがアプリのライト/ダークデザイントークンに自動適応。(#53411)
macOSアプリの水平ピルナビゲーションが折りたたみ矢印とインデント付きサブ項目のツリーサイドバーに置き換えられた。エージェントモデルセレクターのドロップダウンに「Not set」プレースホルダーが追加され、空の状態が明示的になった。(#53411) すべて@BunsDev。
チャネル能力拡張
3つの変更で各チャネルがよりスマートに。
Slack:ダイレクト配信のリッチリプライパリティが復元。末尾のOptions:行がボタンやセレクトとして自動レンダリングされるようになった。Slackインタラクティブ設定のデフォルトが改善され、リプライコントロールがプラグインインタラクティブハンドラーから分離された。(#53389) @vincentkocに感謝。
Discord:オプションのautoThreadName: "generated"命名が追加。自動作成された新しいスレッドがLLM生成の簡潔なタイトルで非同期的にリネームされる。既存のメッセージベースの命名はデフォルトとして維持。(#43366) @davidguttmanに感謝。
プラグイン/フック:正規化されたインバウンドメタデータを持つbefore_dispatchが追加。処理済みリプライが通常の最終配信パスにルーティングされ、TTSとルーティング配信セマンティクスが保持される。(#50444) @gfzhxに感謝。
インフラストラクチャと互換性
OpenClawがより多くの場所で動作し、より多くのものと対話するための2つの変更。
Gateway/OpenAI互換:/v1/modelsと/v1/embeddingsエンドポイントが追加。明示的なモデルオーバーライドが/v1/chat/completionsと/v1/responsesを通じて転送され、より広範なクライアントとRAGシナリオの互換性が向上。@vincentkocに感謝。
CLIコンテナ:--containerとOPENCLAW_CONTAINERにより、稼働中のDockerまたはPodman OpenClawコンテナ内でopenclawコマンドを実行可能に。(#52651) コンテナにexecして、CLIがインストールされていることを祈る必要はもうない。@sallyomに感謝。
セキュリティ
メディアサンドボックスのギャップを埋める2つの修正。
mediaUrl/fileUrlのエイリアスバイパスが閉じられ、アウトバウンドのツールおよびメッセージアクションがmedia-root制限をエスケープできなくなった。(#54034) これは本物のエスケープだった——構造化ペイロードがエイリアスを使ってサンドボックス境界を迂回できていた。修正済み。
アウトバウンドメディアアクセスが設定済みfsポリシーに整合。workspaceOnlyがオフの場合、ホストローカルファイルとインバウンドメディアパスは引き続き送信される。厳格なワークスペース専用エージェントはサンドボックス内に留まる。以前はポリシーが不統一だった——一部のパスはサンドボックスを尊重し、一部はしなかった。統一された。
修正
Gateway
リスタートセンチネル (#53940):中断されたエージェントセッションが、ベストエフォートのリスタートノートを送るだけでなく、ハートビートで起こされるようになった。アウトバウンド配信が一時的な失敗時に1回リトライ。明示的なthread/topicルーティングがウェイクパスで保持され、リプライが正しいTelegramトピックやSlackスレッドに着地する。@VACIncに感謝。
チャネル起動分離 (#54215):チャネル起動は逐次実行のまま、チャネルごとの起動失敗が分離された。1つの壊れたチャネルが後続のチャネルをブロックしなくなった。@JonathanJingに感謝。
Docker
セットアップループ (#53385):新規Dockerインストールがgateway起動前に失敗しなくなった。セットアップ時のonboard/config書き込みをopenclaw-gateway経由にルーティングし、openclaw-cliの共有ネットワーク名前空間ループを回避。@amsminnに感謝。
グループエコー (#53624):gatewayが送信したメッセージIDを追跡し、一致するグループエコーのみ抑制。関連アカウントのfromMeトラフィックからの/status、/new、/activationコマンドは保持される。@w-sssに感謝。
Reply-to-bot検出:botInvokeMessageペイロードのアンラップとcreds.jsonからのselfLid読み取りにより、暗黙的なグループリプライ検出が復元。関連アカウントグループチャットでのリプライベースのメンションが再びbotに届くようになった。
Telegram
フォーラムトピック (#53699):Telegramがフォーラムメタデータを省略した際の#Generalトピック1ルーティングが回復。ネイティブコマンド、インタラクティブコールバック、インバウンドメッセージコンテキスト、フォールバックエラーリプライを含む。@huntharoに感謝。
アウトバウンドエラー (#53635):アクション可能な403メンバーシップ/ブロック/キック詳細が保持される。botがメンバーでない場合は恒久的な配信失敗として処理され、Telegram送信が失敗が確定したチャットへのリトライを停止する。@w-sssに感謝。
写真 (#52545):Telegramの写真サイズとアスペクト比ルールがプリフライトチェックされ、画像メタデータが無効または取得不能な場合はドキュメント送信にフォールバック。写真アップロードがPHOTO_INVALID_DIMENSIONSで失敗しなくなった。@hnshahに感謝。
Discord
Gateway監視:gatewayエラーハンドリングがライフタイム所有のスーパーバイザーに集約。初期、アクティブ、レイトティアダウン段階のCarbon gatewayエラーが統一的に分類され、プロセスキルのティアダウンクラッシュとして表面化しなくなった。
タイムアウト (#53823):インバウンドDiscord workerが最終リプライ開始前にタイムアウトした場合、可視的なタイムアウトリプライが送信される。作成済みの自動スレッドターゲットとキュー実行順序も含む。@Kimbo7870に感謝。
Slack
ランタイムデフォルト (#53957):Slack DMリプライのオーバーヘッドを削減。Codex自動トランスポートを復元。Slack/web-searchランタイムデフォルトを引き締め——DMプレビュースレッディング、キャッシュスコーピング、警告重複排除、明示的web-search opt-in。@vincentkocに感謝。
その他
埋め込み実行/シークレット:未解決のSecretRef設定が埋め込みエージェント実行をクラッシュさせなくなった——システムが必要に応じて解決済みのランタイムスナップショットにフォールバックする。#45838を修正。
ACP/ダイレクトチャット (#53692):最終TTSがオーディオを生成しない場合、ブロックテキストが先にストリーミングされていても常にターミナルACP結果が配信される。冗長な空テキスト最終合成はスキップされる。@w-sssに感謝。
コントリビューター
18人のコントリビューターが3.24に変更を着地させた。特に@BunsDevに感謝——約10項目がSkillインストールUX、Control UIワークスペース、markdownプレビュー、macOSナビゲーション、モデルセレクターにまたがる。「動く」を「使いたい」に変えるデザイン意識の高い貢献。
@vincentkocはMicrosoft Teams SDKの書き直し、Slackインタラクティブリプライ復元、Gateway OpenAI互換、Slackランタイムデフォルト——1つのリリースで4つの主要領域を提供した。
@w-sssはWhatsAppグループエコー、Telegramアウトバウンドエラー処理、ACPダイレクトチャット配信の3領域で修正を着地。
@sallyom(CLIコンテナ)、@davidguttman(Discord自動スレッド)、@gfzhx(プラグインフック)、@VACInc(gatewayリスタートセンチネル)、@amsminn(Dockerセットアップ)、@JonathanJing(gatewayチャネル分離)、@huntharo(Telegramフォーラムトピック)、@Kimbo7870(Discordタイムアウト)、@hnshah(Telegram写真)に感謝。
アップグレードノート
- •Teamsユーザー:完全なSDK移行。Teamsチャネル設定を確認してほしい——統合インターフェースが大幅に変わった。
- •Dockerユーザー:新しい
--containerフラグで稼働中のコンテナ内からCLIコマンドを実行可能。新規インストールがセットアップ段階で失敗しなくなった。 - •Nodeバージョン:下限がNode 22.14+に引き下げ。Node 24は引き続き推奨。
openclaw updateを実行すると、インストール前にNodeバージョンが十分かCLIが教えてくれる。 - •プラグイン/フック作者:
before_dispatchは正規化インバウンドメタデータを持つ新しいフックポイント。インバウンドメッセージをインターセプトするプラグインを管理している場合、新しいdispatchフローを確認してほしい。 - •本番ロブスター:いつも通り、慎重にアップグレード。まずstagingでテスト。
---
3.22は胸を開いてエンジンを交換した。3.23は縫合し、モニターを見守った。3.24、ロブスターが立ち上がった——歩くだけではない。走っている。
18のBreaking Changesだが、何かを壊しているのではない——再構築されたアーキテクチャの上に新しい能力を積み上げている。完全なTeamsプラットフォーム書き直し。何が不足しているか教えてくれるようになったSkillエコシステム。管理パネルではなくプロダクトのように感じ始めたControl UI。そして各チャネルでボルトを締め続ける15の修正。
リハビリの目標は元の水準に戻ることではない。手術前より強くなることだ。
ロブスターは走っている。かつてないほど速く。