OpenClaw v2026.5.14-beta.2 の変更点
本文の状態
日本語全文を表示中
詳細モードで約64分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
OpenClaw Changelog
OpenClaw が v2026.5.14-beta.2 をリリースし、チャンネル SDK にコマンド転送事実を追加し、エージェント設定で個別プロファイルオーバーライドをサポートした。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
変更点
Channels/SDK: チャンネルのターン構築に正規化されたコマンド実行事実を追加し、プラグインのインバウンドコンテキスト向けにコマンド・ターンヘルパーを公開しました。
Agents/config: contextInjection に対してエージェントごとのブートストラッププロファイルのオーバーライドをサポートしました。
bootstrapMaxChars と bootstrapTotalMaxChars は、指定しない場合に agents.defaults から継承されます。これにより #69966 が修正されました。@BunsDev 氏に感謝します。
依存関係の整理:ルート環境のノードプロキシエージェントを @openclaw/proxyline 経由でルーティングし、ルートレベルでの proxy-agent、https-proxy-agent、minimatch の依存関係を削除しました。
Canvas: HTTP ホストの遅延読み込み、ホストされたメディアの解決機能、CLI 実装、およびツールランタイムモジュールを導入し、Gateway の起動時に Canvas 実装コストがかかるのは初回利用時だけになるようにしました。(#82001) @samzong 氏に感謝します。
・Control UI/i18n:ハードコードされたコピーの重点領域とロケールフォールのバックメタデータを対象とした、pnpm ui:i18n:report ベースラインレポートを追加しました(#81320)。@samzong さんありがとうございます。
・メンテナーツール:Codex のクローズアウトレビュー用のリポジトリローカルな codex-review スキルを追加しました。これには、ローカルの下書き作業や PR ブランチのレビュー支援が含まれており、受け入れ可能なアクション可能な発見事項が残らなくなるまで再実行し、--base オプションでサポートされていないインラインプロンプトを回避します。
・メンテナーツール:プルリクエストがパッケージのパッチファイルや pnpm パッチ済み依存関係を追加した場合に CI を失敗させ、アップストリームとバージョンアップの依存関係ワークフローを維持します。
・Codex app-server:コメント付きプレアブルを編集可能なチャンネル進捗ドラフトへストリーミングしますが、最終回答として昇格させることはありません。
Codex の移行:バンドルされた codex-cli バックエンドを削除し、レガシーな codex-cli/* モデル参照を openai/* 上の Codex アプリサーバールートに修正しました。
ゲートウェイ/起動処理:認証、プラグインの読み込み、ルックアップ回数、プラグインサイドカーサービスについて、オーナーレベルでの起動トレース属性を追加しました(#81738)。@samzong 氏への感謝。
プラグインやフックでは、llm_output およびサニタイズ済みの model_call_* フックイベント・コンテキストに、解決された有効な contextTokenBudget とソース/参照メタデータを公開します。これにより、プラグインの費用管理やエージェントレベルの文脈制限に基づくアラートを可能にします。#64327 を修正しました。@BunsDev 氏に感謝します。
チャネル/ステータス反応:StatusReactionController を WhatsApp メッセージの処理フロー(キューイング→思考中→ツール実行→完了/エラーというライフサイクル)に接続します。これは Telegram や Discord と同等の機能です。
deploy、build、concierge の各絵文字カテゴリにツールトークンルーティングを実装し、置き換える
ステータス反応は、自己説明的な絵文字(🧠 思考中、🛠️ ツール実行中、💻 コーディング中、🌐 Web 処理中、⏳ ソフト待機、⚠️ ハード待機、✅ 完了、❌ エラー、🗜️ コンパクション中)でデフォルト設定され、これにより待機状態や...
ライフサイクルの反応は、感情的なコメントではなくステータスインジケーターとして読み取られるようになりました。#59077 を修正します。(#80612) @gado-ships-it 氏に感謝。
- コントロール UI: 外観とクイック設定にブラウザローカルのテキストサイズ設定を追加し、チャットや高密度な UI テキストをスケーリングします。ただし、入力フィールドはモバイル Safari のフォーカスズームの閾値より上になるよう維持されます。#8547 を修正します。@BunsDev 氏に感謝。
ドキュメント更新:DS4 専用プロバイダーページを追加し、ローカル DeepSeek V4 Flash の設定、オンデマンド起動、コンテキストサイズの調整、ライブ検証手順を明記しました。
リリース検証:パッケージインストール型 Docker 環境におけるオンボーディング、モックモデル設定、外部プラグインのインストール・アンインストール、ClickClack の双方向メッセージング、Gateway の再起動耐性、およびドクターチェックを含むユーザー体験フローを追加しました。
リリース検証:リアル TTY オンボーディング、メディアとメモリの永続化、パッケージアップグレードフロー、ローカルマーケットプレイスでのプラグインインストール・アップデート・アンインストールの網羅性を確認する Docker 環境用の検証レーンを追加しました。
メンテナ向け機能:Discrawl に基づくコントリビューター PR のトリアージ、リアルタイムステータス確認、簡潔なレビューフォーマットを実現する「Clawdtributor」スキルを追加しました。
Telegram: 汎用的なメッセージ提示ペイロードにおいて Mini App の web_app ボタンをサポートし、openclaw message send --presentation コマンドでプライベートチャットに Telegram Web App のインラインボタンをレンダリングできるようになりました。(#81356) @jzakirov 氏に感謝。
スクリプト: 大規模なローカルワークツリーが独立したヘビーチェックロックを利用できるように、OPENCLAW_HEAVY_CHECK_LOCK_SCOPE=worktree を追加しました。共有ロックは引き続きデフォルトです。#80729 の不具合を修正しました。(#80734) @samzong 氏に感謝。
エージェント/サブエージェント:タスクをサブエージェントのシステムプロンプト内に隠すのではなく、子セッション内の最初の可視 [Subagent Task] メッセージでネイティブな sessions_spawn タスクとして配信します。これにより、トークンの重複なしに委任の監査可能性が維持されます。#78592 を修正しました。@bradestes 氏と @stainlu 氏へ感謝。
- メッセージ/キュー:
/queue steerコマンドにより、途中の プロンプトがデフォルトでアクティブな実行を誘導するように変更しました。メッセージをキューに積むことを希望するユーザー向けに、/queue followupと/queue collectは引き続き利用可能です。
デフォルトでは、ステアリングが利用できない場合も /steer コマンドを通常のプロンプトとして継続して実行します。
(#77023)@fuller-stack-dev 氏に感謝。
- Voice Call/Telnyx: 会話型音声通話のためのリアルタイムメディアストリーミング通話サポートを追加しました。 (#81024) @dynamite-bud 氏に感謝。
- 依存関係管理: リリース時の依存関係リスクをレビューできるよう、リリース依存関係の証拠レポート、npm アドバイザリによるゲート制御、PR での依存関係変更の通知機能を追加しました。@joshavant 氏に感謝します。
- ゲートウェイ: エージェントイベントペイロードにオプションの
isHeartbeatメタデータを公開し、クライアントがスケジュールされたハートビート実行と通常のチャット実行を区別できるようにしました。(#80610)@medns 氏に感謝します。 - エージェント: 埋め込み Pi ランナーのリトライループ制限用の設定として
agents.defaults.runRetriesとagents.list[].runRetriesを追加しました。(#80661)@medns 氏に感謝します。
Codex: ペアリングされたノード上で実行中の既存の Codex CLI セッションを継続できるよう、ノードバックド型の Codex CLI セッション一覧表示およびバインディング機能を追加しました。
修正事項
モデル/プロバイダー: 保護されたモデルの HTTP リクエストに対して、設定済みのカスタムまたはローカルプロバイダー baseUrl のオリジンを信頼します。これにより、広範なプライベートネットワークへのアクセスを必要とせずとも、ループバック、LAN、Tailnet、およびプライベート DNS エンドポイントが動作可能になります。一方で、異なるポートやメタデータ、リンクローカルのピボットは引き続きブロックされます。Fixes #80732. (#81884) Thanks @Kaspre and @msitarzewski.
結合されたオプション [AI] の後にバインドシェルスクリプトの演算子を配置します。(#81882) Thanks @pgondhi987。
fix(canvas): スナップショットレスポンス形式を検証します [AI]. (#81881) Thanks @pgondhi987。
プロバイダーカタログエントリーパスを制限します [AI]. (#81884) Thanks @pgondhi987。
正規のノードプラットフォーム ID を必須とします [AI]. (#81880) Thanks @pgondhi987。
Agents/Azure OpenAI Responses: Azure OpenAI API のバージョン指定がデフォルトで未設定の場合、preview を使用し、/openai/v1/responses 呼び出しは Azure の最新の Responses API ルートを利用するようにしました。(#82026) @leoge007 氏に感謝。
Control UI/WebChat: デスクトップ版のチャットヘッダーにあるコントロールを、セッション、モデル、思考、アクションの各項目が縦方向のスペースを無駄に使わないよう、1 つの整列された行にまとめました。@BunsDev 氏に感謝。
Agents: 汎用的な anthropic-messages プロバイダに対して、空の最終ターンが発生した際に再試行を行うようにしました。これにより、非表示の回復処理が Kimi に限定されていた従来の挙動から変更され、カスタムやプロキシ経由の Anthropic 互換ルートでも、回答を可視化して回復できるようになります。#46080 の課題に対応。@wmgx 氏、@w1tv 氏、@iFwu 氏に感謝。
エージェントと返信機能:ユーザーが確認できるパスからワークフローの足場を削除し、ツールからの生出力がチャット履歴や転写ミラー、チャンネルへの返信に漏れないようにする。#47444 を修正しました。@5toCode 氏に感謝します。
Agents/media: 生成された画像、音楽、動画の結果を構造化アタッチメントを通じて配信し、メッセージツールのみを使用する Codex の補完はメッセージツール内に留め、期待されるメディアが実際に送信されない場合は補完のハンドオフを失敗させる。
Diagnostics/Codex: デフォルトの停止実行ウィンドウを短縮することで、停止した埋め込み Codex アプリサーバーの実行を回復し、キューされたターンをより早く再開できるようにする。
Control UI: ビルドごとにブラウザサービスワーカーキャッシュをローテーションさせ、更新されたゲートウェイがプロトコルミスマッチエラーを引き起こす古いダッシュボードバンドルを提供し続けるリスクを低減する。
Gateway/protocol: 各 AJV スキーマをコールドインポート時にコンパイルするのではなく、初回使用時にプロトコルバリデータを遅延コンパイルすることで、起動時の CPU と RSS を削減する。(#82064) @samzong 氏に感謝。
Discord: アカウントが未設定として扱われるのではなく、起動時に解決されていない構成済みボートークン SecretRefs を報告するように変更した。(#82009) @giodl73-repo 氏に感謝。
CLI/config: config patch の再帰的マージ中に Discord ギルド ID などの数値に見えるオブジェクトキーを保持する。(#81999) @giodl73-repo 氏に感謝。
Gateway/OpenAI-compatible HTTP: /v1/chat/completions リクエストからの response_format をエージェントストリームパラメータを通じて、アップストリームの Chat Completions および Responses トランスポートへ転送し、構造化出力サポートを復元する。#82003 の修正。(#82004) @Lellansin 氏に感謝。
Control UI/WebChat: サイドバーのマークダウンコードブロックの「コピー」ボタンが、チャットメッセージと同じ委譲クリップボードハンドラを使用するように変更した。(#58709) @tikitoki 氏に感謝。
- Discord/ストリーミング: 最終編集後、またはフォールバック配信が成功した場合にのみ部分的なドラフトプレビューを表示するように変更しました。これにより、最終化の失敗時にクリーンアップ処理が行われ、古く切り捨てられたドラフトが削除され、表示される返信として残るのを防ぎます。#82035 を修正しました。@compoodment 氏に感謝します。
- macOS/Gateway:
openclaw gateway status --deepコマンドおよびドクター機能で、更新後に残ったai.openclaw.update.*launchd アップデートジョブを表面化し、更新後の launchd ループが古く不要な設定を指す問題を解決します。
ジョブのクリーンアップ。#81859 を修正しました。@BKF-Gitty さん、ありがとうございます。
macOS のスクリーンショット機能において、キャプチャ前に不正な screen.snapshot パラメータを拒否し、base64 形式の結果を予測された node.invoke.result フレームに対してバインドします。また、過大なペイロードやキャプチャ失敗時に呼び出し元が直面するエラーは安定して保持されます。#68181 を修正しました。@shaun0927 さんと @BunsDev さん、ありがとうございます。
- Config/doctor:
.clobbered.*の修復スナップショットを、アートのタイムスタンプに基づいて回転させるように変更しました。これにより、繰り返し修復を行う際にも、最初のセットのみが保存されるのではなく、最新の forensic copy が維持されます。(#82012)@Kaspre 氏に感謝します。 - Telegram: ボットを初期化するタイミングを調整し、孤立したポーリングによってスパイルされた更新情報が消費される前に処理が行われるようにしました。これにより、デフォルトの孤立したポーリングで「
Bot not initialized」というエラーが毎回再試行されたり、返信が停止したりする問題が解消されました。(#81975)@neeravmakwana 氏に感謝します。 - Telegram: メッセージ削除やアクションを実行する直接クライアントに対して、メソッドに応じた Bot API リクエストタイムアウトを適用しました。これにより、API リクエストが応答しなくなった際に、grammy のデフォルトである 500 秒待機する必要がなくなりました。(#81973)@DashLabsDev 氏に感謝します。 (原文の技術表記:
openclaw message delete --channel telegram)
Cron: 試行のディスパッチと組み立て済みコンテキストを、実行開始のマイルストーンとして扱うように変更しました。これにより、バックエンドでのディスパッチ完了後に到達した孤立型エージェントジョブは、60 秒の事前実行ウォッチドッグではなく、設定されたジョブタイムアウトによって管理されるようになります。#81368 を修正しました。(#81871)@alexph-dev 氏に感謝します。
Doctor/auth: 古くなったエージェントごとの OAuth 認証プロファイルのシャドウについて警告し、openclaw doctor --fix コマンドでローカルシャドウを削除できるようにしました。これにより、エージェントはより新鮮なメインエージェントの資格情報を引き継ぐようになります。
Status/channels: プラグイン設定の読み込みに失敗したチャンネルを、openclaw status から静かに除外するのではなく、「plugin load failed: dependency tree corrupted; run openclaw doctor --fix」と表示するように変更しました。
ステータス/更新情報:openclaw status で保留中または失敗した更新の再起手渡しを表示し、openclaw update ではゲートウェイの再起動が検証された、スキップされた、または失敗した場合のガイダンスを明示的に出力するように変更しました。
QA/更新:status --all のガイダンス、doctor --fix によるクリーンアップ、およびチャネル状態の回復を検証する、E2E コーrupt プラグイン依存関係のランを追加しました。
- Discord/channels:
openclaw channels list --allコマンドが、到達可能な Gateway ランタイムアカウントのステータスを優先し、設定済みだが利用できない認証情報を明示的にマークするように変更しました。これにより、サービス専用環境から Discord を実行した場合でも、「未設定」という誤った出力が表示されるのを防ぎます。Fixes #79343. Thanks @EricY019. (原文の技術表記:not configured)
WhatsApp:メッセージツール限定のグループ返信モードでも、承認されたグループコマンドへの返信が常に表示されるよう、テキストスラッシュコマンドを「コマンド実行」としてマークするようになりました。(#81972) @barbarhan 氏に感謝します。
Providers/OpenCode Go: Kimi K2.5/K2.6 に対してサポートされていない推論パラメータの送信を停止し、OpenCode Go のペイロード検証エラーを防ぎつつ、DeepSeek V4 の推論機能は維持します。
Installer: タグ取得との競合を引き起こさずに移動する参照からの非対話型 git インストールに対応し、同時に凍結されたロックファイルでのインストールでは不変の参照を保持します。(#81875) @keshavbotagent 氏に感謝。
Codex app-server: モジュールスコープのテスト状態を使用する代わりに、各実行とコンパクション試行ごとにネイティブクライアントファクトリを注入し、循環起動中のタイムリーデッドゾーン読み取りを防ぎます。(#81148) @bdjben 氏に感謝。
Plugin skills: 現在のスキルリンクの公開前に生成された Windows プラグイン・スクリプトディレクトリを置き換え、古くなった非シンボリックリンクエントリによる EINVAL 警告の繰り返しを防ぎます。#81432 を修正。(#81446) @hclsys 氏と @vincentkoc 氏に感謝。
Channels/config: enabled: true のみを含むチャンネルエントリを構成済み状態として扱い、プラグインバックドのチャンネルが明示的なオンスイッチから自動有効化できるようにします。#81323 を修正。(#81331) @EvanYao826 氏と @vincentkoc 氏に感謝。
CLI/update: 外部でスワップされたコアランタイム用の更新完了パスを追加し、完了報告前にポストドクター設定およびインストールレコードの状態から更新時のドクター修復とプラグイン収束を実行します。@shakkernerd 氏に感謝。
CLI/update: パッケージ更新後のプラグイン同期前に、パッケージアップデートのドクター修復後に設定を更新し、パッケージアップグレード中の古いハッシュ競合を防ぎます。
macOS/Gateway: 手動管理された LaunchAgent パッケージが、終了後の CLI 経路へ自己更新し、エージェント起動による更新待ち状態を残す代わりに、更新リスタートのセントリーを通じてハンドオフ失敗を報告するようになりました。これで #81894 が修正されました。(#81945)@BKF-Gitty 氏に感謝。
Agents/WebChat: 古い errorMessage が課金、認証、レート制限のパターンと一致している成功したアシスタントのターンについて、現在の試行が実際のフォールオーバー失敗でない限り、プロファイルの回転やフォールバックを行わず、ハードな FailoverError を表示しないように変更しました。(#70900)@truffle-dev 氏に感謝。
Control UI/usage: ダッシュボードヘッダーを唯一のページタイトルとするため、重複していた内部の Usage ページ見出しを削除しました。@BunsDev 氏に感謝。
・Control UI/WebChat: 個別実行時の安全領域インセットが過小評価される場合でも、iOS のホームインジケーターの上にモバイル PWA コンポーザのコントロールを維持します。#77408 を修正しました。@BunsDev さんありがとうございます。
・Control UI/logs: Gateway Logs ストリームの高さをビューポートに連動させ、最小高さの下限を設定しました。これにより、大きな画面ではより多くのログ行を表示できるようになり、短いビューポートでも表示が崩れることがなくなります。(#53916)@extrasmall0 さんありがとうございます。
・ACP/Codex: 汎用的な ACP の内部エラー時に、赤acted された Codex ラッパーの stderr を表示するようにし、隔離された CODEX_HOME 内で安全な Codex モデル/プロバイダーのルーティングを維持しました。これにより、sessions_spawn(runtime="acp", agentId="codex") の失敗が対応可能なものになります。#80079 を修正しました。(#80718)@leoge007 さんありがとうございます。
Agents/trace: 統合されたフォールバック試行が、勝つまでの間にプライマリモデルの失敗を検証した場合、実行トレースを「フォールバック使用済み」としてマークします。これにより /trace raw とエージェント JSON テレメトリの一貫性が保たれます。これは #81213 におけるフォールバックテレメトリの問題に対処したものです。@BKF-Gitty 氏に感謝。
ACP: 拒否されたタイムアウト設定オプションを「ベストエフォート」のヒントとして扱い、session/set_config_option のタイムアウトキーをサポートしないアダプターを持つ ACP ターンも継続して実行できるようにします。#81250 を修正しました(#81603)。@qkal 氏に感謝。
Cron/Codex: デフォルトで、正確なコマンドを実行するスケジュールされたエージェントターンを軽量なブートストラップコンテキストとして扱います。これにより、ワークスペースのアイデンティティやメモリコンテキストを読み込む前に、自動化スクリプトがコマンドを実行できるようになります。
Codex cron: 軽量なアプリサーバーの Cron ターンではネイティブ Codex プロジェクトドキュメントの読み込みを無効化します。OpenClaw がブートストラップコンテキストを抑制した後にプロジェクトドキュメントが注入されるのを防ぐためです(#81822)。@jalehman 氏に感謝。
Codex plugin/Gateway: Codex アプリサーバーの JSON-RPC ペイロードから、対応していない UTF-16 サロゲートを除去します。また、古い応答の回復処理がタイムアウトした実行を中止させることで、不正なメディアターンによるゲートウェイレーンの停止を防ぎます。
Codex app server: OAuth のリフレッシュ要求において、リフレッシュ失敗後に不変の継承認証プロファイルトークンを再利用するのではなく、実際にトークンを更新する処理を実行します(#80738)。@simplyclever914 氏に感謝。
Control UI/WebChat: /tts audio の応答を、アシスタントメディアチケットパスを通じて再生可能なオーディオ添付ファイルとしてレンダリングします。古いライブペイロードとの互換性も確保されています(#81722)。@Conan-Scott 氏に感謝。
- リクエスト者のメタデータにゲートウェイ承認アクセスをバインド [AI]。(#81380) @pgondhi987 氏への感謝。
- Telegram: 孤立したポーリング、ダイレクトメッセージ(DM)、ステータス/制御コマンドを並列で処理しつつ、同じレーンの順序を保ちながらドレインを行うように改善しました。(#81849) @VACInc 氏への感謝。
- Telegram: HTML フォールバック送信から読みやすいプレーンテキストの再試行を取得し、解析失敗時に生のアンドゥリンクではなく
label (url)リンクを表示するように改善しました。(#81764) @alexph-dev 氏に感謝。
Ollama/Doctor: openclaw doctor --fix 実行時に、明示的なネイティブ Ollama の contextWindow または maxTokens プロバイダー・モデルの予算を params.num_ctx にコピーし、これを保持します。
ネイティブの Ollama がリクエストごとの推論を停止した後の、大規模コンテキスト設定について
num_ctx の不具合を修正しました。#81878 を解決します。(PR #81928)
@joshavant さん、@ArthurusDent さんに感謝します。
- Discord: メッセージ送信時に既存のスレッドに対して
threadNameを尊重し、正常に配信された後にスレッド名をリネームする機能を追加しました。また、リネームが適用できない場合は警告を表示します。Fixes #81836. (#81933) Thanks @joshavant. - Build: ルートディストリビューションアートのビルドから、外部化された Slack、OpenShell サンドボックス、Anthropic Vertex のランタイム依存関係の宣言を除外しました。
- ClawHub: 公開レジストリのメタデータに Amazon Bedrock および Bedrock Mantlet プロバイダーパッケージを含めることで、npm だけでなく ClawHub からも外部化されたプロバイダーを検出可能にしました。
- Codex アカウント/ステータス: 空のレート制限バケットを非表示にし、サーバーから報告された使用量制限ブロックを表示します。ただし、これらは「利用可能」としては扱いません。 (原文の技術表記:
message send)
- Auto-reply/Claude CLI:
onReasoningStreamを通じて、CLI ランタイムのアシスタントテキストとデルタエージェントイベントをチャット推論プレビューに橋渡しします。既存のアシスタントテキスト(#76914)やツールイベント(#80046)のブリッジと同様に動作しますが、非 CLI ランタイムには影響しないようゲート機能を追加しました。@anagnorisis2peripeteia 氏と @pashpashpash 氏に感謝します。 - Mantis: QA の証拠は Actions アーティファクト内でのみ保持し、Git ベースのアーティファクトブランチへの公開を停止します。
- CLI/migrate: Codex プラグインマーケットプレイスからの応答が遅延した場合でも、警告や次の手順、競合状態を ⚠️ 記号で表示できるようにしました。また、インストール後の移行リトライでは、プラグイン項目を黙ってスキップするのではなく、マーケットプレイスのフェッチ処理を再試行します。(#81625)@sjf 氏に感謝します。
- Channels/Weixin: バンドルされている外部エントリー
@tencent-weixin/openclaw-weixinのバージョンを2.4.1から2.4.3に引き上げました。これにより、オンボーディング時やopenclaw channels addコマンド実行時に、最新のバージョンが正しくインストールされるようになります。
Tencent Weixin(個人用 WeChat)プラグインのリリースについて。(#81730) @scotthuang 氏に感謝します。
CLI: モデル、プラグイン、デバイスランタイムヘルパーを遅延読み込みし、生成された起動メタデータまたは汎用的なフォールバックテキストにチャンネルオプションのヘルプ情報を保持することで、これらのランタイムパスを読み込まずに親プロセスやヘルプ出力が正しくレンダリングされるようにする。
CLI: plugins list --json コマンドをパース済みコマンドの高速経路経由でルーティングし、レスポンス予算内で処理できるようにして、プラグイン JSON 一覧取得時にフル CLI の読み込みを回避する。
登録作業。
- コントロール UI/概要:共有セッション表示リゾルバを通じて直近のセッション行をレンダリングし、ラベルや表示名の優先順位、キー等価ラベル、チャネルフォールバックがチャットセレクタと一貫するようにします。(#50696) @Maple778 さん、@BunsDev さんに感謝。
- ゲートウェイ/ネットワーク:OpenClaw でインストールされた undici ディスパッチャーを HTTP/1.1 に維持し、破棄された HTTP/2 セッションのエラーを回復可能なネットワーク切断として扱います。これにより、
ERR_HTTP2_INVALID_SESSIONがアクティブなゲートウェイのターンでクラッシュするのを防ぎます。#81627 を修正。(#81838) @joshavant さんに感謝。
メモリ/日常ファイル: Dreaming、rem-backfill、rem-harness、ドクターのスイープ、短期プロモーションで利用される日常メモリのファイルマッチャーを拡張し、バンドルされたセッションメモリフック(および将来のスラッグ付きバリアント)によって作成される memory/YYYY-MM-DD-.md ファイルが、日付のみを含む memory/YYYY-MM-DD.md 形式のファイルとともに検出されるようにしました。日付の抽出は依然として先頭の YYYY-MM-DD キャプチャグループを使用するため、既存の日付のみファイルに対する1日ごとの取り込みやプロモーションのセマンティクスは変更されていません。スラッグ付きファイルも今後は同じパスを通過するようになり、以前のように無視されることはなくなります。Fixes #69536. Thanks @jack-stormentswe.
- macOS/Gateway: 設定済みのゲートウェイポートがクリーンアップ後も使用中のままだった場合、管理された LaunchAgent の停止と再起動に失敗し、リスナーが残存しているにもかかわらず成功を報告する問題を修正しました。#73132 を解決。@BunsDev 氏に感謝。
Telegram: 定期的な getMe ヘルスチェックに、スタックされた IPv4 Bot API トランスポートを再利用します。これにより、IPv6 の送信経路が破損しているが IPv4 は動作するホストで、繰り返しプローブのタイムアウトログが発生する問題を解消しました(Fixes #76852)。(#76856) @SymbolStar 氏に感謝。
Telegram: バンドルされたワーカーローダーが使用するルートディストパスに、隔離されたポーリングワーカーを配備します。これにより、dist/telegram-ingress-worker.runtime.js を探して起動失敗する問題を回避できます。
Control UI/Gateway: 信頼できるデバイストークンの再試行オプションがない場合、古いトークン不一致による再接続ループを停止します。また、ダッシュボード認証や履歴操作がチャネルソケットの劣化を引き起こし続けるのを防ぐため、レンダリングされるチャット履歴を生のツール出力サイズで制限します(Fixes #72139)。@BunsDev 氏に感謝。
メモリ/デイリーファイル:キャップされたライブインジェクションと履歴シード中、スラッグ付きセッションのキャプチャが存在する場合でも、正規の memory/YYYY-MM-DD.md デイリーノートが優先されるようにし、スラッグ付きファイルが存在する際の既存のデイリーノート動作を維持します。
ゲートウェイ/OpenAI 互換 HTTP:不正な Host ヘッダーを信頼せず、共有 JSON エンドポイントパスを解析することで、/v1/chat/completions や /v1/responses の前段階で 500 エラーが発生しないように対策しています。
/v1/embeddings リクエストの処理について。
- Telegram: アクティブなランタイム設定を使用してプラグインネイティブコマンドを解決し、
/codex ...などのコマンドがネイティブコマンドパスから外れないようにします。 - Voice-call webhooks: 不正な Host ヘッダーを信頼せず、ウェブフックとリアルタイムアップグレードパスを解析することで、プロバイダの署名チェックやパス拒否の前段階で 500 エラーが発生するのを防ぎます。
メディアストア:不正なリダイレクトの Location ヘッダーを、URL パースが非同期応答コールバックから逸脱するのを防ぐため、メディアダウンロード失敗として拒否します。
ClickClack:単一の不良 JSON イベントでチャンネルモニターを停止させるのではなく、不正なリアルタイム WebSocket フレームをスキップします。
ブラウザツール:不正なノードプロキシ payloadJSON 応答を、生の JSON パーサーエラーが漏洩するのではなく、ブラウザプロキシの失敗として扱います。
ゲートウェイ HTTP:不正な Host ヘッダーを信頼せず、モデル、セッション終了、セッション履歴のルートパスを一致させることで、これらのエンドポイントでの事前認証 500 エラーを防ぎます。
Google Meet/Codex:プラグインが所有するエラーで報告し、生の JSON パーサー障害が漏洩しないように、不正なノードプロキシ payloadJSON 応答を報告します。
- デバッグプロキシ:相対形式のプロキシターゲットが不正な場合、URL パース処理がリクエストハンドラを迂回してエラーを引き起こすのを防ぎ、制御された 400 エラーレスポンスで拒否します。
- ファイル転送:ノードの緩やかな base64 デコーダに依存する前に、不正なインライン
file_writeの base64 を拒否し、ハッシュ計算や対応するノードの呼び出しを回避します。 - QA チャンネル:エージェントのターンで無事に破損したメディアがステージングされるのを防ぐため、不正なインライン添付ファイルの base64 をスキップします。
- Microsoft Teams:破損した
data:画像添付ファイルをデコードする代わりに、不正なインライン HTML 画像の base64 パディングを拒否します。 - ボイス通話リアルタイム:音声データをブリッジや文字起こしパスへ転送する前に、プロバイダーからの不正なメディアフレームの base64 を無視します。
- QQBot:構造化されたリマインダーデータの JSON デコードを行う前に、保存された cron ペイロードの base64 が不正な場合を拒否します。
Telnyx 音声通話:Webhook の状態が不正なベース64文字列の場合、無効にされたデコード済みテキストを使用するのではなく、生の client_state をフォールバックとして使用します。
Google Meet:プラグインが所有するエラーを使用して、不正なノードホストパラメータの JSON を報告し、生の JSON パーサー失敗を露出させないようにします。
CLI/export-trajectory:生のパーサー出力を露出させるのではなく、安定した CLI エラーを使用して、不正にエンコードされたリクエスト JSON を報告します。
ComfyUI:生のパーサー失敗を露出させるのではなく、所有するエラーを使用して、不正なワークフロー API の JSON レスポンスを報告します。
DeepInfra 動画:生のパーサー失敗を露出させるのではなく、プロバイダーが所有するエラーを使用して、正常に返されたが不正な API の JSON レスポンスを報告します。
Brave Search:生のパーサー失敗を露出させるのではなく、プロバイダーが所有するエラーを使用して、不正な Web および LLM コンテキスト API の JSON を報告します。
xAI ツール:プロバイダーが所有するエラーを使用して、不正な Web 検索、X 検索、コード実行の JSON を報告し、生のパーサー失敗を露出させないようにします。
Nextcloud Talk:チャンネルが所有するエラーを使用して、不正なルーム情報およびボット管理 JSON を報告し、生のパーサー失敗を露出させないようにします。
Microsoft Teams:チャンネルが所有するエラーを使用して、不正な Graph および委任 OAuth の JSON を報告し、生のパーサー失敗を露出させないようにします。
Google Chat:チャンネルが所有するエラーを使用して、不正な Chat API および証明書 JSON を報告し、生のパーサー失敗を露出させないようにします。
Firecrawl:プロバイダーが所有するエラーを使用して、不正な検索およびスクレイピング API の JSON を報告し、生のパーサー失敗を露出させないようにします。
Tavily: 検索および抽出 API の JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
Perplexity: 検索 API およびチャット完了時の JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
Exa: 検索 API の JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
Memory host SDK: POST およびバッチファイルアップロードのレスポンスでリモート JSON が不正な場合、パーサーの失敗を露呈するのではなく、呼び出し元スコープに属するエラーとして報告します。
メディアプロバイダー: 操作ポーリングおよび音声文字起こしの JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
MiniMax、Gemini、Kimi、Ollama の Web 検索:API の JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
Twilio ボイス通話: API の成功レスポンスである JSON が不正な場合、パーサーの失敗を露呈するのではなく、プロバイダーが定義したエラーとして報告します。
ボイス通話プロバイダー API: 保護された JSON レスポンスが不正な場合、パーサーの失敗を露呈するのではなく、プロバイダー接頭辞付きのエラーとして報告します。
リアルタイム文字起こし:プロバイダー WebSocket の JSON フレームが不正な場合、SyntaxError オブジェクトを露呈するのではなく、独自に定義されたパーサーエラーとして報告します。
Microsoft Foundry: Azure CLI トークンの JSON が不正な場合、パーサーの失敗を露呈するのではなく、認証に関する独自エラーとして報告します。
ゲートウェイ/モデル価格設定:外部価格カタログの JSON が不正な場合、パーサーの失敗を露呈するのではなく、ソースが定義したエラーとして報告します。
- QA Lab: 不正なモデルカタログのサブプロセス JSON を、所有するエラーとして報告し、無効なカタログ行は除外します。
- Google Meet: ブラウザ制御ステータスの不正な JSON を、生パースエラーを露出させるのではなく、プラグレットが所有するエラーとして報告します。
- Google プロバイダー:SSE ストリームの不正な JSON を、生パースエラーを露出させるのではなく、プロバイダーが所有するエラーとして報告します。
- Node ホスト:組み込みの invoke に対する
paramsJSONの不正さを、生パースエラーを露出させるのではなく、安定した無効リクエストエラーとして報告します。 - Amazon Bedrock エンベディングス:プロバイダーからの応答 JSON が不正な場合、生パースエラーを露出させるのではなく、プロバイダーが所有するエラーとして報告します。
- QQBot: アクセストークンの不正な JSON を、プロバイダーが所有するエラーとして報告します。
- OpenAI エンベディングス:バッチ出力の JSONL が不正な場合、生パースエラーを露出させるのではなく、プロバイダーが所有するエラーとして報告します。
- Synology Chat: Webhook ペイロードの不正な JSON を、チャンネルが所有する安定したパースエラーとして報告します。
- Mattermost: インタラクションコールバックの不正な JSON を、チャンネルが所有する安定したパースエラーとして報告します。
- Twilio 音声通話:メディアストリームの WebSocket JSON が不正な場合、生パースエラーをログに記録するのではなく、所有するパースエラーとして報告します。
- Tlon/Urbit: SSE イベントの不正な JSON を、生パースエラーをログに記録するのではなく、所有するパースエラーとして報告します。
- Signal: GitHub リリースメタデータが不正な JSON の場合、安定したインストーラーエラーを返します。
ClawHub: 所有権を持つエラーとして不正な成功したマーケットプレイス JSON レスポンスを報告し、生きたパーサーの失敗を漏らさないようにする。
プロバイダー使用状況:所有権を持つエラーとして不正な成功した使用状況 JSON レスポンスを報告し、生きたパーサーの失敗を漏らさないようにする。
Tlon/Urbit: 所有権を持つエラーとして不正な scry 応答 JSON を報告し、生きたパーサーの失敗を漏らさないようにする。
LM Studio: 所有権を持つエラーとして不正なモデルリストおよびモデル読み込み JSON を報告し、生きたパーサーの失敗を漏らさないようにする。
Matrix: 任意の場所 URI パラメータ内の不正なパーセントエンコーディングを無視し、不良な geo: イベントが受信メッセージ処理を中止しないようにする。
- Web search: Brave のレガシー
tools.web.search.apiKey互換フォールバックを自動検出することで、doctor の移行先であるplugins.entries.brave.config.webSearch.apiKeyを正式な修復方法として維持しつつ、許可された孤立した cron 実行が移行前にweb_searchが利用できないと報告しないようにします。Fixes #81538。Thanks @atomicmonk。 - Plugins: 反復的なインプロセスのプラグメタデータスナップショットをメモ化し、消失した管理インストールの残滓が完全な派生ディスカバリーを強制するのを防ぐことで、大規模なプラグセット下でのゲートウェイやステータスの起動スキャンを削減します。Fixes #81143 および #79806。(#81570) Thanks @Kaspre, @holgergruenhagen, @JanPlessow、および @mjamiv。
CLI/plugins: JSON 出力時のコマンド登録において、ルート遅延プラグインのコマンド登録のチャットを stderr のみに切り替えることで、プラグインバックドの --json スタンドアウトレベルの解析可能性を維持しつつ、解析専用やパススルーの --json 動作は変更しない。#81535 を修正。(#81536) @ScientificProgrammer と @vincentkoc に感謝。
Plugins: git プラグインのインストール参照をチェックアウトフラグではなく参照として扱うことで、オプションのようなセレクタがデフォルトブランチを黙ってインストールするのではなく、チェックアウトで失敗するようにした。#79898 を修正。(#79901) @afurm と @vincentkoc に感謝。
・ドクター/メモリ:有効な代替メモリプラグインが明示的にメモリスロットを所有している場合でも、警告を表示しないように改善しました。ただし、スロットエントリが存在しない場合や無効化されている場合は引き続き警告を表示します。#78540 を修正 (#78557)。@carladams1299-lab と @vincentkoc への感謝。
・プラグイン:プロセスローカルのプラグインメタデータスナップショットのメモリの鮮度を、キャッシュされたレジストリスナップショットに紐付けるように変更しました。これにより、ポリシーが古くなったことに起因するプラグインメタデータの編集が行われた際、古い所有者やコマンドエイリアスを返すのではなく、メモリを無効化するようにします。#81064。@Kaspre への感謝。
・プラグイン:プロバイダー発見時に setup.providers[].envVars の認証情報からプロバイダープラグインを検出できるようにしました。ただし、非推奨の providerAuthEnvVars フォールバックは引き続きサポートします。#81542。@JARVIS-Glasses への感謝。
ドキュメントと Codex ハンネスの改訂:エージェントごとの CODEX_HOME 設定により ~/.codex が個別に隔離される一方、継承された HOME 環境変数は意図的に .agents の検出を維持することを明確化しました。
subprocess やユーザーホームの状態も利用可能になっている。
- CLI/plugins: コマンドラインヘルプ表示時に、プラグインレジストリの探索をスキップし、軽量パスで最小限のプラグイン情報と親コマンドのヘルプのみを表示するように改善しました。
- Auth: 所有者が死亡した stale ファイルロックを再試行前に解放する処理を追加しました。これにより、OAuth リフレッシュ中のクラッシュで
auth-profiles.jsonがフリーズし、手動でのクリーンアップが必要になる事象を防ぎます。
- CLI のテーブル表示で、マルチラインセルの折り返し後の続行行においても、ミュートやカラーのスタイルを維持し、
openclaw plugins listの記述が読みやすく保たれるようにしました。 - プロセス実行時、Windows 上で大文字小文字を区別しない重複する子環境変数のキーを統合します。これにより、ホスト側の
Pathが呼び出し元から提供されたPATHなどのオーバーライドを上書きして隠すことがなくなります。
ブラウザ CLI:ブラウザ制御コマンドの実行には、明示的に既存の「operator.admin」ゲートウェイスコープを要求するよう変更し、不要なスコープ昇格承認ループを防ぎました。Fixes #81555. (#81716) @joshavant 氏に感謝。
Web:プロバイダー所有権の解決時には、明示的に設定されたグローバル「web_search」プロバイダーを尊重しつつ、サンドボックス化された「web_fetch」はバンドル済みプロバイダーに限定したまま維持します。
- プラグイン/ドクター:設定されたレガシーな npm 宣言のスタブを、ワークスペースの
node_modulesから読み込むのではなく、管理対象のプラグインルート内に該当する npm パッケージを再インストールすることで修復し、発見プロセスでこれらのスタブを検出した際には警告を表示します。#79632 を修正しました。@Dylanzhang1128 さんおよび @vincentkoc さんに感謝いたします。
- チャンネル: マニフェストで
channelsが宣言されているものの、まだchannelConfigsメタデータが追加されていないサードパーティ製チャンネルプラグインを、openclaw channels listコマンドの実行結果から除外しないようにしました。これにより、これらのチャンネルが設定された状態で表示されるようになります。#81334 を修正。(#81340) @AllynSheep 氏と @vincentkoc 氏に感謝します。
Agents: 作業領域のブートストラップが待機していない場合、continuation-skip ターン完了時にブートストラップファイルの読み込みをスキップし、事前ロード処理をフックします。これにより、ファーストターンでのブートストラップ動作は変更せず、孤立したエージェントの準備にかかる遅延を削減できます。Fixes #81548。@delizaran-unpa 氏に感謝。
Config: プラグインが所有するチャンネルスキーマに対して JSON のドライラン検証を行うことで、外部チャンネルフィールドが古いバンドル済みスキーマによって拒否されないようにしました。Fixes #77887。(#81504) @giodl73-repo 氏に感謝。
iOS: 初回利用時の連絡先、カレンダー、リマインダーの権限プロンプトを復元し、設定画面にプライバシーとアクセスの状態・アクションを追加しました。@BunsDev 氏に感謝。
Canvas: 不正なパーセントエンコードされた Canvas/A2UI/ドキュメントアセットパスに対しては「見つかりません」を返し、パス正規化の前にデコード済み親ディレクトリの参照ブロックを維持します。
Telegram: ファイル名がピリオドで始まる信頼されたローカル Bot API のメディアファイルについて、リモートダウンロードにフォールバックせず直接使用できるようにしました。
Agents/Codex app-server: 実行時に有効なサンドボックス作業領域へ切り替わる際、ドットドット接頭辞付きの作業領域ディレクトリ下に注入されたコンテキストファイルを再マッピングします。
Control UI/i18n: ローカルの更新にはインストール済みの作業領域 pi ランタイムを使用し、フォールバックパッケージのピン留めを更新しました。また、プロバイダー認証情報が無効な場合でもメイン処理を失敗させるのではなく、スケジュールされた更新をスキップするようにしました。
CI/performance: ベンチマーク完了後にパフォーマンスレポートのプッシュが失敗しないよう、チェックアウト時と公開時の両方で clawgrit レポートリポジトリのリモートに対して認証を行うようにしました。
- Hooks: ドットで始まるディレクトリ(.. で始まる名前)からワークスペース相対のレガシーフックモジュールを読み込む際、ファイル名のプレフィックスを親ディレクトリへの移動と誤認しないようにしました。
- Plugins: ドットで始まるディレクトリ配下のプラグインパッケージパスにおいて、インストール済みパッケージのメタデータやレジストリの鮮度チェック結果が保持されるようになりました。
- Agents: サンドボックスファイルシステムブリッジ、リモートサンドボックス読み込み、および apply_patch 要約処理において、
..note.txtのようなドットで始まるファイル名を親ディレクトリへの移動と誤認せず、正常に処理できるようにしました。 - CLI/migrate: Codex スキルやプラグインの選択プロンプトで競合が発生していない場合、項目ごとのソースやプラグインに関するヒント情報を非表示にします。これにより、実際の注意が必要な行に対してのみヒントテキストを確保できます。@sjf さんありがとう。
- Codex harness: 高信頼度のアプリサーバー OAuth リフレッシュ無効化を、認証プロファイルの致命的な失敗として扱います。これにより、繰り返し発生する生のトークンリフレッシュエラーが停止し、権限や利用制限に関するペイロードが再認証のプロンプトに切り替わるのを防ぎます。
- CLI/migrate: 移行 UI 全体で Codex の競合ステータスメッセージを人間 readable な表現に変更しました。選択プロンプトや計画・結果行では、内部コード
MIGRATION_REASON_*を表示する代わりに「Codex スキルはすでにワークスペースにインストールされています」というメッセージを表示します。@sjf さんありがとう。 - CLI/migrate: 移行結果行の表示を更新し、手動レビューが必要な項目には 🔍、アーカイブされた項目には 📖 という明確なアイコンを使用しました。これにより、「スキップ」や「移行済み」といった誤解を招くチェックマークに代わり、ユーザーはどのエントリがまだ注意が必要で、どのエントリが整理されたかを一目で把握できます。@sjf さんありがとう。
CLI/migrate: Codex の移行出力を「プレビュー」と「結果」の 2 つのフェーズに分割しました。これにより、Before プランと After 結果が clack を介してレンダリングされ、それぞれのコピーを独立して調整できるようになります。@sjf さんありがとうございます。
Codex app-server: プロジェクトバンドルとユーザー MCP サーバーを Codex スレッドに統合し、MCP サーバーが無効化された際にスレッドをローテーションします。また、バンドルサーバーへの MCP インジェクションの範囲を限定し、セッション再開時にユーザー MCP 設定を再送信することで、エージェントを再起動せずにセッション中に MCP の変更を即座に反映できるようにしました。(#81551)@jalehman さんありがとうございます。
Codex migration: ソース構成移行プランの実行時、古くなったシステム codex を呼び出すのではなく、管理された Codex バイナリを直接実行するようにしました。これにより、バンドルされた Codex ランタイムを使用しているユーザーは、ゲートウェイが実際に使用するバイナリと一致する移行プランの出力を受け取ることができます。(#81582)@fuller-stack-dev さんありがとうございます。
Subagents/maintenance: セッションストアのクリーンアップ、不要なデータの整理(プルーニング)、ディスク使用量の制限適用中に、保留中のサブエージェントレジストリセッションを保持するようにしました。これにより、バックグラウンドメンテナンスが完了する前に実行中のサブエージェントが削除されるのを防ぎます。(#81498)@ai-hpc さんありがとうございます。
Control UI/chat: ターミナルと再接続実行のクリーンアップ処理を、キャッシュされたセッションアクティビティ、期限切れのコンパクション/フォールバックインジケーター、そしてコンパクトな作曲家の実行ステータスチップと統合しました。これにより、完了または中断されたターンで「Stop」ボタンが活性化したまま残る不具合を修正します。(#76874 および #64220 を修正;#71630 を参照)@BunsDev さんありがとうございます。
Maintainer tooling: pnpm test や pnpm check コマンドのうち、ローカル環境で安全に実行できるものと、Codex ワークツリー内で実行すべきものを明確化しました。リンクされたワークツリーのゲートは、node ラッパーと Crabbox/Testbox を経由してルーティングされます。
自動応答機能:デバウンスされた着信処理が即時フラッシュにフォールバックした際も、同じキーの順序を維持します。これにより、バッファリング中の処理中にフォローアップターンが優先されるのを防ぎます。
Telegram/WhatsApp:Telegram の同一チャット内返信は、遅延なしのアクティブなトーンの後続として順序付けられますが、WhatsApp のフォローアップメッセージ送信ブロックにはなりません。
Codex 移行:アプリケーションサーバー側のプラグイン一覧が存在する際、重複したキャッシュされたプラグインバンドルの警告を回避します。
エージェント:ユーザーに公開される前に、中止された埋め込みアシスタントの断片、推論テキスト、返信指示、および古い過去の応答を抑制し、クリーンなタイムアウト/エラーペイロードは保持します。これにより #48241 が修正されました。@BunsDev 氏、@andyliu 氏、@yassinebkr 氏に感謝します。
エージェント:ワークスペースおよびサンドボックスパスポリシー内で ..file.txt のようなドットドット接頭辞付きファイル名を許可しつつ、実際の親ディレクトリへのトラバーサルは拒否し続けます。
ネイティブ画像入力:プレーンなプロンプト内で Windows ドライブの画像パスを検出します。これにより C:\...\screenshot.png のような参照を見逃すことがなくなります。
メディア:添付ファイル、リモートメディア、音声変換、保存済みメディアの表示名をステージングする前に、Windows 形式のファイル名ヒントを正規化します。これにより POSIX ホスト上で生成されるファイル名にドライブ文字やディレクトリテキストが保持されることがなくなります。
メディア参照:ID がドットで始まる最初のレベルの着信メディアファイルを解決し、..photo.png のような名前を親ディレクトリへのトラバーサルとして扱わないようにします。
iOS/チャット機能: 画像添付をステージングおよび送信する前に、サイズ制限された JPEG にリサイズし、元のメタデータを除去します。これにより、カメラで撮影した大規模な写真もチャットのアップロード予算内に収められます。バグ #68524 を修正しました。@BunsDev 氏に感謝。
コントロール UI: タッチ対応のプライマリデバイスにおいて、共有フォーム、設定、利用状況の入力テキスト制御を 16px に固定しつつ、チャット作成者の入力サイズは維持します。これにより、iOS Safari でフォーカスされたフィールドが自動的に拡大表示される問題が解消されました。バグ #64651 を修正し、#64673 の対応を引き継ぎました。@NianJiuZst 氏と @BunsDev 氏に感謝。
エージェント/軌道データ: OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS 環境変数を使用して、軌道のフラッシュクリーンアップタイムアウトを構成可能にしました。デフォルトの 10 秒は維持しつつ、低速なストレージからのデータ排気も確保しています。参照 #75839。@BunsDev 氏に感謝。
スキル機能:~/.openclaw/skills(管理用)と ~/.agents/skills(個人用)のルートから、ClawHub およびローカルマネージャーのスキルディレクトリシンボリックリンクを読み込みます。この際、ワークスペース、追加、バンドル、各スキルの個別設定における SKILL.md の閉鎖制御は維持されます。
本修正により、Issue #44051 が解決されました。関連 Issue #59219 も参照されています。ご協力いただいた @Devattom さん、@ArthurNie さん、@luoxiao6645 さんに感謝します。
設定:config.set、config.apply、および config.patch の応答から、書き込み時の整形後に標準の永続化された設定を返すように変更しました。これにより、#77455 が修正されます。
Codex 認証:ランタイム認証選択時に oauthRef に基づく OAuth プロフィールを受け付ける機能を追加しました。これにより、アプリサーバーエージェントの実行において公式の Codex OAuth ログインが利用可能になります。(#81633)@obviyus 氏に感謝します。
Telegram: ゲートウェイの停止猶予期間終了後に、リースのポーリングを停止しました。これにより、プロセス内での再起動時に同じボットトークンを再利用できるようになり、アクティブな重複ポラー保護が弱体化するのを防ぎます。#81507 を修正。(#81890) @joshavant 氏に感謝。
ACP: ランタイム障害時のエラーメッセージにおいて、赤acted(伏字処理された)数値の JSON-RPC RequestError の詳細情報を保持しました。これにより、「内部エラー」という表示だけでなく、バックエンドの診断情報が確認可能になります。#81126 を修正。(#81188) @vyctorbrzezowski 氏に感謝。
Agents: 変更されていない PI モデルの発見ストアとモデル参照をキャッシュ化しました。これにより、大規模なモデル構成下での起動時のモデル解決にかかる遅延が削減されます。#78851 を修正。
Onboarding: Codex プラグインの移行設定を OpenAI モデルウィザード経由で引き継ぎます。これにより、ユーザーが移行を承認した場合、最終的な設定書き込み時にその移行情報が保存されるようになります。
Security/Windows ACL 監査:Anonymous Logon、Guests、Interactive、Local、Network の各 SID を「世界 equivalent な権限を持つ主体」として分類しました。これにより、広く書き込み可能なパスがグループ書き込み可能に格下げされることなく、重要な状態として維持されます。#74350 を修正。(#74383) @dwc1997 氏に感謝。
Media-understanding: オーディオまたはビジョン処理の前に、一時的なリモート添付ファイルの取得失敗を再試行するようにしました。これにより、ネットワークや CDN の一時的な不具合が発生しても、Discord の音声メモが失われるのを防ぎます。#74316 を修正。@vyctorbrzezowski 氏と @gabrielexito-stack 氏に感謝。
Control UI: タイムスタンプ付きのライブストリームやツール項目を、タイムスタンプなしの履歴フォールバックより前に配置しました。これにより、チャット履歴が可視的な時間順で維持されます。#80759 を修正。(#81016) @akrimm702 氏に感謝。 (原文の技術表記: Internal error)
ClawHub: スキル、パッケージ、および ClawPack のダウンロード中にアーカイブ本体の読み込みが停止した場合、ヘッダー到着後もインストールが止まったままになるのを防ぐため、その読み込みをキャンセルするようになりました。Fixes #52073. Refs #80006. Thanks @xinhuagu and @stainlu.
macOS/Chat: 更新されたチャット履歴において、エラーメッセージ(errorMessage)から永続化されたアシスタントプロバイダーの失敗をレンダリングする一方、期限切れのエラーではないプロバイダーの詳細は非表示のままに保つようにしました。(#65689) Thanks @javierdici.
Control UI/config: フォームモードの設定保存時に、復元可能なシークレットを保持しつつ、期限切れの隠されたプレースホルダーを破棄するようにしました。これにより、無関係な設定変更が __OPENCLAW_REDACTED__ を実際のデータとして送信する問題が解消されました。Fixes #60917. Thanks @giodl73-repo and @BunsDev.
OpenAI plugin: 遠隔地の Codex OAuth ログインに関するコピーを明確化し、トンネル経由のユーザーがリダイレクト URL を貼り付ける前にサインインが自動的に完了する可能性があることを理解できるようにしました。(#81301) Thanks @rubencu。
SGLang: OpenAI 互換のチャット完結処理において、再生された推論履歴を保持し、思考能力を持つローカルモデルが過去の推論ターンを失わないようにしました。(#81091) Thanks @akrimm702.
Plugins/install: 管理対象のピア依存関係のバージョン指定を、node_modules を再帰的にスキャンする代わりに npm のロックファイルプランナーから取得するように変更しました。その際、OpenClaw ホスト側のピアは管理対象のルート所有権に含まれないようにし、アクティブなルート管理ランタイムも維持します。Thanks @fuller-stack-dev.
Control UI/WebChat: 既存のグループチャットレンダラーで予約されたアクション間隔を適用し、アシスタントの短い返信がバブル内のテキストやオープンなアクションボタンと重ならないようにしました。これで #79509 が修正されます。(#81244)ご協力ありがとうございます @JARVIS-Glasses。
Codex ハンネス:ライブテストラッパーを Windows に対応させ、ネイティブの Windows および WSL2 の実行が完了するまで、ロックされた一時ファイルのクリーンアップを遅延させるようにしました。
リンク理解機能:設定済みの CLI サマライザーを実行する前に SSRF ガードを経由してページコンテンツを取得し、curl や wget スタイルのリンクフェッチャーがプライベートなリダイレクト先や DNS リバウンドターゲットに到達しないように保護します。
fix: 安全な bin の引数検証を強化しました [AI]。(#80999)ご協力ありがとうございます @pgondhi987。
Codex のステータス:/codex status コマンドのレート制限に関する表示を /status に合わせるよう改善しました。これにより、使用済みクォータや生の日時(ISO タイムスタンプ)ではなく、残りのクォータとリセットまでの時間をコンパクトに表示できるようになりました。ご協力ありがとうございます、@MatthewSchleder さん。
Mattermost: 実質的な(推論を伴わない)最終返信ペイロードが deliverMattermostReplyPayload に到達したにもかかわらず、基盤となる deliverTextOrMediaReply が失敗した場合に、構造化された mattermost no-visible-reply の診断ログを記録します。
「empty」—— 以前は、Mattermost API の送信が行われなかったにもかかわらず、「delivered reply to」のログが誤って表示され、チャネルやスレッドの文脈でエージェントが沈黙したように見えてしまうという問題がありました。この修正により動作自体に変更はありませんが、診断機能によって失敗を明確に示すため、オペレーターはエージェントが沈黙したのではなく、実際に通信が失敗したことを検出できるようになります。Fixes #80501. (原文の技術表記: "empty"、delivered reply to )
@robbyproc87 さん、ありがとうございます。
Telegram: 大規模な Telegram 設定において、ゲートウェイ起動時にすべてのアカウントプローブが同時に実行されるのを防ぐため、マルチアカウントボット間で並行して実行する getMe プローブの数を制限します。Refs #80695. (#80986) @stainlu 氏に感謝。
fix(config): config set/unset コマンドで、自動管理されるメタデータの lastTouched* パスを拒否するようにしました。(#80856) @ai-hpc 氏に感謝。
Test state: 生成されたホームに対して、孤立した認証プロファイルのシークレットキーをシードします。これにより、ヘルパー依存型の証明実行がホストの Keychain シークレットにフォールバックするのを防ぎます。(#81393) @altaywtf 氏に感謝。
Plugins/update: プラグインの更新失敗後に無効化された際、期限切れの許可/拒否エントリと選択されたプラグインスロットをクリアします。これにより、外部プラグインの更新失敗が設定を半無効な状態のまま残すのを防ぎます。(#81512) @JARVIS-Glasses 氏に感謝。
- Memory/LanceDB: 中国語、日本語、韓国語のユーザーが正規表現や LLM を用いた意図検出なしでメモを記録できるように、短縮された CJK(中国語・日本語・韓国語)のメモフレーズと設定可能なリテラルトリガーを自動キャプチャが認識する機能を追加しました。Fixes #75680. @vyctorbrzezowski 氏と @guokewuming 氏に感謝します。
- Plugins doctor: プラグインの設定に警告が残っている場合でも、完全な健全性と判断しないよう、古い設定の警告を報告するように改善しました。(#81515)@BKF-Gitty 氏に感謝します。
- Sessions:
openclaw sessionsコマンドの出力において、ACP コントロールプレーンセッションでは誤解を招くエージェントの設定モデルではなく、ACP ランタイムのシグネチャであるmodel: "-acp"/modelProvider: "acpx"を表示するように変更しました。Catalog finding 20. (#79543)
Slack: メッセージの読み込み処理において、before および after タイムスタンプの境界値を正規化してから、Slack の履歴取得 API やスレッド返信 API を呼び出すように修正しました。これにより、#80835 で報告されていた不具合が解消されます。(PR #81338)ご協力いただいた @honor2030 氏に感謝します。
Gateway: ストリーミング中のバースト発生時にアシスタントや思考エージェントのイベント出力を制御(スロットリング)しますが、バッファリングされたデルタ値は破棄せずに処理を継続します。(PR #80335)ご協力いただいた @samzong 氏に感謝します。
モデル:認証済み CLI ランタイムプロバイダーを /models ピッカー内で復元し、レガシーなランタイムエイリアスはセットアップやデフォルトのモデル選択から非表示のまま維持します。#81212 をクローズしました。(#81239)@anagnorisis2peripeteia 氏に感謝。
Changelog ガート:ボットやアプリのハンドルを Thanks のAttribution(クレジット表記)として拒否し、ボットやアプリが作成した Changelog エントリーについては、明確な人間のクレジットを必須とします。(#81357)@hxy91819 氏に感謝。
Agents/heartbeat: 複数エージェントのハートビート周期を崩壊させていた7つの階層化された問題を修正しました。
(1) runOnce を順次待機するのではなく、Promise.all を用いてスケジューラーからのブロードキャスト起動を並列実行することで、各エージェントに通知を扇状に広げました。これにより、あるエージェントが実作業を行っている間にも他のエージェントが待たされる(スターブ)現象を防ぎます。
イテレーション順序におけるそれ以降のエージェントすべてに対して適用されます。また、skipWhenBusy のスコープを、セッションキーの解析(session:agent::… または nested:agent::…)によって発火元エージェントに帰属するレーンに限定します。
グローバルな subagent ラインを参照するのではなく、あるエージェントに 1 つのサブエージェントが停止しても、他のすべてのエージェントのハートビートが静かに無効化されることを防ぎます。また、ワークスペースの HEARTBEAT.md ディレクティブは常に追加されます(すべて
任意の tasks: ブロックの外側からディスパッチプロンプトへ追加することで、プロース・ランブックの HEARTBEAT.md ファイルがモデルに直接届くようになります。
静かに実行中
周期的なタスクが宣言されない限り削除されます。(4) streamWithIdleTimeout 内の初期ストリーム確立プロミスと、以前はトークン間のギャップのみを監視していたウォッチドッグタイマーを競合させます。これにより、TCP/TLS ハンドシェイク中または最初の応答バイト到達前に SDK リクエストが止まっても、 indefinitely(永遠に)待機しなくなります(スタックセッション診断の recovery=none ケースに対応)。(5) openclaw doctor の警告を発行します。
heartbeat.session は、エージェントのセッションストアに登録されていないセッションキーを固定するため、心拍数の配信が静かにドロップされた状態でも、設定検証時に表面化します。また、コミットメントのみを対象とするタスクディスパッチパス(設定済みだが期限切れではないタスク)も appendHeartbeatFileDirectives 経由でルーティングし、tasks: ブロック外の記述形式ディレクティブが正しく処理されるようにします。
このパス上のモデルも同様に、同期の baseFn(...) 呼び出しを streamWithIdleTimeout で囲み、try/catch ブロック内で接続ウォッチドッグタイマーをクリアしてから再スローするように実装します。これにより、セットアップ中に例外を投げるプロバイダーストリーム関数が、生きているタイマーを残してしまい、後で古くなったエラーと共に onIdleTimeout が発火してプロセスが実際の失敗後も開いたままになるという不具合を防ぎます。
Thanks @zeroaltitude.
- Matrix: 親から派生したプラグインパスでランタイム時に
npm installやpnpm installを実行しないようにしました。これにより、Matrix のランタイム依存関係が不足している場合でも、誤ったnode_modulesツリーを書き換えることなく、修復ガイダンス付きでエラーを返すようになりました。Fixes #80758. (#80876) Thanks @kinjitakabe.
- Agents/memory-flush: メモリフラッシュの失敗(プロバイダーのタイムアウト、転送エラー、一般的なエージェントの障害など)を、外側の返信ループで即座に処理が中断され、独立した cron 実行ではエラーが
meta.errorに伝播されるように、表示可能な返信ペイロードとして表面化します。これにより、以前は「Memory flush writes are restricted to ...」という特定のメッセージのみが表示されていたものが改善されます。Fixes #80755. Thanks @nailujac. (原文の技術表記:status: "ok")
- Channels/loop-guard: コアチャネルターンカーネル内で、ペアごとのボットループ保護を強制します。Discord、Slack、Matrix、Google Chat は、ボットが作成したメッセージの受け入れを確実に識別できる場合にのみ、ボットペアに関する事実情報を提供します。一般的なガードは
(scope, conversation, participant pair)に基づき、一度ペアが設定された予算を超えると、双方向の追加的なボット間イベントすべてを抑制します。その後、cooldownSecondsの期間が経過すると抑制が解除されます。
チャンネルがボット作成のメッセージをディスパッチに到達させる場合、デフォルト値は maxEventsPerWindow: 20、windowSeconds: 60、cooldownSeconds: 60 です。これらの設定はグローバルで指定することも可能です。
channels.defaults.botLoopProtection は、チャンネルごとやアカウントごとに上書き可能であり、対応する会話設定でもサポートされています。#58789 を修正しました。@pandadev66 さん、ありがとうございます。
- Agents/memory-flush: 非アボート型のメモリフラッシュ失敗(プロバイダーのタイムアウト、転送エラー、一般的なエージェントの障害など)を、可視化されたレスポイペイロードとして表面化します。これにより、外部のレスポンドループが短絡し、孤立したクロン実行ではエラーが
meta.errorへ伝播され、ステータスが "ok" でペイロードが空のまま完了するといった静かな失敗を防ぎます。 (原文の技術表記:status: "ok")
以前は「メモリフラッシュ書き込みは〜に制限される」という特定のメッセージのみが表示されていました。Refs #80755。@kinjitakabe さんと @nailujac さんに感謝します。
- Codex ハーネス:OpenAI が選択した予算管理、手動の
/compact、および/statusに、アクティブな Codex ランタイムのコンテキストウィンドウを使用するようにしました。これにより、古くなった OpenAI セッションのメタデータがコンテキスト制限を実際よりも過大評価することがなくなりました。(#81906)@jalehman さんに感謝します。
AI算出
通常リリースainew評価標準
AI エージェント運用ツールのバージョン更新を報じており AI 関連性は高いが、これは定期的なリリースであり新規性(novelty)は低く、日本固有の情報もないため。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 100
- 新規性
- 25
- 調べる価値
- 25
- 重複の少なさ
- 100
- 日本での有用性
- 25
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み