AI / 自動化 2026年4月17日

2026-04-17 ヘッドレス リース クラウド Mac 上の OpenClaw onboardinstall-daemon

MacXCode エンジニアリングチーム 2026年4月17日 約15分で読了

OpenClaw の 2026 年 npm 配布は引き続き CLI ファースト を強調します。グローバルにインストールし、openclaw onboard を実行し、ツールがゲートウェイ用の LaunchAgents を足場組みします。SSH だけが接点のリース済み Apple Silicon Mac ではハッピーパスは簡単ですが、GUI を前提としたプロンプト、欠落した環境変数、上流推奨から二世代遅れた Node までが地雷になります。この 2026-04-17 ガイドは前提条件、ピン留めインストール、デーモン作成、HK / JP / KR / SG / US ノードでの検証を順に追います。クリーンに立ち上がったら ゲートウェイのアップグレードとロールバックlaunchd 経由のシークレットヘルスプローブへ進み、webhook を公開する前に仕上げてください。初回成功時の openclaw --version と plist label を CMDB に残すと後追いが楽です。

前提条件:アカウント、ポート、ポリシー

  • 外向き HTTPS — モデルとチャネルのエンドポイントがリージョンから到達できること。企業テナントでは許可リストを文書化します。
  • ローカルバインド — 既定のゲートウェイはしばしば 127.0.0.1:18789。公開トラフィックは nginx イングレス と組み合わせます。
  • ユーザーコンテキスト — CI やオペレータセッションと同じ POSIX ユーザーでインストールし、分割されたホームレイアウトを避けます。

複数エンジニアがホストを共有する場合、API キーのローテーション責任(誰が生成し、誰が plist に書き込み、誰が curl で検証するか)を明文化してください。ヘッドレス環境では「誰かのローカルで export したが CI に引き継がれない」ことが最大の罠です。

Node バージョンの固定(22 LTS と 24)

最近の OpenClaw ビルドのリリースノートは、利用可能なら Node 24 を推しつつ、Node 22.16+ をサポート下限とします。macOS Sonoma / Sequoia のビルダーでは組織承認済みインストーラ(fnm、nvm、pkg)を使いつつ、バージョンを IaC で固定してください。node -vnpm -v をマスク済み openclaw.json と同じ成果物バンドルに記録します。

node -v && npm -v && which node

混在禁止: システムの /usr/bin/node と Homebrew Node を端末ごとに混ぜないでください。launchd は最小限の PATH を継承します。必要なら plist の EnvironmentVariables に絶対パスを書きます。

SSH セッションと非対話の規律

オンボーディング前にプロバイダキーを export します。多くのフローは OPENAI_API_KEY 形式の変数やカスタムブリッジトークンを読み取ります。完全非対話では export VAR=…openclaw onboard を同じシェル起動にまとめるか、パーミッション 0400 のドットファイルを source します。CLI がまだ対話する場合は semver ドキュメントの --yes 系フラグを確認してください。

長時間セッションでは SSH_TTYLC_ALL を記録し、文字化けによるデーモン誤判定を避けます。

CLI のインストール(ピン留めでドリフト回避)

本番は npm メタデータの 2026.4.x のような明示バージョンに揃え、リージョンの最初のホストで裸の @latest を使わないでください。

npm install -g openclaw@2026.4.15

インストール後に openclaw --version を実行し、標準出力を CMDB に保存してください。将来の差分はこのベースラインに依存します。

openclaw onboard --install-daemon を実行する

onboard サブコマンドはモデル選択、ワークスペース既定、デーモン導入を順に案内します。ヘッドレスホストではセキュリティベースラインが特定 ACL を要求する場合、先に ~/.openclaw を作成し所有者を合わせます。--install-daemon 完了後、~/Library/LaunchAgents に plist 参照が現れ、ai.openclaw.gateway のようなラベル(バージョンで変化します — 出力パスを必ず読む)が付きます。

シグナル 正常 異常
CLI 終了コード 0 と「installed daemon」要約 非ゼロで plist ディレクトリに EACCES
ファイル plist とログディレクトリが作成される LaunchAgents エントリのない部分的 ~/.openclaw
ポート 文書化された localhost ポートへの curl が成功 古いプロセスによるアドレス使用中

launchd の検証と重複検出

macOS のバージョンに合わせて launchctl bootstrap gui/$UID … / kickstart パターンで現在の GUI なしセッション向けにエージェントをブートストラップします。すぐに openclaw doctor を走らせ、重複 LaunchAgent の回復 を参照してください。unload せずに onboard を再実行すると plist が積み上がりがちです。

ヘルスチェック、ログ、nginx を足すタイミング

レディネスプローブ の軽量 curl を使い、127.0.0.1 が HTTP 200 になるまでループしてから nginx TLS を取り付けます。初回チャネルハンドシェイク中は ~/.openclaw/logsOPENCLAW_STATE_DIR で変わる場合あり)を tail し、認証設定ミスを早期に掴みます。

最初のノードが安定したら、単一 Mac に重い Xcode レーンと常時オン AI ゲートウェイを載せるのではなく、料金ページ からセカンダリリージョンへプレイブックを複製します。公開ポートの代わりに mesh が必要なら、開放前に Tailscale メッシュ を確認してください。コンテナとネイティブ npm のトレードオフは Docker 対 ネイティブ を参照し、本文は npm ネイティブデーモンにフォーカスします。

Teams comparing terminal agents: see our Codex CLI vs Claude Code M4ベンチマーク (レンタルビルダー向け Terminal-Bench 77.3%対65.4%).

FAQ:クラウド Mac での初回インストール

質問 回答
tmux から onboard してよい? はい — 同じ環境ブロックを読み込んでください。tmux ペインは launchd が注入した変数を忘れがちです。
ポート 18789 が衝突したら? 古いゲートウェイを停止し、古い plist を unload してから doctor を再実行。カスタムポートは nginx upstream に記録します。
Docker の方が簡単? トレードオフが異なります — Docker 対 ネイティブ を参照。本文は npm ネイティブデーモン向けです。

まとめ:Node を固定し、npm semver を固定し、SSH 前にシークレットを export し、デーモンを一度きれいに入れ、doctor + curl で検証してからアップグレードとイングレスのランブックで硬化する — 逆順にしないでください。

OpenClaw + Xcode サイドカー向け専用 M4

SSH ファースト · HK · JP · KR · SG · US