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 ステップ、本番ハードニング、トラブルシュートと併読してください。
目次
1. 代表的な三つの失敗モード
チュートリアル前提の検証用マシンと違い、本番は Slack/Discord ブリッジや Docker/npm 形態と結線されています。
- スナップショットなし:設定ディレクトリ・plist・環境ファイルを固めずに更新すると、旧版が起動できた事実を証明できずロールバックが感覚頼みになります。共有 Mac クラウドアカウントではさらに悪化します。
- プレフィックスの漂流:3.22 は
OPENCLAW_*を前提にし、旧 ClawdBot/MoltBot 系の変数は尊重されない場合があります。launchd はEnvironmentVariablesに書いたものしか注入せず、認証失敗やタイムアウトに似た半壊状態になります。 - SecretRef fail-fast と新既定:欠落した秘密情報で起動を止める設計です。PDF やチャネルはプロバイダ設定が要り、
doctorを飛ばすとトラフィックが来て初めて表面化します。
共有アカウントでは、対話シェルで各自が違う export を試す一方、launchd は古いキーを注入し続ける、という二重状態になりがちです。更新前にジョブの launchctl print、plist 実体パス、実効環境(値はマスクしキー名のみ)を記録してください。IM ブリッジを別プロセスで動かしている場合は、ログパスとトークンファイルが新 CLI レイアウトと揃うよう同一変更窓で上げてください。
2. リリース差分マトリクス
実際のキーはインストール済み CLI とリリースノートで確認してください。運用上の差分イメージは下表です。
| 領域 | 3.22 | v2026.3.24 | 運用アクション |
|---|---|---|---|
| 環境変数 | OPENCLAW_* 優先・旧プレフィックス整理 | 未知キーの検証が厳格化 | plist・CI 秘密を grep し、reload 前に移行 |
| Secrets | SecretRef 範囲拡大 + fail-fast | 互換ゲートウェイ経路と整合 | ステージで意図的に壊した SecretRef でブロックを検証 |
| バイト/ページ上限付きネイティブ経路 | モデルルーティングが互換層と相互作用 | 小さな PDF で回帰し上限を文書化 | |
| チャネル | Telegram などストリーミング既定の調整 | — | 429/バックオフを監視しログパスをデプロイ形態に合わせる |
| OpenAI 互換 | — | /v1/models 等 | ループバックで curl、公網直晒し禁止 |
Linux 併用チームは マルチプラットフォーム記事を参照。アップグレード順序は同じで、常駐方式だけが異なります。
3. 手順:スナップショットから launchd まで
同一サービスユーザーでフォアグラウンドに doctor とスモークが通るまで launchd を reload しないでください。
- スナップショット:設定・plist・環境ファイルをアーカイブ。
openclaw --versionと lockfile を記録。Git がなければ plist とバイナリの SHA256 でも可。 - 停止:
openclaw gateway stop、18789 のlsofで解放確認。IM サイドカーがあれば停止。 - バイナリ/パッケージ更新:pnpm/npm など公式手順。root とユーザ混在インストールを避ける。
- 環境移行:plist の
EnvironmentVariablesとプロファイルをOPENCLAW_*に統一。 - doctor:ERROR をゼロに。WARN はポリシーで許容可否を判断。
- スモーク:小 PDF、SecretRef 負例→復旧、必要なら
/v1/modelsを curl。 - launchd:
launchctl unload/load後 15 分ログ監視。旧 tarball で即ロールバック可能に。
PDF 検証では設定上限内の 2 ページ程度の資料を使い、Activity Monitor で経過時間と RSS をアップグレード前後で比較してください。SecretRef はステージで意図的に壊したパスを指し、非ゼロ終了を確認してから正しい参照に戻します。
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 トンネル、認証付きリバプロのみ。