Gateway Lifecycle
Gateway lifecycle on macOS (launchd)
macOS アプリはデフォルトでlaunchd 経由で Gateway を管理し、子プロセスとして
Gateway を起動しません。まず、構成されたポートですで
実行中の Gateway にアタッチしようとします。到達できない場合、外部
''openclaw'' CLI 経由で launchd サービスを有効にします(埋め込みランタイムなし)。これにより、
ログイン時の信頼できる自動起動とクラッシュ時の再起動が提供されます。
子プロセスモード(アプリによって直接起動された Gateway)は現在使用されていません。
UI とのより密な結合が必要な場合は、ターミナルで Gateway を手動で実行してください。
デフォルトの動作(launchd)
- アプリは ''bot.molt.gateway'' というラベルのユーザーごとの LaunchAgent をインストールします
(or ''bot.molt.<profile>'' when using ''--profile''/''OPENCLAW_PROFILE''; legacy ''com.openclaw.*'' is supported).
- ローカルモードが有効な場合、アプリは LaunchAgent が読み込まれ、
必要に応じて Gateway を起動することを確認します。
- ログは launchd gateway ログパスに書き込まれます(デバッグ設定で表示可能)。
一般的なコマンド:
Replace the label with ''bot.molt.<profile>'' when running a named profile.
launchctl kickstart -k gui/$UID/bot.molt.gateway launchctl bootout gui/$UID/bot.molt.gateway
PlatformsMacChildprocessPage step 01: P8
未署名の開発ビルド
''scripts/restart-mac.sh --no-sign'' は、署名キーがない場合の
高速なローカルビルド用です。launchd が未署名の中継バイナリを指さないようにするために、次のことを行います:
- ''~/.openclaw/disable-launchagent'' を書き込みます。
''scripts/restart-mac.sh'' の署名付き実行は、マーカーが
存在する場合、この上書きをクリアします。手動でリセットするには:
rm ~/.openclaw/disable-launchagent
アタッチのみモード
macOS アプリをlaunchd をインストールまたは管理しないように強制するには、
''--attach-only''(または ''--no-launchd'')で起動します。これにより ''~/.openclaw/disable-launchagent'' が設定され、
アプリはすでに実行中の Gateway にのみアタッチされます。デバッグ設定で同じ
動作を切り替えることができます。
リモートモード
リモートモードはローカル Gateway を起動しません。アプリは SSH トンネルを使用して
リモートホストに接続し、そのトンネル経由で接続します。
launchd を好む理由
- ログイン時の自動起動。
- 組み込みの再起動/KeepAlive セマンティクス。
- 予測可能なログと監視。
真の子プロセスモードが再び必要な場合は、
別の、明示的な開発のみモードとして文書化する必要があります。