2026 OpenClaw「タスクは飛ぶが返信がない」実戦:openclaw doctor から heartbeat・thinking・ログまでの順序リスト(VNC リモート Mac)
Telegram・Webhook・cron などインバウンドは来るのに、ユーザーに見えるアシスタント本文がゼロ——多くはモデルの怠けではなく 沈黙失敗 です。heartbeat と thinking、127.0.0.1 だけへのバインド、存在しない workflow パスを覚えたコンテキスト、既に終了したプロセスを古いチャットで見ている、などが重なります。本稿は openclaw status → doctor → health → logs の固定順、続けて heartbeat/thinking とスケジューラ環境の差、そして VNC 内ブラウザで Web コンソールを開く 手順までを一気通貫でまとめます(SSH だけだと誤認しやすいケースを潰すため)。
10 件のエラー早見は「リモート Mac での情報 10 の解決」、常駐は launchd チェックリスト、Docker は公式 Compose 記事を参照。本文は「トリガーはあるが可視返信がない」一点に絞ります。
読了後に答えられるか確認:ゲートウェイプロセスはまだ動いているか? 定時ジョブは対話シェルと同じ環境・モデルフラグを共有しているか? コンソールは実際にテストしているインターフェースにバインドされているか? いずれかが No なら、先にモデル交換をしないでください。
1. 症状の型
- チャネルが空のまま:インバウンドはあるがアウトバウンド本文なし。ログに run はあるがユーザー向け出力がないことも。
- スケジュールだけ無言:手動チャットは動くが cron/heartbeat が沈黙——thinking、heartbeat 用モデル、または環境差が疑わしい。
- 偽のダウン:ローカル curl は通るがリモートからは死んで見える。実際は loopback のみリッスン——VNC 内ブラウザが早い。
三つは同時に起きがちです。定時で run が記録されつつ thinking が可視トークンを消費し、別ホストからポートだけ見ていると混乱します。まず型を決めてから、下の固定コマンド列に進んでください。
2. なぜスタックトレースではなく静かか
- thinking でチャネルに出さない:内部ステップを消費し、短い heartbeat 間隔では「何も無かった」に見える。
- コンテキスト汚染:存在しない workflow への ENOENT が繰り返され、制御トークンを浪費。
- 設定の分岐:対話シェルには PATH や鍵があるが launchd/Docker にない——
doctorが片方だけ緑になる。 - リッスンと FW:
18789などが localhost のみだと、別ホストからは全滅に見える。 - リトライが飲み込まれる:UI は接続済みでもログに backoff——ランプではなくログを見る。
- 複数バイナリ:シェルの
openclawとデーモンの実体が一致しない。
3. 症状×優先チェック表
| 見え方 | 先に | 次に |
|---|---|---|
| 手動OK・定時無言 | heartbeat モデル + thinking | cron/launchd 環境がシェルと一致するか |
| 常に無言 | openclaw status | doctor + health --json |
| ログに run、返信なし | アウトバウンド経路・モデル出力設定 | 長い thinking の flush 不足 |
| コンソール不可 | バインドと FW | VNC 内の同一ユーザでブラウザ |
| たまにだけ文字がある | チャネル側のレート制限・retry 行 | タイムアウトと thinking ステップ数 |
表は最初の羅針盤であり網羅表ではありません。迷ったら status → doctor → health → logs に戻り、プロバイダ変更は後回しに。
4. 七ステップ
openclaw status
想定ユーザでプロセスが生きているか。plist 更新後は launchctl の unload/load を忘れず。
openclaw doctor
依存・パス・権限の失敗をチケット用に一度保存。
openclaw health --json
二回の JSON を diff し、エンドポイントや版のズレを拾う。
openclaw logs --follow
再現中に tail。Ctrl+C 前にタイムスタンプをメモ。
heartbeat/cron の thinking
公式どおり off なら適用し、定時パスだけ再テスト。
幻覚 workflow の整理
ENOENT ループならコンテキストリセットまたは設定修正。
VNC 内ブラウザでコンソール URL
loopback と LAN/トンネルの食い違いを突合。ポートは Docker/launchd 記事と照合。
最小チケットテンプレート
毎回この五つ:(1) トリガー種別(手動/cron/Telegram);(2) status の一行要約;(3) doctor にブロッカーがあったか;(4) health --json のゲートウェイ・モデル端点の版;(5) タイムスタンプ付きログ 30 行程度。二週間続けると沈黙系がビセクト可能になります。
5. 引用メモとチェックリスト
doctor+healthの出力を一度保存したか- heartbeat と手動チャットで同じ設定断片か
- 0.0.0.0 と 127.0.0.1 のリッスンを確認したか
- 再現ウィンドウで
logs --followの時刻を取ったか
6. FAQ と結論
「10 の解決」との違い? そちらはエラー中心。こちらは文字列の無い沈黙とコマンド順。
Docker? 同じコマンドをコンテナ内で。ポートマップは Docker 記事に従い、ホスト/VNC から再確認。
ヘッドレス VM と VNC Mac? デーモンは動くが、ローカルコールバックやブラウザ一回クリックが GUI 無しだと詰まる。VNC 付き Mac は観測可能性を買う投資。
結論
無応答の多くは 設定・プロセス・thinking・バインド の積み重ねで、モデル単体の故障より稀です。日常が Windows/Linux でもゲートウェイを実機 macOS に置くなら、VNC で触れるリモート Mac に doctor・ログ・ブラウザを集約すると MTTR が下がります。VNCMac と OpenClaw シリーズで、沈黙を再現チケットに落とし込んでください。
真っ白に見えるときは「アウトバウンドが本当に無いのか、thinking/整形が食べたのか」をログで分岐——API キーを盲ローテーションする前に数秒で済む切り分けです。