Phi CLI
Phi CLIは、Phiのブラウザ自動化をphiという1つのコマンドとしてコマンドラインで使えるようにします。ターミナルコマンドを実行できるものなら何でも、これでブラウザを操作できます。あなた自身でも、シェルスクリプトでも、CIジョブでも、コーディングエージェントでもかまいません。
phi open https://example.com # open the page, print its element map
phi click @2 # act on an element from the map
phi fill @1 "search term" --submit
phi screenshot shot.png
phi close空の使い捨てブラウザを立ち上げる自動化ツールとは違い、CLIが操作するのはあなたのPhiです。phi-browserスキルと同じエンジンへのコマンドラインフロントエンドなので、そのページの説明はすべてここにも当てはまります。作業はログイン済みのサイトをそのまま使える非表示のエージェントスペースで行われ、スペーススイッチャーにロボットのマークとして表示されます。リアルタイムで見守れますし、いつでも操作を引き継げます。
インストール
npm install -g @phibrowser/cli # npm
brew install phibrowser/tap/phi-cli # Homebrewどちらの方法でもphiコマンドがインストールされ、そのエイリアスとしてphibrowserも使えるようになります。必要なのはmacOS、Node 22以降、そしてPhi Browser 2.4.0以降です。CLIはブラウザではなくクライアントだからです。Phi Browserが見つからないか古すぎる場合、CLIは、アプリ自身が更新に使うのと同じ署名付きリリースフィードからのインストールや更新を提案します。phi install browserを実行すれば、確認なしで同じことができます。
ほかに設定するものはありません。CLIが必要なときにPhi Browserを起動するため、あらかじめ起動しておく必要もありません。CLIが初めて接続すると、Phiはいつもの承認プロンプト(今回のみ許可、常に許可、拒否)を表示し、CLIを承認するとエージェント制御も承認の一部としてオンになります。古いPhiビルドでは、代わりに設定 → 開発者でエージェントアクセスを手動でオンにする必要があり、そうしたビルドに出会うとCLIが知らせてくれます。
要素マップ
どのナビゲーションの後も、CLIはページのヘッダーと、操作可能な要素1つにつき1行を、操作コマンドがそのまま受け付ける構文で出力します。
@32 link "English 7,189,000+ articles" href="https://en.wikipedia.org/"
@1 input "Search Wikipedia" type="search"@Nの参照は、その要素が存在する限り有効なままです。マップを読み、判断し、別のコマンドで操作する、という進め方ができます。操作の後、CLIはページ上で変わった部分だけを出力します。操作によってページが遷移した場合は、代わりに新しいページの完全なマップを出力します。スクリプトで使うときは、--jsonで生のJSONを出力し、--quietで要約を抑制できます。
phi helpを実行すると、コマンドの全一覧(ナビゲーション、スナップショット、スクリーンショットとPDF、Cookieとストレージ、待機、タブグループ、ダウンロードなど)を確認できます。phi help <command>では、コマンドごとのフラグを確認できます。
セッション
セッションは、1つのタスクとそのエージェントスペースに名前を付けるものです。デフォルトのセッションはcliという名前で、別の目的にはそれぞれ-sで固有のセッションを与えます。
phi -s checkout open https://shop.example
phi -s checkout click @14
phi sessions # list agent Spaces; * marks yours
phi -s checkout close # finish the task, close the Spaceどのエージェントスペースとも同じく、セッションのスペースもデフォルトでは一時的で、タスクが静かになってからしばらくすると自動的に閉じます。恒久的なワークスペースとして残したい場合は--persistentを付けます。
コマンドが実行される場所
デフォルトでは、すべてはセッションの非表示のエージェントスペースの中で行われます。範囲を広げるものが2つあります。
- あなたの実際のウィンドウ。
phi -U "Work" goto …(click、fill、snapshotなども同様)は、非表示のスペースではなく、あなた自身のスペースの表示中のウィンドウを操作します。あなたのクリックとCLIの操作が同じウィンドウで交互に起こるため、CLIは小さなステップで動き、その間ごとにページを読み直します。 - ブラウザの管理。
space-list、bookmark-add、rules、pins、downloadsなどのコマンドは、phi-browserスキルにできることと同じように、アプリ全体の実際のブラウザデータを操作します。
どちらも設定 → 開発者の「エージェントにスペースの操作を許可」の背後にあり、コーディングエージェントの場合とまったく同じく、デフォルトでオフです。オンにするまで、CLIは自分のエージェントスペースの中に限定されます。
ログイン
CLIがターミナルへのパスワードの貼り付けを求めることは決してありません。ログインはエージェントのパスワードマネージャーを通じて行われます。phi cred-fillを使うと、Phiが保管庫から直接ログインフィールドに入力するため、機密情報はCLIを経由せずにアプリからページへ渡ります。そして、リクエストのたびに、誰が何のために求めているのかを示すPhiの承認/拒否プロンプトが表示されます。入力はそのログイン情報の保存先サイトに限定され、2段階認証コードが自動化に渡されることは決してなく、コマンドが扱った機密情報は出力から除去されます。
主導権は常にあなたに
CLIは、phi-browserスキルの共同作業ルールを受け継ぎます。スペーススイッチャーのロボットのマークをクリックすればセッションをリアルタイムで見守れますし、いつでも操作を引き継ぐことができます。あなたが主導権を握っている間、CLIの変更系コマンドは、操作を戻すまで拒否されます。ログイン、CAPTCHA、2段階認証コードなど、あなたが行うべきステップでは、phi handoff "Sign in, then hand back"という流れになります。Phiがあなたに知らせ、あなたが人間のステップを済ませ、操作を戻すと作業が再開します。
大事なアカウントに自動化を向ける前に、知っておくべきことが1つあります。エージェントを望まないサイトがあり、そうしたサイトは対抗措置を取ります。よく知られた例がRedditで、自動化と判定されたアカウントは制限や停止の対象になります。CLIがあなたの指示のもとで行うことはあなた自身の行為であり、そのリスクはあなたが負います。当社が代わりに異議を申し立てたり取り消したりすることはできません。
ターミナルからのスキルのインストール
CLIは、phi-browserスキル自体のセットアップもできます。
phi install skill # link the skill into every coding agent present
phi install skill claude codex # only these agentsこれは、設定 → 開発者にあるphi-browserスキルをインストールの各ボタンと同じ動作を、ターミナルを離れずに行うものです。Phiに同梱されたスキルを各エージェントのスキルフォルダへリンクし、Phiが更新されるたびに最新の状態を保ちます。
ブラウザスキルとは別物です
ブラウザスキルは、Phiの中のアシスタントに教えるワークフローです。phi install skillがインストールするのはphi-browserスキル、つまり外部のコーディングエージェントにPhiを操作させるためのパッケージです。
次のステップ
- phi-browserスキル、エージェントスペース、エージェントの見守り、アクセスの制限。すべてCLIにも当てはまります。
- エージェントのパスワードマネージャー、自動化がパスワードを見ることなく保管庫でログインする仕組み。
- スペースとプロファイル、エージェントスペースの土台となるワークスペースとログインの仕組み。