OpenClaw Changelog·2026年4月28日 10:13·約8分で読める
OpenClaw 2026.4.26版の更新内容
TL;DR
OpenClawは2026年4月26日版で、QQBotのグループチャット機能を強化し、履歴追跡やメンション制御などを追加した。また、大ファイルのストリーミング送信とエンジンリファクタリングを実施し、パイプライン構造へ移行した。
2026.4.26
変更点
- チャネル/QQBot: グループチャットの完全なサポート(履歴追跡、@メンションによるゲート制御、アクティベーションモード、グループごとの設定、配信デバウンス付きFIFOメッセージキュー)を追加し、C2Cのstream_messagesストリーミングをStreamingControllerライフサイクルマネージャーで実装しました。また、大規模ファイルのチャンクアップロードに対応するunified sendMediaを実装し、エンジンをパイプラインステージ、焦点を絞ったアウトバウンドサブモジュール、ビルトインのスラッシュコマンドモジュール、そしてcreateEngineAdapters()経由で明示的なDIポートを持つ構成にリファクタリングしました。(#70624) 貢献者: @cxyhhhhh
- チャネル/Yuanbao: 公式チャネルカタログ、契約スイート、コミュニティプラグインドキュメントにTencent Yuanbao外部チャネルプラグイン(openclaw-plugin-yuanbao)を登録しました。また、WebSocketボットのDMおよびグループチャネル向けのクイックスタートガイドとして、new docs/channels/yuanbao.mdを追加しました。(#72756) 貢献者: @loongfay
- コントロールUI/Talk: 汎用のブラウザリアルタイムトランスポート契約、制限付き一時的トークンを使用したGoogle LiveブラウザTalkセッション、およびバックエンド専用のリアルタイム音声プラグイン向けゲートウェイリレーを追加しました。貢献者: @VACInc
- CLI/models: ユーザー設定、インストール済みマニフェスト行、プロバイダーインデックスプレビュー、スコープ付きランタイムフォールバックが安定した権威順序を維持し、追加のカタログキャッシュを追加しないようにするため、プロバイダーフィルタリングされたモデルリストを明示的なソースプラン経由でルーティングしました。貢献者: @shakkernerd
- プロバイダー: Cerebrasをオンボーディング、静的モデルカタログ、ドキュメント、マニフェスト所有のエンドポイントメタデータを含むバンドルプラグインとして追加しました。
- Memory/OpenAI互換:非対称エンベディングエンドポイント用のオプション設定として、memorySearch.inputType、queryInputType、documentInputTypeを追加しました。これにより、直接クエリエンベディングやプロバイダーバッチインデックス化が可能になります。#63313および#60727の機能を引き継いでいます。@HOYALIMと@prospect1314521に感謝します。
- Ollama/memory:nomic-embed-text、qwen3-embedding、mxbai-embed-largeのメモリ検索クエリに対してモデル固有の取得クエリプレフィックスを追加しましたが、ドキュメントバッチは変更していません。#45013の機能を引き継いでいます。@laolin5564に感謝します。
- プラグイン/プロバイダー:プリランタイムのモデルID正規化、エンドポイントホストメタデータ、OpenAI互換リクエストファミリーのヒント、モデルカタログエイリアス/抑制、OpenAIの古いSpark抑制、再利用可能な起動時メタデータスナップショットをプラグマニフェストに移動しました。これにより、コアはバンドルされたプロバイダーのルーティングテーブルや繰り返されるマニフェスト再ビルドを保持しなくなりました。@shakkernerdに感謝します。
- プラグイン/設定:直接プラグイン設定の読み書きヘルパーを非推奨とし、渡されたランタイムスナップショットとトランザクショナルな変更ヘルパー(明示的な再起動後のフォローアップポリシー、スキャナーのガードレール、ランタイム警告、リビジョンベースのキャッシュ無効化を含む)を優先しました。
- プラグイン/インストール:OPENCLAW_PLUGIN_STAGE_DIRに階層化されたランタイム依存関係のルートを含められるようにし、読み取り専用のプリインストール依存関係を解決してから、欠落している依存関係を最終的な書き込み可能なルートにインストールします。#72396を修正しました。@liorb-mountappsに感謝します。
- コントロールUI:JSON5を解析し、機密値を露出するまで伏字にし、パネルを開く際に偽の生編集コールバックを回避する、未適用設定の変更差分表示パネルを追加しました。参照 #39831;#48621および#46654を置き換えます。@JiajunBernoulli氏と@BunsDev氏に感謝します。
- コントロールUI:クイック設定ダッシュボードのグリッドを整備し、デスクトップ、タブレット、モバイルの各レイアウトで一般的なカードが横方向のスペースを無駄にすることなく整列するようにしました。@BunsDev氏に感謝します。
- Matrix/E2EE:Matrix暗号化を有効にし、リカバリ(回復)の初期化を行い、1つのセットアップフローから検証ステータスを出力するOpenClaw Matrix暗号化セットアップを追加しました。@gumadeiras氏に感謝します。
- エージェント/コンパクション:アクティブなJSONLファイルが大きくなりすぎた場合に通常のローカルコンパクションを実行する、オプトイン(任意参加)のagents.defaults.compaction.maxActiveTranscriptBytesプリフライトトリガーを追加しました。これによりトランスクリプトのローテーションが必要となり、正常なコンパクションによって将来のターンが生のバイト分割履歴ではなく、より小さな後継ファイルに移動するようになります。@vincentkoc氏に感謝します。
- CLI/マイグレーション:plan、dry-run(実行前確認)、JSON出力形式、移行前のバックアップ、オンボーディング検出、アーカイブのみレポート、Claude Code/Desktopインポーター、および設定、メモリ/プラグヒント、モデルプロバイダー、MCPサーバー、スキル、コマンド、サポートされた資格情報をインポートするためのHermesインポーターを備えたopenclaw migrateを追加しました。@vincentkoc氏と@NousResearch氏に感謝します。
修正
- エージェント/LSP: ランタイム破棄時およびゲートウェイシャットダウン時に、バンドルされたstdio LSPプロセスツリーを終了させることで、tsserverなどのネストされた子プロセスが停止や再起動後も生き残らないようにします。#72357を修正しました。@ai-hpc氏および@bittoby氏に感謝します。
- ゲートウェイ/デバイストークン: トークンのみのクライアントが再接続する前に必要とする同一デバイス間でのトークン引継ぎを維持しつつ、共有/管理者のdevice.token.rotateレスポンスから回転したベアラートークンをエコー出力しないようにしました。(#66773) @MoerAI氏に感謝します。
- コントロールUI/トーク: WebSocketトランスポート上でGoogle Liveブラウザセッションを維持し、WebRTCへのフォールバックを行わないようにします。ブラウザのGoogle Live WebSocketエンドポイントを検証し、ブラウザ接続ごとにゲートウェイリレーセッション数を制限します。また、設定されたTalk/TTSプロバイダを使用していない、古くなったブラウザネイティブの音声ボタンを削除しました。@BunsDev氏に感謝します。
- ゲートウェイ/起動: 制約のある許可リストがブート時に重複するマニフェスト/設定の処理を避けるよう、作成済みのソース設定および無効なセットアッププローブの処理を含む、起動時の自動有効化、設定検証、プラグインブートストラップ計画のために、構成スナップショットのプラグインマニフェストを再利用します。@shakkernerd氏に感謝します。
- エージェント/サブエージェント: リクエスタの自己ターゲットを自動許可するのではなく、明示的な同一セッション_spawn(agentId=...)呼び出しに対してsubagents.allowAgentsを適用します。#72827を修正しました。@oiGaDio氏に感謝します。
- ACP/sessions_spawn: acp.dispatch.enabled=falseの場合でも自動のACPスレッドディスパッチをブロックしたまま、明示的なsessions_spawn(runtime="acp")によってブートストラップターンが実行されるようにします。#63591を修正しました。@moeedahmed氏に感謝します。
- CLI/update: パッケージツリーを置き換える前に、検証済みの一時プレフィックス内にnpmグローバルアップデートをインストールし、古いバージョンと新しいバージョンの混在や、壊れたパッケージファイルによるopenclawアップデート検証の失敗を防ぎます。@shakkernerd さんありがとうございます。
- Gateway: フォアグラウンドでのゲートラン実行において、CLI起動時の自己リスポーンをスキップします。これにより、低メモリ環境のLinux/Node 24ホストでも、dist/index.jsを直接実行した場合と同じパスで起動し、ログ出力前にハングアップすることがなくなります。#72720 を修正しました。@sign-2025 さんありがとうございます。
- Google Meet: ローカルChromeの参加をOpenClawブラウザ制御経由でルーティングし、Meetのメディア権限を付与します。また、ローカルChromeのオーディオデフォルトをBlackHole 2chに固定し、設定済みのOpenClawブラウザプロファイルを使用することで、参加したエージェントが「権限が必要です」の表示を出さず、生デフォルトのChrome状態を使用しないようにします。@DougButdorf さんおよび @oromeis さんありがとうございます。
- Plugins/discovery: グローバルおよびワークスペースのプラグインルートにあるシンボリックリンク付きプラグインディレクトリを参照し、壊れたリンクは無視しつつ既存のパッケージ安全性チェックは維持します。#36754 を修正し、#72695 および #63206 の変更を引き継ぎます。@Quackstro さん、@ming1523 さん、および @xsfX20 さんありがとうございます。
Plugins/install: インストール時にテストファイルおよびディレクトリをスキップします
原文を表示
2026.4.26
Changes
- 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.
- 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.
- Control UI/Talk: add a generic browser realtime transport contract, Google Live browser Talk sessions with constrained ephemeral tokens, and a Gateway relay for backend-only realtime voice plugins. Thanks @VACInc.
- CLI/models: route provider-filtered model listing through an explicit source plan so user config, installed manifest rows, Provider Index previews, and scoped runtime fallbacks keep a stable authority order without adding another catalog cache. Thanks @shakkernerd.
- Providers: add Cerebras as a bundled plugin with onboarding, static model catalog, docs, and manifest-owned endpoint metadata.
- Memory/OpenAI-compatible: add optional memorySearch.inputType, queryInputType, and documentInputType config for asymmetric embedding endpoints, including direct query embeddings and provider batch indexing. Carries forward #63313 and #60727. Thanks @HOYALIM and @prospect1314521.
- Ollama/memory: add model-specific retrieval query prefixes for nomic-embed-text, qwen3-embedding, and mxbai-embed-large memory-search queries while leaving document batches unchanged. Carries forward #45013. Thanks @laolin5564.
- Plugins/providers: move pre-runtime model-id normalization, endpoint host metadata, OpenAI-compatible request-family hints, model-catalog aliases/suppressions, OpenAI stale Spark suppression, and reusable startup metadata snapshots into plugin manifests so core no longer carries bundled-provider routing tables or repeated manifest rebuilds. Thanks @shakkernerd.
- Plugins/config: deprecate direct plugin config load/write helpers in favor of passed runtime snapshots plus transactional mutation helpers with explicit restart follow-up policy, scanner guardrails, runtime warnings, and revision-based cache invalidation.
- Plugins/install: allow OPENCLAW_PLUGIN_STAGE_DIR to contain layered runtime-dependency roots, resolving read-only preinstalled deps before installing missing deps into the final writable root. Fixes #72396. Thanks @liorb-mountapps.
- Control UI: add a raw config pending-changes diff panel that parses JSON5, redacts sensitive values until reveal, and avoids fake raw-edit callbacks when opening the panel. Refs #39831; supersedes #48621 and #46654. Thanks @JiajunBernoulli and @BunsDev.
- Control UI: polish the quick settings dashboard grid so common cards align across desktop, tablet, and mobile layouts without wasting horizontal space. Thanks @BunsDev.
- Matrix/E2EE: add openclaw matrix encryption setup to enable Matrix encryption, bootstrap recovery, and print verification status from one setup flow. Thanks @gumadeiras.
- Agents/compaction: add an opt-in agents.defaults.compaction.maxActiveTranscriptBytes preflight trigger that runs normal local compaction when the active JSONL grows too large, requiring transcript rotation so successful compaction moves future turns onto a smaller successor file instead of raw byte-splitting history. Thanks @vincentkoc.
- CLI/migration: add openclaw migrate with plan, dry-run, JSON, pre-migration backup, onboarding detection, archive-only reports, a Claude Code/Desktop importer, and a Hermes importer for configuration, memory/plugin hints, model providers, MCP servers, skills, commands, and supported credentials. Thanks @vincentkoc and @NousResearch.
Fixes
- Agents/LSP: terminate bundled stdio LSP process trees during runtime disposal and Gateway shutdown, so nested children such as tsserver do not survive stop or restart. Fixes #72357. Thanks @ai-hpc and @bittoby.
- Gateway/device tokens: stop echoing rotated bearer tokens from shared/admin device.token.rotate responses while preserving the same-device token handoff needed by token-only clients before reconnect. (#66773) Thanks @MoerAI.
- Control UI/Talk: keep Google Live browser sessions on the WebSocket transport instead of falling back to WebRTC, validate browser Google Live WebSocket endpoints, cap Gateway relay sessions per browser connection, and remove stale browser-native voice buttons that did not use the configured Talk/TTS provider. Thanks @BunsDev.
- Gateway/startup: reuse config snapshot plugin manifests for startup auto-enable, config validation, and plugin bootstrap planning, including authored source config and disabled setup-probe handling, so restrictive allowlists avoid duplicate manifest/config passes during boot. Thanks @shakkernerd.
- Agents/subagents: enforce subagents.allowAgents for explicit same-agent sessions_spawn(agentId=...) calls instead of auto-allowing requester self-targets. Fixes #72827. Thanks @oiGaDio.
- ACP/sessions_spawn: let explicit sessions_spawn(runtime="acp") bootstrap turns run while acp.dispatch.enabled=false still blocks automatic ACP thread dispatch. Fixes #63591. Thanks @moeedahmed.
- CLI/update: install npm global updates into a verified temporary prefix before swapping the package tree into place, preventing mixed old/new installs and stale packaged files from breaking openclaw update verification. Thanks @shakkernerd.
- Gateway: skip CLI startup self-respawn for foreground gateway runs so low-memory Linux/Node 24 hosts start through the same path as direct dist/index.js without hanging before logs. Fixes #72720. Thanks @sign-2025.
- Google Meet: route local Chrome joins through OpenClaw browser control, grant Meet media permissions, pin local Chrome audio defaults to BlackHole 2ch, and use the configured OpenClaw browser profile so joined agents no longer show Permission needed or use raw/default Chrome state. Thanks @DougButdorf and @oromeis.
- Plugins/discovery: follow symlinked plugin directories in global and workspace plugin roots while keeping broken links ignored and existing package safety checks in place. Fixes #36754; carries forward #72695 and #63206. Thanks @Quackstro, @ming1523, and @xsfX20.
Plugins/install: skip test files and directories during install sec
この記事をシェア
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み