本文へ移動
hanzochang

iPhone DuoでどこでもAI開発 - Claude(Codex)、Moshi、herdrで作る最強モバイル環境

公開

折りたたみのiPhone Duoが2026年10月23日に発売されます。開発マシンで動かしているherdrに、iPhone DuoのMoshiからつなぐと、PCで見ていたAIエージェント(Claude CodeやCodex)の作業の続きを、移動中もそのまま見られます。組み合わせ方と注意点を、発売前の公開情報をもとに整理しました。手元と開発マシンをつなぐVPNの候補も、第三者に預ける範囲の小さい順に並べています。

はじめに

Claude CodeやCodexのようなAIエージェントに開発を任せている人の目線で、折りたたみのiPhone Duoで何が変わるかを考えます。組み合わせるのは、開発マシンでエージェントを動かし続けるherdrと、iPhone用の端末アプリMoshiです。

執筆時点(2026年10月13日)でiPhone Duoは発売前です。この記事はAppleの発表と開発者向けの公開情報をもとに書いており、実機では確かめていません。

この記事で扱う3つの道具

iPhone Duo

Appleが2026年9月9日に発表した、初めての折りたたみiPhoneです。閉じると5.4型、開くと7.6型の画面になります。日本では10月16日に予約が始まり、10月23日に発売されます。価格は国内で36万4,800円からと報じられています。次の2枚は、Appleの発表資料に載っている写真です。

iPhoneとして初めて、2つのアプリを左右に並べるSplit Viewに対応しました。

herdr

herdrは、開発マシンの上で複数のAIエージェントを動かし続けるための、ターミナルのワークスペースです(Apache-2.0のオープンソース)。各エージェントが作業中か、確認を待っているか、手が空いているかを一覧にします。

1つの画面で、いくつものエージェントをまとめて管理できるのがherdrの強みです。リポジトリごと、作業ごとにエージェントを立ち上げて、20〜30を並行して動かすような使い方なら、herdrはとくに向いています。どれが確認を待っているかがサイドバーで一目で分かるので、エージェントが増えても見落としません。

もう1つの強みは、SSHでつなぐと、接続元のPCで作業していたものをそのまま使えることです。herdrの作業スペースとエージェントは開発マシンの上で動いているので、別の端末からつないでも、さっきまでPCで見ていたタブ、画面の分割、エージェントの会話がそのまま開きます。

SSHが切れても、エージェントは開発マシンで動き続けます。公式ドキュメントでは、スマートフォンから使う方法として、SSHでつないで herdr を起動するだけでよいと説明しています。狭い画面に合わせた表示に切り替わり、iPhoneのアプリとしてMoshiが紹介されています。次の画像は、herdrのGitHubリポジトリにある画面です。

Moshi

Moshiは、AIエージェントを使う前提で作られたiPhone用の端末(ターミナル)アプリです。SSHのほか、回線が切り替わっても接続が切れにくいMoshという方式に対応しています。

エージェントとのやりとりを、チャットのような形に組み直して表示する機能があります。エージェントが書き換えたコードの差分も、その流れの中で確かめられます。スリープやアプリの終了、回線の切り替えをまたいでも接続を保ち、音声での入力や、Claude CodeとCodexの利用上限の残りの確認もできます。次の画像は、MoshiのApp Storeのページにある画面です。

3つを組み合わせると

iPhone DuoのMoshiからherdrにつなぐと、開いた内側の画面に、開発マシンのherdrがそのまま映ります。次の画像は、herdrのGitHubリポジトリにある画面を端末の枠に合成したイメージで、実機の画面ではありません。机の上のPCで見ていたエージェントの一覧と作業画面を、同じ状態のままポケットに入れて持ち出せます。

机でPCから見ていたherdrの続きを、移動中はiPhone Duoで見て、戻ったらまたPCで見る。

20〜30のエージェントを見張る環境を、接続元のPCとほぼ同じ形で、iPhone Duoに入れて持ち運べます。

これまでのスマートフォンでも、SSHでherdrにつなぐことはできました。ただ、画面が細長いので、エージェントの一覧と作業画面を同時に見るのは窮屈でした。iPhone Duoの内側の画面は横幅に余裕があるので、PCで見ていたのに近い形で、サイドバーの一覧を見ながら確認待ちのエージェントに答えられます。何十ものエージェントのうち、どれが止まっているか、どれが確認を待っているかを、外出先でもPCと同じ感覚で追えます。

エージェントもコードも開発マシンに置いたままなので、席を立つときに何かを同期したり、作業を止めたりする必要はありません。どの端末から開いても、見ているのは同じ開発マシンの同じ画面で、エージェントは一度も止まりません。

PCの前に座れない時間でも、エージェントは働き続けています。家族サービスや子育てで手が離せない日でも、動かしているエージェントの様子は気になるものです。そんなときも、ポケットのiPhone Duoを開けば、こっそり様子を見て、こっそり指示を出せます。iPhone Duoは、そういう人にぴったりの端末になることは間違いありません。

つなぎ方の全体像

3つの道具とVPNの関係を図にしました。エージェントもコードも開発マシンに置いたままにして、iPhoneは画面をのぞいて判断するためだけに使います。

手順は次のとおりです。

  1. 開発マシン(自宅やオフィスのマシン、またはクラウドのサーバー)にherdrとエージェントを入れる
  2. iPhoneと開発マシンを、VPNで同じ私設ネットワークに入れる
  3. MoshiからSSHかMoshで開発マシンにつなぎ、herdrを開く
  4. エージェントに作業を頼んだら、閉じてポケットにしまう
  5. 通知が来たら外側の画面で答え、差分や画面を確かめるときだけ開く
sh
# 開発マシンにSSHでつないでから起動する
ssh you@devbox
herdr
# ctrl+b q で切り離す(エージェントは動き続ける)
sh
# 開発マシンにSSHでつないでから起動する
ssh you@devbox
herdr
# ctrl+b q で切り離す(エージェントは動き続ける)

この構成で一番気をつけたいのは、手順2のVPNです。

VPNの内側でherdrを使う利点

herdrは開発マシンとの通信にSSHだけを使います。公式ドキュメントによると、必要なのは普通のSSHでつながることだけで、ほかのポートを開ける必要はありません。VPNの内側でSSHが通っていれば、それで足ります。

VPNの内側に開発マシンが何台あっても、herdr machine add で登録すれば、手元のherdrの1つの画面にまとめて並びます。入力と画面の転送は選んでいるマシンとの間だけで行い、ほかのマシンからはエージェントの状態と通知だけを受け取ります。自宅のマシンで動かしているClaude Codeと、クラウドのサーバーで動かしているCodexが確認待ちになったら、同じ一覧で分かります。

sh
# VPNの内側にある開発マシンを登録する(初回だけ)
herdr machine add workbox --label workbox
sh
# VPNの内側にある開発マシンを登録する(初回だけ)
herdr machine add workbox --label workbox

回線が切れたりスリープしたりしても、herdrは自動でつなぎ直します。その間も、開発マシン側のエージェントは止まりません。登録した接続先の情報には、パスワードや秘密鍵を保存しない作りになっています。

開発マシンの入り口をVPNの内側のSSHひとつに絞ったまま、複数台のエージェントを一か所から扱えるのが、この組み合わせの強みです。

手元と開発マシンをつなぐVPNの候補

開発マシンのSSHをインターネットに直接公開するのは避けます。外出先のiPhoneからつなぐなら、手元と開発マシンだけが入れる私設ネットワーク(VPN)を用意するのが一般的です。

代表的な候補を、第三者に預ける範囲が小さい順に並べました。ここでの順番は「事業者のサーバーが乗っ取られた場合に、自分のネットワークへの影響をどこまで避けられるか」という1つの観点だけで付けています。どれを選ぶべきかは、運用に割ける人手やほかに守るものによって変わります。

表
順候補構成第三者に預けるもの
1WireGuardを自分で構築鍵も経路もすべて自分で管理なし。鍵の配布と更新もすべて自分で行う
2HeadscaleかNetBirdを自分のサーバーで運用端末どうしをつなぐ調整役のサーバーを自分で持つなし。調整役のサーバーの保守が必要
3TailscaleでTailnet Lockを有効にする調整役は事業者に任せ、端末の追加には自分の署名を必須にする調整役。事業者の側だけでは端末を追加できない
4TailscaleやNetBirdのクラウド版、ZeroTier調整役を事業者に任せる調整役。通信の中身は暗号化されるが、端末を加える権限は事業者にもある
5Cloudflare TunnelとCloudflare Access開発マシンからCloudflareへ外向きにつなぎ、Cloudflareを経由して入る通信の経路。SSHの中身は暗号化されたままだが、接続の情報は事業者を通る
表
順候補構成第三者に預けるもの
1WireGuardを自分で構築鍵も経路もすべて自分で管理なし。鍵の配布と更新もすべて自分で行う
2HeadscaleかNetBirdを自分のサーバーで運用端末どうしをつなぐ調整役のサーバーを自分で持つなし。調整役のサーバーの保守が必要
3TailscaleでTailnet Lockを有効にする調整役は事業者に任せ、端末の追加には自分の署名を必須にする調整役。事業者の側だけでは端末を追加できない
4TailscaleやNetBirdのクラウド版、ZeroTier調整役を事業者に任せる調整役。通信の中身は暗号化されるが、端末を加える権限は事業者にもある
5Cloudflare TunnelとCloudflare Access開発マシンからCloudflareへ外向きにつなぎ、Cloudflareを経由して入る通信の経路。SSHの中身は暗号化されたままだが、接続の情報は事業者を通る

1に近いほど第三者を信頼する範囲は小さくなり、自分で管理する範囲は大きくなります。鍵の管理を誤る、設定を放置するといった運用のミスはどの候補でも起こりえて、順番の差よりそちらの影響のほうが大きいことも多いです。

Moshを使う場合は、SSH(TCPの22番)に加えてUDPの60000〜61000番を使います。このポートもインターネットには開けず、VPNの内側だけで使います。

気をつけること

スマートフォンからの承認

ロック画面やApple Watchから承認できるのは便利ですが、内容を読まずに承認する癖もつきやすくなります。承認の手軽さに合わせて、エージェントに任せる範囲を絞っておくと安全です。

  • 本番環境のデータを変える操作は、スマートフォンからは承認しない
  • お金がかかる操作や外部へ送信する操作は、内側の画面で差分を読んでから判断する
  • エージェントが使える権限そのものを、開発マシン側で狭くしておく

SSHの鍵

MoshiはSSHの鍵をiPhoneのキーチェーンに保存し、Face IDで解除します。開発マシン側でiPhone用の鍵を作業用の鍵と分けておけば、端末をなくしたときにその鍵だけを無効にできます。

コピーが手元に届かないとき

開発マシンのターミナルでコピーした内容が、iPhoneに届かないことがあります。MoshiはOSC 52という仕組みで開発マシンからのコピーを受け取れますが、herdrのように常駐するツールを間にはさむと、エージェントがOSC 52を使わない場合があります。症状と直し方はherdrでSSH越しにCodexを使うとコピペできない問題の直し方に書きました。

まとめ

  • 机でPCから見ていたherdrの続きを、移動中はiPhone Duoで見て、戻ったらまたPCで見られる。エージェントは開発マシンで動き続ける
  • herdrは1つの画面で多数のエージェントを管理でき、20〜30を並行して動かす人に向いている。SSHでつなげば、接続元のPCで作業していたものをそのまま使える
  • 20〜30のエージェントを見張る環境を、接続元のPCとほぼ同じ形でiPhone Duoに入れて持ち運べる
  • 家族サービスや子育ての合間にも、エージェントの様子をこっそり見て、こっそり指示を出せる。iPhone Duoは、そんな人にぴったりの端末になる
  • エージェントとコードは開発マシンに置いてherdrで動かし続け、iPhoneからはMoshiでつなぐ
  • 開発マシンはインターネットに公開せず、VPNの内側からつなぐ

当社のAIエージェント開発では、AIエージェントを業務や開発に組み込む仕組みづくりをお手伝いしています。エージェントに任せる範囲や、人が判断する場面の設計から相談できます。

Xでフォローするお問い合わせ

この記事の株式会社hanzochangについて
少し紹介させてください!

この記事に関連する当社のサービス

業務改善・AI活用支援

転記・集計・資料作成にかかる時間を減らしませんか?

現在の業務と使っているシステムを整理し、AIが役立つ作業から改善します。試作で効果を確かめ、現場で使うアプリの開発・運用まで支援します。

サービスの詳細を見る
Jくんが多様な業務アプリを開発するイラスト。背景に多数のアプリが並ぶ。
  • 業務の整理

    手間のかかる作業と、改善する順番を明確に。

  • 試作・アプリ開発

    実際の手順に合わせて、使える仕組みを開発。

  • 導入・運用支援

    使い方の共有から、導入後の改善まで対応。

業務改善・AI活用について、お気軽にご相談ください。