parchi-relay
Parchi Relayを使用して、Parchi拡張機能エージェント(WebSocket)経由、またはCLI/ツールワークフローからJSON-RPC経由で、実際のブラウザを制御できます。
description の原文を見る
Use Parchi Relay to control a real browser via the Parchi extension agent (WebSocket) or directly via JSON-RPC from a CLI/tooling workflow.
SKILL.md 本文
Parchi Relay (使い方)
このスキルでは、Parchi リレーデーモンを実行し、ブラウザ拡張機能をエージェントとして接続し、CLI を使ってブラウザ自動化を制御する方法について説明します。
機能
- ローカルリレーデーモン(
/v1/rpc+/v1/extension)が呼び出しを仲介します。 - ブラウザ拡張機能エージェントが WebSocket でデーモンに接続し、ブラウザツールを実行します。
- CLI(
parchi-relay/npm run relay)で以下が可能です:- エージェントの一覧表示
- デフォルトエージェントの設定
- ツール一覧の表示 / ツールの呼び出し
- エージェントタスクの実行と完了の待機
クイックスタート(ローカル)
- すべてをビルドします:
npm install
npm run build
- リレーデーモンを起動します(ターミナル A):
npm run relay:daemon -- --token=<YOUR_TOKEN> --host=127.0.0.1 --port=17373
- 拡張機能を読み込みます(Chrome):
chrome://extensionsを開く- デベロッパーモードを有効にする
- 拡張機能を読み込む:
dist/ - 拡張機能のサイドパネルを開く
- 設定 -> Relay:
- 有効:
On - URL:
http://127.0.0.1:17373 - トークン:
<YOUR_TOKEN> Applyをクリック
- 有効:
- エージェントが接続されたことを確認します(ターミナル B):
npm run relay -- agents --token=<YOUR_TOKEN>
CLI 使用方法(実際のコマンド)
CLI は HTTP JSON-RPC でデーモンと通信します。
環境変数を設定します(推奨):
export PARCHI_RELAY_TOKEN="<YOUR_TOKEN>"
export PARCHI_RELAY_HOST="127.0.0.1"
export PARCHI_RELAY_PORT="17373"
エージェント一覧を表示:
npm run relay -- agents
ドクター(デーモン、認証、エージェント接続、ツール転送の確認):
npm run relay -- doctor
デフォルトエージェントの取得 / 設定:
npm run relay -- default-agent get
npm run relay -- default-agent set agent-123
ツール一覧を表示(デフォルトエージェント、または特定のエージェント):
npm run relay -- tools
npm run relay -- tools --agentId=agent-123
ツールを呼び出す:
npm run relay -- tool getTabs --args='{}'
npm run relay -- tool getContent --args='{\"mode\":\"text\"}'
フルエージェントタスクを実行して完了を待機:
npm run relay -- run "On the active tab, extract the main headline." --tabs=active --timeoutMs=600000
RPC サーフェス(リレーが公開するもの)
リレーデーモン(POST /v1/rpc、Authorization: Bearer <token>):
relay.pingagents.listagents.default.getagents.default.set{ agentId }tools.list{ agentId? }tool.call{ tool, args, agentId? }agent.run{ prompt, selectedTabIds?, agentId? }run.wait{ runId, timeoutMs? }run.events{ runId }
拡張機能エージェント(WebSocket /v1/extension?token=...):
- 送信:
agent.hello(エージェントを登録) - 受信:JSON-RPC リクエスト(デーモンが転送)
- 送信:JSON-RPC レスポンス
- 発行可能:
run.event/run.done通知(ストリーム化されたラン テレメトリ用)
トラブルシューティング
-
agentsが[]を返す:- デーモントークンと拡張機能トークンが一致していることを確認してください
dist/(ではなくpackages/extension/)を読み込んでいることを確認してください- 拡張機能の設定 -> Relay で接続状態(およびエラーメッセージ)が表示されることを確認してください
-
ツール呼び出しがポリシーのため失敗する:
- 拡張機能の設定 -> ツール権限とアクセス許可ドメインを確認してください
本番環境使用に関する注記
- リレートークンは秘密にしておいてください。ローカル管理者パスワードのように扱ってください。
- 明示的に公開する意図がない限り、
127.0.0.1にバインドしてください。 - localhost 以外に公開する場合は、追加の認証とトランスポートセキュリティを追加してください。
Electron エージェントモード
Parchi は専用のリレーネイティブ Electron エージェントをサポートしています:
# ターミナル A
PARCHI_RELAY_TOKEN=<TOKEN> npm run relay:daemon
# ターミナル B
PARCHI_RELAY_TOKEN=<TOKEN> npm run electron:agent
マネージドヘルパー(推奨):
npm run electron:secure -- start
npm run electron:secure -- status
npm run electron:secure -- stop
次に Electron エージェントを選択します:
npm run relay -- agents
npm run relay -- default-agent set <electron-agent-id>
便利なメソッド:
electron.launchでtool.callelectron.connectでtool.callelectron.snapshot、electron.click、electron.type、electron.pressでtool.call
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- 0xSero
- リポジトリ
- 0xSero/parchi
- ライセンス
- MIT
- 最終更新
- 2026/4/24
Source: https://github.com/0xSero/parchi / ライセンス: MIT