OpenClaw Changelog·2026年4月30日 07:12·約9分で読める
OpenClaw の Docker サンドボックスに GPU パススルー機能を追加
TL;DR
開発チームは、ホストの Docker ランタイムが --gpus をサポートする場合、ローカルの GPU ワークロードをサンドボックス化されたエージェント内で実行可能にするためのオプション機能を実装しました。
2026.4.27
変更点
- サンドボックス/Docker: ローカル GPU ワークロードが、ホストの Docker ランタイムが --gpus をサポートしている場合にサンドボックス化されたエージェント内で実行できるように、Docker サンドボックスコンテナに対して opt-in の sandbox.docker.gpus パススルーを追加しました。#57976 を修正し、#58124 を引き継ぎます。@cyan-ember 氏に感謝します。
- iOS/Gateway: バックグラウンドでの iOS ウェイク時に、ペアリングされたノードが直近で生存していることをマークしつつ、接続済みとして扱わないようにするために、認証済みの node.presence.alive プロトコルイベントと node.list の last-seen フィールドを追加しました。#63123 を引き継ぎます。@ngutman 氏に感謝します。
- Android: ノード接続時およびバックグラウンド遷移後に認証済みの node.presence.alive イベントを公開し、切断後もペアリングされた Android ノードが永続的な last-seen メタデータを保持できるようにしました。#63123 を引き継ぎます。@ngutman 氏に感謝します。
- Gateway/chat: サポートされていない RPC アタッチメントパスを明示的に扱い、ファイルを黙って破棄しないようにしつつ、agent が読み取り可能なメディアパスとしてステージングすることで、chat.send を通じて画像以外のアタッチメントを受け付けられるようにしました。#48123 を修正します。(#67572)@samzong 氏に感謝します。
- セキュリティ/ネットワーク: 厳格な http:// フォワードプロキシ検証、ループバックのみを許可する Gateway バイパス、および終了時のプロキシ環境変数/ディスパッチャー状態のクリーンアップを備えた、opt-in のオペレーター管理型アウトバウンドプロキシルーティング(proxy.enabled + proxy.proxyUrl/OPENCLAW_PROXY_URL)を追加しました。(#70044)@jesse-merhi 氏および @joshavant 氏に感謝します。
- 依存関係: AWS SDK、PI ランタイムパッケージ、AJV、Feishu SDK、Anthropic SDK、tokenjuice、ネイティブ TypeScript/oxlint ツールリングなど、プロバイダーおよびツールリングの依存関係を更新しました。@dependabot に感謝します。
- Matrix/QA: エグゼクティブメタデータ、チャンク化フォールバック、プラグイン承認、拒否リアクション、スレッドターゲティング、およびターゲット:"both"配信のためのライブMatrix承認シナリオを追加し、安全な承認サマリーを保持する紅塗りアーティファクトを実装しました。@gumadeiras 氏に感謝します。
- Codex: Codexモードエージェント向けのComputer Useセットアップを追加しました。これには/codex computer-use status/installコマンド、マーケットプレイスでの発見機能、オプションの自動インストール、およびCodexモード開始前のfail-closed MCPサーバーチェックが含まれます。#72094 を修正します。(#71842)@pash-openai 氏に感謝します。
- Apps: Peekaboo 3.0.0-beta4 および ElevenLabsKit 0.1.1 を取り込み、Swabble を Commander 0.2.2 にアラインし、リリースされた依存関係グラフに対してmacOS/iOS SwiftPMの解決策を更新しました。@Blaizzy 氏に感謝します。
- Plugin SDK: openclaw/plugin-sdk/channel-route を通じて、共有チャネルルート正規化、パーサー駆動型ターゲット解決、raw-targetコンパクトキー、パース済みターゲットタイプ、およびルート比較ヘルパーを公開しました。ネイティブ承認オリジンマッチングをこのルート契約に切り替え、オプションの配信とマッチのみターゲット正規化を実装し、レガシーなキー/比較可能ターゲットヘルパーのための日付付き互換性エイリアス背後にある内部チャネルルートシャムを廃止しました。@vincentkoc 氏に感謝します。
- Docs/Codex: デスクトップコントロールセットアップの選択肢をより明確にするため、Codex Computer Use、直接 cua-driver MCP、および OpenClaw.app の PeekabooBridge がどのように連携するかを文書化しました。@pash-openai 氏および @trycua 氏に感謝します。
- Matrix/streaming: プレビュー・ストリーミングがアクティブな場合、デフォルトでストリームツール進捗更新をライブ Matrix プレビュー編集にストリームします。
streaming.preview.toolProgress: falseを設定すると、中間のツール行を非表示にしたまま回答プレビューを維持できます。@gumadeiras 氏へ感謝。
- Plugins/models: マニフェストの
modelCatalog.aliasesとmodelCatalog.suppressionsを model-catalog プランニングと組み込みモデル抑制に連携させます。これにより、古くなった Spark および Qwen Coding Plan の抑制が、ランタイムフォールバックフックではなくプラグインマニフェストで宣言されるようになりました。@shakkernerd 氏へ感謝。
- Plugin SDK/models: マニフェストベースの共有プロバイダーカタログビルダーを追加し、Qianfan、Xiaomi、NVIDIA、Cerebras、Mistral、Moonshot、DeepSeek、Tencent TokenHub、StepFun の各プロバイダーカタログを、それぞれのプラグインマニフェスト内の
modelCatalog行へ移行しました。@shakkernerd 氏へ感謝。
- Plugin SDK/models: BytePlus および Volcano Engine の標準およびプランプロバイダーカタログをプラグインマニフェストの
modelCatalog行へ移行し、もはや不要になった Volcengine-family 共有カタログ SDK サブパスを削除しました。@shakkernerd 氏へ感謝。
- CLI/models: Fireworks および Together AI の固定プロバイダーカタログをプラグインマニフェストの
modelCatalog行へ移行し、プロバイダーフィルター付きリスト表示がマニフェストベースの静的行を利用できるようにしました。@shakkernerd 氏へ感謝。
- Channels/Yuanbao: Tencent Yuanbao 外部チャネルプラグイン (openclaw-plugin-yuanbao) を公式チャネルカタログ、契約スイート、コミュニティプラグインドキュメントに登録し、WebSocket ボットのダイレクトメッセージおよびグループチャット向けの新しい docs/channels/yuanbao.md クイックスタートガイドを追加しました。(#72756) @loongfay 氏に感謝。
- Channels/Yuanbao: Tencent Yuanboo ボットがチャネル一覧とサイドバーナビゲーションに表示されるように、チャネルドキュメントへの入口を追加しました。(#73443) @loongfay 氏に感謝。
- Channels/QQBot: グループチャットの完全サポート(履歴追跡、@メンションのゲート制御、アクティベーションモード、グループごとの設定、デバウンス付き FIFO メッセージキュー)を追加し、C2C の stream_messages ストリーミングを StreamingController ライフサイクルマネージャーで実装しました。また、大規模ファイル用のチャンクアップロードを備えた unified sendMedia を導入し、エンジンをパイプラインステージにリファクタリングして、アウトバウンドサブモジュール、組み込みスラッシュコマンドモジュール、createEngineAdapters() 経由の明示的な DI ポートに焦点を当てました。(#70624) @cxyhhhhh 氏に感謝。
- Plugins/startup: バンドルされたプラグマニフェストを明示的な activation.onStartup 宣言へ移行し、Gateway の起動時に意図的に起動時のランタイムサーフェスを登録するバンドルプラグインのみがインポートされるようにしました。@shakkernerd 氏に感謝。
- Plugins/startup: 非推奨の暗黙的な起動サイドカー読み込みを無効化するためのオプトイン型未来モードゲートを追加し、明示的な起動とより狭義なアクティベーショントリガーは維持します。@shakkernerd 氏に感謝。
- プラグイン/起動時:非推奨の暗黙的起動読み込みに対するプラグイン互換性警告を追加し、著者が明示的な activation.onStartup メタデータへの移行を行えるようにしました。@shakkernerd 氏に感謝。
- プラグイン/ランタイム時:トークンジュースが起動時に遅延ロードされた状態を維持しつつ、Pi/Codex ツール出力の圧縮機能を失わないよう、マニフェスト契約からバンドルされたエージェントツール結果ミドルウェアをオンデマンドで読み込みます。@shakkernerd 氏に感謝。
- プラグイン/起動時:プラグインがゲートウェイ起動時のインポート動作を宣言できるようにし、非推奨の暗黙的サイドカーフォールバックはレガシープラグイン向けに残しつつ、明示的な activation.onStartup メタデータを追加しました。@shakkernerd 氏に感謝。
- ゲートウェイ/起動時:起動時プラグイン読み込み時にルックアップテーブルプラグインマニフェストを再利用することで、ゲートウェイのブート時にプラグイン発見およびマニフェストメタデータの再構築を回避します。@shakkernerd 氏に感謝。
- CLI/models: 更新可能なプラグインマニフェスト内で固定された Qianfan, Xiaomi, NVIDIA, Cerebras, Mistral, Chutes, Kilo, OpenAI, OpenCode Go モデルカタログを宣言し、広範なモデルリストは --all オプションで生レジストリ上に維持し、ランタイム正規化されていない行を追加して重複する補完解決を回避します。@shakkernerd 氏に感謝。
- ゲートウェイ/ランタイム時:プロバイダ発見のために現在のプラグインメタデータスナップショットを再利用することで、繰り返し行われるモデル・プロバイダ発見時にプラグインマニフェストメタデータの再構築を回避します。@shakkernerd 氏に感謝。
- ゲートウェイ/起動時:設定検証からプラグインブートストラップへプラグインメタデータスナップショットを渡すことで、起動時に一つのマニフェスト生成物を再利用し、プラグインメタデータの再構築を行わないようにします。@shakkernerd 氏に感謝。
- プラグイン SDK/テスト:コアのみのチャネル契約フィクスチャをチャネル契約テストツリー内に移動し、古い test/helpers/channels ブリッジディレクトリを廃止して、プラグインテストが焦点を絞った SDK サフェースに留まるようにします。@vincentkoc さんありがとうございます。
- プラグイン SDK/テスト:ネイティブエージェントランタイム契約フィクスチャを plugin-sdk/agent-runtime-test-contracts を通じて公開し、サンドボックス設定フィクスチャを焦点を絞った汎用フィクスチャサブパスに移動させ、拡張機能テストがリポジトリ固有の test/helpers ブリッジをインポートできないようにします。@vinventkoc さんありがとうございます。
- プラグイン SDK/テスト:汎用モジュール再読み込み、バンドルパス、Node ビルトインモック、チャネルペアリング/エンベロープ、HTTP サーバー、一時ホーム、リプレイポリシー、ライブ STT ヘルパーを焦点を絞った SDK テストサブパスを通じて公開し、拡張機能テストがリポジトリ固有のヘルパーブリッジに依存しないようにします。Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-oct
原文を表示
2026.4.27
Changes
- Sandbox/Docker: add opt-in sandbox.docker.gpus passthrough for Docker sandbox containers so local GPU workloads can run inside sandboxed agents when the host Docker runtime supports --gpus. Fixes #57976; carries forward #58124. Thanks @cyan-ember.
- iOS/Gateway: add an authenticated node.presence.alive protocol event and node.list last-seen fields so background iOS wakes can mark paired nodes recently alive without treating them as connected. Carries forward #63123. Thanks @ngutman.
- Android: publish authenticated node.presence.alive events after node connect and background transitions so paired Android nodes retain durable last-seen metadata after disconnects. Carries forward #63123. Thanks @ngutman.
- Gateway/chat: accept non-image attachments through chat.send by staging them as agent-readable media paths, while keeping unsupported RPC attachment paths explicit instead of silently dropping files. Fixes #48123. (#67572) Thanks @samzong.
- Security/networking: add opt-in operator-managed outbound proxy routing (proxy.enabled + proxy.proxyUrl/OPENCLAW_PROXY_URL) with strict http:// forward-proxy validation, loopback-only Gateway bypass, and cleanup of proxy env/dispatcher state on exit. (#70044) Thanks @jesse-merhi and @joshavant.
- Dependencies: refresh provider and tooling dependencies, including AWS SDK, PI runtime packages, AJV, Feishu SDK, Anthropic SDK, tokenjuice, and native TypeScript/oxlint tooling. Thanks @dependabot.
- Matrix/QA: add live Matrix approval scenarios for exec metadata, chunked fallback, plugin approvals, deny reactions, thread targeting, and target: "both" delivery, with redacted artifacts preserving safe approval summaries. Thanks @gumadeiras.
- Codex: add Computer Use setup for Codex-mode agents, including /codex computer-use status/install, marketplace discovery, optional auto-install, and fail-closed MCP server checks before Codex-mode turns start. Fixes #72094. (#71842) Thanks @pash-openai.
- Apps: consume Peekaboo 3.0.0-beta4 and ElevenLabsKit 0.1.1, align Swabble on Commander 0.2.2, and refresh macOS/iOS SwiftPM resolutions against the released dependency graph. Thanks @Blaizzy.
- Plugin SDK: expose shared channel route normalization, parser-driven target resolution, raw-target compact keys, parsed-target types, and route comparison helpers through openclaw/plugin-sdk/channel-route, switch native approval origin matching onto that route contract with optional delivery and match-only target normalization, and retire the internal channel-route shim behind dated compatibility aliases for legacy key/comparable-target helpers. Thanks @vincentkoc.
- Docs/Codex: document how Codex Computer Use, direct cua-driver mcp, and OpenClaw.app's PeekabooBridge fit together so desktop-control setup choices are clearer. Thanks @pash-openai and @trycua.
- Matrix/streaming: stream tool-progress updates into live Matrix preview edits by default when preview streaming is active, with streaming.preview.toolProgress: false to keep answer previews while hiding interim tool lines. Thanks @gumadeiras.
- Plugins/models: wire manifest modelCatalog.aliases and modelCatalog.suppressions into model-catalog planning and built-in model suppression, with stale Spark and Qwen Coding Plan suppressions now declared in plugin manifests instead of runtime fallback hooks. Thanks @shakkernerd.
- Plugin SDK/models: add a shared manifest-backed provider catalog builder and move Qianfan, Xiaomi, NVIDIA, Cerebras, Mistral, Moonshot, DeepSeek, Tencent TokenHub, and StepFun provider catalogs onto their plugin manifest modelCatalog rows. Thanks @shakkernerd.
- Plugin SDK/models: move BytePlus and Volcano Engine standard and plan-provider catalogs into plugin manifest modelCatalog rows and remove the now-unused Volcengine-family shared catalog SDK subpath. Thanks @shakkernerd.
- CLI/models: move Fireworks and Together AI fixed provider catalogs into plugin manifest modelCatalog rows so provider-filtered listing can use manifest-backed static rows. Thanks @shakkernerd.
- Channels/Yuanbao: register the Tencent Yuanbao external channel plugin (openclaw-plugin-yuanbao) in the official channel catalog, contract suites, and community plugin docs, with a new docs/channels/yuanbao.md quick-start guide for WebSocket bot DMs and group chats. (#72756) Thanks @loongfay.
- Channels/Yuanbao: add a channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (#73443) Thanks @loongfay.
- Channels/QQBot: add full group chat support (history tracking, @-mention gating, activation modes, per-group config, FIFO message queue with deliver debounce), C2C stream_messages streaming with a StreamingController lifecycle manager, unified sendMedia with chunked upload for large files, and refactor the engine into pipeline stages, focused outbound submodules, builtin slash-command modules, and explicit DI ports via createEngineAdapters(). (#70624) Thanks @cxyhhhhh.
- Plugins/startup: migrate bundled plugin manifests to explicit activation.onStartup declarations so Gateway startup imports only the bundled plugins that intentionally register startup-time runtime surfaces. Thanks @shakkernerd.
- Plugins/startup: add an opt-in future-mode gate for disabling deprecated implicit startup sidecar loading while preserving explicit startup and narrower activation triggers. Thanks @shakkernerd.
- Plugins/startup: add plugin compatibility warnings for deprecated implicit startup loading so authors can migrate to explicit activation.onStartup metadata. Thanks @shakkernerd.
- Plugins/runtime: load bundled agent tool-result middleware from manifest contracts on demand so tokenjuice stays startup-lazy without losing Pi/Codex tool-output compaction. Thanks @shakkernerd.
- Plugins/startup: add explicit activation.onStartup metadata so plugins can declare Gateway startup import behavior while the deprecated implicit sidecar fallback remains for legacy plugins. Thanks @shakkernerd.
- Gateway/startup: reuse lookup-table plugin manifests when loading startup plugins so Gateway boot avoids rebuilding plugin discovery and manifest metadata. Thanks @shakkernerd.
- CLI/models: declare fixed Qianfan, Xiaomi, NVIDIA, Cerebras, Mistral, Chutes, Kilo, OpenAI, and OpenCode Go model catalogs in refreshable plugin manifests, keep broad models list --all on raw registry and supplement rows without runtime normalization, and avoid duplicate supplement resolution. Thanks @shakkernerd.
- Gateway/runtime: reuse the current plugin metadata snapshot for provider discovery so repeated model-provider discovery avoids rebuilding plugin manifest metadata. Thanks @shakkernerd.
- Gateway/startup: pass the plugin metadata snapshot from config validation into plugin bootstrap so startup reuses one manifest product instead of rebuilding plugin metadata. Thanks @shakkernerd.
- Plugin SDK/testing: move core-only channel contract fixtures under the channel contract test tree and retire the old test/helpers/channels bridge directory so plugin tests stay on focused SDK surfaces. Thanks @vincentkoc.
- Plugin SDK/testing: expose native agent-runtime contract fixtures through plugin-sdk/agent-runtime-test-contracts, move sandbox config fixtures into the focused generic fixture subpath, and block extension tests from importing repo-only test/helpers bridges. Thanks @vincentkoc.
Plugin SDK/testing: expose generic module reload, bundled-path, Node builtin mock, channel pairing/envelope, HTTP server, temp-home, replay-policy, and live STT helpers through focused SDK test subpaths so extension tests no longer depend on repo-only helper bridges. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-oct
この記事をシェア
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み