OpenClaw v2026.5.4を公開
本文の状態
日本語全文を表示中
詳細モードで約70分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
OpenClaw Changelog
OpenClawのバージョンv2026.5.4が公開された。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
2026.5.4
ハイライト
- Google Meet/音声通話: Twilio のダイアルイン接続を、リアルタイムの Gemini ボイスブリッジ経由で通話可能にしました。パースされたオーディオストリーミング、バックプレッシャー対応バッファリング、バージイン時のキュークリア、そしてリアルタイム通話中のTwiMLフォールバックなしを実現し、Meet 参加者にとって OpenClaw の音声エージェントがよりレスポンス良く動作するようになりました (#77064)。@scoootscooob 氏に感謝。
変更点
- Gateway/Windows: libuv のデュアルスタック
::1動作がローカルホストの HTTP リクエストをブロックするのを防ぐため、Windows ではデフォルトのループバックゲートウェイリスナーを127.0.0.1にのみバインドします。(#69701, #69674 を修正) @SARAMALI15792 氏に感謝。
プラグインの移行機能において、plugins.entries または plugins.allow が未インストールの公式外部プラグインを参照している場合、カタログベースのインストールヒントを出力するように変更しました。これにより、アップグレード後の設定ファイルでは、有効なプラグイン設定を削除するよう指示する代わりに、オペレーターが openclaw plugins install コマンドを実行して対応できるようになります。(#77483)
OpenAI/Codex メディアでは、ランタイムとマニフェストメタデータにおいて Codex の音声文字起こし機能を宣伝するとともに、アクティブな Codex チャットモデルをチャットモデル ID を音声文字起こしに送信する代わりに、OpenAI のデフォルト文字起こしへルーティングするように変更しました。ご協力ありがとうございます @vincentkoc。
依存関係の更新では、Pi 0.73.0、ACPX アダプター、OpenAI、Anthropic、Slack、TypeScript ネイティブプレビューを含むランタイムとプロバイダーパッケージを刷新します。その際、Windows ARM Node 24 の npm リゾルバーで発生する失敗に対処するため、Bedrock ランタイムインストーラーのオーバーライドは引き続き下方に固定(pinned)状態に保ちます。
エージェントのパフォーマンス向上のため、解決済みのワークスペースを BTW、圧縮処理、埋め込み実行モデルの生成、PDF モデルの設定の各工程を通じて渡すようにしました。これにより、明示的なエージェントディレクトリでのモデル更新時に、冷たいプラグインメタデータの再スキャンに頼るのではなく、現在のワークスペーススコープ限定のプラグインメタデータスナップショットを再利用できるようになります。(#77519, #77532)
プラグインのパフォーマンス改善:スコープ非限定のモデルカタログおよびマニフェスト契約リーダーが、現在のワークスペース互換性を持つプラグインメタデータのスナップショットを再利用できるようにしました。これにより、ホットなコントロールプレーンパスでの繰り返しコールドメタデータスキャンを回避しつつ、環境・設定・ワークスペースの互換性チェックは維持されます。
#77519, #77532
設定/プラグインの自動有効化:構成されたチャネルを自動的にホワイトリストに追加する際、組み込みチャンネルエイリアスよりも、そのプラグインのマニフェスト ID を優先して使用します。これにより、WeCom や Yuanbao 形式のエイリアスがインストール済みプラグイン ID に正しく解決されます。
@Beandon13 氏への感謝
Secrets/apply: プライベートキーのスクラビング時に、プロバイダー対象のシークレットから認証プロフィールの keyRef および tokenRef フィールドを保持するようにしました。これにより、平文値を維持することなく、secrets apply 実行後も正規の SecretRef メタデータが保存されます。@Beandon13 氏への感謝。
Plugins/active-memory: セッションストアのチャネルエントリを解決する際、コロン(:)を含むものをスキップするようにしました。これにより、QQ の C2C エージェント ID(例:c2c:10D4F7C2…)や他のスコープ付き会話 ID が、バンドルされたプラグインの dirName 検証に到達して recall 実行がクラッシュするのを防ぎます。
このガードは、明示的な channelId パラメータ(#76704)に対して既に適用されていますが、今回はストアから取得されたチャンネルにもこれを拡張します。
(#77396) @hclsys さん、ありがとうございます。
シークレットや外部チャネルの契約:secret-contract-api サイドカーを解決する際、/dist/ ディレクトリも検索対象に含める。これにより、npm で公開された外部化チャネルプラグイン(例:
2026年5月2日以降の @openclaw/discord は、コンパイルされた成果物が dist/ 配下に存在しますが、これらがランタイムスナップショットに対してチャンネルの SecretRef コントラクトを提供していることを示しています。
この対応がなければ、env ベースの channels.discord.token SecretRefs は 2026 年 5 月 3 日のゲートウェイ起動時に解決に失敗し、#76449 で汎用的な外部契約ローダーが導入されていたにもかかわらず、チャンネルは「未設定」のままになっていました。@mogglemoss さん、ありがとうございます。 (原文の技術表記: not configured)
モデル認証機能の強化:openclaw models auth list [--provider ] [--json] コマンドを追加し、ユーザーが秘密情報を漏らさず、従来の「引数が多すぎる」というエラーに遭遇することなく、保存されたエージェントごとの認証プロファイルを確認できるようにしました。@vincentkoc 氏への感謝。
コントロール UI(ヘッダー):ダッシュボードのパンくずリストに現在のセッションキーを含めずにアクティブなエージェント名を表示し、チャット以外のビューでも上部バーが混雑することなく方向性を維持できるように改善しました。
コントロール UI(クロン):ジョブ一覧でスペースを確保しつつ、フォームへのアクセスはワンクリックで可能にするため、「新しいジョブ」サイドバーを折りたたみ可能にしました。@BunsDev 氏への感謝。
ゲートウェイの起動時、モデルカタログのテストヘルパー、セッションルックアップコード、QR ペアリング用ヘルパー、TypeBox のメモリツールスキーマ構築処理をホットスタートインポートパスから除外しました。これにより、デフォルトのゲートウェイベンチマークプラグインの読み込み時間とメモリの負荷が軽減されます。
制御 UI/パフォーマンス:サポートされている場合、デバッグイベントログにブラウザの長時間アニメーションフレームやタスクのエントリを記録し、ダッシュボードのレンダリング遅延の原因を UI 側から特定しやすくします。
Slack/streaming:構造化された進行状況データに基づく Block Kit の進行状況ドラフトに対して、streaming.progress.render: "rich" を追加しました。
Slack/streaming:Block Kit の制限により長い進行状況ドラフトが切り詰められる場合でも、最新の豊富な進行状況ラインを保持します。@vincentkoc 氏に感謝です。
チャンネル/streaming:デフォルトで進行状況ドラフトのツールライン数を制限し、編集された進行状況ボックスでの長すぎる折り返しによる不自然なレイアウト崩れを防ぎます。
エージェント/詳細表示モード:/verbose コマンドと進行状況ドラフトでは、デフォルトでコンパクトな説明モードのツールサマリーを使用します。ただし、コマンドや詳細出力を直接確認する必要がある場合は、agents.defaults.toolProgressDetail: "raw" を設定するか、エージェントごとに個別にオーバーライドして使用できます。
制御 UI/チャット:チャットセッションピッカーに「エージェント優先」フィルターを追加しました。また、スマートフォン、タブレット、デスクトップなどあらゆる画面幅でチャットコントロールやコンポーザーの応答性を維持し、デスクトップではチャットコントロールを 1 行に収めます。初期読み込み時のアバターの重複更新を避け、トランスクリプトを下へスクロールする際にはその行を非表示にします。@BunsDev 氏に感謝です。
制御 UI/チャット:連続して送信された同じテキストメッセージは 1 つの吹き出しにまとめ、カウントを表示するようにしました。これにより、何もしないハートビートの確認応答もコンパクトに表示されつつ、周辺の文脈が隠されることはありません。
エージェント/サブエージェント:リクエスト元のエージェントへの通知ターンをバイパスして直接完了フォールバックを行う必要がある場合でも、グループ化された子結果はすべて保持されます。@vincentkoc 氏に感謝です。
TTS/電話機能:Google Meet エージェントの音声ログが、実際に音声を生成したバックエンドと一致するよう、電話合成プロバイダーにおけるプロバイダーやモデルのオーバーライドを尊重します。@vincentkoc さんありがとうございます。
通話/リアルタイム処理:Twilio のオーディオキューに速度制限をかけ、WebSocket のバックプレッシャーガードが機能している間にプロバイダー側のオーディオが蓄積する前に、過負荷になったリアルタイムストリームを閉じます。@vinsectkoc さんありがとうございます。
ドキュメント更新:IRC はオペレーター管理のフォワードプロキシ経路外で生の TCP/TLS ソケットを使用するため、IRC エグレスは明示的に承認された場合にのみ有効化できるよう、その点を明確にしました。@jesse-merhi さんありがとうございます。
ゲートウェイ/パフォーマンス:準備完了シグナルが出るまで非読み取り用サイドカーの起動を遅らせ、ホットパスのチャネルプラグインバーレルインポートを回避し、信頼できるバンドル済みプラグインメタデータをゲートウェイ起動時に高速パスで処理します。
ゲートウェイ/パフォーマンス:ネイティブロード可能なプラグイン起動パスで jiti をインポートしないことで、コンパイル済みのバンドル済みプラグインがソース変換ローダーのコストを負担する必要がないようにしました。フォールバック読み込みが実際に必要になった場合のみコストが発生します。
ゲートウェイ/診断:pnpm gateway:watch で起動フェーズのスパン、アクティブな作業ラベル、古いターミナルブリッジのマーカー、およびデフォルトの同期 I/O トレースを追加しました。これにより、ログや安定性診断からゲートウェイの遅延をより容易に特定できるようになりました。
プラグイン/ローダー:ネイティブ高速パスで実際に発生したコンパイル済みプラグインモジュールの評価エラーを保持し、すべての .js モジュールがソース変換フォールバックのミスマッチとして扱われるのを防ぎます。@vincentkoc さんありがとうございます。
QA/Mantis: Slack のライブ QA を Crabbox VNC デスクトップ内で実行し、Slack Web を開いてデスクトップのスクリーンショットを QA 成果物と並べて取得するために、pnpm openclaw qa mantis slack-desktop-smoke コマンドを追加しました。
QA/Mantis: エンベデッドされた Mantis 呼び出し元が親プロセスを変更せずに Crabbox の認証情報を提供できるように、ランタイム環境をデスクトップブラウザの Crabbox と artifact-copy サブコマンドを通じて渡すようにしました。@vincentkoc さんありがとうございます。
QA/Mantis: リモートでの Slack QA に失敗した場合でも、コピーされた Slack デスクトップのスクリーンショットパスを返すように変更し、CLI が失敗時のスクリーンショット成果物を引き続き表示するようにしました。@vincentkoc さんありがとうございます。
QA/Mantis: Blacksmith Testbox の tbx_... リース ID をデスクトップスモークウォームアップから受け付けるようにして、プロバイダのオーバーライドが検査や実行前に失敗しないようにしました。@vincentkoc さんありがとうございます。
QA/Codex ハーネス: メンテナーハーネスでの障害を再現しやすくするために、ターゲットを絞ったライブ Docker/Testbox の診断機能、認証事前チェック、キャッシュマウントの修正、アプリサーバープロトコルのチェックアウト検出を追加しました。@vincentkoc さんありがとうございます。
Plugins/update: 公式の外部化されたバンドル npm ミグレーションと ClawHub から npm へのフォールバックを、信頼できるソースリンクインストールとして扱うように変更しました。これにより、プレリリース専用の公式プラグインパッケージが、安全なプレリリース解決策として拒否されることなく、バンドルビルドから移行できるようになりました。@vincentkoc さんありがとうございます。
Plugins/update: ClawHub パッケージが利用可能になった時点で、一度 npm フォールバックを経た後、ClawHub 優先の外部化されたプラグインインストールを再び ClawHub に戻すようにしました。@vincentkoc さんありがとうございます。
プラグインの更新処理で、すでに外部化された固定版 npm パッケージや ClawHub プラグインのインストール先にある不要なバンドル済みロードパスをクリーンアップしました。これにより、リリースチャンネルの同期時に、削除されたバンドルパスがインストール済みの外部パッケージより先に残ってしまう不具合を防ぎます(@vincentkoc 氏への感謝)。
Telegram では、エージェントメッセージツールでプラグインが所有する数値形式のフォーラムトピックターゲットを受け付けられるようになりました。また、パッケージのインプレース更新中も、返信配信プロバイダーのチャンクを安定したランタイムエイリアスで保護します(Issue #77137 修正、@richardmqq 氏への感謝)。
Google Meet では realtime.introMessage: "" の設定を維持するようにしました。これにより、リアルタイムでの Chrome 接続時にデフォルトの音声イントロが復元されず、サイレント(無音)で接続できるようになります(@vincentkoc 氏への感謝)。
プラグイン SDK では、ワークフロープラグインがモデルのパラメータをもう一度試行できるように、before_agent_finalize のリトライ指示に上限値を追加しました(@100yenadmin 氏への感謝)。
- Discord/status: 一時的なソケットのリセットが、健全に動作しているチャンネルと誤認されないよう、
openclaw channels statusおよびopenclaw status --deepに劣化した Discord トランスポートの状態やゲートウェイのイベントループ飢餓を示すシグナルを追加し、フェッチタイムアウトログにも反映させました。(#76327) @joshant 氏に感謝します。
Providers/OpenRouter: 検証済みの OpenRouter ルートに対してのみ、OpenRouter の X-OpenRouter-Cache、X-OpenRouter-Cache-TTL、およびキャッシュクリアヘッダーを送信するオプトイン形式のレスポンスキャッシュ設定パラメータを追加しました。@vincentkoc 氏に感謝します。
Providers/OpenRouter: アプリの属性カテゴリを拡張し、検証済みの OpenRouter ルート上で OpenClaw がコーディング、プログラミング、ライティング、チャット、パーソナルエージェントの使用を示すようにしました。
@vincentkoc さん、ありがとうございます。
プラグインの更新機能で、パッケージアップグレード時に pnpm や npm-prefix のインストールをスムーズに切り替えられるようになり、レガシーなプラグインインストール時のランタイムチャンクも引き続き動作するようになりました。また、ベータチャンネルでは、プラグインのベータ版リリースが見つからない場合やインストール検証に失敗した場合、デフォルトラインの npm プラグインをデフォルト/最新バージョンへ自動的に切り替える処理が追加されました。
WhatsApp チャネル機能では、DM 経由でのルーティングではなく、チャネルセッションメタデータを用いて明示的な WhatsApp チャネル/ニュースレター @newsletter の宛先アウトバウンドメッセージをサポートするようになりました。これにより、課題 #13417 が解決され、#13424 で提案された狭義のアウトバウンドターゲットのアイデアが継承されました。
実行承認機能では、今後の承認画面やコマンドレビュー画面で利用できるよう、tree-sitter を基盤としたシェルコマンド解説機能が追加されました。
エージェントとサンドボックス:openclaw doctor --fix コマンドがレガシーなモノリシックなレジストリファイルを移行している間、セッションロックの競合を減らすため、ランタイムごとのシャードファイルとしてサンドボックスコンテナとブラウザレジストリのエントリを保存するようになりました。(#74831) @luckylhb90 氏に感謝。
Plugins/ClawHub: RateLimit-Reset または Retry-After ヘッダーからリセットウィンドウを取得し、429 エラーを注釈付けします。また、レート制限がより高い値に引き上げられるようサインインするよう促すヒントを追加します。 (原文の技術表記: Sign in for higher rate limits.)
認証されていないリクエストの場合、ユーザーはダウンロードの回復時期や制限解除の方法を確認できます。@romneyda 氏に感謝します。
プラグイン/ランタイムの状態管理では、registerIfAbsent を追加しました。これにより、キー付きストアでの重複排除処理が原子的に実行され、既存の生データを上書きせずに、特定のプラグインがキーを正常に確保できたかどうかを返すことができます。@amknight 氏に感謝します。
Plugin SDK: プラグインが所有する SessionEntry スロットの投影と、スコープ付き信頼ポリシーセッション拡張の読み込み機能を追加しました。(#75609; #73384/#74483 の一部を置き換え) @100yenadmin 氏に感謝。
Sandbox/Windows: サンドボックスのブロックパスや許可ルートに対するポリシー比較を Windows で大文字小文字を区別しない形式のまま維持しつつ、ドライブ絶対パスの Docker バインドソースを受け付けるようにしました。(#42174) @6607changchun 氏に感謝。
Fixes
- プラグインのインストール:ベータ更新チャンネルをオンボーディングやドクター管理によるプラグインインストールに適用し、カタログデフォルトへの永続的なインストール記録を維持しつつ、浮動する npm と ClawHub の仕様に対して
@betaを付与してリクエストします。ありがとうございます @vincentkoc。 - WhatsApp/オンボーディング:セットアップとペアリングの許可リストエントリを WhatsApp の数字のみで構成された電話番号 ID に正規化しますが、E.164、JID、および
whatsapp:形式の入力も引き続き受け入れます。これにより、個人電話の許可リストがセットアップ後に WhatsApp Web の送信者 ID と一致します。ありがとうございます @vincentkoc。 - ゲートウェイ/起動:画像、動画、または音楽生成のデフォルトを明示的に設定しているプロバイダープラグインを読み込み、ゲートウェイ再起動後に生成ツールがカタログのみでなく実際に稼働するようにします。#77244 を修正しました。ありがとうございます @buyuangtampan、@Nikoxx99、および @vincentkoc。
- Slack/サブエージェント:環境セッションスレッドのコンテキストが存在する場合、再開された親
message.send呼び出しを元の Slack スレッドに保持し、成功したサイレントな子完了行をフォローアップ調査から抑制します。ありがとうございます @bek91。 - Slack/メンション:メッセージツールとメディア配信パスを含む、成功した可視化されたスレッド付き Slack 送信のスレッド参加記録を残します。これにより、ボットが参加したスレッドでの未メンション返信が、文書通りメンションゲートをバイパスできるようになります。#77648 を修正しました。ありがとうございます @bek91。
Infra/Windows: resolvePreferredOpenClawTmpDir 関数内で、POSIX の /tmp/openclaw を優先パスとしてスキップします。これにより、ログファイルや TTS 用一時ファイル、その他の書き込みが適切な場所に保存されるようになります。
パスを C:\tmp\openclaw から %TEMP%\openclaw- に変更しました。これにより #60713 が修正されます。@juan-flores077 氏に感謝します。
メディア/Windows: 保存された添付ファイルの一時ファイルを、fsync の前に読み書きできるようにしました。これにより、耐久性フラッシュ中に Windows WebChat や chat.send メディアのオフロード処理が EPERM エラーで失敗する問題が解消されました。
(#76593)@qq230849622-a11y さん、ありがとうございます。
- エージェントやツール:埋め込みランナーのツールファミリーやバンドルされた MCP/LSP ランタイムを構築する際、狭義のランタイム・ツール許可リストを尊重します。これにより、cron やサブエージェントの実行時に、以下のようなツールのリクエストが適切に処理されます。
update_plan、browser、x_search、チャンネルログインツール、または group:plugins は、欠落しているツールや無関係なブートストラップで始まることはなくなりました。
work. (#77519, #77532)
- Codex プラグイン:実験的なアップストリームの app-server プロトコルをミラーリングし、ドリフトチェック前に生成された TypeScript のフォーマットを整えます。これにより、OpenClaw の
experimentalApiブリッジが最新の Codex と互換性を保ちつつ、フォーマッターのゲートも維持されます。 - Telegram/メディア:キャプションなしで受信したメディアプレースホルダーを、Telegram の
photo形状からではなく、保存された MIME メタデータから生成するように変更しました。これにより、画像ではないファイルや混合添付ファイルが `` としてモデルに到達するのを防ぎます。#69793 を修正しました。@aspalagin 氏に感謝します。 - Telegram/ストリーミング:長いテキストの最終結果において、アクティブなプレビューを最初のチャンクとして再利用するようにしました。これにより、複数回のチャンクで返信する際に一時的に現れては消える余分なバブルが発生しなくなります。@vincentkoc 氏に感謝します。
エージェント/キャッシュ: 通常のチャットシステムプロンプトから各ターンごとのランタイムコンテキストを分離しつつ、隠された現在のターンのコンテキストは引き続き提供し、チャットの継続時にプロンプトキャッシュの再利用を復元します。これにより #77431 が修正されました。@Udjin79 氏に感謝します。
ゲートウェイ/起動: agent model の起動ログ行に、解決済みの思考モードと高速モードのデフォルトを含めます。未設定の起動時の思考は medium にデフォルト設定しますが、推論の可視性は混在させません。
ゲートウェイ/更新: パッケージ入れ替え後に VPS ゲートウェイが誤ってポート競合として不健全と報告されないよう、インストール済み設定からローカルゲートウェイプローブの認証情報を取得します。これにより、トークンまたはデバイス認証された VPS ゲートウェイが正しく認識されます。@vincentkoc 氏に感謝します。
エージェント・ツール:自動圧縮リトライ後に有効化され、圧縮ループが永続化された場合に実行を中止する pi-embedded-runner 内の後処理コンパクションループガードを追加しました。 (原文の技術表記: compaction_loop_persisted)
エージェントは、同じ (ツール、引数、結果) のトリプルを windowSize 回生成します。 (原文の技術表記: (tool, args, result))
(デフォルトは 3)このウィンドウ内での動作です。既存の tools.loopDetection.enabled で無効化し、tools.loopDetection.postCompactionGuard.windowSize を調整することで設定を微調整できます。
コンテキストオーバーフローと圧縮がツール呼び出しループを解除できないという不具合に対処します。リファレンス #77474、#21597 の機能を引き継ぎます。@efpiva 氏に感謝。
- Gateway/watch モード:
pnpm gateway:watch --benchmarkを実行中に、明示的な要求がない限り同期 I/O のトレース出力を抑制します。これにより、CPU プロファイリング時にスタックトレースが端末に溢れ出すのを防ぎます。
Gateway/watch: ベンチマークの同期 I/O 追跡を明示的に有効にした場合、トレースブロックをベンチマーク出力ログに tee し、ターミナルパネルからはフィルタリングして表示しますが、通常の Gateway ログは常に表示されます。
Plugins/runtime-deps: パッケージ化された memory_search サンドボックスが JSON5 設定を解析する生成された OpenClaw ランタイムチャンクを解決できるように、メモリコアプラグインのランタイム依存セットに json5 を含めました。これにより #77461 が修正されます。
Plugins/Windows: npm プラグインのインストール時に spawn git ENOENT エラーが発生した場合、Git のインストールヒントを表示します。また、Baileys/libsignal のインストールには WhatsApp プラグインが Git-on-PATH 環境を必要とすることを文書化しました。
Codex ハーネス:アプリサーバーの利用制限リセットの詳細を維持し、OpenClaw が所有するランタイム障害通知をツール経由のソース返信モードを通じて配信します。これにより、Telegram やその他のチャットチャンネルで、Codex のサブスクリプション制限や API 障害がターン実行をブロックした際に、システムが沈黙せずユーザーにその旨を伝えることができます。(#77557)@pashpashpash 氏への感謝。
Agents/OpenAI:デフォルトで OpenAI Responses モデルを WebSocket の自動選択ではなく SSE トランスポートに割り当てます。これにより、WebSocket 経路が停止しているサーバー上でも、OpenAI HTTP ストリームが正常に動作する限り、pi ランタイムのチャットターンがフリーズするのを防ぎます。@vincentkoc 氏への感謝。
プラグインの更新処理で、変更のない npm プラグインの更新をスキップする前に、欠落しているプラグインローカルの openclaw 相互リンク(peer links)を修復するようにしました。これにより、外部からインストールされた Codex の環境でも、OTA(Over-The-Air)による修復プロセス中に openclaw/plugin-sdk/* の解決が正常に行えるようになります。(#77544) @ProspectOre 氏に感謝します。
Discord の返信処理を改善し、最終的な返信配信が失敗した場合、それを「配信された自動表示メッセージ」としてカウントするのではなく、「ターン全体の失敗」として扱うようにしました。これにより、最後のメッセージが失われた場合でも、ギルドやチャンネルのステータスが誤って「完了」表示されるのを防ぎます(Issue #77520 対応)。Patrick-Erichsen 氏への感謝。
Discord の REST およびゲートウェイ WebSocket の起動パスにおいて、IPv4 を優先するように変更しました。これにより、IPv4 のみのネットワーク環境でも、Gateway READY や着信メッセージの配信処理が停止する問題を解消します(Issue #77398 対応、Issue #77526 参照)。Beandon13 氏への感謝。
チャンネルやプラグインの設定において、パッケージ状態の確認、環境変数・設定ファイルの有無チェック、読み取り専用コマンドのデフォルト値を、マニフェスト内のプラグイン ID ではなく、チャンネル ID に基づいてキー付けするように変更しました。これにより、パッケージ ID とチャンネルエイリアスが異なるチャンネルプラグインでも、セットアップやネイティブコマンドの検出機能が正しく維持されます。vincentkoc 氏への感謝。
Docker イメージの構築において、パッケージから除外されたプラグインのディストリビューションディレクトリをランタイムイメージから削除するようにしました(ただし、ビルド時に明示的にそのプラグインを有効化する場合は除く)。これにより、Feishu などの公式外部プラグインは「インストール時オンデマンド」方式が維持され、コンパイル済みのランタイム出力なしに不完全なメタデータのみが含まれる事態を防ぎます(Issue #77424 対応)。vincentkoc 氏への感謝。
モデル切り替え機能において、/model ... --runtime ... コマンドでブロックされたモデルを指定した場合、そのモデルの許可リスト修復コマンドを正確に含めるようにしました。また、Telegram のモデルピッカーでは、「セッションモデルのみが変更され、ランタイムは不変である」という旨を明確に表示するように改善しました。vincentkoc 氏への感謝。
Mattermost においても、モデルピッカーがセッションモデルのみを変更するものであり、ランタイムの切り替えには /oc_model --runtime コマンドが必要であることを明確にしました。vincentkoc 氏への感謝。 (原文の技術表記: /oc_model --runtime )
- ドクター/設定:
doctor --fixで設定から古くなったシークレットフィールドを削除する際、auth.profilesメタデータをそのまま保持し、レガシーな:defaultAPI キープロファイルのメタデータを修復します。
モデルのフォールバックや明示的な model@profile 参照も、これに依存しています。#77400 を修正しました。
Doctor/plugins: リリース設定済みプラグメント修復セットに plugins.allow に含まれる公式プラグ ID のみを追加し、doctor --fix が未ロードだが設定済みの外部公式プラグを削除するのではなく、正しくインストールするようにしました。これにより #77155 を修正します。@hclsys 氏への感謝。
・ドクター/セッション: doctor --fix 実行時に、現在の設定されたルート外にプラグインが所有するモデル/ランタイム/認証/セッションのバインドが見つかった場合、セッションストアから自動生成された陳旧なセッションルーティング状態をクリアします。ただし、手動レビューが必要なユーザーによる明示的なモデル選択はそのまま残します。参照 #68615。
・CLI/update: パッケージ更新プラグインの同期に失敗したプラグインは無効化してスキップするようにしました。これにより、壊れた npm/ClawHub/git/マーケットプレイス上のプラグインが、正常な OpenClaw パッケージ更新を失敗結果に変えてしまうのを防ぎます。@vincentkoc 氏への感謝。
CLI/update: パッケージマネージャーの更新時に、絶対パスを持つ POSIX 対応の npm スクリプトシェルの利用を開始しました。これにより、--tag main から更新する際にも、制限された PATH 環境下で依存関係のライフサイクルスクリプトを正常に実行できるようになりました。#77530 を修正。@PeterTremonti 氏への感謝。
- 診断機能:公式のインストール済み診断エクスポートプラグインに対して内部診断イベントバスへのアクセス権限を付与します。これにより、npm でインストールされた
@openclaw/diagnostics-prometheusが、任意のグローバルプラグインに権限を広げることなくメトリクスを発行できるようになります。#76628 を修正しました。@RayWoo さんありがとうございます。 - ブラウザ:既存セッションのスナップショット処理と整合性を持たせるため、既存セッションのスクリーンショット取得前に、厳格な SSRF(サーバーサイドリクエスト偽装)の現在 URL チェックを適用します。@vincentkoc さんありがとうございます。
- アクティブメモリ:タイムアウト時の部分的なトランスクリプト復元に十分な猶予時間を確保し、クリーンアップ処理の前に一時的な要約が返されるようにしました。@vincentkoc さんありがとうございます。
Gateway/chat: 同一セッションのキューイングされたフォローアップターンを処理する前に、アクティブな返信実行ガードをクリアすることで、連続した chat.send コールが交互に ReplyRunAlreadyActiveError を発生させる問題を修正しました。これにより、#77485 が解決されました。@bws14email 氏への感謝です。
エージェント/メディア機能:ストリーミング返信テキストが最終的な MEDIA: ディレクティブより先に到着した場合、生成された画像・動画・音楽の添付ファイルを重複して送信しないようにします。
CLI/セッション機能:openclaw sessions コマンドのデフォルト出力を最新 100 行に制限し、--limit オプションと JSON ページネーションメタデータを追加しました。これにより、大規模なセッションストアに対する機械的なポーリングが、行数ごとに無制限に拡散するのを防ぎます。
エンリッチメントと出力処理の修正。#77500 を解決しました。@Kaotic3 さん、ありがとうございます。
Doctor/config: routing.allowFrom、routing.groupChat.*、channels.telegram.requireMention の各設定項目について、従来のグループチャート設定マイグレーションを復元します。これにより、アップグレード時に WhatsApp、Telegram、iMessage のグループメンション制限や履歴設定が正しく維持され、設定が無効になったり無言でブロックされたりする事態を防ぎます。ご協力ありがとうございます @scoootscooob。
CLI/update: パッケージ更新後のフォロー処理において、完了結果を記録し明示的に終了するように変更しました。これにより、Windows 向けパッケージ版のアップグレード時に、新しいパッケージがコアプラグイン関連の作業を終えた後にプロセスが停止する不具合が解消されます。ご協力ありがとうございます @vincentkoc。
Release validation: Slack のライブ QA は、Slack の認証情報が明示的に設定されている場合のみ実行するようにしました。これにより、Slack がローカル環境にあり認証情報による制限がかかっている間も、リリースゲートは Slack 以外の機能面を確実に検証し続けることができます。ご協力ありがとうございます @vincentkoc。
プラグインの更新:OpenClaw の CalVer 修正バージョン(例:2026.5.3-1)を、ベースとなるプラグイン API の範囲を満たすものとして扱うようにしました。これにより、修正版ビルドでもベースランタイム API を必要とするプラグインのインストールが可能になります。#77293 を解決。(PR #77450)@p3nchan 氏に感謝。
Discord/Gateway の起動:Discord READY 待ちをバックオフ付きで再試行し、サイドカーが回復するまで sessions.list の実行やネイティブ承認の準備完了エラーを遅延させるようにしました。また、最終的な返信スクラビング処理でテキストがすべて削除された場合でも、コンポーネントのみを含む Discord ペイロードは保持されます。(PR #77478)@NikolaFC 氏に感謝。
CLI/ランチャー:ターミネーション信号を、キャッシュ再構築を行う子プロセスへ転送するようにしました。これにより、ラッパープロセスを停止してもセキュリティ監査ワーカーが孤児化(オーファン化)する事態を防げます。#77458 を解決。(PR #77450 参照)@jaikharbanda 氏に感謝。
プラグイン/レジストリ: パッケージマネージャーのアップグレード後に、古くなった永続化されたレジストリによって隠れてしまうことがあった場合、所有する npm ルートから管理対象の外部プラグインを復元します。#77266 を修正しました。@p3nchan さんありがとうございます。
fix(gateway): 束縛されていない WebSocket の認証スコープを制限 [AI] (#77413)。@pgondhi987 さんありがとうございます。
Gate zalouser: スタートアップ時の名前一致処理を実装 [AI] (#77411)。@pgondhi987 さんありがとうございます。
アクティブメモリ: チャネルやランタイムのメタデータが検索文字列として使われてしまうのを防ぐため、リコールワーカーに対して制限された最新メッセージの検索クエリを送信します。#65309 を修正しました。@joeykrug, @westley3601, @pimenov, @tasi333 さんありがとうございます。
fix(device-pair): pair コマンドにはペアリングスコープを必須としました [AI] (#76377)。@pgondhi987 さんありがとうございます。
Providers/OpenRouter: OpenRouter 対応の値に対して DeepSeek V4 の reasoning_effort を維持し、古い max 思考のオーバーライドを xhigh にマッピングする。
openrouter/deepseek/deepseek-v4-pro のエラーが解消されました。
OpenRouter の無効な試行に対する 400 エラーを修正しました。#77350 (#77423) @krllagent、@mushuiyu886、@sallyom 各位に感謝します。
- fix(qqbot): プライベートコマンドをフレームワークの表面から隠す [AI]。(#77212) 貢献者:@pgondhi987
- Claude CLI: クラウドコードのセッションスコープ向け
--effortフラグを CLI バックエンド経由で通し、非公式の/thinkレベルに対応させることで、チャットブリッジに無効な思考制御が表示されないようにしました。#77303 を修正。貢献者:@Petr1t
エージェント/サブエージェント: 同じセッション内の完了出力が変更された際に、遅延した最終配送ペイロードを更新します。これにより、再試行される親通知では、古くなった進行状況テキストではなく、最新の子ども要約が使用されます。@vincentkoc 氏に感謝。
エージェント/メディア: 非同期の音楽および動画完了結果をリクエスト元のエージェント経由でルーティングし、自動返信機能を維持しつつ、メッセージツール専用グループやチャンネルへの配信にはメッセージツールの利用を必要とします。
アクティブメモリ: memory-core や memory-lancedb のようなメモリプラグインが読み込まれていない場合、混乱を招く許可リストのエラーをログ出力するのではなく、サブエージェントを適切にスキップします。これにより、バックエンドを持たないアクティブメモリでも、ゲートウェイログで誤解を招く「呼び出し可能なツールが残っていません」という警告が表示されなくなります。#77506 を修正しました。@hclsys 氏に感謝。
メモリ/ウィキ: corpus=all 検索時に未使用の結果容量をバックフィルする際、両方のコーパスからの表現を保持します。これにより、数値的に高いウィキの整数スコアによってメモリのヒットが阻害されることがなくなります。#77337 を修正しました。@hclsys 氏に感謝。
Docker/Compose では、ゲートウェイサービスと CLI サービスの両方でコンテナ側の環境変数 OPENCLAW_CONFIG_DIR と OPENCLAW_WORKSPACE_DIR を固定し、ホスト上のパスを正しくマッピングします。
.env ファイルには、scripts/docker/setup.sh スクリプトによって記述されます。
(Compose のバインドマウントソースとして使用されるもの)は、env_file 経由でインポートされてもランタイムコードに漏れ出すことはできません。
macOS の Docker 環境で、ホスト側のワークスペースパスが agents.defaults.workspace に保存されてしまい、最初のエージェントの応答が EACCES: permission denied, mkdir '/Users' というエラーで失敗する不具合を修正しました。#77436 を解決。@lonexreb 氏に感謝します。
Telegram では、アシスタントのメッセージ境界以降にツール専用の下書きプレビューを整理する機能を追加しました。これにより、対応する最終的なプレビューが到着しない場合でも、一時的な「表示中」状態を示すツールステータスバブルが残存することがなくなります。
ご協力いただきありがとうございます:@BunsDev (原文の技術表記: Surfacing...)
Slack では、ソケットモードの起動再試行ログにおいて「未定義」の代わりに「不明なエラー」と報告し、再試行理由を明示的にラベル付けしました。 (原文の技術表記: unknown error、undefined)
Telegram:トピックごとの明示的な設定 requireMention が、永続化された /activate や /deactivate の状態を上書きするように変更しました。これにより、各トピックごとのメンション制限が確実に機能するようになります。バグ #49864 を修正。
Panniantong 氏に感謝します。
- Cron: 必要なツールが利用できない場合に、
cron show、ステータス、実行履歴で「孤立した実行」の診断結果を失敗として表示するように改善しました。これにより、ブロックされた cron の実行では、誤解を招く成功(緑色の)結果ではなく、実際のツールポリシー違反が報告されるようになります。Fixes #75763. Thanks @RyanSandoval.
TUI/escape abort: chat.send の解決後に実行中の runId を追跡することで、最初のゲートウェイイベント到達までの間に Esc キーを押した際に、実行を中止できるようになりました。これにより、「アクティブな実行がありません」というメッセージが繰り返し表示される不具合が解消されました(Fixes #1296)。ご協力いただいた @Lukavyi さん、@romneyda さんに感謝します。
TUI/render: インラインコードスパン、囲みコードブロック、テーブルの境界線、ハイフンやドットで連結された識別子などの内部に、ロングトークンサニタイザーが文字通りスペースを挿入するのを停止しました。これにより、コピーしたパッケージ名やエンティティ ID、シェルの行継続記号などがバイト単位で完全に保持されるようになりました。一方、端末の幅が狭い場合でも、識別できない長文のトークンを適切に分割して保護する機能は維持されています(Fixes #48432, #39505)。ご協力いただいた @DocOellerson さん、@xeusoc さん、@CCcassiusdjs さん、@akramcodez さん、@brokemac79 さん、@romneyda さんに感謝します。 (原文の技術表記: no active run)
プラグイン機能の強化:生成されたプラグンスキルディレクトリ(~/.openclaw/plugin-skills/)を通じて、プラグインが宣言したスキルを公開しつつ、ダイレクトプロンプト読み込みの機能は維持します。これにより、エージェントのファイルベースの検出パスでプラグンスキルの SKILL.md ファイルを見つけられるようになり、無効なプラグインリンクも自動的に整理されます。これで #77296 が修正されました。(#77328)@zhangguiping-xydt 氏に感謝します。
ゲートウェイ/ステータス表示の改善:Linux で管理されるゲートウェイサービスを systemd user ラベルとして明示し、ステータス出力がシステムレベルのユニットではなく、ユーザーサービススコープを明確に示すようにしました。@vincentkoc 氏に感謝します。
プラグイン/インストール処理の見直し:再インストールでソース切り替えが行われる際、以前の管理用プラグインディレクトリを削除するように変更しました。これにより、新しいインストールが完了した後も、古い ClawHub や npm のコピーが残って重複するプラグイン ID が検出される問題を解消します。@vincentkoc 氏に感謝します。
- プラグインのインストール:公式プラグインが再インストール、回復、修復、ソースのみでインストールされたランタイムシャドウに対応できるようにしました。これにより、
openclaw plugins install npm:@openclaw/discord --forceコマンドは、古い設定検証で止まることなく、不良パッケージを置き換えることができます。@vincentkoc 氏に感謝します。 - CLI の更新:pnpm が検出した npm レイアウトのグローバルパッケージ更新を、クリーンな npm プレフィックスの置換を通じて段階的に実行し、プラグインインストール時のランタイムインポートを安定したエイリアスで管理します。また、既存のインストールランタイムエイリアスを
2026.3.22に戻すことで、更新後の同期が古いオーバーレイチャンクによって壊れるのを防ぎます。@vincentkoc 氏に感謝します。
プラグイン/コマンド:公式の ClawHub Codex プラグインパッケージが、既存の npm 管理による Codex パッケージと同様に、予約された /codex コマンドの所有権を維持できるようにしました。@vincentkoc 氏に感謝します。
認証/OpenAI Codex:無効化されたエージェントごとの Codex 認証順序とセッションプロファイルのオーバーライドを、健全な再ログインプロファイルへ書き換えることで、OAuth アカウントが取り消されていても再度サインインした際に固定され続ける問題を解決しました。@BunsDev 氏に感謝します。
プラグイン/コマンド:QQBot フレームワークのスラッシュコマンドを QQBot チャンネルにスコープ制限し、/bot-* コマンドハンドラーやネイティブ仕様が無関係なチャット表面に漏れ出さないようにしました。@vincentkoc 氏に感謝します。
修正:バックエンドのメッセージアクションゲートウェイルーティングを強化しました [AI]。(#76374) @pgondhi987 氏に感謝します。
- Gate QQBot のストリーミングコマンド認証機能の追加 [AI]。(#76375) 貢献者:@pgondhi987
プラグインの検出機能では、TypeScript ソースのみを公開し、実行時のコンパイル出力を持たない管理対象の npm パッケージを無視するようにしました。これにより、セットアップ時に古いまたは破損したインストールが、動作するバンドル版や再インストール可能なチャンネルプラグインを隠してしまうのを防ぎます。
CLI の更新処理では、2026.5.3-1 といった OpenClaw の安定版修正バージョンを、ベースとなる安定版リリースより新しいものとみなすようになりました。これにより、パッケージの更新時にダウングレードの確認を求める不再要になります。
プラグインのインストール機能では、信頼できる公式 OpenClaw npm インストールに対して危険なパターンスキャンの警告を抑制するようにしました。その結果、@openclaw/discord をインストールしても、公式パッケージに対する認証情報収集の警告が表示されなくなります。
プラグイン/コマンド:信頼できる所有者が管理するカタログからの npm install を /plugins install コマンドでチャット経由で行う際、危険なパターンスキャナーの警告を抑制します。これにより、チャット経由でのインストールと CLI 経由でのインストールの信頼パスを一致させます。ご協力ありがとうございます @vincentkoc。
プラグイン/リリース:公開された npm ランタイム検証器が、空の openclaw.runtimeExtensions エントリを「存在しない」として扱うのではなく、拒否するように変更しました。
推論された出力を経由して処理されます。@vincentkoc 氏に感謝します。
- プラグイン/セキュリティ:プラグインインストールスキャン時に、ソースルールコンテキストのマッチングでインラインコメントとブロックコメントを無視するようにしました。これにより、環境デフォルト値付近にあるコメントのみで構成された
fetch/postの参照が、クリーンなプラグインの導入を妨げることがなくなります。@vincentkoc 氏に感謝します。
- Doctor/プラグイン:バンドルされたプラグインが明示的に設定されていなくても、関連する管理インストールレコードを削除します。これにより、ドクターのクリーンアップ処理で未使用のインストールメタデータが残るのを防ぎます。@vincentkoc 氏に感謝。
- Web フェッチ:選択したフェッチプロバイダーごとにフォールバックキャッシュエントリのスコープを設定し、設定のリロード時に別のプロバイダーがキャッシュしたフォールバックペイロードを再利用できないようにしました。@vincentkoc 氏に感謝。
- Web 検索:ツール実行中に遅くバインドされた
tools.web.search.enabled: falseを尊重します。これにより、設定のリロードで既に作成済みのweb_searchツールが実行可能状態のまま残るのを防ぎます。@vincentkoc 氏に感謝。
プラグイン・パッケージ機能では、存在するがパッケージ境界チェックに失敗したビルトタイムエントリを、インストール済みパッケージの TypeScript ソースへフォールバックさせるのではなく、拒否するように変更しました。@vincentkoc 氏への感謝。
プラグイン/ローダー機能では、ネイティブ評価で依存関係が見つからない状態になった後でも、ソース変換器を通じてネイティブ読み込みされた JavaScript プラグインモジュールを再試行しないようにし、トップレベルの副作用が重複して発生するのを防ぎました。@vincentkoc 氏への感謝。
プラグイン・パッケージ機能では、空の openclaw.runtimeExtensions エントリを無視して推論された TypeScript ランタイムエントリへフォールバックさせるのではなく、拒否するように変更しました。@vincentkoc 氏への感謝。
Doctor/plugins: 管理対象のnpmプラグインのシャドウエントリが古くなった場合、package.json や node_modules 内の管理パッケージロックファイルからも削除します。これにより、今後のnpm操作で修復されたバンドルプラグインのシャドウを参照し続けることがなくなります。@vincentkoc 氏への感謝。
プラグインのランタイム状態:名前空間の退避処理が既存のエントリと同じミリ秒内に実行された際、登録されたキーを保持するようにしました。これにより、register や registerIfAbsent が自身の新しい値を退避している最中に成功と報告する不具合を防ぎます。ご協力ありがとうございます @vincentkoc。
プラグインのプロバイダー:新規設定ではデフォルトで制限付きの plugins.allow を尊重するようにバンドルされたプロバイダー検出機能を改修しました。また、既存の制限付きホワイトリスト形式の設定は、doctor コマンドが自動的に移行処理を行います。
アップグレード時の動作を維持するには、plugins.bundledDiscovery: "compat" を設定してください。ご協力ありがとうございます、@dougbtv さん。
- コントロール UI/トーク:トークの起動失敗エラーを非表示にできるようにし、非表示にした際に古いエラー状態をクリアします。これにより、リアルタイム音声プロバイダーの設定が欠落しても、チャットバナーが恒久的に表示されることがなくなります。#77071 を修正しました。ご協力ありがとうございます、@ijoshdavis さん。
・コントロール UI/トーク:ランタイムエラーバナーを閉じる際、失敗したリアルタイムのトークセッションを停止してクリアするようにしました。これにより、次のトーククリックで古いセッションを停止するだけでなく、新しいセッションが開始されます。@vincentkoc 氏に感謝します。
・コントロール UI/トーク:次にトークをクリックした際に、失敗したリアルタイムのトークセッションから再試行するように変更しました。以前は、古いセッションを停止するための別クリックが必要でしたが、それが不要になりました。@vincentkoc 氏に感謝します。
・キャンバスホスト:ブラウザ上のキャンバスホスト URL や起動マウントログにおいて、ゲートウェイの TLS スキームを保持するようにしました。これにより、直接 HTTPS のゲートウェイがセキュリティリスクのあるキャンバスリンクを宣伝することがなくなります。@vincentkoc 氏に感謝します。
・WhatsApp ログイン:ログイン成功および失敗のメッセージを、注入されたランタイム経由でルーティングするようにしました。これにより、セットアップやオンボーディング画面で QR コードだけでなく、すべてのログイン出力がキャプチャされるようになります。@vincentkoc 氏に感謝します。
- Google Chat: 認証クライアントごとに孤立した Google 認証トランスポートを作成し、Webhook の検証とアクセストークン取得の両方で google-auth-library のインターセプターによる変更が蓄積されないようにしました。@vincentkoc さんありがとうございます。
- Doctor/plugins:
doctor --fixを実行する際、束縛された@openclaw/*プラグインの管理下にある npm コピー(孤児または回復済み)を削除し、古いパッケージマニフェストが現在のバンドル済みプラグイン設定スキーマを覆写できないようにしました。 - Control UI/performance: 共有イベントログ内の「長時間タスク」と「長時間アニメーションフレーム」の診断データを制限し、描画が遅い場合のテレメトリデータによってゲートウェイやプラグインのイベントがデバッグビューや概要ビューから除外されないようにしました。@vincentkoc さんありがとうございます。
Gateway/startup: HTTP サーバーがバインドされた後にのみ、キャンバスホストのマウントログを出力するように変更しました。これにより、リクエストを受け付ける前にすでにマウント済みと誤って報告される問題が解消されました。
Control UI/i18n: セッションのアクティブフィルターのツールチップに、設定された分単位の値をすべてのロケールで正しく表示するよう改善しました。また、i18n チェックがプレースホルダーのズレを検出できるよう強化し、エラーを適切に拒否するようにしました(@BunsDev 氏への感謝)。
Web fetch: web_fetch の設定とプロバイダのフォールバックメタデータを、アクティブなランタイムスナップショットから遅延バインドするようになりました。これにより、web_search と同様に、長期間動作するツールが古いフェッチプロバイダの設定を使用することがなくなります(@vincentkoc 氏への感謝)。
Discord: アシンク BOT プロブで例外が発生した場合に限り、 stale な起動プローブやアプリケーションステータスをクリアするように処理を拡張しました。以前は劣化した結果が返された場合のみクリアされていましたが、現在は例外発生時にも即座に対応します(@vincentkoc 氏への感謝)。
- Web search: 明示的なスコープを持つ
web_searchプロバイダーのランタイム読み込みをマニフェスト所有権を通じて行うように変更しました。これにより、DuckDuckGo や Gemini などを選択しても、関連しないバンドル済みプロバイダーがインポートされたり、オプション依存関係の失敗ログが出力されたりすることがなくなりました。@vincentkoc さんありがとうございます。 - Plugins/discovery: すでにインストール済みの
origin: "global"プラグインパッケージに対するソースコードベースの TypeScript ランタイムチェックを、設定ブロックエラーから警告レベルに引き下げました。これにより、1 つの壊れたインストール済みパッケージが存在しても、他のプラグインのplugins installがブロックされず、ランタイムは jiti を介して TypeScript ソースへフォールスルーします。ただし、新規インストールされたソースコードベースのパッケージに対するインストール時の拒否処理は変更されていません。@romneyda さんありがとうございます。
Providers/OpenAI Codex: 手動リダイレクトの貼り付けプロンプトを表示する前に、OAuth の進行状況スピナーを停止します。これにより、コールバックタイムアウト時に「Browser callback did not finish」というエラーメッセージがターミナルに大量に表示されるのを防ぎます。
Providers/OpenAI Codex: 設定バインディングの変更、権限の調整、モデルのオーバーライド、アクティブなターン、フィードバックアップロードなどを実行する前に、不正な /codex コントロールコマンドや診断確認に対しては安全側に閉じる(fail closed)処理を行います。@vincentkoc 氏への感謝。
Providers/OpenAI Codex: Chat に投稿する前に、Codex アプリサーバーからのコマンド出力、エラー応答、承認プロンプト、誘発プロンプト、および request_user_input テキストをすべてサニタイズ(安全化)します。@vincentkoc 氏への感謝。
Providers/OpenAI Codex では、ローカルのターン画像パスの保存、同じスレッドからの期限切れ通知の拒否、オプションのみを許可するユーザー入力プロンプトの強制、および動的ツールの失敗結果を Codex に対してツール呼び出しの失敗として返す処理が実装されました。ご協力ありがとうございます @vincentkoc。
Providers/DeepSeek では、軽量なプロバイダーポリシー層を通じて DeepSeek V4 の xhigh および max の思考レベルを公開し、Control UI の /think ピッカーが引き続き表示されるようにしています。
ランタイムプラグインレジストリがアクティブでない場合に、最大推論オプションを有効化します。#77139 を修正しました。ご協力ありがとうございます、@bittoby さん。
- リリース/ベータのスマークテスト:
gh workflow runで実行 URL が返されない場合、gh run listから送信された Telegram ベータ E2E 実行を解決し、メンテナーヘルパーが即座に失敗しないようにしました。ご協力ありがとうございます、@vincentkoc さん。
メディア画像の処理において、オプションの Sharp 変換が利用できない場合でも、未変換のオリジナルファイルを転送するのではなく、HEIC/HEIF アタッチメントを強制的に閉鎖(fail-closed)状態に保つようにしました。@vincentkoc 氏への感謝。
Google Meet では、通話者の現在のエージェントトランスクリプトをフォークし、エージェントモードの会議コンサルタントセッションとして扱うことで、ツール呼び出しから会議に参加した際の文脈が Meet の返信にも継承されるようになりました。
iOS/モバイルペアリングでは、QR コードの発行やセットアップコードの入力を拒否する前に、ループバックではない ws:// 設定 URL をブロックします。これにより、iOS の Gateway 設定画面で QR コードをスキャンしたり、完全なセットアップコードメッセージを貼り付けたりすることが可能になります。@BunsDev 氏への感謝。
コントロール UI では、ゲートウェイ幅やタブレット幅といった狭い表示領域でも、Gateway Access の入力欄とロケールピッカーがカード内に収まるように調整しました。
・エージェント/トラジェクトリ:ランタイムでのトラジェクトリ取得を制限し、キューされたサイドカー書き込みを優先することで、サイズ超過のトレースが記録され続けるのを防ぎ、Gateway のクリーンアップ処理を独占しないようにしました。#77124 を修正。@loyur 氏に感謝。
・Telegram/ストリーミング:共有圧縮前にツール進捗のドラフトプレビューにあるバッククォート(`)を正規化し、長いバッククォートを含む進捗テキストが省略記号に切り捨てられることなく、安全なコード形式のプレビュー内で正しく表示されるようにしました。
・UI/チャット:Firefox のコンソールノイズを除去するため、チャットキューのテキストルールからサポートされていない line-clamp 宣言を削除しましたが、可視的な文字列の切り捨て動作には変更を加えていません。@ZanderH-code 氏に感謝。
・コントロール UI:セッション切替の通知やアクティブなセッションセレクターの点滅、インラインでの保存/適用/更新進捗の表示、フィルターで空になったセッションリストと実際にはセッションストアが空の場合との見分けを可能にするなど、繰り返し実行されるアクションに対する明確なフィードバックを追加しました。@BunsDev 氏に感謝。
・エージェント/Pi:合成された途中経過でのオーバーフロー継続プロンプトの永続化を抑制し、転写記録からの再試行回復時に「転写記録から続ける」というプロンプトが新しいユーザーターンとして書き込まれないようにしました。@vincentkoc 氏に感謝。
・エージェント/ツール:メッセージ送信前に、リッチプレゼンテーションのタイトル、ブロック、ボタン、選択ラベルから推論テキストを除去し、構造化されたチャネルペイロード内で計画情報が漏洩しないようにしました。@vincentkoc 氏に感謝。
Telegram では、安定した配布名を維持するために返信ディスパッチの遅延プロバイダーランタイムチャンクを保持し、最終配信後に /reasoning stream プレビューを削除してください。これにより、パッケージ更新やライブ推論ドラフトが Telegram のやり取りを破損させたり、ノイズの原因となったりすることを防ぎます。@BunsDev 氏に感謝します。
Discord: スタートアップボットやアプリケーションのプロブを待たずにゲートウェイモニターを開始し、WSL2 ホストで /users/@me REST パスが応答に時間がかかっても、ステータス情報の非同期取得が完了するまでチャンネルをオンライン状態として維持できるようにしました。これにより、#77103 の不具合が修正されました。@Suited78 氏への感謝。
承認プロセスの改善:環境変数オプションに -S(または -s)と他の短縮オプションを併用した env -S による分割文字列コマンドのリスクを検出し、承認時の説明で重要な情報が抜け落ちないようにします。
env -iS... の背後に隠されたペイロードを分割する手法。@vincentkoc 氏への感謝。
- Google Meet: 音声合成後に、具体的なエージェントモードの TTS プロバイダー、モデル、声、出力形式、サンプルレートなどをログに記録します。これにより、Meet のログから各返信を担当した音声バックエンドを特定できるようになります。
- Voice Call: リアルタイムプロバイダーが正常に閉じられた時点で、リアルタイム通話の完了としてマーク付けを行います。これにより、Twilio/OpenAI/Google のリアルタイム停止イベントが残存するアクティブな通話記録を残すことがなくなります。@vincentkoc さんありがとうございます。
- Gateway/update: シャットダウン時のクローズパスを安定したランタイムチャンクの背後に維持し、最新の
server-close-*ハッシュに対する互換性エイリアスを提供します。これにより、手動での npm パッケージ置換によって、既に実行中の Gateway が正常にシャットダウンできなくなる事態を防ぎます。#77087 を修正しました。@westlife219 さんありがとうございます。
コントロール UI/メディア: アシスタントによるメディア取得のために、短期有効なスコープ付きチケットを生成し、チャット画像 URL に長期の有効期限を持つ認証トークンを公開する代わりに、チケット付与された URL を使用します。これにより、#70830 および #77097 の問題を修正しました。@hclsys 氏に感謝します。
実行承認: POSIX exec を、インライン評価やシェルラッパー、評価/ソース検出のためのコマンド運搬体として扱うように変更しました。これにより、exec の背後に隠されたペイロードが、承認の説明やコマンドリスクチェックで見落とされるのを防ぎます。@vincentkoc 氏に感謝します。
Google Meet: Chrome とペアリングされたノードの Meet トークバックブリッジを開始する際、解決された音声プロバイダーモデルをログ出力するようにしました。これにより、エージェントモードでの参加では STT モデルが、bidi 結合ではリアルタイム音声モデルが表示されるようになります。
診断機能: cron の回復処理コンテキストでセッション末尾ファイルが存在しない場合でも、拡張機能のテスト型チェックに引っかからないように処理を追加しました。@vincentkoc 氏に感謝します。
QA/Slack: 構造化された進行状況ドラフトヘルパー向けの Slack ディスパッチプレビューフォールバックテスト SDK モックを更新しました。これにより、新しいインポートをカバーするリッチな進行状況ドラフト回帰スイートが、アサーション実行前に失敗することなく機能します。@vincentkoc 氏に感謝します。
リリース検証: 集中した QA のライブ再実行で Matrix や Telegram を選択できるようにし、Slack は実行しないようにしました。これにより、既知の Slack クレデンシャルプール障害が、Slack 以外のライブ証明をブロックするのを防ぎます。@vincentkoc 氏に感謝します。
プラグイン/ローダー: バンドルされたプラグインパッケージ test-api.js のエイリアスをプライベート QA モードの下に保持しました。これにより、通常のプラグイン読み込み時にソース変換がテスト専用の公開インターフェースを露出するのを防ぎます。@vincentkoc 氏に感謝します。
- Gateway/スタートアップ: 準備完了後の遅延メンテナンスタイマーが失敗しても、ポスト済みメモリトレースを記録し続ける cron を起動します。これにより、致命的ではないタイマー設定の問題によってスケジュールされたジョブが静かにアイドル状態になるのを防ぎます。@vincentkoc 氏に感謝。
- Exec 承認:
/approveコマンドの実行やインラインインタプリタペイロードを、そのenv -P形式の背後でブロックし続けるために、BSD/macOS の env -P キャリアコマンドを承認コマンドと厳格なインライン評価チェックの前に展開します。 - エージェント/セッションステータス: 実行セッションに永続的なセッションストアエントリが存在する前でも、サンドボックスポリシーキーにフォールバックするのではなく、ライブ実行セッションにセマンティックな
session_status({ sessionKey: "current" })を維持します。@vincentkoc 氏に感謝。
QA/Slack: ソースモードの QA 実行時に、バンドルされた公式プラグインのパブリックサーフェスパッケージエイリアスを解決します。これにより、リリース時の Slack ライブ検証でワークスペースシンボリックリンクなしでも @openclaw/slack/api.js を読み込めるようになります。@vincentkoc 氏に感謝。
Codex: サンドボックスポリシーが別セッションキーを使用する場合、ライブ実行セッションキーをアプリサーバーの動的ツールへ渡します。これにより、session_status({ sessionKey: "current" }) がサンドボックスポリシー側のキーではなく、アクティブな実行を示すようになります。@vincentkoc 氏に感謝。
Web search: アクティブなランタイムメタデータやアクティブなプラグインレジストリが不完全な場合でも、ファーストクラスのアシスタント web_search の自動検出と設定済みランタイムプロバイダーを常に表示します。#77073 を修正しました。@joeykrug 氏に感謝。
プラグイン/ツール:共有の必須ファクトリから提供される場合でも、マニフェストでマークされたサブルーツールをオプションとして扱うように変更しました。これにより、キャッシュやステータス、MCP メタデータにおけるオプトインツールのポリシーが正確に保たれます。@vincentkoc さんありがとうございます。
Matrix:streaming.progress.toolProgress を進行状況ドラフトモードに限定し、部分的または非表示の Matrix プレビューでも、streaming.preview.toolProgress が無効になっていない限りツール進捗情報が失われないようにしました。@vincentkoc さんありがとうございます。
ゲートウェイ/バリデーション:ゲートウェイサーバーの検証ファイルを独立させ、リクエストトレースのカバレッジで関連しない起動ログを除外し、共有認証ソケットが停止した際に即座に失敗するように変更しました。これにより、コントリビューターによる本番ブランチでの CI 誤報が減少します。@amknight さんありがとうございます。
- チャンネル/ストリーミング:
streaming.progress.toolProgressは進捗ドラフトモードにスコープを限定したまま維持し、コンパクトな進行状況ラインの無効化が部分的またはブロックごとのツール更新のプレビュー通知を消さないようにします。@vincentkoc さんありがとうございます。 - プラグイン/アップデート: npm インストールやプラグインの更新、バンドルバージョンにおいて、OpenClaw の安定版修正バージョン(例:
2026.5.3-1)を正式リリースとして扱います。
比較対象を整理したため、プレリリースのオプトインなしで公式プラグインを最新バージョンへ更新できるようになりました。@vincentkoc さんありがとうございます。
- コントロール UI: 外観の調整機能における「ブラウズアクション」とドキュメントを、削除された
/themesページではなく、ライブな調整エディターのルートに指し直すように変更しました。これで #77048 が修正されました。 (原文の技術表記:latest)
コントロールUI:ドリームダイアリーのプロースをサニタイズされたMarkdownパイプラインを通じてレンダリングすることで、日記の太字・斜体・見出しなどのMarkdown記号が文字列として表示される不具合を修正しました。これにより、Issue #62413 が解決されます。
コントロール UI:テキストブロック配列として出力が到着するツールの結果をレンダリングし、拡張されたツール出力にはスクロール可能なブロックを追加することで、WebChat 上で読み込み・実行結果が常に表示されるようにします。これにより、#77054 の問題を修正しました。
MCP:conversations_list および messages_read の主要なテキストコンテンツに、シリアライズされた会話/メッセージペイロードを含める一方で、以下の要件は維持します。
機能的なクライアント向けの構造化コンテンツ。#77024 を修正。
- メディア処理: 書き込み後のメディアファイルシステム同期(fsync)ステップで
EPERMエラーが発生した場合、ベストエフォートとして扱い、正常に書き込まれた後にfsyncが拒否される Windows ファイルシステム上でも、WebChat やチャンネルへのアップロードを完了できるようにしました。#76844 を修正。 (原文の技術表記:structuredContent)
- メディア/Telegram: オプションの画像最適化が利用できない場合、制限内にあるオリジナル画像を送信するようにしました。これにより、
sharpが欠落していても Telegram のメディア返信やメッセージツールの画像送信が失敗しなくなります。#77081 を修正しました。(#77117)@pfrederiksen 氏に感謝します。 - 診断機能: ストップしたセッションと立ち往生したセッションの回復ログに、最後の進行状況、 cron ジョブの実行 ID、停止した cron ジョブの名前、そして最後のアシスタントのトランスクリプトスニペットを含めるようにしました。これにより、cron の停止時に何が停止されたかが明確になります。
- ストリーミングチャンネル: プレビューと進捗ラインでコマンドや実行テキストを非表示にするため、
streaming.preview.commandText: "status"およびstreaming.progress.commandText: "status"を追加しました。ただし、リリース版の生コマンドテキストはデフォルトとして維持されます。#77072 を修正しました。
エージェントとクロン処理において、明示的な timeoutSeconds 設定を CLI の非出力モードおよび埋め込み LLM のアイドル監視機能の両方に適用し、リsume デフォルトによる制限を受けないようにしました。これにより、#76289 が修正されます。
- プラグインカタログ:無効化されている、拒否された、または制限付きの許可リストに含まれない外部チャネルプラグインに対して、存在しない
channelConfigsの互換性診断を抑制します。これにより #76095 が修正されます。 - 診断機能:Webhook やメッセージの OTEL 属性と Prometheus の配信ラベルは低カーディナリティに保ち、スパンから生チャット ID やメッセージ ID を除外します。これにより、進捗ドラフトモードやメッセージツールモードで高カーディナリティなメッセージ識別子が漏洩するのを防ぎます。
- Google Meet:エージェントおよび設定 UI に対してレガシーの
mode: "realtime"の提供を停止し、代わりにmode: "agent"の非公開な互換性エイリアスとして維持します。これにより、新規接続では直接音声フォールバックではなく、STT → OpenClaw エージェント → TTS というパスが選択されるようになります。
Google Meet では、生成されたコマンドペア用 SoX オーディオコマンドに chrome.audioBufferBytes を追加し、SoX のデフォルトバッファサイズを 8192 バイトから 4096 バイトに引き下げました。これにより、Chrome の TalkBack(画面読み上げ)の遅延を低減します。
Google Meet では、リアルタイムプロバイダーの設定を「エージェントモード用文字起こし」と「双方向通信(bidi)モード用音声」に分割しました。また、doctor --fix を使用して従来の Gemini Live の bidi 設定を移行しています。これにより、デフォルトの OpenClaw エージェントの TalkBack パスが破損することなく、Gemini Live が直接の bidi フォールバックをサポートできるようになります。
Google Meet では、参加時のイントロ準備中に Meet のマイクがミュート解除されるまで待機するよう変更しました。以前は、Meet が一時的にローカルマイクをミュート状態と報告した場合でも TalkBack を永久にスキップしていましたが、この挙動を修正しています。
Google Meet: プラグマニフェストスキーマとセットアップヒントに voiceCall.postDtmfSpeechDelayMs を公開し、マニフェストベースの設定編集で、ランタイムがサポートする Twilio の遅延キーを受け付けられるようにしました。@vincentkoc さんありがとうございます。
Google Meet では、realtime.transcriptionProvider が設定されていない場合、明示的な非 Google の realtime.provider 値を、トランスクリプションプロバイダーの互換性フォールバックとして保持します。@vincentkoc 氏への感謝。
また、Google Meet では、Twilio のセットアップステータスが「準備完了」とみなされる条件を変更しました。単にエントリが存在しない場合ではなく、有効な voice-call プラグインのエントリが必要となりました。
@vincentkoc 氏に感謝します。
Telegram: 返信送信時に共有されたインタラクティブな返信ボタンをレンダリングし、プラグイン承認メッセージがインラインキーボードとして表示されるようにしました。(#76238) @keshavbotagent 氏に感謝。
Cron/セッション: ディスク上のトランスクリプトが存在しない場合、cron メタデータ行はトランスクリプトが作成されるまで非再開可能とします。これにより、doctor や sessions cleanup --fix-missing コマンドが、トランスクリプト以前の cron 行を壊れたセッションとして報告したり削除したりすることがなくなります。参照 #77011。
OpenAI Codex: 古い /codex bind サイドカーが再起動後に残存し、バインドされたアプリサーバースレッドが欠落している場合、一度だけ再作成します。これにより、選択された認証プロファイルとターンオーバーライドが保持され、インバウンドターンの再試行が行われます。(#76936) @keshavbotagent 氏に感謝。
Agents/cli-runner: 準備時に、~/.claude/projects/ ディレクトリ内のディスク上のトランスクリプトが存在しない場合、保存済みの claude-cli のセッション ID を破棄します。これにより、不完全な update.run から残された古いバインディングが、その後の実行を妨げる事態を防ぎます。
(自動応答 / Telegram 直接送信)は、claude --resume のタイムアウトループ内で発生します。この実行は新規に開始され、新しい sessionId が既存の経路を通じて書き戻されます。
実行後のフロー。(#77030; refs #77011) @openperf 氏に感謝。
- リリース検証:Windows で安全な Node/npm シムを通じてクロス OS の TypeScript ハーネスをインストールし、ネイティブの Windows パッケージチェックがアートのキャプチャ前に終了するのではなく、OpenClaw のスモークスイートへ到達するようにします。@vincentkoc 氏に感謝。
リリース検証:Windows のパッケージ化アップグレードチェックは、2026.5.2 アップデーターがネイティブモジュールの置換クリーンアップフォールバックに到達した後も継続されます。これにより、即時の更新ステータスプローブでクラッシュするのではなく、パッケージメタデータとダウンストリームのサモークテストを通じて、フォールバック経由でインストールされた候補を検証します。@vincentkoc 氏へ感謝。
Doctor/plugins: 同一チャンネルに対して、別の設定済みプラグラムが実効的な所有者となっている場合、チャンネル由来の公式プラグラムのインストールをスキップします。これにより、doctor --repair を実行しても再インストールされなくなります。
feishu において、openclaw-lark が channels.feishu を処理するように修正しました。Issue #76623 の解決と、@fuyizheng3120 氏への感謝です。
Gateway/セッション:セッション一覧表示時に、思考オプションの拡張処理をメモ化して重複計算を回避し、未使用のコストフォールバックチェックをスキップすることで、大規模なマルチエージェントストアにおける行ごとの処理負荷を削減します。Fixes #76931.
- ゲートウェイとセッション: デフォルトの
sessions.listRPC 応答をバインドし、切断メタデータを報告することで、Slack に依存した長期稼働ストアがゲートウェイの行構築を無制限に行うことを防止しました。これにより #77062 が修正されました。 - エージェント/多すぎ
AI算出
通常リリースainew評価高い
AI エージェントの音声通話機能強化や Windows のネットワーク設定変更など、技術的な詳細が含まれているが、これは既存製品の定期的なアップデートであり、世界初の新製品発表や画期的な研究結果ではないため「routine_release」と分類する。検索機会スコアはタイトルに明確なブランド名とバージョン番号が含まれるため 1.0 とした。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 75
- 調べる価値
- 75
- 重複の少なさ
- 100
- 日本での有用性
- 25
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み