nicobailon/pi-intercom
Inter-session communication extension for pi coding agent
Pi Intercom – 概要
概要 – Pi AIエージェントプラットフォーム用の軽量な拡張機能で、同じコンピュータ上で実行されている個別のPiセッション同士が1対1で会話できるようにします。小さなUI(Alt + M または /intercom コマンド)とプログラム可能なツール(intercom)を追加し、ユーザーや自律エージェントがセッションのリスト表示、メッセージ送信、質問(返信があるまでブロック)、返信、作業の引き継ぎ、メッセージのキャンセルを行えるようにします。
重要性 – 複雑なタスクを複数のPiエージェント(例:プランナーとワーカー、または子サブエージェントとそのスーパーバイザー)に分割する場合、コンテキストの受け渡し、明確化の要求、またはセッション状態の引き継ぎを行う信頼性の高い方法が必要です。Pi-intercomは、ローカルマシンを離れたり外部のチャットサービスに依存したりすることなくこれを提供し、通信を高速かつプライベートに保ち、Piのターンベースの実行モデルと密接に統合します。
主な機能
- ローカルブローカー – 各セッションは、セッションID、エイリアスを追跡し、メッセージを直接ルーティングする小さなIPCブローカーに接続します。
- エイリアスとID – セッションに名前を付けたり(
/alias <name>)、衝突耐性のあるフォールバックエイリアスを取得したりできるため、ターゲット指定が容易です。 - ツールアクション –
list,list-cwd,send,ask,reply,handover,cancel,statusなど、すべてPiスクリプトから呼び出し可能です。 - インラインレンダリング – 受信メッセージはトランスクリプトに表示され、即時のターンをトリガーでき、拡張機能のエントリとして保存されます。
- ブロッキング質問 –
askは、受信者が返信するまで送信者をブロック(デフォルトで10分のタイムアウト)し、コンテキストを失うことなく真のやり取りを可能にします。 - 安全ノブ –
inboundTrigger,busyDelivery,confirmSendおよびタイムアウト設定により、メッセージが実行中のターンをいつ中断するかを制御できます。 - 切断時のメールボックス – 短命なセッションでも再接続後に返信を受け取ることができます。名前のないセッションはランタイムエイリアスのみを取得します。
- pi-subagents との統合 – 子エージェントは、スーパーバイザー専用のエスカレーション用に
contact_supervisorツールを取得します。
典型的なワークフロー
- 2つのPiターミナルを起動し、
plannerやworkerなどのエイリアスを割り当てます。 - プランナーがワーカーにタスクの説明を
sendします。 - ワーカーが
askで明確化を求めます。プランナーの返信は同じターンに注入されます。 - ワーカーが別の
askで完了を報告し、プランナーが次のタスクを発行できます。
インストール
pi install npm:pi-intercom # registers the extension and skill
# restart Pi to auto-connect to the broker
他のエージェントがツールを使用すべきタイミングを知ることができるよう、AGENTS.md(READMEに記載)に短い説明を追加してください。
使用例
- 同じコードベース上で複数のエージェントを調整する。
- 高レベルのプランナーから専門的なワーカーへ作業を委任する。
- サブエージェントの質問をスーパーバイザーにエスカレーションする。
- セッションを別のPiプロセスに引き継ぐ(例:ローカル実行からリモートアダプターへの移行)。
不要な場合
- 単純なシングルセッション作業。
- マシン間通信(Pi-intercomはローカル専用です。その場合は他のネットワークツールを使用してください)。
全体として、Pi-intercomはPi AIエージェントセッション間のマシン内1対1メッセージングのための、焦点を絞った低オーバーヘッドなソリューションであり、Piエコシステムを離れることなく、より豊かなマルチエージェントオーケストレーションを可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト