OpenClaw バージョン 2026.5.12-beta.8 の変更点
OpenClaw は、依存関係の外部化によるインストール軽量化、UI のスクロール制御機能追加、および ACP のフォールバック機能強化を含む新ベータ版をリリースした。
キーポイント
依存関係のモジュール化と最適化
Amazon Bedrock や Slack などの特定プロバイダー・プラグインに関連する SDK 依存関係を外部パッケージ化し、コアインストール時に不要な AWS SDK などを自動的に読み込まないようにした。
UI/UX のスクロール制御機能強化
Control UI と WebChat に永続的な自動スクロールモードセレクトを追加し、ユーザーがストリーミング出力の追従動作や手動操作を自由に設定できるようにした。
ACP の信頼性向上(フォールバック機能)
ACP において、プライマリバックエンドが利用不可の場合に事前に設定されたバックアップランタイムを試行する `acp.fallbacks` 機能を追加し、出力開始前の障害耐性を高めた。
サブエージェントのモデルスコープ修正
セッション生成時にデフォルトのサブエージェントモデル設定を優先適用することで、claude-cli などのモデルスコープランタイムが子実行に正しくアタッチされるように修正した。
重要な引用
externalize the Bedrock and Bedrock Mantle provider packages so core installs no longer pull AWS SDK dependencies unless those providers are installed.
add a persisted auto-scroll mode selector so users can keep the current near-bottom behavior, always follow streaming output, or turn automatic streaming scroll off
ACP turns can try configured backup runtime backends when the primary backend is unavailable before any output is emitted.
影響分析・編集コメントを表示
影響分析
このリリースは、大規模な AI エージェントプラットフォームである OpenClaw の運用効率とユーザー体験を直接的に向上させる実装レベルの改善です。特に依存関係の分離は、開発環境や本番環境でのデプロイメント速度と安定性に寄与し、フォールバック機能の追加はサービス継続性の観点から重要な信頼性向上となります。
編集コメント
開発者向けのツールである OpenClaw の今回のアップデートは、運用コスト削減とシステム堅牢性の両面から実用的な価値が高いです。特に依存関係の分離は、大規模な AI エージェントワークフローを扱う現場においてデプロイの複雑さを劇的に軽減する重要な一歩と言えます。
変更点
- Amazon Bedrock: Bedrock および Bedrock Mantle プロバイダーパッケージを外部化し、コアのインストール時にこれらのプロバイダーがインストールされていない限り AWS SDK の依存関係が自動的に取得されないようにしました。
- プラグイン: Slack、OpenShell サンドボックス、Anthropic Vertex の各プラグインを外部化し、これらのプラグインがインストールされた場合のみランタイム依存関係がインストールされるようにしました。
- コントロール UI/WebChat: 現在の下部付近の動作を維持するか、ストリーミング出力に常に追従するか、あるいは自動スクロールをオフにして「新しいメッセージ」ボタンを手動で使用するかをユーザーが選択できる永続的な自動スクロールモードセレクターを追加しました。これにより、#7648 および #81287 が修正されました。@BunsDev 氏に感謝します。
- ACP:
acp.fallbacksを追加し、プライマリバックエンドが利用できない場合に、出力が発行される前に設定されたバックアップランタイムバックエンドを試すようにしました(#69542)。@kaseonedge 氏に感謝します。
修正点
- エージェント/サブエージェント: セッション開始時にターゲットエージェントのプライマリモデルの前に
agents.defaults.subagents.modelを適用し、claude-cli のようなモデルスコープのランタイムがデフォルトの子実行に引き続き接続されるようにしました。#81395 が修正されました(#81783)。@joshavant 氏に感謝します。
- Telegram: メインイベントループの停止中に Bot API ポーリングを維持するため、取り込み処理を永続的なローカルスポールを持つ独立したワーカーへ移動させました。#81132 が修正されました(#81746)。@joshavant 氏に感謝します。
- Telegram: レイジーな cron アナウンス配信を通じてレンダリングされた HTML フォーマットを保持し、Markdown リンクがクリック可能であることを維持して、リテラルアンカータグへのフォールバックを防ぎました。#81742 が修正されました(#81758)。
- Telegram: requireMention が有効な場合、未言及のグループメディアをダウンロード前にスキップし、無視すべきメッセージに対する失敗したメディアダウンロード返信を回避します。Fixes #81181. (#81785) Thanks @joshavant.
- CLI/plugins: 軽量パス上で裸のプラグインと親コマンドのヘルプを保持し、ヘルプレンダリング前にプラグインレジストリの発見を回避します。
- Gateway/session history: 生きている更新を通じて単調なトランスクリプトメッセージシーケンスを引き継ぎ、古くなったシーケンス入力が本来であれば不良な増分状態を追加してしまう場合に SSE (Server-Sent Events) の履歴を更新します。(#81474) Thanks @samzong.
- Security/sandbox: Windows USERPROFILE をサンドボックスでブロックされるホームルートに含め、HOME が別のシェルホームを指している場合でも、資格情報を保持するバインド(.codex, .openclaw, または Windows ユーザープロファイル内の .ssh など)が拒否されます。(#63074) Thanks @luoyanglang.
- Models config/auth: 広範な ^[A-Z_][A-Z0-9_]*$ 文字列からプロバイダーの環境変数マーカーを推論するのをやめ、構成に依存したプロバイダー apiKey 値を構造化された環境 SecretRefs (secrets.providers[id] / secrets.defaults) のみを介して解決し、無関係な環境変数が誤ってプロバイダー資格情報になることを防ぎます。Thanks @sallyom.
- Media fetch: 本文なしのメディアレスポンス(HEAD プロブと 204 スタイルの空ボディ)に対して応答ボディの割り当てとバッファリングをスキップし、ペイロードを持たないストリーム上のヒープ使用を回避します。Thanks @shakkernerd.
- CLI/onboarding: 設定ウィザードを通じてプロバイダー固有の認証フラグ(例:--openai-api-key)をフォワードし、ctx.opts を経由してプロバイダー認証メソッドに到達させることで、非対話型ハーンスにおいて「既存の環境変数を使用しますか?」という冗長なプロンプトをスキップできるようにする。(#81669) @sjf 氏に感謝。
- CLI/migrate: Codex の移行項目メッセージおよび REASON_CODE_MESSAGES ストリングから末尾のピリオドを削除し、プラン/結果行が文の一部ではなくラベルとして表示されるようにする。(#81705) @sjf 氏に感謝。
- Slack: 不正なプライベートファイルリダイレクト Location ヘッダーを、Slack メディアダウンロードの失敗として扱うのではなく、追跡不可能なリダイレクトとして処理する。
- Plugins: 非推奨の providerAuthEnvVars フォールバックを維持しつつ、プロバイダー発見時に setup.providers[].envVars の認証情報からプロバイダープラグインを検出する。(#81542) @JARVIS-Glasses 氏に感謝。
- Docs/Codex harness: エージェントごとの CODEX_HOME が ~/.codex を隔離することを明確化し、継承された HOME は意図的に .agents の発見およびサブプロセスのユーザーホーム状態を利用可能に保つことを説明する。
- Auth: ロックされた書き込みの再試行前に、所有者が死亡した古いファイルロックを回収することで、クラッシュした OAuth リフレッシュによって auth-profiles.json が手動クリーンアップまでフリーズ(固着)することがないようにする。
- CLI tables: 複数行セル後の折り返し継続行において、ミュート/カラーのスタイルを維持し、openclaw プラグインリストの説明が読みやすく保たれるようにする。
- Process execution: Windows 上で大文字小文字を区別しない重複する子環境変数キーを結合(collapse)することで、ホスト側の Path が呼び出し元が提供する PATH のオーバーライドをシャドウ(覆い隠す)することがないようにする。
- Gateway/diagnostics: スタートアップの猶予期間中にコールドスタートの生存性警告を抑制しつつ、生存性メトリクスのサンプリングは継続する。#79915 を修正。(#81699) @joshavant 氏に感謝。
- Codex ハーネス: OAuthRef に基づく Codex OAuth プロファイルの可用性を維持し、権限や利用制限ペイロードを再認証プロンプトに変換することなく、高信頼度のアプリサーバー OAuth リフレッシュ無効化がリトライスパムによって生じる生のトークンリフレッシュエラーを防ぐ。
- Browser CLI: ブラウザ制御コマンドに対して既存の operator.admin ゲートウェイスコープを明示的に要求し、不要なスコープアップグレード承認ループを回避する。#81555 を修正。(#81716) @joshavant 氏に感謝。
- Gateway/diagnostics: スタートアップの猶予期間中にコールドスタートの生存性警告を抑制しつつ、生存性メトリクスのサンプリングは継続する。#79915 を修正。(#81699) @joshavant 氏に感謝。
- Plugin SDK: 非推奨となった openclaw/plugin-sdk/memory-core パッケージサブパスを memory-host-core のエイリアスとして復元し、現在もそれをインポートする公開済みメモリコンパニオンプラグラムが現在のホスト上で解決できるようにする。
- Control UI/i18n: ローカルリフレッシュにインストールされたワークスペース pi ランタイムを使用し、フォールバックパッケージのピンを更新し、利用可能な場合は Anthropic CI プロバイダを優先し、無効なプロバイダ認証情報をメイン処理で失敗させるのではなくスキップする。
- Codex ハーネス: ネイティブアプリサーバーのトークンリフレッシュによるログアウトおよび再ログインの失敗を認証リフレッシュエラーとして分類し、ユーザーが生のランタイム障害ではなく再認証ガイダンスを受けられるようにする。
- Codex startup: プラグインの自動有効化、起動計画、および doctor インストール修復の際に、選択可能な構成済みの OpenAI エージェントモデルを Codex ランタイム要件として扱い、Anthropic 優先設定でも OpenAI/Codex へクリーンに切り替えられるようにする。
- Agents: ツールから返されたメディアを最終返信にマージする際、ソース返信のメタデータを保持し、メッセージツールのみによる返信も配信可能かつミラーリングできるようにする。@pashpashpash 氏および @vincentkoc 氏に感謝。
- Replies: リッチプレゼンテーション、インタラクティブコントロール、チャンネルネイティブペイロードデータを、フォローアップ、ハートビート、cron、ACP、ブロックストリーミング配信パスにおけるアウトバウンドコンテンツとして扱い、カードまたはボタンだけの返信が空と見なされて削除されないようにする。
- WebChat/TUI: Codex の tools.message ソースからの返信をアクティブな内部 UI ターンにルーティングし、セッション履歴にもミラーリングすることで、リッチプレゼンテーションやボタンだけの返信を含むメッセージツールのみによるハレス返信が WebChat と TUI が非ターゲットのアウトバウンドチャネルである間も消失しないようにする。(#81586) @pashpashpash 氏に感謝。
- Replies: ブロックストリーミングの統合が有効な場合でも、リッチのみによるブロック返信を配信し、テキスト統合器によってカードやボタンペイロードが削除されないようにする。@pashpashpash 氏に感謝。
macOS/companion: システム TLS トラストを必須とする
原文を表示
Changes
- Amazon Bedrock: externalize the Bedrock and Bedrock Mantle provider packages so core installs no longer pull AWS SDK dependencies unless those providers are installed.
- Plugins: externalize Slack, OpenShell sandbox, and Anthropic Vertex so their runtime dependency cones install only when those plugins are installed.
- Control UI/WebChat: add a persisted auto-scroll mode selector so users can keep the current near-bottom behavior, always follow streaming output, or turn automatic streaming scroll off and use the New messages button manually. Fixes #7648 and #81287. Thanks @BunsDev.
- ACP: add acp.fallbacks so ACP turns can try configured backup runtime backends when the primary backend is unavailable before any output is emitted. (#69542) Thanks @kaseonedge.
Fixes
- Agents/subagents: apply agents.defaults.subagents.model before target agent primary models during sessions_spawn, so model-scoped runtimes such as claude-cli stay attached to default child runs. Fixes #81395. (#81783) Thanks @joshavant.
- Telegram: keep Bot API polling alive during main event-loop stalls by moving ingress to an isolated worker with a durable local spool. Fixes #81132. (#81746) Thanks @joshavant.
- Telegram: preserve rendered HTML formatting through lazy cron announce delivery so Markdown links stay clickable instead of falling back to literal anchor tags. Fixes #81742. (#81758)
- Telegram: skip unmentioned group media before download when requireMention is active, avoiding failed media-download replies for messages that should be ignored. Fixes #81181. (#81785) Thanks @joshavant.
- CLI/plugins: keep bare plugin and parent-command help on the lightweight path, avoiding plugin registry discovery before rendering help.
- Gateway/session history: carry monotonic transcript message sequence through live updates and refresh SSE history when stale sequence input would otherwise append bad incremental state. (#81474) Thanks @samzong.
- Security/sandbox: include Windows USERPROFILE in the sandbox blocked home roots so credential-bearing binds (such as .codex, .openclaw, or .ssh under the Windows user profile) are denied even when HOME points at a different shell home. (#63074) Thanks @luoyanglang.
- Models config/auth: stop inferring provider env-var markers from broad ^[A-Z_][A-Z0-9_]*$ strings, and resolve config-backed provider apiKey values only through structured env SecretRefs (secrets.providers[id] / secrets.defaults), so unrelated env vars cannot accidentally become provider credentials. Thanks @sallyom.
- Media fetch: skip allocating and buffering the response body for bodyless media responses (HEAD probes and 204-style empty bodies), avoiding wasted heap on streams that carry no payload. Thanks @shakkernerd.
- CLI/onboarding: forward provider-specific auth flags (e.g. --openai-api-key) through the onboarding wizard so they reach provider auth methods via ctx.opts, letting --openai-api-key "$OPENAI_API_KEY" skip the redundant "use existing env var?" prompt in non-interactive harnesses. (#81669) Thanks @sjf.
- CLI/migrate: drop trailing periods from Codex migrate item messages and REASON_CODE_MESSAGES strings so plan/result rows read as labels instead of sentence fragments. (#81705) Thanks @sjf.
- Slack: treat malformed private-file redirect Location headers as unfollowable redirects instead of failing Slack media downloads.
- Plugins: discover provider plugins from setup.providers[].envVars credentials during provider discovery while keeping the deprecated providerAuthEnvVars fallback. (#81542) Thanks @JARVIS-Glasses.
- Docs/Codex harness: clarify that per-agent CODEX_HOME isolates ~/.codex while inherited HOME intentionally keeps .agents discovery and subprocess user-home state available.
- Auth: reclaim dead-owner stale file locks before retrying locked writes, so crashed OAuth refreshes no longer wedge auth-profiles.json until manual cleanup.
- CLI tables: preserve muted/color styling on wrapped continuation lines after multiline cells, keeping openclaw plugins list descriptions readable.
- Process execution: collapse case-insensitive duplicate child environment keys on Windows so caller-provided overrides such as PATH cannot be shadowed by host Path.
- Gateway/diagnostics: suppress cold-start liveness warnings during the startup grace window while still sampling liveness metrics. Fixes #79915. (#81699) Thanks @joshavant.
- Codex harness: keep oauthRef-backed Codex OAuth profiles usable and stop high-confidence app-server OAuth refresh invalidation from retry-spamming raw token-refresh errors without turning entitlement or usage-limit payloads into re-auth prompts.
- Browser CLI: request the existing operator.admin gateway scope explicitly for browser control commands, avoiding unnecessary scope-upgrade approval loops. Fixes #81555. (#81716) Thanks @joshavant.
- Gateway/diagnostics: suppress cold-start liveness warnings during the startup grace window while still sampling liveness metrics. Fixes #79915. (#81699) Thanks @joshavant.
- Plugin SDK: restore the deprecated openclaw/plugin-sdk/memory-core package subpath as an alias of memory-host-core, so published memory companion plugins that still import it resolve on current hosts.
- Control UI/i18n: use the installed workspace pi runtime for locale refreshes, update the fallback package pin, prefer the Anthropic CI provider when available, and skip invalid provider credentials instead of failing main.
- Codex harness: classify native app-server token-refresh logout and relogin failures as authentication refresh errors, so users get re-authentication guidance instead of a raw runtime failure.
- Codex startup: treat selectable configured OpenAI agent models as Codex runtime requirements during plugin auto-enable, startup planning, and doctor install repair, so Anthropic-primary configs can still switch to OpenAI/Codex cleanly.
- Agents: preserve source-reply delivery metadata when merging tool-returned media into the final reply, keeping message-tool-only replies deliverable and mirrored. Thanks @pashpashpash and @vincentkoc.
- Replies: treat rich presentation, interactive controls, and channel-native payload data as outbound content across follow-up, heartbeat, cron, ACP, and block-streaming delivery paths, preventing card/button-only replies from being dropped as empty.
- WebChat/TUI: route Codex tools.message source replies to the active internal UI turn and mirror them to session history, so message-tool-only harness replies, including rich presentation and button-only replies, no longer disappear while WebChat and TUI remain non-targetable outbound channels. (#81586) Thanks @pashpashpash.
- Replies: deliver rich-only block replies even when block-streaming coalescing is enabled, keeping card and button payloads from being dropped by the text coalescer. Thanks @pashpashpash.
macOS/companion: require system TLS trus
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み