OpenClaw v2026.4.29 メッセージ自動化にデフォルト制御追加
本文の状態
日本語全文を表示中
詳細モードで約68分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
OpenClaw Changelog
OpenClaw はバージョン 2026.4.29 でメッセージ自動化のデフォルト制御を強化し、メモリ機能も人知能型ウィキとして拡張した。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
2026.4.29
ハイライト
- メッセージングと自動化において、デフォルトでアクティブな実行制御が有効化されました。これには、返信の強制表示、サブエージェントへのルーティングメタデータの生成、ハートビート配信によるリマインダーのためのオプトイン型フォローアップコミットメントが含まれます。ご協力いただいた @vincentkoc さん、@scoootscooob さん、@samzong さん、@vignesh07 さんに感謝します。
- メモリ機能が「人々を意識したウィキ」へと進化しました。出典情報の表示機能や、会話ごとのアクティブメモリフィルタ、タイムアウト時の部分的な想起、そして制限付きの REM プレビュー診断が追加されています。ご協力いただいた @vincentkoc さん、@quengh さん、@joeykrug さん、@samzong さんに感謝します。
- プロバイダーとモデルのカバレッジが拡大しました。NVIDIA のオンボーディングとカタログ化に加え、マニフェストベースの高速なモデル・認証パスが実装されました。また、Bedrock Opus 4.7 で思考機能のパリティ(同等性)が達成され、Codex や OpenAI と互換性のあるより安全なリプレイおよびストリーミング動作が可能になりました。ご協力いただいた @eleqtrizit さん、@shakkernerd さん、@prasad-yashdeep さん、@woodhouse-bot さん、@LyHug さんに感謝します。
- ゲートウェイとパッケージ化されたプラグインの信頼性向上に注力しました。ホストの起動遅延への対応、再利用可能なモデルカタログ、イベントループの準備状況診断、ランタイム依存関係の修復、 stale なセッションからの回復、バージョン限定の更新キャッシュなどが改善されました。ご協力いただいた @lpendeavors さん、@DerFlash さん、@vincentkoc さん、@pashpashpash さん、@jhsmith409 さんに感謝します。
- チャネル関連の不具合修正は、Slack Block Kit の制限、Telegram のプロキシ・ウェブフック・ポーリング・送信の耐性、Discord の起動・レートリミット処理、WhatsApp の配信・死活監視、Microsoft Teams/Matrix/Feishu のエッジケースに集中しています。ご協力いただいた @slackapi さん、@SymbolStar さん、@djgeorg3 さん、@TinyTb さん、@dseravalli さん、@nklock さん、@alex-xuweilong さんに感謝します。
セキュリティと運用チームが、OpenGrep スキャンの追加、GHSA トリアージ方針の強化、exec/pairing/owner スコープ処理の安全性向上、Docker およびオンボーディング自動化、信頼できるプロキシスタック向けの Web フェッチ IPv6 ULA オプトイン機能を導入しました。ご協力いただいた @jesse-merhi さん、@pgondhi987 さん、@mmaps さん、@jinjimz さん、@jeffrey701 さんに感謝します。
変更点
セキュリティ・ツール関連の更新:tools.exec や tools.fs といったツールの設定セクションにおいて、以前は「messaging」や「minimal」といった制限の厳しいプロファイルが暗黙的に拡張されていましたが、この挙動は廃止されました。
制限付きプロファイルでこれらのツールを利用する必要がある場合は、明示的な alsoAllow エントリを追加する必要があります。起動時の警告により、影響を受ける設定が特定されます。#47487 を修正しました。@amknight 氏に感謝します。
エージェントとコミットメント機能の更新:オプトイン方式で推論されたフォローアップコミットメントを追加し、非同期バッチ抽出機能を隠蔽化しました。また、エージェント単位・チャネル単位のスコーピング、ハートビート配信、CLI による管理機能を導入しています。設定項目として commitments.enabled と commitments.maxPerDay を用意し、魔法のようなチェックインが即座に重複送信されないよう、ハートビート間隔に基づく期限の上限値を調整する仕組みも実装しました。(#74189) @vignesh07 氏への感謝。
メッセージキューの改善:モデル境界で待機中の Pi ステアリングメッセージをすべて処理する steer 方式と、従来の 1 つずつ処理するレガシー方式を queue として維持し、ステアリングキュー専用のドキュメントページを追加しました。@vincentkoc 氏への感謝です。
デフォルトのアクティブ実行キューイングを steer に設定し、500 ミリ秒のフォローアップフォールバックディバウンスを適用します。また、コマンド上でキューモード、優先順位、ドロップポリシーに関するドキュメントを整備しました。
キューページ。@vincentkoc さん、ありがとうございます。
- メッセージ機能:すべてのチャットソースから
message(action=send)を通じて可視出力を要求できるようにするため、グローバルなmessages.visibleRepliesを追加しました。グループ/チャンネルのオーバーライド用としてmessages.groupChat.visibleRepliesも引き続き利用可能です。@scoootscooob さん、ありがとうございます。
Gateway/events: サブエージェントのチャットやエージェントのブロードキャストペイロードに spawnedBy を追加し、クライアントが追加のセッション参照なしで子セッションイベントをルーティングできるようにしました。(#63244) @samzong さんありがとうございます。
Memory/wiki: エージェント向けの人物ウィキメタデータ、正規化された別名、人物カード、関係グラフ、プライバシーおよび出所レポート、証拠種別の詳細表示、そして人物検索・質問ルーティング・ソース証拠・生来的な主張のための検索モードを追加しました。@vincentkoc さんありがとうございます。
Active Memory: オペレーターが特定のダイレクトメッセージ、グループ、またはチャンネルの会話のみでリコールを有効にし、広範なセッションはスキップできるようにするため、各会話ごとの allowedChatIds と deniedChatIds フィルタをオプションで追加しました。(#67977) @quengh さんありがとうございます。
Active Memory: 隠されたメモリーサブエージェントのタイムアウト時に、デフォルトの一時的トランスクリプトパスを含む有界な部分的なリコールサマリーを返すようにしました。これにより、有用な文脈が失われるのを防ぎます。(#73219)@joeykrug 氏に感謝。
Gateway/memory: オペレータークライアントが変換パスを実行せずに有界な REM ドーミング出力をプレビューできるよう、読み取り専用の doctor.memory.remHarness RPC を追加しました。(#66673)@samzong 氏に感謝。
Providers/NVIDIA: NVIDIA プロバイダーを追加しました。API キーによるオンボーディング、セットアップドキュメント、静的カタログメタデータ、そしてプロバイダープレフィックスを維持したままホストされたモデルを選択できるリテラルなモデル参照ピッカー機能を備えています。(#71204)@eleqtrizit 氏に感謝。
モデル: openclaw doctor --fix によって記述された古いモデル設定が、マニフェスト機能ブロックを迂回して ChatGPT ベースの Codex アカウントでランタイムがそのモデルに切り替わった際にアシスタント応答の失敗を繰り返すことを防ぐため、明示的に設定された openai-codex/gpt-5.4-mini のインラインエントリを抑制します。条件付きの抑制(例:qwen Coding Plan エンドポイントガード)は、ユーザーによる明示的な設定によって依然として迂回可能です。(#74451)@0xCyda 氏、@hclsys 氏、@Marvae 氏へ感謝。
SQLite をバックエンドとするプラグイン状態ストア(api.runtime.state.openKeyedStore)を追加し、TTL(有効期限)、エビクション(淘汰)、自動的なプラグイン分離機能を備えた再起動対応のキー付きレジストリを実現しました。@amknight 氏へ感謝。
プラグイン SDK: 残りのレガシーエイリアスエクスポートと diffs ツール/設定エイリアスに非推奨メタデータを付与し、将来のレガシーエイリアスコメントには @deprecated タグが必要となるガードを追加しました。@vincentkoc 氏へ感謝。
CLI/QR/依存関係: 小型ターミナル進捗表示と QR ラッパーヘルパーを内部化しつつ、実際の QR エンコーダー依存関係を直接維持することで、デフォルトのランタイム依存グラフを縮小し、QR 出力動作は変更しません。@vincentkoc 氏へ感謝。
依存関係: ACP、Pi、AWS SDK、TypeBox、pnpm、oxlint、oxfmt、jsdom、pdfjs、ciao、tokenjuice を含むワークスペースランタイム、プラグイン、ツールリングパッケージを更新し、パッチ適用された ACP の動作と lint ガートの最新状態を維持しました。@mariozechner 氏へ感謝。
Gateway/dev: 通常、名前付きの tmux セッションを通じて pnpm gateway:watch を実行します。フォアグラウンドモードでは gateway:watch:raw または OPENCLAW_GATEWAY_WATCH_TMUX=0 を使用してください。これにより、呼び出し元のエージェントシェルをフックすることなく、再帰的な起動で検査可能なウォッチャーが再起動されます。@vincentkoc さんありがとうございます。
Gateway/diagnostics: 設定フラグの背後にゲートウェイのライフサイクルやプラグイン読み込みフェーズを記録する、オプトイン式の起動診断タイムラインを出力します。これにより、起動が遅い場合の診断に特別な計測コードが不要になります。@shakkernerd さんありがとうございます。
Control UI の国際化対応:ペルシャ語(fa)、オランダ語(nl)、ベトナム語(vi)、イタリア語(it)、アラビア語(ar)、タイ語(th)の新しいローカルエントリをロケールレジストリに追加し、リリースしました。
fa, nl, vi, zh-TW の各言語版ドキュメント用語集です。
ドキュメントの翻訳パイプラインと、コントロールUIの言語ピッカーが、すべての画面で同期されるように調整されました。@vincentkoc 氏に感謝します。
- チャンネル機能に Yuanbao チャンネルのドキュメント入り口を追加し、Tencent Yuanbao ボットがチャンネル一覧とサイドバーナビゲーションに表示されるようにしました。(#73443) @loongfay さんありがとうございます。
- Channels/Yuanbao: プラグインの GitHub リポジトリを YuanbaoTeam/yuanbao-openclaw-plugin に更新し、チャンネルカタログに "yuanbao" というエイリアスを追加しました。(#74253) @loongfay さんありがとうございます。
Docker のセットアップ: 自動化された Docker インストールで対話型オンボーディングステップをスキップできるように OPENCLAW_SKIP_ONBOARDING を追加しました。これにより、ゲートウェイのデフォルト設定は適用されながら、ユーザーが手動で入力を行う必要がなくなります。(#55518) @jinjimz さんありがとうございます。
セキュリティポリシー:設定された許容限度を超えたメディアの処理やベース64デコード、フォーマット変換に伴うオーバーヘッドは、GHSA 対応において「パフォーマンス上の問題」として分類されます。ただし、限度値の回避、クラッシュ、リソース枯渇、データ漏洩、またはその他の境界突破を示す報告がある場合はこの限りではありません。(#74311)
セキュリティ/OpenGrep:第1者のコードやルールパックの変更のみを検証し、SARIF を GitHub Code Scanning にアップロードするワークフローを追加しました。これには、高精度な OpenGrep ルールパック、ソースルールコンパイラ、出典メタデータの検証が含まれます。(#69483)@jesse-merhi 氏に感謝します。
修正内容
- プロバイダー/OpenAI Codex: OpenAI の帰属情報において、既存のラップされた Codex ストリームを維持し、PI OAuth ベアラー注入が ChatGPT や Codex Responses に確実に到達するようにします。同時に、ネイティブの Codex 専用でサポートされていないペイロードフィールドは削除しますが、カスタムで互換性のあるエンドポイントには手を加えません。(#75111)@keshavbotagent 氏に感謝。
- エージェント/ツール結果ガード: コンテキストエンジン以外のツール結果オーバーフローチェックにおいて、解決されたランタイムコンテキストトークン予算を使用します。これにより、
contextTokensがネイティブのcontextWindowより大きい場合でも、長くツールを多用するセッションが早期に圧縮されるのを防ぎます。#74917 を修正しました。@kAIborg24 氏に感謝。
Gateway/systemd: 監視されたロックや EADDRINUSE 競合時に exit code 78 (sysexits) で終了するように変更しました。これにより、RestartPreventExitStatus=78 を設定することで、ポートが占有されている状況下でプラグインを再読み込みする無限ループを防ぎ、正常に再起動防止動作を行うようになります。#75115 の修正です。@yhyatt 氏への感謝。
Agents/runtime: プロバイダへの送信前に埋め込みランナーの境界において、空白の可視ユーザープロンプトをスキップするようにしました。ただし、内部のランナー専用ターンやメディア専用のプロンプトは引き続き許可されます。この変更により、Telegram やグループセッションで履歴再生時に空の入力に対するプロバイダエラーが露出する問題を解消します。#74137 の修正です。@yelog 氏、@Gracker 氏、@nhaener 氏への感謝。 (原文の技術表記: Restart=always)
自動返信やグループチャットでは、チャンネルがメッセージツール専用レスポンスを事前計算しているにもかかわらず message ツールが利用できない場合、自動的にソース配信にフォールバックします。これにより、Discord や Slack 形式のグループターンで、目に見える応答なしに silently(静かに)完了してしまう不具合を防ぎます。#74868 を修正しました。@kagura-agent 氏に感謝します。
ブラウザ/ゲートウェイ: HTTP コントロールサーバーと browser.request でブラウザ制御ランタイムを共有し、ソーススナップショットからブラウザプロファイル設定を更新することで、CLI のステータスや起動時に設定された browser.executablePath が正しく反映されるようにします。
自動検出に依存するのではなく、headless および noSandbox を明示的に指定します。これにより、#75087 の不具合を修正し、#73617 の問題も修復しました。ご協力いただいた @civiltox さんと @martingarramon さんに感謝いたします。
エージェントおよびサブエージェントにおいて、永続化された回復試行と「セッションが停止した状態」を示す墓碑(トームストーン)を用いて、自動的な孤児プロセスの回収を制限しました。これにより、タスク維持やドクター機能はこれらのセッションを整合させるよう学習され、再起動ループに際して手動での sessions.json 編集が必要なくなるようになりました。#74864 を修正。@solosage1 氏への感謝。
Gateway/スタートアップ: 認証不要な tools.web.fetch 設定において、事前バインド時の Web フォープロバイダー検出をスキップするようにしました。これにより、オプションのフェッチ制限が存在する場合でも Docker や Kubernetes のゲートウェイが正常にバインドできるようになります。Issue #74896 を修正しました。@KoykL 氏への感謝。
Infra/tmp: 他のプロセスによって既に権限が強化されたディレクトリを再チェックすることで、並行実行される一時ディレクトリの権限修復処理を許容するように変更しました。これにより、ACP サブプロセスの並列起動時に Unsafe fallback OpenClaw temp dir というエラーが発生しなくなりました。Issue #66867 を修正しました。@Kane808-AI 氏と @jarvisz8 氏への感謝。
Signal: 受信した Signal グループ ID と送信者 ID の両方に対して、グループの許可リストを照合するようにしました。また、requireMention が設定されていない限り、メンションを必須とせず、明示的に構成された Signal グループを処理可能にしました。Issue #53308 を修正しました。@minupla 氏と @juan-flores077 氏への感謝。
Slack: allowBots=true を指定してボットが作成したルームメッセージを許可する際、明示的にチャンネルで許可されたボットからのものか、明確な Slack 所有者が存在するルームからのものに限定しました。これにより、広範囲のボットリレーが無人で実行されるのを防ぎます。#59284 を修正。@andrewhong-translucent 氏に感謝します。
- Signal: インストーラーのリリースとアーカイブダウンロードに明示的なタイムアウトを設定し、サイズチェックを宣言・ストリーム処理するとともに、不完全なファイルのクリーンアップを行うようにしました。これにより #54153 が修正されました。@jinduwang1001-max 氏と @juan-flores077 氏に感謝します。
- Signal:
getAttachmentの HTTP レスポンス上限値を、ベースとなるchannels.signal.mediaMaxMbに Base64 用の余裕分を加算した値から導出するように変更しました。これにより、受信する写真や動画が従来の 1 MiB という RPC デフォルト値に達して切り捨てられることがなくなりました。 (原文の技術表記:signal-cli)
修正:#73564
@heyhudson さん、ありがとうございます。
・アイドル状態でも 10 秒の RPC/チェック期限を適用するのではなく、長期間接続された受信 SSE モニターを維持することで、signal-cli 0.14.3 のイベントストリームが着信メッセージ到着前に再接続する問題を修正しました。#74741 を解決。@fgabelmannjr 氏と @k7n4n5t3w4rt 氏に感謝。
・Models/OpenAI Codex: 本番環境での OAuth 証明が完了したため、ChatGPT/Codex の OAuth PI 実行において openai-codex/gpt-5.4-mini を復元しました。マニフェスト、将来互換性のメタデータ、ドキュメント、回帰テストを整合させ、期限切れの cron ジョブとハートビート設定が再度正常に動作するようにしました。#74451 を解決。@0xCyda 氏、@hclsys 氏、@Marvae 氏に感謝。
・Memory/runtime-deps: ローカルメモリ検索が構成されている場合のみネイティブの node-llama-cpp ランタイムを保持するように変更しました。これにより、パッケージ化されたインストールでも到達不能なグローバル npm インストールに依存せず、ローカル埋め込みベクトルの修復が可能になりました。#74777 を解決。@LLagoon3 氏に感謝。
プラグイン/ランタイム依存関係:ランタイムミラーの一時ファイルを書き込む前に、古くなったシンボリックリンクされたミラーターゲットルートを更新し、既に実体化されたハードリンクの再書き込みをスキップします。これにより、読み取り専用イメージレイヤーパス上でウォーム状態のミラーが不要な変更を行う際に、跨バージョンコンテナアップグレードでクラッシュループが発生する問題を解決しました(#75108 修正;#75069 参照)。@coletebou 氏と @xiaohuaxi 氏に感謝します。
プラグイン/ランタイム依存関係:スタージングされたプラグインのランタイム依存関係からバンドルプロバイダーポリシー設定を読み込む処理を維持することで、ロックダウンされた /var/lib/openclaw/plugin-runtime-deps ディレクトリ上での設定読み込みが失敗する問題を解消しました(#74971 修正)。@eurojojo 氏に感謝します。
プラグイン/ランタイム依存関係:生成されるランタイム依存関係インストールマニフェストには常に依存関係マップを書き込むようにしました。これにより、プランが空の場合でも npm がクラッシュしたり、スタージングされたバンドルプラグインパッケージを削除したりする問題を防止しました(#74949 修正)。@hclsys 氏に感謝します。
セキュリティ/アウトバウンド:プレーンテキストのサニタイズ処理中に再構成された HTML タグを除去することで、ネストされたタグ断片が CodeQL で検出される `` シーケンスを残すことを防ぎます。@vincentkoc 氏に感謝します。
セキュリティ/シークレット:候補パスワードを等値チェック前にハッシュ化するのではなく、パディングされたタイミングセーフなバッファで認証情報をバイト単位で比較するように変更しました。@vincentkoc 氏に感謝します。
セキュリティ/QQBot:console.* への書き込み前にデバッグログ引数をサニタイズすることで、デバッグロギングが有効になっている際にゲートウェイペイロードフィールドが追加のログ行を偽造するリスクを防ぎます。@vincentkoc 氏に感謝します。
QQBot: コマンドレジストリにおいてスラッシュコマンドの認証と c2cOnly 制限を統一し、スラッシュコマンドのファイル添付送信時に allowQQBotDataDownloads を渡すようにしました。また、ストレージクリア処理を実際のダウンロードディレクトリに合わせるよう修正し、送信者のユーザー ID を表示する /bot-me コマンドを追加しました。(#73616) @cxyhhhhh 氏への感謝。
CLI/agents/status: 読み取り専用メタデータパスにおいて、openclaw agents コマンドとテキスト agents list、およびプレーンテキストの status を維持しました。これにより、出力前にプラグインランタイムやライブチャンネルのスキャンを事前ロードする必要がなくなりました。#74195 の修正です。@NianJiuZst 氏に感謝します。
エージェント/ローカルモデル: 有効なモデルウィンドウに基づいてコンテキストウィンドウのガード閾値を導出し、4k/8k の安全下限を設けることで、小さなローカルモデルが固定された 16k/32k の事前チェックカットオフで拒否される問題を解消しました。Fixes #42999。@chengjialu8888 氏に感謝します。
PDF 抽出: PDF.js の標準フォントをインストール済みパッケージのルートから解決し、Node フォールバック抽出器へファイルシステムパスを渡すことで、組み込みフォント付きの PDF が file:// URL ルックアップ失敗なくレンダリングされるようになりました。Fixes #51455; #70936, #54447, #62175 を引き継ぎます。@anyech 氏、@JuanRdBO 氏、@solomonneas 氏に感謝します。
メディア機能の改善:従来の Word や OLE 添付ファイル(MIME タイプが application/msword または application/x-cfb の場合)をバイナリとして扱うように変更しました。これにより、印刷物のように見える .doc ファイルがプロンプト内にテキストとして埋め込まれる不具合を防ぎます。バグ #54176 を修正し、#54380 の対応も引き継いでいます。ご協力いただいた @andyliu 氏に感謝します。
- Config: 厳格なルート設定検証で文書化された
browser.tabCleanupキーを受け付けるように変更し、実行前に読み込まれる前に設定済みのタブクリーンアップが失敗する問題を修正しました。Fixes #74577。@lonexreb と @ezdlp に感謝。 - Cron: 更新を保存する前に無効化されたジョブスケジュールの編集を検証するように変更し、不正な cron の変更によって保存済みのジョブが部分的に変更される問題を修正しました。Fixes #74459。@yfge に感謝。
- CLI/cron:
openclaw cron add --messageで非空白の--agentが省略された場合(空のエージェント値やセッションキー付きジョブを含む)に警告するように変更し、スケジュールされたエージェントターンジョブでデフォルトのエージェントフォールバックを明示的にする一方、システムイベントは静かに保つようにしました。Fixes #42196; #42245 を引き継ぎます。@ethanclaw に感謝。
- CLI/progress: TUI 入力が生の標準入力(raw stdin)を占有している間、ネストされたプログレススピナーや行クリアを抑制し、Crestodian の
/statusコマンドがアクティブな入力行を乱さないようにしました。(#75003) @velvet-shark 氏に感謝。 - Channels/status: Telegram、Slack、Google Chat について、設定ファイルのみを対象としたパスで読み取り専用アクセスリストとデフォルトターゲットアクセサを維持し、ステータスやチャンネルの要約が SecretRef に基づくランタイム認証情報を解決しないようにしました。@eusine 氏に感謝。
- Telegram: ネイティブの下書き状態ではなく、永続的なメッセージ編集を使用してストリーミングプレビューを実現することで、生成された返信が下書きからメッセージへ移行する際に重複して見えるフリッカー現象を解消しました。(#75073) @obviyus 氏に感謝。
- Telegram: 設定された
timeoutSecondsの値がgetUpdatesのポーリングウィンドウより小さい場合でも、毎回数秒ごとに新しい HTTPS 接続を強制しないよう、長期間ポーリングするクライアントのタイムアウト値を引き下げました。これにより #75114 が修正されました。@hpinho77 さんありがとうございます。
Active Memory:modelFallbackPolicy の非推奨警告と設定ヘルプを明確化し、modelFallback がチェーン解決の最終手段として記述されるように修正します。
ランタイムのフェイルオーバー対応(#74602)
@jeffrey701 氏に感謝。
- チャンネル/Discord: SecretRef に格納されたボットトークンへの参照を、読み取り専用またはデフォルトのターゲットアクセッサから解決する処理を追加しました。これにより、トークンがゲートウェイランタイム内でのみ利用可能な場合でも、ステータスやチャンネルサマリーの取得エラーが発生しなくなりました(#74737)。
@eusine 氏に感謝。
Gateway/sessions: chat、agent、およびsessionsサーバーメソッド間でセッション中止待機セマンティクスを整合させ、中止 RPC が実行中の処理が排水される前に解決するのではなく、対象のセッションが実際に停止した後に返却されるようにします。(#74751) @BunsDev 氏に感謝。
Agents/output: プロバイダ側の再生前に、コピーされたインバウンドメタデータのみを含むアシスタントの再生ターンを合成プレースホルダーとして扱うのではなく削除することで、Telegram やその他のチャネルが...
モデル出力として、[assistant copied inbound metadata omitted] を受け取る処理を追加しました。これにより、#74745 が解決されます。@adamwdear さんと @Marvae さん、ありがとうございます。
Doctor/memory モジュールでは、Ollama や LM Studio のようにキーが必須ではないプロバイダーに対して、埋め込みの準備完了に関するスキップ警告を抑制する機能を追加しました。ただし、タイムアウトや未準備状態の診断機能は維持されます。これにより、#74608 と #73882 が解決されます。@hclsys さん、ありがとうございます。
- チャンネル/グループ: 事前設定された配信パスに対して観測のみモードのターン抑制を維持し、非推奨のチャンネル・ターンのランタイムエイリアスを復元します。これにより、パッシブな観測者やグループフローはサイレント状態を保ちつつ、古いプラグインも引き続きコンパイル可能になります。ご協力ありがとうございます @vincentkoc。
- Feishu: メディアを含まない空テキストメッセージ(例:
{"text":""})をスキップします。これによりセッションに空白のユーザーターンが記録されず、後続の LLM プロバイダーから「メッセージは空であってはならない」というエラーでリクエストが拒否されるのを防ぎます。(#74634)ご協力ありがとうございます @xdengli と @hclsys。
Feishu/Bitable: アプリ作成時のクリーンアップ処理において、新規作成されたプレースホルダー行のうち、フィールドがデフォルトの空値のみで構成されているものを削除するようになりました。ただし、意味のあるリンク、添付ファイル、ユーザー、数値、ブール値、位置情報の値は保持されます。(#73920) 本機能は #40602 の続編です。@boat2moon 氏への感謝。
macOS アプリ: アタッチ専用モードとデバッグ設定の launchd トグルマーカーを維持するよう変更しました。これにより、--attach-only または --no-launchd を指定して起動しても、Gateway LaunchAgent がアンインストールされたり、アクティブなセッションが切断されたりすることがなくなりました。(#72174) @DolencLuka 氏への感謝。
macOS Canvas: プッシュ/評価/スナップショットフロー中に現在の A2UI ホストを自動リロードする処理を停止しました。これにより、プッシュされた A2UI コンテンツが空の Canvas シェルに戻らず、表示されたまま維持されます。#73337 の修正です。@Gr4via 氏への感謝。
- プラグイン SDK: 非推奨となった
plugin-sdk/zalouserコマンド認証ファサードを復元し、これをインポートする既存の Lark/Zalo プラグインが現在のホスト上で正常に読み込まれるようにしました。#74702 を修正。@Goron01 氏に感謝します。
プラグインのランタイム依存関係:models.providers、認証プロファイル、エージェントのデフォルト設定、またはサブエージェントのモデル参照で特定のプロバイダーが指定されている場合、そのプロバイダー用のバンドル済みプラグインを含めるようにしました。ただし、デフォルトで有効になっているが現在非アクティブなプロバイダー用プラグインは「doctor repair」コマンドの対象から除外します。#74307 を参照。@Skeptomenos 氏に感謝。
プラグインのランタイム:相対パスの api.resolvePath 入力に対して、ホストの作業ディレクトリではなくプラグインのルートディレクトリを基準として解決するように修正しました。絶対パスやホームディレクトリを含むパスについては、ユーザーが明示的に解決したまま維持します。#74718 を修正。@jimdawdy-hub 氏に感謝。
プラグインのランタイム依存関係:アクティブなコピーを置き換える前に、一時的なファイルを経由してミラーリングされたルートチャンクを更新するようにしました。これにより、更新処理が失敗した場合でも、現在実行中のプラグインがまだ参照しているチャンクが削除されるのを防ぎます。@shakkernerd 氏に感謝。
- プラグインのランタイム依存関係:ステージされた依存関係エイリアスを構築する際、
require条件付きエクスポートを優先して使用します。これにより、wsのように CommonJS のみに対応するプラグインのランタイム依存関係が、Jiti 環境下で ESM ラッパーに誤って解決されるのを防ぎます。#74547 を修正しました。@aderius 氏への感謝。 - Bonjour/Gateway:スライディングウィンドウ内で広告主の再起動回数を制限し、mDNS プロビングや名前競合によるループが発生した際に、制約のあるホスト上で無限に動作を繰り返すのではなく、発見機能を無効化して停止するようにします。
PR #74209 および #74242 に対応。@ndj888 さん、@Sanjays2402 さんに感謝します。
プラグインとランタイム依存関係の改善:ミラーリングされたランタイムルートを使用する前に、ステージングされたパッケージエントリファイルを検証するようにしました。これにより、アップデート後に ajv や MCP SDK のインストールが不完全だった場合でも、再起動時に ajv/dist/ajv.js が欠落してエラーになるのではなく、ブラウザ制御機能によって修復が行われるようになります。PR #74630 にも関連します。@spickeringlr さんに感謝します。
- Heartbeat: 選択したプロバイダー、モデル、思考コンテキストに基づいて
responsePrefixテンプレート変数を解決し、アラートの配信やプレフィックス付きのHEARTBEAT_OK応答の抑制を行う前に処理を完了します。これにより #43064 が修正され、#43065 の不具合が修復され、#46858 は廃止されます。@yweiii と @JunJD に感謝。 - Memory/LanceDB: エージェントが表示された ID を対象削除のために返却できるよう、
memory_forget候補リストに完全なメモリ UUID を表示するようにしました。これにより、完全な UUID のバリデーターに引っかかるのを防ぎます。(#66913)@amittell に感謝。
ファイル転送プラグイン:file.fetch に対して正規の読み取りパス事前認証を必須とし、dir.fetch の事前チェック項目が欠落している場合や絶対パス・パストラバーサルが発生した場合に処理を停止する。また、アーカイブバイトを呼び出し元に渡す前に返されたアーカイブエントリを再検証する。これは #74134 の継続対応です。@omarshahine 氏への感謝。
チャンネル/Feishu:Feishu/Lark から HTTP 502 エラーが発生した際、ファイルタイプの iOS 動画リソースのダウンロードを media タイプとして再試行し、フォールバック処理も失敗した場合は元の 502 エラーを保持する。#49855 を修正し、#50164 と #73986 の対応を引き継ぐ。@alex-xuweilong 氏への感謝。
Amazon Bedrock のプロバイダーでは、Bedrock モデル参照において Claude Opus 4.7 の思考プロファイル(xhigh、adaptive、max)をすべて公開します。ただし、Opus や Sonnet の設定は従来通り維持されます。
デフォルトで適応的な機能における評価は 4.6 で、これにより「/think」メニューと検証機能が強化されます。
Anthropic のトランスポート動作に整合させる修正。#74701 を解決。@prasad-yashdeep、@sparkleHazard、@Sanjays2402、@hclsys 各位に感謝。
- Plugins/tokenjuice: ローカルの互換性シェイムではなく、公開された OpenClaw ホスト型(tokenjuice 0.7.0)に対してバンドルされたプラグインをコンパイルするように変更しました。これにより、リリース前に OpenClaw の検証でパッケージ契約の不一致が検出されるようになります。@vincentkoc 氏に感謝します。
- OAuth/secrets: ルートレベルの Google OAuth
client_secret_*.jsonダウンロードを無視するよう設定を変更し、ローカルのクライアントシークレットファイルがコミット候補として表示されないようにしました。(#74689)@jeongdulee 氏に感謝します。 - Memory: デフォルトのメモリプラグインのパッケージ化されたバンドルプラグインランタイム依存関係に
sqlite-vecをミラーリングするように変更しました。これにより、2026.4.27 へのアップグレード後も組み込みベクトル検索が SQLite 拡張機能を失わないようになります。(#74692)@mozi1924 氏に感謝します。
- Gateway/スタートアップ: 起動時にローカル検出広告をバインドするよう変更し、検出プラグインが停止してもゲートウェイの準備完了状態への到達を妨げないようにしました。Fixes #73865; refs #74630 and #74633. Thanks @lpendeavors, @moltar-bot, and @Saboor711.
- Gateway/models: 背景で古くなったリロードが更新される間、直近の成功したモデルカタログを提供するように変更しました。これにより、モデル設定変更後にモデルプロバイダーの再検出が行われるまで、ゲートウェイ制御プレーンおよび OpenAI 互換のリクエストがブロックされなくなりました。Ref #74135, #74630, and #74633. Thanks @DerFlash, @moltar-bot, and @Saboor711.
CLI/status: パッケージ化された OpenClaw のディストリビューションルートから読み取り専用チャンネル設定のランタイムフォールバックを解決しました。これにより、外部チャンネルプラグインがセットアップメタデータを必要とする場合でも、status --all、status --deep、チャンネル、および doctor 関連パスでのクラッシュを防ぎます。Fixes #74693. Thanks @giangthb.
- SDK/events: 各実行ごとの SDK イベントストリームから重複する生のチャット投影フレームが表示されないようにし、チャット専用の投影フレームを正規化するとともに、
rawEventsを通じて生データへのアクセスも維持します。Refs #74704。@BunsDev 氏に感謝。 - SDK: Gateway ターミナルの
agent.waitタイムアウトスナップショットについて、ライフサイクルメタデータ付きでtimed_outとして報告しますが、単なる待機期限は非終端状態のまま維持します。
Thanks @clawsweeper.
Google Meet では、参加者が通話中であることをブラウザの健全性診断が証明するまで、管理された Chrome のイントロダクションやテスト音声をブロックします。また、speechReady 診断情報を公開することで、ログイン、入室許可、権限付与、音声ブリッジの障害が、音声機能の正常な動作と誤認されるのを防ぎます。参照 #72478。
Thanks @DougButdorf.
Slack/コマンド:エンコードされた選択肢値に対して、Slack のオプション制限までネイティブのコマンド引数メニューを維持し、フォールバックボタンのラベルは Slack の文字数制限に合わせて切り捨てます。これにより、有効な選択肢がもはや無効な Slack ブロックとしてレンダリングされなくなります。@slackapi さんありがとうございます。
Agents/Codex:通常のアプリサーバーのターンクリーンアップ前に、承認されたデバウンス済みステアリングメッセージをフラッシュします。これにより、デバウンスが発火する前にターンが完了した場合でも、キューに追加されたインバウンドフォローアップがドロップされず、正しく認識されます。@vincentkoc さんありがとうございます。
Slack/インタラクティブ返信: Slack Block Kit の値とカウント制限内にレンダリングされたボタンやセレクトボックスを維持し、コマンド引数のセレクト値を Slack のオプション制限に合わせることで、エージェントが作成した選択肢が長すぎてブロックペイロード全体が拒否されることを防ぎます。Slack API への感謝を込めて。
Slack/インタラクティブ返信:ブロックキットのボタン URL が長すぎる場合は破棄し、有効なコールバック値は保持します。これにより、リンク形式が壊れたボタンでも Slack 全体が拒否されなくなります。
Slack/コマンド:ネイティブのコマンド引数メニューの確認テキストを、Slack のダイアログ制限に合わせて切り捨てます。これで、プラグインの引数名が長くても、フォールバックボタンのブロックキットペイロードが無効になるのを防げます。
Slack/exec 承認:ネイティブの承認メタデータコンテキストを、Slack の要素およびテキスト制限に合わせて制限します。これにより、承認の詳細情報が大きすぎても Slack が承認カードを拒否しなくなります。
Slack/exec 承認:chat.update で msg_too_long エラーが発生しても、レンダリングされた承認ブロックは保持したまま、ネイティブの承認更新フォールバックテキストを Slack のメッセージ制限に合わせて切り捨てます。これで、コマンドが長くなっても、解決済みまたは期限切れの承認カードが古いままで止まることがなくなります。
Slack/コマンド:ネイティブのコマンド引数メニューのフォールバック行を、Slack のメッセージブロック制限に合わせて制限します。これにより、プラグインの選択肢リストが大きすぎても Slack が生成されたメニューを拒否しなくなります。
Slack/コマンド:エンコード値が Slack のボタン値制限を超えるフォールバック型のコマンド引数ボタンは破棄します。これで、1 つでも大きすぎるプラグインの選択肢があっても、Slack 全体がメニューを拒否することがなくなります。
Slack/メッセージ:Slack への送信時に、メッセージツールの表示ブロックとインタラクティブブロックを統合します。これにより、構造化されたメッセージ本文が存在しても、ボタンやセレクトボックスが削除されることがなくなります。
Slack/messages: Block Kit のフォールバックテキストを Slack の送信制限内に収めるように調整し、レンダリングされたブロックは維持します。これにより、コンテキストが長い場合でもリッチメッセージの送信失敗(msg_too_long)を防げます。@slackapi 様へ感謝。
Slack/messages: メッセージ編集時の Block Kit フォールバックテキストも同様に制限し、レンダリングされたブロックは維持します。これにより、コンテキストが長い場合でも Slack が chat.update コールを拒否する(msg_too_long)ことがなくなります。@slackapi 様へ感謝。
Channels/WhatsApp: Baileys の送信元メッセージ ID を取得するまで自動返信の完了ステータスを更新しないようにしました。これにより、転記テキストや ACK 反応が失敗したグループ返信を「送信済み」と誤認する問題を修正します(#49225)。@TinyTb 様へ感謝。
CLI/update: パッケージ化された Node のコンパイルキャッシュを OpenClaw バージョンとインストールメタデータでスコープ指定するようにしました。これにより、パッケージ更新後もグローバルインストールが古いコンパイルチャンクを再利用する問題を解消します。@pashpashpash 様へ感謝。
Channels/Voice call: ソケットのリモートアドレスメタデータが存在しない場合でも、事前認証ウェブフックのインフラ制限を有効に維持します。これにより、IP を削除したプロキシ経路からの低速なリクエストもフォールバックバケットを共有し続けます(#74453)。@davidangularme 様へ感謝。
Plugin SDK/testing: プラグインテスト契約ランタイムから TypeScript を遅延ロードし、重要な SDK 契約エントリーポイントのインポートやバンドルサイズに関するリリースチェックを追加しました。これにより、ESM と互換性がないか過大なサイズの契約ヘルパーを含むパッケージが公開前に失敗するようになります。@vincentkoc 様へ感謝。
- チャンネル/Microsoft Teams: 起動時に設定済みの
19:...@thread.tacv2およびレガシーの19:...@thread.skypeのチーム ID やチャンネル ID を既解決済みとして扱い、表示名エントリに対する Graph による名前参照は維持したまま、「チャンネルが未解決」という誤った警告を回避します。Fixes #74683。@dseravalli 氏に感謝。 (原文の技術表記:channels unresolved)
CLI またはブラウザ: ブラウザのサブコマンドを遅延読み込みする際、親フラグを保持します。これにより、openclaw browser --json open や openclaw browser --json tabs のように、再パース後も機械可読な出力が維持されます。#74574 を修正しました。@devintegeritsm 氏に感謝します。
実行権限付き(Exec/elevated)処理において、承認後のフォローアップ実行時に turnSourceChannel を messageProvider として保持することで、tools.elevated.allowFrom. チェックが provider=null の状態で失敗する問題を解消します。
ユーザーが非同期の権限昇格コマンドを承認しました。#74646 を修正します。@xhd2015 さん、ありがとうございます。
プラグイン/ランタイム依存関係:openclaw plugins depsの検査と修復機能を追加しました。これにより、スクリプトを使用しないパッケージマネージャーのデフォルト設定をプラグインインストーラー間で共有できるようになり、オペレーターはJSON出力を破損させることなく、または競合のない他の依存関係をブロックすることなく、欠落したバンドル済みランタイム依存関係を修復できるようになりました。ご協力ありがとうございます @vincentkoc。
エージェント/出力機能において、ユーザー向け返信から内部のツール呼び出しの再実行プレースホルダーを削除し、表示される返信の空白構造は維持する仕様を追加しました。これにより、Issue #74573 が解決されました。ご協力ありがとうございます @blaspat。 (原文の技術表記: [tool calls omitted])
- Google Vertex プロバイダー: OpenClaw の REST トランスポートを介して authorized_user ADC 認証情報をルーティングするように変更しました。これにより、リクエスト送信前の Google SDK 内で Docker インストール時に gcloud アプリケーションデフォルト認証情報を使用する処理がクラッシュする不具合を修正します(Fixes #74628)。@frankhal2001-design 氏に感謝。
- ACP/リゾルバー: 明示的な
--sessionトークンが解決できない場合、スレッドバインドが存在しない場合は悪意のあるトークンの診断情報を保持しつつ、スレッドバインドされたセッション解決へフォールバックするように変更しました。これにより、現在のスレッド ID を位置引数として自動入力する Discord スラッシュコマンドで「セッションターゲットの解決に失敗」というエラーが表示される不具合を修正します(Fixes #66299)。@hclsys 氏、@kindomLee 氏、@martingarramon 氏に感謝。
エージェント/セッション:埋め込み時のタイムアウトやエラーの戻り値に agent_end が含まれていない場合、ターミナルライフサイクルのバックストップを出力するようにしました。これにより、フェイルオーバーでタイムアウトが検出された際にも Gateway セッションが running 状態で止まる不具合を修正します(Issue #74607)。@millerc79 氏に感謝します。
Gateway/診断:スタックしたセッションの理由や回復スキップの原因を示すヒントを警告メッセージに含めました。これにより、オペレーターは各レーンがアクティブな作業待ちの状態かどうかを判断できるようになります。
キューイングされた作業や、古くなった会計処理の件については、@vincentkoc 氏に感謝します。
- Providers/DeepSeek: プロバイダー側の
resolveThinkingProfileフックを通じて、ネイティブな DeepSeek V4 のxhighおよびmaxの思考レベルを公開する
/think xhigh|max コマンドは、ベースラインにfallback するのではなく、意図された計算リソースを適用します。(#73008) @ai-hpc 氏への感謝。
Agents/Codex: 実行中の処理失敗後、埋め込みランのクリーンアップ、軌道データのフラッシュ、コマンドレーンのタスクタイムアウトをバインドすることで、Discord やその他のチャットセッションが「処理中」のまま止まることなく、アイドル状態に戻ります。@vincentkoc 氏に感謝。
Heartbeat/exec: メタデータのみを含む非同期実行の成功完了を静かに消費するように改善し、「セッションが見つかりません」というエラー後に Telegram や他のチャット画面でユーザーにコマンドログの入力を求めない仕組みを実現しました。#74595 を修正。@gkoch02 氏に感謝。
Web fetch: tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange というドキュメント付きのオプトイン機能を追加し、キャッシュキーや DNS/IP チェックにも適用することで、fc00::/7 を使用する信頼された偽 IP プロキシスタックが広範なプライベートネットワークアクセスなしで動作可能になりました。#74351 を修正。@jeffrey701 氏に感謝。 (原文の技術表記: No session found)
OpenAI Codex では、/verbose full の永続化とアプリサーバーからのツール出力転送を復元し、ゲートウェイの E2E 一時ホームクリーンアップを再試行して、デバッグ実行が古い検証やクリーンアップの不具合によって後退しないようにしました。@vincentkoc さんありがとうございます。
Anthropic/Meridian では、anthropic-messages ストリーム内の content_block_start でシードされたテキストと思考内容を保持し、[thinking, text] の応答が空のターンとして残るのを防ぎます。
空のレスポンスに対するフォールバック処理を有効化しました。これにより、#74410 の不具合が修正されます。ご協力いただいた @vyctorbrzezowski さんに感謝します。
Channels/Matrix: openclaw matrix verify confirm-sas コマンドでのクロス署名ハンドシェイクを完了させました。これにより、エージェントの確認後、オペレーターの他の Matrix デバイスが「Verifying…」のループから脱却し、正常に状態がクリアされるようになりました。(#74542) ご協力いただいた @nklock さんに感謝します。
CLI/status: openclaw status コマンドで、チャンネル固有のモデルコンテキストウィンドウのオーバーライドを有効に反映させるようになりました。これにより、チャンネルスコープのセッションでも、実際に使用されているウィンドウサイズが正しく表示されます。ご協力いただいた @HemantSudarshan 氏に感謝します。
Sandbox/Docker: サンドボックスモードが無効な場合でも、Docker デーモンが利用できない状態を許容するように改善しました。これにより、Docker デーモンを実行しない環境でのインストール時にも、doctor や preflight チェックが失敗しなくなりました(Issue #73671 対応)。ご協力いただいた @kaseonedge 氏に感謝します。
Control UI/mobile: モバイルのチャット設定を Lit で管理する状態に保存するように変更しました。また、モバイルナビゲーションも同じビュー状態パスを経由するようにしたため、画面サイズが小さい環境でもチャットパネルの切り替え機能が遷移時に維持されるようになりました。ご協力いただいた @BunsDev 氏に感謝します。
Control UI/exports: リサイズ可能な仕切りの横、モバイルレイアウト、エクスポートされた HTML トランスクリプトテンプレートにおいて、サイドバートリガーの操作性を統一しました。これにより、サイドバーの切り替えボタンとエクスポートされたトランスクリプト内のサイドバーが、一貫したクリック領域とスタイルでレンダリングされるようになりました。ご協力いただいた @BunsDev 氏に感謝します。
Control UI/chat: チャット実行中(チャットラン中)は、ページ再読込のトリガーを無効化しました。これにより、誤ってページを更新しても、進行中のレスポンスが中断されることがなくなりました。ご協力いただいた @Angfr95 氏と @BunsDev 氏に感謝します。
Memory/LanceDB: openclaw ltm list コマンドの実行結果を、空のプレースホルダーから実際のメモリレコードへ変更しました。オプション引数として --limit を指定したり、作成日時(createdAt)でソートすることも可能です。これにより、CLI の機能が文書化された LTM リスト契約と整合するようになりました(Issue #67952 対応)。ご協力いただいた @zhangyue19921010 氏に感謝します。
メディア機能の改善により、個別のリサイズ失敗や解決済みのモデル入力能力に関する情報をビジョンパイプラインエラーに含めることで、残りのルーティング調査を中断することなく ARM64 画像の障害原因を特定可能になりました。参照 #74552。@1yihui 氏に感謝。
コントロール UI と多言語対応(i18n)では、中国語(zh-CN)のエージェント、デバッグ、チャンネル更新、実行承認に関するコピーをローカルソース経由でルーティングしつつ、英語の「Cron Jobs」エージェントタブラベルとセキュリティ監査コマンドの書式は維持しました。これにより #39692 の修復コンテキストが継承されます。@hepeng154833488 氏および @vincentkoc 氏に感謝。
自動返信機能において、明示的に silentReply.direct: "allow" が設定されている場合、空の応答や推論のみのダイレクトチャットターンに対してはクリーンな処理を行いながら、デフォルトのダイレクトチャット用空応答ガードは保守的な状態を維持します。これにより、#74409 の不具合が修正されました。@jesuskannolis 氏に感謝いたします。
OpenAI Codex においては、Codex ターンでシステムプロンプトに基づく指示のみが含まれている場合でも、非空の Responses 入力アイテムを送信するように変更しました。これにより、ChatGPT バックエンドから発生していた 400 エラーを回避できます。
入力配列が空の場合のバグを修正しました(#73820)。ご協力ありがとうございます、@woodhouse-bot さん。
Ollama 関連では、ネイティブストリームの境界でプロバイダー接頭辞付きのツール呼び出し名を正規化しました。これにより、Kimi や Ollama からの functions.exec などの呼び出しが、設定されたツールとして正しく exec として処理されるようになりました(#74487)。ご協力ありがとうございます、@afurm さんおよび @carreipeia さん。 (原文の技術表記: input: [])
セキュリティ監査の改善:モデルティアや小パラメータチェックの実行前に、設定済みのモデルエイリアスを解決するように処理を変更しました。これにより、エイリアスベースの GPT-5 や Codex 構成で誤って「弱モデル」と警告される不具合が解消されました(Issue #74455)。ご協力いただいた @blaspat 氏に感謝します。
CLI/エージェント:明示的な gateway-fallback-* セッション内で、ゲートウェイのタイムアウト時に埋め込まれたフォールバック実行を分離します。これにより、承認されたゲートウェイの実行がトランスクリプトロックと競合したり、ルーティングされた会話セッションを置き換えたりするのを防ぎます。#62981 を修正しました。@HemantSudarshan 氏に感謝します。
- CLI/QR/device-pair: 不正な公開セットアップ URL をモバイルペアリングのブートストラップトークンを発行する前に拒否し、有効なホスト:ポート形式のセットアップ URL は引き続きサポートします。@Lucenx9 さんありがとうございます。
- Models/UI: 認証されていないプロバイダーをデフォルトの Web チャット、
/models、およびモデル設定ピッカーから非表示にしますが、view: "all"、/models all を通じた明示的な全カタログ閲覧パスは維持します。 (原文の技術表記:/models all)
models list --all コマンドを修正しました(Issue #74423 対応)。@guarismo さん、@SymbolStar さんに感謝します。
- Ollama: PI の検出をスキップした場合でも、明示的にローカルモデルの実行をターゲットプロバイダーのランタイムフックに保持します。これにより、ストリーミング開始前に不要なプロバイダーのランタイムが一度だけ読み込まれる問題が解消されました。#74078 対応。@sakalaboator 氏への感謝。
- Slack/prompts: 汎用的な
inlineButtons設定のヒントではなく、Slack のinteractiveRepliesガイドラインを参照するようにしました。これにより、有効化された Slack ボタンディレクティブが矛盾して表示される問題が解消されました。#46647 対応。@jeremykoerber 氏への感謝。 - Slack/reactions: 重複する
already_reacted応答を冪等な成功として扱うように変更しました。これにより、エージェントによる反応の再試行がツール失敗として表示される問題が解消されました。#69005 対応。@shipitsteven 氏と @martingarramon 氏への感謝。
Channels/Discord: 起動時のアプリケーションルックアップやゲートウェイメタデータフェッチ中に発生する Cloudflare/Error 1015 HTML 429 REST 失敗に対してクールダウン処理を強化し、channels.discord.applicationId をアプリ ID ルックアップのバイパスとして追加しました。また、ログ出力前に HTML 本文をサニタイズし、Fallback 前に Retry-After ヘッダーを尊重する保守的なクールダウンを実装します。これで #38853 が修正されました。(#74489)@djgeorg3 と @Garyko0730 に感謝。
Slack/tools: 共有メッセージツールのスキーマに fileId を公開し、download-file がインバウンドプレースホルダーから Slack アタッチメント ID を受け取れるようにしました。これで #45574 が修正されました。@chadvegas に感謝。
実行時、無効な per-call の host 値に対してデフォルトのターゲットに静かにフォールバックするのではなく、拒否するように変更しました。これにより、ホスト名のような値はコマンド実行前に失敗します。#74426 を修正しました。@scr00ge-00 と @vyctorbrzezowski に感謝します。
Google/Gemini については、Gemini の実行が空またはフィルタリングされたユーザーコンテンツでトリガーされた際にも、非空のプレースホルダーコンテンツを送信するように変更し、エラーを回避しました。
「contents is not specified」API エラーが発生しました。@CaoYuhaoCarl 氏に感謝します。
- ハートビート機能:
tasks:ブロックの周囲にある非タスク用のHEARTBEAT.mdコンテキストを保持し、agents.defaults.heartbeatを適用する
エージェントはすべてが対象となりますが、各エージェントごとのハートビートエントリによってスコープが制限される場合は例外です。@Sekhar03 さん、ありがとうございます。
Markdown では、共有された外部リンクの書式において、緩いリスト項目内の段落区切りを維持しつつ、タイトなリスト間隔は安定させる必要があります。@Lucenx9 氏に感謝します。
- Build/Gateway: 再構築されたパッケージが古いハッシュ化チャンクに長期間実行中のゲートウェイを置き去りにしないよう、安定したゲートウェイライフサイクルランタイムエントリーを通じて、ルート再起動、シャットダウン、レスポーン、診断、コマンドキューのクリーンアップ、ランタイムクリーンアップを一元的に行います。#73964 の機能を継承します。@pashpashpash 氏に感謝。
- Memory/wiki: 広範な共有ソースや生成された関連リンクブロックがすべてのページを検索結果として表示されるのを防ぎ、ノイズの多いバックリンクを制限し、人物経路検索などの全用語検索をサポートするとともに、生成されたメタデータよりも読みやすい本文スニペットを優先します。@vincentkoc 氏に感謝。
- Cron/Gateway: タイムアウトが発生した際、タイムアウト記録前に孤立したエージェントのターンを中止し、限定的なクリーンアップを実行することで、タイムアウト後に Discord やその他のチャネルでセッションが
processing状態のまま残るのを防ぎます。@vincentkoc 氏に感謝。
- Agents/errors: プロバイダーのリクエスト検証診断情報を保持しつつ、不正なストリーミングツール呼び出しの JSON 断片がチャット画面に到達する前に抑制します。#59076 を修正し、#59080 は重複対応として維持されます。(#59118)@singleGanghood 氏に感謝。
- CLI/models: マニフェストや静的カタログでカバーされていないプロバイダー(Anthropic や Amazon Bedrock など)についても、高価な可用性およびリゾルバパスを回避しつつ互換性フォールバックをオフにしたまま、プロバイダーフィルタリングされた
models list --all --providerの行を復元します。@shakkernerd 氏に感謝。
CLI/models: models status コマンド、認証プローブ、および PI モデルの検出において、マニフェストの認証証拠資格情報を表示し続けるようにしました。これにより、ワークスペーススコープの提供者認証が、一覧表示、プローブ実行、そして実際の処理の間で矛盾しないようになります。@shakkernerd さんありがとうございます。
CLI/models: Google Vertex ADC などのローカル資格情報の証拠を、一般的なプラグインマニフェストの設定メタデータへ移動させました。これにより、モデル一覧の認証インデックスが宣言的であり続け、提供者ごとのランタイム分岐が必要なくなります。@shakkernerd さんありがとうございます。
- CLI/models: 各モデル行ごとに認証プロファイル、環境、設定済みプロバイダー、AWS、合成認証のチェックを繰り返すことなく、コマンドローカルのプロバイダー認証インデックスを通じて
models listの Auth カラムを計算するようにしました。@shakkernerd さんありがとうございます。 - CLI/models: OpenAI のリスト可能カタログをプラグマニフェストへ移動させました。これにより
models list --all --provider openaiがプロバイダーランタイム正規化フックの読み込みではなく、マニフェストの高速パスを使用するようになりました。@shakkernerd さんありがとうございます。
CLI ツールでは、ゲートウェイの tools.* RPC ネームスペースをプラグインコマンドの検出や管理されたプロキシの起動から除外します。これにより、openclaw tools effective のような誤ったコマンドが即座に失敗し、不要なプラグインメタデータの読み込みを防ぎます。#73477 参照。@oromeis 氏への感謝。
CLI/status: 通常、メタデータのみを対象としたスキャンではデフォルトのテキスト「openclaw status --usage」を維持しますが、--deep または --all が設定されている場合は例外とし、未処理のメッセージを送信します。
openclaw tools --help は、事前計算されたルートヘルプの高速パスを通じて実行されます。
latency-triage コマンドは、出力前にプラグインやランタイムの初期ロードを回避します。#73477 および #74220 を参照。@oromeis さん、@NianJiuZst さんに感謝します。
エージェント/診断機能:モデルの I/O 前に埋め込み実行の起動と準備段階の所要時間を追跡し、深刻な遅延が発生した場合のみ警告を発します。これにより、Docker や VPS のレイテンシ報告から、プラグインの読み込み、認証やモデル解決、ツール一覧の取得、ブートストラップ、MCP/LSP、リソース読み込み、ストリーム設定のいずれが実行前の待ち時間を支配しているかを特定できるようになります。通常のログによるノイズを排除するためです。Refs #73428。@Dimaoggg さん、@quangtran88 さん、@Heyvhuang さんに感謝します。
エージェント/サブエージェント:ファイル署名をキャッシュしてサブエージェントの実行レジストリを読み込むことで、未変更の subagents/runs.json の再解析を停止し、コントローラー/リスト/ステータスのホットパスでの負荷を軽減します。Refs #72338。@argus-as 氏に感謝。
ゲートウェイ/クライアント:Windows でモジュール評価が遅延してイベントループが応答不能になる事態を防ぐため、Gateway WebSocket の RPC/プローブ/クライアント接続を開く前にループの応答性を確認し、その待機時間を呼び出し元のタイムアウトに課します。これにより、ステータス、TUI、ACP、MCP、node-host、プラグインクライアントの各パスで、健全なループバックゲートウェイが誤ってハンドシェイクタイムアウトと判定される問題が解消されました。Refs #74279 および #48270。@wongcode 氏および @joost-heijden 氏に感謝。
- Gateway/Windows: PowerShell で
wmicにフォールバックする前にリスナーコマンドラインを読み取ることで、現代の Windows インストールで OpenClaw リスナーを認識し、長時間の非公開ポート待機を回避できるようにしました。Refs #74280. @zym951223 さんありがとう。 - Plugins/runtime-deps: バンドル依存関係のインストールロックにプロセス開始時刻を記録し、再利用された PID のロックを期限切れにする仕組みを追加しました。これにより、Docker ゲートウェイの再起動時に古い
.openclaw-runtime-deps.lockディレクトリが残っていても、5 分待機が繰り返されることなく回復できるようになります。Fixes #74346. (#74361) @jhsmith409 さんありがとう。
- プラグイン/ランタイム依存関係:パッケージ化されたバンドル済みランタイムのディストリビューションミラー準備を、最初の成功したパス後にメモ化します。ソースチェックアウト用ミラーは更新可能に保ちます。これにより、制約のある Docker や VPS 環境でのインストール時に、チャット開始前に繰り返しルートスキャンが行われるのを防ぎます。参照:#73428, #73421, #73532, #73477。@Dimaoggg, @oromeis, @oadiazp, @jmfraga, @bstanbury, @antoniusfelix, @jkobject 各位に感謝します。
- チャンネル/Discord:有効な Discord DM 許可リストと一致する、単なる数値のアウトバウンドターゲットをユーザーへの DM とみなすようにしました。ただし、継承されたルートの
allowFromよりもアカウント固有のレガシーdm.allowFromの優先順位は維持します。(#74303)@Squirbie 各位に感謝します。
Channels/Discord/Slack: ランタイム、セットアップ、許可リストの編集、ドクターによる修復 Across で 1 つの DM ポリシー/許可リスト解決器を共有し、従来の dm.policy および dm.allowFrom の互換性を移行する。
divergent なアクセスチェックを行わず、標準の dmPolicy および allowFrom に統一します。ご協力ありがとうございます、@Squirbie さん。
・コントロール UI: チャットサイドバーの分割線にフォーカス可能、キーボードでのリサイズ対応、ARIA による説明、ポインタイベントベースの実装を追加しました。これにより、マウスを使わずにサイドバーのリサイズが可能になります。@BunsDev さんへの感謝。
・エージェント/利用状況: PI の埋め込み実行テレメトリを「PI ハーネス」のラベルではなく、解決されたモデルプロバイダーに紐付けるように変更しました。これにより、OpenRouter や他のプロバイダー経由のトランザクションで、セッション利用やトレース時に正しいプロバイダーが報告されます。@vincentkoc さんへの感謝。
・エージェント/アトリビューション: ネイティブな OpenAI および Codex のトラフィック(SDK トランスポート、リアルタイム音声および TTS、デバイスコード認証、WHAM 利用、リモート埋め込みを含む)に OpenClaw のアトリビューションヘッダーを送信するようにしました。これにより、PI 由来のデフォルト設定がプロバイダーへのリクエストに漏れ出すことがなくなります。@vincentkoc さんへの感謝。
・エージェント/認証: OAuth 認証プロファイルは、メインのエージェントから読み取り専用として継承されるようにし、更新トークンをセカンダリエージェントへコピーしないようにしました。また、Codex アプリサーバーのトークンは所有するストアに対して更新処理を行うことで、マルチエージェント群におけるリフレッシュトークンの再利用失敗を回避します。#74055 を修正。@ClarityInvest さんへの感謝。
・チャンネル/Telegram: HTTP/1 のみ対応の Telegram Bot API トランスポート構築時に、ALL_PROXY / all_proxy およびサービスレベルの OPENCLAW_PROXY_URL を尊重するようにしました。これにより、これらのプロキシ設定に依存する Windows 環境やサービスインストールで、直接接続へのフォールバックが発生しなくなります。#74014 を修正; #74086 を参照。@SymbolStar さんへの感謝。
- Channels/Telegram: Bot API の接続失敗やネットワーク到達不能エラーを致命的なエラーとみなさず、タグ付きポーリングの未処理例外は Telegram の再起動パス経由で処理するようにしました。これにより、一時的な到達不能エラーによって Gateway が停止したり、ロングポーリングが永遠に止まったりする事態を防ぎます。Fixes #60515; refs #74540. Thanks @HemantSudarshan, @thacid22, and @ewimsatt.
- Channels/Telegram:
deleteWebhookで一時的なネットワーク障害が発生した場合でも、getWebhookInfoで Webhook が設定されていないことが確認されればポーリングを継続するようにしました。これにより、Webhook が既に削除された後に起動時にクリーンアップの再試行が永遠に続く問題を解消します。Refs #74086; carries forward #47384. Thanks @clovericbot.
Telegram チャンネル機能の改善:Telegram から QUOTE_TEXT_INVALID エラーが返された際、reply_parameters.quote を使用せずにネイティブな引用返信を再試行するようにしました。これにより、古くなったまたは切り捨てられた引用抜粋によって返信全体が失われる問題を解消し、Fixes #74581 に対応しました(@moeedahmed 氏への感謝)。
Telegram チャンネル機能の改善:grammy が接続前の失敗をラップしている場合、着信する最終的な返信に対して厳格な安全送信再試行を適用します。一方、曖昧な通常のネットワークエンベロープは重複した可視メッセージを避けるために単発処理のままに保ちます。Fixes #74203 に対応しました(@nanli2000cn 氏への感謝)。
Telegram チャンネルでは、長期間実行されているポーラーが起動後の猶予時間内に getUpdates を完了しなかった場合や、通信活動が古くなっている場合に、チャンネルステータスにライブ状態の警告を表示し、ドクター機能で検出するようになりました。これにより、以前は静かに失敗していたポーリングの不具合も明確に把握できるようになります。Refs #74299。@lolaopenclaw 氏への感謝。
Telegram チャンネル: Webhook の実行時ステータスを公開し、起動後の待機時間内に setWebhook が完了しない場合に警告を発行します。これにより、登録が失敗中または再試行中の間も、Webhook モードのアカウントが正常に見えなくなるのを防ぎます。Refs #74299。@lolaopenclaw 氏と @martingarramon 氏に感謝。
Telegram チャンネル: ネイティブコマンドメニューの Bot API コール deleteMyCommands と setMyCommands をバインドし、他の起動制御コールと同様にタイムアウト発生時のトランスポートフォールバック再試行を可能にしました。これにより、Windows や WSL でのネットワーク停止が発生しても、それ以外のプロバイダーが正常に動作している状況でコマンド同期が止まり続けることがなくなります。Refs #74086。@SymbolStar 氏に感謝。
ACP/コマンド:OpenClaw ブリッジ内で転送された ACP タイムアウト設定の制御を受け入れ、サポートされていない discard-close 制御を回復可能なクリーンアップとして扱う。また、ネイティブの /verbose full と引数なしステータス動作を復元し、Discord のコマンドメニューやネストされた ACP ターンが、サポートされるセッション制御に対して失敗しないようにした。@vincentkoc 氏に感謝。
Codex ハーネス:OpenClaw の動的ツールレスポンス後に turn/completed を送信せずに静かになったネイティブアプリサーバーのターンを中断・解放し、Discord やその他のチャネルが processing 状態で止まらないようにした。@vincentkoc 氏に感謝。
Codex ハーネス:OpenClaw の動的ツール応答を 30 秒に制限し、アプリサーバーブリッジが処理中にターンを停止する事態を防ぐため、明示的なツール結果でフェイルクローズする対応を行いました。@vincentkoc さんありがとうございます。 (原文の技術表記: processing)
TUI/ステータス:アクティブな実行が既にクリアされ、追跡対象の実行が残っていない状態で最終イベントが到着した場合でも、並列実行の所有権と非アクティブなローカル /btw ターミナル処理を維持しつつ、古くなった streaming フッター状態をクリアします。#64825 を修正し、#64842、#64843、#64847、#64862 の対応を引き継ぎます。@briandevans 氏と @Yanhu007 氏に感謝します。
Channels/Discord:Discord がボットの自身を識別できない場合に起動が失敗し、設定されたメンションパターンでのみメンションを検知できる状態ではメンションゲートを有効にしたまま維持することで、プロバイダーが欠落したボット ID のまま処理を続行しないようにします。#42219 を修正し、#46856 と #49218 の対応を引き継ぎます。@education-01 氏と @BenediktSchackenberg 氏に感謝します。
Channels/Discord:長い CJK(中国語・日本語・韓国語)の返信を句読点やコードポイントの安全なフォールバック境界で分割し、Discord のチャンク化が可読性を保ちつつ、アストラル文字が破損しないようにします。#38597 を修正し、#71384 の不具合を修復します。@p3nchan 氏に感謝します。
TUI:アクティブなツールやライフサイクルの生存確認(proof-of-life)の間はストリーミングウォッチドッグを維持し、切断中は一時停止、古くなった再接続実行後は履歴を再読み込みすることで、長時間の実行が誤ってアイドル状態になったり、古くなったストリーミングでフリーズしたりするのを防ぎます。#69081 を修正します。@EenvoudJasper 氏に感謝します。
Browser/gateway:Page.handleJavaScriptDialog から発生する Playwright のダイアログ閉じ競合を無視することで、Playwright がダイアログを受け付ける前にダイアログが消えた場合でも、ブラウザ自動化が Gateway をクラッシュさせないようにします。#40067。@randyjtw 氏に感謝します。
Cron/Gateway: 再起動後にプロバイダーが接続する間に、Discord や Telegram がリソース不足に陥るのを防ぐため、遅延した孤立エージェントのターン補完をチャネル起動ウィンドウ外で実行するように調整しました。@vincentkoc 氏への感謝。
Heartbeat/cron: Cron 処理がアクティブまたはキューにある間はハートビートのターンを延期し、サブエージェントやネストされたレーンの負荷圧力に対応するため、オプトイン設定 heartbeat.skipWhenBusy を追加しました。また、スケジュールの進行を伴わずに遅延スキップを再試行することで、ローカルの Ollama ホストでハートビートと Cron プロンプトが同時に実行されるのを防ぎます。これにより #50773 が修正されました。@scottgl9 氏への感謝。
エージェントや思考機能では、compat.supportedReasoningEfforts 設定に含まれる xhigh エントリを尊重し、カスタムの OpenAI 互換プロバイダ参照が、コマンド全体で /think xhigh を一貫して公開・検証できるようにします。
メニュー、ゲートウェイセッション、エージェント CLI、そして llm-task。#48904 の変更を引き継ぎます。@Milchstrassse さん、@wufunc さんに感謝します。
Vercel AI Gateway: 信頼できる OpenAI/Codex のアップストリーム参照にはプロバイダーが所有する /think xhigh を公開し、Anthropic のアップストリーム参照には Claude の適応型思考を対応させます。一方、信頼できないネームスペース付きの参照はベースレベルに留めます。これは #41561 の機能を引き継ぐものです。@Zcg2021 氏への感謝。
- プラグイン/ランタイム依存関係の整理: ゲートウェイ起動時に、古い
openclaw-unknown-*形式のバンドル済みランタイム依存関係のルートディレクトリを削除し、直近のものやロックされたものは保持するようにしました。これにより、再起動を繰り返しても古いステージング用のゴミが蓄積され続けるのを防ぎます。@vincentkoc さんありがとうございます。
プラグイン/ランタイム依存関係の更新:10 件の追加ルートパッケージのランタイム依存関係を含めました(@agentclientprotocol/sdk、@lydell/node-pty、croner、dotenv、jiti)。
※原文ではリストが途中で切れていますが、提供されたテキスト範囲内で自然な日本語にリライトしました。
json5, jszip, markdown-it, tar, web-push など
MIRRORED_CORE_RUNTIME_DEP_NAMES を使用して、semver や tslog とともにランタイム依存関係ツリーにミラーリングされるようにします。
コアのディストリビューションコード(例:qmd-manager、cron/schedule、infra/archive、infra/push-web、infra/backup-create など)から「パッケージ 'X' が見つかりません」というエラーが発生しています。 (原文の技術表記: Cannot find package 'X')
有効な拡張機能が依存関係を引き受けていない場合、process/supervisor/adapters/pty が使用されます。
root パッケージの依存パッケージに対する値インポートが src/ ディレクトリに存在するかスキャンし、ミラーの許可リストや拡張機能所有セットに含まれていない場合に CI を失敗させる静的ドリフトガードテストを追加しました。#74199 参照。@maxpuppet 氏への感謝。
- Ollama: ネイティブ
/api/chatストリームにおいて、guarded-fetch のタイムアウトと組み合わせて呼び出し元からの中止信号を処理するように変更し、/stopコマンドや早期キャンセルがローカル Ollama リクエストにも確実に中断されるようにしました。
プロバイダーのタイムアウト予算を保持します。リファレンス #74133。@obviyus 氏に感謝。
- ドクター/TTS:
openclaw doctor --fixの実行時に、従来のmessages.tts.enabledエージェント TTS、チャンネル TTS、および音声通話プラグイン TTS の切り替えを、文書化された TTS 設定契約に合わせて「auto」モードへ移行します。@vincentkoc 氏に感謝。
CLI/ログ:明示的なループバックゲートウェイ接続が閉じられた場合やタイムアウトした場合、設定されたゲートウェイファイルのログにフォールバックするようになります。
AI算出
通常リリースainew評価高い
AI エージェントの運用管理やセキュリティ強化に関する詳細な変更点が明記されており、新規性が高いが、これは既存製品の定期的なバージョン更新であるため「routine_release」と分類する。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 75
- 調べる価値
- 75
- 重複の少なさ
- 100
- 日本での有用性
- 25
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み