AI 自動化 2026年4月20日

2026 マトリクス:Mac mini M4 上で OpenClaw ゲートウェイ認証トークンを CLI、macOS App、launchd 間で同期する

NodeMac Team

自動化エンジニア

OpenClaw のゲートウェイは共有シークレットで RPC クライアントを認証する。macOS では実際にはそのシークレットが3 つの経路を通る:ディスク上の openclaw.json ツリー、設定を書き換えうるmacOS App のウィザード、ヘッドレスセッションに変数を注入するLaunchAgent の環境ブロック。いずれかの層が食い違うと、オペレーターは幽霊を追う:openclaw status は健康でもメニューバーアプリは切断を示す。本文は2 つのマトリクス8 ステップのロールアウト7 ステップの HowTo シーケンスを与え、Mac mini M4 のゲートウェイホストが「直った」と「401 Unauthorized」の間で振れ止まらせる。

出発点:トークン認証と launchd ドリフト。エージェントセッションの外で ゲートウェイ再起動を維持。ベースライン:インストールとデプロイ。ヘルス:doctor と診断。アカウント:ヘルプ。ホスト追加:料金

「トークン分裂」を叫ぶ症状、「壊れたモデル」ではない

  • 分裂人格:CLI は成功するがメニューバーアプリはセットアップでループする。
  • 再起動後だけ 401:loginwindow セッションに env がなくファイルのトークンは正しい。
  • アップグレード後 401:App がマイナー更新で JSON を書き換えたが launchd は古い変数をまだエクスポートしている。
  • 断続的成功:リロード中に 2 つのゲートウェイプロセスが異なる設定で短時間競合する。

マトリクス A:各クライアントがどこから資格情報を読むか

クライアント プライマリソース よくあるドリフト 安定化
SSH 越しの CLI ユーザーホームの openclaw.json サービスユーザーと管理者で $HOME が異なる 編集前は常にサービスアカウントに sudo
macOS App サンドボックス化された設定+ JSON マージ 「ゲートウェイなし」検出後のウィザード上書き 変更管理で App バージョンをピン留め。ファイルが正規になってから App を開く
launchd ゲートウェイ Plist EnvironmentVariables と作業ディレクトリのファイル 古い OPENCLAW_GATEWAY_TOKEN の export 両方を原子更新する単一ライタースクリプト
自動化エージェント 親シェルから継承した env ツールサンドボックスが env を剥ぐとトークン欠落 ツールマニフェストで明示的な設定パスフラグ

マトリクス B:ロールアウトリスクと緩和

変更 ブラスト半径 緩和
月次トークンローテーション クライアントがリロードするまでの全チャネル 旧+新を 15 分間デュアルライトし 401 率を監視
ゲートウェイユーザーを移動 絶対パスと plist ラベル シンボリックリンクを再作成。リカバリー記事の --force パターンで再インストール
第 2 リージョンホスト追加 オペレーターが間違ったホストにトークンを貼る ボルト内でホストごとのシークレット名。クリップボードマクロの再利用はしない
非 loopback バインドを有効化 より厳格な認証要件 ゲートウェイレート制限 の許可リストとペア

数値ガードレール

  1. ローテーション重複:ディスクに新トークンを公開した後、旧トークンは少なくとも 900 秒有効のままにする。
  2. 等価チェック:本番ゲートウェイで plist env とファイルトークンを 6 時間ごとに自動 diff。
  3. インシデント予算:401 率が 5 分間 RPC の 1% を超えたら App アップグレードを自動凍結。

GUI のヒント:macOS のプライバシプロンプトが無人トークン書き込みをブロックする場合、一度 VNC で承認し、その後は SSH のみのメンテに戻す。

8 つのロールアウトステップ

  1. 所有権宣言:各ホストの正規トークンファイルパス。
  2. launchd と争うシェルから重複 export を削除。
  3. バックアップパス付きで JSON+plist を 1 トランザクションで原子更新するスクリプト。
  4. 層間でハッシュが異なればデプロイ失敗する CI 風チェックを追加。
  5. CMDB 行にゲートウェイの semver の横へ App バージョンピンを文書化。
  6. 毎回のアップグレード後に doctor を実行してから「healthy」と宣言。
  7. オンコール教育:401 ログをまず設定ドリフト、次にモデル障害として読む。
  8. 単一ライターで合意できないチームは、本番とラボを別の NodeMac Mac mini M4 に分割。

FAQ

トークンをキーチェーンに置く方が良いか?

すべてのコンシューマが一貫してサポートするならそうできることが多い。混合スタックは通常まずファイル+plist を同期し、その後移行する。

チームメンバーのラップトップは?

本番トークンをラップトップで再利用しない。短命の dev トークンと分離ゲートウェイホストで、カフェからの誤った本番 RPC を防ぐ。

launchd はシェルプロファイルを継承するか?

しない。だからこそ再起動後に plist またはゲートウェイが読むファイルへコピーするまでトークンが「消える」のだ。

トークン衛生は地味なハードウェアを好む:NodeMac の専用 Mac mini M4 は常時オンゲートウェイに Apple Silicon の余裕、開発者ラップトップと同一のネイティブ macOS 挙動、GUI 同意が自動化をブロックするときの SSH プラス VNC を与える。香港・日本・韓国・シンガポール・アメリカのノードでユーザーの隣にゲートウェイを置きつつ、共有ラップトップからシークレットを外せる。購入ではなくレンタルなら「本番ゲートウェイ」と「ラボゲートウェイ」を安く分離でき、トークンローテーションが政治闘争にならない。ホストを分けるときは リージョン別料金 から。

本番 OpenClaw を専用 Mac mini M4 に隔離

トークンの衝突を減らす—SSH 自動化、オプションの VNC、HK·JP·KR·SG·US。

NM
NodeMac Cloud Mac
約5分でデプロイ

クラウド上の専用 Apple Silicon Mac。SSH/VNC。HK·JP·KR·SG·US。

始める