ゲートウェイ再起動後に起きるメッセージチャネルの不具合
これら3つの不具合は無関係に見えますが、根本原因は共通です。ゲートウェイが起動時にチャネルの状態を再登録する際、前回の状態を消していないことに起因します。アップグレードやクラッシュ後の再起動でまとめて現れやすいため、1つずつ追うより一度に確認する方が早く終わります。
Telegramスキルコマンドが_2、_3サフィックスで重複
ゲートウェイを再起動すると、/summarize_2、/summarize_3のような重複したスキルコマンドがTelegramに表示されます。
✅ 修正1 — 再起動前にTelegramボットコマンドをクリア
# 再起動前にすべてのTelegramボットコマンドをクリア openclaw telegram clear-commands --bot YOUR_BOT_TOKEN # または特定のチャットスコープをクリア openclaw telegram clear-commands --bot YOUR_BOT_TOKEN --scope all_private_chats # その後ゲートウェイを再起動 openclaw gateway restart
✅ 修正2 — 設定でコマンドの重複排除を有効化
channels:
telegram:
commands:
deduplicate: true # 再登録前に自動クリア
clearOnStartup: true # 起動時に古いコマンドを削除TelegramのBot APIはサーバー側でコマンドレジストリを保持します。OpenClawが起動時に既存のコマンドをクリアせずに再登録すると、Telegramは競合を避けるために_2、_3サフィックスを付加します。
ハートビートメッセージが誤ったチャンネル/Discord DMに漏洩
v2026.2.24+へのアップグレード後、以前は設定されたチャンネルのみに送信されていたハートビートメッセージがDiscord DMや関係のないチャンネルに表示されるようになりました。
✅ 修正1 — ハートビート配信を明示的にスコープ設定
agents:
defaults:
heartbeat:
deliverTo:
- channel: discord
scope: guild_channel # サーバーチャンネルのみ、DMは除外
channelId: "1234567890123456789"✅ 修正2 — 影響を受けるチャンネルのハートビートを無効化
channels:
discord:
heartbeat:
enabled: false # Discordのハートビートを完全に無効化ハートビート配信のデフォルトが'設定されたチャンネルのみ'から'すべてのアクティブセッション'に変更されました。これにより、ハートビートメッセージがオープンセッションを持つDMやグループチャットに届くようになりました。
ストリーミングUIがエージェントターン間でテキストを結合/連結して表示
v2026.3.1以前の既知のバグ:複数ターンにわたってレスポンスをストリーミングする際、deltaBufferにターン間セパレーターがありません。これにより、あるエージェントレスポンスの末尾が次のレスポンスの先頭と結合されます。
- →エージェントが言う:'もちろん、要約をご紹介します:こんにちは!何かお手伝いできますか?'(2つのレスポンスが結合)
- →Markdownが正しくレンダリングされない — 前のレスポンスの閉じ ``` が次に漏れる
- →ストリーミングモードのみで発生 — 非ストリーミングは正常に動作
✅ 修正1 — v2026.3.2にアップグレード(公式修正)
# v2026.3.2以降にアップグレード npm install -g openclaw@latest # 確認 openclaw --version # 2026.3.2以上を表示するはず
✅ 修正2 — ストリーミングを一時的に無効化(回避策)
# openclaw.yamlでストリーミングを一時的に無効化
agents:
defaults:
streaming: falseIssue #35308: deltaBufferはエージェントターン間でセパレーター(改行+null)をフラッシュせずにトークンチャンクを蓄積します。これはv2026.2.25-beta.1のストリーミングリファクタリングで導入されました。v2026.3.2で修正済み。