OpenClaw v2026.5.12-beta.5、Copilot の画像理解機能を修正
本文の状態
日本語全文を表示中
詳細モードで約65分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
OpenClaw Changelog
OpenClaw はバージョン v2026.5.12-beta.5 を公開し、GitHub Copilot における Gemini 画像記述の誤りを修正する OAuth トークン交換機能や、ゲートウェイプロトコルの仕様変更を実施した。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
修正内容
- ゲートウェイ: トークセッションのスコープをリゾルバーに渡すように改善しました [AI]。(#81379) @pgondhi987 氏への感謝。
- ゲートウェイプロトコル: v4 クライアントのみを要求し、
deltaTextやreplaceフレームを明示的にストリーミングすることで、SDK クライアントがローカルでの差分計算を行わずにアシスタントの更新を受け取れるようにしました。(#80725) @samzong 氏への感謝。 - GitHub Copilot: 画像理解リクエスト時に OAuth トークンを Copilot API トークンと交換し、Gemini の画像ペイロードを Chat Completions を経由してルーティングすることで、Copilot における Gemini の画像記述機能を修正しました。(#80393, #80442) @afunnyhy 氏への感謝。
- ゲートウェイ: ペアリング承認前の Node コマンド、機能、権限を非表示にし、ペアリングが変更された際にライブで承認された範囲を更新するようにしました。(#80741) @samzong 氏への感謝。
- プラグイン/Feishu/WhatsApp/Line: 受信メディアのサイズ制限をダウンロードストリームの読み込み時に適用し、過大な添付ファイルのフルバッファリングを防ぎました。(#81044, #81050) @samzong 氏への感謝。
- 設定: セマンティック設定の変更を中央集権的にシリアライズして再試行を行うことで、並列コマンドが安全な変更をリベースできるようにし、競合や手動の実装によるコマンドローカルの再試行ループを回避しました。(#76601)
- セットアップコード: デバイスパイアリングには承認が必要になりました [AI]。(#81292) @pgondhi987 氏への感謝。
- プラグイン/インストール: 後続のプラグインインストールや更新時に共有依存関係ツリーが再計算される際にも、管理下の npm ルートにサードパーティのピア依存関係を保持するようにしました。@shakkernerd 氏への感謝。
- プラグイン/アンインストール: 所有する npm プラグインが削除された後、そのプラグインの管理下にあるサードパーティのピア依存関係を整理(プルーニング)します。ただし、ピア依存関係の整理に失敗しても、プラグイン自体のクリーンアップはブロックされません。
- Docker: 古いホストの
.envファイルに記述された OpenClaw のパスが Linux コンテナ内に漏れ出さないよう、セットアップ時のコンテナパスを固定しました。Fixes #80381. (#81105) @brokemac79 氏に感謝。 - Channels/WeCom: 公式のオンボーディングインストールを
@wecom/wecom-openclaw-plugin@2026.5.7に更新し、パッケージディレクトリが存在しても失敗するのではなく、既存の管理された npm インストールを更新するようにしました。Fixes #79884. (#80390) @brokemac79 氏に感謝。 - Anthropic: セッション回転後に有界な OpenClaw のトランスクリプト履歴から Claude CLI の新規セッション再試行をリシードし、会話の記憶喪失を防ぎました。Fixes #80905. (#80934) @bitloi 氏に感謝。
- [AI] ブラウザデバイスのペアリングを明示的に必須としました。(#81289) @pgondhi987 氏に感謝。
- [AI] プロキシスコープへのアクセス前に、コントロール UI を介したペアリングを必須としました。(#81288) @pgondhi987 氏に感謝。
インストーラー: git からのインストール時に --version フラグを正しく扱い、チェックイン済みのロックファイルからパッケージをインストールすることで、タグインストール時に pnpm の最小リリース年齢ゲートが依存関係の最新ピンによって誤ってブロックされるのを防止しました。
エージェント: ゲートウェイ RPC ループバックを開くのではなく、プロセス内エージェントディスパッチャーを通じて、同じプロセス内のサブエージェント完了ハンドオフを実現しました。
信頼できるプロキシのソース検証を強化しました [AI]。 (#81290) @pgondhi987 氏に感謝します。
エージェント: プラットフォームへの提出前に、配列ツールのパラメータに対して柔軟なアイテムスキーマを追加し、items フィールドを省略しているプラグインツールが OpenAI 互換のスキーマ検証で拒否されるのを防止しました。 #81175 を修正。 (#81217) @JARVIS-Glasses 氏に感謝します。
エージェント:LLM のアイドル待機ウォッチドッグタイムアウトを、モデルストリームが停止してエージェントのターンが止まる事態を防ぐため、プロファイルローテーションと設定済みのモデルフォールバックを通じてエスカレートします。#76877 を修正しました。(#80449)@jimdawdy-hub 氏に感謝。
Discord ボイス:OpenAI Realtime の起動認証失敗を致命的なエラーとして扱い、重複するリアルタイムエラーログの出力を抑止します。また、認証情報が修復されるまで、同じ破損したボイスメッセージチャンネルへの自動参加(autoJoin)のリトライを停止します。
ACPX:Claude ACP に対してサポートされていないタイムアウト設定オプションの転送を停止し、OpenClaw 独自のターンタイムアウトは維持します。(#80812)@sxxtony 氏に感謝。
セッショントランスクリプト:集中化された JSONL 追加パスにおいて、機密メッセージ内容をマスキング(赤文字化)します。これにより、CLI ターン、ゲートウェイによるトランスクリプト注入、トランスクリプトミラー、およびガード付きツール結果が、同じ設定済みマスキング動作を使用するようになります。#73565 を修正し、#73563 を参照。(#79645)@Ziy1-Tan 氏に感謝。
チャンネル/iMessage:ユーザーが URL を貼り付けた際、Apple のリンクプレビュープラグロードペイロード添付ファイルを無視します。URL テキストは保持しつつ、架空のメディアコンテキストを回避します。(#79374)@homer-byte 氏に感謝。
Telegram:getUpdates の生検(liveness)のみからポーリング停止を検出するため、外部 API 呼び出しが死んだインバウンドポーリングを隠蔽することがなくなります。トランスポート再構築後はポーリングサイクルの開始をログ出力します。#78473 を修正しました。
fix:インストール時にプラグインランタイムエントリをスキャン [AI]。(#80998)@pgondhi987 氏に感謝。
fix(plugins):インストール済み依存関係のランタイムコードをスキャン [AI]。(#81066)@pgondhi987 氏に感謝。
委任セッションにおけるツールの制限を引き継ぐ [AI]。(#80979)@pgondhi987 氏に感謝。
Telegram: 現在のボットトークンに関連付けられないレガシーのロングポーリング更新オフセットを破棄し、トークンのローテーションによってボットが新しいメッセージを黙ってスキップする問題を解消しました。(#80671) @sxxtony 氏に感謝。
browser: アクティブな操作(act)に対するナビゲーションチェックを強制します [AI]。(#81070) @pgondhi987 氏に感謝。
ノードの実行イベントの真正性を検証します [AI]。(#81071) @pgondhi987 氏に感謝。
フック CLI ツールの権限を制限します [AI]。(#81065) @pgondhi987 氏に感謝。
ノードデバイストークンの管理には管理者スコープを必須とします [AI]。(#81067) @pgondhi987 氏に感謝。
チャット送信者の許可リストマッチングを制限します [AI]。(#80898) @pgondhi987 氏に感謝。
更新:アップデートハンドオフ後の再起動ヘルスプローブ中に、誤って「新しい設定」と表示される警告を抑止しますが、将来のバージョン変更に対するガードは維持されます。(#78652)
・セッション:ツール出力の赤acted 処理後に、診断用の機密情報が残らないよう、永続化されたツールの結果詳細メタデータをトランスクリプトに記録する前に削除します。(#80444) @nimbleenigma 氏への感謝。
・Codex ランタイム:公式にインストールされた @openclaw/codex パッケージが、プライベートなタスクランタイム SDK ヘルパーを使用できるようにし、移行後の OpenAI/Codex ベータ実行時に発生していた MODULE_NOT_FOUND エラーを修正しました。
Codex の移行対応:Enter キーで強調表示されたチェックボックス行を有効化し、計画済み項目が事前に選択されている場合でも「後でスキップ」や一括選択行が機能するように改善しました。
Codex ハーネス:環境変数ではなくエージェントの認証プロファイルストアに OpenAI 認証情報が格納されている場合でも、image_generate などの認証プロファイルに紐づくメディアツールを利用可能に維持します。 (原文の技術表記: Skip for now)
pnpm 11 環境下で、Baileys が固定している libsignal の git サブ依存関係を許可し、ソースからのインストールとローカルチェックが正常に完了するようにしました。
メモリウィキのインデックス処理には管理者権限スコープを必須とし、Obsidian 検索機能にも書き込み権限スコープを要求するようになりました(AI 関連)。#80904、#80897。@pgondhi987 氏に感謝します。
WhatsApp のチャネル機能をコアの npm ランタイムバンドルから分離し、ClawHub/npm プラグインとして外部化しました。これに伴い Baileys を 7.0.0-rc11 にアップグレードし、libsignal が GitHub の tarball ではなくレジストリから解決されるようにしています。
オプションの音声デコード依存関係も外部プラグイン内に閉じ込めることで、コアの npm インストール時に WhatsApp 専用のメディアヘルパーが不要になるよう調整しました。
ビルドプロセスでは、エントリーリストから除外されたバンドルプラグインのコピー済みメタデータをスキップし、更新やステータス再構築時に QQ Bot の実行ファイルが見つからないという誤った警告が出ないように対策しました。#80925。
コントロール UI のセッション選択画面で、サブエージェントのセッションを親セッションの下にネスト表示するよう改善しました。視覚的な └─ プレフィックスを追加することで、親子関係が一目でわかるようになります。#77628、#78623。@chinar-amrutkar 氏に感謝します。
自動返信機能において、設定されたモデルバックエンドが失敗し、フォールバック処理でも応答が生成されなかった場合に、意図的なサイレントターンや副作用のみの配信を維持しつつ、明確なエラーメッセージを表示するようにしました。#80917。@dutifulbob 氏に感謝します。
Agents/exec: サブエージェントセッションの実行完了時に冗長なハートビートの起動をスキップし、親セッションにおける不要な LLM 呼び出しを防ぎます。Fixes #66748. (#66749) Thanks @ggzeng.
Provider streams: OpenAI 互換の SSE および JSON フォールバックストリームが分割チャンク全体で適切に読み込まれるように維持し、Azure Responses ストリームの失敗時にはストールするのではなく、最初のイベントを限定した診断情報として返すようにしました。Refs #80926. (#80927) Thanks @galiniliev and @CaptainTimon.
Agents: 汎用的なプロバイダー内部エラーのメッセージを、サポートリクエスト ID を含めたユーザーフレンドリーな一時的エラーコピーに書き換えました。(#49401) Thanks @y471823206.
WhatsApp: ソケットを閉じる前に、保留中のデバウンスされた着信メッセージの処理を完了させます。(#81246) Thanks @mcaxtr.
CLI/commitments: --json 出力を診断ログではなく標準出力(stdout)に書き出すように変更し、自動化ツールがコミットメントリストを解析して結果を処理できるようにしました。(#81215) Thanks @giodl73-repo.
Update: pnpm の GitHub ソースによる OpenClaw 更新で、OpenClaw パッケージのビルド承認が可能になるようになり、ソースインストールが準備および prepack ライフサイクルを正常に完了できるようになりました。(#81294) Thanks @fuller-stack-dev.
Telegram: 表示される返信や永続的なミラーにおいて、サポートされている HTML タグを保持し、フォーマットされたメッセージがエスケープ文字として劣化するのではなく正しくレンダリングされるようにしました。(#80977) Thanks @obviyus.
Plugins/runtime: 非推奨のランタイム設定読み込み/書き出し警告を、それらを引き起こしたプラグイン ID とソースに紐付けることで、ログやプラグイン診断ツールの実行結果をより実用的なものとしました。Refs #81394. (#81425) Thanks @BKF-Gitty.
Changes
Gateway/OpenAI HTTP: 外部からの /v1/chat/completions リクエストにおいて max_completion_tokens と max_tokens を尊重し、クライアントが指定したトークン上限値を上位プロバイダへ正しく伝達する機能を追加しました。
streamParams.maxTokens と max_completion_tokens の両方が送信された場合、後者が優先されます。@Lellansin さんありがとうございます。
- Models/OpenAI CLI 認証:
openclaw models auth login --provider openaiコマンドを実行すると、デフォルトで ChatGPT/Codex アカウントのログインが開始されるようになります。一方、--method api-keyオプションは、OpenAI API キーを明示的に設定するためのパスとして残ります。 - Google/Gemini:SDK の OAuth 認証結果設定パッチ内で、廃止された Gemini 3 Pro Preview の ID を正規化します。これにより、プロバイダーヘルパーが Gemini 3.1 に対して
google/gemini-3.1-pro-previewを出力するようになります。
テスト中。
Google/Gemini: SDK の OAuth 認証結果のデフォルト設定パッチ内で、廃止された Gemini 3 Pro Preview の ID を正規化し、ヘルパーが構築したプロバイダー認証フローで Gemini 3.1 テスト用に google/gemini-3.1-pro-preview が出力されるようにしました。
Google/Gemini: openclaw models auth login --set-default プロバイダー認証フローから返される廃止された Gemini 3 Pro Preview の ID を、正規化処理を適用する前に修正しました。
設定ファイルの記述により、Gemini のテスト対象は google/gemini-3.1-pro-preview となっています。
Google/Gemini では、各エージェントごとの設定デフォルトと認証パッチにおいて、廃止された Gemini 3 Pro Preview の ID を正規化しています。これにより、各エージェント固有に発行される設定が引き続き google/gemini-3.1-pro-preview を対象として維持されます。
Google/Gemini: API キーのオンボーディング時にエージェントデフォルトのみが再適用される場合、プロバイダーカタログ行内の廃止された Gemini 3 Pro Preview の ID を正規化し、発行される設定で google/gemini-3.1-pro-preview がテストされ続けるようにします。
Google/Gemini: エージェントのオーバーライドとプロバイダーカタログ行における config set ミューテーション出力内の廃止された Gemini 3 Pro Preview の ID を正規化し、現在の設定で google/gemini-3.1-pro-preview が発行されるようにします。
Google/Gemini: Google による前方互換性のあるモデル解決処理において、プロバイダー修飾付きの廃止された Gemini 3 Pro Preview の参照を正規化し、Gemini 3.1 のテスト用設定として google/gemini-3.1-pro-preview を使用するようにしました。
Google/Gemini: プロキシ接頭辞付きの廃止された Gemini 3 Pro Preview カタログ行を正規化し、Gemini 3.1 のテスト用設定として google/gemini-3.1-pro-preview が利用されるように調整しました。
- Google/Gemini: エージェントごとのモデルオーバーライド内で、廃止された Gemini 3 Pro Preview の ID を正規化して設定ファイルに書き込む際、Gemini 3.1 のテスト用にエージェント固有の設定から
google/gemini-3.1-pro-previewが出力されるようにしました。 - Google/Gemini: サブエージェント、ハートビート、コンパクション、およびサブエージェントツールのモデル設定において、廃止された Gemini 3 Pro Preview の ID を正規化して書き込む際、現在の設定が引き続き正しい値を出力し続けるように対応しています。
「google/gemini-3.1-pro-preview」
- Docs/subagents: サブエージェントおよび設定リファレンスにおいて、
agents.defaults.subagents.announceTimeoutMsのドキュメントを記述しました。(#75509) @akrimm702 氏に感謝します。
Cron: 保存されたcronジョブをIDで検索できるよう、直接 cron.get や openclaw cron get、そして agent-tool の get サポートを追加しました。(#75117) @samzong 氏に感謝します。 (原文の技術表記: openclaw cron get )
エージェント/ツール: 送信者ごとのツールポリシーを追加し、正規化されたチャンネルスコープの送信者キーを使用することで、オペレーターはグローバル、エージェント、グループ、コア、バンドル、プラグインの各ツール領域において、リクエスト元のIDに基づいて危険なツールの利用を制限できるようになります。(#66933) @JerrC 氏に感謝。
ACP: Gateway セッションの系譜メタデータを ACP セッション一覧およびセッション情報スナップショットで公開し、クライアントが非公式の Gateway サイドチャネルを使わずにサブエージェントグラフをレンダリングできるようにしました。(#73458) @samzong 氏に感謝。
Channels/iMessage: openclaw channels status --channel コマンドでのフィルタリング機能を追加し、BlueBubbles から iMsg への移行パスを文書化することで、オペレーターが両方のチャンネルモニターを開始せずに iMessage の状態を検証できるようにしました。(#80706) @omarshahine 氏に感謝。
CI:Plugin Prerelease に非ブロッキングの plugin-inspector-advisory アーティファクトを追加し、リリース実行時にバンドルされたプラグインの互換性トリアージをキャプチャできるようにしましたが、ブロックゲート自体には影響を与えません。
Runtime/Fly:ランタイム環境変数から Fly Machines をコンテナ環境として検出する機能を追加しました。これにより、ゲートウェイバインドと Bonjour のデフォルト設定がリモートのコンテナ起動時と同じ挙動を示すようになります。(#80209) @liorb-mountapps 氏に感謝します。
Providers/fal:GPT Image 2 および Nano Banana 2 の参照画像編集リクエストを、image_urls 配列を用いて /edit エンドポイントにルーティングし、NB2 の編集幾何学を適用します。
aspect_ratio と resolution パラメータにより、Fal の編集モードにおける入力画像の読み込みが改善されました。
GPT Image 2 の最大トーク数制限を 10 に、Nano Banana 2 を 14 に引き上げ、編集モードでアスペクト比の指定も可能になりました(#77295)。ご協力ありがとうございます @leoge007。
・コントロール UI:アプリモジュールが登録されない場合に、シンプルな HTML の回復パネルを表示し、空白のダッシュボードページに再試行パスとブラウザ拡張機能のトラブルシューティングリンクを提供します。#44107 を修正しました。@BunsDev 氏に感謝。
・ドキュメント:広範なツールナビゲーションを「Capabilities(機能)」へ改名し、自動化やエージェント協調はセクションとして残しつつ、ツールの概要ページではツール、スキル、プラグインに焦点を絞ります。https://docs.openclaw.ai/tools
ビルド:Promise、TypeScript、ランタイムのリスク要因チェックに関する oxlint ルールをさらに追加しました。
ビルド:フォーカス、無効化、条件分岐、フック、マッチャー、期待値に関するヒューズを検出する Vitest のリントルールを強化しました。
ビルド:共有フォーマッタ設定に oxfmt のデフォルト値を明示的に固定し、アップグレード時でも整形動作が安定するようにしました。
TypeScript:暗黙的な戻り値、副作用を持つインポート、オーバーライド、未使用の生産用コードに対するコンパイラチェックを強化しました。
ログ出力:モデル転送、ペイロード、SSE、コードモードの診断情報を追加し、URL は伏字処理して表示します。
エージェント:session.agentToAgent.maxPingPongTurns の上限を 20 に引き上げました(デフォルトは 5 のまま)。これにより、エージェント間の応答チェーンを長くできます。Fixes #52382. (#52400) @thirumaleshp 氏に感謝します。
エージェント:サンドボックス化されたパブリックエージェントが、グローバルボットポリシーを変更せずに、現在の会話内へのメッセージ送信のみを制限できるように、エージェントごとの tools.message.crossContext オーバーライドを追加しました。
エージェント:同様に、エージェントごとの tools.message.actions.allow オーバーライドを追加し、サンドボックス化されたパブリックエージェントが送信専用メッセージツールを公開・強制実行できるようにしました。
エージェント:内部のサンドボックス診断は維持しつつ、コンパクトなコマンド進捗プレビューからサンドボックスワークスペースのマーカーを削除しました。
エージェント:Discord のインラインツール更新でより有用なコマンドコンテキストを保持できるよう、進捗ドラフトコマンドのプレビュー行幅を 50% 拡大しました。
Codex アプリサーバー:タイムアウトしたクライアントを有界ターン中断後に終了し、Discord エージェントが CPU を使い続ける Codex プロセスを再利用しないようにします。
Codex アプリサーバー:ネイティブプラグインの破壊的アクションポリシーのデフォルトを有効に設定しましたが、明示的なグローバルおよび個別プラグインレベルでの無効化(false)オーバーライドは維持されます。
ビルド:ワークスペースのパッケージ管理を pnpm 11 にアップグレードし、Docker、インストール、更新、リリースのワークフローも pnpm 11 の構成に対応させます。(#79414) @altaywtf さんありがとうございます。
ビルド:Telegram QA ワークフローと Git ソースインストールを、pnpm 11 のワークスペースビルド許可リストに整合させました。(#80588) @altaywtf さんありがとうございます。
モデル:OpenAI 互換リクエストの前にオンデマンドでローカルモデルサーバーを起動するためのプロバイダーレベルの localService を追加しました。これには、1 回のモデルプローブも含まれます。
エージェント機能の更新では、デフォルトのシステムプロンプトガイダンスを整理し、GPT-5 の人格に関するガイドラインは維持しつつ、メッセージツールスキーマのみを送信することでプロンプトトークンの削減を図りました。
コンテキスト機能の追加として、現在のセッションで利用されているコンテキスト構成要素を可視化したツリーマップ画像を送信する /context map コマンドが導入されました(#79867)。
Slack: ボットによる chat.postMessage 応答に、unfurlLinks と unfurlMedia の設定を追加しました。これにより、ワークスペース全体の設定を変更せずに、アカウント単位でリンクやメディアのプレビューを抑制できるようになります。Fixes #48435. (#80145) @esegev1 さん、@HemantSudarshan さんに感謝します。
Slack: テキストおよび Block Kit のスレッド返信において、エージェントが親チャンネルの reply_broadcast 動作を明示的に選択できるようにするサポートを追加しました。(#64365) @tony88331 さんありがとうございます。 (原文の技術表記: replyBroadcast)
Slack: 受信プロンプトのコンテキストにメンション対象・ソースのメタデータを保持し、エージェントがボットの直接メンションと他者を参照するスレッド起動を区別できるようにしました。#79025 を修正。(#75356) @tmimmanuel 氏への感謝。
Slack: ネイティブ DM チャンネル ID のアウトバウンド配信ミラー経路を、相手方のユーザーセッションに正規化しました。これにより message.send コールで D... ターゲット宛てのメッセージが、同じ Slack DM スレッドをチャンネルセッションとして分割する問題を解消します。#80091 を修正。(#80111) @bek91 氏への感謝。
Plugin SDK: 少なくとも 1 ヶ月存在し、バンドルされた拡張機能のプロダクションインポートがない公開サブパスを非推奨としました。後方互換性のため、レガシーな barrel/test/zod サブパスのパッケージエクスポートは維持しつつ、SDK サーフェスレポートで両方のセットを追跡します。
Plugin SDK: 現在、1〜2 人のバンドルされたプラグイン所有者のみが使用している公開サブパスを非推奨としました。引き続きインポート可能ですが、新しいプラグインコードは焦点を絞った共有 SDK セームやプラグイン所有の API へ誘導します。
Plugin SDK: Chutes、GitHub Copilot、OpenAI Codex の認証フローをプロバイダー所有モジュールへ移行したため、所有者固有の provider-auth-login 公開サブパスを削除しました。
Plugin SDK: バンドルされた呼び出し元をプロバイダー所有モジュールへ移行した後、プロバイダー固有のモデル、ストリーム、xAI 互換性ヘルパーを公開エクスポートから削除しました。
Plugin SDK: ランタイム供給のアクティブモデルメタデータをネイティブプラグインタールファクトリーに公開し、診断やプラグイン所有ポリシーの決定に活用できるようにしました。#77857 を修正。@jamiezigelbaum 氏への感謝。
QA/Mantis: Telegram のライブ PR 検証自動化に、Convex でリースした認証情報、Crabbox によるトランスクリプト取得、モーション GIF プレビュー、PR コメントのインライン表示機能を追加しました。
QA/Mantis: Telegram デスクトップ向けのシナリオビルダーを追加。これにより Crabbox のリース、ネイティブ版 Telegram Desktop のインストール、リースしたボット認証情報を用いた OpenClaw Telegram ゲートウェイの設定、VNC によるスクリーンショットや動画アーティファクトの記録が可能になります。
Discord/voice: スピーカーの切り替え、再生リセット、バージイン検出、音声カットオフ分析のためのリアルタイム音声診断機能を追加しました。
- Talk:
talk.realtime.instructionsを追加し、OpenClaw の組み込みエージェント相談ガイドを維持したまま、オペレーターがリアルタイムの音声スタイル指示を追加できるようにしました。(#79081) @VACInc さんありがとうございます。 - Discord/voice: デフォルトのテストおよびソースインストールにおいて、オプションのネイティブ
@discordjs/opusビルドを無視し、純粋な JavaScript のopusscriptデコーダーを使用するように変更しました。これにより、ネイティブ版特有の遅延問題を回避しています。
アドオンは、専用の音声パフォーマンス用ランでコンパイルされます。
- Discord/音声: 関連する Docker やテストにネイティブアドオンのビルドを課すことなく、ライブの音声パフォーマンス用ランのために、ネイティブ
@discordjs/opusのインストールスクリプトとデコーダー設定をオプションとして追加しました。
- Discord の音声機能:
voice.allowedChannelsを追加し、設定されたチャンネルにのみボイス参加やボットによる音声状態の移動を制限できるようにしました。ただし、この設定が未設定の場合は従来のオープンな動作を維持します。
Gateway のスキル機能において、skills.install.allowUploadedArchives 設定で制御されるオプトイン型のプライベートスキルアーカイブアップロード・インストール経路を追加しました。これにより、信頼された Gateway クライアントは、オペレーターが明示的にコードインストール機能を有効にした場合にのみ、zip ベースのスキルをステージングしてインストールできるようになります。(#74430) @samzong 氏に感謝します。
Codex アプリサーバー:ハーンス(harness)スレッドに対して、ネイティブのコードモードのみを有効化します。これにより、遅延実行される OpenClaw の動的ツールは、PI 形式のラッパーではなく、Codex 独自の検索可能なコード実行表面を通じて実行されます。
依存関係の更新:ワークスペースのピン留めとパッチ対象を刷新しました。対象には、ACPX の @agentclientprotocol/claude-agent-acp(バージョン 0.33.1)、Codex ACP(0.14.0)、Baileys(7.0.0-rc10)が含まれます。
Google GenAI 2.0.1、OpenAI 6.37.0、AWS SDK 3.1045.0、Kysely 0.29.0
Tlon スキルは 0.3.6、Aimock は 1.19.5、tsdown は 0.22.0 です。
依存関係の更新:Anthropic SDK、Smithy の共有 ini 読み込み、Playwright、YAML、Aimock、TypeScript ネイティブプレビュー、Vitest、Oxlint/Oxfmt、Vite、および pnpm 11.1.0 に対するワークスペースのピン留めを更新しました。
依存関係の強化:バンドルされたパッケージ全体で非ピアの直接依存仕様を厳密に固定し、ランタイムインストール時にメンテナンス担当者がテストした正確なバージョンが解決されるよう変更チェックガードを追加しました。
依存関係の整理:埋め込まれた Pi パッケージを @earendil-works ネームスペースへ移行し、Twitch Twurple パッケージを更新。また、@openclaw/fs-safe を GitHub リリースピンから公開された npm パッケージへ移行しました。
ビルド処理の変更:Testbox の変更チェック委譲を Crabbox 経由でルーティングし、OpenClaw 固有の Blacksmith Testbox ヘルパースクリプトを削除しました。
- エージェントのコンパクション処理において、埋め込みコンパクション中およびターン後の実行コンテキスト間で、スコープに紐づくバックグラウンドの実行・プロセスセッション参照を保持しつつ、無関係なスコープからのセッションが漏洩しないように修正しました。#79284 を解決。(PR #79307) @TurboTheTurtle 氏による貢献です。
エージェント/プロセス:インタラクティブな入力を送信する前に、エージェントに process log を使用してバックグラウンドセッションを検査し、それを利用するように指示してください。
logやpollからのwaitingForInput/stdinWritableヒント。
CLI/オンボーディング:セットアップ、オンボーディング、設定、およびチャネルコマンドのナビゲーションを改善し、ターミナルフローが簡潔な説明に頼るのではなく、次の有用なコマンドを明示的に案内するようにしました。
ラベルの設定を行います。
Agents/Codex: Codex の動的ツールプロファイルの構成を削除し、Codex アプリサーバーがワークスペース、編集、パッチ適用、実行、プロセス処理、プランニングの各ツールを常に管理するように変更しました。OpenClaw 連携用ツールは引き続き利用可能です。
macOS アプリ:Peekaboo ブリッジの依存関係を Peekaboo 3.0.0 に更新しました。
- 依存関係の更新:ワークスペースのピン留めを刷新し、WhatsApp プラグインを
@whiskeysockets/baileysからbaileysへ移行しましたが、ランタイムは引き続き7.0.0-rc10を維持します。
Plugin SDK: グループ化されたセッション名前空間の下に、バンドル済みプラグインのセッションアクション sendSessionAttachment と、Cron を活用した scheduleSessionTurn/タグ整理機能を追加しました。これにより、#75578/#75581/#75588 および #73384/#74483 の一部が置き換えられます。
@100yenadmin さん、ありがとうございます。
Plugin SDK/media-understanding: 信頼できるプラグインが、Codex などのプロバイダー所有のランタイムを通じて、画像を優先した構造化抽出を実行し、任意で補足テキストコンテキストを利用できるようにするため、extractStructuredWithModel(...) を追加するとともに、オプションのプロバイダー側 extractStructured(...) のシームを追加しました。
Exec approvals: パーサー由来のコマンドハイライト機能を承認プロンプトで有効化できるよう、tools.exec.commandHighlighting を追加し、グローバルまたはエージェント単位での設定を可能にしました(#79348)。@jesse-merhi 氏に感謝します。
Codex app-server: アプリサーバーの子エージェントが、転記テキストの依存なしでタスク/ステータス画面に表示されるよう、ネイティブな Codex サブエージェントの起動ライフサイクルイベントを Task Registry にミラーリングしました(#79512)。@mbelinky 氏に感謝します。
Fixes
CLI/media: 標準でフルブロック文字を使用してターミナル QR コードをレンダリングします。これにより、バンドルされた qrcode ターミナルレンダラーがコンパクトな半ブロックモードで極端に密度の高い ANSI 最終行を出力してしまい、一部のターミナルでスキャンできなくなる問題を解消しました。Fixes #77820. Thanks @KrasimirKralev.
Agents/compaction: コンパクション後の AGENTS.md リフレッシュコンテキストを、ランナープロセスの現在の作業ディレクトリ(cwd)ではなく、キューされた実行ワークスペースから読み込むように変更しました。これにより、CLI ベースのフォローアップターンで、コンパクション後に正しいワークスペース起動ルールが再注入されるようになりました。Fixes #70541. (#75532) Thanks @vyctorbrzezowski.
Agents/read ツールでは、ファイル終端(EOF)を超えた正のオフセットを「読み取りエラー」として表面化せず、「空の範囲」として扱うように変更しました。これにより、無関係な読み取り失敗は依然として明確にエラーとして報告される一方で、古くなったページネーションカーソルが原因でツール呼び出しがクラッシュする問題が解消されました。Fixes #62466. (#75536) @vyctorbrzezowski 氏に感謝します。
Google/Gemini: Google API キーのオンボーディングモデルの許可リストとフォールバック設定に残っていた、廃止された Gemini 3 Pro Preview の参照を正規化しました。これにより、セットアップ時に生成される設定が google/gemini-3-pro-preview ではなく、引き続き google/gemini-3.1-pro-preview をテスト対象として維持できるようになります。
Telegram/Context: 選択したトピックのコンテキストをアクティブなセッションにバインドしました。これにより、/new や /reset コマンドより前のメッセージが、その後のターンで再再生されるのを防止します。(#80848)ご協力ありがとうございます @VACInc。
Google/Gemini: 非推奨のネストされた Gemini 3 Pro Preview の ID を、正確に構成されたプロバイダー参照を解決する際に正規化します。これにより、Gemini 3.1 のテストでは kilocode/google/gemini-3-pro-preview が kilocode/google/gemini-3.1-pro-preview として解決されます。
- CLI: 安全化された出力フィールドから、一般的な OSC ターミナルエスケープペイロードを除去し、クリップボードやタイトルへのエスケープボディがコミットメントテーブルやその他のターミナル安全テキストに漏洩しないようにしました。(@shakkernerd 氏に感謝)
- Codex アプリサーバー: コネクタバックドンプラグの承認要求を安定したコネクタ ID で一致させることで、有効化された破壊的アクションが、表示名のみによる拒否に迂回して実行されるのを防ぎます。
- ビルド: 選択されたビルドユーティリティ
tsxのプリロードを Node ネイティブ型ストリップに置き換え、Node 26 のビルドパスでDEP0205モジュールローダー非推奨警告が発生しないようにしました。(#78584) (@keshavbotagent 氏に感謝) - メディア生成: ツール呼び出しで
timeoutMsが省略された場合でも、設定された音楽および動画生成のタイムアウトを適用し、画像生成時の挙動と統一しました。(#80687)
CLI/update/status: ベータチャネルプラグインのフォールバックやモデル価格情報の更新失敗を警告として扱い、コアアップデートやゲートウェイへの到達性が失敗したように見えないよう配慮しつつ、ベータ版と最新版のプラグインコホートを両方表示できるようにしました。#80689 を修正。@BKF-Gitty 氏に感謝。
Doctor/plugins: doctor --fix 実行時に、管理対象 npm プラグイン openclaw のピア依存関係を再リンクしますが、パッケージローカルの node_modules 内の外部シンボリックリンクは追従しないようにしています。
プラグインパッケージ。(#77412) @TheCrazyLex 氏に感謝。
- iMessage: 受信したタップバックを通常のメッセージではなくリアクションシステムイベントとしてルーティングし、デフォルトはボット作成のメッセージ通知とするが、
reactionNotifications: "off" | "own" | "all"の上書き設定も可能にする。#60274 を修正;#39031 および #39322 を参照。@hyperclaw 氏に感謝。
コントロール UI とパフォーマンスの改善では、ノードのポーリングをアクティブな「Nodes」タブに限定し、期限切れのセッションリスト再整合処理をデバウンスしました。また、チャット側のセッション更新を制限することで、長時間稼働するダッシュボードが背景で不要なリロードを繰り返すのを防ぎました(@BunsDev 氏への感謝)。
プラグインとチャンネル機能では、レガシーなプラグインローダーに到達するバンドルされたチャンネルエントリーファイルについて、汎用的な「登録失敗」ではなく、「セットアップランタイムのローダー不一致」として説明する仕様に変更しました(@chinar-amrutkar 氏への感謝)。
プラグインとセッション終了処理では、ゲートウェイプロセスが停止した時点でまだアクティブだったすべてのセッションに対して、理由を shutdown(または再起動が予想される場合は restart)とする型付きの session_end プラグインフックを発火するようにしました。
以前、SIGTERM/SIGINT/restart のパスではアクティブなセッションを列挙せずにゲートウェイが閉じられていたため、downstream の session_end プラグイン(例:claude-mem)にゴースト行が蓄積し、再起動ごとに増え続けていました。新しいシャットダウンファイナライザーは、session_start によって埋め込まれ、replace / reset / delete / compaction で忘れ去られるインメモリトラッカーを空にします。
エミッターにより、以前に確定されたセッションが重複して発火することはありません。ドレイン処理は 2 秒の総予算に制限されており、遅いプラグインがプロセス終了をブロックしないようにしています。PluginHookSessionEndReason に "shutdown" と "restart" を追加しました。Fixes #57790。@pandadev66 氏に感謝します。
Codex アプリサーバー:OpenClaw のサンドボックスがアクティブな際、Codex のコードモードのサンドボックスを「ワークスペースへの書き込み」に制限し、Docker ゲートウェイソケットへのアクセスが危険なフルアクセス権を持つ Codex 実行へと悪用されるのを防ぎます。
TUI: ゲートウェイ切断とバウンドシャットダウンのドレイン完了後に Ctrl+C/SIGINT で即座に終了し、ターミナルの破棄時にセッションが置き去りになるのを防止しました。#75379 を修正 (#75381)。@udaymanish6 氏への感謝。
Matrix: デフォルトで出力される Markdown テーブルをフェンス付きコードブロックではなく箇条書きリストに変更しました。#78990 を修正 (#80890)。@kinjitakabe 氏への感謝。
Bonjour/Gateway: アクティブな ciao プロブや新しい名前競合によるリネームを「進行中」とみなし、mDNS ウォッチドッグが再試行する前にプロブの収束を待つようにしました。これにより、Windows、WSL、マルチキャストに不向きな環境での急速な再アドバートループを防ぎます。#74242 を参照 (#74778)。@fuller-stack-dev 氏への感謝。
Providers/MiniMax: メッセージ変換で特定のターンが空のペイロードになった場合、Anthropic 互換の最小限のユーザーフォールバックを送信します。これにより、ツール使用後のセッションでも MiniMax M2.7 が「チャット内容が空です」と返すことがなくなりました。#74589 を修正。@neeravmakwana 氏と @DerekEXS 氏への感謝。
Tools/media: tools.alsoAllow のみを含むポリシーから、組み込みのメディア生成ツールや PDF ツールの事前構築時に暗黙的な「すべて許可」のセマンティクスを維持しました。これにより、tools.allow: ["*", ...] を強制しなくても設定済みのメディアツールが即座に有効になります。#77841 を修正。@trialanderrorstudios 氏への感謝。
Codex/Telegram: コードモードのツール進捗と最終返信を分離し、ブリッジされたツール呼び出しをネイティブのツールラベルでレンダリングします。また、保存時に欠落していたツールの結果を修復して、より安全な次のターンを実現しました。#80663。@jalehman 氏への感謝。 (原文の技術表記: chat content is empty)
- メモリ/検索機能: グローバルインストールから
sqlite-vecパッケージが欠落している際、プラットフォーム固有のsqlite-vec--バリアントを直接読み込むようにしました。これにより、オプション依存関係でディスク上に残されたのはプラットフォーム用バリアントのみとなるnpm install -g openclaw@latestアップグレード時でも、ベクトル検索が正常に動作し続けます。Fixes #77838.
Thanks @corevibe555 and @Simon2256928.
- Cron: 手動で実行した長時間の cron ジョブが完了するまでタスクレジストリに保持し、永続的な回復処理が整合性を取る前に一時的な
lostマーカーが表示されないようにしました。Fixes #78233. (#78243) Thanks @Feelw00.
Doctor/GitHub CLI: GitHub スキルが利用可能であるにもかかわらず、gh の認証情報がエージェントプロセスとは異なるオペレーターの HOME ディレクトリに格納されている場合に、GH_CONFIG_DIR に関するヒントを表示する機能を追加しました。無効化されたスキルやフィルタリングされたスキルに対して警告を出すことはありません。Fixes #78063. (#78095) Thanks @tmimmanuel.
Gateway: 送信中の send、poll、および message.action リクエストを重複排除し、同じ整合性キーに対する重複した外部処理を防ぎます。(#68341) @thesomewhatyou 氏に感謝します。
Cron:直接およびキューイングされた起動パスの両方において、強制時に継承された明示的なハートビート先を削除することで、メインセッションの systemEvent ハートビートがバインドされたセッションルートで起動するようにする。
target: "last" を指定することで、#73900 の不具合を修正しました。@richardmqq 氏に感謝します。
- Telegram: 動画メディアに対して強制的なドキュメント配信を有効化し、
--force-documentオプションを使用すると MP4 ファイルが通常の動画としてではなく「ファイル」として送信されるようになりました。これにより #80389 の不具合が修正されました。(#80405) @jbetala7 氏に感謝します。
- ゲートウェイ:APNs の登録がない場合に、推測ノードのウェイク状態をクリアします。これにより、未登録または誤入力されたノード ID がウェイク制限エントリを保持するのを防ぎます。Fixes #68847. (#68848) Thanks @Feelw00.
- 自動返信:
/stopの後に登録された置換キューが削除されないよう、遅延したフォローアップキューの排水最終処理を維持します。これにより、直後のフォローアップメッセージが孤立するのを防ぎます。Fixes #68838. (#68839) Thanks @Feelw00.
Feishu: 手動での App ID/App Secret 設定をデフォルトのチャンネルバインディングパスとし、QR コードスキャンによる作成はオプションのベストエフォートフローとして維持します。また、QR コードに反応しない国内版 Feishu モバイルクライアント向けのマニュアルフォールバック手順も文書化しました。Fixes #80591. Thanks @wei-wei-zhao.
Memory: 古い自動プロモーションセクションを圧縮し、ユーザーが作成したノートは保持しながら、MEMORY.md へのドリーミングプロモーションの書き込み数を制限します。これにより、アクティブなメモリの使用量をブートストラップ予算内に抑えます。Fixes #73691. (#74088) Thanks @YB0y.
Telegram: ネイティブ /status および /think メニューで、明示的なセッションのオーバーライドを保持しつつ、解決済みの思考デフォルトを表示するようにしました。(#80341) Thanks @VACInc.
チャンネル: 選択されたチャンネルのレジストリ参照を、アクティブなフォールバックスナップショットに対してキャッシュします。これにより、ピン留めされた空のレジストリでも、アクティブなレジストリの切り替え後にネイティブコマンドとエイリアスのルーティングが正しく更新されます。 (#80333) @samzong 氏に感謝。
Codex アプリサーバー:ネイティブの Codex CLI OAuth を再利用し、隔離されたアプリサーバーハッチングでのログイン、トークン更新、およびアプリインベントリキャッシュキーを管理できるようにしました。これにより、ChatGPT で認証された Codex の実行が、未認証の OpenAI API 呼び出しにフォールバックする不再発生します。(#79877)@jeffjhunter 氏への感謝。
ゲートウェイ:sessions.resolve の sessionId とラベルストア読み込みを、要求されたエージェントにスコープ指定しました。これにより、大規模な無関係なエージェントストアがスコープ付きの検索対象から除外され、不要な解析が行われなくなります。#51264 を修正。(#79474)@samzong 氏への感謝。
ゲートウェイ:シリアライズされたストリーミングイベントエンベロープを、条件を満たす WebSocket およびノードの購読者間で共有し、クライアントごとのシーケンス番号は維持します。(#80299)@samzong 氏への感謝。
Gateway: 重複する「openclaw doctor」サービスの設定パネルを統合し、修復拒否を示す --force フラグの機能は維持します。#80287 を修正しました (#78688)。@YB0y 氏に感謝。
Browser: ブラウザステータスで Chrome MCP の既存セッションページの準備状況を報告する際、ステータスプローブがクライアントのタイムアウトを超えないように制御します。#80268 を修正しました (#80280)。@ai-hpc 氏に感謝。
WhatsApp: 接続開始段階での Baileys 428 connectionClosed エラーを WhatsApp の再接続ポリシー経由で処理し、接続確立後の 428 切断も再試行可能とします。これにより、一時的なソケット切断時に「チャネル終了」エラーとして露出するのではなく、WhatsApp の診断情報を含めて再試行が行われます。#75736 を修正し、#77443 の影響を緩和しました。@dataCenter430 氏に感謝。 (原文の技術表記: channel exited)
Agents: 埋め込み環境での実行時に、Pi のデフォルトのファイルシステムリソース検出機能を無効化し、OpenClaw のインライン拡張ファクトリは有効に保つことで、WhatsApp をトリガーとしたエージェント起動時の初回動作で Windows のイベントループが停止する問題を解消しました。Fixes #77443。@dataCenter430 氏に感謝。
Providers/self-hosted: トップレベルの n_ctx をフォールバックとして維持しつつ、モデルスコープの llama.cpp ランタイムコンテキストを /props.default_generation_settings.n_ctx から読み込むようにしました。これにより、セッションの予算管理が実際に読み込まれたコンテキストウィンドウを正しく反映するようになります。Fixes #73664。(#74057) @brokemac79 氏に感謝。
Memory: Markdown ファイルを読み取る前に、設定された追加メモリパスに含まれるシンボリックリンクのディレクトリコンポーネントを検出し、拒否するようにしました。(#80331) @samzong 氏に感謝。
セッション/トランスクリプト: 永続的なキーによる照合、最新または末尾のアシスタントテキスト読み取り、配信ミラーリングでの重複排除、および圧縮フォークの読み込みを可能にするため、ファイル全体の readFile スキャンを共有ストリーミングヘルパー (streamSessionTranscriptLines および streamSessionTranscriptLinesReverse) に置き換えます。これにより、長時間実行されるセッションでもトランスクリプト全体がメモリ上に展開されなくなります。
前方スキャンでは、readline を使用して制限付きの createReadStream 上で処理を行います。一方、後方スキャンはファイル末尾から制限付きチャンクを読み込み、新しい順に完全な JSONL ラインをデコードします。ただし、末尾の固定キャップは設けられません。
合成された 200 MiB のトランスクリプトにおいて、ピーク時の RSS(メモリアクティブセット)増加量は +252 MiB から +27 MiB に大幅に削減されましたが、不正な行への耐性や一意性のキーを返す機能は維持されています。
Fixes #54296. Thanks @jack-stormentswe.
・ブラウザ/CDP: 生の CDP からブラウザ内部のターゲットをフィルタリングし、Playwright のタブ選択を永続化することで、ナビゲーションが実際のページタブを開くように修正しました。#55734 を解決。@Demine4 氏に感謝。
・WhatsApp: 新しい着信 DM を処理する前に、アクティブな Web リスナーに対してホットリロードされた dmPolicy と allowFrom の設定を適用するようにしました。#80538 を解決。@Ampaskopi129 氏に感謝。
プラグイン:openclaw doctor --fix コマンドにより、ローカル状態の移動後にパッケージエントリポイントがパッケージディレクトリの境界検証に失敗した管理対象のプラグインインストールを修復できるようになりました。#80592 を修正しました。@wei-wei-zhao 氏への感謝。
ボイス通話:内部での配送失敗時に unknown channel: voice として拒否するのではなく、ボイス発信による実行承認のフォローアップ処理を再開するようにしました。#80540 を修正しました。@patrickmch 氏への感謝。
・Control UI:アクティブなチャット実行中に「停止」をタップしても、コンポーザーのドラフトが保持されるようにしました。これにより、モバイル端末での誤ったプロンプト消失を防ぎます(Fixes #80586)。@KCALLC 氏に感謝します。
・インフラ/リトライ:サーバーから提供された Retry-After の下限値を尊重できる場合、ジッター付きのリトライ遅延がその下限を下回らないように調整しました(Fixes #68541, #68543)。@Feelw00 氏に感謝します。
・ドキュメント:/model provider/model は厳密なセッションルートであることを明確化し、セッションオーバーライドパス以外では重複する単一のモデル ID が設定されたフォールバック順序のみを使用することを説明しました(Refs #80562)。@gaodaabao 氏に感謝します。
・機密情報の隠蔽:[AI] の形式で保存されるシークレット形状のペイロードを隠蔽処理を行いました(#79006)。@pgondhi987 氏に感謝します。
・エージェント:.openclaw/sandboxes ディレクトリ内の実行ワークディレクトリについて、コンパクトなツールサマリーでは完全パスを表示するのではなく、「サンドボックス実行」としてラベル付けするように変更しました。
- OpenAI Codex: 認証失敗時に空の成功結果として扱うのではなく、ブラウザ OAuth やデバイスコードログインの失敗を表面化するようにしました。#80363 を参照。
- CLI エージェント: プロンプト構築フックの入力と転記テキストはクリーンに保ちつつ、ランタイム固有の現在のターンにおける送信者・返信コンテキストを CLI モデルプロンプトへ引き継ぎます。
- コントロール UI:
fs-safestat ヘルパーの失敗をファイル不在として扱うのではなく、既存の Windows ワークスペースファイルに対してエージェントのファイルステータスを復元するよう、ワークスペースファイル存在チェックを修正しました。#79953 を修正。@lovelefeng-glitch 氏に感謝。 - Microsoft Foundry: 有効なサブスクリプションリストに含まれない ID が Azure サブスクリプションプロンプトから返された場合、安全ではないサブスクリプションの主張に基づいて続行するのではなく、明確なエラーを報告するようにしました。#62742 を修正。@oliviareid-svg 氏に感謝。
- fix(matrix): AI ベースの名前ベースの許可リスト解決をゲート処理します。#79007 を修正。@pgondhi987 氏に感謝。
- Slack: スレッドセッションにおいてボット自身のルート(親)メッセージを含めることで、スレッド内の返信が
reply_to_idメタデータのみではなく、ユーザーが応答している親テキストと共にエージェントへ届くようにしました。#79338 を修正。@sxxtony 氏に感謝。 - Docker: pnpm 11 が Docker ワークスペースの書き換えなしで本番依存関係を整理できるように、イメージビルドをソースの pnpm ワークスペースポリシーのまま維持します。
- エージェント/コンパクション: 埋め込みコンパクションの開始、完了、および不完全な結果に関する情報レベルのゲートウェイログを復元しました。#71961 を修正。@rubencu 氏に感謝。
Telegram: 共有チャンネルのコンテキストパスを通じて返信を認識できるインバウンドターンを構築し、エージェントが現在のメッセージと併せて現在の返信先を即座に確認できるようにしました。
Telegram: JSON 配列形式と行区切り形式が混在していたレガシーなメッセージキャッシュファイルを復元し、ゲートウェイの再起動後も返信ウィンドウのコンテキストを保持できるようにしました(#80567)。
Telegram: メッセージ編集時に返信コンテキストのキャッシュを更新し、ストリーミングされるボットの返信が後のエージェントコンテキストに反映される際、最初のドラフトではなく最終的なテキストが表示されるようにしました。
Skills/Windows: ホームプレフィックスによる圧縮後、コンパクト化されたスキルプロンプトの場所をスラッシュ(/)形式に正規化し、Windows 上のスキルパスがモデルファイルツールによって読み取り可能になるようにしました(#52200)。@chienchandler 氏への感謝。
Control UI/Windows: @openclaw/fs-safe を更新し、Windows 環境におけるエージェントワークスペースのファイル存在チェックが適切にフォールバックされるようにしました。これにより、AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、MEMORY.md の各ファイルが存在する場合でも、誤って「見つからない」と表示される不具合を修正しました(#79953)。@lovelefeng-glitch 氏への感謝。
Memory: ゲートウェイの cron を管理できない通常の cron やハートビートフックコンテキストに対して、管理されたドリーミングのクロン再統合に関する警告をスキップするようにしました(#77027)。@rubencu 氏への感謝。
Cron: Codex アプリサーバーのターン受諾、CLI プロセスのスパン、ツールの開始を実行マイルストーンとして扱うように変更し、作業が開始された後に孤立した実行が早期起動ウォッチドッグに誤検知されるのを防止しました。
- Codex app-server: 現在のターンにおける `` raw マーカーを終了マーカーとして扱い、ネイティブツールの実行が中断された際に、外部のタイムアウトを待たずに Discord エージェントセッションを解放するようにする。
- Yuanbao: グループチャットでの
sourceReplyDeliveryMode: "automatic"をサポートするため、openclaw-plugin-yuanbaoのバージョンを 2.13.1 にアップグレードした。(#79814)@loongfay 氏に感謝。
- メモリ:
memory_searchの結果において、corpusラベルをヒットしたソースと整合させる。これにより、セッションのトランスクリプトはsessionsとして表示され、メモリファイルからのヒットはそのまま保持される。
「memory」の修正。#72885 を解決。(#71898、#72886)@rubencu 氏に感謝。
Codex アプリサーバー:破壊的なアクションが無効化されている場合でも、非破壊的な読み取りツールが実行されるよう、ネイティブプラグインのアプリツールの承認をデフォルトで自動処理に切り替えます。
プラグイン: グローバル拡張ディレクトリ内の未追跡のローカルソースプラグインが、TypeScript パッケージエントリーを読み込めるようにし、管理されたインストールではコンパイル済みのランタイム出力に対して厳格な制限を維持します。これにより #80503 が修正されました。@Kaspre 氏に感謝します。
Google/Gemini: マニフェストカタログ行を発行されるプロバイダー設定に変換する際、廃止されたネスト型の Gemini 3 Pro Preview の ID を正規化し、テスト時には google/gemini-3-pro-preview の代わりに google/gemini-3.1-pro-preview が使用されるようにしました。
Google/Gemini: 保存されたモデルの許可リストやフォールバックチェーン内にある廃止されたネスト型の Gemini 3 Pro Preview の ID を正規化し、openrouter/google/gemini-3-pro-preview といったプロキシルートが Gemini 3.1 Pro Preview として永続的に保持されるようにしました。
Google/Gemini: 設定済みプロキシおよびプロバイダー認証モデルカタログにおいて、廃止されたネスト型 Gemini 3 Pro Preview の ID を正規化しました。これにより、再生成される設定では google/gemini-3-pro-preview の代わりに google/gemini-3.1-pro-preview がテスト対象として維持されます。
Google/Gemini では、プロバイダーカタログのプリセットを登録する際に、廃止されたネスト型 Gemini 3 Pro Preview の ID を正規化します。これにより、設定で生成されるプロキシ構成のテストでは google/gemini-3.1-pro-preview が使用され、google/gemini-3-pro-preview は使われなくなります。
また、一般的な構成ファイルへの書き込み時にも、プロバイダーカタログ行内の廃止された Gemini 3 Pro Preview の ID を正規化します。これにより、関連しない設定の変更が影響を受けずに済みます。
google/gemini-3.1-pro-preview のテストを行います。
モデル: 重複するモデル ID を持つ場合、設定されたプライマリモデルよりも前に設定されたフォールバックチェーンを優先してオーバーライド選択を行うようにし、誤ったプロバイダへのフォールバックジャンプを防ぎます。Fixes #80562。
ネイティブアプリ:チャットおよびノードセッションが追加的な v4 クライアント更新後に v3 ゲートウェイに接続できるように、ゲートウェイプロトコルの互換性範囲を広告します。
ゲートウェイ/エージェント:パッケージ更新後も、古くなった sessions_send ACP マネージャと web_fetch ランタイムチャンクがインポート可能になるようにし、再起動前にライブゲートウェイが破損するのを防ぎます。Fixes #78804。@Gomesy72 氏に感謝します。
Gateway/install: openclaw gateway install コマンドで、サービス環境の値ソースメタデータを保持するようにしました。これにより、systemd の再インストールパスでも、env ファイルに紐づくシークレットがインラインユニットメタデータに含まれるのを防ぎます。#77406, #77427 を参照。@stainlu さん、@brokemac79 さんに感謝します。
自動応答・リセット機能の改善:/new や /reset のモデルプロンプトに、送信者のコンテキストを含めるようにしました。ただし、起動時の指示はトランスクリプトプロンプトからは除外し、エージェントが最初のリセットターンで送信者IDを確認できるようにしています。これにより、課題 #77360 が解決されました。ご協力いただいた @srb11e 氏に感謝します。
ゲートウェイ機能の改善:アタッチ後の起動時に、同期型の再起動監視状態プローブを回避しました。これにより、Windows の遅延やリダイレクトされた状態ディレクトリがチャネルのターンをブロックする問題を防ぎます。課題 #79264 が解決されました。ご協力いただいた @liyi58 氏に感謝します。
エージェント/認証機能の改善:モデル認証プロファイルの状態更新を、ロック付きストアへの書き込み 1 回で完了するように変更しました。これにより、auth-profiles.json の重複保存による後続のモデル応答遅延が削減されました。ご協力いただいた @mcaxtr 氏に感謝します。
- エージェント/画像:
agents.defaults.imageModelが設定されていない場合でも、明示的なimageツールモデルのオーバーライドを尊重し、構成済みのマルチモーダルプロバイダーでの単発の視覚呼び出しが復元されます。#79341 を修正しました。@haumanto 氏に感謝します。 - ドクター/更新:非対話型の更新モードにおけるサービス修復時に、ライブ systemd ゲートウェイユニットを変更せず、更新時のドクターが静かに上書きしないようにします。
オペレーターが管理するユニットのディレクティブ。参照 #80462。
- 更新情報:npm パッケージのインストール先を厳密に検証する際、任意の先頭
vプレフィックスを受け付けるようにしました。これにより、openclaw update --tag v2026...を実行しても、一致するパッケージバージョンがインストールされた後にロールバックされることがなくなります。参照 #74069; #80480。@Kaspre 氏に感謝します。
Doctor: plugins.deny に含まれるプラグイン ID が存在しない場合、致命的なバリデーションエラーではなく stale 設定の警告として扱い、stale プラグインのクリーンアップ時にそれらを削除します。これにより、更新修復処理で deny のみ対象となる stale プラグイン参照に対して「直前の既知の良い状態」の設定が復元されるのを防ぎます。Refs #77802. @Kaspre 氏に感謝。
Codex app-server: コンテキストエンジンによるプロジェクションを通じて、プロンプトローカルの現在のターンコンテキストを保持します。これにより、返信された Telegram メッセージが Codex モデルの入力として引き続き表示可能になります。
Telegram: エージェントスコープのメディアルートを経由してゲートウェイメッセージアクションに渡すことで、アクティブなエージェントからのワークスペースローカルメディアが「他エージェントへのアクセス」として拒否されるのを防ぎます。@frankekn 氏に感謝。
CLI/gateway: gateway status --deep をプラグイン対応のまま維持し、インストールおよび更新時のスモークチェック中に、設定されたプラグインマニフェストの警告(チャンネル設定メタデータの欠如を含む)が常に表示されるようにします。
Doctor/status: ゲートウェイトークンのソース競合に関する警告を明確化し、管理された Gateway サービス認証コンテキスト内ではそれらを抑制します。
Feishu: operator.user_id の下にネストされているオペレーター ID を持つ Schema 2 カードのコールバックを受け付けます。これにより、カードボタンが破損したデータとしてドロップされるのではなく正しくディスパッチされます。Fixes #71670. (#71787) @rubencu 氏に感謝。
Feishu: 通常のグループ引用返信が撤回されたメッセージや存在しないメッセージをターゲットにした場合、ネイティブなトピック安全性を維持しつつ返信が消えてしまうのを防ぐため、トップレベルのグループ送信へフォールバックします。Fixes #79349. @arlen8411 氏に感謝。
- ドクター:設定されたデフォルトエージェントが
mainでない場合、ライブ互換性エージェントディレクトリを孤児としてフラグ付けしないように修正。Fixes #74313。(#74438) @carlos4s 氏に感謝。 - Auth/Claude CLI:より新鮮な管理された外部 CLI の OAuth 認証情報を
auth-profiles.jsonに保存し続けることで、古くなったanthropic:claude-cliプロファイルが繰り返し発生するのを防止。
ブートストラップとフローデバッグログの修正。#80129 を解決しました。@Caulderein さん、ありがとうございます。
- コンテキスト:
/context mapは実際のランタイムコンテキストからのみレンダリングし、Codex アプリサーバーの実行レポートを保存します。遅延実行されるツール検索スキーマは、プロンプトに読み込まれたツールスキーマとしてカウントしません。
- Codex app-server: 長時間実行されるネイティブ
bash、Web、ファイル、MCP ツールの実行を診断情報に報告するよう改善し、ウォッチドッグがこれらを古くなった埋め込みプロセスと誤認しないようにしました。(#80217) - Codex app-server: サブスクリプションの利用制限エラー発生後に Codex アカウントのレートリミットを更新するようにしました。これにより、Discord や他のチャネルでの返信で「Codex が応答なし」と表示される代わりに、次のリセットまでの時間を示せるようになりました。@pashpashpash さんへの感謝。
- Agents/auth: Codex をバックエンドに持つ OpenAI エージェントのターンにおいて、Codex 互換の OAuth および API キープロファイルに
auth.order.openaiエントリを使用できるようにしました。既存のopenai-codexプロファイルの順序付けも引き続き有効です。
Codex アプリサーバー:ネイティブフックリレーでカバーされていないネイティブツール補完の非同期 after_tool_call 観測値を出力し、観測性プラグインが Codex ネイティブツールの記録を行えるようにしました。(#80372) @VACInc 氏に感謝します。
- タスク:リクエストセッションを介してルートグループとチャンネルタスクの完了情報を親エージェントに渡すようにし、汎用的なタスクステータス行で止まるのではなく、可視化されたサマリーを送信できるようにしました。#77251 を修正。(#77365) @funmerlin さんありがとうございます。
- Telegram:手動インデントされた箇条書きブロックと、その後に続く番号付きセクションの間に空白行が保持されるようにしました。#76998 を修正。@evgyur さんありがとうございます。
- エージェント/サンドボックス:読み取り専用サンドボックスセッションでも
/agentワークスペースマウントへのアクセスを許可し、書き込み・編集・パッチ適用はワークスペース限定のガード付きのまま維持することで、workspaceAccess: "ro"の設定でread /agent/...が復元されました。#39497 を修正。@stainlu さんと @teosborne さんありがとうございます。
- Slack: 下書きプレビュー送信時に設定済みのエージェントIDを渡すようにし、部分的なストリーミング応答でも最初のメッセージでカスタムユーザー名やアバターが維持されるようにしました。#38235 を修正。(#38237)@lacymorrow さんありがとうございます。
- Slack: ボット作成のメッセージにおいて、宛先ボットをメンションするものに対して
allowBots: "mentions"をサポートしました。これはドキュメントに記載されている Discord スタイルのモードに合致し、すべてのボットメッセージを受け入れるわけではありません。#43587 を修正。(#43588)@raw34 さんありがとうございます。 - Slack: 受信 DM ファイルイベントで添付 URL が省略されているか古くなっている場合に
files.infoでプライベートファイルの URL を更新し、メディアの読み込み前にファイル添付が失われるのを防ぎました。#50129 を修正。(#50200)@smartchainark さんありがとうございます。
Slack: エージェントが通常の送信では Markdown を、Block Kit のフィールドでは mrkdwn をそれぞれ使用するように、スコープ付きのメッセージツールフォーマットヒントを追加しました。これにより #34609 が修正されました。(#50979) @carrotRakko 氏に感謝します。
Slack: download-file のファイル ID をメッセージのタイムスタンプとは別に記述し、エージェントが messageId を fileId として誤って渡した場合に、回復可能なエラーを返すように改善しました。(#74155) @jarvis-ai-gregmoser さんありがとうございます。
Slack では、requireMention=false のチャンネルにおいて処理済みのルームメッセージを保持し、常時稼働する Slack ルームが最新の会話コンテキストを維持できるようにします。
修正。(#38658) @syedamaann 氏に感謝。
- Slack:
interactiveRepliesの機能制限を迂回せず、直接送信用のインタラクティブ返信ディレクティブをコンパイルします。これにより、Slack CLI や cron 配信でも Block Kit が維持されます。(#78220) @kazamak 氏に感謝。
- Slack: アクティブなメイン以外の DM セッション(スレッド付きの DM 会話を含む)に限定して、最終ルートの更新を保持します。これにより、孤立した Slack DM セッションが共有されるメインルートの上書きを防ぎます。(#73085) @clawSean 氏への感謝。
- Slack/ACP: ランタイムバインディングが存在しない場合、Slack チャンネルおよび DM メッセージを構成済みの ACP バインディング経由でルーティングします。これにより、バインドされたスレッド返信が永続的な ACP セッションに固定され、利用不可能な構成済みターゲットは
mainにフォールバックするのではなく、破棄されます。(#73101) @Raasl 氏への感謝。
Slack: 未解決のスレッド返信を曖昧なものとマークし、チャンネルのルートメッセージとして扱うのではなくスキップすることで、SDK ベースの参加ストア上でスレッドの継続性を維持します。(#75630) @soichiyo さんありがとうございます。
Slack: topLevel: true または threadId: null を指定して、同じチャンネル内のメッセージ送信ツールが継承されたスレッドコンテキストからの除外を可能にしました。これにより、エージェントは Slack スレッド内から新しい親チャンネルへのメッセージを投稿できるようになります。#79807 対応。@vexclawx31 氏に感謝。
Slack: 受信する Slack メッセージがエージェントに完全な状態で届く限り、短縮されたソケットモードのメッセージプレビューではなく、フルリッチテキストブロックコンテンツを優先して扱います。#79027 対応。@BobAccentWebDev 氏に感謝。
Slack: トークンの隠蔽を維持したまま、セットアップ、プローブ、ストリーミング、返信の各ログに構造化された Slack API エラー詳細を含めました。(#53966) @deucemask 氏に感謝。
Gateway/agents: アクティブな実行キューイングが失敗した場合でも構造化された理由を保持し、レガシーなブール値ベースのキューヘルパーを非推奨としました。これにより、ステアリングやサブエージェントの起動診断で、完了済み・非ストリーミング・コンパクト化済みの実行を明確に区別できるようになります。#80156 対応。@markus-lassfolk 氏に感謝。
システムイベント: キー付きイベントをキュー内で重複排除しつつ、キーなし、配送経路指定、信頼境界に関連するイベントの識別子は維持しました。(#73040) @statxc 氏に感謝。
エージェント/UI: 冗長なシェルツールの名前を非表示にし、既知のワークスペースパスを短いコンテキストマーカーに置換し、コンパクトなコマンドラインでも Discord のトレーススクラビング機能を維持することで、実行とツールの進行状況行をコンパクト化しました。
ACPX: デフォルトで埋め込まれた ACP バックエンドの起動プローブを待機するようにし、ゲートウェイの ready シグナルが acpx ランタイムの実用化またはプローブ失敗の報告前に発火しないようにしました。遅延起動に戻すには、OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=0 を設定してください。#79596 修正。@bzelones 氏に感謝。
Gateway/status: モデル価格の初期化や更新時の失敗を、ゲートウェイの死活判定(liveness)は正常に保ちつつ、劣化したヘルス/ステータスの警告として表示するようにしました。#79599 修正。@bzelones 氏に感謝。
OpenAI 互換モデル: デフォルトで再生された Chat Completions の履歴から、以前のアシスタントの推論フィールドを削除し、oMLX や vLLM の Qwen が古い reasoning ペイロードに対して拒否や停止を起こさないようにしました。#46637 修正。@zipzagster 氏と @lexhoefsloot 氏に感謝。
CLI/オンボーディング: Azure 以外のカスタムプロバイダーに対して、安全な生成コンテキストウィンドウを提供し、明示的な小規模モデルの制限を上書きすることなく、既存の 4k ウィザードエントリを修復します。これにより、最初のターンでの圧縮ループを防ぎます。Fixes #79428. (#79911) Thanks @Jefsky.
OpenAI 互換モデル: 厳格なプロバイダーが OpenAI スタイルのツールやメタデータキーを拒否する場合、Chat Completions の再生メッセージから role と content のみを残すために compat.strictMessageKeys を追加しました。これにより #50374 が修正されました。@choutos 氏に感謝します。
- Bedrock Mantle: 自動的な Mantle の検出と IAM ベアラー・トークンの生成を抑制するため、
plugins.entries.amazon-bedrock-mantle.config.discovery.enabled=falseを追加します。
プラグインを有効にしたままに保つことで、#67288 の問題を修正しました。@kanekoh さんに感謝します。
- Ollama: 元のカタログの
contextWindowやmaxTokensを、条件付きでoptions.num_ctxにコピーしないように/api/chatリクエストを停止する仕様を追加しました。
AI算出
通常リリースainew評価標準
AI エージェント運用や Gateway の改善など AI テクノロジーに関連する内容が含まれるが、これは既存製品の定期的なベータ版更新(changelog)であり、新規性スコアは低く設定される。検索機会が高いのは、タイトルに具体的なバージョン番号が含まれているためである。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 25
- 調べる価値
- 25
- 重複の少なさ
- 100
- 日本での有用性
- 25
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み