OpenClaw v2026.5.4-beta.3を公開
本文の状態
日本語全文を表示中
詳細モードで約69分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
OpenClaw Changelog
OpenClawのバージョンv2026.5.4-beta.3が公開された。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
2026.5.4
Highlights
- Google Meet/音声通話: Twilio のダイアルイン接続を、リアルタイムの Gemini 音声ブリッジ経由で通話可能にしました。これには、ペーストされたオーディオストリーミング、バックプレッシャー対応バッファリング、バージイン時のキュークリア、そしてリアルタイム音声中の TwiML フォールバック排除が含まれます。その結果、Meet の参加者ははるかにレスポンス性の高い OpenClaw 音声エージェントを利用できるようになりました。(#77064)@scoootscooob 氏に感謝。
Changes
Gateway/Windows: libuv のデュアルスタック ::1 動作がローカルホストの HTTP リクエストをブロックするのを防ぐため、デフォルトのループバックゲートウェイリスナーを Windows 上で 127.0.0.1 にのみバインドします。(#69701, #69674 を修正) @SARAMALI15792 氏に感謝。
プラグインの移行処理において、plugins.entries または plugins.allow で公式外部プラグインを参照しているが未インストールの場合、カタログベースのインストールヒントを出力するように変更しました。これにより、アップグレード後の設定ファイルでは、有効なプラグイン設定の削除を促す代わりに、openclaw plugins install コマンドを実行するようオペレーターに案内されます。 (#77483) @hclsys 氏への感謝。
OpenAI/Codex メディア:ランタイムとマニフェストメタデータで Codex の音声文字起こし機能を宣伝し、アクティブな Codex チャットモデルをチャットモデル ID を送信する代わりに OpenAI 標準の文字起こしにルーティングします。ご協力ありがとうございます @vincentkoc。
依存関係:Pi 0.73.0、ACPX アダプター、OpenAI、Anthropic、Slack、TypeScript ネイティブプレビューを含むランタイムとプロバイダーパッケージを更新します。ただし、Windows ARM Node 24 の npm リゾルバ失敗に対する Bedrock ランタイムインストーラーのオーバーライドは、以下の通りピン留めしたまま維持します。
エージェントのパフォーマンス向上:BTW、コンパクション、埋め込み実行モデルの生成、PDF モデルの設定を通じて解決済みのワークスペースを渡すようにしました。これにより、明示的な agent-dir のモデル更新時に、現在のワークスペーススコープ内のプラグインメタデータのスナップショットを再利用できるようになり、冷たいプラグインメタデータの走査に依存しなくて済みます。(#77519, #77532)
プラグインのパフォーマンス改善:スコープ非限定のモデルカタログとマニフェスト契約リーダーが、現在のワークスペース互換性を持つプラグインメタデータのスナップショットを再利用できるようにしました。これにより、ホットなコントロールプレーンパスでの繰り返されるコールドメタデータスキャンを回避しつつ、環境・設定・ワークスペースの互換性チェックは維持されます。
#77519, #77532
設定/プラグインの自動有効化:構成されたチャネルを自動的にホワイトリストに追加する際、組み込みチャンネルエイリアスよりも、そのプラグインのマニフェストIDを優先して使用します。これにより、WeCom や Yuanbao 型のエイリアスがインストール済みプラグインIDとして正しく解決されます。
@Beandon13 に感謝
- Secrets/apply: プライベートキーやトークンなどの機密情報をスクラビングする際、プロバイダー対象のシークレットから
keyRefおよびtokenRefフィールドを保持するようにしました。これにより、平文値は残さずに、正規の SecretRef メタデータがsecrets applyコマンド後も維持されます。@Beandon13 氏への感謝。
- Plugins/active-memory: セッションストアチャンネルエントリから、解決時に再呼び出しサブエージェントのチャンネルで
:を含むものを除外します。これにより、QQ の C2C エージェント ID(例:c2c:10D4F7C2…)やその他のスコープ付き会話 ID が、バンドルされたプラグインのdirName検証に到達して再呼び出し実行がクラッシュするのを防ぎます。
このガードは、明示的な channelId パラメータ(#76704)に対して既に適用されていますが、今回はストアから取得されたチャンネルにもこれを拡張します。
(#77396)@hclsys さん、ありがとうございます。
- シークレット/外部チャネル契約:
secret-contract-apiサイドカーの解決時に、npm で公開された外部化チャネルプラグイン(例: (原文の技術表記:/dist/)
@openclaw/discord は 2026 年 5 月 2 日以降、コンパイルされたアーティファクトが dist/ ディレクトリに配置されていますが、これらはランタイムスナップショットに対してチャンネルの SecretRef コントラクトを実際に提供しています。
この修正がないと、2026 年 5 月 3 日のゲートウェイ起動時に env ベースの channels.discord.token SecretRefs が解決されず、#76449 で汎用的な外部契約ローダーが導入されていたにもかかわらず、チャンネルは「未設定」のままになっていました。@mogglemoss さん、ありがとうございます。 (原文の技術表記: not configured)
モデル認証機能の強化:openclaw models auth list [--provider ] [--json] コマンドを追加し、ユーザーがシークレットを漏らさず、従来の「引数が多すぎる」エラーに遭遇することなく、保存されたエージェントごとの認証プロファイルを確認できるようにしました。@vincentkoc 氏への感謝。
コントロール UI のヘッダー改善:ダッシュボードのパンくずリストに現在のセッションキーを含めずにアクティブなエージェント名を表示し、チャット以外のビューでもトップバーを圧迫することなく方向性を維持できるようにしました。
コントロール UI のクロン機能更新:「新規ジョブ」サイドバーを折りたたみ可能にし、フォームはワンクリックでアクセスできる状態を保ちつつ、ジョブリストの表示領域を確保できるようにしました。@BunsDev 氏への感謝。
ゲートウェイの起動時、モデルカタログのテストヘルパー、セッションルックアップコード、QR ペアリング用ヘルパー、TypeBox メモリツールスキーマ構築をホットスタートインポートパスから除外することで、デフォルトゲートウェイベンチマークプラグインの読み込み時間とメモリ負荷を削減しました。
・コントロール UI/パフォーマンス:サポートされている場合、デバッグイベントログにブラウザの長時間アニメーションフレームやタスクエントリを記録し、ダッシュボードの描画遅延の原因を UI 側から特定しやすくしました。
・Slack/ストリーミング:構造化された進行状況データに基づく Block Kit の進行状況ドラフトに対して、streaming.progress.render: "rich" を追加しました。
・Slack/ストリーミング:Block Kit の制限により長い進行状況ドラフトが切り詰められる場合でも、最新の豊富な進行状況ラインを保持します。@vincentkoc さんありがとうございます。
・チャンネル/ストリーミング:デフォルトで進行状況ドラフトのツールラインに上限を設けました。これにより、編集された進行状況ボックスが長い折り返し行による不自然な再配置(ジャンプ)を防ぎます。
・エージェント/詳細表示モード:/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 成果物 alongside にデスクトップのスクリーンショットをキャプチャするために、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)Josh Avant 氏への感謝。
Providers/OpenRouter: 検証済みの OpenRouter ルートにおいて、OpenRouter の X-OpenRouter-Cache、X-OpenRouter-Cache-TTL、およびキャッシュクリアヘッダーを送信するオプトイン形式のレスポンスキャッシュパラメータを追加しました。@vincentkoc 氏に感謝します。
Providers/OpenRouter: 検証済みの OpenRouter ルート上で、OpenClaw がコーディング、プログラミング、ライティング、チャット、そしてパーソナルエージェントの使用を宣伝できるよう、アプリケーション属性のカテゴリを拡張しました。
Vincent Koc 氏に感謝します。
プラグインの更新機能で、パッケージアップグレード時に pnpm や npm のプレフィックスインストールをきれいに切り替えられるように改善しました。また、レガシーなプラグインのランタイムチャンクが引き続き動作するよう対応し、ベータチャンネルでは、プラグインのベータ版リリースが存在しない場合やインストール検証に失敗した場合、デフォルトラインの npm プラグインをデフォルト/最新バージョンへ自動的にフォールバックします。@vincentkoc 氏と @joshavant 氏への感謝。
チャネル機能(WhatsApp)では、DM ルーティングではなく、チャネルセッションメタデータを用いた明示的な WhatsApp チャネル/ニュースレター @newsletter のアウトバウンドメッセージターゲットをサポートしました。これにより #13417 が修正され、#13424 から継承された狭義のアウトバウンドターゲット概念が実装されました。@vincentkoc 氏と @agentz-manfred 氏への感謝。
実行承認機能では、今後の承認画面やコマンドレビュー画面向けに、tree-sitter を基盤としたシェルコマンド解説機能を追加しました(#75004)。@jesse-merhi 氏への感謝。
Agents/sandbox: 関連するセッションロックの競合を軽減するため、ランタイムごとのシャードファイルとしてサンドボックスコンテナとブラウザレジストリのエントリを保存します。これは 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
プラグインのインストールでは、ベータ版更新チャンネルを尊重し、オンボーディングやドクター管理によるインストール時に @beta を付与して浮動する npm と ClawHub の仕様を要求しつつ、カタログデフォルトには永続的なインストール記録を残すようにしました。(@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 や subagent の実行に必要なツール)を要求するジョブやサブエージェントの実行が適切に制御されます。
update_plan、browser、x_search、チャンネルログインツール、または group:plugins が、欠落したツールや無関係なブートストラップから始まらなくなりました。
work. (#77519, #77532)
- Codex プラグイン:実験的なアップストリームの app-server プロトコルをミラーリングし、ドリフトチェック前に生成された TypeScript のフォーマットを整えることで、最新の Codex と OpenClaw の
experimentalApiブリッジとの互換性を保ちつつ、フォーマッターのゲートも維持します。 - Telegram/メディア:Telegram の
photo形状ではなく、保存済みの MIME メタデータからキャプションなしの着信メディアプレースホルダーを生成するように変更しました。これにより、画像以外や混在する添付ファイルが `` としてモデルに到達することがなくなりました。#69793 を修正。@aspalagin 氏への感謝。 - Telegram/ストリーミング:長いテキストの最終結果において、アクティブなプレビューを最初のチャンクとして再利用するようにしました。これにより、複数回のチャンクによる返信で、一時的に現れては消える余分なバブルが発生することがなくなりました。@vincentkoc 氏への感謝。
Agents/cache: 通常のチャットシステムプロンプトから各ターンごとのランタイムコンテキストを分離しつつ、非表示の現在のターンのコンテキストは引き続き提供し、チャットの継続時におけるプロンプトキャッシュの再利用を復元しました。これにより #77431 を修正します。@Udjin79 氏に感謝。
Gateway/startup: agent model の起動ログ行に、解決済みの思考モードと高速モードのデフォルト値を含めるようにしました。未設定の起動時の思考は medium にデフォルトされますが、推論の可視性は混在させません。
Gateway/update: パッケージ入れ替え後に VPS ゲートウェイが不正にポート競合として不健康と報告されるのを防ぐため、インストール済み設定からローカルゲートウェイプローブ認証を解決する処理を、更新後の再起動検証時に実行するようにしました。@vincentkoc 氏に感謝。
エージェント・ツール:自動コンパクション再試行後に有効化され、コンパクションループが永続化された場合に実行を中止する pi-embedded-runner 内のポストコンパクションループガードを追加しました。 (原文の技術表記: compaction_loop_persisted)
エージェントは、同じ (ツール、引数、結果) のトリプルを windowSize 回出力します。 (原文の技術表記: (tool, args, result))
そのウィンドウ内ではデフォルト値は 3 です。既存の tools.loopDetection.enabled で無効化し、tools.loopDetection.postCompactionGuard.windowSize で調整できます。
コンテキストの溢れと圧縮がツール呼び出しループを解除できないという不具合に対処します。#77474 を参照、#21597 の続きです。@efpiva 氏に感謝。
- ゲートウェイ/ウォッチ:
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 が 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 による修復時に openclaw/plugin-sdk/* の解決が正常に行えるようになります。(#77544) @ProspectOre 氏に感謝します。
Discord の返信処理で、最終的な返信送信に失敗した場合を「自動表示済み」としてカウントするのではなく、「ターン失敗」として扱うように変更しました。これにより、最終メッセージがドロップされた場合でも、サーバーやチャンネルのステータスが誤って「完了」扱いされる不具合を修正しました(Fixes #77520)。ご協力いただいた @Patrick-Erichsen 氏に感謝します。
Discord の REST およびゲートウェイ WebSocket の起動パスにおいて、IPv4 を優先するように変更しました。これにより、IPv4 のみのネットワーク環境でも、Gateway READY ステータスや着信メッセージの配信前に接続が停止する不具合を解消しました(Fixes #77398; refs #77526)。ご協力いただいた @Beandon13 氏に感謝します。
チャンネルおよびプラグイン機能において、パッケージ状態の確認、環境設定の有無、読み取り専用コマンドのデフォルト値といったプロブを、マニフェスト内のプラグイン ID ではなくチャンネル ID でキー付けするように変更しました。これにより、パッケージ ID とチャンネルエイリアスが異なるチャンネルプラグインでも、セットアップ情報やネイティブコマットの検出が正しく維持されます。ご協力いただいた @vincentkoc 氏に感謝します。
Docker 環境では、ビルド時に明示的にそのプラグインを有効化しない限り、パッケージから除外されたプラグインのディストリビューションディレクトリをランタイムイメージから削除するように変更しました。これにより、Feishu などの公式外部プラグインは「インストール時」にのみ利用可能となり、未コンパイルのランタイム出力を含む不完全なメタデータが配送されるのを防ぎます(Fixes #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/アップデート: パッケージ更新プラグインの同期に失敗したプラグインは無効化してスキップします。これにより、壊れた 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」を引き起こす問題が解消されました。Fixes #77485. Thanks @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 の起動処理で、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
Agents/subagents: 同じセッション内で完了出力が変更された場合、遅延した最終配送ペイロードを再読み込みし、再試行される親通知で古くなった進行状況テキストではなく、最終的な子サマリーを使用するようにしました。@vincentkoc さんありがとうございます。
Agents/media: 非同期の音楽および動画完了結果をリクエスト元エージェントを経由して戻すように経路を変更し、自動返信機能を維持しつつ、メッセージツールのみのグループやチャンネルへの配信にはメッセージツールのみが必要となるように調整しました。
active-memory: メモリプラグイン(memory-core または memory-lancedb)が読み込まれていない場合に、混乱を招く許可リストエラーをログ出力するのではなく、メモリサブエージェントを適切にスキップするようにしました。これにより、メモリバックエンドを持たない active-memory がゲートウェイログで誤解を招く「呼び出し可能なツールが残っていません」という警告を表示しなくなりました。#77506 を修正。@hclsys さんありがとうございます。
Memory/wiki: 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: ソケットモードの起動再試行ログにおいて、"undefined" の代わりに "unknown error" を報告し、再試行理由を明示的にラベル付けしました。
- Telegram: 特定のフォーラムトピックで明示的な
requireMention設定を適用し、永続化された/activateや/deactivateの状態を上書きできるようにしました。これにより、各トピックごとのメンション制限が確実に機能するようになります。Fixes #49864.
Panniantong 氏、ありがとうございます。
- Cron: 必要なツールが利用できない場合に、
cron show、ステータス、実行履歴で隔離された実行の診断結果を失敗として表示するように改善しました。これにより、ブロックされた cron の実行では、誤解を招く成功(緑色の)結果ではなく、実際のツールポリシー違反の内容が報告されるようになります。Fixes #75763. Thanks @RyanSandoval.
TUI/escape 処理の改善: chat.send の完了後、実行中の runId を追跡することで、最初のゲートウェイイベント到着までの間に Esc キーを押した際に、実行が中止されるようになりました。これにより、「アクティブな実行がありません」というメッセージが繰り返し表示される不具合を解消しました(Fixes #1296)。ご協力いただいた @Lukavyi さんと @romneyda さんに感謝します。
TUI/レンダリングの改善: 長いトークンのサニタイザーが、インラインコードスパン、囲みコードブロック、テーブルの境界線、ハイフンやドットで連結された識別子内部に文字通りのスペースを挿入するのを防止しました。これにより、コピーしたパッケージ名、エンティティ ID、シェルの行継続記号などがバイト単位で完全に保持されるようになりつつも、狭いターミナル環境でも不明瞭な長い文章トークンを適切に分割する保護機能は維持されています(Fixes #48432, #39505)。ご協力いただいた @DocOellerson さん、@xeusoc さん、@CCcassiusdjs さん、@akramcodez さん、@brokemac79 さん、@romneyda さんに感謝します。 (原文の技術表記: no active run)
プラグイン機能:生成されたプラグンスキルディレクトリ(~/.openclaw/plugin-skills/)を通じて、プラグインが宣言したスキルを公開しつつ、ダイレクトプロンプト読み込みの機能を維持します。これにより、エージェントはファイルベースの検出パスでプラグインスキルの SKILL.md ファイルを見つけられ、無効なプラグインリンクも自動的にクリーンアップされます。#77296 を修正しました。(PR #77328)@zhangguiping-xydt 氏に感謝します。
ゲートウェイ/ステータス:Linux で管理されるゲートウェイサービスを systemd user ラベルとして表示し、ステータス出力でユーザーサービススコープを明確に示すようにしました。システムレベルのユニットであるかのような誤解を防ぎます。@vincentkoc 氏に感謝します。
プラグイン/インストール:ソース切り替えによる再インストール時に、以前の管理済みプラグインディレクトリを削除します。これにより、新しいインストールが完了した後も、古い ClawHub や npm のコピーが残って重複するプラグイン ID が検出される問題を解消しました。@vincentkoc 氏に感謝します。
プラグインのインストール機能において、公式プラグインの再インストール、回復、修復、ソースのみでインストールされたランタイムシャドウの処理を改善しました。これにより、openclaw plugins install npm:@openclaw/discord --force コマンドが古い設定検証で停止するのではなく、不良パッケージを置き換えることが可能になりました(@vincentkoc 氏への感謝)。
CLI の更新機能では、pnpm が検出した npm レイアウトのグローバルパッケージ更新を、クリーンな npm プレフィックスの置換を通じて段階的に実行します。プラグインのインストールランタイムインポートは安定したエイリアスで管理し、レガシーの install-runtime エイリアスを 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 の更新機能:OpenClaw の安定版修正バージョン(例:2026.5.3-1)を、ベースとなる安定版リリースよりも新しいバージョンとして扱うように変更しました。これにより、パッケージの更新時に不要なダウングレード確認が不再表示されます。
プラグインのインストール機能:信頼できる公式 OpenClaw npm インストールに対して、危険パターンスキャナーの警告を一時的に抑制するようにしました。これにより、@openclaw/discord のインストール時にも、公式パッケージに対する認証情報窃取の警告が表示されなくなります。
プラグイン/コマンド:信頼できるカタログからの npm インストールを、所有者制限された /plugins install コマンド経由で行う場合、危険なパターンスキャナーの警告を一時的に抑制します。これにより、チャット駆動型のインストールも CLI のインストールと同じ信頼パスに従うようになります。ご協力ありがとうございます @vincentkoc。
プラグイン/リリース:公開された npm ランタイム検証器が、空の openclaw.runtimeExtensions エントリを「存在しない」として扱うのではなく、拒否するように変更しました。
推論された出力を経由して処理されます。@vincentkoc 氏に感謝します。
- プラグイン/セキュリティ: プラグインインストールスキャン時に、ソースルールコンテキストのマッチングでインラインコメントとブロックコメントを無視するようにしました。これにより、環境デフォルト値付近にあるコメントのみを含む
fetch/post参照が、クリーンなプラグインの導入を妨げることがなくなります。@vincentkoc 氏に感謝します。
Doctor/plugins: 統合プラグインが明示的に設定されていなくても、管理されたインストール記録から古くなったレコードを削除します。これにより、ドクターのクリーンアップ処理でインストールメタデータが残らないようにしました。@vincentkoc さんありがとうございます。
Web fetch: 選択したフェッチプロバイダーごとにフォールバックキャッシュエントリのスコープを設定し、設定のリロード時に他のプロバイダーがキャッシュしたフォールバックペイロードを再利用できないようにしました。@vincentkoc さんありがとうございます。
Web search: ツールの実行中に遅くバインドされた 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 さんありがとうございます。
- ゲートウェイ/起動ログ:HTTP サーバーがバインドされた後にのみ、キャンバスホストのマウント情報をログ出力するように変更しました。これにより、リクエストを受け付ける前に既にマウント済みと報告されていた不具合を解消します。
- コントロール UI/i18n:セッションのアクティブフィルターのツールチップに、設定された分単位の値をすべてのロケールで正しく表示するよう実装し、i18n チェックがプレースホルダーのズレを検出できるようにしました。@BunsDev 氏への感謝。
- Web フェッチ:
web_fetchの設定とプロバイダのフォールバックメタデータを、アクティブなランタイムスナップショットから遅延バインドするように変更しました。これによりweb_searchと整合性を保ち、長期稼働するツールが古いフェッチプロバイダーの設定を使用しないようにします。@vincentkoc 氏への感謝。 - Discord:非同期ボットプローブで例外が発生した場合だけでなく、劣化した結果を返した際にも、古くなった起動プローブのボット/アプリケーションステータスをクリアするように改善しました。@vincentkoc 氏への感謝。
- Web search: 明示的なスコープを持つ
web_searchプロバイダーのランタイム読み込みをマニフェスト所有権を通じて行うように変更しました。これにより、DuckDuckGo や Gemini などを選択しても、関連しないバンドル済みプロバイダーがインポートされたり、オプション依存関係の失敗がログに出力されたりすることがなくなりました。@vincentkoc 氏への感謝。 - Plugins/discovery: すでにインストール済みの
origin: "global"プラグインパッケージに対するソースコードベースの TypeScript ランタイムチェックを、設定ブロックエラーから警告レベルへ格下げしました。これにより、ランタイムは jiti を介して TypeScript ソースコードへとフォールスルーできるようになり、単一の壊れたインストール済みパッケージが原因で他に関連するプラグインのplugins installがブロックされることがなくなりました。ただし、新たにインストールされたソースコードベースのパッケージに対するインストール時の拒否処理は変更されていません。@romneyda 氏への感謝。
- Providers/OpenAI Codex: 手動リダイレクトの貼り付けプロンプトを表示する前に OAuth の進行状況スピナーを停止し、コールバックタイムアウト時に「
Browser callback did not finish」というエラーがターミナルに大量に表示されるのを防止しました。 - Providers/OpenAI Codex: バインディングの変更、権限の調整、モデルのオーバーライド、アクティブなターン、フィードバックのアップロードなどを行う前に、不正な
/codexコントロールコマンドや診断確認に対して安全側に失敗する(fail closed)処理を実装しました。@vincentkoc さんへの感謝。 - Providers/OpenAI Codex: チャットに投稿する前に、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 氏に感謝。
- Media/images: 任意の Sharp 変換が利用できない場合、未変換の元の画像を送信するのではなく、HEIC/HEIF アタッチメントを強制的に閉じた状態(fail-closed)で保持します。@vincentkoc 氏への感謝。
- Google Meet: 通話者の現在のエージェントトランスクリプトをフォークし、エージェントモードの会議コンサルタントセッションを作成します。これにより、Meet の返信は、会議に参加したツール呼び出しからのコンテキストを引き継ぐようになります。
-iOS/mobile pairing: QR コードや設定コードの発行前に、ループバックではない ws:// 設定 URL を拒否し、iOS Gateway 設定画面で QR コードのスキャンまたは完全な設定コードメッセージの貼り付けを可能にします。@BunsDev 氏への感謝。
-Control UI: ゲートウェイアクセスの入力欄とロケールピッカーを、狭い幅やタブレット幅でもカード内に収まるように維持します。
・エージェント/トラジェクトリ:ランタイムでのトラジェクトリ取得を制限し、キューされたサイドカー書き込みを優先することで、過大なトレースが記録され続けることでゲートウェイのクリーンアップ処理を独占する問題を修正しました。#77124 を解決。@loyur 氏に感謝。
・Telegram/ストリーミング:共有圧縮前にツール進捗ドラフトプレビューのバッククォートを正規化することで、長いバッククォートを含む進捗テキストも、安全なコード形式のプレビュー内で正しく表示され、省略記号に折りたたまれるのを防ぎます。
・UI/チャット:Firefox のコンソールノイズを除去するため、チャットキューのテキストルールからサポートされていない line-clamp 宣言を削除しました。可視的な切り捨て動作には変更を加えていません。@ZanderH-code 氏に感謝。
・コントロール UI:セッション切替の通知やアクティブなセッションセレクターの点滅、インラインでの保存/適用/更新進捗表示、フィルタリングされた空リストと実際のアセットストアが空である状態の視覚的区別を追加し、繰り返し実行されるアクションに対する明確なフィードバックを提供しました。@BunsDev 氏に感謝。
・エージェント/Pi:合成された中間ターン溢れ継続プロンプトの永続化を抑制することで、転写再試行回復時に「転写から続ける」というプロンプトが新しいユーザー操作として記録されるのを防ぎます。@vincentkoc 氏に感謝。
・エージェント/ツール:メッセージ送信前に、リッチプレゼンテーションタイトル、ブロック、ボタン、選択ラベルから推論テキストを除去し、構造化チャネルペイロードを通じて隠された計画情報が漏洩しないようにしました。@vincentkoc 氏に感謝。
Telegram では、安定版の配布名に依存する遅延プロバイダーランタイムチャンクを維持し、最終配信後に /reasoning stream プレビューを削除します。これにより、パッケージ更新やライブ推論ドラフトが Telegram のやり取りを破損したりノイズの原因となったりすることを防ぎます。@BunsDev 氏に感謝します。
- Discord: スタートアップボットやアプリケーションのプロブを待たずにゲートウェイモニターを開始し、
/users/@meREST エンドポイントの応答が遅い WSL2 ホストでも、ステータス情報の取得が非同期で完了するまでチャンネルをオンライン状態に保てるようにしました。これにより #77103 が修正されました。@Suited78 氏への感謝です。
実行承認機能の改善:env -S による分割文字列コマンドキャリアのリスクを検出。-S または -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 のライブ再実行で Slack を実行せずに Matrix や Telegram を選択できるようにし、既知の Slack 認証プール障害が、Slack 以外のライブ証明をブロックしないようにしました。@vincentkoc さんありがとうございます。
・プラグイン/ローダー:バンドルされたプラグインパッケージ test-api.js のエイリアスをプライベート QA モードの下に保持し、通常のプラグイン読み込み時にソース変換がテスト専用の公開インターフェースを露出しないようにしました。@vincentkoc さんありがとうございます。
- Gateway/起動処理: 準備完了後の遅延メンテナンスタイマーが失敗した場合でも、cron を開始し、ポスト可能状態のメモリトレースを記録します。これにより、致命的ではないタイマー設定の問題によってスケジュールされたジョブが静かに待機状態になるのを防ぎます。@vincentkoc 氏に感謝。
- Exec 承認処理: BSD/macOS の
env -Pキャリアコマンドを、承認コマンドと厳格なインライン評価チェックの前に展開します。これにより、/approveのシェル実行やインラインインタプリタペイロードが、この env フォームの背後で依然としてブロックされたままになります。 - エージェント/セッション状態: 実行中に永続化されたセッションストアエントリが存在する前でも、ライブ実行セッションにセマンティックな
session_status({ sessionKey: "current" })を維持し、サンドボックスポリシーキーにフォールバックしないようにします。@vincentkoc 氏に感謝。
QA/Slack: ソースモードでの QA 実行時に、バンドルされた公式プラグインの公開サーフェスパッケージエイリアスを解決しました。これにより、ワークスペースへのシンボリックリンクがなくても @openclaw/slack/api.js を読み込めるようになり、リリース時の Slack ライブ検証が可能になりました。@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)を正式なリリースとして扱います。
比較対象となるため、latest ブランチではプレリリースのオプトインなしで公式プラグインを先に更新できます。ご協力ありがとうございます @vincentkoc。
- コントロール UI:外観の調整機能における「閲覧」アクションとドキュメントを、削除された
/themesページではなく、ライブな調整エディターのルートへ向けるように変更しました。これにより #77048 の不具合が修正されます。
コントロールUI:Dream Diary の文章を安全化された Markdown パイプラインを通じてレンダリングするように変更しました。これにより、日記内の太字・斜体・見出しなどの Markdown 記号が、そのままのソーステキストとして表示される不具合が解消されました(Issue #62413 対応)。
Control UI: 出力がテキストブロック配列として到着するツールの結果をレンダリングし、拡張されたツール出力にはスクロール可能なブロックを追加することで、WebChat 上で読み込みや実行の出力が見えるようにしました。これにより #77054 を修正します。
MCP: conversations_list および messages_read の主要なテキストコンテンツに、シリアライズされた会話/メッセージペイロードを含める一方、以下の点を維持します
能力のあるクライアント向けの構造化コンテンツ。#77024 を修正。
- メディア: 書き込み後のメディアファイルシステム同期(fsync)ステップで発生する
EPERMエラーを、最善の努力として扱い、正常な書き込み後に Windows ファイルシステムがfsyncを拒否しても WebChat やチャンネルへのアップロードが完了できるようにしました。#76844 を修正。 (原文の技術表記:structuredContent)
- メディア/Telegram: 画像最適化オプションが利用できない場合、制限内にあるオリジナル画像を送信するようにしました。これにより、
sharpが欠落していても Telegram のメディア返信やメッセージツールでの画像送信が失敗しなくなります。(#77081 を修正。#77117) @pfrederiksen 氏に感謝。 - 診断機能: ストップしたセッションと固着したセッションの回復ログに、最後の進行状況、cron ジョブ/実行 ID、停止した cron ジョブ名、および最後のアシスタントトランスクリプトのスニペットを含めるようにしました。これにより、cron の停止時に何が停止されたかが明確になります。
- ストリーミングチャンネル:
streaming.preview.commandText: "status"およびstreaming.progress.commandText: "status"を追加し、プレビューの進行ラインではコマンドや実行テキストを非表示にしました。ただし、リリース時の生コマンドテキストはデフォルトとして維持されます。(#77072 を修正。)
Agents/cron: 明示的な cron の 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プラグインのエントリが必要となるように変更しました。
Vincent Koc 氏に感謝します。
- Telegram: 返信送信時に共有されたインタラクティブな返信ボタンをレンダリングし、プラグイン承認メッセージがインラインキーボードとして表示されるようにしました。(#76238) @keshavbotagent 氏に感謝。
- Cron/sessions: ディスク上のトランスクリプトが存在しない場合の cron メタデータ行は、トランスクリプトが作成されるまで再開不可のままとし、doctor や
sessions cleanup --fix-missingコマンドがトランスクリプト前の cron 行を壊れたセッションとして報告・削除するのを防ぎます。Refs #77011。 - OpenAI Codex: 再起動後に古い
/codex bindサイドカーが残存し、バインドされたアプリサーバーのスレッドが欠落している場合、選択済みの認証プロファイルとターンオーバーライドを保持したままスレッドを再作成し、インバウンドターンの再試行を行います。(#76936) @keshavbotagent 氏に感謝。
Agents/cli-runner: 準備時に、~/.claude/projects/ ディレクトリ内のディスク上のトランスクリプトが存在しない場合、保存済みの claude-cli のセッション ID を破棄します。これにより、不完全な update.run から残された古いバインディングが、その後の実行を妨げることを防ぎます。
(自動応答 / Telegram 直接通信)の claude --resume タイムアウトループ内では、実行は新規に開始され、新しい sessionId が既存の経路を通じて書き戻されます。
実行後のフロー。(#77030; #77011 を参照) @openperf 氏に感謝。
- リリース検証:Windows で安全な Node/npm シムを通じてクロス OS の TypeScript ハーネスをインストールし、ネイティブの Windows パッケージチェックがアーティファクトキャプチャ前に終了するのではなく、OpenClaw のスモークスイートへ到達するようにします。@vincentkoc 氏に感謝。
リリース検証:Windows パッケージ化アップグレードのチェックは、2026.5.2 アップデーターがネイティブモジュールのスワップクリーンアップフォールバックに到達した後も継続します。これにより、即座の更新ステータスプローブでクラッシュするのではなく、パッケージメタデータとダウンストリームのサモークテストを通じて、フォールバック経由でインストールされた候補を検証できます。
@vincentkoc 氏への感謝
Doctor/plugins: 同じチャンネルに対して、別の設定済みプラグラムが実効的な所有者となっている場合、そのチャンネル由来の公式プラグラムのインストールをスキップし、doctor --repair で再インストールされないようにする。
feishu の処理を openclaw-lark が担当し、channels.feishu を管理します。これで #76623 が修正されました。@fuyizheng3120 さん、ありがとうございます。
Gateway/セッション:セッション一覧表示時に、思考オプションの拡張処理をメモ化して重複計算を防ぎ、未使用のコストフォールバックチェックをスキップすることで、大規模なマルチエージェントストアにおける行ごとの処理負荷を削減します。Fixes #76931.
- ゲートウェイとセッション:デフォルトの
sessions.listRPC 応答をバインドし、切り捨てメタデータを報告することで、Slack に依存した長寿命ストアがゲートウェイの行構築を無制限に引き起こすのを防止しました。#77062 を修正。 - エージェント/多すぎ
AI算出
通常リリースainew評価標準
AI エージェントの機能強化(Gemini 音声ブリッジなど)が記載されているが、これは既存製品の継続的なバージョン更新であり、同クラスター内で直近に beta.1 が発表されているため新規性は低い。タイトルと本文に明確なバージョン番号が含まれるため検索意図は極めて高い。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 25
- 調べる価値
- 25
- 重複の少なさ
- 73
- 日本での有用性
- 25
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み