
スマホとPCのためのクイック&ダーティなWeb/MCPターミナルトンネリング
コマンド1つ。URL1つ。エージェントには本物のターミナルを、あなたにはライブビューを。
Windows、macOS、または Linux コンピュータで Porterminal を実行し、生成されたリンクを AI エージェントに渡します。エージェントはそのマシン上のファイル、ツール、プロジェクトを備えた本物のシェルを手に入れます。同じリンクをスマートフォンや任意のブラウザで開けば、エージェントの作業を眺めたり、そのターミナルに入力したりできます。
エージェントに渡したいコンピュータ上で:
uvx ptn
c を押して
URL と接続手順をコピーします。タスクとともにエージェントへ貼り付けます。
エージェントにはリモート MCP のサポート、または HTTP リクエストを送る手段が必要です。特定のプロジェクトで開始するには、uvx ptn /path/to/project を使用します。
インストールオプションについては installation を参照するか、以下のインストーラを使用してください。
リンクはコンピュータへの鍵です。 完全な URL と QR コードは シェルアクセスを許可します。信頼できる人とエージェントにのみ共有してください。 セキュリティモデルを読む。
| あなたのエージェント | あなた |
|---|---|
| コンピュータの実際のシェルでコマンドを実行 | 同じ出力をブラウザでライブ監視 |
| ターミナル画面を読み取り、プロンプトに応答 | 必要に応じて同じターミナルに入力 |
| ツール呼び出し間でシェル状態を維持 | エージェントタブと個人タブを切り替え |
| MCP または HTTP を使用して接続 | スマートフォンまたはデスクトップから QR コードまたは URL を使用 |
ターミナル入力は共有されます。エージェントと入力のタイミングを調整してください。Porterminal は対話型ターミナルアプリ、複数のタブ、およびサーバーとセッションが稼働している間の 実行中セッションへの再接続をサポートします。
スマートフォン UI には Ctrl/Alt/Shift キー、タッチ選択、スクロール、 ピンチズーム、および長い入力の編集や音声入力用のコンポーズフィールドが含まれます。 terminal controls を参照してください。
失敗するチェックを含む小さな請求書プロジェクトをエージェントに与えます。エージェントが バグを見つけ、ファイルを編集し、チェックをグリーンにするのを観察します。次に、スマートフォンから レシートのラベルプロンプトに応答し、エージェントに結果を読み取らせます。
demo guide には、コピー可能なプロジェクト、エージェントタスク、 および 60 秒の録画プランが含まれています。1 つの共有セッションでコマンド、ファイル変更、 検証、および人間の入力を実演します。
c を押すと、利用可能な接続方法の手順がコピーされます。
実行中のサーバーは <url>/llms.txt でもそれらを提供します。
ここで、<url> はアクセスコードを含む完全な生成 URL です。
| エージェントの機能 | 接続 |
|---|---|
| リモート MCP | <url>/mcp — Streamable HTTP |
| HTTP リクエスト | <url>/api/agent/run — REST |
| ブラウザ自動化 | <url>/ を開く。Terminal screen と Terminal input を使用 |
MCP は 4 つのツールを公開します: run_command、read_screen、send_keys、および
send_signal。REST は session_id を返し、エージェントは後続の
コマンドと対話のためにそれを再利用します。エージェントのシェルはブラウザに 🤖 タブとして表示されます。
クライアントのセットアップ、リクエスト例、 セッションの有効期間、および長時間実行コマンドについては agent access を参照してください。
Python 3.12+ が必要です。Porterminal は cloudflared が見つからない場合、
自動的にインストールを試みます。
| 方法 | 実行またはインストール | 更新 |
|---|---|---|
| uvx | uvx ptn | uvx --isolated ptn@latest |
| uv tool | uv tool install ptn | uv tool upgrade ptn |
| pipx | pipx install ptn | pipx upgrade ptn |
| pip | pip install ptn | pip install -U ptn |
uv と Porterminal を一緒にインストール:
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/porterminal/porterminal/master/install.ps1 | iex"
macOS / Linux:
curl -LsSf https://raw.githubusercontent.com/porterminal/porterminal/master/install.sh | sh
インストール後、ptn または ptn /path/to/project を実行します。
| オプション | 目的 |
|---|---|
--no-tunnel | Cloudflare トンネルなしで実行 |
--mcp-only | MCP のみを公開。QR コード、ブラウザターミナル、REST API を無効化 |
--compose | モバイルの compose フィールドを有効にして起動 |
--init | プロジェクトのスクリプトから検出したボタンを含む .ptn/ptn.yaml を生成 |
--password | ブラウザターミナルへのアクセスにパスワードを追加 |
--help | すべてのオプションを表示 |
--version | インストールされているバージョンを表示 |
実行中: c はエージェント向けの指示をコピーし、u は URL のみをコピーし、s は共有テキストを画面に表示します(q で閉じます)。
Ctrl+C で Porterminal を停止します。MCP のみのモードでは、共有キーは MCP の URL を使用します。
カスタムシェル、ツールバーのボタン、起動設定は ptn.yaml で管理します。
設定を参照してください。
Porterminal は、あなたのユーザー権限で実際のシェルへのアクセスを提供します。開始ディレクトリは便宜上のものであり、サンドボックスでもファイルアクセスの制限でもありません。
起動するたびに、新しい 128 ビットのランダムなアクセスパスが生成されます。トンネルのホスト名のみや誤ったパスは 404 を返しますが、完全な URL を知っている人は誰でもシェルを利用できます。URL と QR コードは非公開にし、作業が終わったら Porterminal を停止してください。リンクが漏洩した場合は、再起動してアクセスコードをローテーションしてください。
オプションのパスワードはブラウザ接続を保護します。MCP と REST は完全な URL を認証情報として使用し、そのパスワードを必要としません。
完全なモデルとパスワードの動作についてはセキュリティを参照してください。 脆弱性はセキュリティポリシーを通じて報告してください。
バグ報告や機能リクエストはissueとして歓迎します。 外部からのプルリクエストやコード貢献は受け付けていません。CONTRIBUTING.mdを参照してください。フォークして独自のコピーを実行することは可能です。