2026 OpenClaw アップグレード実践:3.22 → v2026.3.24(Macクラウド・launchd)

OpenClaw は 2026 年初頭に 3.22(チャネル統合・Credential まわりの強化)と v2026.3.24(OpenAI 互換 API 面の拡張)を近接リリースし、OPENCLAW_* への環境変数統一、SecretRef の fail-fast、ネイティブ PDF、ストリーミング寄りのチャネル既定が一括で入ります。本稿は Mac クラウド上で launchd / cron 配下にゲートウェイを置いているチーム向けに、パッケージ更新だけでは壊れる理由、差分マトリクス、バックアップ・doctor・スモーク・ロールバックの 再現手順を整理します。初回 5 ステップ本番ハードニングトラブルシュートと併読してください。

MacクラウドでOpenClawゲートウェイをアップグレードし検証する流れ

目次

1. 代表的な三つの失敗モード

チュートリアル前提の検証用マシンと違い、本番は Slack/Discord ブリッジDocker/npm 形態と結線されています。

  1. スナップショットなし:設定ディレクトリ・plist・環境ファイルを固めずに更新すると、旧版が起動できた事実を証明できずロールバックが感覚頼みになります。共有 Mac クラウドアカウントではさらに悪化します。
  2. プレフィックスの漂流:3.22 は OPENCLAW_* を前提にし、旧 ClawdBot/MoltBot 系の変数は尊重されない場合があります。launchd は EnvironmentVariables に書いたものしか注入せず、認証失敗やタイムアウトに似た半壊状態になります。
  3. SecretRef fail-fast と新既定:欠落した秘密情報で起動を止める設計です。PDF やチャネルはプロバイダ設定が要り、doctor を飛ばすとトラフィックが来て初めて表面化します。

共有アカウントでは、対話シェルで各自が違う export を試す一方、launchd は古いキーを注入し続ける、という二重状態になりがちです。更新前にジョブの launchctl print、plist 実体パス、実効環境(値はマスクしキー名のみ)を記録してください。IM ブリッジを別プロセスで動かしている場合は、ログパスとトークンファイルが新 CLI レイアウトと揃うよう同一変更窓で上げてください。

2. リリース差分マトリクス

実際のキーはインストール済み CLI とリリースノートで確認してください。運用上の差分イメージは下表です。

領域3.22v2026.3.24運用アクション
環境変数OPENCLAW_* 優先・旧プレフィックス整理未知キーの検証が厳格化plist・CI 秘密を grep し、reload 前に移行
SecretsSecretRef 範囲拡大 + fail-fast互換ゲートウェイ経路と整合ステージで意図的に壊した SecretRef でブロックを検証
PDFバイト/ページ上限付きネイティブ経路モデルルーティングが互換層と相互作用小さな PDF で回帰し上限を文書化
チャネルTelegram などストリーミング既定の調整429/バックオフを監視しログパスをデプロイ形態に合わせる
OpenAI 互換/v1/modelsループバックで curl、公網直晒し禁止

Linux 併用チームは マルチプラットフォーム記事を参照。アップグレード順序は同じで、常駐方式だけが異なります。

3. 手順:スナップショットから launchd まで

同一サービスユーザーでフォアグラウンドに doctor とスモークが通るまで launchd を reload しないでください。

  1. スナップショット:設定・plist・環境ファイルをアーカイブ。openclaw --version と lockfile を記録。Git がなければ plist とバイナリの SHA256 でも可。
  2. 停止openclaw gateway stop18789lsof で解放確認。IM サイドカーがあれば停止。
  3. バイナリ/パッケージ更新:pnpm/npm など公式手順。root とユーザ混在インストールを避ける。
  4. 環境移行:plist の EnvironmentVariables とプロファイルを OPENCLAW_* に統一。
  5. doctor:ERROR をゼロに。WARN はポリシーで許容可否を判断。
  6. スモーク:小 PDF、SecretRef 負例→復旧、必要なら /v1/models を curl。
  7. launchdlaunchctl unload/load 後 15 分ログ監視。旧 tarball で即ロールバック可能に。

PDF 検証では設定上限内の 2 ページ程度の資料を使い、Activity Monitor で経過時間と RSS をアップグレード前後で比較してください。SecretRef はステージで意図的に壊したパスを指し、非ゼロ終了を確認してから正しい参照に戻します。

curl -sS -H "Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN" \ "http://127.0.0.1:18789/v1/models" | head -c 400
# plist 編集後の例(ラベルとパスは環境に合わせて置換) launchctl unload ~/Library/LaunchAgents/com.example.openclaw.gateway.plist launchctl load ~/Library/LaunchAgents/com.example.openclaw.gateway.plist launchctl print gui/$(id -u)/com.example.openclaw.gateway | head -n 40
注意:ゲートウェイはループバックまたは認証付きリバプロに限定—ハードニングに従ってください。

4. 引用できる技術メモ

Node 22+ は必須です。OS やツールチェーン更新で nvm のデフォルト alias が変わると「昨日まで動いた」が起きます。SecretRef fail-fast はプレースホルダ秘密で黙って動くより、デプロイ時に失敗を見せる方が安全という意図です。PDF 上限を上げるときは同時セッション上限も見直さないと、Mac クラウドでスワップに落ちます。

サードパーティは /v1/models をキャッシュする場合があるため、アップグレード後にモデル ID が変わったらキャッシュ破棄が必要です。Apple Silicon では PDF とストリーミングチャネルを同時に載せるとメモリ圧迫に注意。launchd の ThrottleInterval はクラッシュループを隠すことがあるため、設定が効かないときは launchctl print とシステムログのスロットリングを確認してください。

5. 場当たり更新から監査可能な運用へ

開発者ノート単体、あるいはボリュームパスが本番と一致しない汎用 Linux 上の Docker だけでは、再現可能なアップグレードが作りにくいです。ノートはスリープし、Docker Desktop はネットワークスタックが異なり、bind mount はドリフトします。launchd 契約がなく SecretRef パスを揃えづらく、IM/PDF の回帰もデスクトップ電源プロファイルに引っ張られます。

専用 Mac クラウドアカウントで plist を版管理し、doctor とスモークをスクリプト化し、イミュータブルなスナップショットを残せば、OpenClaw の更新は変更チケットになります。VPSMAC の M4 Mac クラウドをレンタルしてゲートウェイ専用ホストにすれば、Apple ネイティブパスと安定した出口、開発端末からの分離を同時に満たし、セキュリティレビューに「どのバイナリ・plist・環境がいつ有効だったか」を示しやすくなります。

6. FAQ

アップグレード後に無言で落ちる

launchd の状態と ThrottleInterval、doctor、ポート 18789 の競合を確認してください。

旧環境変数のままにしたい

3.22 以降は非推奨です。OPENCLAW_* へ移行し、将来の削除に備えてください。

OpenAI 互換を公網に出してよいか

いいえ。ループバック、SSH トンネル、認証付きリバプロのみ。