mcpField
R
remote-mac

remote-mac

github.com/steipeteクラウド・DevOps7.4k84 回インストール1 週間前に更新
リポジトリ

remote-mac について

Peter の会社・個人ネットワーク内の Mac を確認、操作するためのスキルです。稼働中のホスト確認、安全な SSH 利用、障害や端末固有の状態への慎重な対応を重視します。

主な機能

  1. 01Tailscale ホストの稼働時検索
  2. 02ホスト ID とネットワークの確認
  3. 03非対話型 SSH の手順
  4. 04OpenClaw の稼働確認
  5. 05Codex 自動化の移行手順

活用シーン

  1. 01リモート作業に使う Mac の選定
  2. 02OpenClaw Gateway の状態確認
  3. 03Codex の定期タスクを Mac Studio に移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steipete/agent-scripts --skill remote-mac

インストール後、Claude Code で/remote-macを入力して読み込まれたか確認します。

詳細

リモート Mac

ユーザーが MacBook、Mac Studio、clawmac、foundationclaw、foundationmac、megaclaw、miniclaw、Molty、Tailscale と言った場合、または Peter の Mac のいずれかで何かを実行・確認するよう依頼した場合に使用します。

Peter のトポロジー

  • 対話型承認と日常業務の主要ワークステーション:Peter の SF Mac Studio。ローカル名/Tailscale 名は steipete-studio-sf です。Peter の MacBook Pro(steipete-mbp)は携帯用/予備のワークステーションです。オンラインだからという理由だけで、プロンプトの送信先にしないでください。
  • ロンドンの主力機:Mac Studio。Tailscale 名は peters-mac-studio-1 です。同じ LAN 上では、通常 [email protected] で接続するのが最適です。
  • SF の主要ワークステーション:steipete-studio-sf。現在の Tailscale 接続先と廃止済みノードの状態は、プライベートマネージャーの computers.yaml に記録されています。オンラインに見えるからという理由だけでピアを選ばないでください。
  • clawstudio は、SF の別個のデータサーバー兼個人用 OpenClaw Gateway ホストで、以前は mac-studio-sf2 でした。正確な現在のピア ID、アドレス、ハードウェア ID、照合状態は、プライベートマネージャーのインベントリと docs/tailnet-portal.md にのみ記録されています。複数のピアが表示される場合は、バックエンドの各コマンドで対象を指定し、物理ホストをローカルで確認し、ロールバック手段を確保したうえで、プライベートな照合ゲートに従ってください。プライベートなトポロジーを公開用ランブックに記載したり、コピーしたりしないでください。
  • SF Mini:ローカル名/Tailscale 名は steipete-mini-sf です。現在のカーネルと廃止済みの GUI 接続先は、プライベートマネージャーのインベントリに記録されています。GUI 対応の Tailscale ビルドでは Tailscale SSH をホストできないため、Mini はテイルネット上の TCP 22 許可を介して、従来型の鍵のみを使う OpenSSH を使用します。Mini 自身の鍵は、両方の SF Studio、MegaClaw、MiniClaw にインストールされています。稼働中の証明と、オフライン/プロバイダー接続不能時の手順については、プライベートマネージャーの docs/fleet-setup.md を参照してください。FoundationClaw と混同しないでください。
  • 個人用クラウド OpenClaw:clawmac(Peter が crabmac と入力/発音する場合があります)。MacStadium サービス 100121942、Tailscale/SSH は steipete@clawmac、LaunchAgent ai.openclaw.gateway 経由のゲートウェイ、ループバック 127.0.0.1:18789、Telegram 接続済みです。現在発生している 2026-08-01 のプロバイダーネットワーク障害は、チケット #11481/#11484 でアトランタのリモートハンズが追跡中です。ハードリブートを 1 回行ったところ SSH 接続だけが一時的に復旧したため、電源の再投入を繰り返さないでください。
  • ネットワークの分離:
    • corporate:Peter の業務管理環境です。Mac Studio を、そこで設定・調査する主要なリモート Mac として扱ってください。
    • personal:clawmac を含む Peter の個人用 LAN/個人用クラウド環境です。
  • ネットワーク境界:Peter の業務用 Mac からは、clawmac と個人用 LAN にアクセスできません。そこから clawmac をリレーや LAN の接続元として使わないでください。
  • Molty の以前の Mac Studio ゲートウェイは廃止済みのため、無効のままにしてください。実際の Molty は Hetzner 上で別途稼働しています。以前の Mac Studio のランタイムを正常稼働状態の基準として扱わないでください。
  • megaclaw:Virtualized.gg の製品 22(Phoenix の Mac Studio M4 Max)で、現在稼働中の代替 Mac ワーカーです。Tailscale/SSH は steipete@megaclaw です。設計上、OpenClaw ゲートウェイはありません。個人用ゲートウェイは clawstudio で稼働します。megaclaw にゲートウェイを設定したり起動したりしないでください。
  • miniclaw:Virtualized.gg の製品 24(Phoenix の Mac mini M4 Pro)で、公開 SSH は [email protected] です。2026-08-01 時点の稼働状態は悪化しています。特権 Homebrew デーモンが古い重複 miniclaw-1 を所有し、コーディネーションに接続できない一方、正規の miniclaw は使用不能です。保存済みの個人用管理者認証情報を使った特権修復が明示的に承認されるまでは、公開 SSH を使用してください。プロバイダー SSH だけを根拠に、正規のテイルネット経路が正常だと判断しないでください。
  • foundationclaw:アトランタの M2.L、MacStadium サービス 100124960 で、公開アドレスは computers.yaml に記録されています。プロバイダー SSH により、Mac14,12 の M2 Pro Mac mini であること、ハードウェア UUID、および管理者アカウント administrator が確認されています。正規のローカルホスト名は foundationclaw です。署名済み Tailscale と Jump Desktop Connect v10 はインストールされていますが、以前は動作していたプロバイダー認証情報で認証できなくなりました。データを保持したままのリセットがチケット #11386 で保留中です。その後、Tailscale への登録と初回起動時の GUI 権限設定を続行できます。別個の SF Mini と統合しないでください。

Mac 以外のフリートノード(詳細は computers.yaml を参照):

  • gorillaclaw:GorillaServers(ロサンゼルス)にある個人用 Ubuntu Linux ノードです。Tailscale は 100.93.99.79、SSH ユーザーは steipete です。
  • steipetesurface:Peter 個人所有の Windows Surface です。Tailscale は 100.118.219.64、SSH ユーザーは steip です。社用の Windows ノート PC CPC-steip-11ENO は別の端末で、会社によって管理されています。

Peter の Mac ではありません(Peter の端末として設定・ブランド化しないでください)。

  • crabhammer:vince に提供された Scaleway M4-XL です。Peter の tailnet と請求先には含まれていますが、vince 向けにプロビジョニングされており、SSH アクセスはありません。computers.yaml の handed_off: に記載されています。

マネージャーリポジトリの信頼できる情報源(Mac および非 Mac を含むすべてのノードの正式なインベントリ):

  • /Users/steipete/Projects/manager/computers.yaml
  • /Users/steipete/Projects/manager/agents.yaml

検出

  1. まず、稼働中の tailscale status --json を確認し、ホスト名または DNS 名を照合して、ノードの現在の IP を使用します。マネージャーにキャッシュされた Tailscale IP は古くなっている場合があります。
  2. 1 台の物理 Mac が複数の Tailscale ピアを公開している場合は、Active、PATH の順序、プロセス名、IP の経過時間で選択しないでください。ComputerName、LocalHostName、ハードウェア UUID、安定したノード ID、バックエンドに固定された状態を確認してください。clawstudio では、macsys は /Applications/Tailscale.app/Contents/MacOS/Tailscale です。Homebrew のカーネルモードでは /opt/homebrew/bin/tailscale --socket=/var/run/tailscaled.socket が必要です。どちらかのバックエンドを停止する前に、実証済みのフォールバックまたは時間指定の自動再接続を確保してください。
  3. レンタル Mac では、稼働中の ID を computers.yaml のプロバイダーサービス/製品の記録と照合してください。プロバイダー側で Active だからといって、フリートに設定済みとは限りません。また、パブリック IP だけでは ID を統合する根拠として不十分です。
  4. clawmac について、MacStadium が Active と報告している一方で、パブリック IP、SSH/VNC、Tailscale がすべて機能しない場合は、プロバイダー側のネットワーク/ハードウェア障害として扱ってください。computers.yaml の現在のインシデントメモを確認し、既存のチケットを更新して、コンソール、NIC のリンク状態、スイッチポートの点検を依頼してください。Peter の承認なしに、ハードリブートを繰り返したり、再イメージ化、消去、再インストール、ストレージ交換、認証情報のリセット、その他データに影響する作業を承認したりしないでください。
  5. corporate 環境では、リモート設定作業にはデフォルトで Mac Studio を使用します。稼働中の Tailscale ノード経由で接続してください。MagicDNS は無効になっている場合があります。その場合は、現在の TailscaleIPs[0] を直接使用してください。そこから clawmac、mDNS、個人用 LAN の検出を試みないでください。
  6. personal 環境で Tailscale が停止している、または SSH がタイムアウトする場合は、LAN 検出を試してください。
dns-sd -B _ssh._tcp local
arp -a
  1. HOST.local などの mDNS 名は、同じ LAN 上にいる場合に限り使用してください。
  2. corporate 環境から Mac Studio の稼働中の Tailscale ノードがオフラインの場合は、そこで作業を中止してください。SSH または画面共有による診断を続けるには、オンライン復帰または再接続が必要です。

SSH のルール

デフォルトでは、非対話型 SSH を使用してください。

ssh -o RequestTTY=no -o RemoteCommand=none HOST 'COMMAND'

ローカルの SSH エイリアス mac-studio は tmux に自動接続します。単発のコマンドでは、[email protected] を使用するか、上記の両方のオプションをオーバーライドしてください。

長時間実行するリモート作業や対話型のリモート作業では、リモートホスト上で tmux を使用し、セッション名が分かりやすいものになるようにしてください。

OpenClaw の確認

リモート Mac ではログインシェルを使い、Homebrew と pnpm が PATH に含まれるようにします。

ssh -o RequestTTY=no -o RemoteCommand=none [email protected] \
  'zsh -lc "openclaw gateway status --json; openclaw channels status --json"'

clawstudio の正常な状態:

  • 対応しているネイティブ環境への移行と通常の openclaw update については、$claw-update と非公開のデプロイ手順書に従ってください。検証済みの Production CLI で gateway status --deep --require-rpc --json を実行して診断してください。無関係なグローバル CLI が Production だと決めつけたり、移行の確認前にレガシーランチャーを削除したりしないでください。
  • lsof -nP -iTCP:18789 -sTCP:LISTEN の結果が、検証済みの Production サービス PID と一致する必要があります。リリースディレクトリ名から状態を推測するのではなく、稼働中のインストールと排他的なリスナーを確認してください。
  • tailnet ポータルと Gateway は別々のヘルスレイヤーです。Gateway のディープ RPC と tailnet の HTTPS を個別に確認してください。一方が利用できなくても、もう一方は正常な場合があります。
  • Tailscale の修復中は、gateway:watch を起動したり、Gateway を再起動したり、そのリリースを変更したりしないでください。

London Studio の旧 Molty Gateway は引き続き廃止・無効化されています。実際の Molty は Hetzner で別途稼働しています。

clawmac の正常な状態:

  • launchctl list に ai.openclaw.gateway が含まれている。
  • lsof -nP -iTCP:18789 -sTCP:LISTEN にループバックリスナーが表示される。
  • openclaw channels status --json で Telegram が接続済みと表示される。

Codex の自動化

  • Codex の cron 自動化はホストローカルのスケジューラ状態であり、汎用的なクラウドジョブではありません。
  • corporate 環境では、Peter から別途指示がない限り、Mac Studio で自動化を設定またはミラーリングしてください。
  • 対象ホスト上の ~/.codex/automations/<automation-id>/automation.toml を、そのマシン上でスケジュールされるジョブ定義の信頼できる情報源として扱ってください。
  • Peter が現在使っている corporate マシンから Mac Studio に cron 自動化を移す場合は、Mac Studio 上で作業してください:
    • 必要なリポジトリのチェックアウトがそこにあることを確認する
    • 必要なリポジトリローカルのポリシーファイルを同期する
    • Mac Studio に対応する ~/.codex/automations/... エントリを作成または更新する
    • Peter が実行環境を1つだけにしたい場合は、古い corporate ホスト側のコピーを無効化または一時停止する
  • Codex アプリのスレッド引き継ぎによって cron スケジューラの所有権も移ると考えないでください。スレッドの移動と cron の所有権は別々です。

clawmac の GUI アクセス

  • computers.yaml にプロバイダーネットワークの障害が記録されており、パブリック SSH/VNC と Tailscale のすべてに接続できない場合、GUI にもアクセスできません。既存の MacStadium リモートハンズチケットを通じて対応を続け、ホストの電源を再度入れ直さないでください。
  • まず Tailscale/SSH を介さず、clawmac の直接操作を優先してください:open -a "Google Chrome"、AppleScript、Chrome DOM JavaScript、リモート Peekaboo のクリック。
  • clawmac で gog OAuth を行う場合は、ブラウザーを clawmac 上で開いてください。リモート tmux で gog auth add を開始し、表示された URL を clawmac の Chrome で開き、AppleScript/DOM 自動化で同意をクリックしてから、zsh -lc 'gog auth list --check --json --no-input' で確認してください。
  • リモートシェル環境で GOG_KEYRING_PASSWORD がエクスポートされている場合は、確認と tmux へのプロンプト入力に対応するログインシェルを使用し、値を表示しないでください。
  • SSH/cron で、直接操作では対応できない GUI 専用のプロンプトが表示された場合は、代替手段として Jump Desktop の clawmac ウィンドウを通じてローカル Peekaboo を使用してください。
  • peekaboo list windows --app "Jump Desktop" --json でウィンドウを検索し、--window-title clawmac または表示された --window-id でキャプチャしてください。
  • クリックには、Jump Desktop ウィンドウ上のローカルなグローバル座標を使用します。クリックする前に、ウィンドウの未加工スクリーンショットで位置を確認してください。
  • Chrome の Cookie/キーチェーンの問題:security によって Chrome Safe Storage のプロンプトが表示される場合があります。Peter がログインキーチェーンのパスワードを入力し、その後 Always Allow をクリックする必要があります。
  • 許可後、SSH 経由で /Users/steipete/Projects/bird/bird check と /Users/steipete/.openclaw/bin/bird-gui check を実行して確認してください。

ライブテストポリシー(OpenClaw)

  • Peter の Mac でライブテストを行う場合は、デフォルトでセッション専用の開発ゲートウェイを使用します。分離された OPENCLAW_STATE_DIR のスクラッチディレクトリと空きポートを使ってください。実際のゲートウェイが稼働している間は、ポート 18789 にバインドしないでください。このセッションが起動していないサービスに対して、launchctl kickstart/bootout/bootstrap や openclaw gateway stop/restart を実行してはいけません。
  • clawmac は本番環境です。再起動や停止、~/.openclaw 配下への設定・状態の書き込み、またはそのゲートウェイに対するライブテストには、Peter からチャットでタスクごとの明示的な承認が必要です。承認 1 件につきタスクは 1 つです。包括的な承認として扱ってはいけません。
  • 共有の Mac Studio ゲートウェイや dev-watch セッションは準本番環境です。同じ承認ルールが適用されます。このタスクで起動していない tmux セッションを停止してはいけません。
  • トンネルに関する注意点(megaclaw および Peter の MacBook Pro):これらのホスト上の 127.0.0.1:18789 は clawmac への SSH トンネルです。ここで「localhost」に対してテストすると、本番環境に接続されます。同じ承認ルールが適用されます。どちらのホストにもローカルのゲートウェイサービスはありません。
  • テストや移行リハーサルに使う DB/状態データ:本番環境のコピーには、保存先と取り扱い方法を明記したタスクごとの明示的な承認が必要です。承認されたコピーのみを使用してください。本番環境への書き戻しや本番環境内での移行には、別途承認が必要です。
  • 複数マシン/OS にまたがる大規模なライブ E2E テストでは、Peter 個人のゲートウェイではなく $crabbox を経由してください。

安全性

  • 古い IP アドレスからホストの身元を推測しないでください。可能な場合は、ホスト名とユーザー名を確認してください。
  • リモートのファイルやシェルから秘密情報を表示しないでください。
  • Tailscale と LAN の両方で試してもホストに接続できない場合は、試したことを伝えてください。
  • Peter のマシンで OpenClaw Gateway を使用する場合は、リポジトリのドキュメント/AGENTS に従ってください。依頼されていない限り、サービスをインストール、起動、停止してはいけません。

コメント