0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

スマホからGPTアプリでPCのローカル開発環境を操作する

0
Posted at

はじめに

外出先やソファからスマホで指示を出し、自宅PCにあるプロジェクトをCodexに編集してもらえたら便利そうです。

そこで今回は、ChatGPTモバイルアプリの「Remote」を使い、AndroidスマホからWindows PC上のローカル開発環境を操作してみました。

実際に確認できたのは、次のような流れです。

  • スマホから自然文で開発内容を指示する
  • PC上でファイルの作成・編集やコマンド実行が行われる
  • スマホから進捗や実行結果を確認する
  • 必要な操作をスマホ側で承認する
  • 完成したアプリをPCのブラウザで確認する

結論からいうと、スマホを「小さな開発PC」として使うのではなく、PC上で動くCodexの操作・確認端末として使うイメージでした。

この記事は2026年8月時点で確認した内容です。画面名や提供条件は今後変更される可能性があります。

今回の構成

今回使用した端末と役割は次のとおりです。

端末 役割
Windows PC プロジェクトの保存、ファイル編集、コマンド実行、アプリの表示確認
Androidスマホ Codexへの指示、進捗確認、操作の承認

スマホからPCへリモートデスクトップ接続し、VS Codeやターミナルを直接操作したわけではありません。

スマホから送った指示はChatGPTを経由し、PC上のChatGPTデスクトップアプリと、そのPCで動作するCodexが処理します。ファイルや開発ツール、認証情報、実行権限などは接続先PCの環境が使われます。

公式ドキュメントでも、スマホを操作側、接続先PCを実行環境とする仕組みとして説明されています。

前提条件

今回、Remoteを試すために用意したものは次のとおりです。

  • Codexを利用できるPC版ChatGPTアプリ
  • AndroidまたはiOSのChatGPTアプリ
  • PCとスマホで使用する同一のChatGPTアカウント
  • 多要素認証(Remoteの設定時に有効化を求められたため)

今回はWindows PCとAndroidスマホを使用しました。Remoteの設定を進めたところ、多要素認証を設定するよう警告が表示されたため、先にChatGPTアカウントの多要素認証を有効化しています。

今回のサンプルアプリに必要なもの

今回はVite + React + TypeScriptのアプリを作ったため、PC側にNode.jsとnpmが必要です。

これはRemote自体の必須条件ではありません。Pythonアプリを作るならPython、Javaアプリを作るならJDKというように、開発対象に応じたツールを接続先PCへ用意します。

なお、今回の検証にGitHubとの連携は必須ではありません。PC上の空フォルダを作業場所として利用しました。

事前に理解しておきたいこと

PCが実行主体になる

スマホは指示と確認を行う端末です。次の処理はPC側で実行されます。

  • ローカルファイルの読み書き
  • npm installなどのコマンド
  • ビルドやテスト
  • 開発サーバーの起動

そのため、PCがスリープしたり、ネットワークから切断されたり、ChatGPTデスクトップアプリを終了したりするとRemote接続は利用できなくなります。

localhostの画面がスマホに転送されるわけではない

PCで開発サーバーを起動した場合、localhostはそのPC自身を指します。

今回できたのは、スマホから開発サーバーの起動を指示し、PC側のブラウザで表示を確認することです。スマホのブラウザから同じlocalhostを開いても、PC上のアプリには接続できません。

スマホ上でもアプリ画面を開きたい場合は、LAN内からアクセスできるように開発サーバーを設定する、トンネルサービスを使う、検証環境へデプロイする、といった別の対応が必要です。ネットワークへ公開する場合は、認証やファイアウォールなどの安全面も別途検討します。

PCをインターネットへ直接公開する必要はない

通常のRemote接続のために、ルーターのポート開放やPCへのグローバルIP付与を行う必要はありません。公式ドキュメントでは、認証された中継レイヤーを使い、PCをパブリックインターネットへ直接公開せずに接続すると説明されています。

Remoteの設定

1. PC側でRemote接続を設定する

PCのChatGPTデスクトップアプリを開き、次の画面から接続設定を開始します。

Settings > Connections > Control this Mac or PC

画面の案内に従ってRemoteアクセスを有効にすると、スマホとのペアリングに使用するQRコードが表示されます。

2. スマホでQRコードを読み取る

表示されたQRコードをスマホで読み取り、ChatGPTモバイルアプリで接続を完了します。

今回、Remoteの設定時に多要素認証を設定するよう警告が表示されました。そのため、画面の案内に従ってChatGPTアカウントの多要素認証を有効化してから、接続設定を続けました。

PCとスマホでは、同じChatGPTアカウントを使用します。

接続に成功すると、スマホのChatGPTアプリにある「Remote」からPCを選択できるようになります。

PC側に検証用プロジェクトを用意する

今回は、Windows PCに次の空フォルダを作成しました。

C:\workspace\smartphone_dev_test

このフォルダをChatGPTデスクトップアプリのCodexで開き、作業対象のプロジェクトとして選択しました。

「PCで一度チャットしないとスマホに表示されない?」

今回の検証では、フォルダを開いただけの状態ではスマホ側で対象プロジェクトを見つけられず、PC側で一度チャットを開始するとRemoteに表示されました。

ただし、公式ドキュメント上は、Remoteから接続先PCのプロジェクトを選択し、新しいチャットを開始することも可能とされています。そのため、PC側で事前にチャットを開始することが常に必須とは限りません

同じ状況になった場合は、次を確認するとよさそうです。

  • PCとスマホが同じアカウント・ワークスペースか
  • PC側で対象フォルダをプロジェクトとして開いているか
  • PC側のChatGPTデスクトップアプリが起動しているか
  • PCがスリープしていないか
  • 両方のアプリが最新版か
  • Remoteの接続先として正しいPCを選んでいるか

それでも表示されない場合は、今回のようにPC側で対象プロジェクトのチャットを一度開始し、スマホのRemoteからそのチャットを開く方法も試せます。

スマホから開発を指示する

スマホのChatGPTアプリで「Remote」を開き、接続したPCと対象プロジェクトを選択します。

今回は空のフォルダから検証を始めたため、次のように指示しました。

この空のプロジェクトに、Vite + React + TypeScriptの
シンプルなWebアプリを作成してください。

最初にNode.jsとnpmのバージョンを確認してください。
必要な依存関係をインストールし、実装後にビルドを実行してください。

ビルドが成功したらローカル開発サーバーを起動し、
PC側のlocalhostで表示を確認してください。

作業対象はこのプロジェクトフォルダ内だけに限定してください。
プロジェクト外のファイルやPC全体の設定は変更しないでください。

最後に、変更したファイル、実行した確認、残っている課題を報告してください。
検証が終わったら開発サーバーを停止してください。

元の指示よりも、次の点を明示しています。

  • 作業対象のフォルダ
  • 最初に確認すること
  • 実装後に行うビルドや動作確認
  • 変更してはいけない範囲
  • 最後に報告してほしい内容
  • 開発サーバーの停止

スマホでは長いコマンドを手入力するのではなく、達成したい状態と制約を自然文で伝えます。具体的なコマンドは、PCの環境を確認したCodexに選択させる形です。

実際にできたこと

スマホから送った指示により、PC側では次の作業が行われました。

  • Node.jsとnpmのバージョン確認
  • Viteプロジェクトの作成
  • 依存関係のインストール
  • Reactアプリの実装
  • ファイルの編集
  • ビルドの実行
  • ローカル開発サーバーの起動
  • PC側のlocalhostで表示確認
  • 開発サーバーの停止

作業中の進捗やコマンドの結果は、スマホ側から確認できました。つまり、コードをスマホで直接編集したのではなく、スマホからCodexへ指示し、PCの開発環境で作業を進めてもらった形です。

コマンド実行時の承認

依存関係のインストールや開発サーバーの起動など、PC上で影響のある操作を行う際には、承認を求められることがあります。

これはエラーではなく、PC上で実行される操作を利用者が確認するための仕組みです。Remoteでは、こうした承認もスマホ側から行えます。

ただし、表示された確認を機械的に許可するのではなく、少なくとも次の点は確認します。

  • 実行するコマンドが依頼内容と一致しているか
  • 操作対象のパスがプロジェクト配下になっているか
  • 管理者権限を要求していないか
  • OSやPC全体の設定を変更しようとしていないか
  • 不明なスクリプトを外部から取得してそのまま実行しようとしていないか

特に、Program Filesなどのシステム領域への書き込みや、管理者権限を伴う操作が表示された場合は、目的と必要性を理解できるまで承認しない方が安全です。

安全に試すために意識したこと

空の検証用フォルダから始める

いきなり重要なプロジェクトで試さず、失敗しても問題のない空フォルダを用意しました。

既存プロジェクトで試す場合は、事前にGitへコミットするか、別ブランチやworktreeを使用すると差分を確認しやすくなります。

作業範囲をプロンプトで限定する

今回の指示には、次の制約を含めました。

作業対象はこのプロジェクトフォルダ内だけに限定してください。
プロジェクト外のファイルやPC全体の設定は変更しないでください。

プロンプトに書くだけで安全が保証されるわけではありませんが、意図しない範囲の変更を避けるための境界として役立ちます。実際の安全性は、アプリのサンドボックス設定や権限、操作時の承認と組み合わせて確保します。

認証情報をプロンプトへ貼らない

APIキー、パスワード、秘密鍵などをチャットへ直接貼り付けないようにします。必要な認証情報は、接続先PCで適切に管理されている環境変数や認証設定を利用します。

最後に状態を確認する

開発サーバーのように常駐するプロセスを起動した場合は、検証後に停止を依頼しました。

検証が終わったら、起動した開発サーバーを停止してください。

さらに、変更ファイルと実行結果の一覧を報告させると、PCへ戻ったあとに確認しやすくなります。

試して分かったこと

良かった点

  • PCの前にいなくても、開発作業の開始や追加指示ができる
  • スマホから進捗、差分、テスト結果、ターミナル出力を確認できる
  • コマンドの承認や質問への回答もスマホ側で行える
  • 実行環境はPC側なので、既存のローカルツールやプロジェクトを利用できる

注意が必要な点

  • PCが起動し、オンラインかつChatGPTデスクトップアプリが動いている必要がある
  • スマホからの指示でも、操作されるのは実際のPC環境である
  • localhostのアプリ画面をスマホから直接見られるわけではない
  • 小さな画面では長い差分や大量のログを精査しにくい
  • 最終的なコードレビューや画面確認はPCで行った方が確実

まとめ

ChatGPTのRemoteを利用すると、スマホから指示を出し、接続先PCのローカル開発環境でCodexに作業してもらうことができました。

今回確認した基本的な流れは次のとおりです。

  1. PCとスマホへ最新版のChatGPTアプリを用意する
  2. 同じChatGPTアカウント・ワークスペースでサインインする
  3. PCの接続設定からRemoteを有効化し、スマホとペアリングする
  4. PC側に作業対象のプロジェクトを用意する
  5. スマホの「Remote」からPCとプロジェクトを選ぶ
  6. 作業内容と制約を自然文で指示する
  7. 進捗やコマンドを確認し、必要な操作を承認する
  8. PC側で成果物と動作を最終確認する

「スマホだけで開発環境を動かす」というより、開発環境を持つPCをホストにして、スマホをCodexのコントローラーとして使う仕組みです。

短い修正やビルド・テストの実行、作業の開始、進捗確認などには特に相性がよさそうです。一方で、画面の細かな確認や大量の差分レビューはPCで行う、という使い分けが現実的だと感じました。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?