Pi Web Windowsインストールガイド:Pi Coding Agentのセッション、モデル、Worktreeをブラウザで管理

WindowsでPi Webを導入し、プロキシとポートを設定しながら、Pi Coding Agentのセッション、モデル、Skills、プロジェクトファイル、Git Worktreeを管理する方法を解説します。

Pi Web は、Pi コーディング エージェントのネイティブ Web インターフェイスです。 Pi を別のクラウド エージェントに変換するわけではありません。代わりに、ローカル マシン上の既存の Pi セッション ファイルを読み取り、会話、ツール呼び出し、コンテキストの使用状況、モデル設定、スキル、プロジェクト ファイルをブラウザーに表示します。

プロジェクトアドレス:

https://github.com/agegr/pi-web

これが適したシナリオは明らかです。すでに Pi を使用しているが、ターミナルで履歴セッションを常にスクロールしたくない場合、またはプロジェクト ファイルを見ながら同じエージェント タスクを続行したい場合です。

インストール前に確認してください

Windows では、以下を準備します。

  • Node.js と npm;
  • すでに通常に使用されている Pi コーディング エージェント。
  • PowerShell または Windows ターミナル;
  • Gitで管理されるプロジェクトディレクトリ。

Node.js を確認します。

1
2
node --version
npm --version

Pi Web はデフォルトで次のように読み取ります。

1
~/.pi/agent/sessions

Pi がセッションを生成していない場合は、Web ページを起動できますが、セッション リストは空である可能性があります。

インストールせずに直接実行

最も簡単な方法は、npx を使用することです。

1
npx @agegr/pi-web@latest

サービスが開始されると、ブラウザが自動的に開こうとします。デフォルトのアドレスは次のとおりです。

1
http://localhost:30141

この方法は初めての経験に適しています。コマンドをグローバル npm ディレクトリに永続的にインストールする必要はありません。

グローバルインストール

よく使用されるものは次のように実行できます。

1
2
npm install -g @agegr/pi-web
pi-web

PowerShell で pi-web が見つからないというメッセージが表示された場合は、npm グローバル ディレクトリが PATH にあるかどうかを確認します。

1
2
npm config get prefix
Get-Command pi-web -ErrorAction SilentlyContinue

PATH を変更した後、ターミナルを再度開く必要があります。

ポートとリスニングアドレスを変更します

デフォルトでこのマシンのみで使用する場合は、ループバック アドレスを明示的にバインドすることをお勧めします。

1
pi-web --hostname 127.0.0.1

ポートを変更します:

1
pi-web --port 8080

組み合わせて使用​​します:

1
pi-web -p 8080 -H 127.0.0.1

バックグラウンド サービスとして、ブラウザを自動的に開きたくない場合:

1
pi-web --no-open

携帯電話からアクセスするためだけに、0.0.0.0 を直接バインドしてパブリック ネットワーク ポートを開かないでください。 Pi Web は、エージェント セッション、プロジェクト ファイル、およびソース コード、ファイル パス、プロンプト ワード、ツール出力を含むモデル構成を読み取ることができます。

HTTP プロキシを構成する

Pi Web は、標準のプロキシ環境変数を読み取ります。 Windows PowerShell の例:

1
2
3
4
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
$env:NO_PROXY = "localhost,127.0.0.1"
npx @agegr/pi-web@latest

これらの変数は、現在の PowerShell セッション内でのみ有効です。 NO_PROXY は非常に重要です。そうしないと、ローカル サービスにアクセスするときにプロキシにも送信される可能性があります。

Pi セッションが見つからない場合はどうすればよいですか?

Pi Web は、デフォルトで ~/.pi/agent/sessions から JSONL セッションを読み取ります。 Pi データ ディレクトリがデフォルトの場所にない場合は、次のように設定します。

1
2
$env:PI_CODING_AGENT_DIR = "D:\pi-data"
pi-web

まず、ディレクトリが実際に存在するかどうかを確認します。

1
2
Test-Path "$HOME\.pi\agent\sessions"
Get-ChildItem "$HOME\.pi\agent\sessions" -Directory

セッションはプロジェクトの作業ディレクトリごとに編成されます。同じリポジトリが異なるドライブ文字、ソフト リンク、または WSL パスから開かれた場合、異なるプロジェクトとして認識される可能性があります。

Web ページでは何を管理できますか?

Pi Web は主に次の機能を提供します。

  • 過去の Pi セッションをプロジェクトごとに閲覧できます。
  • 継続、フォーク、または古いメッセージから新しいブランチを作成します。
  • マークダウン、ツール呼び出し、およびコンテキスト圧縮ステータスを表示します。
  • プロジェクトのソース コード、ドキュメント、画像、オーディオ、PDF を表示します。
  • モデル、ログイン情報、API キー、およびモデルのテストを管理します。
  • スキルをオンまたはオフにします。
  • Git ワークツリーを切り替えます。

クラウド状態の個別のコピーではなく、ローカルの Pi 構成とセッションを読み書きします。モデル設定またはセッション ブランチを変更する前に、.pi ディレクトリをバックアップすることをお勧めします。

フォークとセッション内分岐の違いは何ですか?

Pi Web のフォークは、元のセッションを保持しながらノードから別の実装ルートを試すのに適した新しい JSONL セッション ファイルを作成します。

「ここから編集」は、同じセッションファイル内にブランチを作成します。軽量ですが、スタンドアロン ファイルよりも整理や移行が直感的ではありません。

2 つの実装を比較する場合、または異なるワークツリーにハンドオフする場合は、最初にフォークします。プロンプトを修正するか、前のステップに戻るだけの場合は、セッション内分岐を使用します。

Git Worktree と連携する

ワークツリーは、同じファイルが同時に変更されることを避けるために、異なるエージェント セッションが独立した作業ディレクトリ内の異なるブランチを処理できるようにするのに適しています。

まず、メイン リポジトリにワークツリーを作成します。

1
2
git worktree add ..\my-project-feature -b feature/pi-test
git worktree list

Pi Web のサイドバーでは、認識されたワークツリーを切り替え、新しいセッションとファイル ブラウザが対応するディレクトリをたどることができます。

完了したら、まずブランチのコンテンツが送信されたことを確認してから、ブランチのコンテンツを削除します。

1
2
git worktree remove ..\my-project-feature
git branch -d feature/pi-test

コミットされていない変更が存在する場合は、ワークツリーの削除を強制しないでください。

## よくある質問

よくある問題

ページは開きますが、履歴がありません

PI_CODING_AGENT_DIR、デフォルトのセッション ディレクトリ、および現在の Windows ユーザーが正しいことを確認してください。管理者として 1 回実行し、通常のユーザーとして 1 回実行すると、2 つの異なるユーザー ディレクトリ セットが作成される場合もあります。

ポートが占有されています

ポートを変更します。

1
pi-web --port 30142

または、占有されているプロセスをクエリします。

1
Get-NetTCPConnection -LocalPort 30141 -ErrorAction SilentlyContinue

モデルリクエストが失敗しました

まず、Pi CLI で同じモデルが使用できることを確認し、次に Pi Web プロセスがプロキシ変数と API キーを継承しているかどうかを確認します。 Web ページが開ける場合は、ローカル サービスが正常であることを意味するだけで、モデル サプライヤーが正常に接続されたことを意味するわけではありません。

プロジェクトファイルが見られません

ファイル プレビューの範囲は、選択したプロジェクト ディレクトリとセッション作業ディレクトリによって制限されます。セッションが実際にターゲット リポジトリから開始されていることを確認し、一貫性のないドライブ文字マッピングやソフト リンクを介してプロジェクトに入らないようにしてください。

セキュリティに関する推奨事項

Pi Web は、モデル設定、エージェント セッション、プロジェクト ファイルにアクセスします。提案:

  1. デフォルトのバインディング 127.0.0.1;
  2. ポートをパブリック ネットワークに直接マッピングしないでください。
  3. API キー、プロンプト ワード、プライベート ソース コードをスクリーンショットで公開しないでください。
  4. Pi セッション ディレクトリを定期的にバックアップします。
  5. Worktree を切り替えるか削除する前に、コミットされていない変更を確認します。
  6. まず企業プロジェクトにおけるコードとモデルデータの使用ポリシーを確認します。

Pi Web は、既存の Pi ユーザーがセッション管理を改善するのに適しています。コードを記述できるエージェントを探しているだけの場合は、Web インターフェイスをインストールする前に、まず Pi CLI モデル、権限、および基本的なワークフローを実行する必要があります。